OSDN Git Service

* adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
2
3         * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
4         raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
5         typos.
6
7 2005-03-30  Tom Tromey  <tromey@redhat.com>
8
9         * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
10
11 2005-03-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
12
13         * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
14
15 2005-03-29  Robert Dewar  <dewar@adacore.com>
16
17         * sem_res.adb (Resolve_Real_Literal): Generate warning if static
18         fixed-point expression has value that is not a multiple of the Small
19         value.
20
21         * opt.ads (Warn_On_Bad_Fixed_Value): New flag
22
23         * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
24         nanoseconds.
25
26         * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
27
28 2005-03-29  Vincent Celier  <celier@adacore.com>
29
30         * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
31         (Build_Dynamic_Library.Version_String): Return the empty string when
32         Lib_Version is empty or when the symbol policy is not Autonomous.
33
34         * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
35         a symbol is not in the reference symbol file, increase the Major ID
36         and set the Minor ID to 0.
37         Use gsmatch=lequal instead of gsmatch=equal
38
39 2005-03-29  Doug Rupp  <rupp@adacore.com>
40
41         * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
42         name and translate.
43
44 2005-03-29  Javier Miranda  <miranda@adacore.com>
45
46         * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
47         (Inherit_DT): The first formal has been redefined as a Tag.
48         This allows us the removal of the subprogram Get_TSD.
49         (TSD): Replace the call to Get_TSD by the actual code.
50
51         * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
52         (Make_DT): Upgrade the call to Inherit_TSD according to the
53         new interface: the first formal is now a Tag.
54
55         * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
56         redefined as a Tag.
57         This change allows us to remove the subprogram Get_TSD.
58         (CPP_Get_TSD): Subprogram removed.
59         (TSD): Replace the call to CPP_Get_TSD by the actual code.
60
61         * rtsfind.ads: Remove support to call the run-time
62         subprogram Get_TSD
63
64 2005-03-29  Robert Dewar  <dewar@adacore.com>
65
66         * errutil.adb, errout.adb: 
67         Minor comment updates on Line_Terminator references
68
69         * par-ch10.adb: Add ??? comment about line terminator
70
71         * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
72         (check dos line terminator).
73         (Check_Line_Max_Length): New procedure, split off from the existing
74         Check_Line_Terminator routine. Separating this out allows -gnatyf to
75         be properly recognized.
76
77         * styleg.adb: Add ??? comment for line terminator reference
78
79         * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
80         (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
81
82         * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
83         (check dos line terminator).
84         (Check_Line_Max_Length): New procedure, split off from the existing
85         Check_Line_Terminator routine. Separating this out allows -gnatyf to
86         be properly recognized.
87
88         * stylesw.ads, stylesw.adb: 
89         Add handling for new -gnatyd switch (check dos line terminator)
90
91         * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
92         Recognize -gnatwb/-gnatwB switches
93         Include Warn_On_Bad_Fixed_Value for -gnatg
94
95         * usage.adb: 
96         Add line for new -gnatyd switch (check dos line terminator)
97
98         * usage.adb: Add lines for -gnatwb/-gnatwB
99
100         * vms_data.ads: Add entry for NOCRLF (-gnatyd)
101
102         * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
103
104         * gnat_ugn.texi: Fix overlong lines
105         Document new -gnatyd switch
106         Document new -gnatwb/-gnatwB switches
107
108 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
109
110         * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
111         order to retrieve the component list of the type, before examining
112         individual components.
113
114         * sem_type.adb (Covers): Types are compatible if one is the base type
115         of the other, even though their base types might differ when private
116         views are involved.
117
118 2005-03-29  Thomas Quinot  <quinot@adacore.com>
119
120         * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
121         To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
122         of using Set_Renaming_TSS. This ensures that the TSS bodies are not
123         analyzed if expansion is disabled (which could otherwise cause spurious
124         error messages if expansion has been disabled due to previous
125         (unrelated) errors).
126
127         * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
128         is disabled, the entity denoted by the argument is the access type
129         itself, not an underlying record type, so there is no need to go back
130         to the Corresponding_Remote_Type.
131
132 2005-03-29  Gary Dismukes  <dismukes@adacore.com>
133             Robert Dewar  <dewar@adacore.com>
134
135         * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
136         expand a call to an instance of
137         Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
138         Constructor actual of the instance. A class-wide membership
139         check is also generated, to ensure that the tag passed to the instance
140         denotes a type in the class.
141         (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
142         of Name_Generic_Dispatching_Constructor.
143
144         * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
145         05 unit for AI-260-02).
146
147         * a-tgdico.ads: New file.
148
149         * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
150         predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
151
152         * snames.ads, snames.adb (Preset_Names): Add entry for
153         Generic_Dispatching_Constructor.
154
155         PR ada/20300
156
157         * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
158         character type cases.
159         (Analyze_Subprogram_Renaming): Add special handling for
160         the case of renaming of stream attributes when the renaming denotes a
161         generic formal subprogram association for an abstract formal subprogram.
162         Check that the attribute is a primitive stream attribute (and not
163         a class-wide stream attribute) and then rewrite the attribute name
164         as the name of the appropriate compiler-generated stream primitive.
165
166 2005-03-29  Robert Dewar  <dewar@adacore.com>
167
168         * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
169         recursive calls.
170         (Is_Possibly_Unaligned_Object): Correct typo that
171         resulted in inaccurate result for unaligned scalars within records.
172
173 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
174
175         * freeze.adb (Freeze_Record_Type): If the type of the component is an
176         itype whose parent is controlled and not yet frozen, do not create a
177         freeze node for the itype if expansion is disabled.
178
179 2005-03-29  Vincent Celier  <celier@adacore.com>
180
181         * make.adb (Gnatmake): Don't fail if the main project file is declared
182         as having no Ada sources. Do not display message "no sources to
183         compile" in quiet output.
184
185 2005-03-29  Doug Rupp  <rupp@adacore.com>
186
187         * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
188         extra tools.
189
190 2005-03-29  Robert Dewar  <dewar@adacore.com>
191
192         * par-ch12.adb (P_Generic): Give better msg for illegal private generic
193         child.
194
195 2005-03-29  Robert Dewar  <dewar@adacore.com>
196
197         * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
198         missing TYPE Improve the error message generated when compiling a
199         limited interface in Ada83 or Ada95 mode.
200
201 2005-03-29  Robert Dewar  <dewar@adacore.com>
202
203         * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
204         rather than proceed ahead using a junk attribute name.
205
206 2005-03-29  Vincent Celier  <celier@adacore.com>
207
208         * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
209
210         * prj-part.adb (Parse_Single_Project): Set the location of a project
211         on its defining identifier, rather than on the reserved word "project".
212
213         * prj-proc.adb (Expression): Adapt to the fact that default of external
214         references may be string expressions, not always literal strings.
215         (Recursive_Process): Set Display_Name equal to Name
216         when Location is No_Location, that is when there is no actual file.
217         Get the Display_Name of the project from the source, when it is not a
218         virtual project.
219         (Process): Use the Display_Name in error messages
220
221         * prj-strt.adb (External_Reference): Allow default to be string
222         expressions, not only literal strings.
223
224 2005-03-29  Vincent Celier  <celier@adacore.com>
225
226         * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
227         file and the reference symbol file to be the same file.
228
229 2005-03-29  Thomas Quinot  <quinot@adacore.com>
230
231         * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
232         forbid conversion of a local access-to-subprogram type to a remote one.
233
234         * sem_util.adb (Wrong_Type): For a record type that is the expanded
235         equivalent type for a remote access-to-subprogram type, go back to the
236         original RAS entity when displaying an error message, so the casing is
237         the original source casing.
238
239 2005-03-29  Robert Dewar  <dewar@adacore.com>
240
241         * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
242         on param update.
243
244 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
245
246         * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
247         subtype if code is being pre-analyzed, to prevent un-expanded
248         references to protected formals, among others.
249         (Analyze_Explicit_Dereference): If the overloaded prefix includes some
250         interpretation that can be a call, include the result of the call as a
251         possible interpretation of the dereference.
252
253         * sem_ch5.adb (Process_Bounds): Determine type of range by
254         pre-analyzing a copy of the original range, and then analyze the range
255         with the expected type.
256
257         * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
258         with an overloaded prefix where not all interpretations yield an
259         access to subprogram, do not rewrite node as a call.
260         (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
261         the node as a call once the context identifies the interpretation of
262         the prefix whose call yields the context type.
263         (Valid_Conversion): For the case of a conversion between
264         local access-to-subprogram types, check subtype conformance using
265         Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
266         detailed error message.
267
268 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
269
270         * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
271         indicator, indicate that the formal can never be null.
272         (Process_Formals): If a formal has a non_null indicator, insert the
273         resulting subtype immediately before the enclosing subprogram decl,
274         and not at the beginning of the corresponding declarative part, to
275         prevent access before elaboration (Ada2005).
276
277 2005-03-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
278
279         PR ada/19956
280         * utils.c (finish_record_type): Use variable_size when setting sizes.
281
282 2005-03-29  Robert Dewar  <dewar@adacore.com>
283
284         * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
285         guarantee Unix style line terminators for the output files, even when
286         running on windows.
287
288 2005-03-29  Robert Dewar  <dewar@adacore.com>
289
290         * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
291         buffer if an exception is raised.
292
293 2005-03-29  Ed Falis  <falis@adacore.com>
294
295         * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
296         VxWorks 653 1.4
297
298 2005-03-29  Robert Dewar  <dewar@adacore.com>
299
300         * sem_util.ads: Minor reformatting
301         * gnat_rm.texi: Minor editing.
302
303 2005-03-29  Eric Botcazou  <ebotcazou@adacore.com>
304
305         * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
306         * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
307
308 2005-03-24  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
309
310         * adaint.c (__gnat_portable_spawn): Adjust cast.
311
312 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
313
314         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
315
316 2005-03-17  Pascal Obry  <obry@adacore.com>
317
318         * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
319         used.
320
321         * expect.c (__gnat_waitpid): Moved here from adaint.c.
322         Reimplement under Win32 using Win32 API.
323
324         (__gnat_kill) [Win32]: Properly close the process handle before leaving
325         this routine.
326
327 2005-03-17  Eric Botcazou  <ebotcazou@adacore.com>
328
329         * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
330         (DECL_RENAMED_OBJECT): New accessor macro.
331         (SET_DECL_RENAMED_OBJECT): New setter macro.
332
333         * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
334         object in all cases.  Attach the renamed object to the VAR_DECL.
335         (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
336         field is not prescribed.
337
338         * misc.c (gnat_handle_option): Handle -gnatO separately.
339         (gnat_print_decl) <VAR_DECL>: New case.
340         Print the DECL_RENAMED_OBJECT node.
341
342         * lang.opt:  Declare separate -gnatO option.
343
344         * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
345         pointer, replace it with the renamed object.
346         <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
347         pointer type if the source is not a fat pointer type whose underlying
348         array has the same non-zero alias set as that of the destination array.
349
350 2005-03-17  Javier Miranda  <miranda@adacore.com>
351
352         * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
353         (Get_Inheritance_Depth): Removed.
354         (Set_Inheritance_Depth): Removed.
355
356         * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
357         subprogram Get_Expanded_Name because it is not referenced by the
358         frontend.
359
360         * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
361         (CPP_Get_Inheritance_Depth): Removed.
362         (CPP_Set_Inheritance_Depth): Removed.
363
364         * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
365
366 2005-03-17  Robert Dewar  <dewar@adacore.com>
367
368         * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
369         3, since we now expect GCC 3 to do all the work.
370
371 2005-03-17  Javier Miranda  <miranda@adacore.com>
372
373         * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
374         of one barrier to avoid wrong usage of this attribute.
375
376         * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
377         First_Private_Entity.
378
379         * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
380         the subprogram against wrong usage.
381         Adapt the code to traverse the entities in the
382         scope of a record_type because in addition to its usage regarding
383         packages, this subprogram is also called by Expand_N_Freeze_Entity
384         to install the visible declarations of the enclosing scope of a
385         record_type_with_private to establish the proper visibility before
386         freezing the entity and related subprograms.
387
388 2005-03-17  Ed Schonberg  <schonberg@adacore.com>
389
390         * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
391         entry formals.
392
393 2005-03-17  Thomas Quinot  <quinot@adacore.com>
394
395         * exp_ch3.adb (Check_Attr): New subprogram.
396         (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
397         into a new Check_Attr subprogram, in order to provide a more
398         explanatory error message (including the name of the missing attribute).
399         (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
400         subprogram determines whether a default implementation exists for a
401         given stream attribute.
402         (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
403         Determine whether to generate a default implementation for each stream
404         attribute separately, as this depends on the specific attribute.
405
406         * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
407         limited extension where a stream attribute is missing for a limited
408         component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
409         generate a bogus reference to the missing attribute to prevent
410         cascaded errors. Instead, generate a null statement.
411
412         * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
413         available for a limited type if it has been specified for an ancestor
414         of the type.
415
416 2005-03-17  Ed Schonberg  <schonberg@adacore.com>
417
418         * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
419         entity is an operator.
420
421 2005-03-17  Thomas Quinot  <quinot@adacore.com>
422
423         * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
424         spec, to make this predicate available to other units.
425
426         * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
427         reimplementing it.
428
429         * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
430         when no distribution runtime library is available.
431
432         * sem_res.adb, sem_dist.adb: Disable expansion of remote
433         access-to-subprogram types when no distribution runtime library is
434         available.
435         (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
436         predicate available to other units.
437
438         * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
439         spec, to make this predicate available to other units.
440
441 2005-03-17  Vincent Celier  <celier@adacore.com>
442
443         * make.adb (Insert_Project_Sources): Make sure the Q is always
444         initialized.
445
446         * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
447         the default for the tree, not the global default naming.
448
449         * prj-proc.adb (Recursive_Process): No need to put the default naming
450         in the project data, it's already there.
451
452 2005-03-17  Doug Rupp  <rupp@adacore.com>
453
454         * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
455
456         * 5xcrtl.ads: Renamed to...
457         * s-crtl-vms64.ads: ...this new file
458
459 2005-03-17  Robert Dewar  <dewar@adacore.com>
460
461         PR ada/19519
462
463         * namet.adb (Copy_One_Character): Set proper wide character encoding
464         for upper half character if we have upper half encoding.
465
466 2005-03-17  Robert Dewar  <dewar@adacore.com>
467
468         * par.adb (Par): Improved msg for attempt to recompile predefined unit
469
470 2005-03-17  Thomas Quinot  <quinot@adacore.com>
471
472         * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
473         tagged limited type, the TSS is a newly built renaming declaration:
474         insert it using Set_TSS, not Copy_TSS.
475
476 2005-03-17  Javier Miranda  <miranda@adacore.com>
477
478         * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
479         Try_Object_Operation): Analyze the object that is accessible
480         through the prefix of the subprogram call before we apply
481         the transformation of the object-operation notation.
482
483 2005-03-17  Jose Ruiz  <ruiz@adacore.com>
484
485         * s-taprob.adb (Initialize_Protection): Initialize the protected
486         object's owner to Null_Task.
487         (Lock): If pragma Detect_Blocking is in effect and the caller of this
488         procedure is already the protected object's owner then Program_Error
489         is raised. In addition the protected object's owner is updated.
490         (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
491         of this procedure is already the protected object's owner then
492         Program_Error is raised.
493         In addition the protected object's owner is updated.
494         (Unlock): Remove the ownership of the protected object.
495
496         * s-taprob.ads (Protection): Add the field Owner, used to store the
497         protected object's owner.
498         This component is needed for detecting one type of potentially blocking
499         operations (external calls on a protected subprogram with the same
500         target object as that of the protected action). Document the rest of
501         the components.
502
503         * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
504         Initialize the protected object's owner to Null_Task.
505         (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
506         caller of this procedure is already the protected object's owner then
507         Program_Error is raised.
508         Do not raise Program_Error when this procedure is called from a
509         protected action.
510         (Unlock_Entries): Remove the ownership of the protected object.
511         (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
512         of this procedure is already the protected object's owner then
513         Program_Error is raised.
514         Do not raise Program_Error when this procedure is called from
515         a protected action.
516
517         * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
518         used to store the protected object's owner.
519
520         * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
521         effect and this procedure (a potentially blocking operation) is called
522         from whithin a protected action, Program_Error is raised.
523         (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
524         and this procedure (a potentially blocking operation) is called from
525         whithin a protected action, Program_Error is raised.
526
527 2005-03-17  Vincent Celier  <celier@adacore.com>
528             Nicolas Setton  <setton@adacore.com>
529
530         * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
531         switch, not supported by the linker on Darwin. Add '_' before
532         <library>init, as this character is added unconditionally by the
533         compiler.
534         (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
535         correct one ".dylib". This fixes detection of the archive files when
536         building library projects.
537
538 2005-03-17  Vincent Celier  <celier@adacore.com>
539
540         * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
541         -gnat83, -gnat95 and -gnat05.
542
543 2005-03-17  Vasiliy Fofanov  <fofanov@adacore.com>
544
545         * gnat_ugn.texi: Document gnatmem restriction
546
547 2005-03-17  Thomas Quinot  <quinot@adacore.com>
548
549         * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
550         cleanup
551
552 2005-03-17  Robert Dewar  <dewar@adacore.com>
553
554         * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
555         a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
556         s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
557
558         * casing.adb: Comment improvements
559
560 2005-03-17  Pascal Obry  <obry@adacore.com>
561
562         * g-expect.adb: Minor reformatting.
563
564 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
565
566         * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
567         (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
568         to dependencies.
569
570 2005-03-15  Vincent Celier  <celier@adacore.com>
571
572         * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
573         Add new parameter In_Tree to specify the project tree: needed
574         by the project manager. Adapt to changes in project manager
575         using new parameter In_Tree.
576
577 2005-03-15  Jakub Jelinek  <jakub@redhat.com>
578
579         * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
580         ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
581         ada/bldtools to avoid make -jN failures.
582
583 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
584
585         * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
586         to NULL_TREE on entry.
587
588 2005-03-15  Robert Dewar  <dewar@adacore.com>
589
590         * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
591         system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
592         system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
593         system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
594         system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
595         system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
596         system-interix.ads, system-solaris-sparc.ads,
597         system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
598         system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
599         system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
600         system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
601         system-linux-s390.ads, system-linux-s390x.ads: Add line defining
602         Compiler_System_Version to be False.
603
604         * opt.ads: Add new flag Opt.Address_Is_Private
605
606         * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
607         Add new parameter Compiler_System_Version to avoid checking for
608         completeness of parameters when compiler is compiling itself.
609         Allows old versions of GNAT to be compiled with new compiler.
610
611 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
612
613         * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
614         (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
615         calling thread.
616         (Stack_Base_Available): New flag.
617         (Get_Page_Size): New overloaded functions imported from C.
618         (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
619         PROT_ON, PROT_OFF): New constants.
620         (mprotect): New function imported from C.
621         (pthread_teb_t): New record type.
622
623         * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
624         (Create_Task): Account for the Yellow Zone and the guard page.
625
626 2005-03-15  Vincent Celier  <celier@adacore.com>
627
628         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
629         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
630         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
631         mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
632         Library_File_Name_For): Add new parameter In_Tree
633         to specify the project tree: needed by the project manager.
634         Adapt to changes in project manager using new parameter In_Tree.
635         Remove local imports, use functions in System.CRTL.
636
637         * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
638         to use the project manager.
639
640         * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
641         In_Tree to designate the project tree. Adapt to changes in the project
642         manager, using In_Tree.
643
644         * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
645         Copy_Interface_Sources): Add new parameter In_Tree to specify the
646         project tree: needed by the project manager.
647         (Build_Library): Check that Arg'Length >= 6 before checking if it
648         contains "--RTS=...".
649
650         * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
651         Library_File_Name_For): Add new parameter In_Tree to specify the
652         project tree: needed by the project manager.
653
654         * prj.ads, prj.adb: Major modifications to allow several project trees
655         in memory at the same time.
656         Change tables to dynamic tables and hash tables to dynamic hash
657         tables. Move tables and hash tables from Prj.Com (in the visible part)
658         and Prj.Env (in the private part). Move some constants from the visible
659         part to the private part. Make other constants deferred.
660         (Project_Empty): Make it a variable, not a function
661         (Empty_Project): Add parameter Tree. Returns the data with the default
662         naming data of the project tree Tree.
663         (Initialize): After updating Std_Naming_Data, copy its value to the
664         component Naming of Project Empty.
665         (Register_Default_Naming_Scheme): Use and update the default naming
666         component of the project tree, instead of the global variable
667         Std_Naming_Data.
668         (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
669         Tree is not defaulted, return the default naming data of the Tree.
670         (Initial_Buffer_Size): Constant moved from private part
671         (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
672         variables initialized in procedure Initialize.
673         (Add_To_Buffer): Add two in out parameters to replace global variables
674         Buffer and Buffer_Last.
675         (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
676         functions.
677         Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
678         hash tables.
679         (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
680         for the project tree.
681         (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
682         constant at the beginning of the package spec, so that they cane be used
683         in subprograms before their full declarations.
684         (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
685         (Empty_Project): Add parameter of type Project_Node_Ref
686         (Private_Project_Tree_Data): Add component Default_Naming of type
687         Naming_Data.
688         (Buffer, Buffer_Last): remove global variables
689         (Add_To_Buffer): Add two in out parameters to replace global variables
690         Buffer and Buffer_Last.
691         (Current_Packages_To_Check): Remove global variable
692         (Empty_Name): Move to private part
693         (No-Symbols): Make it a constant
694         (Private_Project_Tree_Data): New type for the private part of the
695         project tree data.
696         (Project_Tree_Data): New type for the data of a project tree
697         (Project_Tree_Ref): New type to designate a project tree
698         (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
699         for the project tree.
700
701         * prj-attr.ads: Add with Table; needed, as package Prj no longer
702         imports package Table.
703
704         * prj-com.adb: Remove empty, no longer needed body
705
706         * prj-com.ads: Move most of the content of this package to package Prj.
707
708         * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
709         designate the project node tree and Packages_To_Check to replace
710         global variable Current_Packages_To_Check.
711         Add new parameters In_Tree and Packages_To_Check to local subprograms,
712         when needed. Adapt to changes in project manager with project node tree
713         In_Tree.
714
715         * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
716         project tree to most subprograms. Move tables and hash tables to
717         private part of package Prj.
718         Adapt to changes in project manager using project tree In_Tree.
719
720         * prj-makr.adb (Tree): New constant to designate the project node tree
721         Adapt to change in project manager using project node tree Tree
722
723         * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
724         display the Library_Src_Dir and the Library_Dir.
725         Add new parameter In_Tree to designate the project node tree to most
726         subprograms. Adapt to changes in the project manager, using project tree
727         In_Tree.
728         (Check_Naming_Scheme): Do not alter the casing on platforms where
729         the casing of file names is not significant.
730         (Check): Add new parameter In_Tree to designate the
731
732         * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
733         designate the project tree.
734         Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
735
736         * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
737         to replace those that were in the private part of package Prj.
738         Add new parameter In__Tree to designate the project node tree to most
739         subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
740         (Post_Parse_Context_Clause): When specifying the project node of a with
741         clause, indicate that it is a limited with only if there is "limited"
742         in the with clause, not necessarily when In_Limited is True.
743         (Parse): Add new parameter In_Tree to designate the project node tree
744
745         * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
746         designate the project node tree. Adapt to change in Prj.Tree with
747         project node tree In_Tree.
748
749         * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
750         tree In_Tree in the call to function Empty_Process to give its initial
751         value to the project data Processed_Data.
752         Add new parameters In_Tree to designate the project tree and
753         From_Project_Node_Tree to designate the project node tree to several
754         subprograms. Adapt to change in project manager with project tree
755         In_Tree and project node tree From_Project_Node_Tree.
756
757         * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
758         to replace those that were in the private part of package Prj.
759         Add new parameter In_Tree to designate the project node tree to most
760         subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
761
762         * prj-tree.ads, prj-tree.adb: Add new parameter of type
763         Project_Node_Tree_Ref to most subprograms.
764         Use this new parameter to store project nodes in the designated project
765         node tree.
766         (Project_Node_Tree_Ref): New type to designate a project node tree
767         (Tree_Private_Part): Change table to dynamic table and hash tables to
768         dynamic hash tables.
769
770         * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
771         the project tree to most subprograms. Adapt to changes in project
772         manager using project tree In_Tree.
773
774         * makegpr.adb (Project_Tree): New constant needed to use project
775         manager.
776
777 2005-03-15  Olivier Hainque  <hainque@adacore.com>
778
779         * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
780         for sigactions with SA_SIGINFO set. Call
781         __gnat_adjust_context_for_raise before raising, to perform the
782         potentially required adjustments to the machine context for the GCC
783         unwinder.
784
785         * raise.h (__gnat_adjust_context_for_raise): New prototype.
786
787         * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
788         Adjust PC by one in the provided machine context.
789         (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
790         so that the handler is passed the context structure to adjust prior to
791         the raise.
792         (__gnat_error_handler) HPUX: Adjust the signature to match what an
793         SA_SIGINFO sigaction should look like. Call
794         __gnat_adjust_context_for_raise before actually raising.
795         (__gnat_adjust_context_for_raise): Default noop to help PC
796         adjustments before raise from signal handlers.
797         (__gnat_error_handler): Indirectly call a predicate function to
798         determine if a condition should be resignaled or not.
799         (__gnat_set_resignal_predicate): User interface to modify the predicate.
800         (__gnat_default_resignal_p): Default GNAT predicate.
801
802 2005-03-15  Doug Rupp  <rupp@adacore.com>
803
804         * adaint.c: Prefix #include of VMS system header files with vms/
805         [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
806         Do not define a dummy function "convert_addresses" under Darwin,
807         not needed.
808
809         * tb-alvms.c, expect.c: Prefix #include of VMS system header files
810         with vms/
811
812 2005-03-15  Nicolas Setton  <setton@adacore.com>
813
814         * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
815         PPC/AIX.
816
817 2005-03-15  Robert Dewar  <dewar@adacore.com>
818
819         * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
820         AI-386.
821
822         * a-retide.ads: Minor comment changes
823
824 2005-03-15  Robert Dewar  <dewar@adacore.com>
825
826         * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
827         a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
828         Realloc_For_Chunk to private part of package.
829         New subprograms for AI-301
830
831         * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
832         Get_Line procedure.
833         Avoid unnecessary use of Get/Set_Wide_String
834
835 2005-03-15  Robert Dewar  <dewar@adacore.com>
836
837         PR ada/13470
838
839         * a-stunau.ads, a-stunau.adb:
840         Change interface to allow efficient (and correct) implementation
841         The previous changes to allow extra space in unbounded strings had
842         left this interface a bit broken.
843
844         * a-suteio.adb: Avoid unnecessary use of Get/Set_String
845
846         * g-spipat.ads, g-spipat.adb: New interface for Get_String
847         Minor reformatting (function specs)
848
849         * g-spitbo.adb: New interface for Get_String
850
851         * g-spitbo.ads: Minor reformatting
852
853         * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
854
855         * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
856
857 2005-03-15  Javier Miranda  <miranda@adacore.com>
858             Robert Dewar  <dewar@adacore.com>
859             Thomas Quinot  <quinot@adacore.com>
860             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
861
862         * atree.ads, atree.adb: Add support for Elist24 field
863
864         * atree.h: Fix wrong definition of Field27
865         Add support for Elist16 field
866         Add support for Elist24 field
867
868         * einfo.ads, einfo.adb (Abstract_Interfaces,
869         Set_Abstract_Interfaces): New subprograms.
870         (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
871         subprograms.
872         (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
873         entities rather than a single node.
874         (Is_Interface, Set_Is_Interface): New subprogram
875         (First_Tag_Component): New syntesized attribute
876         (Next_Tag_Component): New synthesized attribute
877         (Write_Entity_Flags): Upgraded to write Is_Interface
878         (Write_Field24_Name): Upgraded to write Abstract_Interfaces
879         (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
880         (Task_Body_Procedure): New subprogram to read this attribute.
881         (Set_Task_Body_Procedure): New subprogram to set this attribute.
882         (Has_Controlled_Component): Now applies to all entities.
883         This is only a documentation change, since it always worked to apply
884         this to other than composite types (yielding false), but now this is
885         official.
886         Update documentation on Must_Be_Byte_Aligned for new spec
887
888         * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
889         exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
890         uses of the Access_Disp_Table attribute to reference the first dispatch
891         table associated with a tagged type. As
892         part of the implementation of abstract interface types,
893         Access_Disp_Table has been redefined to contain a list of dispatch
894         tables (rather than a single dispatch table).
895         Similarly, upgrade all the references to Tag_Component by the
896         new attribute First_Tag_Component.
897         (Find_Inherited_TSS): Moved to exp_tss.
898         Clean up test in Expand_N_Object_Declaration for cases
899         where we need to do a separate assignment of the initial value.
900         (Expand_N_Object_Declaration): If the expression in the
901         declaration of a tagged type is an aggregate, no need to generate an
902         additional tag assignment.
903         (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
904         is to be deleted.
905         Bit packed array ops are only called if operands are known to be
906         aligned.
907         (Component_Equality): When returning an N_Raise_Program_Error statement,
908         ensure that its Etype is set to Empty to avoid confusing GIGI (which
909         expects that only expressions have a bona fide type).
910         (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
911         determine the amount of data to be copied.
912
913         * par.adb (P_Interface_Type_Definition): New subprogram that parses the
914         new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
915             INTERFACE_TYPE_DEFINITION ::=
916               [limited | task | protected | synchronized] interface
917                 [AND interface_list]
918
919         * par-ch3.adb (P_Type_Declaration): Modified to give support to
920         interfaces.
921         (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
922         interfaces.
923         (P_Interface_Type_Definition): New subprogram that parses the new
924         syntax rule of Ada 2005 interfaces
925         (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
926         messages by the correct RENAMES (quotes removed).
927
928         * sem_prag.adb: Upgrade all the references to Tag_Component by the new
929         attribute First_Tag_Component.
930
931         * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
932         (Interface_List, Set_Interface_List): New subprograms.
933         (Interface_Present, Set_Interface_Present): New subprograms.
934         (Limited_Present, Set_Limited_Present): Available also in derived
935         type definition nodes.
936         (Protected_Present, Set_Protected_Present): Available also in
937         record type definition and
938         derived type definition nodes.
939         (Synchronized_Present, Set_Synchronized_Present): New subprograms.
940         (Task_Present, Set_Task_Present): New subprogram.
941         (Task_Body_Procedure): Removed.
942         (Set_Task_Body_Procedure): Removed.
943         These subprogram have been removed because the attribute
944         Task_Body_Procedure has been moved to the corresponding task type
945         or task subtype entity to leave a field free to store the list
946         of interfaces implemented by a task (for AI-345)
947         Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
948         (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
949         expression flag Do_Range_Check
950         (Exception_Junk): Change to Flag7 to accomodate above change
951         (Box_Present, Default_Name, Specification, Set_Box_Present,
952         Set_Default_Name, Set_Specification): Expand the expression
953         "X in N_Formal_Subprogram_Declaration" into the corresponding
954         two comparisons. Required to use the csinfo tool.
955
956         * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
957         "with string" given.
958
959         * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
960         expression given.
961
962         * par-ch11.adb (P_Raise_Statement): Recognize with string expression
963         in 2005 mode
964
965         * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
966         attribute Task_Body_Procedure rather than the old semantic field that
967         was available in the task_type_declaration node.
968
969         * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
970         interface type definitions.
971         (P_Formal_Derived_Type_Definition): Modified to handle the list of
972         interfaces.
973
974         * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
975         task type declaration.
976         (P_Protected): Modified to handle the list of interfaces in a
977         protected type declaration.
978
979 2005-03-15  Doug Rupp  <rupp@adacore.com>
980             Vincent Celier  <celier@adacore.com>
981
982         * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
983         (Gen_Output_File_C): Likewise.
984         (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
985
986 2005-03-15  Thomas Quinot  <quinot@adacore.com>
987
988         * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
989         is an N_Raise_Constraint_Error node, create a new copy of it without
990         going through a call to Duplicate_Subexpr.
991
992 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
993             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
994             Nicolas Setton  <setton@adacore.com>
995             Ed Schonberg  <schonberg@adacore.com>
996
997         PR ada/19900
998         PR ada/19408
999         PR ada/19140
1000         PR ada/20255
1001
1002         * decl.c (gnat_to_gnu_field): Reject aliased components with a
1003         representation clause that prescribes a size not equal to the rounded
1004         size of their types.
1005         (gnat_to_gnu_entity, case E_Component): Always look at
1006         Original_Record_Component if Present and not the entity.
1007         (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
1008         of tagged extension types by not making field for components that are
1009         inside the parent.
1010         (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
1011         (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
1012         expression to the type of the object when the object is constant.
1013         Reverse defer_debug_incomplete_list before traversing it, so that trees
1014         are processed in the order at which they were added to the list. This
1015         order is important when using the stabs debug format.
1016         If we are deferring the output of debug information, also defer this
1017         output for a function return type.
1018         When adding fields to a record, prevent emitting debug information
1019         for incomplete records, emit the information only when the record is
1020         complete.
1021         (components_to_record): New parameter defer_debug.
1022         (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
1023         (gnat_to_gnu_field_decl): New function.
1024         (substitution_list, annotate_rep): Call it.
1025         (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
1026         (gnat_to_gnu_entity, case E_Record_Type): Likewise.
1027         No longer update discriminants to not be a COMPONENT_REF.
1028         (copy_alias_set): Strip padding from input type; also handle
1029         unconstrained arrays properly.
1030
1031         * gigi.h (write_record_type_debug_info): New function.
1032         Convert to use ANSI-style prototypes. Remove unused
1033         declarations for emit_stack_check, elab_all_gnat and
1034         set_second_error_entity.
1035         (gnat_to_gnu_field_decl): New decl.
1036
1037         * utils.c (write_record_type_debug_info): New function.
1038         (finish_record_type): Delegate generation of debug information to
1039         write_record_type_debug_info.
1040         (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
1041         (update_pointer_to): Fix pasto.
1042         (convert) <UNION_TYPE>: Accept slight type variations when
1043         converting to an unchecked union type.
1044
1045         * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
1046         replace the N_Freeze_Entity with a null statement.
1047
1048         * freeze.adb (Freeze_Expression): If the freeze nodes are generated
1049         within a constrained subcomponent of an enclosing record, place the
1050         freeze nodes in the scope stack entry for the enclosing record.
1051         (Undelay_Type): New Subprogram.
1052         (Set_Small_Size): Pass T, the type to modify; all callers changed.
1053         (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
1054         within records; allow them to have freeze nodes if their base types
1055         aren't frozen yet.
1056
1057         * exp_util.adb (Remove_Side_Effects): Properly test for
1058         Expansion_Delayed and handle case when it's inside an
1059         N_Qualified_Expression.
1060
1061         * sem_ch3.adb (Derived_Type_Declaration): New predicate
1062         Comes_From_Generic, to recognize accurately that the parent type in a
1063         derived type declaration can be traced back to a formal type, because
1064         it is one or is derived from one, or because its completion is derived
1065         from one.
1066         (Constrain_Component_Type): If component comes from source and has no
1067         explicit constraint, no need to constrain in in a subtype of the
1068         enclosing record.
1069         (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
1070         Minor change to propagate Is_Ada_2005 flag
1071
1072         * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
1073         Expansion_Delayed is False.
1074         (assoc_to_constructor): Ignore fields that have a
1075         Corresponding_Discriminant.
1076         (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
1077         function returns "by target", dereference the target pointer using the
1078         type of the actual return value.
1079         <all>: Be prepared for a null gnu_result.
1080         (processed_inline_subprograms): Check flag_really_no_inline
1081         instead of flag_no_inline.
1082         (set_second_error_entity): Remove unused function.
1083         (gnat_to_gnu, case N_Selected_Component): Call
1084         gnat_to_gnu_field_decl.
1085         (assoc_to_constructor): Likewise.
1086
1087 2005-03-15  Robert Dewar  <dewar@adacore.com>
1088             Ed Schonberg  <schonberg@adacore.com>
1089             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1090
1091         * exp_pakd.adb (Create_Packed_Array_Type): Do not set
1092         Must_Be_Byte_Aligned for cases where we do not need to use a
1093         System.Pack_nn unit.
1094
1095         * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
1096         as procedures.
1097         Needed now that we do some processing for IN parameters as well. This
1098         may well fix some unrelated errors.
1099         (Expand_Call): Handle case of unaligned objects (in particular those
1100         that come from packed arrays).
1101         (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
1102         renamed entity is an inherited operation, re-expand the call using the
1103         original operation, which is the one to call.
1104         Detect attempt to inline parameterless recursive subprogram.
1105         (Represented_As_Scalar): Fix to work properly with private types
1106         (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
1107         accurate estimate. Yields True in far fewer cases than before,
1108         improving the quality of code that depends on this test.
1109
1110         * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
1111         over both visible and private declarations to remove them from tree,
1112         and mark subprograms declared in package as eliminated, to prevent
1113         spurious use in subsequent compilation of generic units in the context.
1114
1115         * exp_util.ads: Minor cleanup in variable names
1116
1117         * sem_eval.ads, sem_eval.adb: Minor reformatting
1118         (Compile_Time_Known_Bounds): New function
1119
1120 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
1121
1122         * exp_ch7.adb (Convert_View): Use base types of underlying types when
1123         determining whether an unchecked conversion is needed for the argument
1124         of an initialization call.
1125
1126 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
1127
1128         * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
1129         that appears in the instantiation rather than the internal subtype
1130         generated in the wrapper package, to avoid anomalies in gigi when the
1131         target is derived from a private type whose full view is an access type.
1132
1133 2005-03-15  Robert Dewar  <dewar@adacore.com>
1134
1135         * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
1136         not needed.
1137         Add documentation to replace the use of this flag
1138         Fix kludge for Maximum_Alignment on x86 so that it does not apply to
1139         the x86_64.
1140
1141 2005-03-15  Thomas Quinot  <quinot@adacore.com>
1142
1143         * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
1144         here from exp_attr so it can be shared between exp_attr and exp_dist.
1145         (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
1146         all TSS names, not a subset thereof, and the previous name introduced
1147         an unnecessarily confusion that a distinction might exist between
1148         "OK" TSS names and some "not OK" TSS names.
1149
1150 2005-03-15  Doug Rupp  <rupp@adacore.com>
1151
1152         * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
1153         Command_Name.
1154
1155 2005-03-15  Pascal Obry  <obry@adacore.com>
1156             Eric Botcazou  <ebotcazou@adacore.com>
1157
1158         PR ada/20226
1159         PR ada/20344
1160
1161         * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
1162         when IN_RTS. This is to work around a bootstrap path problem.
1163
1164         * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
1165         table and pass it to __gnat_install_SEH_handler().
1166         (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
1167
1168         * lang.opt: Fix specification of -fRTS=.
1169
1170 2005-03-15  Doug Rupp  <rupp@adacore.com>
1171             Bernard Banner  <banner@adacore.com>
1172             Vincent Celier  <celier@adacore.com>
1173             Arnaud Charlet  <charlet@adacore.com>
1174
1175         PR ada/6852
1176         This change works fine when gnatlib is built from the gcc directory,
1177         but does not work when using the libada Makefile, since GCC_FOR_TARGET
1178         is not passed to ada/Makefile.in, so more work is needed by a
1179         Makefile/configure expert.
1180
1181         * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
1182         set GMEM_LIB on ia64 linux to add optional support for gnatmem.
1183         Setup gnatlink switch -M for x86_64 linux, as it is already setup
1184         for Linux x86.
1185         (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
1186         Run ranlib on libgccprefix.a
1187         Define PREFIX_OBJS for Darwin, to build libgccprefix.
1188         (ADA_INCLUDE_SRCS): Split Ada packages.
1189
1190 2005-03-15  Robert Dewar  <dewar@adacore.com>
1191
1192         * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
1193
1194         * impunit.adb: Add GNAT.UTF_32
1195
1196         * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
1197
1198         * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
1199         now uses GNAT.UTF_32).
1200
1201         * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
1202         capabilities for categorizing characters using Unicode categories
1203
1204 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
1205
1206         * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
1207         instantiation that has been rewritten as a package body, retrieve spec
1208         to generate proper name for implicit_with_clause.
1209         (Install_Parents): Recognize a parent that is an instantiation but has
1210         been rewritten as a package declaration during analysis.
1211
1212 2005-03-15  Javier Miranda  <miranda@adacore.com>
1213             Ed Schonberg  <schonberg@adacore.com>
1214
1215         * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
1216         parameter reported some error we immediately return. This improves the
1217         behaviour of the frontend in case of errors.
1218         (Install_Parent, Remove_Parent): Introduce new flag
1219         Parent_Unit_Visible, to preserve the proper visibility of the ultimate
1220         ancestor of a generic child unit, when the child is being instantiated.
1221         (Inline_Instance_Body): If we are compiling the private
1222         part or the body of a child unit, restore the proper visibility of the
1223         parents after compiling the instance body.
1224
1225 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
1226             Javier Miranda  <miranda@adacore.com>
1227
1228         PR ada/15608
1229         * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
1230         of a private type, in which case it is underlying_type that denotes
1231         the proper task. Also modified to use the new entity attribute
1232         that is directly available in the task type and task subtype entities
1233         (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
1234         arrays when other dimensions than the first are constrained by
1235         discriminants of an enclosing record.
1236         (Insert_Explicit_Dereference): If the prefix is an indexed component or
1237         a combination of indexed and selected components, find ultimate entity
1238         and generate the appropriate reference for it, to suppress spurious
1239         warnings.
1240         (Note_Possible_Modification): If an entity name has no entity, return.
1241         (Is_Variable): A function call never denotes a variable.
1242         (Requires_Transient_Scope): For record types, recurse only on
1243         components, not on internal subtypes that may have been generated for
1244         constrained components.
1245
1246 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
1247
1248         * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
1249         Eliminated as candidates for resolution. Both efficient, and avoids
1250         anomalies with operators declared in deleted code.
1251         (Process_Implicit_Dereference_Prefix): Use this procedure whenever
1252         expansion is disabled (as when compiling a generic) to prevent spurious
1253         warnings on prefixes of selected components.
1254
1255 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
1256
1257         * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
1258         attached to a list before checking whether it appears in the private
1259         declarations of the current package.
1260         (Make_Inequality_Operator): Insert declaration in proper declarative
1261         list rather than just setting the Parent field, so that
1262         Is_Private_Declaration can handle it properly.
1263
1264 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
1265
1266         * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
1267         a renaming a body, check that the renamed subprogram in not intrinsic.
1268         (Find_Direct_Name): If several use_visible entities hide
1269         each other, and the context is a predefined file compiled through
1270         rtsfind, keep only the entity that comes from a predefined file.
1271
1272 2005-03-15  Geert Bosch  <bosch@adacore.com>
1273
1274         * s-fatgen.adb (Valid): Extend special exceptions to account for long
1275         long float padding to also cover AMD64 and IA64.
1276
1277 2005-03-15  Gary Dismukes  <dismukes@adacore.com>
1278
1279         * s-imgwch.adb: Add with and use of Interfaces.
1280         (Img_Wide_Character): Change type of Val to Unsigned_16.
1281         (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
1282
1283 2005-03-15  Matthew Gingell  <gingell@adacore.com>
1284
1285         * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
1286
1287 2005-03-15  Robert Dewar  <dewar@adacore.com>
1288
1289         * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
1290
1291         * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
1292
1293         * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
1294
1295 2005-03-15  Robert Dewar  <dewar@adacore.com>
1296
1297         * s-bitops.adb, s-bitops.ads,
1298         s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
1299         s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
1300         tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
1301         s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
1302         s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
1303         s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
1304         s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
1305         s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
1306         reformatting.
1307
1308 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
1309
1310         * utils2.c (build_binary_op): Fix typo.
1311
1312 2005-03-15  Doug Rupp  <rupp@adacore.com>
1313
1314         * s-crtl.ads (popen,pclose): New imports.
1315
1316 2005-03-15  Cyrille Comar  <comar@adacore.com>
1317
1318         * comperr.adb (Compiler_Abort): remove references to obsolete
1319         procedures in the bug boxes for various GNAT builds.
1320
1321 2005-03-15  Vincent Celier  <celier@adacore.com>
1322
1323         * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
1324
1325 2005-03-15  Geert Bosch  <bosch@adacore.com>
1326             Arnaud Charlet  <charlet@adacore.com>
1327             Robert Dewar  <dewar@adacore.com>
1328             Cyrille Comar  <comar@adacore.com>
1329             Sergey Rybin  <rybin@adacore.com>
1330
1331         * gnat_ugn.texi: Remove extended inline assembly example, as it was far
1332         too specific and long-winded to be appropriate for the GNAT User's
1333         Guide.
1334         Warn about use of GCC switches not documented in the GNAT User's Guide,
1335         as these may cause generated code to not conform to Ada semantics.
1336         Remove mention of -gdwarf-2 for sparc64, since this is now the default.
1337         Add documentation for -gnat95 and -gnat05 switches
1338         Remove paragraph documenting obsolete way to refer to third party
1339         libraries.
1340         Add a few references to Ada_05 that were missing.
1341         Update documentation on -gnatZ/-gnatL.
1342         Document limitation when using -m64 under Solaris.
1343         Change the "Name Casing" subsection of the pretty-printer section
1344         according to the changes in the dictionary processing.
1345
1346         * gnat_rm.texi: Document the Ada_05 pragma.
1347         Section on record representation clauses describes the new more
1348         relaxed rules about placement of large packed bit array components.
1349         Add documentation of GNAT.UTF_32
1350
1351 2005-03-12  Daniel Berlin <dberlin@dberlin.org>
1352
1353         * misc.c (gnat_post_options): Turn off structural
1354         aliasing for now.
1355
1356 2005-03-08  Laurent Guerby <laurent@guerby.net>
1357
1358         * system-linux-sparc.ads: Fix typo in previous commit.
1359
1360 2005-03-07  James A. Morrison <phython@gcc.gnu.org>
1361             Laurent Guerby <laurent@guerby.net>
1362
1363         PR ada/20035
1364         * system-linux-sparc.ads: New.
1365         * Makefile.in: Add sparc linux entry.
1366
1367 2005-02-27  Danny Smith  <dannysmith@users.sourceforge.net>
1368
1369         * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
1370         parameters as unused.
1371
1372 2005-02-26  Nathanael Nerode  <neroden@gcc.gnu.org>
1373         Partial merge from libada-gnattools-branch:
1374
1375         2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
1376         * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
1377         into code in gnattools/Makefile.in.  Remove direct dependencies on
1378         stamp-tools by tools clauses.
1379         2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
1380         * config-lang.in: Add gnattools to $lang_dirs.
1381
1382 2005-02-13  Andrew Pinski  <pinskia@physics.uc.edu>
1383
1384         PR ada/19942
1385         * utils.c (gnat_type_for_mode): Return null instead of ICE because
1386         we asked for an unknown mode.
1387
1388 2005-02-12  Richard Henderson  <rth@redhat.com>
1389
1390         * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
1391         validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
1392
1393 2005-02-10  Andreas Jaeger  <aj@suse.de>
1394
1395         * init.c (__gnat_initialize): Mark parameter as unused.
1396
1397 2005-02-09  Doug Rupp  <rupp@adacore.com>
1398
1399         * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
1400         * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
1401
1402 2005-02-09  Doug Rupp  <rupp@adacore.com>
1403
1404         * gnatchop.adb (dup, dup2),
1405         g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
1406
1407         * gnatlbr.adb (mkdir),
1408         mlib-tgt-vms-ia64.adb (popen, plose):  Import with decc$ prefix.
1409
1410         * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
1411
1412 2005-02-09  Doug Rupp  <rupp@adacore.com>
1413
1414         * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
1415
1416 2005-02-09  Robert Dewar  <dewar@adacore.com>
1417             Thomas Quinot  <quinot@adacore.com>
1418             Javier Miranda  <miranda@adacore.com>
1419             Pascal Obry  <obry@adacore.com>
1420             Ed Schonberg  <schonberg@adacore.com>
1421             Doug Rupp  <rupp@adacore.com>
1422             Gary Dismukes  <dismukes@adacore.com>
1423             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1424
1425         * g-zstspl.ads: New file.
1426
1427         * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
1428
1429         * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
1430         Ada 95 mode
1431         Add definition of Wide_Wide_Space for AI-285
1432
1433         * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
1434         interface (to support Ada 95 and Ada 2005 units).
1435         Add Unbounded_IO files
1436         Add entries for Wide_Wide packages for AI-285
1437         Add list of containers packages to Ada 2005 unit list
1438
1439         * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
1440         support new Unbounded_IO package cleanly.
1441
1442         * g-utf_32.ads, g-utf_32.adb: New files.
1443
1444         * Makefile.rtl: Add entry for g-utf_32
1445         Add new files for Unbounded_IO
1446         Adjust make file for new AI-285 wide wide packages
1447         Add AI-302 containers to the run time.
1448
1449         * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
1450         a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
1451         subprograms for AI-301.
1452
1453         * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
1454
1455         * a-stunau.ads: Minor comment correction
1456
1457         * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
1458         etc.
1459         Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
1460         (Check_RPC): Update to match changes in expanded code.
1461         Clean up unused entity.
1462
1463         * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
1464         was not taken into account.
1465         This includes proper initialization with Normalize_Scalars.
1466         (Get_Simple_Init_Val): Major rewrite for initialize scalars and
1467         normalize scalars cases (particularly the latter) to do a better job
1468         of finding invalid representations.
1469
1470         * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
1471
1472         * s-strops.ads, s-strops.adb: Remove string normalize routines, never
1473         used
1474
1475         * exp_dist.adb: Add support for wide wide character type
1476         (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
1477         private part, generate stub bodies at the end of the private part,
1478         not the visible part.
1479         (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
1480         PolyORB support.
1481         (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
1482         generic wrapper to execute final processing after completing the
1483         expansion of the RPC receiver for an RACW.
1484
1485         * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
1486         packages and attributes.
1487         (Preset_Names): Addition of the new reserved words of Ada 2005,
1488         that is interface, overriding and synchronized.
1489         (Get_Pragma_Id): Give support to the use of the new reserved word
1490         "interface" as a pragma name.
1491         (Is_Pragma_Name): Give support to the use of the new reserved word
1492         "interface" as a pragma name.
1493         (Preset_Names): Add stream_size string for the Stream_Size Ada2005
1494         attribute implementation.
1495
1496         * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
1497         checks to entities that are output parameters of Asm operations.
1498         Handle the Stream_Size attribute.
1499         Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
1500
1501         * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
1502
1503         * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
1504         for second parameter being 0.0.
1505         Add support for wide wide character type.
1506         (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
1507
1508         * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
1509         s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
1510         s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
1511         s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
1512         for wide wide character cases.
1513
1514         * cstand.adb: Create entities for Wide_Wide_Character and
1515         Wide_Wide_String.
1516
1517         * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
1518         accordance with AI-258.
1519         Add new declarations for 16/32 bit C character types (Part of AI285)
1520
1521         * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
1522         (Obsolescent_Warning): New field
1523         (Rep_Clause): New local subprogram used to share code. Returns the rep
1524         clause for which the name is given in parameter.
1525         (Has_Stream_Size_Clause): New routine.
1526         (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
1527         (Address_Clause): Implementation is now using Rep_Clause.
1528         (Alignment_Clause): Idem.
1529         (Size_Clause): Idem.
1530
1531         * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
1532         entity in non-Ada 2005 mode and generate warning.
1533
1534         * par-prag.adb: Add handling of one argument form for pragma Ada_05.
1535         (Prag): Code cleanup. Remove old gnat pragma "overriding"
1536
1537         * sem_prag.adb: Add handling of one argument form for pragma Ada_05
1538         (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
1539         on the named unit if the pragma is not in the current compilation unit,
1540         so that elaboration calls in the current unit can set up an elaboration
1541         dependency on the named unit, as needed.
1542         (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
1543         subprogram as well as for subprograms declared within a package.
1544         (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
1545         pragma overriding.
1546
1547         * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
1548         to z) to avoid some instances of duplication for Wide_Wide packages.
1549
1550         * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
1551         characters.
1552
1553         * scn.adb: Char_Literal_Value field is now a Uint
1554
1555         * scng.adb: Significant rewrite to handle new Ada 2005 features
1556         allowing wide and wide wide characters in program text, e.g. for
1557         identifiers, as described in AI-285.
1558         (Set_Reserved): New procedure, makes setting up keywords cleaner.
1559         (Initialize_Scanner): Register the new reserved words of Ada 2005.
1560         (Scan): Give support to the new reserved words.
1561
1562         * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
1563         warning notifying that interface, overriding, and synchronized are
1564         new reserved words.
1565         (P_Pragma): Allow the use of the new reserved word "interface" as
1566         a pragma name.
1567
1568         * gnatls.adb, gnatbind.adb,
1569         ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
1570         identifiers named "interface" to "SAL_Interface".
1571
1572         * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
1573         (Structured Exception handling).
1574         (Gen_Main_C): Idem.
1575
1576         * bindgen.adb:
1577         (Gen_Main_Ada): Set the default exit code if specified.
1578         (Gen_Main_C): Likewise.
1579         Part of *DC20-006.
1580         (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
1581         Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
1582
1583         * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
1584         new -Xnnn switch.
1585
1586         * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
1587         has a collision with the new Ada 2005 "interface" reserved word.
1588
1589         * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
1590         generate a warning notifying that interface, overriding, and
1591         synchronized are new reserved words.
1592
1593         * scans.ads (Token_Type): Addition of the tokens corresponding to the
1594         new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
1595         and Tok_Synchronized.
1596
1597         * sem_res.adb (Resolve_Actuals): Change error messages to refer to
1598         "dispatching" rather than "primitive" operations, since dispatching
1599         calls are now allowed to abstract formal subprograms (which are not
1600         primitive).
1601         Char_Literal_Value field is now a Uint
1602         (Resolve_Slice): If the prefix is an access to an unconstrained array,
1603         compute the actual subtype of the designated object to impose the proper
1604         index constraints.
1605         (Resolve_Selected_Component): Do not insert an access check if the
1606         prefix is an access type: such a node is expanded into an explicit
1607         dereference, on which the access check is performed anyway. Removes
1608         expensive duplicate checks.
1609         (Resolve_Call): Use new flag Is_Obsolescent and field
1610         Obsolescent_Warning so that pragma Obsolescent works on library
1611         subprograms.
1612         Add support for wide wide character type
1613         (Resolve_Allocator): Replace the error message on wrong null-exclusion
1614         value by a warning message.
1615         (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
1616         as fixed-point, and one of the operands is non-static and universal, it
1617         can only be an illegal exponentiation operation, in which case there is
1618         no real value to retrieve.
1619
1620         * exp_strm.adb: Add support for wide wide character type
1621         (Build_Elementary_Input_Call): Compute the size of the stream element by
1622         querying the rep chain to find the Stream_Attribute attribute value.
1623         (Build_Elementary_Write_Call): Ditto.
1624
1625         * sem_aggr.adb: Char_Literal_Value field is now a Uint
1626         Add support for wide wide character type
1627         Replace the error messages on wrong null-exclusion value by warnings
1628         as described in Ada 2005.
1629         (Resolve_Extension_Aggregate): Document the fact that the error
1630         message on class-wide expressions in extensions aggregates.
1631
1632         * sem_case.adb: Add support for wide wide character type
1633
1634         * sem_ch13.adb: Add support for wide wide character type
1635         (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
1636
1637         * sem_ch3.adb: Add support for wide wide character type
1638         (Process_Subtype): If constraint is illegal for the type, set Ekind of
1639         now-useless Itype, to prevent cascaded errors on a compiler built
1640         without -gnatp.
1641
1642         * sem_ch8.adb: Add with and use of Sem_Disp.
1643         (Analyze_Subprogram_Renaming): Replace unclean uses of
1644         Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
1645         of Corresponding_Spec to Empty).
1646         (Attribute_Renaming): Replace use of Corresponding_Spec with
1647         Corresponding_ Formal_Spec and simplify condition.
1648         (Use_One_Package): Check that scope of homonym of identifier is defined,
1649         before checking whether it is a wrapper package.
1650         Add support for wide wide character type
1651
1652         * sem_eval.adb: Add support for wide wide character type.
1653         (Eval_Arithmetic_Op): Check for compile time known signed integer
1654         overflow in the non-static case.
1655         (Subtypes_Statically_Match): A formal scalar type and its base type do
1656         not statically match.
1657
1658         * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
1659         "not in" for test of N_Formal_Subprogram_Declaration (which is now a
1660         subtype).
1661         (Unit_Declaration_Node): Ditto.
1662         (Is_Variable_Prefix):  For the case of an indexed component whose prefix
1663         has a packed array type, the prefix has been rewritten into a type
1664         conversion. Determine variable-ness from the converted expression.
1665         Handle wide wide character cases.
1666
1667         * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
1668
1669         * stringt.ads, stringt.adb: Handle full UTF-32 range.
1670         Remove ["0A"] from comment, since it can look like a line terminator.
1671         Currently we don't permit this, but this is under discussion by the
1672         ARG, and it is easy enough to use a different example.
1673
1674         * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
1675         handling UTF-32 encoding for wide wide character.
1676         Implement new brackets coding ["hhhhhhhh"]
1677         Add UTF-8 encodings for full UTF-32 range
1678
1679         * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
1680
1681         * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
1682         bit range Add full UTF-32 support.
1683         (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
1684         notify that constraint error will be raised at run-time
1685         because a null value is assigned to a null-excluding object.
1686         Remove some obsolete declarations and make Char_Code
1687         unsigned.
1688
1689         * a-except.adb (Rcheck_30): New subprogram. Addition of the message
1690         corresponding to CE_Null_Not_Allowed, and adjust the output of all the
1691         Rcheck subprograms.
1692
1693         * checks.adb (Check_Null_Not_Allowed): Replace the error message on
1694         wrong null-exclusion value by a warning message.
1695         (Enable_Range_Check): Do range check if the prefix is an
1696         explicit dereference whose designated object is an unconstrained array.
1697         Current algorithm for removing duplicate checks is over-eager in this
1698         case.
1699
1700         * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
1701         null-exclusion value by a warning message
1702
1703         * atree.h, atree.ads, atree.adb: Remove Char_Code field support
1704         completely. Add support for Uint2 field
1705
1706         sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
1707         exp_prag.adb: Char_Literal_Value field is now a Uint.
1708
1709         * exp_util.adb (Insert_Actions): Replace
1710         N_Formal_Subprogram_Declaration by
1711         N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
1712         Char_Literal_Value field is now a Uint.
1713
1714         * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
1715         defined for subprogram renaming declarations. When set, the field
1716         indicates the defining entity of a corresponding formal subprogram
1717         when the renaming corresponds to a formal subprogram association in an
1718         instantiation.
1719         (Set_Corresponding_Formal_Spec): New procedure to return
1720         Corresponding_Formal_Spec field.
1721         Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
1722         (which is now a subtype).
1723         Char_Literal_Value field is now a Uint
1724
1725         * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
1726         pointer to the base of the dispatch table.
1727         Minor changes to comments.
1728         (Controlling_Type): New function for determining the tagged type
1729         associated with a tagged primitive subprogram.
1730         (Expand_Dispatching_Call): Add support for a controlling actual that is
1731         directly a value of type Ada.Tag rather than a tagged object.
1732
1733         * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
1734         describing the new layout.
1735         (Dispatch_Table): The expander computes the actual array size, allocates
1736         the Dispatch_Table record accordingly, and generates code that displaces
1737         the base of the record after the Typeinfo_Ptr component. The access to
1738         these components is done by means of local functions.
1739         (Offset_To_Top): New function.
1740         (Typeinfo_Ptr): New function.
1741         (Get_TSD): Modified to access the new position of the TSD.
1742         (Set_TSD): Modified to save the TSD in its new position.
1743
1744         * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
1745         case of formal abstract subprograms. Add check and message for -gnat05.
1746         Update comments.
1747
1748         * sem_ch12.adb: Add with and use for Sem_Disp.
1749         (Analyze_Associations): Minor change from "=" to "in" for use of
1750         N_Formal_Subtype_Declaration (which is now a subtype).
1751         (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
1752         N_Formal_Subtype_Declaration (which is now a subtype).
1753         (Analyze_Formal_Subprogram): Add handling for
1754         N_Formal_Abstract_Subprogram, marking the formal as abstract and
1755         dispatching, setting the controlling status of the formal parameters
1756         and result, and issuing an error if there is no controlling type for
1757         the formal subprogram.
1758         (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
1759         which is an unclean use of that field, we set the new field
1760         Corresponding_Formal_Spec to make the formal subprogram available to
1761         processing in Analyze_Subprogram_Declaration.
1762         (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
1763         Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
1764         Constrained, so that it is is does not statically match its anonymous
1765         base type.
1766
1767         * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
1768         abstract formal subprograms in error check for functions returning
1769         abstract types. Set scope of new designator for
1770         a parameterless subprogram, so that it is available when checking the
1771         body for nested subprograms, before full analysis of said body.
1772         (Analyze_Subprogram_Body): Warn on inlining bodies with nested
1773         subprogram only if inner one comes from source.
1774         (Analyze_Function_Call): If the call is given in object notation, the
1775         analysis of the name rewrites the node and analyzes it with the proper
1776         argument list. After analyzing the name, if the call has been rewritten
1777         and the result type is set, no further analysis is needed.
1778         (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
1779         mark in function specification, in a context where the formals are
1780         visible and hide outer homographs.
1781
1782         * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
1783         as the tagged type for the cases of abstract formal subprograms and
1784         renamings of those.  Clean up spec comments.
1785         (Check_Dispatching_Context): Add error message to indicate "abstract
1786         procedure", covering the case of a call to a formal abstract procedure
1787         that has statically tagged operands.
1788         (Check_Dispatching_Call): Check for the case of an actual given by
1789         a tag-indeterminate function call whose type is an ancestor of the
1790         containing call's associated tagged type. This situation can occur
1791         for inherited primitives with function defaults. In this case we
1792         use the tagged type's tag directly as the controlling argument for
1793         the calls.
1794         (Expand_Call): Name change on call to Expand_Dispatch_Call.
1795
1796         * sprint.adb (Sprint_Node_Actual): Split
1797         N_Formal_Subprogram_Declaration into two alternatives for the new
1798         cases N_Formal_Abstract_Subprogram_Declaration and
1799         N_Formal_Concrete_Subprogram_Declaration.
1800         Char_Literal_Value field is now a Uint.
1801
1802         * trans.c: Get rid of junk Uint2 reference.
1803         Char_Literal_Value field is now a Uint.
1804         (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
1805         (gigi): Correct third arg to gimplify_body.
1806
1807         * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
1808         (TYPE_LANG_FLAG_0): Check for record or union.
1809
1810         * treepr.adb: Char_Literal_Value field is now a Uint
1811
1812         * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
1813         UI_From_CC.
1814
1815         * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
1816         Add full UTF-32 support
1817         Char_Code is now 32 bits
1818
1819         * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
1820         wide character UTF_32 line terminators.
1821         Initialize Main_Source_File to avoid error when no main
1822         source is loaded.
1823
1824         * errout.adb (Finalize): Do not check Num_SRef_Pragmas
1825         (Main_Source_File) when no main source has been loaded, to avoid
1826         potential crash.
1827
1828 2005-02-09  Robert Dewar  <dewar@adacore.com>
1829
1830         * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
1831         Fix name of Set routine
1832
1833         * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
1834         fixed packages.
1835
1836         * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
1837         a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
1838         fixed packages
1839
1840         * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
1841         forms of Get_Line subprograms for AI-301.
1842
1843         * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
1844         a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
1845         a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
1846         a-stwima.ads: Minor reformatting.
1847
1848 2005-02-09  Doug Rupp  <rupp@adacore.com>
1849             Thomas Quinot  <quinot@adacore.com>
1850
1851         * adaint.c, adaint.h
1852         [VMS] (to_ptr32): New function.
1853         (MAYBE_TO_PTR32): New macro.
1854         (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
1855         for pointer size.
1856         [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
1857         [VMS] (#define fork()): Remove since unneccessary.
1858         (__gnat_set_close_on_exec): New routine to support
1859         GNAT.OS_Lib.Set_Close_On_Exec.
1860
1861         * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
1862         the parent side as close-on-exec so that they are not inherited by the
1863         child.
1864
1865         * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
1866         set or clear the FD_CLOEXEC flag on a file descriptor.
1867
1868 2005-02-09  Eric Botcazou  <ebotcazou@adacore.com>
1869             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1870
1871         Fix for c330001 - PR ada/19386
1872
1873         * decl.c:
1874         (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
1875         on the field if Pragma Component_Alignment (Storage_Unit).
1876         (gnat_to_gnu_entity, case object): Do not treat a renaming that has
1877         side-effects as if it were a constant; also make SAVE_EXPR to protect
1878         side-effects.
1879         (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
1880         UNION_TYPE.
1881         (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
1882         (components_to_record): Test it.
1883         Fix improper usage of REFERENCE_CLASS_P.
1884
1885         * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
1886         RECORD_TYPE.
1887
1888         * utils2.c: Minor reformatting.
1889
1890         * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
1891         handle other cases like RECORD_TYPE.
1892
1893         * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
1894
1895 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
1896
1897         * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
1898         component of an array of arrays in an assignment context, and the
1899         aggregate has component associations that require sliding on
1900         assignment, force reanalysis of the aggregate to generate a temporary
1901         before the assignment.
1902         (Must_Slide): Make global to the package, for use in Gen_Assign.
1903
1904 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
1905
1906         * exp_ch4.adb (Expand_Composite_Equality): If a component is an
1907         unchecked union with no inferable discriminants, return a
1908         Raise_Program_Error node, rather than inserting it at the point the
1909         type is frozen.
1910         (Expand_Record_Equality, Component_Equality): Handle properly the case
1911         where some subcomponent is an unchecked union whose generated equality
1912         code raises program error.
1913
1914 2005-02-09  Doug Rupp  <rupp@adacore.com>
1915
1916         * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
1917         [VMS] (#define exit hack): Remove.
1918
1919 2005-02-09  Pascal Obry  <obry@adacore.com>
1920             Arnaud Charlet <charlet@adacore.com>
1921
1922         * init.c (__gnat_initialize): Add a new parameter eh which contains the
1923         address of the exception registration. The Win32 version of this
1924         routine calls __gnat_install_SEH_handler() to initialize the SEH
1925         (Structured Exception Handling) handler.
1926         (__gnat_error_handler) [Win32]: Removed. Not needed as we use
1927         SEH (Structured Exception Handling) now.
1928         (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
1929         (__gnat_initialize for ppc-vxworks): Adjust comments and the
1930         preprocessor condition protecting the call to the extra eh setup
1931         subprogram, which is only available for the ppc target.
1932         (__gnat_clear_exception_count): replaced reference to
1933         variable taskIdCurrent by call to taskIdSelf(), cleaner.
1934
1935         * seh_init.c: New file.
1936
1937         * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
1938         (GNATBIND_OBJS): Idem.
1939
1940         * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
1941         routine takes a new parameter (a pointer to the exception registration
1942         for the SEH (Structured Exception Handling) support.
1943
1944         * raise.h: (__gnat_install_SEH_handler): New prototype.
1945         Update copyright notice.
1946
1947         * s-tassta.adb (Task_Wrapper): Declare the exception registration
1948         record and initialize it by calling __gnat_install_SEH_handler.
1949
1950 2005-02-09  Vincent Celier  <celier@adacore.com>
1951
1952         * make.adb (Gnatmake): Do not fail when the main project has no object
1953         directory.
1954
1955 2005-02-09  Doug Rupp  <rupp@adacore.com>
1956
1957         * Makefile.in [VMS] (LN,LN_S): Define as cp -p
1958         Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
1959         [VMS]: Add translations for g-enblsp.adb.
1960
1961         * s-asthan-vms.adb: Removed.
1962         * s-asthan-vms-alpha.adb: Added.
1963
1964 2005-02-09  Pascal Obry  <obry@adacore.com>
1965
1966         * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
1967         (LIBGNAT_OBJS): Add seh_init.o.
1968
1969 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
1970
1971         PR ada/16592
1972
1973         * Makefile.in: Link all gnat tools with -static-libgcc, since
1974         -shared-libgcc is now used by default on some systems (e.g. linux with
1975         recent binutils).
1976         Remove references to Makefile.prolog/generic, no longer used.
1977
1978 2005-02-09  Vincent Celier  <celier@adacore.com>
1979
1980         * prj-makr.adb (Process_Directory): Put file name in canonical case
1981         before matching against the patterns.
1982         If gnatname has been invoked as <prefix>-gnatname
1983         then invoke the compiler as <prefix>-gcc, not just "gcc".
1984
1985 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
1986
1987         * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
1988         with expansion disabled. The actual subtype is needed among other
1989         places when the selected component appears in the context of a loop
1990         bound, and denotes a packed array.
1991         (Operator_Check): Always use the first subtype in the
1992         error message, to avoid the appearance of internal base types.
1993         (Transform_Object_Operation): Copy each actual in full
1994         to the parameter associations of the constructed call, rather than
1995         using the shallow copy mechanism of New_Copy_List. This ensures that
1996         the chaining of named associations is done properly.
1997         (Complete_Object_Operation): Rewrite node, rather than
1998         replacing it, so that we can trace back to the original selected
1999         component.
2000
2001         * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
2002         and calls that use object notation, if the called function is not
2003         declared  in a withed unit, place the elaboration constraint on the
2004         unit in the context that makes the function accessible.
2005         (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
2006         imposes an elaboration constraint between two packages.
2007
2008 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
2009
2010         * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
2011         views of a private type after handling its private dependents, to
2012         maintain proper stack discipline between entry and exit from the
2013         package.
2014
2015 2005-02-09  Cyrille Comar  <comar@adacore.com>
2016
2017         * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
2018         Minor reformatting.
2019
2020 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
2021
2022         * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
2023         fields for foreign threads.
2024
2025 2005-02-09  Doug Rupp  <rupp@adacore.com>
2026
2027         * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
2028         recursion warnings when compiled with -gnatdm.
2029
2030 2005-02-09  Robert Dewar  <dewar@adacore.com>
2031
2032         * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
2033         Slight fix to documentation of -gnaty with no parameters
2034
2035         * xr_tabls.ads: Add ??? comment for missing overall comment
2036
2037         * xsinfo.adb: Make default file name be sinfo.h, since this is what
2038         we now use by default.
2039
2040         * xsnames.adb: Adjust end of file test to look for five space followed
2041         by '#' instead of six spaces. The format of xsnames.adb was modified
2042         in the last update.
2043
2044         * a-numeri.ads: Add reference to AI-388 for greek letter pi
2045         identifier.
2046
2047         * clean.adb: Minor reformatting.
2048
2049         * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
2050         gnatname.adb: Minor reformatting
2051         Add 2005 to copyright output when utility is run
2052
2053         * csets.adb: Eliminate obsolete comment
2054
2055         * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
2056         Update comments.
2057
2058         * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
2059
2060 2005-02-09  Sergey Rybin  <rybin@adacore.com>
2061
2062         * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
2063         the difference between compact and incompact layout and add the record
2064         representation clause to the example illustrating different layouts.
2065         Add the description of '-A5' gnatpp option ("align 'AT' keywords in
2066         component clauses").
2067
2068 2005-02-09  Florian Villoing  <villoing@adacore.com>
2069
2070         * gnat_ugn.texi: Fix typos.
2071         Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
2072         @file.
2073         Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
2074         in the generated documentation.
2075
2076 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
2077
2078         * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
2079         longer supported.
2080         Update linker wrapper when linking with non GNU C++.
2081
2082 2005-02-09  Pascal Obry  <obry@adacore.com>
2083
2084         * gnat_ugn.texi:
2085         Document the procedure to debug the DllMain routine on Windows.
2086         Add note about -funwind-tables and mixed Ada and C/C++ programming in
2087         ZCX mode.
2088         Document new BIND qualifer /RETURN_CODES=VMS.
2089
2090 2005-02-09  Ben Brosgol  <brosgol@adacore.com>
2091
2092         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
2093         Edited gnatmetric chapter
2094
2095 2005-02-09  Robert Dewar  <dewar@adacore.com>
2096
2097         * gnat_rm.texi:
2098         Changes to document new wide wide character support
2099         For AI-285
2100         Update documentation on Normalize_Scalars and Initialize_Scalars
2101
2102 2005-02-09  Pascal Obry  <obry@adacore.com>
2103
2104         * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
2105
2106 2005-02-09  Jose Ruiz  <ruiz@adacore.com>
2107
2108         * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
2109         from the VxWorks kernel) that is needed for getting the active
2110         priority of the different tasks.
2111
2112         * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
2113         Use a pragma Elaborate_Body in the spec file instead.
2114         Noticed by code reading.
2115
2116 2005-02-09  Thomas Quinot  <quinot@adacore.com>
2117
2118         * exp_util.ads: Minor correction in comment.
2119
2120 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
2121
2122         * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
2123         since this procedure is now too complex to be worth inlining.
2124
2125 2005-02-09  Richard Henderson  <rth@redhat.com>
2126
2127         * utils.c (gnat_define_builtin): Remove.
2128         (gnat_install_builtins): Use build_common_builtin_nodes.
2129
2130 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
2131
2132         * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
2133         a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
2134         a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
2135         a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
2136         a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
2137         a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
2138         a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
2139         a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
2140         a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
2141         a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
2142         a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
2143         a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
2144         a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
2145         a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
2146         a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
2147         a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
2148         a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
2149         a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
2150         a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
2151         a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
2152         a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
2153         a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
2154         a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
2155         a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
2156         a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
2157         a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
2158         a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
2159         a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
2160         a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
2161         a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
2162         a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
2163         a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
2164         a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
2165         a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
2166         library.
2167
2168 2005-01-27  Laurent GUERBY <laurent@guerby.net>
2169
2170         * Makefile.in: Fix a-intnam.ads from previous commit,
2171         add 2005 to copyright.
2172         * a-intman-rtems.ads: Renamed to...
2173         * a-intnam-rtems.ads:
2174
2175 2005-01-27  Laurent GUERBY <laurent@guerby.net>
2176
2177         * Makefile.in: Rename GNAT RTEMS specific files.
2178         * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
2179         5rosinte.ads, 5rparame.adb: Replaced by files below.
2180         * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
2181         s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
2182
2183 2005-01-27  Joel Sherrill <joel.sherrill@oarcorp.com>
2184             Laurent GUERBY <laurent@guerby.net>
2185
2186         PR ada/19488
2187         * 5rosinte.ads: Add No_Key constant.
2188         * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
2189         * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
2190
2191 2005-01-26  Laurent GUERBY <laurent@guerby.net>
2192
2193         PR ada/19414
2194         * i-cobol.adb (Valid_Numeric): Handle zero length case.
2195
2196 2005-01-20  Richard Henderson  <rth@redhat.com>
2197
2198         * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
2199         a-intnam-linux.ads and system-linux-alpha.ads.
2200         * a-intnam-linux-alpha.ads: Remove file.
2201         * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
2202         * system-linux-alpha.ads: New file.
2203
2204 2005-01-18  Jakub Jelinek  <jakub@redhat.com>
2205
2206         PR ada/13470
2207         * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
2208         set to the new string.
2209
2210 2005-01-18  Toon Moene  <toon@moene.indiv.nluug.nl>
2211
2212         * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
2213         to True.
2214
2215 2005-01-18  Richard Henderson  <rth@redhat.com>
2216
2217         * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
2218         THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
2219         for alpha-linux.
2220         * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
2221
2222 2005-01-14  Andrew Pinski  <pinskia@physics.uc.edu>
2223
2224         * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
2225         (GCC_ZCX_Support): Likewise.
2226
2227 2005-01-11  Bastian Blank  <waldi@debian.org>
2228
2229         * system-linux-s390.ads: Define Preallocated_Stacks.
2230         * system-linux-s390x.ads: Likewise.
2231
2232 2005-01-04  Arnaud Charlet  <charlet@adacore.com>
2233
2234         * gnat_ugn.texi: Fix texi errors with null variables.
2235
2236 2005-01-03  Thomas Quinot  <quinot@adacore.com>
2237
2238         * gen-soccon.c: New utility program to generate g-soccon.ads
2239         automatically.
2240
2241         * socket.c, gsocket.h: Split inclusion of system header files into a
2242         gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
2243
2244         * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
2245         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
2246         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
2247         g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
2248         should not be edited by hand anymore, but should be regenerated using
2249         gen-soccon.
2250
2251 2005-01-03  Robert Dewar  <dewar@adacore.com>
2252             Ed Schonberg  <schonberg@adacore.com>
2253             Vincent Celier  <celier@adacore.com>
2254
2255         * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
2256         on/off, since this is an obsolescent feature, for which we now generate
2257         a warning.
2258
2259         * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
2260         warning mode is set and obsolescent usage of this attribute occurs.
2261         (Resolve_Access, case 'Access): Note that GNAT uses the context type to
2262         disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
2263         predates, and partly motivates, the adoption of the AI.
2264         Implement new Ada 2005 attribute Mod
2265
2266         * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
2267         attribute Mod.
2268
2269         * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
2270
2271         * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
2272         pragma restrictions.
2273         New entry for Ada 2005 attribute Mod.
2274
2275         * par-prag.adb:
2276         Add recognition of new pragma Restrictions No_Dependence
2277         Recognize restriction No_Obsolescent_Features at parse time
2278
2279         * bcheck.adb: Add circuitry for checking for consistency of
2280         No_Dependence restrictions.
2281
2282         * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
2283         restrictions.
2284
2285         * restrict.ads, restrict.adb: Add subprograms to deal with
2286         No_Dependence restrictions.
2287
2288         * rtsfind.adb: Check that implicit with's do not violate No_Dependence
2289         restrictions.
2290
2291         * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
2292         sem_attr.adb: Add check for new restriction No_Obsolescent_Features
2293
2294         * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
2295         dummy parameter to scng instantiation.
2296         Needed for new restriction No_Obsolescent_Features
2297
2298         * scn.adb: (Obsolescent_Check): New procedure
2299         Needed for new restriction No_Obsolescent_Features
2300
2301         * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
2302         specified by AI-285, needed for implementation of AI-388 (adding greek
2303         pi to Ada.Numerics).
2304         Add new generic formal to scng, needed for new restriction
2305         No_Obsolescent_Features.
2306
2307         * s-rident.ads: Add new restriction No_Obsolescent_Features.
2308
2309         * ali.ads, ali.adb: Adjustments for reading new No_Dependence
2310         restrictions lines.
2311         (Scan_ALI): When finding an unexpected character on an R line, raise
2312         exception Bad_R_Line, instead of calling Fatal_Error, so that, when
2313         Ignore_Errors is True, default restrictions are set and scanning of the
2314         ALI file continues with the next line. Also, when Bad_R_Line is raised
2315         and Ignore_Errors is True, skip to the end of le line.
2316
2317         * sem_ch10.adb: Check that explicit with's do not violate
2318         No_Dependence restrictions.
2319         (Install_Withed_Unit): Add code to implement AI-377 and diagnose
2320         illegal context clauses containing child units of instance.
2321
2322         * sem_prag.adb: Processing and checking for new No_Dependence
2323         restrictions.
2324         (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
2325         analyze and check the External argument.
2326
2327         * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
2328
2329 2005-01-03  Robert Dewar  <dewar@adacore.com>
2330
2331         * atree.adb: Add a fifth component to entities
2332         This allows us to add 32 flags and four new fields
2333
2334         * atree.ads: Add a fifth component to entities
2335         This allows us to add 32 flags and four new fields
2336
2337         * einfo.ads, einfo.adb: Document new fields and new flags now available
2338         Add routines for printing new fields
2339
2340         * treepr.adb: Call routines to print out additional fields if present
2341
2342 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
2343
2344         * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
2345         gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
2346
2347         * Makefile.in: Add support to build shared Ada libraries on solaris x86
2348         Remove gpr2make, replaced by gprmake.
2349         Remove references to gnatmem and libaddr2line.
2350         Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
2351         (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
2352         Add support for specialized version of Ada.Numerics.Aux for Darwin: use
2353         a-numaux-darwin.ads and a-numaux-darwin.adb
2354         Enable mlib-tgt-lynxos.adb on lynxos.
2355
2356         * Make-lang.in: Remove rules for gpr2make.
2357         When generating sdefault.adb, do not call Relocate_Path
2358         on S3 for function Target_Name, as it is not a path.
2359         Remove references to gnatmem and libaddr2line.
2360
2361         * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
2362         files.
2363
2364 2005-01-03  Samuel Tardieu  <tardieu@adacore.com>
2365
2366         * checks.adb (Apply_Alignment_Check): Generate a warning if an object
2367         address is incompatible with its base type alignment constraints when
2368         this can be decided statically.
2369
2370 2005-01-03  Olivier Hainque  <hainque@adacore.com>
2371
2372         * decl.c (compatible_signatures_p): New function. The intended purpose
2373         is to check if two function signatures for a call-site and a callee are
2374         compatible enough for the call to be valid. The underlying purpose is
2375         to check if a call to a mapped builtin is using the right interface.
2376         The current code actually does not check antyhing - this a placeholder
2377         for future refinements.
2378         (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
2379         builtin calls for convention Intrinsic.
2380
2381         * gigi.h (builtin_decl_for): Declare (new function).
2382
2383         * utils.c (gnat_install_builtins): Install the target specific builtins.
2384         (builtin_decl_for): New function, provide a dummy body for now.
2385
2386 2005-01-03  Geert Bosch  <bosch@adacore.com>
2387
2388         * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
2389         (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
2390         (Pred): Implement in terms of Succ.
2391
2392         * trans.c (convert_with_check): Reimplement conversion of float to
2393         integer.
2394
2395 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
2396             Vincent Celier  <celier@adacore.com>
2397
2398         * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
2399         bounds can be negative, and must be declared Int, not Nat.
2400
2401         * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
2402         array is checked after using the index in the array.
2403
2404         * makegpr.adb (Add_Switches): Check if there is a package for the
2405         processor. If there is no package, do not look for switches.
2406
2407 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
2408
2409         * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
2410         generation of predefined stream operations (specs and bodies) should
2411         proceed. Under various restrictions these subprograms must not be
2412         generated.
2413
2414 2005-01-03  Thomas Quinot  <quinot@adacore.com>
2415
2416         * exp_dist.adb:
2417         Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
2418         amount of PCS-specific code in RACW stubs generation.
2419         (Copy_Specification): Set Etype on copied formal parameter entities, as
2420         this information is needed for PolyORB stubs generation.
2421         (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
2422         variable Dynamic_Async.
2423         (Build_Subprogram_Receiving_Stubs): Make PCS-specific
2424         (Build_RPC_Receiver_Specification): Make generic again, as recent
2425         changes have allowed RPC receivers to have the same profile for both
2426         variants of the PCS.
2427         Reorganise RPC receiver generation to reduce differences between the
2428         structure of GARLIC and PolyORB RPC receivers.
2429         (Add_Receiving_Stubs_To_Declarations): Make this subprogram
2430         PCS-specific.
2431         Simplify elaboration code for RCI packages.
2432
2433         * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
2434         generation to reduce differences between the structure of GARLIC and
2435         PolyORB RPC receivers.
2436
2437         * s-stratt.adb: Fix typo in comment.
2438
2439 2005-01-03  Thomas Quinot  <quinot@adacore.com>
2440
2441         * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
2442         copied from Make_Init_Call).
2443
2444         * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
2445         reads and assignments on a temporary variable declared with appropriate
2446         discriminants.
2447
2448 2005-01-03  Robert Dewar  <dewar@adacore.com>
2449
2450         * i-c.adb (To_C): Raise CE if string is null and Append_Null
2451
2452 2005-01-03  Robert Dewar  <dewar@adacore.com>
2453
2454         * i-cstrin.adb (Update): Do not append a null in form called with a
2455         String. This avoids unintended behavior.
2456
2457 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
2458
2459         PR ada/17527
2460         * init.c: Fix warnings on Free BSD section.
2461
2462 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
2463
2464         PR ada/16949
2465         * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
2466         xsinfo.adb).
2467
2468 2005-01-03  Vincent Celier  <celier@adacore.com>
2469
2470         * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
2471         libraries when Unique_Compile is True (-u switch).
2472         (Gnatmake): ditto.
2473
2474 2005-01-03  Robert Dewar  <dewar@adacore.com>
2475
2476         * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
2477         upper case letter or underscore after W, as allowed by spec.
2478
2479 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
2480
2481         * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
2482         darwin port by using proper type definitions from header files.
2483         Use SIGTERM instead of SIGABRT for SIGADAABORT.
2484
2485 2005-01-03  Robert Dewar  <dewar@adacore.com>
2486
2487         * par.adb: Enhance error message handling for configuration file
2488         pragmas.
2489
2490 2005-01-03  Robert Dewar  <dewar@adacore.com>
2491
2492         * s-arit64.adb (Double_Divide): Put back changes that got accidentally
2493         removed during the previous update (test properly for case of dividing
2494         largest negative number by -1, which generates overflow).
2495
2496 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
2497             Sergey Rybin  <rybin@adacore.com>
2498
2499         * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
2500         to use as the defining identifier for a formal package.
2501         (Remove_Parent): If the instance takes place within (an instance of)
2502         a sibling, preserve private declarations of common parent.
2503
2504 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
2505
2506         * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
2507         to determine whether one of the operands is a fixed-point type for
2508         which a user-defined multiplication or division operation might be
2509         defined.
2510
2511         * sem_res.adb (Valid_Conversion): The legality rules for conversions
2512         of access types are symmetric in Ada 2005: either designated type can
2513         be unconstrained.
2514
2515 2005-01-03  Vincent Celier  <celier@adacore.com>
2516
2517         * s-fileio.adb (Temp_File_Record): Change length of string component
2518         Name from L_tmpnam + 1 to max_path_len + 1.
2519
2520 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
2521
2522         * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
2523         Self_Id.Deferral_Level = 0.
2524         (Do_Pending_Action): Move this function to the spec.
2525
2526         * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
2527         Do_Pending_Action explicitely when needed, in case we're using
2528         No_Abort restrictions.
2529
2530         * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
2531         deferral level since it will not get changed by the generated code.
2532         Keeping a default value of 1 would prevent some operations (e.g.
2533         select or delay) to proceed successfully.
2534
2535 2005-01-03  Ben Brosgol  <brosgol@adacore.com>
2536             Robert Dewar  <dewar@adacore.com>
2537             Cyrille Comar  <comar@adacore.com>
2538
2539         * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
2540         porting guide chapter (vms version).
2541         Revised doc title (removed "for native platforms") and subtitle.
2542         Add discussion on warning flag for obsolescent features. First we
2543         note that it applies to obsolete GNAT features, which was previously
2544         omitted. Second we contrast the behavior with that of the new
2545         Ada 2005 AI-368 restriction No_Obsolescent_Features.
2546         Preliminary rewriting of GNAT & libraries chapter in order to take
2547         into account default project locations & new project manager
2548         capabilities.
2549
2550 2005-01-03  Robert Dewar  <dewar@adacore.com>
2551
2552         * cstand.adb (Create_Operators): Clean up format and documentation of
2553         unary and binary operator result tables. No change in code, just
2554         reformatting and addition of comments.
2555
2556         * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
2557         sem_ch2.adb: Minor reformatting
2558
2559         * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
2560         sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
2561         comments for Tree_Read and Tree_Write.
2562
2563 2005-01-03  Pascal Obry  <obry@adacore.com>
2564
2565         * exp_attr.ads: Minor reformatting.
2566
2567 2005-01-03  Romain Berrendonner  <berrendo@adacore.com>
2568
2569         * comperr.adb (Compiler_Abort): Add specialized message for GAP
2570         versions.
2571
2572 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
2573
2574         * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
2575         whether the ancestor type is private, as may be the case with nested
2576         instantiations.
2577
2578 2004-12-30  Sohail Somani <sohail@sohailsomani.com>
2579
2580         PR ada/19128
2581         * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
2582
2583 2004-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
2584
2585         * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
2586         * utils2.c (build_unary_op): Likewise.
2587
2588 2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2589
2590         * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
2591
2592 2004-12-19  Richard Henderson  <rth@redhat.com>
2593
2594         * trans.c (gigi): Update gimplify_body call.
2595
2596 2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
2597
2598         * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
2599
2600 2004-12-07  Ed Falis  <falis@adacore.com>
2601
2602         * s-intman-vxworks.adb (Notify_Exception): removed useless check for
2603         current task being suspended.
2604
2605         * init.c (__gnat_clear_exception): added to reset VxWorks exception
2606         count.
2607         (__gnat_map_signal): removed test for current task being suspended.
2608
2609 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
2610
2611         * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
2612         from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
2613         targets (such as AAMP).
2614
2615 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
2616
2617         * atree.adb (Visit_Itype): Create a new name for the generated itype,
2618         because the back-end may otherwise treat it as a redefinition of the
2619         old symbol.
2620
2621 2004-12-07  Eric Botcazou  <ebotcazou@adacore.com>
2622
2623         * back_end.adb (Scan_Back_End_Switches): Accept --param.
2624
2625         * lang-specs.h: Accept --param.
2626
2627 2004-12-07  Vincent Celier  <celier@adacore.com>
2628
2629         * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
2630         package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
2631         Current_Body_Suffix => Ada_Body_Suffix).
2632         Take into account Externally_Built attribute.
2633
2634         * clean.adb (In_Extension_Chain): Always return False when one of the
2635         parameter is No_Project.
2636         (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
2637         Ada_Language_Index).
2638         (Gnatclean): Adapt to change in package Prj.Pars (no parameter
2639         Process_Languages for procedure Parse).
2640
2641         * gnatcmd.adb (Carg_Switches): New table.
2642         (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
2643         Adapt to name changes in package Prj (Current_Spec_Suffix =>
2644         Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
2645
2646         * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
2647         Header_Num and function Hash are now declared in package Prj,
2648         not Prj.Com.
2649
2650         * prj.adb (Suffix_Of): New function.
2651         (Set (Suffix)): New procedure.
2652         (Hash): One function moved from Prj.Com
2653         (Is_Present, Language_Processing_Data_Of): New functions
2654         (Set): Two new procedures
2655         (Add_Language_Name, Display_Language_Name): New procedures
2656
2657         * prj.ads: (Suffix_Of): New function
2658         (Set (Suffix)): New procedure
2659         Add several types and tables for multi-language support.
2660         (Header_Num): Type moved from Prj.Com
2661         (Hash): Two functions moved from Prj.Com
2662         (Is_Present, Language_Processing_Data_Of): New functions
2663         (Set): Two new procedures
2664         (Add_Language_Name, Display_Language_Name): New procedures
2665         (Naming): Component name changes:
2666         Current_Spec_Suffix => Ada_Spec_Suffix,
2667         Current_Body_Suffix => Ada_Body_Suffix. Add new components:
2668         Impl_Suffixes, Supp_Suffixes.
2669         (Project_Data): New components: Externally_Built, Supp_Languages,
2670         First_Language_Processing, Supp_Language_Processing, Default_Linker,
2671         Default_Linker_Path.
2672
2673         * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
2674         new package Language_Processing with its attributes (Compiler_Driver,
2675         Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
2676         Binder_Driver, Default_Linker).
2677
2678         * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
2679         (Header_Num): Type moved to package Prj
2680
2681         * prj-env.adb: Adapt to name changes in package Prj
2682         (Current_Spec_Suffix => Ada_Spec_Suffix,
2683         Current_Body_Suffix => Ada_Body_Suffix).
2684
2685         * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
2686         default to the project path, except the "-" is one of the directories
2687         in env var ADA_PROJECT_PATH.
2688         (Current_Project_Path): Global variable, replacing Project_Path
2689         that was in the body of Prj.Part.
2690         (Project_Path): New function
2691         (Set_Project_Path): New procedure
2692         Initialize Current_Project_Path during elaboration of the package
2693         Remove dependency on Prj.Com, no longer needed
2694
2695         * prj-ext.ads (Project_Path): New function
2696         (Set_Project_Path): New procedure
2697
2698         * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
2699         suffix is defined for language <lang>.
2700         (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
2701         accessing directly the components of Naming.
2702         (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
2703         Reorganise of this package.
2704         Break procedure Check in several procedures.
2705
2706         * prj-nmsc.ads: Replace all procedures (Ada_Check,
2707         Other_Languages_Check and Language_Independent_Check) with a single
2708         procedure Check.
2709
2710         * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
2711         Process_Languages, no longer needed.
2712
2713         * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
2714         Current_Project_Path.
2715         Remove elaboration code, moved to the body of Prj.Ext
2716         Use new function Prj.Ext.Project_Path instead of old variable
2717         Project_Path.
2718         (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
2719         When comparing with project paths on the stack, first put the resolved
2720         path in canonical case.
2721         (Parse_Single_Project): Set the path name of the project file in the
2722         tree to the normalized path.
2723
2724         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
2725         parameter Process_Languages, no longer needed.
2726         (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
2727         Other_Languages_Check.
2728
2729         * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
2730         to store the resolved canonical path of the project file.
2731         Remove dependency to Prj.Com, no longer needed
2732
2733         * prj-util.adb: Adapt to name changes in package Prj
2734         (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
2735         Ada_Body_Suffix).
2736
2737         * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
2738         Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
2739         Externally_Built, Include_Option, Language_Processing.
2740
2741         * makegpr.adb: Numerous changes due to changes in packages
2742         Prj and Prj.Nmsc.
2743
2744         * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
2745         default to the project path, except whe "-" is one of the directories
2746         in env var ADA_PROJECT_PATH.
2747         (Gnatls): In verbose mode, add the new section "Project Search Path:"
2748
2749 2004-12-07  Robert Dewar  <dewar@adacore.com>
2750
2751         * debug.adb: Document that -gnatdA automatically sets -gnatR3m
2752
2753         * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
2754         set -gnatR3m mode.
2755
2756         * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
2757         flag. No longer needed now that we handle this in gnat1drv.adb.
2758
2759         * repinfo.ads: Minor reformatting
2760
2761 2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2762             Olivier Hainque  <hainque@adacore.com>
2763             Eric Botcazou  <ebotcazou@adacore.com>
2764
2765         * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
2766         TYPE_SIZE_UNIT of result type if SIZE is not specified.
2767         (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
2768         of a bitfield, which we know is useless and causes trouble because of
2769         alignment implications.
2770
2771         * utils.c (create_var_decl): Set DECL_COMMON again on targets without
2772         BSS sections.
2773         (process_attributes): Clear DECL_COMMON again when a section attribute
2774         is present.
2775         (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
2776         SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
2777         (create_field_decl): Special case ADDRESSABLE negative to mean
2778         "no bitfield creation", to be used by make_aligning_type. Don't
2779         restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
2780         fields claimed addressable still have to be bitfields. Use
2781         value_factor_p instead of a raw binop construction to check for the
2782         position's alignment.
2783
2784 2004-12-07  Geert Bosch  <bosch@adacore.com>
2785
2786         * eval_fat.adb: Revert previous change.
2787
2788 2004-12-07  Thomas Quinot  <quinot@adacore.com>
2789             Ed Schonberg  <schonberg@adacore.com>
2790
2791         * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
2792         with an implicit dereference as its prefix, use
2793         Insert_Explicit_Dereference instead of merely rewriting the prefix into
2794         an explicit dereference. This ensures that a reference to the original
2795         prefix is generated, if appropriate.
2796
2797         * sem_util.adb (Insert_Explicit_Dereference): When an implicit
2798         dereference is rewritten to an explicit one, generate a reference to
2799         the entity denoted by its prefix using the original prefix node, so
2800         the dereference can be properly recorded as a read of the denoted
2801         access value, if appropriate.
2802
2803         * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
2804         emitting 'assigned but never read' warning on a variable on the basis
2805         that it has an access type.
2806         (Check_References): Emit unreferenced warning when the scope is a
2807         subprogram body.
2808
2809 2004-12-07  Robert Dewar  <dewar@adacore.com>
2810             Ed Schonberg  <schonberg@adacore.com>
2811
2812         * exp_ch6.adb (Expand_Call): Add comment on handling of back end
2813         intrinsic
2814
2815         * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
2816         leaving call unchanged.
2817         This deals with the case where the pragma Import specified
2818         an external name, to be handled by the back end.
2819
2820         * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
2821         subprogram which is Imported with convention Intrinsic if an
2822         External_Name argument is specified.
2823         (Process_Import_Or_Interface): Properly diagnose link name argument.
2824         (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
2825         with Sem_Ch6.Cannot_Inline.
2826         (Process_Inline): Provide separate warning for inapplicable inline
2827         pragma.
2828         (Cannot_Inline): Reject subprograms that have an at_end handler, so that
2829         treatment is uniform on different targets.
2830
2831 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
2832
2833         * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
2834         construct is rewritten, preserve end label to permit source navigation.
2835
2836 2004-12-07  Thomas Quinot  <quinot@adacore.com>
2837
2838         * exp_dist.adb (Specific_Build_General_Calling_Stubs,
2839         Specific_Build_Stub_Target): New subprograms.
2840         (Build_Subprogram_Calling_Stubs): Make this procedure independent from
2841         the PCS implementation used, using the above PCS-customized subprograms.
2842         Minor reformatting.
2843         (PolyORB_Support.Helpers): New subunit containing supporting subprograms
2844         for generation of DSA code targeted to the PolyORB PCS.
2845         (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
2846         implementation of the partition communication subsystem in ancillary
2847         subprograms.
2848         (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
2849         PolyORB_Support.Build_Stub_Type): New subrograms containing the
2850         PCS-specific part of Add_Stub_Type.
2851         (Insert_Partition_Check): Use runtime library function to perform
2852         E.4(19) check.
2853
2854         * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
2855         (RE_Same_Partition): New entity, from s-parint.
2856
2857         * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
2858
2859 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
2860
2861         * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
2862         Output the copyright message on a separate line from the version
2863         message.
2864
2865 2004-12-07  Joel Brobecker  <brobecker@adacore.com>
2866
2867         * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
2868         compile-time warning.
2869
2870 2004-12-07  Robert Dewar  <dewar@adacore.com>
2871
2872         * g-regpat.adb: (Match): Change a misuse of or to or else
2873
2874 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
2875
2876         * lib-xref.adb:
2877         (Generate_Reference): Handle properly a reference to an entry formal,
2878          when an accept statement has a pragma Unreferenced for it.
2879
2880         * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
2881         and the Has_Pragma_Unreferenced flag for each formal before analyzing
2882         the body, to ensure that warnings are properly emitted for each accept
2883         statement of a given task entry.
2884
2885 2004-12-07  Vasiliy Fofanov  <fofanov@adacore.com>
2886
2887         * Makefile.in: Add support for foreign threads on VMS.
2888
2889 2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2890
2891         * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
2892         Remove.
2893         (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
2894
2895         * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
2896
2897         * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
2898         exception.
2899         (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
2900
2901 2004-12-07  Robert Dewar  <dewar@adacore.com>
2902
2903         * nlists.adb (Prepend_Debug): Remove parameters and nest within
2904         Prepend.
2905         (Remove_Next_Debug): Same fix
2906
2907         * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
2908         maintain back pointers now, though we did not used to, and comments
2909         were out of date).
2910         (Prepend): Remove pragma Inline.
2911         (Remove_Next): Same cleanup
2912
2913 2004-12-07  Thomas Quinot  <quinot@adacore.com>
2914
2915         * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
2916         used to record an implicit dereference as a read operation on its
2917         prefix when operating under -gnatc. Necessary to avoid spurious
2918         'variable assigned but never read' warnings in that mode.
2919         (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
2920         is a non-overloaded implicit dereference, call the above subprogram to
2921         ensure proper recording of references.
2922
2923 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
2924
2925         * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
2926         to be resolved later as part of Analyze_Iteration_Scheme's call to
2927         Make_Index.
2928
2929 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
2930
2931         * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
2932         prefix is not a scalar type, place error message on prefix, not on
2933         type entity.
2934
2935 2004-12-07  Bernard Banner  <banner@adacore.com>
2936
2937         * vxaddr2line.adb: Add support for x86 vxworks
2938
2939 2004-12-07  Thomas Quinot  <quinot@adacore.com>
2940
2941         * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
2942         documentation of the behaviour of these functions when passed an IP
2943         address that has no record in the system hosts database and no reverse
2944         record in the DNS.
2945
2946         * cstand.adb, a-tags.ads: Fix typos in comment.
2947
2948 2004-12-07  Robert Dewar  <dewar@adacore.com>
2949
2950         * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
2951         exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
2952         sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
2953         s-poosiz.ads: Minor reformatting
2954
2955         * make.adb: Minor reformatting
2956         Add some ??? comments asking for more comments
2957
2958         * s-poosiz.adb: Minor reformatting
2959         Add comments on alignment requirement
2960
2961         * sinfo.ads: Remove obsolete comment and fix typo.
2962
2963 2004-12-07  Vincent Celier  <celier@adacore.com>
2964             Sergey Rybin  <rybin@adacore.com>
2965
2966         * gnat_ugn.texi: Update the section "The GNAT Driver and Project
2967         Files" with the new tool and package names.
2968         Reformatting to suppress most of the warnings for line too long
2969         Document the new section "Project Search Path:" in the output of
2970         gnatls -v.
2971         Add gnatmetric section
2972
2973 2004-12-07  Vincent Celier  <celier@adacore.com>
2974
2975         * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
2976         -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
2977         and -eit to -ept. Added qualifier
2978         /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
2979
2980 2004-11-27  Andreas Schwab  <schwab@suse.de>
2981
2982         * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
2983
2984 2004-11-25  Arnaud Charlet  <charlet@adacore.com>
2985
2986         * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
2987         internal implementation unit GNAT.Sockets.Thin,
2988         as their usage for sockets is non-portable (using the read and write
2989         functions from the system runtime library is fine on UNIX but won't
2990         work under Windows).
2991
2992         * mingw32.h: Update copyright notice.
2993
2994 2004-11-25  Arnaud Charlet  <charlet@adacore.com>
2995
2996         * ada-tree.h: Minor reformatting of previous change to avoid lines
2997         longer than 79 characters.
2998
2999 2004-11-25  Olivier Hainque  <hainque@adacore.com>
3000
3001         * tb-gcc.c: GCC infrastructure based implementation of
3002         __gnat_backtrace.
3003
3004 2004-11-24  Steven Bosscher  <stevenb@suse.de>
3005
3006         * misc.c (gnat_post_options): Don't clear
3007         flag_inline_functions.
3008
3009 2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
3010
3011         PR ada/17986
3012         * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
3013         tree.
3014
3015 2004-11-21  Andreas Jaeger  <aj@suse.de>
3016
3017         * stylesw.adb: Change Style_Check_Subprogram_Order to
3018         Style_Check_Order_Subprograms.
3019
3020 2004-11-18  Arnaud Charlet  <charlet@adacore.com>
3021
3022         * adaint.h, adaint.c
3023         (__gnat_portable_spawn): Fix cast of spawnvp third parameter
3024         to avoid warnings.
3025         Add also a cast to kill another warning.
3026         (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
3027         parameter with the priority class of the parent process instead of
3028         always using the NORMAL_PRIORITY_CLASS.
3029         (__gnat_dup): New function.
3030         (__gnat_dup2): New function.
3031         (__gnat_is_symbolic_link): Enable the effective body of this
3032         function when __APPLE__ is defined.
3033
3034         * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
3035         Update comments.
3036
3037 2004-11-18  Olivier Hainque  <hainque@adacore.com>
3038
3039         * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
3040         address of which may be used to represent "others" and "all others"
3041         choices in exception tables, instead of the current harcoded
3042         (void *)0 and (void *)1.
3043         (Setup_Exception): Do nothing in the GNAT SJLJ case.
3044
3045         * gigi.h (others_decl, all_others_decl): New decls representing the
3046         new Others_Value and All_Others_Value objects.
3047         (struct attrib): Rename "arg" component as "args", since GCC expects a
3048         list of arguments in there.
3049
3050         * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
3051         corresponding objects exported by a-exexpr, instead of hardcoded dummy
3052         addresses.
3053
3054         * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
3055         others_decl and all_others_decl instead of hardcoded dummy addresses
3056         to represent "others" and "all others" choices, which is cleaner and
3057         more flexible with respect to the possible eh pointer encoding policies.
3058
3059         * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
3060         (process_attributes): Account for the naming change of the "args"
3061         attribute list entry component.
3062
3063         * decl.c (build_attr_list): Rename into prepend_attributes to allow
3064         cumulating attributes for different entities into a single list.
3065         (gnat_to_gnu_entity): Use prepend_attributes to build the list of
3066         attributes for the current entity and propagate first subtype
3067         attributes to other subtypes.
3068         <E_Procedure>: Attribute arguments are attr->args and not
3069         attr->arg any more.
3070         (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
3071         argument provided, as this is what GCC expects. Use NULL_TREE instead
3072         of 0 for trees.
3073
3074 2004-11-18  Robert Dewar  <dewar@adacore.com>
3075
3076         * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
3077         Minor reformatting througout (including new function specs)
3078         Add ??? comments asking for clarification.
3079
3080 2004-11-18  Thomas Quinot  <quinot@adacore.com>
3081
3082         * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
3083         incomplete duplicate implementation of this subprogram from butil.
3084
3085 2004-11-18  Thomas Quinot  <quinot@adacore.com>
3086
3087         * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
3088         procedures factors the common processing for building an RPC receiver
3089         for an RCI package or an RACW type.
3090         Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
3091         Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
3092         (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
3093         in use.
3094         (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
3095         Add_RACW_Features.
3096         (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
3097         Add_RAST_Features.
3098         (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
3099         distribution subprogram identifiers that are either subprogram numbers
3100         or strings.
3101         (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
3102         string distribution identifiers assigned to a given subprogram.
3103         (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
3104         (Add_RAS_Dereference_TSS): Add comments.
3105         (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
3106         is not referenced yet because it will be used by the PolyORB DSA
3107         implementation.
3108         (Insert_Partition_Check): Remove fossile code.
3109         (First_RCI_Subprogram_Id): Document this constant.
3110         (Add_RAS_Access_TSS): Correct the setting of the Etype of the
3111         RAS_Access TSS.
3112         (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
3113         replaced with calls to Get_Library_Unit_Name_String. Previously there
3114         were several instances of the same code in different locations in the
3115         compiler; this checkin completes the replacement of all of these
3116         instances with calls to a common subprogram.
3117         Minor reformatting.
3118
3119         * sem_dist.adb: Remove comment noting that RPC receiver generation
3120         should be disabled for RACWs that implement RASs.
3121         (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
3122
3123         * sem_util.ads, sem_util.adb (Has_Stream): New function
3124         (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
3125         qualified name of a library unit into the name buffer.
3126         (Note_Possible_Modification): Generate a reference only
3127         if the context comes from source.
3128
3129         * snames.ads (PCS_Names): New subtype corresponding to names of
3130         supported implementations of the Partition Communication Subsystem
3131         (PCS) (i.e. the runtime library support modules for the distributed
3132         systems annex).
3133
3134 2004-11-18  Robert Dewar  <dewar@adacore.com>
3135             Ed Schonberg  <schonberg@adacore.com>
3136
3137         * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
3138         (Has_Rep_Pragma): New function
3139         (Has_Attribute_Definition_Clause): New function
3140         (Record_Rep_Pragma): Moved here from sem_ch13.adb
3141         (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
3142
3143         * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
3144
3145         * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
3146         (Expand_Pragma_Psect_Object): New procedure
3147         These procedures contain the revised and cleaned up processing for
3148         these two pragmas. This processing was formerly in Sem_Prag, but
3149         is more appropriately moved here. The cleanup involves making sure
3150         that the pragmas are properly attached to the tree, and that no
3151         nodes are improperly shared.
3152
3153         * sem_prag.adb: Move expansion of Common_Object and Psect_Object
3154         pragmas to Exp_Prag, which is more appropriate.
3155         Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
3156         check for duplicates Remove use of Is_Psected flag, no longer needed.
3157         Use new Make_String_Literal function with string.
3158
3159         * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
3160         that are functions return universal values, that have to be converted
3161         to the context type.
3162         Use new Make_String_Literal function with string.
3163         (Get_Stream_Convert_Pragma): New function, replaces the use of
3164         Get_Rep_Pragma, which had to be kludged to work in this case.
3165
3166         * freeze.adb: Use new Has_Rep_Pragma function
3167
3168         * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
3169         function with string.
3170         Use new Has_Rep_Pragma function.
3171
3172         * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
3173         string argument.
3174
3175 2004-11-18  Robert Dewar  <dewar@adacore.com>
3176
3177         * errout.ads, errout.adb: (First_Sloc): New function
3178
3179         * par-ch5.adb (P_Condition): Check for redundant parens is now a style
3180         check (-gnatyx) instead of being included as a redundant construct
3181         warning.
3182
3183         * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
3184         Style_Check_Order_Subprograms.
3185
3186         * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
3187         stylesw.adb: Add Style_Check_Xtra_Parens
3188
3189         * usage.adb: Add line for -gnatyx (check extra parens)
3190
3191         * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
3192
3193 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
3194             Robert Dewar  <dewar@adacore.com>
3195
3196         * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
3197         discriminant of a constrained subtype, analyze the copy of the
3198         corresponding constraint, because in some cases it may be only
3199         partially analyzed.
3200         Removes long-lived ??? comments.
3201
3202         * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
3203         handled controlled or secondary-stack expressions within the
3204         iteration_scheme of a loop.
3205
3206         * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
3207         bounds that may contain functions calls, to prevent memory leaks when
3208         the bound contains a call to a function that uses the secondary stack.
3209         (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
3210         generate temporaries for loop bounds that might contain function calls
3211         that require secondary stack and/or finalization actions.
3212
3213         * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
3214         selected component and the selector is overloadable (not just a
3215         function) treat as function call, Analyze_Call will disambiguate if
3216         necessary.
3217         (Analyze_Selected_Component): Do not generate an actual subtype for the
3218         selected component if expansion is disabled. The actual subtype is only
3219         needed for constraint checks.
3220         (Analyze_Allocator): If restriction No_Streams is set, then do
3221         not permit objects to be declared of a stream type, or of a
3222         composite type containing a stream.
3223
3224         * restrict.ads: Remove the a-stream entry from Unit_Array, since
3225         No_Streams no longer prohibits with'ing this package.
3226
3227         * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
3228         discriminants, but the parent base has unknown discriminants, there is
3229         no discriminant constraint to inherit. Such a discrepancy can arise
3230         when the actual for a formal type with unknown discriminants is a
3231         similar private type whose full view has discriminants.
3232         (Analyze_Object_Declaration): If restriction No_Streams is set, then
3233         do not permit objects to be declared of a stream type, or of a
3234         composite type containing a stream.
3235
3236 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
3237
3238         * exp_dbug.ads: Update documentation to reflect simpler encoding for
3239         protected operations.
3240
3241         * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
3242         generated name, it complicates decoding in gdb and hinders debugging
3243         of protected operations.
3244         (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
3245         flag for the protected entry barrier function.
3246         (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
3247         flag for the protected entry function.
3248
3249 2004-11-18  Nicolas Setton  <setton@adacore.com>
3250
3251         * expect.c: Define __unix__ when __APPLE__ is defined.
3252
3253         * Makefile.in: Inform the value of the variable GMEM_LIB in the
3254         Darwin-specific section.
3255
3256         * lang-specs.h: Change the placement of the %1 marker.
3257         Works around the fact that gcc adds -fPIC by default under Darwin.
3258
3259 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
3260
3261         * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
3262         type of the object with the packed array type, set the Analyzed flag
3263         on the object if it is an entity or simple indexed component, to avoid
3264         spurious type errors.
3265
3266 2004-11-18  Gary Dismukes  <dismukes@adacore.com>
3267
3268         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
3269         gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
3270         separate line from the version message.
3271
3272 2004-11-18  Ed Falis  <falis@adacore.com>
3273
3274         * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
3275         vthreads.
3276         (init_float): Eliminate initialization of floating point status for
3277         AE653. The instructions have no effect for vThreads.
3278
3279 2004-11-18  Vincent Celier  <celier@adacore.com>
3280
3281         * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
3282         gnatbind is invoked with -shared.
3283
3284 2004-11-18  Jose Ruiz  <ruiz@adacore.com>
3285
3286         * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
3287         for Detect_Blocking which is redundant with the check done within the
3288         procedure Protected_Single_Entry_Call.
3289         (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
3290         Detect_Blocking which is redundant with the check done within the
3291         procedure Protected_Single_Entry_Call.
3292
3293 2004-11-18  Vincent Celier  <celier@adacore.com>
3294
3295         * makegpr.adb (Compile): Put the compiling switches (in package
3296         Compiler and on the command line) immediately after "-c", instead of
3297         at the end of the command line invocation of the compiler, when
3298         compiling a non-Ada file.
3299         (Build_Global_Archive): When there is no need to rebuild the archive,
3300         set Global_Archive_Exists, so that the archive is passed to the linker
3301         if one is needed.
3302
3303 2004-11-18  Robert Dewar  <dewar@adacore.com>
3304             Sergey Rybin  <rybin@adacore.com>
3305
3306         * gnat_ugn.texi:
3307         Remove extra paren check from list of checks for redundant constructs
3308         Add documentation of new -gnatyx style check (check extra parens)
3309         Remove paragraph about gnatelim debug options.
3310
3311         * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
3312         objects rather than forbidding dependencies on the package Ada.Streams.
3313
3314         * sinfo.ads: Add ??? note that we should document pragmas passed to
3315         back end.
3316
3317         * g-expect.ads: Fix a few typos in the comments.
3318
3319 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
3320
3321         * misc.c (gnat_handle_option): Use %< and %> for quoting in
3322         warning message.
3323
3324 2004-11-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3325
3326         * a-numaux-x86.adb (Tan): Fix fdivp syntax.
3327
3328 2004-11-07  Andreas Schwab  <schwab@suse.de>
3329
3330         * Makefile.in (install-gnatlib): Remove spurious hyphen.
3331
3332 2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
3333
3334         PR ada/18228
3335         * Makefile.in (darwin): Set soext to .dylib.
3336
3337 2004-10-26  Vincent Celier  <celier@gnat.com>
3338             Thomas Quinot   <quinot@act-europe.fr>
3339
3340         * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
3341         (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
3342         there is no use of GNAT.Sockets.Constants.
3343         Remove remaining pragma Import for C_Write
3344         Remove C_Read and C_Write from internal implementation unit
3345         GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
3346         the read and write functions from the system runtime library is fine
3347         on UNIX but won't work under Windows).
3348
3349         * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
3350         (Check_Selector): Use C_Recv instead of C_Read.
3351         Selectors are the GNAT.Sockets abstraction to perform a select()
3352         call on a set of descriptors. To allow abortion of an ongoing
3353         select operation, some data is written to a dedicated socket that
3354         is always monitored.
3355         Under Windows, the write and read library functions cannot operate
3356         on sockets, so we need to use send and recv instead, which is portable
3357         across all supported platforms.
3358
3359         * g-socthi.ads: Remove C_Read and C_Write from internal implementation
3360         unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
3361         (using the read and write functions from the system runtime library is
3362         fine on UNIX but won't work under Windows).
3363
3364 2004-10-26  Nicolas Setton  <setton@act-europe.fr>
3365
3366         * mlib-tgt-darwin.adb: New file.
3367
3368         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
3369         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
3370         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
3371         mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
3372         subprogram body.
3373
3374         * Makefile.in: Add support for building shared libraries under Darwin.
3375         (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
3376         the low level EH init subprogram to be called from __gnat_initialize.
3377
3378         * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
3379         indicates which options to pass to the archive indexer.
3380
3381         * mlib-utl.adb: Add support for calling ranlib with additional
3382         options. This is needed for instance under Mac OS X.
3383         (Ranlib_Options): New global variable, used to store the potential
3384         options to pass to ranlib.
3385         (Ar): Use Ranlib_Options when spawning ranlib.
3386         (Initialize): Set the value of ranlib option.
3387
3388 2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
3389
3390         * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
3391         instead of 8K, to reflect the real potential needs for stack-checking
3392         in the ZCX case.
3393
3394 2004-10-26  Pascal Obry  <obry@gnat.com>
3395
3396         * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
3397
3398         * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
3399         Windows only the initial thread stack size can be set so it is good to
3400         start we a low stack size.
3401         The OS will adjust the size as needed.
3402
3403 2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
3404             Nicolas Setton  <setton@act-europe.fr>
3405
3406         * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
3407         "__unix__" instead of "unix".
3408         The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
3409         sections were just mistakenly ignored. The former is
3410         implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
3411         Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
3412         of hpux. This prevents an unwanted definition of the symbol
3413         convert_addresses in adaint.o.
3414
3415 2004-10-26  Gary Dismukes  <dismukes@gnat.com>
3416
3417         * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
3418         compatibility with type Unwind_Word on 16-bit targets such as AAMP.
3419
3420 2004-10-26  Cyrille Comar  <comar@act-europe.fr>
3421
3422         * a-filico.ads, a-filico.adb: fix incorrect header.
3423
3424 2004-10-26  Javier Miranda  <miranda@gnat.com>
3425
3426         * a-ststio.ads: Fix typo in identifier
3427
3428 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
3429
3430         * sem_ch4.adb: Minor reformatting.
3431
3432 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3433
3434         * checks.adb (Expr_Known_Valid): If floating-point validity checks are
3435         enabled, check the result of unary and binary operations when the
3436         expression is the right-hand side of an assignment.
3437
3438 2004-10-26  Vincent Celier  <celier@gnat.com>
3439
3440         * clean.adb (Delete): Do not output warnings when in quiet output and
3441         not in verbose mode.
3442         (Force_Deletions): New Boolean flag, defaulted to False
3443         (Delete): Only delete a file if it is writable, and when
3444         Force_Deletions is True.
3445         (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
3446         (Usage): Line for new switch -f
3447         (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
3448         own.
3449
3450 2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
3451
3452         * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
3453         JM type only if its size matches that of the wrapper.  When a size is
3454         prescribed and the field is not aliased, remove the wrapper of a JM
3455         type only if the size is not greater than that of the packed array.
3456         (gnat_to_gnu_entity): Change the extension of packed array wrappers
3457         from LJM to JM.
3458
3459 2004-10-26  Geert Bosch  <bosch@gnat.com>
3460
3461         * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
3462         (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
3463         (Pred): Implement in terms of Succ.
3464
3465 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3466
3467         * exp_aggr.adb (Safe_Component): An aggregate component that is an
3468         unchecked conversion is safe for in-place use if the expression of the
3469         conversion is safe.
3470         (Expand_Array_Aggregate): An aggregate that initializes an allocator may
3471         be expandable in place even if the aggregate does not come from source.
3472         (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
3473         designated object of an allocator in place, rather than building it
3474         first on the stack. The previous scheme forces a full copy of the array,
3475         and may be altogether unsusable if the size of the array is too large
3476         for stack allocation.
3477
3478 2004-10-26  Robert Dewar  <dewar@gnat.com>
3479
3480         * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
3481         compares if the component is atomic.
3482
3483         * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
3484         array assignment if the component type is atomic.
3485
3486 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3487             Eric Botcazou  <ebotcazou@act-europe.fr>
3488
3489         * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
3490         is aliased and is a by_reference type, do not pass by copy.
3491         (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
3492         detect whether the call is in the right side of an assignment or
3493         the expression of an object declaration.  Recurse on component
3494         association within aggregates.
3495         Call it in the condition that determines whether the temporary is
3496         necessary for correct stack-checking.
3497
3498 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
3499
3500         * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
3501         RACW_Type, used in the PolyORB version.
3502         Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
3503         version and the GARLIC version.
3504
3505         * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
3506         Rename RCI_Info to RCI_Locator for better consistency between the
3507         GARLIC and PolyORB versions of the distributed systems annex.
3508         (DSA_Implementation_Name): This enumeration lists the possible
3509         implementations of the Partition Communication Subsystem for the
3510         Distributed Systems Annex (DSA). The three available implementations
3511         are the dummy stub implementation (No_DSA), and two versions based on
3512         two different distribution runtime libraries: GARLIC and PolyORB. Both
3513         the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
3514         technology.
3515         Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
3516         that organization.
3517
3518         * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
3519         between the GARLIC and PolyORB versions of the distributed systems
3520         annex.
3521         Remove RE_Unbounded_Reclaim_Pool since it is unused.
3522
3523 2004-10-26  Gary Dismukes  <dismukes@gnat.com>
3524
3525         * gnat1drv.adb: Suppress calling the back end when
3526         Frontend_Layout_On_Target is true.
3527
3528 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
3529
3530         * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
3531         Set_Read_Only): New subprograms.
3532         These new routines allow the user to set or unset the Owner execute
3533         and Owner write permission flags on a file.
3534
3535         * makegpr.adb, mlib.adb, mlib-prj.adb: Use
3536         GNAT.OS_Lib.Set_Executable instead of rolling our own.
3537
3538 2004-10-26  Matthew Gingell  <gingell@gnat.com>
3539
3540         * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
3541
3542 2004-10-26  Pascal Obry  <obry@gnat.com>
3543
3544         * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
3545         memory before the faulting page we properly test the process read
3546         access for this address using appropriate Win32 routine.
3547         (HPUX sections): guard with "__hpux__" instead of "hpux".
3548
3549 2004-10-26  Robert Dewar  <dewar@gnat.com>
3550
3551         * lib-xref.adb (Generate_Reference): Don't complain about reference to
3552         entry parameter if pragma Unreferenced set, since we do not properly
3553         handle the case of multiple parameters.
3554
3555 2004-10-26  Vincent Celier  <celier@gnat.com>
3556
3557         * prj-env.adb: (Contains_ALI_Files): New Boolean function
3558         (Ada_Objects_Path.Add): For a library project, add to the object path
3559         the library directory only if there is no object directory or if the
3560         library directory contains ALI files.
3561         (Set_Ada_Paths.Add.Recursive_Add): Ditto
3562
3563 2004-10-26  Vincent Celier  <celier@gnat.com>
3564
3565         * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
3566         extension of library projects.
3567
3568         * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
3569         path defaults to ".:<prefix>/lib/gnat".
3570         (Parse): For an extending all project, allow direct import of a project
3571         that is virtually extended.
3572
3573         * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
3574         the specified name is directly imported, return its ID. Otherwise, if
3575         an extension of this project is imported, return the ID of the
3576         extension.
3577
3578 2004-10-26  Robert Dewar  <dewar@gnat.com>
3579
3580         * s-arit64.adb: (Le3): New function, used by Scaled_Divide
3581         (Sub3): New procedure, used by Scaled_Divide
3582         (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
3583         correct more than one instance of failure to propagate carries
3584         correctly.
3585         (Double_Divide): Handle overflow case of largest negative number
3586         divided by minus one.
3587
3588         * s-arit64.ads (Double_Divide): Document that overflow can occur in
3589         the case of a quotient value out of range.
3590         Fix comments.
3591
3592 2004-10-26  Robert Dewar  <dewar@gnat.com>
3593
3594         * s-bitops.adb (Bit_Eq): Remove redundant check.
3595
3596         * s-bitops.ads: Minor comment updates
3597         Change some occurrences of Address to System.Address
3598
3599         * s-carsi8.ads: Fix minor cut-and-paste error in comments
3600
3601 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3602
3603         * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
3604         accessibility check to prefix that is a protected operation.
3605
3606 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3607
3608         * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
3609         empty, post message on stub.
3610
3611 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3612             Javier Miranda  <miranda@gnat.com>
3613
3614         * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
3615         current instance appears within a unit that is directly in the context
3616         of the main unit.
3617         Used to determine whether the body of the instance should be analyzed
3618         immediately after its spec, to make its subprogram bodies available
3619         for front-end inlining.
3620         (Analyze_Formal_Array_Type): Cleanup condition that checks that range
3621         constraint is not allowed on the component type (AARM 12.5.3(3))
3622
3623 2004-10-26  Cyrille Comar  <comar@act-europe.fr>
3624
3625         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
3626         'Storage_Pool): enhance, document & limit detection of non-sharable
3627         internal pools.
3628
3629         * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
3630
3631         * s-pooglo.ads: Add more documentation now that this pool is properly
3632         documented.
3633
3634 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3635
3636         * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
3637         or protected type with discriminants, do not constrain the
3638         corresponding record type if the subtype declaration has no
3639         discriminant constraints. This can be the case in source code, or in
3640         the subtype declaration created to rename an actual type within an
3641         instantiation.
3642
3643 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3644
3645         * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
3646         different kind of stub (possibly wrong name for file), do not check
3647         for conformance.
3648         (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
3649         includes call to some function that returns an unconstrained type, do
3650         not inline.
3651
3652 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3653
3654         * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
3655         appear in the code for the main unit. Dependencies among units in the
3656         context of the main unit are established when those other units are
3657         compiled. Otherwise spurious elaboration constraints can generate
3658         incorrect elaboration circularities.
3659
3660 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
3661             Ed Schonberg   <schonberg@gnat.com>
3662
3663         * sem_util.adb (Is_Aliased_View): Defend against the case where this
3664         subprogram is called with a parameter that is not an object name. This
3665         situation arises for some cases of illegal code, which is diagnosed
3666         later, and in this case it is wrong to call Is_Aliased, as that might
3667         cause a compiler crash.
3668         (Explain_Limited_Type): Refine previous fix to include
3669         inherited components of derived types, to provide complete information.
3670
3671         * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
3672         is the prival for a protected object.
3673         It is necessary to mark this entity as a variable, in addition to
3674         flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
3675         modified to avoid checking the Aliased flag on entities that are not
3676         objects. (Checking that flag for non-objects is erroneous and could
3677         lead to a compiler crash).
3678
3679 2004-10-26  Robert Dewar  <dewar@gnat.com>
3680
3681         * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
3682         X_Frac = 0.5, then we know that the number X must be positive.
3683         (Succ): Remove the same redundant test, and also fix the primary test
3684         to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
3685         Minor reformatting
3686         (Decompose): Add fuller comments to spec
3687
3688 2004-10-26  Pascal Obry  <obry@gnat.com>
3689
3690         * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
3691         validity (process must have read access). Set to 0 in all other cases.
3692         (STOP_FRAME): Now check for ptr validity to avoid a segmentation
3693         violation on Win32.
3694         (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
3695         segmentation violation.
3696
3697 2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
3698
3699         * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
3700         whose type is a constructed subtype of an aliased object with an
3701         unconstrained nominal subtype, convert the actual to the constructed
3702         subtype before taking its address.
3703
3704 2004-10-26  Vincent Celier  <celier@gnat.com>
3705
3706         * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
3707         (Is_Path_Name_Case_Sensitive): New function
3708
3709         * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
3710         (Base_Name, Simple_Name, Current_Directory, Compose,
3711         Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
3712         the result.
3713
3714 2004-10-26  Cyrille Comar    <comar@act-europe.fr>
3715             Vasiliy Fofanov  <fofanov@act-europe.fr>
3716             Vincent Celier   <celier@gnat.com>
3717
3718         * gnat_ugn.texi: Generalize "finding memory problems" section into a
3719         "memory management issues" section and document some of the useful
3720         memory pools provided as part of the GNAT library.
3721         Remove "virtual" from declaration of A::method2 in
3722         the simple example of Ada/C++ mixed system.
3723         Library Projects may be virtually extended: their virtual extensions
3724         are not Library Projects.
3725         Added section on extending project hierarchies.
3726
3727 2004-10-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
3728
3729         * adaint.c (__gnat_get_libraries_from_registry): Cast value
3730         to LPBYTE.
3731         (__gnat_portable_spawn): Remove const.
3732
3733         * mingw32.h (MAXPATHLEN): Check for previous definition.
3734
3735 2004-10-17  Matthias Klose  <doko@debian.org>
3736
3737         * gnatvsn.ads: Set gnat library version to 4.0.
3738
3739 2004-10-05  Vincent Celier  <celier@gnat.com>
3740
3741         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
3742
3743 2004-10-04  Laurent GUERBY <laurent@guerby.net>
3744
3745         PR ada/15156
3746         * Makefile.in: Define and use RANLIB_FLAGS.
3747
3748 2004-10-04  Pascal Obry  <obry@gnat.com>
3749
3750         * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
3751         other x86 platforms).
3752
3753 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
3754
3755         * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
3756         in general and triggers stack alignment adjustment for thread entry
3757         points on targets where this is necessary.
3758
3759 2004-10-04  Bernard Banner  <banner@gnat.com>
3760
3761         PR ada/13897
3762
3763         * Makefile.in: Add section for powerpc linux
3764         Add variant i-vxwork-x86.ads
3765
3766         * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
3767
3768 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
3769
3770         * init.c (__gnat_initialize): Call an Ada subprogram to perform the
3771         table registration calls when need be. Ensures no reference to the crt
3772         ctors symbol are issued in the SJLJ case, which avoids possible
3773         undefined symbol errors in the case of modules to be statically linked
3774         with the kernel.
3775
3776 2004-10-04  Javier Miranda  <miranda@gnat.com>
3777
3778         * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
3779         in-line the code corresponding to subprogram Analyze_Actuals. In
3780         addition, analyze the actuals only in case of subprogram call.
3781
3782 2004-10-04  Ed Falis  <falis@gnat.com>
3783
3784         * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
3785
3786 2004-10-04  Sergey Rybin  <rybin@act-europe.fr>
3787
3788         * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
3789         in the documentation.
3790
3791 2004-10-04  Robert Dewar  <dewar@gnat.com>
3792
3793         * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
3794         IF and CASE.
3795         (Analyze_Block_Statement): Add circuitry to detect following dead code
3796         (Check_Unreachable_Code): Handle case of block exit
3797
3798 2004-10-04  Robert Dewar  <dewar@gnat.com>
3799
3800         * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
3801         (XMatchD): Avoid warning for Logic_Error call
3802
3803 2004-10-04  Robert Dewar  <dewar@gnat.com>
3804
3805         * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
3806         consider expressions buried within a procedure actual to be an actual.
3807         This caused some blowups with uses of packed slices within a procedure
3808         actual.
3809
3810 2004-10-04  Robert Dewar  <dewar@gnat.com>
3811
3812         * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
3813         longer need to be initialized to zero.
3814         (Get_Simple_Init_Val): Modular packed arrays no longer need to be
3815         initialized to zero.
3816
3817         * checks.adb (Expr_Known_Valid): Packed arrays are now always
3818         considered valid, even if the representation is modular. That's correct
3819         now that we no longer initialize packed modular arrays to zero.
3820
3821         * exp_dbug.ads: Clarify documentation on handling of PAD and JM
3822         suffixes. These are now documented as the only cases in which the
3823         debugger ignores outer records.
3824         Previously, the spec allowed arbitrary suffixes for this purpose.
3825         Change name of LJM to JM for packed array pad records
3826         Create separate section on packed array handling, and add a whole new
3827         set of comments to this section describing the situation with packed
3828         modular types and justification requirements depending on endianness.
3829
3830 2004-10-04  Robert Dewar  <dewar@gnat.com>
3831
3832         * a-except.adb: Add a comment for last change
3833
3834         * einfo.ads: Minor spelling correction in comment
3835
3836         * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
3837
3838         * sem_ch11.adb: Fix a case of using | instead of \ for continuation
3839         messages.
3840
3841         * sem_util.ads: Minor comment update
3842
3843 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3844
3845         * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
3846         Inline_Always when in Configurable_Run_Time mode.
3847
3848         * sem_prag.adb (Process_Convention): If entity is an inherited
3849         subprogram, apply convention to parent subprogram if in same scope.
3850         (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
3851         when in Configurable_Run_Time mode.
3852
3853 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3854
3855         * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
3856         class_wide type after component list has been inherited.
3857
3858 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3859
3860         * sem_ch12.adb (Check_Generic_Actuals): New predicate
3861         Denotes_Previous_Actual, to handle properly the case of a private
3862         actual that is also the component type of a subsequent array actual.
3863         The visibility status of the first actual is not affected when the
3864         second is installed.
3865         (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
3866         make fully recursive the treatment of formals of packages declared
3867         with a box.
3868         (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
3869         the above on exit from an instantiation.
3870         (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
3871         current instantiation which is now complete.
3872         (Analyze_Package_Instantiation): No instantiated body is needed if the
3873         main unit is generic. Efficient, and avoid anomalies when a instance
3874         appears in a package accessed through rtsfind.
3875
3876 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3877
3878         * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
3879         do not generate a declaration for a temporary if the call is part of a
3880         library-level instantiation.
3881
3882 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3883
3884         * sem_util.adb (Explain_Limited_Type): Ignore internal components when
3885         searching for a limited component to flag.
3886
3887         * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
3888         expansion of Input, to account for the fact that the implicit call
3889         generated by the attribute reference must freeze the user-defined
3890         stream subprogram. This is only relevant to 'Input, because it can
3891         appear in an object declaration, prior to the body of the subprogram.
3892
3893         * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
3894         expansion can proceed and further errors uncovered.
3895         (Minor clean up): Fix cases of using | instead of \ for continuation
3896         messages.
3897
3898 2004-10-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3899
3900         * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
3901
3902         * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
3903         (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
3904         Use gcc_assert and gcc_unreachable.
3905
3906         * decl.c (gnat_to_gnu_entity, case object): Check and process a
3907         specified alignment before validating size.
3908         (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
3909         stripped-down declaration for the type of the inner field when making
3910         a JM type.
3911
3912         * utils.c (finish_record_type): Do not compute the size in units
3913         incrementally. Instead compute it once for the rep clause case.
3914         Use gcc_assert and gcc_unreachable.
3915
3916 2004-10-04  Vincent Celier  <celier@gnat.com>
3917
3918         * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
3919         in file name.
3920         (Is_Valid_Path_Name): Take '/' as a directory separator.
3921
3922 2004-10-04  Vincent Celier  <celier@gnat.com>
3923
3924         * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
3925         (Extended_Project) only if Extended_Project is defined, to avoid
3926         assertion error.
3927         (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
3928         resolved path.
3929         (Parse_Single_Project): Ditto.
3930
3931         * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
3932         Add_To_Project_Path for virtual projects.
3933
3934 2004-10-04  Vincent Celier  <celier@gnat.com>
3935
3936         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
3937         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
3938         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
3939         mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
3940         parameter Options_2.
3941
3942         * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
3943         Build_Dynamic_Library with an empty Options_2.
3944
3945         * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
3946         default anymore.
3947
3948         * makegpr.adb (Get_Imported_Directories.add): Remove trailing
3949         directory separator, if any.
3950         (Gprmake): Do not allow mains on the command line for library projects.
3951         Do not attempt to link when the project is a library project.
3952         (Library_Opts): New table to store Library_Options.
3953         (Build_Library): If Library_Options is specified, pass these options
3954         when building a shared library.
3955
3956 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
3957
3958         * s-tposen.adb (Service_Entry): The object must be always unlocked at
3959         the end of this procedure now that the unlock operation was inserted
3960         by the expander.
3961
3962 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
3963
3964         * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
3965         corresponding to the Preallocated_Stacks flags in System.
3966         (Get_Target_Parameters): Including the processing for
3967         Preallocated_Stacks.
3968
3969         * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
3970         system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
3971         system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
3972         system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
3973         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
3974         system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
3975         system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
3976         system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
3977         system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
3978         system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
3979         system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
3980         used to signal whether the compiler creates the required stacks and
3981         descriptors for the different tasks (when True) or it is done by the
3982         underlying operating system at run time (when False).
3983         It is initially set to False in all targets.
3984
3985         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
3986         if it is supported by the target.
3987         (Make_Task_Create_Call): Pass the stack address if it has been
3988         previously created. Otherwise pass a Null_Address.
3989
3990         * snames.adb: Add _stack.
3991
3992         * snames.ads: Add Name_uStack. Required to allow the expander to
3993         statically allocated task stacks.
3994
3995         * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
3996         Stack_Address argument.
3997         Check that its value is equal to Null_Address because this target does
3998         not support the static stack allocation.
3999
4000 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
4001
4002         * usage.adb: Change "pragma inline" to "pragma Inline" in information
4003         and error messages
4004
4005 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
4006
4007         * exp_dist.adb: Split declaration of asynchronous flag out of
4008         Add_RACW_Read_Attribute.
4009         Minor reformatting for better alignment with PolyORB version.
4010         Store the entity for the asynchronous flag of an RACW, rather than the
4011         expression, in the asynchronous flags table. This will allow this flag
4012         to be used in other subprograms beside Add_RACW_Read_Attribute.
4013
4014 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
4015
4016         * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
4017         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
4018         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
4019         g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
4020         g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads:  Add new
4021         sockets constant MSG_NOSIGNAL (Linux-specific).
4022         Add new sockets constant MSG_Forced_Flags, list of flags to be set on
4023         all Send operations.
4024         For Linux, set MSG_NOSIGNAL on all send operations to prevent them
4025         from trigerring SIGPIPE.
4026         Rename components to avoid clash with Ada 2005 possible reserved
4027         word 'interface'.
4028         (Check_Selector): When the select system call returns with an error
4029         condition, propagate Socket_Error to the caller.
4030
4031 2004-10-01  Jan Hubicka  <jh@suse.cz>
4032
4033         * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
4034
4035 2004-09-23  Robert Dewar  <dewar@gnat.com>
4036
4037         PR ada/17540
4038
4039         * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
4040         instead do this at freeze time (we won't do it if there is an address
4041         clause).
4042         Change "pragma inline" to "pragma Inline" in information and error
4043         messages.
4044         Minor reformatting.
4045
4046         * freeze.adb (Check_Address_Clause): Remove previous change, not the
4047         right way of doing things after all.
4048         (Freeze_Entity): For object, set Is_Public for imported entities
4049         unless there is an address clause present.
4050
4051 2004-09-21  Olivier Hainque  <hainque@act-europe.fr>
4052
4053         * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
4054         dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
4055         ensures proper handling of types with rep clauses, which might have
4056         their TYPE_SIZE set already.
4057
4058 2004-09-21  Robert Dewar  <dewar@gnat.com>
4059
4060         * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
4061         packed array types in both little- and big-endian cases. This change
4062         ensures that we no longer count on the unused bits being initialized
4063         for such types (and in particular ensures that equality testing will
4064         only read the relevant bits).
4065         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
4066         These changes mean that we no longer need to initialize small packed
4067         arrays.
4068         (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
4069         optimization to an LJM field as to its parent field.
4070
4071         * ada-tree.h, trans.c, utils.c, utils2.c:
4072         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
4073
4074 2004-09-20  Jan Hubicka  <jh@suse.cz>
4075
4076         * utils.c (gnat_finalize): Remove.
4077         (end_subprog_body): Directly call cgraph_finalize_function;
4078         do not lower the nested functions.
4079
4080 2004-09-20  Robert Dewar  <dewar@gnat.com>
4081
4082         PR ada/17540
4083
4084         * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
4085         if an address clause is present, since that means that the Import
4086         should be ignored.
4087
4088 2004-09-20  Arnaud Charlet  <charlet@act-europe.fr>
4089
4090         * 5tsystem.ads: Removed, no longer used.
4091
4092 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
4093             Zack Weinberg  <zack@codesourcery.com>
4094
4095         * ada-tree.def: Use tree_code_class enumeration constants
4096         instead of code letters.
4097         * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
4098         Update for new tree-class enumeration constants.
4099
4100 2004-09-17  Vincent Celier  <celier@gnat.com>
4101
4102         * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
4103         capabilities of the general project manager.
4104
4105 2004-09-09  Vincent Celier  <celier@gnat.com>
4106
4107         * a-direct.ads: Add pragma Ada_05
4108         (Directory_Entry_Type): Give default value to component Kind to avoid
4109         not initialized warnings.
4110
4111         * a-direct.adb (Current_Directory): Remove directory separator at the
4112         end.
4113         (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
4114         an existing directory.
4115         (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
4116         (Size (String)): Function C_Size returns Long_Integer, not File_Size.
4117         Convert the result to File_Size.
4118
4119         * prj.ads: (Project_Error): New exception
4120
4121         * prj-attr.adb: Except in procedure Initialize, Fail comes from
4122         Prj.Com, not from Osint.
4123         (Attrs, Package_Attributes): Tables moved to private part of spec
4124         (Add_Attribute, Add_Unknown_Package): Moved to new child package
4125         Prj.Attr.PM.
4126         (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
4127         Prj.Project_Error after call to Fail.
4128         (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
4129         Fail. Check that package name is not already in use.
4130
4131         * prj-attr.ads: Comment updates to indicate that all subprograms may be
4132         used by tools, not only by the project manager, and to indicate that
4133         exception Prj.Prj_Error may be raised in case of problem.
4134         (Add_Unknown_Package, Add_Attribute): Moved to new child package
4135         Prj.Attr.PM.
4136         (Attrs, Package_Attributes): Table instantiations moved from the body to
4137         the private part to be accessible from Prj.Attr.PM body.
4138
4139         * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
4140         from new package Prj.Attr.PM.
4141         (Parse_Attribute_Declaration): Call Add_Attribute from new package
4142         Prj.Attr.PM.
4143
4144         * Makefile.in: Add prj-attr-pm.o to gnatmake object list
4145
4146         * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
4147         instead of Elaboration_Checks).
4148
4149         * a-calend.adb: Minor reformatting
4150
4151 2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4152
4153         * gigi.h (maybe_pad_type): New declaration.
4154         (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
4155
4156         * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
4157
4158         * cuintp.c: Convert to use buildN.
4159
4160         * decl.c (maybe_pad_type): No longer static.
4161         (gnat_to_gnu_entity, case E_Function): Handle case of returning by
4162         target pointer.
4163         Convert to use buildN.
4164
4165         * trans.c (call_to_gnu): Add arg GNU_TARGET; support
4166         TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
4167         (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
4168         RHS.
4169         (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
4170         (gnat_gimplify_expr, case ADDR_EXPR): New case.
4171         Convert to use buildN.
4172
4173         * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
4174         TREE_READONLY for const.
4175         Convert to use buildN.
4176
4177         * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
4178         (create_var_decl): Refine when TREE_STATIC is set.
4179         Convert to use buildN.
4180
4181 2004-09-09  Gary Dismukes  <dismukes@gnat.com>
4182
4183         * gnat_ugn.texi: Delete text relating to checking of ali and object
4184         consistency.
4185
4186         * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
4187         routines.
4188
4189 2004-09-09  Jose Ruiz  <ruiz@act-europe.fr>
4190
4191         * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
4192         pragmas recognized by GNAT.
4193
4194         * gnat_rm.texi: Document pragma Detect_Blocking.
4195
4196         * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
4197         raise Program_Error if called from a protected operation.
4198
4199         * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
4200         the protected action nesting level.
4201         (Lock_Read_Only): When pragma Detect_Blocking is active increase the
4202         protected action nesting level.
4203         (Unlock): When pragma Detect_Blocking is active decrease the protected
4204         action nesting level.
4205
4206         * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
4207         Protected_Action_Nesting.
4208
4209         * s-taskin.ads: Adding the field Protected_Action_Nesting to the
4210         Common_ATCB record. It contains the dynamic level of protected action
4211         nesting for each task. It is needed for checking whether potentially
4212         blocking operations are called from protected operations.
4213         (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
4214         Detect_Blocking is active or not in the partition.
4215
4216         * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
4217         raise Program_Error if called from a protected operation.
4218         (Task_Entry_Call): When pragma Detect_Blocking is active, raise
4219         Program_Error if called from a protected operation.
4220         (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
4221         Program_Error if called from a protected operation.
4222
4223         * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
4224         raise Program_Error if called from a protected operation.
4225
4226         * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
4227         raise Program_Error if called from a protected operation, and increase
4228         the protected action nesting level.
4229         (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
4230         Program_Error if called from a protected operation, and increase the
4231         protected action nesting level.
4232         (Unlock_Entries): When pragma Detect_Blocking is active decrease the
4233         protected action nesting level.
4234
4235         * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
4236         raise Program_Error if called from a protected operation, and increase
4237         the protected action nesting level.
4238         (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
4239         Program_Error if called from a protected operation, and increase the
4240         protected action nesting level.
4241         (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
4242         raise Program_Error if called from a protected operation.
4243         (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
4244         active, raise Program_Error if called from a protected operation.
4245         (Unlock_Entry): When pragma Detect_Blocking is active decrease the
4246         protected action nesting level.
4247
4248         * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
4249         insertion of the statement raising Program_Error. The run time
4250         contains the required machinery for handling that.
4251
4252         * sem_util.ads: Change comment associated to procedure
4253         Check_Potentially_Blocking_Operation.
4254         This procedure does not insert a call for raising the exception because
4255         that is currently done by the run time.
4256
4257         * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
4258
4259         * init.c: Add the global variable __gl_detect_blocking that indicates
4260         whether pragma Detect_Blocking is active (1) or not (0). Needed for
4261         making the pragma available at run time.
4262         (__gnat_set_globals): Pass and update the detect_blocking parameter.
4263
4264         * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
4265         pragma Detect_Blocking is active.
4266
4267         * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
4268
4269         * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
4270         DB is found in the ali file. Any unit compiled with pragma
4271         Detect_Blocking active forces its effect in the whole partition.
4272
4273         * a-retide.adb (Delay_Until): Raise Program_Error if pragma
4274         Detect_Blocking is active and delay is called from a protected
4275         operation.
4276
4277         * bindgen.adb (Gen_Adainit_Ada): When generating the call to
4278         __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
4279         Detect_Blocking is active (0 otherwise).
4280         (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
4281         as Detect_Blocking parameter if pragma Detect_Blocking is active (0
4282         otherwise).
4283
4284 2004-09-09  Thomas Quinot  <quinot@act-europe.fr>
4285
4286         * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
4287         GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
4288         package.
4289
4290         * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
4291         (Register_Receiving_Stub): Add Subp_Info formal parameter.
4292         Update API in placeholder implemetation of s-parint to reflect changes
4293         in distribution runtime library.
4294
4295         * sem_ch3.adb (Expand_Derived_Record): Rename to
4296         Expand_Record_Extension.
4297
4298         * sem_disp.adb (Check_Controlling_Formals): Improve error message for
4299         primitive operations of potentially distributed object types that have
4300         non-controlling anonymous access formals.
4301
4302         * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
4303         subprogram.
4304         New implementation of expansion for remote access-to-subprogram types,
4305         based on the RACW infrastructure.
4306         This version of sem_dist is compatible with PolyORB/DSA as well as
4307         GLADE.
4308
4309         * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
4310         Asynchrronous that applies to a remote access-to-subprogram type, mark
4311         the underlying RACW type as asynchronous.
4312
4313         * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
4314          __gnat_using_gnu_linker to 1.
4315
4316         * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
4317         g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
4318         GNAT.Perfect_Hash_Generators, and remove the empty
4319         GNAT.Perfect_Hash package.
4320
4321         * atree.adb: Minor reformatting
4322
4323         * exp_ch3.adb (Expand_Derived_Record): Rename to
4324         Expand_Record_Extension.
4325         (Build_Record_Init_Proc.Build_Assignment): The default expression in
4326         a component declaration must remain attached at that point in the
4327         tree so New_Copy_Tree copies it if the enclosing record type is derived.
4328         It is therefore necessary to take a copy of the expression when building
4329         the corresponding assignment statement in the init proc.
4330         As a side effect, in the case of a derived record type, we now see the
4331         original expression, without any rewriting that could have occurred
4332         during expansion of the ancestor type's init proc, and we do not need
4333         to go back to Original_Node.
4334
4335         * exp_ch3.ads (Expand_Derived_Record): Rename to
4336         Expand_Record_Extension.
4337
4338         * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
4339         Returns the RACW type used to implement a remote access-to-subprogram
4340         type.
4341         (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
4342         New subprograms. Used to create a proxy tagged object for a remote
4343         subprogram. The proxy object is used as the designated object
4344         for RAS values on the same partition (unless All_Calls_Remote applies).
4345         (Build_Get_Unique_RP_Call): New subprogram. Build a call to
4346         System.Partition_Interface.Get_Unique_Remote_Pointer.
4347         (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
4348         Renamed from Add_RAS_*_Attribute.
4349         (Add_Receiving_Stubs_To_Declarations): Generate a table of local
4350         subprograms.
4351         New implementation of expansion for remote access-to-subprogram types,
4352         based on the RACW infrastructure.
4353
4354         * exp_dist.ads (Copy_Specification): Update comment to note that this
4355         function can copy the specification from either a subprogram
4356         specification or an access-to-subprogram type definition.
4357
4358 2004-09-09  Ed Schonberg  <schonberg@gnat.com>
4359
4360         * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
4361         in an instance, between an explicit subprogram an one inherited from a
4362         type derived from an actual.
4363
4364         * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
4365         add a polling call if the subprogram is to be inlined by the back-end,
4366         to avoid repeated calls with multiple inlinings.
4367
4368         * checks.adb (Apply_Alignment_Check): If the expression in the address
4369         clause is a call whose name is not a static entity (e.g. a dispatching
4370         call), treat as dynamic.
4371
4372 2004-09-09  Robert Dewar  <dewar@gnat.com>
4373
4374         * g-trasym.ads: Minor reformatting
4375
4376         * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
4377         packed arrays, since unused bits are expected to be zero for a
4378         comparison.
4379
4380 2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>
4381
4382         * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
4383         comment.
4384
4385 2004-09-09  Pascal Obry  <obry@gnat.com>
4386
4387         * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
4388         enable map file generation. Add the right option to generate the map
4389         file if Map_File is set to True.
4390
4391         * gnatdll.adb (Gen_Map_File): New variable.
4392         (Syntax): Add info about new -m (Map_File) option.
4393         (Parse_Command_Line): Add support for -m option.
4394         (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
4395         Minor reformatting.
4396
4397 2004-09-09  Laurent Pautet  <pautet@act-europe.fr>
4398
4399         * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
4400         new gnatdist implementation.
4401         Define a subpackage isolating the output routines specific to this
4402         verbose mode.
4403
4404 2004-09-09  Joel Brobecker  <brobecker@gnat.com>
4405
4406         * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
4407
4408         * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
4409
4410 2004-09-09  Cyrille Comar  <comar@act-europe.fr>
4411
4412         * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
4413         internal unit.
4414
4415         * opt.ads: Add Ada_Version_Runtime constant used to decide which
4416         version of the language is used to compile the run time.
4417
4418 2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>
4419
4420         * sem_util.adb (Requires_Transient_Scope): Re-enable handling
4421         of variable length temporaries for function return now that the
4422         back-end and gigi support it.
4423
4424 2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4425
4426         * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
4427
4428         * trans.c (struct stmt_group): Delete field GLOBAL.
4429         (gnat_init_stmt_group): Do not initialize it.
4430         (call_to_gnu): Use save_expr, not protect_multiple_eval.
4431         (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
4432         (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
4433         (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
4434         (start_stmt_group): Likewise.
4435         (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
4436
4437         * utils2.c (ggc.h): Include.
4438         (build_call_raise): Call build_int_cst, not build_int_2.
4439
4440         * utils.c (gnat_init_decl_processing): Fix arg to
4441         build_common_tree_nodes.
4442         (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
4443         (gnat_define_builtin): Set built_in_decls.
4444         (init_gigi_decls): Call build_int_cst, not build_int_2.
4445
4446         * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
4447         (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
4448         (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
4449         (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
4450         SET_TYPE_MODULE): Use them.
4451         (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
4452         (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
4453         (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
4454         SET_TYPE_ADA_SIZE): Likewise.
4455         (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
4456         (DECL_CONST_CORRESPONDING_VAR,
4457         SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
4458         (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
4459         (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
4460         (TYPE_RM_SIZE_NUM): New macro.
4461         (TYPE_RM_SIZE): Modified to use above.
4462
4463         * cuintp.c: (build_cst_from_int): New function.
4464         (UI_To_gnu): Use it.
4465
4466         * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
4467         (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
4468         (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
4469         MIN_EXPR for the size, copy it into new.
4470
4471 2004-09-01  Robert Dewar  <dewar@gnat.com>
4472
4473         * exp_ch6.adb (Expand_Call): Properly handle validity checks for
4474         packed indexed component where array is an IN OUT formal. This
4475         generated garbage code previously.
4476
4477         * gnat_ugn.texi: Document -fverbose-asm
4478
4479         * gnat-style.texi: Minor updates (note that boolean constants and
4480         variables are joined with AND/OR rather than short circuit forms).
4481
4482 2004-09-01  Ed Schonberg  <schonberg@gnat.com>
4483
4484         * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
4485         it is an upward conversion of an untagged type with no representation
4486         change.
4487
4488 2004-09-01  Thomas Quinot  <quinot@act-europe.fr>
4489
4490         * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
4491         System.Partition_Interface.
4492
4493         * checks.adb (Apply_Access_Checks): Do not generate checks when
4494         expander is not active (but check for unset reference to prefix of
4495         dereference).
4496
4497         * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
4498         pragma Debug as an if statement with a constant condition, for
4499         consistent treatment of entity references contained within the
4500         enclosed procedure call.
4501
4502 2004-09-01  Vincent Celier  <celier@gnat.com>
4503
4504         * bindgen.adb: (Set_EA_Last): New procedure
4505         (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
4506         Set_EA_Last.
4507         (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
4508         (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
4509         linked without errors.
4510         (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
4511         ST and EA.
4512         (Gen_Exception_Table_C): Correct same bugs
4513
4514         * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
4515
4516         * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
4517         on Windows, make sure that the drive letter is in upper case.
4518
4519         * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
4520         Windows, when the drive letter is added and Case_Sensitive is True, the
4521         drive letter is forced to upper case.
4522
4523         * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
4524         to Options_2 for the call to MLib.Utl.Gcc.
4525
4526         * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
4527         directory separator when defining BASE_DIR.
4528
4529 2004-09-01  Pascal Obry  <obry@gnat.com>
4530
4531         * gprcmd.adb (Extend): Do not output trailing directory separator. This
4532         is not needed and it confuses Windows GNU/make which does not report
4533         directory terminated by a slash as a directory.
4534         (gprcmd): Idem for "pwd" internal command.
4535
4536         * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
4537         target names rewrite to fix regressions with recent version of
4538         GNU/make. Starting with GNU/make 3.80 the pipe character was not
4539         handled properly anymore.
4540
4541 2004-09-01  Andreas Schwab  <schwab@suse.de>
4542
4543         * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
4544         * raise.c [!IN_RTS]: Undef abort.
4545
4546 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
4547
4548         * utils2.c (build_allocator): Use ssize_int.
4549
4550         * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
4551
4552 2004-08-27  Andreas Schwab  <schwab@suse.de>
4553
4554         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
4555
4556 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
4557             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4558
4559         * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
4560
4561 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
4562
4563         * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
4564         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
4565         * utils.c (init_gigi_decls): Likewise.
4566         * utils2.c (build_call_raise, build_allocator): Likewise.
4567
4568 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
4569
4570         * utils.c (gnat_init_decl_processing): Adjust
4571         build_common_tree_nodes call.
4572
4573 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
4574
4575         * utils2.c (build_allocator): Use build_int_cst for negative
4576         size types.
4577
4578 2004-08-18  Richard Henderson  <rth@redhat.com>
4579
4580         * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
4581
4582 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
4583
4584         * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
4585         call.s
4586         * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
4587         (gnat_to_gnu): Likewise.
4588
4589 2004-08-16  Pascal Obry  <obry@gnat.com>
4590
4591         * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
4592         backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
4593         option and not mdll anymore. Update comment.
4594
4595 2004-08-16  Pascal Obry  <obry@gnat.com>
4596
4597         * bld.adb (Put_Include_Project): Properly handle directory separators
4598         on Windows.
4599
4600 2004-08-16  Ed Schonberg  <schonberg@gnat.com>
4601
4602         * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
4603         decreasing the number of allocated junk nodes while searching for the
4604         appropriate subprogram.
4605
4606 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
4607
4608         * cuintp.c (UI_To_gnu): Use build_int_cst..
4609         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
4610         * utils.c (init_gigi_decls): Likewise.
4611         * utils2.c (build_call_raise): Likewise.
4612
4613 2004-08-13  Olivier Hainque  <hainque@act-europe.fr>
4614
4615         * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
4616         for a global aliased object with a variable size and an unconstrained
4617         nominal subtype, pretend there is no initializer if the one we have is
4618         incomplete, and avoid referencing an inexistant component in there. The
4619         part we have will be rebuilt anyway and the reference may confuse
4620         further operations.
4621
4622 2004-08-13  Thomas Quinot  <quinot@act-europe.fr>
4623
4624         * einfo.ads: Minor reformatting
4625
4626         * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
4627         restrictions in the ALI if we only want to warn about violations.
4628
4629 2004-08-13  Vincent Celier  <celier@gnat.com>
4630
4631         * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
4632         when creating a new Unit_Record in table Units.
4633
4634         * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
4635         that are violated, if any.
4636
4637         * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
4638         add directory separator if path already ends with a directory separator.
4639
4640 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
4641
4642         * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
4643         unit, this is an attempt to inline a construct that is not available in
4644         the current restricted mode, so abort rather than trying to continue.
4645
4646         * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
4647         discriminants that rename those of the parent, recover names of
4648         original discriminants for the constraint on the full view of the
4649         parent.
4650         (Complete_Private_Subtype): Do not create a subtype declaration if the
4651         subtype is an itype.
4652
4653         * gnat_rm.texi: Added section on implementation of discriminated
4654         records with default values for discriminants.
4655
4656 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
4657
4658         PR ada/15601
4659         * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
4660         the second operand is overloaded.
4661
4662 2004-08-10  Richard Henderson  <rth@redhat.com>
4663
4664         * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
4665         add __builtin_alloca.
4666
4667 2004-08-10  Richard Henderson  <rth@redhat.com>
4668
4669         * config-lang.in (boot_language): Yes.
4670
4671 2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
4672
4673         * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
4674         from complaining on potential uninitialized reference.
4675         Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
4676         new specification and test explicitly for non-zero return value.
4677
4678         * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
4679         returning C.int, to avoid using a derived boolean type.
4680
4681         * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
4682         Duplicate_Subexpr_No_Checks in preference to direct use of
4683         Remove_Side_Effects and New_Copy_Tree.
4684         Clear Comes_From_Source on prefix of 'Size attribute reference.
4685
4686         * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
4687         g-socthi-vxworks.adb: Change calls to
4688         GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
4689         and test explicitly for non-zero return value.
4690
4691         * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
4692         (Is_Socket_In_Set): Declare imported function as returning C.int, to
4693         avoid using a derived boolean type.
4694
4695 2004-08-09  Albert Lee  <lee@gnat.com>
4696
4697         * system-irix-n32.ads: Refine tasking priority constants for IRIX.
4698
4699 2004-08-09  Pascal Obry  <obry@gnat.com>
4700
4701         * gnat_ugn.texi: Document new way to build DLLs on Windows using
4702         GCC's -shared option.
4703
4704         * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
4705         Options_2 parameter (options put after object files).
4706
4707 2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
4708
4709         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
4710         ignore overflows on low and high bounds of an index to also account for
4711         differences in signedness between sizetype and gnu_index_subtype.
4712         These are as legitimate as the ones caused by a lower TYPE_PRECISION
4713         on sizetype.
4714
4715 2004-08-09  Robert Dewar  <dewar@gnat.com>
4716
4717         * s-solita.ads, s-solita.adb: Minor reformatting
4718
4719         * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
4720         Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
4721         obsolescent section
4722         Add note that No_Implicit_Conditionals does not suppress
4723         run time constraint checks.
4724
4725         * vms_conv.ads: Minor reformatting
4726
4727         * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
4728         and necessary for following change).
4729         (Mark): Return new format Mark_Id containing sec stack address
4730         (Release): Use sec stack address from Mark_Id avoiding Self call
4731
4732         * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
4733         pointer (cleanup and necessary for following change).
4734         Define Mark_Id as record containing address of secondary stack, that way
4735         Release does not need to find the stack again, decreasing the number of
4736         calls to Self and improving efficiency.
4737
4738         * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
4739
4740         * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
4741         case variable into the individual case branches when possible.
4742
4743         * sem_ch11.adb: Minor reformatting
4744
4745         * prj.ads: Correct spelling of suffixs
4746
4747         * prj-nmsc.adb: Minor reformatting
4748         Correct spelling suffixs throughout (also in identifiers)
4749
4750         * freeze.adb: Minor spelling correction
4751
4752         * exp_ch2.adb: Cleanups to handling of Current_Value
4753         (no functional effect).
4754
4755         * bld.adb: Correct spelling of suffixs
4756
4757         * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
4758
4759 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
4760
4761         PR ada/15408
4762
4763         * sem_ch7.adb (Install_Private_Declarations): In the body of the
4764         package or of a child, private entities are both immediately_visible
4765         and not hidden.
4766
4767 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
4768
4769         * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
4770         there are no range checks on the value of the literal.
4771
4772         * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
4773         wrapped is the triggering alternative of an asynchronous select, action
4774         statements mustbe inserted before the select itself.
4775
4776         * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
4777         case where the prefix is a protected function call.
4778         (Resolve_Attribute, case 'Access): The attribute reference on a
4779         subprogram is legal in a generic body if the subprogram is declared
4780         elsewhere.
4781
4782 2004-08-09  Vincent Celier  <celier@gnat.com>
4783
4784         * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
4785         languages, otherwise building the library may fail with unresolved
4786         symbols.
4787         (Compile_Sources): Do not build libraries if -c switch is used
4788
4789         * gnatlink.adb (Process_Args): New switches -M and -Mmap
4790         (Write_Usage): If map file creation is supported, output new switches
4791         -M and -Mmap.
4792         (Gnatlink): When -M is specified, add the necessary switch(es) to the
4793         gcc call, when supported.
4794
4795         * Makefile.in: Added indepsw.o to the object list for gnatlink
4796         Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
4797
4798         * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
4799         indepsw.adb, indepsw.ads: New files.
4800
4801 2004-08-09  Bernard Banner  <banner@gnat.com>
4802
4803         * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
4804
4805         * Makefile.in: add section for vxworks x86
4806
4807 2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
4808
4809         * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
4810         per-object constrained components where the discriminant is of an
4811         Access type.
4812         (Build_Record_Init_Proc): Add condition to prevent the inheritance of
4813         the parent initialization procedure for derived Unchecked_Unions.
4814         Instead, derived Unchecked_Unions build their own initialization
4815         procedure.
4816         (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
4817         Check the body of the subprogram for details.
4818         (Freeze_Record_Type): Prevent the inheritance of discriminant checking
4819         functions for derived Unchecked_Union types by introducing a condition.
4820         Allow the creation of TSS equality functions for Unchecked_Unions.
4821         (Make_Eq_Case): Rename formal parameter Node to E in function signature.
4822         Add formal parameter Discr to function signature. Discr is used to
4823         control the generated case statement for Unchecked_Union types.
4824         (Make_Eq_If): Rename formal parameter Node to E in function signature.
4825
4826         * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
4827         Unchecked_Unions.
4828         Check the body of the subprogram for details.
4829         (Expand_Composite_Equality): Augment composite type equality to include
4830         correct handling of Unchecked_Union components.
4831         (Expand_N_In): Add condition to detect illegal membership tests when the
4832         subtype mark is a constrained Unchecked_Union and the expression lacks
4833         inferable discriminants, and build a Raise_Program_Error node.
4834         (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
4835         to detect types that contain components of unconstrained Unchecked_Union
4836         subtype. Add condition to detect equality between types that have an
4837         unconstrained Unchecked_Union component, and build a Raise_Program_Error
4838         node. Add condition to detect equality between Unchecked_Union types
4839         that lack inferable discriminants, and build a Raise_Program_Error node.
4840         Otherwise build a TSS equality function call.
4841         (Expand_N_Type_Conversion): Add condition to detect illegal conversions
4842         from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
4843         with the operand lacking inferable discriminants, and build a Raise_
4844         Program_Error node.
4845         (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
4846         composite equality.
4847         (Has_Inferable_Discriminants): Implement new predicate for objects and
4848         expressions of Unchecked_Union type. Check the body of subprogram for
4849         details.
4850         (Has_Unconstrained_UU_Components): Add function
4851         Component_Is_Unconstrained_UU. It is used to detect whether a single
4852         component is of an unconstrained Unchecked_Union subtype. Add function
4853         Variant_Is_Unconstrained_UU. It is used to detect whether a single
4854         component inside a variant is of an unconstrained Unchecked_Union type.
4855
4856         * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
4857         inferred discriminant values. Add condition to generate a case
4858         statement with an inferred discriminant as the switch.
4859         (Make_Component_List_Assign): Introduce a Boolean flag that determines
4860         the behaviour of the subprogram in the presence of an Unchecked_Union.
4861         Add condition to trigger the usage of the inferred discriminant value
4862         as the generated case statement switch.
4863         (Make_Field_Assign): Introduce a Boolean flag that determines the
4864         behaviour of the subprogram in the presence of an Unchecked_Union. Add
4865         condition to trigger the usage of the inferred discriminant value as
4866         the right-hand side of the generated assignment.
4867
4868         * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
4869         parameter generation when dealing with Unchecked_Unions.
4870
4871         * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
4872         checks for Unchecked_Unions.
4873
4874         * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
4875
4876         * exp_attr.adb (Expand_N_Attribute_Reference): Produce
4877         Raise_Program_Error nodes for the execution of Read and Write
4878         attributes of Unchecked_Union types and the execution of Input and
4879         Output attributes of Unchecked_Union types that lack default
4880         discriminant values.
4881
4882         * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
4883         Unchecked_Union. Add procedure Check_Component. It is used to inspect
4884         per-object constrained components of Unchecked_Unions for being
4885         Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
4886         check individual components withing a variant.
4887
4888         * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
4889         comparison of Unchecked_Unions.
4890         (Resolve_Equality_OP): Remove guard that prevents equality between
4891         Unchecked_Unions.
4892
4893         * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
4894         of component subtypes for Unchecked_Union components.
4895         (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
4896         since it is the actual subtype.
4897
4898         * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
4899         pass of Unchecked_Union subtypes as generic actuals to formal types
4900         that lack known_discriminant_parts or that are derived Unchecked_Union
4901         types, and do nothing. In any other case, produce an error message.
4902
4903         * sem_ch3.adb (Analyze_Component_Declaration): Add function
4904         Contains_POC. It determines whether a constraint uses the discriminant
4905         of an enclosing record type.
4906         Add condition to detect per-object constrained component and set the
4907         appropriate flag.
4908         (Derived_Type_Declaration): Remove guard that prevents derivation from
4909         Unchecked_Union types.
4910         (Process_Subtype): Remove quard that prevents the creation of Unchecked_
4911         Union subtypes.
4912
4913         * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
4914         references to Unchecked_Union discriminants.
4915
4916         * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
4917         formal generation when dealing with Unchecked_Unions.
4918         (Set_Actual_Subtypes): Add condition to prevent generation of actual
4919         subtypes for Unchecked_Unions.
4920
4921         * sem_ch7.adb (Analyze_Package_Specification): Add procedure
4922         Inspect_Unchecked_Union_Completion. It is used to detect incorrect
4923         completions of discriminated partial views by Unchecked_Unions and
4924         produce an error message.
4925
4926 2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4927
4928         * trans.c (struct stmt_group): New field, GLOBAL.
4929         (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
4930         (struct elab_info): New struct.
4931         (elab_info_list, gnu_elab_proc_stack): New variables.
4932         (Compilation_Unit_to_gnu): New procedure.
4933         (gigi): Call it and also handle elaboration procs we've saved.
4934         (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
4935         global field from parent.
4936         (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
4937         (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
4938         (start_stmt_group): Initialize global field from parent.
4939         (add_decl_expr): Set to global for current statement group.
4940         (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
4941         post.
4942
4943         * utils.c (global_bindings_p): True when no current_function_decl; no
4944         longer check current_binding_level.
4945
4946 2004-08-09  Ben Brosgol  <brosgol@gnat.com>
4947
4948         * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
4949         choice.
4950
4951         * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
4952
4953 2004-08-06  Andreas Schwab  <schwab@suse.de>
4954
4955         * utils.c (gnat_define_builtin): Remove second parameter of
4956         make_decl_rtl.
4957         (begin_subprog_body): Likewise.
4958
4959 2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
4960
4961         * sem_util.adb (Requires_Transient_Scope): Temporarily disable
4962         optimization, not supported by the tree-ssa back-end.
4963
4964 2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
4965
4966         * s-mastop-irix.adb: Update comments.
4967
4968         * a-except.adb (Exception_Information): Raise Constraint_Error if
4969         exception Id is Null_Id.
4970         This is required behavior, which is more reliably and clearly checked
4971         at the top level interface level.
4972
4973 2004-07-26  Javier Miranda  <miranda@gnat.com>
4974
4975         * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
4976         call if a component has no default_expression and the box is used.
4977
4978         * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
4979         default_expression and you use box, it behaves as if you had declared a
4980         stand-alone object.
4981         (Resolve_Record_Aggregate): If a component has no default_expression and
4982         you use box, it behaves as if you had declared a stand-alone object.
4983
4984         * sem_ch10.adb (Install_Siblings): Do not make visible the private
4985         entities of private-with siblings.
4986
4987 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
4988
4989         * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
4990         for a component of an itype, set the parent pointer for analysis,
4991         there is no list in which to insert it.
4992
4993         * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
4994         bona-fide renamings, not for inherited operations.
4995
4996         * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
4997         actual for a formal that is an access parameter, create local
4998         finalization list even if the expression is not an aggregate.
4999
5000 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
5001
5002         PR ada/16213
5003         * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
5004         Diagnose properly illegal subprogram renamings that are library units.
5005
5006 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
5007
5008         PR ada/15588
5009         * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
5010         conversion rewritten as an unchecked conversion, check that original
5011         expression is a variable.
5012
5013         * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
5014         unchecked_conversion, create new node rather than rewriting in place,
5015         to preserve original construct.
5016
5017 2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5018
5019         * gigi.h (gnat_expand_body): Deleted.
5020
5021         * Make-lang.in: (trans.o): Depends on function.h.
5022
5023         * misc.c: (gnat_expand_body): Moved to here.
5024
5025         * trans.c (gnat_expand_body_1): Deleted.
5026         (gnat_expand_body): Moved from here.
5027         (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
5028         (add_stmt): Check for marked visited with global_bindings_p.
5029         (gnat_gimplify_expr, case COMPONENT_REF): New case.
5030         (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
5031
5032         * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
5033         VIEW_CONVERT_EXPR if not operation type.
5034
5035         * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
5036         fat pointer.
5037
5038         * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
5039         changes: reformatting of negation operators, removing unneeded
5040         inequality comparison with zero, converting equality comparisons with
5041         zero to negations, changing int/0/1 to bool/false/true, replace calls
5042         to gigi_abort with abort, and various other similar changes.
5043
5044 2004-07-26  Vincent Celier  <celier@gnat.com>
5045
5046         * gnatcmd.adb (GNATCmd): Add processing for new built-in command
5047         "setup".
5048
5049         * make.adb (Gnatmake): Fail when a library is not present and there is
5050         no object directory.
5051
5052         * mlib-prj.adb (Check_Library): No need to check if the library needs
5053         to be rebuilt if there is no object directory, hence no object files
5054         to build the library.
5055
5056         * opt.ads (Setup_Projects): New Boolean flag.
5057
5058         * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
5059         Location.
5060         Create directory when Kind /= "" and in "gnat setup". Report error if
5061         directory cannot be created.
5062         (Ada_Check): Create library interface copy dir if it does not exist
5063         and we are in "gnat setup".
5064         (Find_Sources): No error if in "gnat setup" and no Ada sources were
5065         found.
5066         (Language_Independent_Check): Create object directory, exec directory
5067         and/or library directory if they do not exist and we are in
5068         "gnat setup".
5069
5070         * vms_conv.ads: (Command_Type): New command Setup.
5071
5072         * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
5073
5074         * vms_data.ads: Add qualifiers/switches for new built-in command
5075         "setup".
5076
5077 2004-07-25  Richard Henderson  <rth@redhat.com>
5078
5079         * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
5080         DECL_IGNORED_P on RESULT_DECL.
5081
5082 2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
5083
5084         * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
5085         allocation and potentially overflowing update with
5086         Tailored_Exception_Information. Use the sec-stack free procedural
5087         interface to output Exception_Information instead.
5088
5089         * a-except.adb (To_Stderr): New subprogram for character, and string
5090         version moved from a-exextr to be visible from other separate units.
5091         (Tailored_Exception_Information): Remove the procedural version,
5092         previously used by the default Last_Chance_Handler and not any more.
5093         Adjust various comments.
5094
5095         * a-exexda.adb: Generalize the exception information procedural
5096         interface, to minimize the use of secondary stack and the need for
5097         local buffers when the info is to be output to stderr:
5098         (Address_Image): Removed.
5099         (Append_Info_Character): New subprogram, checking for overflows and
5100         outputing to stderr if buffer to fill is of length 0.
5101         (Append_Info_String): Output to stderr if buffer to fill is of length 0.
5102         (Append_Info_Address, Append_Info_Exception_Name,
5103         Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
5104         Append_Info_Basic_Exception_Traceback,
5105         Append_Info_Exception_Information): New subprograms.
5106         (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
5107         (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
5108         Exception_Info_Maxlength, Exception_Name_Length,
5109         Exception_Message_Length): New subprograms.
5110         (Exception_Information): Use Append_Info_Exception_Information.
5111         (Tailored_Exception_Information): Use
5112         Append_Info_Basic_Exception_Information.
5113         Export services for the default Last_Chance_Handler.
5114
5115         * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
5116         other separate units.
5117
5118 2004-07-20  Vincent Celier  <celier@gnat.com>
5119
5120         * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
5121
5122 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
5123
5124         * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
5125         emit itype references for the designated types of component types that
5126         are declared outside of the full record declaration, and that may
5127         denote a partial view of that record type.
5128
5129 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
5130
5131         PR ada/15607
5132         * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
5133         which is the designated type in an access component declaration, to the
5134         list of incomplete dependents of the parent type, to avoid elaboration
5135         issues with out-of-scope subtypes.
5136         (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
5137         full view of the parent.
5138
5139 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
5140
5141         PR ada/15610
5142         * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
5143         entities that are hidden, such as references to generic actuals
5144         outside an instance.
5145
5146 2004-07-20  Javier Miranda  <miranda@gnat.com>
5147
5148         * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
5149         support to the new notation.
5150         (Analyze_Selected_Component): Add call to Try_Object_Operation.
5151
5152 2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
5153
5154         * s-taprob.adb: Adding the elaboration code required for initializing
5155         the tasking soft links that are common to the full and the restricted
5156         run times.
5157
5158         * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
5159         restricted run time has been moved to the package
5160         System.Soft_Links.Tasking.
5161
5162         * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
5163         restricted run time has been moved to the package
5164         System.Soft_Links.Tasking.
5165
5166         * Makefile.rtl: Add entry for s-solita.o in run-time library list.
5167
5168         * s-solita.ads, s-solita.adb: New files.
5169
5170 2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5171
5172         * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
5173         Case_Statement_to_gnu): Split off from gnat_to_gnu.
5174         (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
5175         Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
5176         Exception_Handler_to_gnu_zcx): Likewise.
5177
5178 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
5179
5180         * gigi.h (builtin_function): Declare.
5181
5182 2004-07-15  Robert Dewar  <dewar@gnat.com>
5183
5184         * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
5185         reformatting
5186
5187         * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
5188         access values as an example of a warning.
5189
5190         * gnat_rm.texi: Document new attribute Has_Access_Values
5191
5192         * gnat-style.texi: Document that box comments belong on nested
5193         subprograms
5194
5195         * sem_util.ads (Has_Access_Values): Improved documentation
5196
5197         * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
5198
5199         * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
5200         (Process_Interface_Name): Call to this new procedure
5201         (Set_Extended_Import_Export_External_Name): Call to this new procedure
5202
5203         * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
5204
5205         * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
5206
5207         * einfo.ads: Minor comment typo fixed
5208
5209 2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
5210
5211         * snames.adb: Add _atcb.
5212
5213         * snames.ads: Add Name_uATCB.
5214
5215         * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
5216         (in the expanded code) when using the restricted run time.
5217
5218         * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
5219         a in parameter in order to allow ATCBs to be preallocated (in the
5220         expanded code).
5221
5222         * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
5223         order to allow ATCBs to be preallocated. In case of error, the ATCB is
5224         deallocated in System.Tasking.Stages.
5225
5226         * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
5227         order to allow ATCBs to be preallocated.
5228
5229         * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
5230         here. It was previously done in Initialize_ATCB.
5231
5232         * rtsfind.ads: Make the Ada_Task_Control_Block visible.
5233
5234         * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
5235         Restricted run time.
5236
5237         * exp_ch3.adb: When using the Restricted run time, pass the
5238         preallocated Ada_Task_Control_Block when creating a task.
5239
5240 2004-07-15  Ed Schonberg  <schonberg@gnat.com>
5241
5242         * sem_util.adb (Normalize_Actuals): If there are no actuals on a
5243         function call that is itself an actual in an enclosing call, diagnose
5244         problem here rather than assuming that resolution will catch it.
5245
5246         * sem_ch7.adb (Analyze_Package_Specification): If the specification is
5247         the local copy of a generic unit for a formal package, and the generic
5248         is a child unit, install private part of ancestors before compiling
5249         private part of spec.
5250
5251         * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
5252         use scope entities rather than tree structures, to handle properly
5253         parent units that are instances rewritten as bodies for inlining
5254         purposes.
5255
5256         * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
5257         Remove_Parents): Handle properly a parent unit that is an
5258         instantiation, when the unit has been rewritten as a body for inlining
5259         purposes.
5260
5261         * par.adb (Goto_List): Global variable to collect goto statements in a
5262         given unit, for use in detecting natural loops.
5263
5264         * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
5265         use in detecting natural loops.
5266
5267         * par-labl.adb (Find_Natural_Loops): Recognize loops create by
5268         backwards goto's, and rewrite as a infinite loop, to improve locality
5269         of temporaries.
5270
5271         * exp_util.adb (Force_Evaluation): Recognize a left-hand side
5272         subcomponent that includes an indexed reference, to prevent the
5273         generation of copies that would miscompile the desired assignment
5274         statement.
5275         (Build_Task_Image_Decls): Add a numeric suffix to
5276         generated name for string variable, to avoid spurious conflicts with
5277         the name of the type of a single protected object.
5278
5279         * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
5280         loop with an explicit exit statement, to avoid generating an
5281         out-of-range value with 'Succ leading to spurious constraint_errors
5282         when compiling with -gnatVo.
5283
5284 2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
5285
5286         * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
5287         might not be analyzed yet, even if its Etype is already set (case of an
5288         unchecked conversion built using Unchecked_Convert_To, for example).
5289         If the prefix has already been analyzed, this will be a nop anyway.
5290
5291         * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
5292         controller type, or an assignment of a record type with controlled
5293         components, copy only user data, and leave the finalization chain
5294         pointers untouched.
5295
5296 2004-07-15  Vincent Celier  <celier@gnat.com>
5297
5298         * make.adb (Collect_Arguments): Improve error message when attempting
5299         to compile a source not part of any project, when -x is not used.
5300
5301         * prj.ads: (Defined_Variable_Kind): New subtype
5302
5303         * prj-attr.adb (Register_New_Package): Two new procedures to register
5304         a package with or without its attributes.
5305         (Register_New_Attribute): Mew procedure to register a new attribute in a
5306         package.
5307         New attribute oriented subprograms: Attribute_Node_Id_Of,
5308         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
5309         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
5310         Next_Attribute.
5311         New package oriented subprograms: Package_Node_Id_Of,
5312         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
5313
5314         * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
5315         type.
5316         (Package_Node_Id): Now a private, self initialized type
5317         (Register_New_Package): New procedure to register a package with its
5318         attributes.
5319         New attribute oriented subprograms: Attribute_Node_Id_Of,
5320         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
5321         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
5322         Next_Attribute.
5323         New package oriented subprograms: Package_Node_Id_Of,
5324         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
5325
5326         * prj-dect.adb (Parse_Attribute_Declaration,
5327         Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
5328
5329         * prj-makr.adb (Make): Parse existing project file before creating
5330         other files. Fail if there was an error during parsing.
5331
5332         * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
5333         new spec of Prj.Attr.
5334
5335         * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
5336         to new spec of Prj.Attr.
5337
5338 2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5339
5340         * utils2.c: Fix typo in comment.
5341
5342 2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5343
5344         * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
5345         * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
5346
5347 2004-07-14  Andreas Schwab  <schwab@suse.de>
5348
5349         * trans.c (gnat_init_stmt_group): Remove duplicate definition.
5350
5351 2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5352
5353         * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
5354         object type.
5355         (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
5356         TYPE_STUB_DECL.
5357
5358         * misc.c (gnat_types_compatible_p): New function.
5359         (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
5360         (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
5361
5362         * trans.c (gigi): Move processing of main N_Compilation_Unit here.
5363         (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
5364         (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
5365         (mark_visited): Don't mark dummy type.
5366         (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
5367         parameter, we must remove any LJM building from GNU_NAME.
5368         (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
5369         (pos_to_constructor): Use int_const_binop.
5370         (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
5371         PARM_DECL.
5372
5373         * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
5374         (gnat_pushlevel): Set TREE_USE on BLOCK node.
5375         (gnat_install_builtins): Add __builtin_memset.
5376
5377 2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
5378
5379         * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
5380         for a renaming, stabilize the initialization expression if we are at a
5381         local level.  At the local level, uses of the renaming may be performed
5382         by a direct dereference of the initializing expression, and we don't
5383         want possible variables there to be evaluated for every use.
5384
5385         * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
5386         Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
5387         them on the way.  Account for the fact that we may introduce side
5388         effects in the process.
5389
5390 2004-07-13  Richard Henderson  <rth@redhat.com>
5391
5392         * misc.c (default_pass_by_ref): Use pass_by_reference.
5393
5394 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
5395
5396         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
5397         LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
5398
5399 2004-07-08  Richard Henderson  <rth@redhat.com>
5400
5401         * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
5402         commentary.
5403
5404 2004-07-06  Vincent Celier  <celier@gnat.com>
5405
5406         * vms_conv.ads: Minor reformatting.
5407         Alphabetical order for enumerated values of type Command_Type, to have
5408         the command in alphabetical order for the usage.
5409
5410         * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
5411         the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
5412
5413         * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
5414
5415         * makegpr.adb (Global_Archive_Exists): New global Boolean variable
5416         (Add_Archive_Path): Only add the global archive if there is one.
5417         (Build_Global_Archive): Set Global_Archive_Exists depending if there is
5418         or not any object file to put in the global archive, and don't build
5419         a global archive if there is none.
5420         (X_Switches): New table
5421         (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
5422         in the X_Switches table, if any.
5423         (Initialize): Make sure the X_Switches table is empty
5424         (Scan_Arg): Record -X switches in table X_Switches
5425
5426         * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
5427
5428         * make.adb: Minor comment fix
5429
5430         * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
5431         invoked with directory information, add the directory in front of the
5432         path.
5433
5434         * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
5435         invoked with directory information, add the directory in front of the
5436         path.
5437
5438         * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
5439         when Keep_Temporary_Files is False.
5440         (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
5441         directory information, add the directory in front of the path.
5442         When not on VMS, handle new switch -dn before the command to set
5443         Keep_Temporary_Files to True.
5444         (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
5445         everywhere.
5446
5447         * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
5448         invoked with directory information, add the directory in front of the
5449         path.
5450
5451 2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
5452
5453         * snames.ads, snames.adb (Name_Stub): New name for the distributed
5454         systems annex.
5455
5456         * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
5457         New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
5458
5459         * g-socket.adb (To_Timeval): Fix incorrect conversion of
5460         Selector_Duration to Timeval for the case of 0.0.
5461
5462         * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
5463         documentation from Evolve_And_Then.
5464
5465 2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
5466
5467         * s-taprop-tru64.adb, s-taprop-os2.adb,
5468         s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
5469
5470 2004-07-06  Robert Dewar  <dewar@gnat.com>
5471
5472         * s-osinte-hpux.ads, s-osinte-freebsd.ads,
5473         s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
5474         s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
5475         s-interr-sigaction.adb, s-taprop-irix-athread.adb,
5476         s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
5477         s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
5478         s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
5479         s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
5480         a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
5481         a-tags.ads, bindgen.ads, checks.adb, checks.adb,
5482         csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
5483         exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
5484         g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
5485         i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
5486         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
5487         sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
5488         sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
5489         s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
5490         s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
5491         s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
5492         vms_data.ads: Minor reformatting,
5493         Fix bad box comment format.
5494
5495         * gnat_rm.texi: Fix minor grammatical error
5496
5497         * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
5498
5499         * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
5500         more cases of discriminated records to be recognized as not needing a
5501         secondary stack.
5502         (Has_Access_Values): New function.
5503
5504         * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
5505
5506         * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
5507         Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
5508         with LRM terminology).
5509         Change terminology in comments primitive type => elementary type.
5510
5511 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
5512
5513         PR ada/15602
5514         * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
5515         parameters do not impose any requirements on the presence of a body.
5516
5517 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
5518
5519         PR ada/15593
5520         * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
5521         compilation unit and is in an open scope at the point of instantiation,
5522         assume that a body may be present later.
5523
5524 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
5525
5526         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
5527         Improve error message when specified size is not supported.
5528
5529         * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
5530         is never a primitive operation.
5531
5532 2004-07-05  Andreas Schwab  <schwab@suse.de>
5533
5534         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
5535         RECORD_OR_UNION_CHECK.
5536         (TYPE_CONTAINS_TEMPLATE_P): Likewise.
5537
5538 2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
5539
5540         * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
5541         dependency on xgnatugn, instead build it via a submake.
5542         (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
5543
5544 2004-07-04  Richard Henderson  <rth@redhat.com>
5545
5546         * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
5547
5548 2004-07-01  Richard Henderson  <rth@redhat.com>
5549
5550         * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
5551         * utils.c (max_size): Likewise.
5552
5553 2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5554
5555         * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
5556         and rest_of_type_compilation; add arg to create_*_decl.
5557         (annotate_decl_with_node): Deleted.
5558         (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
5559         * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
5560         (get_current_block_context, gnat_pushdecl): New declarations.
5561         (gnat_init_stmt_group): Likewise.
5562         (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
5563         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
5564         (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
5565         (gnat_init): Call gnat_init_stmt_group.
5566         * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
5567         (gnu_pending_elaboration_list): Deleted.
5568         (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
5569         (gigi): Rearrange initialization calls and move some to last above.
5570         (gnat_to_gnu): If statement and not in procedure, go into elab proc.
5571         Delete calls to add_decl_expr; add arg to create_*_decl.
5572         (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
5573         (gnat_to_gnu, case N_Subprogram_Body): Move some code to
5574         begin_subprog_body and call it.
5575         Don't push and pop ggc context.
5576         (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
5577         (add_stmt): Remove handling of DECL_EXPR from here.
5578         If not in function, mark visited.
5579         (add_decl_expr): Put global at top level.
5580         Check for cases of DECL_INITIAL we have to handle here.
5581         (process_type): Add extra arg to create_type_decl.
5582         (build_unit_elab): Rework to just gimplify.
5583         * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
5584         (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
5585         (get_pending_elaborations, pending_elaborations_p): Likewise.
5586         (push_pending_elaborations, pop_pending_elaborations): Likewise.
5587         (get_elaboration_location, insert_elaboration_list): Likewise.
5588         (gnat_binding_level): Renamed from ada_binding_level.
5589         (init_gnat_to_gnu): Don't clear pending_elaborations.
5590         (global_bindings_p): Treat as global if no current_binding_level.
5591         (set_current_block_context): New function.
5592         (gnat_pushdecl): Renamed from pushdecl; major rework.
5593         All callers changed.
5594         (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
5595         (finish_record_type): Call call pushdecl for stub decl.
5596         (function_nesting_depth): Deleted.
5597         (begin_subprog_body): Delete obsolete code.
5598         * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
5599
5600 2004-06-28  Robert Dewar  <dewar@gnat.com>
5601
5602         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
5603         mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
5604         mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
5605         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
5606         a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
5607
5608         * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
5609         deal with problem of inefficient slices on machines with strict
5610         alignment, when the slice is a component of a composite.
5611
5612         * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
5613         machines, we need the check there as well.
5614
5615 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
5616
5617         * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
5618         determine safe copying direction for overlapping slice assignments
5619         when component is controlled.
5620
5621         * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
5622         formal derived type in the actual for a formal package are visible in
5623         the enclosing instance.
5624
5625 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
5626
5627         PR ada/15600
5628         * sem_util.adb (Trace_Components): Diagnose properly an illegal
5629         circularity involving a private type whose completion includes a
5630         self-referential component.
5631         (Enter_Name): Use Is_Inherited_Operation to distinguish a source
5632         renaming or an instantiation from an implicit derived operation.
5633
5634 2004-06-28  Pascal Obry  <obry@gnat.com>
5635
5636         * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
5637         DLL.
5638         (Library_File_Name_For): Idem.
5639
5640 2004-06-28  Matthew Gingell  <gingell@gnat.com>
5641
5642         * g-traceb.ads: Add explanatory note on the format of addresses
5643         expected by addr2line.
5644
5645 2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
5646
5647         * Makefile.in: Force debugging information on s-tasdeb.adb,
5648         a-except.adb and s-assert.adb needed by the debugger.
5649
5650 2004-06-28  Vincent Celier  <celier@gnat.com>
5651
5652         * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
5653         Need_To_Build_Lib.
5654         (Gnatmake): Ditto.
5655
5656         * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
5657
5658         * prj.adb: Minor reformatting
5659         (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
5660
5661         * prj.ads: Comment updates
5662         Minor reformatting
5663         (Project_Data): Change Flag1 to Need_To_Build_Lib.
5664         Remove Flag2: not used.
5665
5666         * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
5667         declaration.
5668
5669         * gnat_ugn.texi: Put a "null;" declaration in one project file example
5670
5671         * gnat_rm.texi: Document Empty declarations "null;".
5672
5673         * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
5674         front of the linker options.
5675         (Link_Foreign): Put the global archives and the libraries in front of
5676         the linker options.
5677
5678 2004-06-28  Javier Miranda  <miranda@gnat.com>
5679
5680         * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
5681         (RTU_Loaded): Code cleanup
5682         (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
5683         withed predefined units.
5684
5685         * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
5686         explicitly withed predefined units.
5687         Fix typo in comment
5688
5689         * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
5690         explicitly withed predefined units.
5691
5692 2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5693
5694         * ada-tree.def (DECL_STMT): Deleted.
5695         * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
5696         (DECL_STMT_VAR): Deleted.
5697         * decl.c: add_decl_stmt now add_decl_expr.
5698         * gigi.h: Likewise.
5699         * trans.c: Likewise.
5700         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
5701         (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
5702         (add_stmt): Only handle padded type here.
5703         (add_stmt_with_node): Allow gnat_node to not be present.
5704         (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
5705         (gnat_gimplify_stmt, case DECL_STMT): Deleted.
5706         (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
5707         make a SAVE_EXPR for the entire fat pointer.
5708         * utils.c (pushdecl): Walk a DECL_EXPR in global case.
5709         (create_index_type): Make a DECL_EXPR.
5710         (end_subprog_body): Don't call allocate_struct_function here but
5711         do clear cfun.
5712
5713 2004-06-25  Pascal Obry  <obry@gnat.com>
5714
5715         * makegpr.adb (Build_Library): Remove parameter Lib_Address and
5716         Relocatable from Build_Dynamic_Library call.
5717
5718         * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
5719         Relocatable are now synonym.
5720
5721         * Makefile.in: Use s-parame-mingw.adb on MingW platform.
5722
5723         * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
5724         Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
5725         call.
5726
5727         * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
5728         Lib_Address and Relocatable.
5729         (Default_DLL_Address): Removed.
5730
5731         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
5732         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
5733         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
5734         (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
5735         (Default_DLL_Address): Removed.
5736
5737         * mlib-tgt-mingw.adb: Ditto.
5738         (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
5739
5740         * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
5741         the initial thread stack size.
5742
5743         * a-strmap.ads: Move package L to private part as it is not used in
5744         the spec. Found while reading code.
5745
5746 2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
5747
5748         * tracebak.c: Introduce support for a GCC infrastructure based
5749         implementation of __gnat_backtrace.
5750
5751         * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
5752         any more. Use accessors instead. This eases maintenance and relaxes
5753         some alignment constraints.
5754         (_GNAT_Exception structure): Remove the Ada specific fields
5755         (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
5756         a-exexpr.adb.
5757         (is_handled_by, __gnat_eh_personality): Replace component references to
5758         exception structure by use of the new accessors.
5759
5760         * init.c (__gnat_initialize): Adjust comments to match the just
5761         reverted meaning of the -static link-time option.
5762
5763         * adaint.c (convert_addresses): Arrange not to define a stub for
5764         mips-irix any more, as we now want to rely on a real version from a
5765         recent libaddr2line.
5766
5767         * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
5768         the personality routine can use them and not have to rely on a C
5769         counterpart of the record anymore. This simplifies maintenance and
5770         relaxes the constraint of having Standard'Maximum_Alignment match
5771         BIGGEST_ALIGNMENT.
5772         Update comments, and add a section on the common header alignment issue.
5773
5774 2004-06-25  Geert Bosch  <bosch@gnat.com>
5775
5776         * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
5777         polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
5778
5779 2004-06-25  Robert Dewar  <dewar@gnat.com>
5780
5781         * gnat_rm.texi: Fix section on component clauses to indicate that the
5782         restriction on byte boundary placement still applies for bit packed
5783         arrays.
5784         Add comment on stack usage from Initialize_Scalars
5785
5786         * gnat_ugn.texi: Add documentation for -gnatyLnnn
5787
5788         * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
5789         limiting nesting level.
5790
5791         * usage.adb: Add line for -gnatyLnnn switch
5792
5793         * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
5794         sem_ch13.adb, exp_aggr.adb: Minor reformatting
5795
5796         * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
5797         type as well as on the subtype. This corrects a problem in freeze in
5798         setting alignments of atomic types.
5799
5800         * sem_eval.ads: Minor comment typo fixed
5801
5802         * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
5803         level.  Minor reformatting.
5804
5805         * fname.adb (Is_Predefined_File_Name): Require a letter after the
5806         minus sign. This means that file names like a--b.adb will not be
5807         considered predefined.
5808
5809         * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
5810         record Test new flag and give diagnostic for bad component clause.
5811         (Freeze_Entity): Set alignment of array from component alignment in
5812         cases where this is safe to do.
5813
5814         * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
5815         arrays.
5816
5817         * cstand.adb: (Create_Standard): Set alignment of String to 1
5818
5819         * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
5820
5821         * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
5822         code in the common constrained array cases.
5823
5824         * a-storio.adb: Change implementation to avoid possible alignment
5825         problems on machines requiring strict alignment (data should be moved
5826         as type Buffer, not type Elmt).
5827
5828         * checks.adb (Apply_Array_Size_Check): Improve these checks by
5829         killing the overflow checks which we really do not need (64-bits is
5830         enough).
5831
5832 2004-06-25  Vincent Celier  <celier@gnat.com>
5833
5834         * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
5835         (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
5836         inconditionally for the main project.
5837         (Recursive_Add_Archives.Add_Archive_Path): New procedure
5838         (Link_Executables.Check_Time_Stamps): New procedure
5839         (Link_Executables.Link_Foreign): New procedure
5840         Changes made to reduce nesting level of this package
5841         (Check): New procedure
5842         (Add_Switches): When not in quiet output, check that a switch is not
5843         the concatenation of several valid switches. If it is, issue a warning.
5844         (Build_Global_Archive): If the global archive is rebuilt, linking need
5845         to be done.
5846         (Compile_Sources): Rebuilding a library archive does not imply
5847         rebuilding the global archive.
5848         (Build_Global_Archive): New procedure
5849         (Build_Library): New name for Build_Archive, now only for library
5850         project
5851         (Check_Archive_Builder): New procedure
5852         (Create_Global_Archive_Dependency_File): New procedure
5853         (Gprmake): Call Build_Global_Archive before linking
5854         * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
5855         throughout.
5856         (Scan_Arg): Display the Copyright notice when -v is used
5857
5858         * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
5859         for gnatls.
5860
5861         * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
5862         COMPILE.
5863         Add new GNAT LIST qualifier /FILES=
5864         Added qualifier /DIRECTORY= to GNAT METRIC
5865         Added qualifier /FILES= to GNAT METRIC
5866         Added qualifier /FILES to GNAT PRETTY
5867
5868         * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
5869         to take into account both versions of the switch.
5870
5871         * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
5872         always be the last switch to the gcc driver. Disable switch storing so
5873         that switches automatically added by the gcc driver are not put in the
5874         ALI file.
5875
5876         * prj.adb (Project_Empty): Take into account changes in components of
5877         Project_Data.
5878
5879         * prj.ads (Languages_Processed): New enumaration value All_Languages.
5880
5881         * prj.ads (Project_Data): Remove component Lib_Elaboration: never
5882         used. Split Boolean component Ada_Sources_Present in two Boolean
5883         components Ada_Sources_Present and Other_Sources_Present.
5884         Minor reformatting
5885
5886         * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
5887         instead of Sources_Present.
5888         (Set_Ada_Paths.Add.Recursive_Add): Ditto
5889
5890         * prj-nmsc.adb: Minor reformatting
5891         (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
5892         (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
5893         Check_Ada_Naming_Scheme.
5894         Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
5895         throughout.
5896
5897         * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
5898         In_Limited.
5899         Make sure that all cycles where there is at least one "limited with"
5900         are detected.
5901         (Parse_Single_Project): New Boolean parameter In_Limited
5902
5903         * prj-proc.adb (Recursive_Check): When Process_Languages is
5904         All_Languages, call first Prj.Nmsc.Ada_Check, then
5905         Prj.Nmsc.Other_Languages_Check.
5906
5907         * prj-proc.adb (Process): Use Ada_Sources_Present or
5908         Other_Sources_Present (instead of Sources_Present) depending on
5909         Process_Languages.
5910
5911         * lang-specs.h: Keep -g and -m switches in the same order, and as the
5912         last switches.
5913
5914         * lib.adb (Switch_Storing_Enabled): New global Boolean flag
5915         (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
5916         False.
5917         (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
5918         False.
5919
5920         * lib.ads (Disable_Switch_Storing): New procedure.
5921
5922         * make.adb: Modifications to reduce nesting level of this package.
5923         (Check_Standard_Library): New procedure
5924         (Gnatmake.Check_Mains): New procedure
5925         (Gnatmake.Create_Binder_Mapping_File): New procedure
5926         (Compile_Sources.Compile): Add switch -gnatez as the last option
5927         (Display): Never display -gnatez
5928
5929         * Makefile.generic:
5930         When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
5931
5932         * gnatcmd.adb (Check_Project): New function
5933         (Process_Link): New procedure to reduce nesting depth
5934         (Check_Files): New procedure to reduce the nesting depth.
5935         For GNAT METRIC, include the inherited sources in extending projects.
5936         (GNATCmd): When GNAT LS is invoked with a project file and no files,
5937         add the list of files from the sources of the project file. If this list
5938         is too long, put it in a temp text files and use switch -files=
5939         (Delete_Temp_Config_Files): Delete the temp text file that contains
5940         a list of source for gnatpp or gnatmetric, if one has been created.
5941         (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
5942         in the project file is too large, create a temporary text file that
5943         list them and pass it to the tool with "-files=<temp text file>".
5944         (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
5945
5946         * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
5947         generated file is in not in Ada.
5948
5949         * gnatls.adb: Remove all parameters And_Save that are no longer used.
5950         (Scan_Ls_Arg): Add processing for -files=
5951         (Usage): Add line for -files=
5952
5953         * g-os_lib.adb (On_Windows): New global constant Boolean flag
5954         (Normalize_Pathname): When on Windows and the path starts with a
5955         directory separator, make sure that the resulting path will start with
5956         a drive letter.
5957
5958         * clean.adb (Clean_Archive): New procedure
5959         (Clean_Project): When there is non-Ada code, delete the global archive,
5960         the archive dependency files, the object files and their dependency
5961         files, if they exist.
5962         (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
5963
5964 2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
5965
5966         * sinfo.ads: Fix typo in comment.
5967
5968         * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
5969         the TSS for remote access-to-subprogram types, since these TSS are
5970         always present once the type has been analyzed.
5971         (RAS_E_Dereference): Same.
5972
5973         * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
5974         reference raises Bad_Attribute, mark the reference as analyzed so the
5975         node (and any children resulting from rewrites that could have occurred
5976         during the analysis that ultimately failed) is not analyzed again.
5977
5978         * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
5979
5980         * exp_dist.adb: Minor comment fix.
5981
5982         * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
5983         type is an anonymous access type, no unchecked deallocation of the
5984         allocated object can occur. If the object is controlled, attach it with
5985         a count of 1. This allows attachment to the Global_Final_List, if
5986         no other relevant list is available.
5987         (Get_Allocator_Final_List): For an anonymous access type that is
5988         the type of a discriminant or record component, the corresponding
5989         finalisation list is the one of the scope of the type.
5990
5991 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
5992
5993         * sem_ch3.adb (Replace_Type): When computing the signature of an
5994         inherited subprogram, use the first subtype if the derived type
5995         declaration has no constraint.
5996
5997         * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
5998         before applying previous optimization. Minor code cleanup.
5999
6000         * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
6001         placed at the beginning of an unpacked record without explicit
6002         alignment, a slice of it will be aligned and does not need a copy when
6003         used as an actual.
6004
6005 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
6006
6007         PR ada/15591
6008         PR ada/15592
6009         * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
6010         reference is written with expressions mimicking parameters.
6011
6012 2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
6013
6014         PR ada/15589
6015         * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
6016         STEP 2a. The constraints of a full type declaration of a derived record
6017         type are checked for conformance with those declared in the
6018         corresponding private extension declaration. The message
6019         "not conformant with previous declaration" is emitted if an error is
6020         detected.
6021
6022 2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
6023
6024         * g-traceb.ads: Document the need for -E binder switch in the spec.
6025
6026         * g-trasym.ads: Document the need for -E binder switch in the spec.
6027
6028 2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
6029
6030         * sem_prag.adb: Add handling of pragma Detect_Blocking.
6031
6032         * snames.h, snames.ads, snames.adb: Add entry for pragma
6033         Detect_Blocking.
6034
6035         * s-rident.ads: Change reference to pragma Detect_Blocking.
6036
6037         * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
6038         system.ads.
6039
6040         * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
6041         to indicate whether pragma Detect_Blocking is active.
6042
6043         * par-prag.adb: Add entry for pragma Detect_Blocking.
6044
6045         * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
6046         of not handling WITH.
6047         Note that this replaces the previous update which was incorrect.
6048
6049 2004-06-25  Javier Miranda  <miranda@gnat.com>
6050
6051         * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
6052         use-clauses to have a clean environment.
6053
6054         * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
6055         the installation of the use-clauses to stablish a clean environment in
6056         case of compilation of a separate unit; otherwise the call to
6057         use_one_package is protected by the barrier Applicable_Use.
6058
6059         * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
6060         the installation of the use-clauses to stablish a clean environment in
6061         case of compilation of a separate unit.
6062         (End_Use_Clauses): Minor comment cleanup.
6063
6064 2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
6065
6066         * gnat_ugn.texi: Add description of the gnatpp 'files' switch
6067
6068 2004-06-23  Richard Henderson  <rth@redhat.com>
6069
6070         * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
6071
6072 2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6073
6074         * decl.c (elaborate_expression, elaborate_expression_1): Arguments
6075         now bool instead of int.
6076         (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
6077         * trans.c (gnu_switch_label_stack): New function.
6078         (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
6079         elaboration of renamed entity returns.
6080         (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
6081         (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
6082         (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
6083         (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
6084         DECL_SIZE_UNIT and simplify variable-sized case.
6085         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
6086         Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
6087         (gnat_stabilize_reference): Add arg to COMPONENT_REF.
6088         (build_unit_elab): Disable for now.
6089         * utils.c (mark_visited): New function.
6090         (pushdecl): Walk tree to call it for global decl.
6091         (update_pointer_to): Update all variants of pointer and ref types.
6092         Add arg to COMPONENT_REF.
6093         (convert): Likewise.
6094         Move check for converting between variants lower down.
6095         * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
6096         (build_allocator): Don't force type of MODIFY_EXPR.
6097         (gnat_mark_addressable, case VAR_DECL): Unconditionally call
6098         put_var_into_stack.
6099
6100 2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6101
6102         * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
6103         * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
6104         * decl.c (gnat_to_gnu_entity): Also set force_global for imported
6105         subprograms.
6106         * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
6107         all callers changed.
6108         (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
6109         the way that EXIT_STMT finds the loop label.
6110         (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
6111         (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
6112         (add_stmt): Use annotate_with_locus insted of setting directly.
6113         (pos_to_construct): Set TREE_PURPOSE of each entry to index.
6114         (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
6115         * utils.c (gnat_install_builtins): Install __builtin_memcmp.
6116         (build_vms_descriptor): Add extra args to ARRAY_REF.
6117         (convert): Use VIEW_CONVERT_EXPR between aggregate types.
6118         * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
6119         New cases.
6120         (build_binary_op): Don't make explicit CONVERT_EXPR.
6121         Add extra rgs to ARRAY_REF.
6122
6123 2004-06-14  Pascal Obry  <obry@gnat.com>
6124
6125         * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
6126         Windows.  Fix minor typo.
6127
6128         * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
6129         which is now supported on Windows. With this implementation using the
6130         Library Project feature is no different on Windows than on UNIX.
6131
6132 2004-06-14  Vincent Celier  <celier@gnat.com>
6133
6134         * makegpr.adb (Compile_Sources): Nothing to do when there are no
6135         non-Ada sources.
6136
6137         * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
6138
6139         * prj-part.adb (Parse_Single_Project): When a duplicate project name is
6140         found, show the project name and the path of the previously parsed
6141         project file.
6142
6143 2004-06-14  Ed Schonberg  <schonberg@gnat.com>
6144
6145         * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
6146         array, avoid copying the actual before the call.
6147
6148 2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
6149
6150         * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
6151         Instead, allocate memory on worst-case alignment assumptions, and then
6152         return an aligned address within the allocated zone.
6153
6154 2004-06-14  Robert Dewar  <dewar@gnat.com>
6155
6156         * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
6157         elab entities in predefined units in No_Run_Time_Mode.
6158         (Gen_Adainit_C): Same fix
6159         (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
6160         units in No_Run_Time_Mode
6161         (Gen_Elab_Calls_C): Same fix
6162
6163         * symbols-vms-alpha.adb: Minor reformatting
6164
6165         * g-debpoo.ads: Minor reformatting
6166
6167         * lib.adb (In_Same_Extended_Unit): Version working on node id's
6168
6169         * lib.ads (In_Same_Extended_Unit): Version working on node id's
6170
6171         * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
6172         working on nodes.
6173
6174         * make.adb: Minor reformatting
6175
6176         * par-ch12.adb: Minor reformatting
6177
6178         * par-prag.adb: Add dummy entry for pragma Profile_Warnings
6179
6180         * prj-strt.adb: Minor reformatting
6181
6182         * restrict.ads, restrict.adb: Redo handling of profile restrictions to
6183         be more general.
6184
6185         * sem_attr.adb: Minor reformatting
6186
6187         * sem_ch7.adb: Minor reformatting
6188
6189         * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
6190         for type in the same unit as the object declaration.
6191
6192         * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
6193         static string expressions and not just string literals.
6194         Minor reformatting
6195         (Set_Warning): Reset restriction warning flag for restriction pragma
6196         Implement pragma Profile_Warnings
6197         Implement pragma Profile (Restricted)
6198         Give obolescent messages for old restrictions and pragmas
6199
6200         * snames.h, snames.ads, snames.adb: Add new entry for pragma
6201         Profile_Warnings.
6202
6203         * s-rident.ads: Add declarations for restrictions required by profile
6204         Restricted and profile Ravenscar.
6205
6206         * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
6207
6208         * gnat_ugn.texi: Correct some missing entries in the list of GNAT
6209         configuration pragmas.
6210
6211 2004-06-11  Vincent Celier  <celier@gnat.com>
6212
6213         * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
6214         gnatsym, when symbol policy is Restricted.
6215
6216         * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
6217         gnatsym, when symbol policy is Restricted.
6218
6219         * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
6220         read the symbol file.
6221         (Finalize): Fail in symbol policy Restricted if a symbol in the original
6222         symbol file is not in the object files. Do not create a new symbol file
6223         when symbol policy is Restricted.
6224
6225         * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
6226         in Scng.
6227
6228         * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
6229         Restricted.
6230         (Usage): Line for new switch -R
6231
6232         * make.adb (Initialize): When the platform is not VMS, add the
6233         directory where gnatmake is invoked in the front of the path, if
6234         gnatmake is invoked with directory information.  Change the Scan_Args
6235         while loop to a for loop.
6236         (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
6237         if Depth is equal or greater than the proposed depth, there is nothing
6238         to do.
6239         (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
6240         instead of 0.
6241
6242         * prj.ads: Add new symbol policy Restricted.
6243
6244         * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
6245         with the new parameters Check_All_Labels and Case_Location.
6246
6247         * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
6248         (Library_Symbol_File needs to be defined).
6249
6250         * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
6251         and Case_Location If Check_All_Labels is True, check that all values of
6252         the string type are used, and output warning(s) if they are not.
6253
6254         * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
6255         and Case_Location.
6256
6257         * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
6258
6259         * gnat_ugn.texi: Update documentation about the library directory in
6260         Library Projects.
6261
6262         * makegpr.adb (Display_Command): In verbose mode, also display the
6263         value of the CPATH env var, when the compiler is gcc.
6264         (Initialize): Change the Scan_Args while loop to a for loop
6265         (Compile_Individual_Sources): Change directory to object directory
6266         before compilations.
6267
6268         * symbols.ads: New symbol policy Restricted.
6269
6270 2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
6271
6272         * a-except.adb (Raise_After_Setup family): Remove. The responsibility
6273         is now taken care of internally in the Exception_Propagation package
6274         and does not require clients assistance any more.
6275
6276         * a-exexpr.adb (Is_Setup_And_Not_Propagated,
6277         Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
6278         functions. Helpers to maintain a predicate required in the handling of
6279         occurrence transfer between tasks.
6280         This is now handled internally and does not require clients assistance
6281         for the setup/propagate separation anymore.
6282         (Setup_Exception, Propagate_Exception): Simplify the Private_Data
6283         allocation strategy, handle the Setup_And_Not_Propagated predicate and
6284         document.
6285
6286         * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
6287         raise_after_setup, now that everything is handled internally within the
6288         setup/propagation engine.
6289
6290 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
6291
6292         * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
6293         Add additional conditions for the case of an actual being a simple
6294         name or literal. Improve inlining by preventing the generation
6295         of temporaries with a short lifetime (one use).
6296
6297 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
6298
6299         PR ada/15587
6300
6301         * einfo.ads: Minor comment updates for Has_Completion and
6302         E_Constant list of flags.
6303
6304         * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
6305         and constant redeclarations now set the Has_Completion flag of their
6306         defining identifiers.
6307
6308         * sem_ch7.adb (Analyze_Package_Spec): Add procedure
6309         Inspect_Deferred_Constant_Completion.
6310         Used to detect private deferred constants that have not been completed
6311         either by a constant redeclaration or pragma Import. Emits error message
6312         "constant declaration requires initialization expression".
6313
6314         * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
6315         completes a deferred constant.
6316
6317 2004-06-11  Geert Bosch  <bosch@gnat.com>
6318
6319         * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
6320
6321         * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
6322         calculating exponent for scaling denormal numbers.
6323         (Leading_Part): Properly raise Constraint_Error for zero or negative
6324         Adjustment.
6325         (Remainder): Properly raise Constraint_Error for zero divisor.
6326
6327 2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
6328
6329         * sem_util.adb: Minor reformatting.
6330
6331         * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
6332         dereference when accessing the entry parameter record.
6333         (Check_Array_Type): Always check for possible implicit dereference.
6334         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
6335         Abort if a pointer is still present (denoting that an implicit
6336         dereference was left in the tree by the front-end).
6337
6338         * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
6339         dereference when accessing the entry parameter record.
6340         (Check_Array_Type): Always check for possible implicit dereference.
6341         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
6342         Abort if a pointer is still present (denoting that an implicit
6343         dereference was left in the tree by the front-end).
6344
6345 2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
6346
6347         * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
6348         message, like the compiler itself does. Easier to parse the output.
6349
6350         * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
6351
6352         * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
6353         be base names, and not includes directories.
6354
6355 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
6356
6357         * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
6358         so that dependencies are properly taken into account by make.
6359
6360 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
6361
6362         PR ada/15622
6363         * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
6364         exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
6365
6366 2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
6367
6368         * Makefile.in (install-gnatlib): install target-specific run-time files.
6369
6370         * Make-lang.in: Remove obsolete targets.
6371
6372 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
6373
6374         * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
6375         specification, to catch misuses of program unit names.
6376
6377         * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
6378         superfluous conversions in an instance.
6379
6380 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
6381
6382         PR ada/15403
6383
6384         * sem_ch12.adb (Save_References): If operator node has been folded to
6385         enumeration literal, associated_node must be discarded.
6386
6387 2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
6388
6389         * s-stchop-vxworks.adb: Add required pragma Convention to
6390         Task_Descriptor because it is updated by a C function.
6391
6392 2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
6393
6394         PR ada/15568
6395
6396         * Makefile.in: Remove target specific SO_OPT on IRIX
6397
6398 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6399
6400         * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
6401         (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
6402         (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
6403         (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
6404         (STMT_STMT, USE_STMT): New statement codes.
6405         (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
6406         * ada-tree.h: Reflect above changes.
6407         (struct tree_loop_id): Deleted.
6408         (union lang_tree_node, struct lang_decl, struct lang_type):
6409         Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
6410         and DECL_LANGUAGE_SPECIFIC to reflect these changes.
6411         (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
6412         (IS_ADA_STMT): New macro.
6413         * decl.c (annotate_decl_with_node): New function.
6414         (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
6415         (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
6416         Call add_stmt_with_node to do needed assignments.
6417         Add call to update setjmp buffer directly, not via EXPR_STMT.
6418         (maybe_variable): Argment GNAT_NODE deleted.
6419         * gigi.h (maybe_variable): Likewise.
6420         (make_transform, add_stmt_with_node, set_block_for_group): New.
6421         (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
6422         (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
6423         (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
6424         (set_lineno, set_lineno_from_sloc): Likewise.
6425         (record_code_position, insert_code_for): Likewise.
6426         (gnat_poplevel): Now returns void.
6427         (end_subprog_body): Now takes argument.
6428         * misc.c (cgraph.h, tree-inline.h): New includes.
6429         (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
6430         (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
6431         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
6432         (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
6433         (gnat_parse_file): Don't set immediate_size_expand.
6434         Call cgraph functions.
6435         (gnat_expand_expr): Remove most cases.
6436         (record_code_position, insert_code_for): Remove from here.
6437         * trans.c (toplev.h, tree-gimple.h): Now included.
6438         (discard_file_names): Deleted.
6439         (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
6440         (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
6441         (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
6442         (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
6443         (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
6444         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
6445         (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
6446         (set_block_for_group, add_stmt_list): Likewise.
6447         (start_stmt_group): Renamed from start_block_stmt.
6448         (end_stmt_group): Likewise, from end_block_stmt.
6449         (build_stmt_group): Likewise, from build_block_stmt, also add arg.
6450         (gigi): Don't set discard_file_names or call set_lineno.
6451         Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
6452         (tree_transform): Deleted, now renamed to be gnat_to_gnu.
6453         Numerous changes throughout to reflect new names and complete
6454         function-at-a-time implementation.
6455         (gnat_expand_stmt): Delete or comment out all cases.
6456         (process_inlined_subprograms): Use add_stmt.
6457         (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
6458         call set_lineno; also remove unneeded block handling.
6459         (process_type): Remove unneeded block handling.
6460         (build_unit_elab): Remove calls to deleted functions.
6461         * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
6462         (tree-dump.h): Likewise.
6463         (struct ada_binding_level): Add field jmpbuf_decl.
6464         (gnat_define_builtin, gnat_install_builtins): New.
6465         (gnat_gimplify_function, gnat_finalize): Likewise.
6466         (gnat_poplevel): No longer return BLOCK, set it instead.
6467         Remove code dealing with nested functions.
6468         (gnat_init_decl_processing): Also set size_type_node.
6469         Call gnat_install_builtins.
6470         (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
6471         (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
6472         Remove special-case for "main".
6473         (end_subprog_body): Add arg and rework for tree-ssa.
6474         (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
6475         Add case for BOOLEAN_TYPE.
6476         * utils2.c (rtl.h): Now include.
6477         (build_call_raise): Test Debug_Flag_NN directly.
6478         (build_call_alloc_dealloc): Don't use local stack allocation for now.
6479         (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
6480         (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
6481
6482 2004-06-07  Robert Dewar  <dewar@gnat.com>
6483
6484         * a-direct.ads, einfo.ads: Minor comment updates
6485
6486         * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
6487         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
6488         s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
6489         s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
6490         s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
6491
6492         * s-interr-sigaction.adb: Remove unreferenced variable
6493         (Attached_Interrupts).  Minor reformatting.
6494         Avoid use of variable I (replace by J).
6495
6496         * par-ch10.adb: Fix text of one error message
6497
6498         * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
6499         exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
6500         exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
6501         opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
6502         par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
6503         par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
6504         sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
6505         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
6506         sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
6507         sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
6508         snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
6509         2005 support.
6510
6511 2004-06-07  Doug Rupp  <rupp@gnat.com>
6512
6513         * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
6514
6515         * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
6516
6517         * mlib-tgt-vms-ia64.adb: New file.
6518
6519         * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
6520         Add mlib-tgt-vms-ia64.adb
6521         Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
6522         Move to alpha specific ifeq section.
6523         Add VMS specific versions of symbols.adb
6524         Renaming of 5q vms files.
6525
6526         * 5qsystem.ads renamed to system-vms_64.ads.
6527
6528 2004-06-07  Vincent Celier  <celier@gnat.com>
6529
6530         * a-calend.ads: Add a GNAT Note comment after function Time_Of to
6531         explain that when a time of day corresponding to the non existing hour
6532         on the day switching to DST is specified, Split may return a different
6533         value for Seconds.
6534
6535         * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
6536         to GNAT PRETTY.
6537
6538         * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
6539         (Normalize_Pathname): Only resolve VMS logical names when on VMS.
6540
6541         * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
6542         to False.
6543         If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
6544         the linking options.
6545         (Build_Library.Check_Libs): On VMS, if there is a dependency on
6546         g-trasym.ads, set Gtrasymobj_Needed to True.
6547
6548         * prj-attr.adb: Add new package Metrics for gnatmetric
6549
6550         * prj-nmsc.adb (Record_Other_Sources): Put source file names in
6551         canonical case to take into account files with upper case characters on
6552         Windows.
6553         (Ada_Check): Load the reference symbol file name in the name buffer to
6554         check it, not the symbol file name.
6555
6556         * snames.ads, snames.adb: Add standard name Metrics (name of project
6557         file package for gnatmetric).
6558
6559         * vms_conv.ads: Add Metric to Comment_Type
6560
6561         * vms_conv.adb (Initialize): Add component dor Metric in Command_List
6562
6563         * vms_data.ads: Add qualifiers for GNAT METRIC
6564
6565         * makegpr.adb (Link_Executables): Take into account the switches
6566         specified in package Linker of the main project.
6567
6568 2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
6569
6570         * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
6571         the index of the last element is Units.Last, not Units.Table'Last
6572         (which is usually not a valid index within the actually allocated
6573         storage for the table).
6574
6575         * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
6576         determines whether to generate a call to a checked storage pool
6577         Dereference action.
6578         Generate such a call only for a dereference that either comes from
6579         source, or is the result of rewriting a dereference that comes from
6580         source.
6581
6582 2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
6583
6584         * bindgen.adb (Gen_Output_File): Add support for GAP builds.
6585
6586 2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
6587
6588         (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
6589         file level, elaborate the stride for inner dimensions in alignment
6590         units, not bytes.
6591
6592         * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
6593         in a comment.
6594
6595 2004-06-07  Javier Miranda  <miranda@gnat.com>
6596
6597         * exp_ch6.adb: Correct wrong modification in previous patch
6598
6599 2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
6600
6601         * g-trasym.ads: Corrected comment to properly reflect level of support
6602         on VMS.
6603
6604 2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
6605
6606         * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
6607         includes case of a variable referenced on the left hand side of an
6608         assignment, therefore remove redundant code. Variables and prefixes of
6609         indexed or selected components are now marked as referenced on left
6610         hand side. Warnings are now properly emitted when variables or prefixes
6611         are assigned but not read.
6612
6613         * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
6614         left hand side referenced variables. Private access types do not
6615         produce the warning "variable ... is assigned but never read".
6616         Add also additional checks to left hand side referenced variables.
6617         Aliased, renamed objects and access types do not produce the warning
6618         "variable ... is assigned but never read" since other entities may read
6619         the memory location.
6620
6621 2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
6622
6623         * Makefile.in: In the powerpc/vxworks-specific section, restore
6624         EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
6625         by mistake).
6626
6627 2004-06-07  Ed Schonberg  <schonberg@gnat.com>
6628
6629         * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
6630         predefined operators.
6631         Removes spurious type errors from g-trasym-vms.adb.
6632
6633         * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
6634         distinct from the operator appearing in the source, call appropriate
6635         routine to insert conversions when needed, and complete resolution of
6636         node.
6637         (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
6638         interpretations for rewritten right operand.
6639         (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
6640         the other operand is overloaded and the context is a type conversion.
6641
6642 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6643
6644         * ada-tree.def (BLOCK_STMT): Now has two operands.
6645         (BREAK_STMT): New.
6646
6647         * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
6648
6649         * gigi.h: (gnat_poplevel): Now returns a tree.
6650
6651         * trans.c (end_block_stmt): Add arg; all callers changed.
6652         (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
6653         (start_block_stmt): Clear BLOCK_STMT_BLOCK.
6654         (add_stmt): Set TREE_TYPE.
6655         (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
6656         (gnat_expand_stmt, case BREAK_STMT): New case.
6657
6658         * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
6659
6660 2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
6661
6662         * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
6663         procedure Set_Stack_Size that is not needed.
6664
6665 2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
6666
6667         * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
6668         used for gnatpp input file and for the files upon which it depends
6669
6670 2004-06-07  Ben Brosgol  <brosgol@gnat.com>
6671
6672         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
6673
6674 2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
6675
6676         * gnatvsn.ads: Bump version numbers appropriately.
6677         Add new build type.
6678
6679 2004-06-07  Pascal Obry  <obry@gnat.com>
6680
6681         * gnat_ugn.texi: Improve comments about imported names and link names
6682         on Windows. Add a note about the requirement to use -k gnatdll's option
6683         when working with a DLL which has stripped stdcall symbols (no @nn
6684         suffix).
6685
6686 2004-05-27  Vincent Celier  <celier@gnat.com>
6687
6688         * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
6689         COMMENTS_LAYOUT=UNTOUCHED
6690
6691         * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
6692         symbols-vms-alpha.adb
6693
6694 2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
6695
6696         * sem.ads: Clarify documentation on checks suppression.
6697
6698         * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
6699
6700 2004-05-27  Ed Schonberg  <schonberg@gnat.com>
6701
6702         * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
6703         the case of multiple derivations.
6704         (Is_Object_Reference): For a selected component, verify that the prefix
6705         is itself an object and not a value.
6706
6707         * sem_ch12.adb (Same_Instantiated_Constant): New name for
6708         Same_Instantiated_Entity.
6709         (Same_Instantiated_Variable): Subsidiary to
6710         Check_Formal_Package_Instance, to recognize actuals for in-out generic
6711         formals that are obtained from a previous formal package.
6712         (Instantiate_Subprogram_Body): Emit proper error when
6713         generating code and the proper body of a stub is missing.
6714
6715         * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
6716         has a universal interpretation, do the disambiguation here.
6717
6718         * exp_ch4.adb (Expand_N_Type_Conversion,
6719         Expand_N_Unchecked_Type_Conversion): Special handling when target type
6720         is Address, to avoid typing anomalies when Address is a visible integer
6721         type.
6722
6723         * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
6724         to determine whether a subprogram should not be marked Pure, even when
6725         declared in a pure package.
6726
6727 2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
6728
6729         * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
6730
6731         * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
6732         Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
6733         Update the documentation about the Ravenscar profile, following the
6734         definition found in AI-249.
6735
6736         * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
6737         setting the Profile (Ravenscar). This must be done in addition to
6738         setting the required restrictions.
6739
6740         * rtsfind.ads: Add the set of operations defined in package
6741         Ada.Interrupts.
6742
6743         * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
6744         restriction.
6745
6746 2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
6747
6748         lang-specs.h: Always require -c or -S and always redirect to /dev/null
6749         if -gnatc or -gnats is passed.
6750
6751 2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
6752
6753         * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
6754         a significant reference. Warnings are now properly emitted when a
6755         discriminated type is not referenced.
6756
6757         * lib-xref.adb (Generate_Reference): A deferred constant completion,
6758         record representation clause or record type discriminant does not
6759         produce a reference to its corresponding entity. Warnings are now
6760         properly emitted when deferred constants and record types are not
6761         referenced.
6762
6763 2004-05-27  Geert Bosch  <bosch@gnat.com>
6764
6765         * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
6766         Fixes ACATS Annex G tests.
6767
6768 2004-05-27  Robert Dewar  <dewar@gnat.com>
6769
6770         * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
6771         handling WITH
6772
6773 2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
6774
6775         * s-interr.adb (Server_Task): Take into account case of early return
6776         from sigwait under e.g. linux.
6777
6778 2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
6779
6780         * gnat_ugn.texi: Add description for the new gnatpp options:
6781          -rnb - replace the original source without creating its backup copy
6782          -c0 - do not format comments
6783
6784 2004-05-24  Geert Bosch  <bosch@gnat.com>
6785
6786         * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
6787         with 192 bits of precision, sufficient to reduce a double-extended
6788         arguments X with a maximum relative error of T'Machine_Epsilon, for X
6789         in -2.0**32 .. 2.0**32.
6790         (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
6791         reduction by the processor, which only uses a 68-bit approximation of
6792         Pi.
6793         (Tan): Always reduce arguments and compute function either using
6794         the processor's fptan instruction, or by dividing sin and cos as needed.
6795
6796 2004-05-24  Doug Rupp  <rupp@gnat.com>
6797
6798         * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
6799         gcc error on 32/64 bit VMS.
6800
6801 2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
6802
6803         * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
6804         since this is what we get for stack overflows although not documented
6805         as such.
6806         Document the issues which may require adjustments to our signal
6807         handlers.
6808
6809 2004-05-24  Ed Schonberg  <schonberg@gnat.com>
6810
6811         * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
6812         enclosing dynamic scope if the instantiation is within a generic unit.
6813
6814 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
6815
6816         * exp_dbug.ads: Fix typo.
6817
6818         * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
6819         Rename it to its proper name: system-linux-ia64.ads
6820         (stamp-gnatlib1): Remove extra target specific run time files when
6821         setting up the rts directory.
6822
6823 2004-05-24  Javier Miranda  <miranda@gnat.com>
6824
6825         * einfo.ads, einfo.adb (Limited_Views): Removed.
6826         (Limited_View): New attribute that replaces the previous one. It is
6827         now a bona fide package with the limited-view list through the
6828         first_entity and first_private attributes.
6829
6830         * sem_ch10.adb (Install_Private_With_Clauses): Give support to
6831         limited-private-with clause.
6832         (Install_Limited_Withed_Unit): Install the private declarations of a
6833         limited-private-withed package. Update the installation of the shadow
6834         entities according to the new structure (see Build_Limited_Views)
6835         (Build_Limited_Views): Replace the previous implementation of the
6836         limited view by a package entity that references the first shadow
6837         entity plus the first shadow private entity (required for limited-
6838         private-with clause)
6839         (New_Internal_Shadow_Entity): Code cleanup.
6840         (Remove_Limited_With_Clause): Update the implementation to undo the
6841         new work carried out by Build_Limited_Views.
6842         (Build_Chain): Complete documentation.
6843         Replace Ada0Y by Ada 0Y in comments
6844         Minor reformating
6845
6846         * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
6847         types the level of accessibility depends on the enclosing type
6848         declaration.
6849
6850         * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
6851         entities. Complete documentation of previous change.
6852
6853 2004-05-24  Robert Dewar  <dewar@gnat.com>
6854
6855         * namet.adb: Minor reformatting
6856         Avoid use of name I (replace by J)
6857         Minor code restructuring
6858
6859         * sem_ch6.adb: Minor reformatting
6860
6861         * lib-writ.adb: Do not set restriction as active if this is a
6862         Restriction_Warning case.
6863
6864         * sem_prag.adb: Reset restriction warning flag if real pragma
6865         restriction encountered.
6866
6867         * s-htable.adb: Minor reformatting
6868         Change rotate count to 3 in Hash (improves hash for small strings)
6869
6870         * 5qsystem.ads: Add comments for type Address (no literals allowed).
6871
6872         * gnat_ugn.texi: Add new section of documentation "Code Generation
6873         Control", which describes the use of -m switches.
6874
6875 2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
6876
6877         trans.c (tree_transform) <N_Identifier>: Do the dereference directly
6878         through the DECL_INITIAL for renamed variables.
6879
6880 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
6881
6882         * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
6883
6884 2004-05-19  Joel Brobecker  <brobecker@gnat.com>
6885
6886         * exp_dbug.ads: Correct comments concerning handling of overloading,
6887         since we no longer use $ anymore.
6888
6889 2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
6890
6891         * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
6892         ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
6893         with illegal subunits.
6894
6895 2004-05-19  Ed Schonberg  <schonberg@gnat.com>
6896
6897         * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
6898         body with front-end inlining enabled, check whether an inline pragma
6899         appears immediately after the body and applies to it.
6900
6901         * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
6902         enabled and the pragma appears after the body of the subprogram.
6903
6904 2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6905
6906         Part of function-at-a-time conversion
6907
6908         * misc.c (adjust_decl_rtl): Deleted.
6909         (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
6910         Define.
6911
6912         * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
6913         (add_decl_stmt, add_stmt, block_has_vars): New functions.
6914         (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
6915
6916         * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
6917         when making a decl.
6918         (gnat_to_gnu_entity): Likewise.
6919         Use add_stmt to update setjmp buffer.
6920         Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
6921         flush_addressof.
6922         No longer call adjust_decl_rtl.
6923         (DECL_INIT_BY_ASSIGN_P): New macro.
6924         (DECL_STMT_VAR): Likewise.
6925
6926         * trans.c (gigi): Call start_block_stmt to make the outermost
6927         BLOCK_STMT.
6928         (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
6929         Call start_block_stmt and end_block_stmt temporarily.
6930         Use gnat_expand_stmt instead of expand_expr_stmt.
6931         (add_decl_stmt): New function.
6932         (tree_transform): Call it.
6933         (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
6934         (end_block_stmt): Set type and NULL_STMT.
6935         (gnat_expand_stmt): Make recursize call instead of calling
6936         expand_expr_stmt.
6937         (gnat_expand_stmt, case DECL_STMT): New case.
6938         (set_lineno_from_sloc): Do nothing if global.
6939         (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
6940         (start_block_stmt, add_stmt, end_block_stmt): New functions.
6941         (build_block_stmt): Call them.
6942         (gnat_to_code): Don't expand NULL_STMT.
6943         (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
6944         args.
6945         (tree_transform): Likewise.
6946         (tree_transform, case N_Null_Statement): Return NULL_STMT.
6947         (gnat_expand_stmt, case NULL_STMT): New case.
6948         (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
6949         IF_STMT_TRUE.
6950
6951         * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
6952         TREE_ADDRESSABLE.
6953
6954         * utils.c (create_var_decl): Do not call expand_decl or
6955         expand_decl_init.
6956         Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
6957         Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
6958         here.
6959         (struct e_stack): Add chain_next to GTY.
6960         (struct binding_level): Deleted.
6961         (struct ada_binding_level): New struct.
6962         (free_block_chain): New.
6963         (global_binding_level, clear_binding_level): Deleted.
6964         (global_bindings_p): Rework to see if no chain.
6965         (kept_level_p, set_block): Deleted.
6966         (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
6967         new data structure and work directly on BLOCK node.
6968         (gnat_poplevel): Similarly.
6969         (get_decls): Look at BLOCK_VARS.
6970         (insert_block): Work directly on BLOCK node.
6971         (block_has_var): New function.
6972         (pushdecl): Rework for new binding structures.
6973         (gnat_init_decl_processing): Rename and rework calls to pushlevel and
6974         poplevel.
6975         (build_subprog_body): Likewise.
6976         (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
6977
6978         * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
6979
6980         * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
6981         (DECL_STMT_VAR): Likewise.
6982
6983 2004-05-17  Robert Dewar  <dewar@gnat.com>
6984
6985         * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
6986         procedure
6987
6988         * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
6989         of restriction synonyums by using
6990         Restrict.Process_Restriction_Synonyms.
6991
6992         * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
6993
6994         * s-restri.ads (Tasking_Allowed): Correct missing comment
6995
6996         * s-rident.ads: Add entries for restriction synonyms
6997
6998         * ali.adb: Fix some problems with badly formatted ALI files that can
6999         result in infinite loops.
7000
7001         * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
7002         s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
7003         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
7004         s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
7005         s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
7006         s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
7007         s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
7008         s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
7009         s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
7010         a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
7011         exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
7012         s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
7013         s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
7014         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
7015         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
7016         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
7017         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
7018         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
7019         s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
7020         s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
7021         to Task_Id (minor cleanup).
7022
7023 2004-05-17  Vincent Celier  <celier@gnat.com>
7024
7025         * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
7026         directory separator.
7027
7028         * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
7029         project being extended, if Languages is not declared in extending
7030         project.
7031
7032 2004-05-17  Javier Miranda  <miranda@gnat.com>
7033
7034         * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
7035         limited view of a visible sibling.
7036
7037 2004-05-14  Robert Dewar  <dewar@gnat.com>
7038
7039         * gnat_ugn.texi: Minor change to -gnatS documentation
7040
7041         * sprint.adb: Remove some instances of Assert (False) and for this
7042         purpose replace them by output of a ??? string.
7043
7044         * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
7045         Assert (False).
7046
7047         * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
7048         flag processing. This was suppressing required dependencies in
7049         No_Run_Time mode and is not needed since the binder does not generate
7050         references for things in libgnat anyway.
7051
7052         * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
7053         warning.
7054
7055 2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
7056
7057         * gnat_ugn.texi: Document AIX-specific issue with initialization of
7058         resolver library.
7059
7060         * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
7061         action for the case of an actual parameter in an init proc call.
7062
7063 2004-05-14  Ed Schonberg  <schonberg@gnat.com>
7064
7065         * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
7066         subtype, check visible entities in base type.
7067
7068         * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
7069         actions if the object is a renaming.
7070
7071         * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
7072         Check_Formal_Package_Instance, to determine more precisely when the
7073         formal and the actual denote the same entity.
7074
7075 2004-05-14  Javier Miranda  <miranda@gnat.com>
7076
7077         * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
7078
7079         * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
7080         corresponding to a private_with must be removed from visibility; it
7081         will be made visible later, just before we analyze the private part of
7082         the package.
7083         (Check_Private_Child_Unit): Allow private_with clauses in public
7084         siblings.
7085         (Install_Siblings): Make visible the private entities of private-withed
7086         siblings.
7087         (Install_Withed_Unit): Do not install the private withed unit if we
7088         are compiling a package declaration and the Private_With_OK flag was
7089         not set by the caller. These declarations will be installed later,
7090         just before we analyze the private part of the package.
7091
7092         * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
7093         during the evaluation of the expression that initializes the object,
7094         decorate it with the expected type to avoid cascade errors.
7095         Code cleanup.
7096
7097         * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
7098         subprogram we have to install the private_with clauses after its
7099         specification has been analyzed (as documented in AI-262.TXT).
7100
7101         * sem_ch8.adb (Has_Private_With): New function. Determines if the
7102         current compilation unit has a private with on a given entity.
7103         (Find_Direct_Name): Detect the Beaujolais problem described in
7104         AI-262.TXT
7105
7106         * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
7107         provides the functionality of the function Is_Ancestor that was
7108         previously available in sem_ch10. It has been renamed to avoid
7109         overloading.
7110
7111         * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
7112
7113 2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7114
7115         * utils.c (build_vms_descriptor): Use SImode pointers.
7116
7117 2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
7118
7119         * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
7120
7121 2004-05-14  GNAT Script  <nobody@gnat.com>
7122
7123         * Make-lang.in: Makefile automatically updated
7124
7125 2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
7126
7127         Renaming of target specific files for clarity
7128
7129         * Makefile.in: Rename GNAT target specific files.
7130
7131         * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
7132         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
7133         3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
7134         3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
7135         3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
7136         3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
7137         42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
7138         4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
7139         4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
7140         4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
7141         4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
7142         4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
7143         51osinte.adb, 51osinte.ads, 51system.ads,
7144         52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
7145         55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
7146         56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
7147         56tpopsp.adb, 57system.ads, 58system.ads,
7148         5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
7149         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
7150         5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
7151         5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
7152         5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
7153         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
7154         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
7155         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
7156         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
7157         5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
7158         5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
7159         5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
7160         5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
7161         5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
7162         5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
7163         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
7164         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
7165         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
7166         5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
7167         5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
7168         5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
7169         5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
7170         5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
7171         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
7172         5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
7173         5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
7174         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
7175         5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
7176         5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
7177         5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
7178         5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
7179         5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
7180         5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
7181         5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
7182         5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
7183         5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
7184         7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
7185         7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
7186         7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
7187         7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
7188
7189         * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
7190         a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
7191         a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
7192         a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
7193         a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
7194         a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
7195         a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
7196         a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
7197         a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
7198         a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
7199         g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
7200         g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
7201         g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
7202         g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
7203         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
7204         g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
7205         g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
7206         g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
7207         interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
7208         mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
7209         mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
7210         mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
7211         s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
7212         s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
7213         s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
7214         s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
7215         s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
7216         s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
7217         s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
7218         s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
7219         s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
7220         s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
7221         s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
7222         s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
7223         s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
7224         s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
7225         s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
7226         s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
7227         s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
7228         s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
7229         s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
7230         s-osinte-vms.ads, s-osinte-vxworks.adb,
7231         s-osinte-vxworks.ads, s-osprim-mingw.adb,
7232         s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
7233         s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
7234         s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
7235         s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
7236         s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
7237         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
7238         s-stchop-vxworks.adb, s-taprop-dummy.adb,
7239         s-taprop-hpux-dce.adb, s-taprop-irix.adb,
7240         s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
7241         s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
7242         s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
7243         s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
7244         s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
7245         s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
7246         s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
7247         s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
7248         s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
7249         s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
7250         s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
7251         s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
7252         s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
7253         s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
7254         s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
7255         s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
7256         s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
7257         symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
7258         system-hpux.ads, system-interix.ads, system-irix-n32.ads,
7259         system-irix-o32.ads, system-linux-x86_64.ads,
7260         system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
7261         system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
7262         system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
7263         system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
7264         system-vxworks-alpha.ads, system-vxworks-m68k.ads,
7265         system-vxworks-mips.ads, system-vxworks-ppc.ads,
7266         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
7267         above.
7268
7269 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
7270
7271         * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
7272
7273 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
7274
7275         Merge from tree-ssa-20020619-branch.
7276
7277         * config-lang.in (boot_language, build_by_default): Set
7278         to no.
7279         * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
7280         (max_size): Add static chain op for call_expr.
7281
7282 2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
7283
7284         PR target/15331
7285         * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
7286
7287 2004-05-11  Roger Sayle  <roger@eyesopen.com>
7288
7289         * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
7290         COND_EXPR.
7291
7292 2004-05-10  Doug Rupp  <rupp@gnat.com>
7293
7294         * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
7295         system.aux_dec.
7296
7297         * s-auxdec.ads: Add Short_Address subtype (moved here from System).
7298
7299         * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
7300
7301         * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
7302         Fixes undefined symbols in IA64 gnatlib.
7303
7304         * 5vinmaop.adb: Reference s-auxdec for Short_Address.
7305
7306         * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
7307         Short_Address). This will be moved to system.auxdec.
7308
7309 2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
7310
7311         * sem_util.adb: Replace test for presence of a node that is always
7312         present with a call to Discard_Node.
7313
7314         * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
7315         Analyze on the library unit node after generation of distribution stub
7316         constructs.  The call was a no-op because Unit_Node has already been
7317         Analyzed, and the tree fragments for the distribution stubs are
7318         analyzed as they are inserted in Exp_Dist.
7319         Update comment regarding to distribution stubs to reflect that we
7320         do not generate stub in separate files anymore.
7321
7322         * einfo.ads: Clarify the fact that a tagged private type has the
7323         E_Record_Type_With_Private Ekind.
7324
7325         * erroutc.adb: Minor reformatting
7326
7327         * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
7328         values if line length is increased using -gnatyM (noticed during code
7329         reading).
7330
7331         * eval_fat.adb: Minor reformatting
7332         Put spaces around exponentiation operator
7333
7334 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
7335
7336         PR ada/15005
7337         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
7338         has been rewritten as an explicit dereference, retrieve type of
7339         original node to check for possibly unconstrained record type.
7340
7341 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
7342
7343         * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
7344         overriding, use the operation of the parent unconditionally.
7345
7346         * sem_ch4.adb (Remove_Address_Interpretations): Remove address
7347         operation when either operand is a literal, to avoid further
7348         ambiguities.
7349
7350         * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
7351         overridden by a previous explicit declaration, mark the previous entity
7352         as overriding.
7353
7354         * sem_disp.adb (Check_Dispatching_Operation): New predicate
7355         Is_Visibly_Controlled, to determine whether a declaration of a
7356         primitive control operation for a derived type overrides an inherited
7357         one. Add warning if the explicit declaration does not override.
7358
7359 2004-05-10  Vincent Celier  <celier@gnat.com>
7360
7361         * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
7362         some cases when the sources are no longer present.
7363
7364         * make.adb (Collect_Arguments): Fail if an external source, not part
7365         of any project need to be compiled, when switch -x has not been
7366         specified.
7367
7368         * makeusg.adb: Document new switch -x
7369
7370         * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
7371         defaulted to False.
7372
7373         * switch-m.adb (Scan_Make_Switches): New switch -x
7374
7375         * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
7376         gnatmake switch -x.
7377
7378         * gnat_ugn.texi: Document new gnatmake switch -x
7379
7380 2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
7381
7382         * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
7383
7384         * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
7385         (process_attributes): Likewise.
7386
7387 2004-05-10  Joel Brobecker  <brobecker@gnat.com>
7388
7389         * s-inmaop.ads: Fix spelling mistake in one of the comments.
7390
7391 2004-05-10  Robert Dewar  <dewar@gnat.com>
7392
7393         * gnat_ugn.texi: Document that for config pragma files, the maximum
7394         line length is always 32767.
7395
7396         * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
7397         literals is now allowed.
7398
7399         * gnat-style.texi: Remove statement about splitting long lines before
7400         an operator rather than after, since we do not follow this rule at all.
7401         Clarify rule (really lack of rule) for spaces around exponentiation
7402
7403         * sem_elim.adb: Allow concatenation of string literals as well as a
7404         single string literal for pragma arguments.
7405
7406         * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
7407
7408         * a-textio.adb (Terminate_Line): Do not add line feed if nothing
7409         written for append case.
7410
7411         * frontend.adb: Changes to avoid checking max line length in config
7412         pragma files.
7413
7414         * g-os_lib.ads: Minor reformatting
7415
7416         * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
7417         wrong in any case. Instead use standard value. Noticed during code
7418         reading.
7419
7420         * opt.ads (Max_Line_Length): New field, used to implement removal of
7421         limitation on length of lines when scanning config pragma files.
7422
7423         * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
7424         makeutl.ads, makeutl.adb: Minor reformatting
7425
7426         * scn.adb: Do not check line length while scanning config pragma files
7427         Do not check line length while scanning out license information
7428
7429         * scng.adb: Changes to avoid line length checks while parsing config
7430         pragma files.
7431
7432 2004-05-10  GNAT Script  <nobody@gnat.com>
7433
7434         * Make-lang.in: Makefile automatically updated
7435
7436 2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
7437
7438         * osint.adb (Find_Program_Name): Fix handling of VMS version
7439         number.
7440
7441 2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
7442
7443         * g-os_lib.ads (Invalid_Time): New constant
7444
7445         * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
7446         return OS_Time instead of time_t to match what is imported by Ada.
7447         Now return -1 if the file doesn't exist, instead of a random value
7448
7449 2004-05-05  Robert Dewar  <dewar@gnat.com>
7450
7451         * usage.adb: Add line for -gnatR?s switch
7452
7453         * sem_ch13.adb, exp_ch2.adb: Minor reformatting
7454
7455         * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
7456         and for Match (Data_First, Data_last)
7457
7458         * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
7459         written when we are dealing with multi-unit files.
7460
7461 2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
7462
7463         * Makefile.in: Remove unused targets and variables.
7464
7465 2004-05-05  Vincent Celier  <celier@gnat.com>
7466
7467         * switch-m.adb: New gnatmake switch -eI
7468
7469         * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
7470         of new gnatmake switch -eInnn.
7471
7472         * makegpr.adb: Take into account new parameters Index and Src_Index in
7473         Prj.Util.
7474
7475         * clean.adb: Implement support for multi-unit sources, including new
7476         switch -i.
7477
7478         * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
7479         Src_Index.
7480
7481         * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
7482         (Extract_From_Q): New out parameter Index
7483         (Mark, Is_Marked): Subprograms moved to Makeutl
7484         (Switches_Of): New parameter Source_Index
7485         (Add_Switch): New parameter Index
7486         (Check): New parameter Source_Index
7487         (Collect_Arguments): New parameter Source_Index
7488         (Collect_Arguments_And_Compile): New parameter Source_Index
7489         (Compile): New parameter Source_Index
7490         Put subprograms in alphabetical order
7491         Add support for multi-source sources, including in project files.
7492
7493         * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
7494         (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
7495         Make.
7496
7497         * makeusg.adb: New gnatmake switch -eInnn
7498
7499         * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
7500         Prj.Util.Value_Of.
7501
7502         * opt.ads (Main_Index): New variable, defaulted to 0.
7503
7504         * osint.ads, osinte.adb (Add_File): New parameter Index
7505         (Current_Source_Index): New function
7506
7507         * prj.adb: Take into account new components Index and Src_Index
7508
7509         * prj.ads (String_Element): New component Index
7510         (Variable_Value): New component Index
7511         (Array_Element): New component Src_Index
7512
7513         * prj-attr.adb: Indicate that optional index may be specified for
7514         attributes Main, Executable, Spec, Body and some of Switches.
7515
7516         * prj-attr.ads (Attribute_Kind): New values for optional indexes
7517         (Attribute_Record): New component Optional_Index
7518
7519         * prj-com.ads (File_Name_Data): New component Index
7520
7521         * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
7522
7523         * prj-env.adb (Put): Output optional index
7524
7525         * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
7526         attributes Spec and Body.
7527
7528         * prj-nmsc.adb: Process optional indexes
7529
7530         * prj-pp.adb: Ouput "at" for optional indexes
7531
7532         * prj-proc.adb: Take into account optional indexes
7533
7534         * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
7535         Optional_Index. For string literal,
7536         process optional index when Optional_Index is True.
7537         (Parse_Expresion): New Boolean parameter Optional_Index
7538
7539         * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
7540         (Set_Source_Index_Of): New procedure
7541
7542         * prj-util.adb (Executable_Of, Value_Of): Take into account optional
7543         index.
7544
7545         * prj-util.ads (Executable_Of): New parameter Index
7546         (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
7547         New parameter Src_Index, defaulted to 0.
7548
7549 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
7550
7551         PR ada/15257
7552         * sem_ch3.adb (Access_Definition): If this is an access parameter
7553         whose designated type is imported through a limited_with clause, do
7554         not add the enclosing subprogram to the list of private dependents of
7555         the type.
7556
7557 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
7558
7559         PR ada/15258
7560         * sem_ch6.adb (Base_Types_Match): True if one type is imported through
7561         a limited_with clause, and the other is its non-limited view.
7562
7563 2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
7564
7565         * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
7566
7567         * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
7568         exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
7569         Stand.Boolean_Literals to produce references to entities
7570         Standard_False and Standard_True from compile-time computed boolean
7571         values.
7572
7573         * stand.ads (Boolean_Literals): New variable, provides the entity
7574         values for False and True, for use by the expander.
7575
7576 2004-05-05  Doug Rupp  <rupp@gnat.com>
7577
7578         * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
7579         5vinmaop.adb: Unchecked convert Short_Address vice Address
7580
7581         * adaint.c, raise.c: Caste CRTL function return value
7582         to avoid gcc error on 32/64 bit IVMS.
7583
7584         * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
7585         target = IA64/VMS.
7586
7587         * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
7588
7589         * 5qsystem.ads (Address): Declare as Long_Integer
7590         (Short_Address): Declare as 32 bit subtype of Address
7591         Declare  abstract address operations to avoid gratuitous ambiguities.
7592
7593 2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
7594
7595         * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
7596         instead of the old Boolean_Entry_Barriers.
7597         Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
7598
7599 2004-05-05  GNAT Script  <nobody@gnat.com>
7600
7601         * Make-lang.in: Makefile automatically updated
7602
7603 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
7604
7605         * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
7606
7607 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
7608
7609         PR ada/15152
7610
7611         * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
7612         alone. Replacing object references by literals is inappropriate in a
7613         so low level context.
7614
7615 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
7616
7617         * a-exexpr.adb: Add comments
7618
7619 2004-05-03  Joel Brobecker  <brobecker@gnat.com>
7620
7621         * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
7622         declare the Ancestor_Tags array in Type_Specific_Data with a small size
7623         without risking a bounds check error when accessing one of its
7624         components.
7625         (Type_Specific_Data): Define Ancestor_Tags as a small array.
7626         This prevents us from hitting a limitation during the debug info
7627         generation when using stabs.
7628
7629         * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
7630         small array.
7631         This prevents us from hitting a limitation during the debug info
7632         generation when using stabs.
7633
7634 2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
7635
7636         lang-specs.h: Remove -gnatz* from specs.
7637
7638 2004-05-03  Vincent Celier  <celier@gnat.com>
7639
7640         * gprmake.adb, makegpr.ads, makegpr.adb: New files.
7641
7642         * Make-lang.in, Makefile.in: Add gprmake
7643
7644 2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
7645
7646         * sem_aggr.adb: Fix typo in comment.
7647
7648 2004-05-03  Robert Dewar  <dewar@gnat.com>
7649
7650         * make.adb: Minor reformatting
7651
7652         * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
7653
7654         * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
7655         so that it works when address is not a private type.
7656
7657         * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
7658         properly with rewritten unchecked conversions. This prevents
7659         order-of-elaboration issues that can otherwise arise.
7660         (Minimum_Size): Don't check size of access types under VMS
7661
7662         * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
7663         interpretations of integer literals as type System.Address.
7664
7665         * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
7666         (Is_Descendent_Of): New function
7667
7668 2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
7669
7670         * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
7671         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
7672         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
7673
7674         * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
7675         of the old Max_Entry_Queue_Depth.
7676
7677         * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
7678         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
7679         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
7680
7681         * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
7682         New entry for proper handling of Max_Entry_Queue_Depth.
7683         New entry for proper handling of No_Dynamic_Interrupts.
7684
7685         * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
7686         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
7687         Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
7688         the GNAT specific restriction Max_Entry_Queue_Depth.
7689         Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
7690         the GNAT specific restriction No_Dynamic_Interrupts.
7691
7692         * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
7693         instead of the old Boolean_Entry_Barriers.
7694         Use the new restriction No_Dynamic_Attachment instead of the old
7695         No_Dynamic_Interrupts.
7696
7697         * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
7698         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
7699
7700         * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
7701         of the old Max_Entry_Queue_Depth.
7702
7703 2004-05-03  GNAT Script  <nobody@gnat.com>
7704
7705         * Make-lang.in: Makefile automatically updated
7706
7707 2004-04-29  Ed Schonberg  <schonberg@gnat.com>
7708
7709         * checks.adb (Enable_Range_Check): If the prefix of an index component
7710         is an access to an unconstrained array, perform check unconditionally.
7711
7712 2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7713
7714         * decl.c (gnat_to_gnu_field): Also call make_packable_type if
7715         Component_Clause.
7716
7717 2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
7718
7719         * init.c (__gnat_install_handler, __gnat_error_handler): Remove
7720         alternate stack setting. There was no support for the tasking cases
7721         and the changes eventually caused a number of side-effect failures in
7722         the non-tasking case too.
7723
7724 2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
7725
7726         lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
7727         -gnats is passed.
7728
7729 2004-04-29  Vincent Celier  <celier@gnat.com>
7730
7731         * make.adb (Gnatmake): Increase max size of argument array for
7732         gnatbind for the potential addition of -F.
7733         If there are Stand-Alone Library projects, invoke gnatbind with -F to
7734         be sure that elaboration flags will be checked.
7735
7736         * switch-c.adb: Correct call to Scan_Pos for -gnateI
7737
7738 2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
7739
7740         * sem_warn.adb (Check_References): Move '<access-variable> may be
7741         null' warning out of under Warn_On_No_Value_Assigned.
7742
7743 2004-04-29  Ed Falis  <falis@gnat.com>
7744
7745         * gnat_ugn.texi: Fixed texi error
7746
7747 2004-04-29  Robert Dewar  <dewar@gnat.com>
7748
7749         * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
7750         abstract operations if they come from predefined files.
7751
7752         * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
7753         Dynamic, not RM).
7754
7755         * s-addope.adb: Correct obvious error in mod function
7756
7757 2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
7758
7759         * Makefile.in: Add target pairs for powerpc darwin*
7760         tasking support.
7761
7762         * a-intnam-darwin.ads, s-osinte-darwin.adb,
7763         s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
7764
7765 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
7766
7767         * Makefile.in: Add target macro definitions for s390*-linux*.
7768         * system-linux-s390.ads: New file.
7769         * system-linux-s390x.ads: New file.
7770
7771 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
7772
7773         * gnat_ugn.texi: Correct argument to @setfilename.
7774
7775 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
7776
7777         * a-exexpr.adb (Unwind_Word): New data type.
7778         (Unwind_Exception): Use it as type of Private1 and Private2.
7779
7780         * raise.c (db_action_for): Fix debug printf.
7781
7782 2004-04-27  Ed Schonberg  <schonberg@gnat.com>
7783
7784         * a-wtmoio.ads: Formal type must be a modular type, not a signed
7785         integer type.
7786
7787 2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7788
7789         * decl.c (gnat_to_gnu_entity, case object): Call
7790         __builtin_update_setjmp_buf.
7791
7792         * gigi.h (update_setjmp_buf): Deleted.
7793         (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
7794
7795         * misc.c: (update_setjmp_buf): Deleted.
7796
7797         * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
7798         around block of RTL.
7799
7800         * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
7801
7802 2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
7803
7804         * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
7805         subprogram for which no pragma All_Calls_Remote applies, store the
7806         address of the real subprogram in the underlying record type, so local
7807         dereferences do not go through the PCS.
7808
7809 2004-04-26  Robert Dewar  <dewar@gnat.com>
7810
7811         * i-c.ads: Add some type qualifications to avoid ambiguities when
7812         compiling with s-auxdec.ads and a non-private address type.
7813
7814 2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
7815
7816         * Makefile.rtl: Fix error in previous check-in:
7817         Add s-addope.o to non tasking object list (rather than tasking object
7818         list).
7819
7820 2004-04-26  Javier Miranda  <miranda@gnat.com>
7821
7822         * sem_aggr.adb: Fix typo in comments
7823         (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
7824         Required to check the null-exclusion attribute.
7825
7826         * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
7827         case of anonymous access types in record and array components. For a
7828         component definition the level is the same of the enclosing composite
7829         type.
7830
7831         * sem_ch3.adb (Analyze_Component_Declaration): In case of components
7832         that are anonymous access types the level of accessibility depends on
7833         the enclosing type declaration. In order to have this information, set
7834         the scope of the anonymous access type to the enclosing record type
7835         declaration.
7836         (Array_Type_Declaration): In case of components that are anonymous
7837         access types the level of accessibility depends on the enclosing type
7838         declaration. In order to have this information, set the scope of the
7839         anonymous access type to the enclosing array type declaration.
7840
7841         * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
7842         access type.
7843
7844         * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
7845         renaming of anonymous access-to-constant types allowed if and only if
7846         the renamed object is access-to-constant.
7847
7848         * sem_util.adb (Type_Access_Level): In case of anonymous access types
7849         that are component_definition or discriminants of a nonlimited type,
7850         the level is the same as that of the enclosing component type.
7851
7852 2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
7853
7854         * sem_elim.adb: Some minor code reorganization from code reading. Fix
7855         misprint in the function name (File_Name_Match).
7856
7857 2004-04-23  Laurent GUERBY <laurent@guerby.net>
7858
7859         * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
7860         install.
7861
7862 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7863
7864         * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
7865
7866 2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
7867
7868         * adaint.c (__gnat_try_lock): No longer requires that the parent
7869         directory be writable, the directory itself is enough.
7870         (gnat_is_absolute_path): Change profile, so that the call from
7871         GNAT.OS_Lib can be made more efficient.
7872
7873         * adaint.h (gnat_is_absolute_path): Change profile, so that the call
7874         from GNAT.OS_Lib can be made more efficient.
7875
7876         * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
7877         one copy of the file name. Found by code reading.
7878
7879 2004-04-23  Vincent Celier  <celier@gnat.com>
7880
7881         * gnat_ugn.texi: Add documentation for gnatmake switch -eL
7882         Correct documentation on gnatmake switches transmitted to the compiler
7883
7884         * ali.ads: Minor comment fix
7885
7886 2004-04-23  Javier Miranda  <miranda@gnat.com>
7887
7888         * sem_ch6.adb: (Confirming Types): Code cleanup
7889
7890         * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
7891         subprogram types: E_Anonymous_Access_Subprogram_Type and
7892         E_Anonymous_Access_Protected_Subprogram_Type.
7893
7894 2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
7895
7896         * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
7897         whether a pragma All_Calls_Remote applies to the subprogram on which
7898         'Access is taken.
7899         No functional change is introduced by this revision; the new parameter
7900         will be used to allow calls to local RCI subprograms to be optimized
7901         to not use the PCS in the case where no pragma All_Calls_Remote applies,
7902         as is already done in the PolyORB implementation of the DSA.
7903
7904         * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
7905         whether a pragma All_Calls_Remote applies to the subprogram on which
7906         'Access is taken.
7907         No functional change is introduced by this revision; the new parameter
7908         will be used to allow calls to local RCI subprograms to be optimized
7909         to not use the PCS in the case where no pragma All_Calls_Remote applies,
7910         as is already done in the PolyORB implementation of the DSA.
7911
7912 2004-04-23  Robert Dewar  <dewar@gnat.com>
7913
7914         * Makefile.rtl: Add entry for s-addope.o in run time library list
7915         * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
7916         * s-addope.ads, s-addope.adb: New files.
7917
7918         * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
7919         s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
7920         s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
7921         System.Address to be non-private and signed.
7922
7923         * sem_elim.adb: Minor reformatting (fairly extensive)
7924         Some minor code reorganization from code reading
7925         Add a couple of ??? comments
7926
7927 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7928
7929         * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
7930         (tree_transform, case N_If_Statement): Remove non-determinism.
7931
7932         * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
7933
7934 2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
7935
7936         * gnat_rm.texi: Small fixes in the changes made in the 'pragma
7937         Eliminate' section.
7938
7939         * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
7940         no longer used as a parameter name for Eliminate pragma).
7941
7942 2004-04-22  Laurent GUERBY <laurent@guerby.net>
7943
7944         PR optimization/14984
7945         PR optimization/14985
7946         * trans.c (gigi): Fix non determinism leading to bootstrap
7947         comparison failures.
7948
7949 2004-04-21  Pascal Obry  <obry@gnat.com>
7950
7951         * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
7952         passed to spawnvp() to properly handle program pathname with spaces on
7953         Win32.
7954
7955 2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
7956
7957         * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
7958         (Allocate, Deallocate, Free_Physically): Make sure the tasks are
7959         unlocked in case of exceptions.
7960
7961 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
7962
7963         * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
7964         This function does not exist anymore.
7965
7966 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
7967
7968         * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
7969
7970         * link.c: Move variables to the __gnat name space.
7971
7972         * Makefile.in: list link.o explicitly when needed.
7973
7974         * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
7975
7976 2004-04-21  Javier Miranda  <miranda@gnat.com>
7977
7978         * einfo.adb (Original_Access_Type): New subprogram
7979         (Set_Original_Access_Type): New subprogram
7980         (Write_Field21_Name): Write the name of the new field
7981
7982         * einfo.ads (Original_Access_Type): New field present in access to
7983         subprogram types.
7984         Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
7985         E_Anonymous_Access_Protected_Subprogram_Type.
7986
7987         * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
7988         subprogram types.
7989
7990         * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
7991         to anonymous access to subprogram types.
7992
7993         * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
7994         to subprogram types.
7995
7996         * sem_ch3.adb (Access_Definition): Complete decoration of entities
7997         corresponding to anonymous access to subprogram types.
7998         (Analyze_Component_Declaration): Add new actual to the call to
7999         subprogram replace_anonymous_access_to_protected_subprogram.
8000         (Array_Type_Declaration): Add new actual to the call to subprogram
8001         replace_anonymous_access_to_protected_subprogram.
8002         (Process_Discriminants): Add new actual to the call to subprogram
8003         replace_anonymous_access_to_protected_subprogram.
8004         (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
8005
8006         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
8007         formal.
8008
8009         * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
8010         access to subprogram types.
8011
8012         * sem_util.adb (Has_Declarations): Addition of package_specification
8013         nodes.
8014
8015 2004-04-21  Ed Schonberg  <schonberg@gnat.com>
8016
8017         * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
8018         inlined flags to renamed entity only if in current unit.
8019
8020 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
8021
8022         * s-parint.ads: Add DSA implementation marker.
8023
8024         * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
8025         value of System.Partition_Interface.DSA_Implementation to determine
8026         what version of the distributed systems annex is available (no
8027         implementation, GLADE, or PolyORB).
8028
8029 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
8030
8031         * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
8032
8033 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8034
8035         * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
8036         with new type if alias sets differ.
8037         Fixes ACATS c41103b.
8038
8039 2004-04-21  Vincent Celier  <celier@gnat.com>
8040
8041         * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
8042         Add array Lang_Args for the language specific compiling argument
8043         switches.
8044
8045         * gnat_ugn.texi: Explain in more details when a library is rebuilt.
8046
8047 2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
8048
8049         * gnat_rm.texi: Update the descripton of the Eliminate pragma
8050         according to the recent changes in the format of the parameters of the
8051         pragma (replacing Homonym_Number with Source_Location).
8052
8053 2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
8054
8055         * 5isystem.ads: Removed, unused.
8056
8057         * gnat_rm.texi: Redo 1.13 change.
8058
8059 2004-04-19  Robert Dewar  <dewar@gnat.com>
8060
8061         * s-stoele.ads: Clean up definition of Storage_Offset (the new
8062         definition is cleaner, avoids the kludge of explicit Standard operator
8063         references, and also is consistent with a visible System.Address with
8064         no visible operations.
8065
8066         * s-geveop.adb: Add declarations to avoid assumption of visible
8067         operations on type System.Address (since these might not be available
8068         if Address is a non-private type for which the operations
8069         are made abstract).
8070
8071         * sem_eval.adb: Minor reformatting
8072
8073         * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
8074         s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
8075         reformatting (new function spec format).
8076
8077         * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
8078         s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
8079         s-caun64.adb: Add declarations to avoid assumption of visible
8080         operations on type System.Address (since these might not be available
8081         if Address is a non-private type for which the operations are made
8082         abstract).
8083
8084         * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
8085
8086         * exp_intr.adb: Minor comment update
8087
8088         * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
8089
8090         * 5omastop.adb: Add declarations to avoid assumption of visible
8091         operations on type System.Address (since these might not be available
8092         if Address is a non-private type for which the operations
8093         are made abstract).
8094
8095 2004-04-19  Vincent Celier  <celier@gnat.com>
8096
8097         * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
8098
8099         * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
8100         defaulted to Ada.
8101
8102         * prj-proc.adb (Process): New Boolean parameter Process_Languages,
8103         defaulted to Ada.
8104         Call Check with Process_Languages.
8105         (Check): New Boolean parameter Process_Languages. Call Recursive_Check
8106         with Process_Languages.
8107         (Recursive_Check): New Boolean parameter Process_Languages. Call
8108         Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
8109         Process_Languages.
8110
8111         * prj-proc.ads (Process): New Boolean parameter Process_Languages,
8112
8113         * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
8114         parameter Ada_Main, defaulted to True.
8115         Check for Ada specific characteristics only when Ada_Main is True.
8116
8117         * opt.ads: (Follow_Links): New Boolean flag for gnatmake
8118
8119         * prj.adb: (Project_Empty): Add new Project_Data components.
8120
8121         * prj.ads: New types and tables for non Ada languages.
8122         (Project_Data): New components Languages, Impl_Suffixes,
8123         First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
8124         Include_Path, Include_Data_Set.
8125
8126         * prj-env.ads, prj-env.adb: Minor reformatting
8127
8128         * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
8129         Put subprograms in alphabetical order
8130
8131         * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
8132         defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
8133         Opt.Follow_Links.
8134
8135         * mlib-prj.adb: Back out modification in last version, as they are
8136         incorrect.
8137         (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
8138
8139         * make.adb: (Mains): Moved to package Makeutl
8140         (Linker_Opts): Moved to package Makeutl
8141         (Is_External_Assignment): Moved to package Makeutl
8142         (Test_If_Relative_Path): Moved to package Makeutl
8143         (Gnatmake): Move sorting of linker options to function
8144         Makeutl.Linker_Options_Switches.
8145
8146         * makeutl.ads, makeutl.adb: New files.
8147
8148         * Makefile.in: Add makeutl.o to the object files for gnatmake
8149
8150         * makeusg.adb: Add line for new switch -eL.
8151
8152         * gnatls.adb (Image): New function.
8153         (Output_Unit): If in verbose mode, output the list of restrictions
8154         specified by pragmas Restrictions.
8155
8156         * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
8157         Text_IO.
8158
8159         * a-calend.adb (Split): Shift the date by multiple of 56 years, if
8160         needed, to put it in the range 1970 (included) - 2026 (excluded).
8161         (Time_Of): Do not shift Unix_Min_Year (1970).
8162         Shift the date by multiple of 56 years, if needed, to put it in the
8163         range 1970 (included) - 2026 (excluded).
8164
8165         * adaint.h, adaint.c (__gnat_set_executable): New function.
8166
8167 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8168
8169         * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
8170         and pop GC context.
8171         (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
8172         (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
8173         (tree_transform, case N_Procedure_Call_Statement): Build a tree.
8174         (tree_transform, case N_Code_Statement): Likewise.
8175         (gnat_expand_stmt, case LABEL_STMT): Don't look at
8176         LABEL_STMT_FIRST_IN_EH.
8177         (gnat_expand_stmt, case ASM_STMT): New case.
8178
8179         * utils2.c (build_unary_op): Properly set TREE_READONLY of
8180         UNCONSTRAINED_ARRAY_REF.
8181
8182         * utils.c (poplevel): Temporarily push/pop GC context around inline
8183         function expansion.
8184
8185         * decl.c (maybe_variable): Properly set TREE_READONLY of
8186         UNCONSTRAINED_ARRAY_REF.
8187         (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
8188
8189         * ada-tree.def: (ASM_STMT): New.
8190
8191         * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
8192         (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
8193         ASM_STMT_INPUT): New.
8194         (ASM_STMT_CLOBBER): Likewise.
8195
8196 2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
8197
8198         * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
8199         general rcheck mechanism to raise Program_Error for E.4(18), instead
8200         of a custom raiser in System.Partition_Interface.
8201         Part of general cleanup work before PolyORB integration.
8202
8203         * snames.ads, snames.adb: Add new runtime library entities and names
8204         for PolyORB DSA.
8205
8206         * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
8207         exp_dist.
8208         (Build_Subprogram_Id): New subprogram provided by exp_dist
8209         Code reorganisation in preparation for PolyORB integration.
8210
8211         * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
8212         exp_dist.
8213         (Build_Subprogram_Id): New subprogram provided by exp_dist
8214
8215         * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
8216         actual parameter types for call to dereference of an
8217         access-to-subprogram type.
8218
8219         * rtsfind.ads: Add new runtime library entities and names for PolyORB
8220         DSA.
8221
8222         * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
8223         instead, which has the same behaviour here since we never pass it a
8224         NULL pointer.
8225
8226         * link.c (run_path_option, Solaris case): Use -Wl, as for other
8227         platforms.
8228
8229         * Makefile.in: adjust object file lists for gnatlink and gnatmake
8230         to account for new dependency upon Interfaces.C.Strings + link.o
8231         For x86 FreeBSD, use 86numaux.
8232
8233         * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
8234         from Mlib.Tgt to Mlib.
8235
8236         * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
8237         target-independent.
8238
8239         * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
8240         target-specific versions of this subprogram, now implemented as a
8241         target-independent function in Mlib.
8242
8243         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
8244         5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
8245         (Linker_Library_Path_Option): Remove target-specific versions of this
8246         subprogram, now implemented as a target-independent function in Mlib.
8247
8248         * atree.adb: (Allocate_Initialize_Node): New subprogram.
8249         Factors out node table slots allocation.
8250         (Fix_Parents): New subprogram.
8251         Encapsulate the pattern of fixing up parent pointers for syntactic
8252         children of a rewritten node.
8253         (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
8254         (Rewrite): Use New_Copy when creating saved copy of original node.
8255         (Replace): Use Copy_Node to copy nodes.
8256
8257 2004-04-19  Javier Miranda  <miranda@gnat.com>
8258
8259         * sprint.adb (Sprint_Node_Actual): Give support to the new
8260         Access_To_Subprogram node available in Access_Definition nodes. In
8261         addition, give support to the AI-231 node fields: null-exclusion,
8262         all-present, constant-present.
8263
8264         * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
8265
8266         * sinfo.ads, sinfo.adb:
8267         New field Access_To_Subprogram_Definition in Access_Definition nodes
8268
8269         * sem_ch6.adb (Process_Formals): Move here the code that creates and
8270         decorates internal subtype declaration corresponding to the
8271         null-excluding formal. This code was previously in Set_Actual_Subtypes.
8272         In addition, carry out some code cleanup on this code. In case of
8273         access to protected subprogram call
8274         Replace_Anonymous_Access_To_Protected_Subprogram.
8275         (Set_Actual_Subtypes): Code cleanup.
8276
8277         * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
8278         Find_Type in case of anonymous access renamings. Add warning in case of
8279         null-excluding attribute used in anonymous access renaming.
8280
8281         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
8282         subprogram
8283
8284         * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
8285         subprogram.
8286         (Access_Definition): In case of anonymous access to subprograms call
8287         the corresponding semantic routine to decorate the node.
8288         (Access_Subprogram_Declaration): Addition of some comments indicating
8289         some code that probably should be added here. Detected by comparison
8290         with the access_definition subprogram.
8291         (Analyze_Component_Declaration): In case of access to protected
8292         subprogram call Replace_Anonymous_Access_To_Protected.
8293         (Array_Type_Declaration): In case of access to protected subprogram call
8294         Replace_Anonymous_Access_To_Protected_Subprogram.
8295         (Process_Discriminants): In case of access to protected subprogram call
8296         Replace_Anonymous_Access_To_Protected_Subprogram.
8297
8298         * par.adb (P_Access_Definition): New formal that indicates if the
8299         null-exclusion part was present.
8300         (P_Access_Type_Definition): New formal that indicates if the caller has
8301         already parsed the null-excluding part.
8302
8303         * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
8304         (P_Identifier_Declarations): Code cleanup and give support to renamings
8305         of anonymous access to subprogram types.
8306         (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
8307         (P_Array_Type_Definition): Give support to AI-254.
8308         (P_Component_Items): Give support to AI-254.
8309         (P_Access_Definition): New formal that indicates if the header was
8310         already parsed by the caller.
8311         (P_Access_Type_Definition): New formal that indicates if the caller has
8312         already parsed the null-excluding part.
8313
8314         * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
8315         call to P_Access_Definition.
8316
8317 2004-04-19  Geert Bosch  <bosch@gnat.com>
8318
8319         * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
8320         the delicate semantics of floating-point to integer conversion.
8321         (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
8322
8323         * eval_fat.adb (Machine_Mantissa): Moved to spec.
8324         (Machine_Radix): New function.
8325
8326         * eval_fat.ads (Machine_Mantissa): Moved from body for use in
8327         conversion checks.
8328         (Machine_Radix): New function also for use in conversion checks.
8329
8330 2004-04-19  Ed Schonberg  <schonberg@gnat.com>
8331
8332         * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
8333
8334         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
8335         to decorate the access-to-protected subprogram and the equivalent type.
8336
8337         * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
8338         to anonymous access to subprogram types.
8339
8340         * exp_ch4.adb (Expand_N_In): Preserve Static flag before
8341         constant-folding, for legality checks in contexts that require an RM
8342         static expression.
8343
8344         * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
8345         temporary but stack checking is not enabled, increment serial number
8346         to so that symbol generation is consistent with and without stack
8347         checking.
8348
8349         * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
8350         independent on whether stack checking is enabled, caller must check
8351         the corresponding flag.
8352
8353         * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
8354         range checks.
8355         (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
8356         parent if it has discriminants.
8357         (Build_Derived_Private_Type): Constructed full view does
8358         not come from source.
8359         (Process_Discriminants): Default discriminants on a tagged type are
8360         legal if this is the internal completion of a private untagged
8361         derivation.
8362
8363         * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
8364         no constraint checks, because it corresponds to an existing object.
8365
8366         * sem_prag.adb (Process_Convention): Pragma applies
8367         only to subprograms in the same declarative part, i.e. the same unit,
8368         not the same scope.
8369
8370         * sem_res.adb (Valid_Conversion): In an instance or inlined body,
8371         ignore type mismatch on a numeric conversion if expression comes from
8372         expansion.
8373
8374 2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
8375
8376         * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
8377         Homonym_Number parameter, add processing for Source_Location parameter
8378         corresponding.
8379         (Check_Eliminated): Remove the check for homonym numbers, add the check
8380         for source location traces.
8381
8382         * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
8383         with Arg_Source_Location corresponding to the changes in the format of
8384         the pragma.
8385
8386         * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
8387         Eliminate pragma corresponding to the changes in the format of the
8388         pragma: Homonym_Number is replaced with Source_Location, two ways of
8389         distinguishing homonyms are mutially-exclusive.
8390
8391 2004-04-19  Joel Brobecker  <brobecker@gnat.com>
8392
8393         * get_targ.ads (Get_No_Dollar_In_Label): Remove.
8394
8395         * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
8396         No_Dollar_In_Label, no longer necessary, as it is always True.
8397         (Strip_Suffixes): Likewise.
8398
8399 2004-04-19  Gary Dismukes  <dismukes@gnat.com>
8400
8401         * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
8402         modulus for compatibility with size clause on targets with 16-bit
8403         Integer.
8404
8405         * layout.adb (Discrimify): In the case of private types, set Vtyp to
8406         full type to fix type mismatches on calls to size functions for
8407         discriminant-dependent array components.
8408
8409 2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
8410
8411         * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
8412         lib.
8413
8414 2004-04-19  Pascal Obry  <obry@gnat.com>
8415
8416         * mdll-utl.adb (Locate): New version is idempotent.
8417
8418 2004-04-17  Laurent Guerby <laurent@guerby.net>
8419
8420         PR ada/14988 (partial)
8421         * impunit.adb: Fix typo.
8422
8423 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
8424
8425         * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
8426         and install-rts-cert targets.  Remove all gnatlib and gnattools
8427         targets and all other rts-* targets (moved to libada).  Remove (now)
8428         unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
8429         TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
8430
8431 2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8432
8433         * trans.c (tree_transform): Shortcut returning error_mark_node for
8434         statements in annotate_only_mode.
8435         (tree_transform, case N_Label, case N_Return_Statement,
8436         N_Goto_Statement): Make statement tree instead of generating code.
8437         (tree_transform, case N_Assignment_Statement): No longer check
8438         type_annotate_only.
8439         (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
8440         RETURN_STMT): New.
8441         (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
8442         New fcns.
8443         (gnat_to_gnu): Collect any RTL generated and deal with it.
8444         (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
8445         (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
8446         (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
8447
8448         * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
8449
8450         * ada-tree.def (EXPR_STMT): Fix typo in name.
8451         (BLOCK_STMT, IF_STMT): New nodes.
8452
8453         * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
8454         LABEL_STMT_FIRST_IN_EH): New macros.
8455         (RETURN_STMT_EXPR): Likewise.
8456
8457         * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
8458         IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
8459
8460 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
8461
8462         * atree.ads: Correct documentation on extended nodes.
8463
8464         * link.c: Set run_path_option for FreeBSD.
8465
8466 2004-04-08  Vincent Celier  <celier@gnat.com>
8467
8468         * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
8469         one of the ALI file, do not link with DEC lib.
8470
8471         * par.adb Remove the last two characters ("%s" or "%b") when checking
8472         if a language defined unit may be recompiled.
8473
8474 2004-04-08  Ed Schonberg  <schonberg@gnat.com>
8475
8476         * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
8477         removal of abstract operation leaves no possible interpretation for
8478         expression.
8479
8480         * sem_eval.adb (Eval_Qualified_Expression): Use
8481         Set_Raises_Constraint_Error on node when needed, so that it does not
8482         get optimized away by subsequent optimizations.
8483
8484         * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
8485         operands even when they are not wrapped in a type conversion.
8486
8487 2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
8488
8489         * sem_prag.adb (Set_Exported): Warn about making static as result of
8490         export only when the export is coming from source. This may be not
8491         be true e.g. on VMS where we expand export pragmas for exception codes
8492         together with imported or exported exceptions, and we don't want the
8493         user to be warned about something he didn't write.
8494
8495 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
8496
8497         * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
8498         duplication between normal entities and those declared as renamings.
8499         No functional change.
8500
8501         * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
8502         inline functions returning an unconstrained result.
8503
8504 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
8505
8506         * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
8507         conform to what other front-ends do.
8508
8509 2004-04-08  Doug Rupp  <rupp@gnat.com>
8510
8511         * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
8512         libraries.
8513
8514 2004-04-06  Pascal Obry  <obry@gnat.com>
8515
8516         * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
8517
8518         * osint.adb (Program_Name): Do not look past a directory separator.
8519
8520 2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
8521
8522         * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
8523
8524         * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
8525         requirement for preserving a copy of the original assignment node.
8526
8527         * sinfo.ads: Update comment (Original_Tree -> Original_Node).
8528
8529 2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
8530
8531         (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
8532         when supported.
8533
8534 2004-04-06  Ed Schonberg  <schonberg@gnat.com>
8535
8536         * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
8537         operator calls in functional notation, and apply
8538         Universal_Interpretation to operands, not to their type.
8539
8540 2004-04-06  Robert Dewar  <dewar@gnat.com>
8541
8542         * 5wdirval.adb: Minor reformatting
8543
8544 2004-04-06  Ed Falis  <falis@gnat.com>
8545
8546         * gnat_rm.texi: Improve a reference to the GCC manual
8547
8548 2004-04-05  Vincent Celier  <celier@gnat.com>
8549
8550         * adaint.h, adaint.c: Add function __gnat_named_file_length
8551
8552         * impunit.adb: Add Ada.Directories to the list
8553
8554         * Makefile.in: Add VMS and Windows versions of
8555         Ada.Directories.Validity package body.
8556
8557         * Makefile.rtl: Add a-direct and a-dirval
8558
8559         * mlib-tgt.ads: Minor comment update.
8560
8561         * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
8562         a-direct.ads, a-direct.adb: New files.
8563
8564 2004-04-05  Vincent Celier  <celier@gnat.com>
8565
8566         PR ada/13620
8567         * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
8568         just to the compiler.
8569
8570 2004-04-05  Robert Dewar  <dewar@gnat.com>
8571
8572         * a-except.adb (Exception_Name_Simple): Make sure lower bound of
8573         returned string is 1.
8574
8575         * ali-util.adb: Use proper specific form for Warnings (Off, entity)
8576
8577         * eval_fat.ads: Minor reformatting
8578
8579         * g-curexc.ads: Document that lower bound of returned string values
8580         is always one.
8581
8582         * gnatlink.adb: Add ??? comment for previous change
8583         (need to document why this is VMS specific)
8584
8585         * s-stoele.ads: Minor reformatting
8586
8587         * tbuild.ads: Minor reformatting throughout (new function specs)
8588
8589         * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
8590         after WITH.
8591
8592         * scng.adb: Minor reformatting
8593
8594 2004-04-05  Geert Bosch  <bosch@gnat.com>
8595
8596         * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
8597         (Leading_Part): Still perform truncation to machine number if the
8598         specified radix_digits is greater or equal to machine_mantissa.
8599
8600 2004-04-05  Javier Miranda  <miranda@gnat.com>
8601
8602         * par-ch3.adb: Complete documentation of previous change
8603         Correct wrong syntax documentation of the OBJECT_DECLARATION rule
8604         (aliased must appear before constant).
8605
8606         * par-ch4.adb: Complete documentation of previous change.
8607
8608         * par-ch6.adb: Complete documentation of previous change.
8609
8610         * sinfo.ads: Fix typo in commment.
8611
8612 2004-04-05  Ed Schonberg  <schonberg@gnat.com>
8613
8614         * sem_ch3.adb (Inherit_Components): If derived type is private and has
8615         stored discriminants, use its discriminants to constrain parent type,
8616         as is done for non-private derived record types.
8617
8618         * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
8619         Ada 2005 AI-310: an abstract non-dispatching operation is not a
8620         candidate interpretation in an overloaded call.
8621
8622         * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
8623         expression is Null and target type is not an access type (e.g. a
8624         non-private address type).
8625
8626 2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
8627
8628         * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
8629         statement whose right-hand side is an inlined call, save a copy of the
8630         original assignment subtree to preserve enough consistency for
8631         Analyze_Assignment to proceed.
8632
8633         * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
8634         complete assignment subtree which is now unnecessary, as the expansion
8635         of inlined call has been improved to preserve a consistent assignment
8636         tree.  Note_Possible_Modification must be called only
8637         after checks have been applied, or else unnecessary checks will
8638         be generated.
8639
8640         * sem_util.adb (Note_Possible_Modification): Reorganise the handling
8641         of explicit dereferences that do not Come_From_Source:
8642          - be selective on cases where we must go back to the dereferenced
8643            pointer (an assignment to an implicit dereference must not be
8644            recorded as modifying the pointer);
8645          - do not rely on Original_Node being present (Analyze_Assignment
8646            calls Note_Possible_Modification on a copied tree).
8647
8648         * sem_warn.adb (Check_References): When an unset reference to a pointer
8649         that is never assigned is encountered, prefer '<pointer> may be null'
8650         warning over '<pointer> is never assigned a value'.
8651
8652 2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
8653
8654         * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
8655         the ABI.
8656
8657 2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
8658
8659         * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
8660         libexc. We currently don't reference anything in this library and
8661         linking it in triggers linker warnings we don't want to see.
8662
8663         * init.c: Update comments.
8664
8665 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8666
8667         * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
8668         * utils.c (create_field_decl): Likewise.
8669         * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
8670
8671 2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
8672
8673         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
8674         Replace ifinfo by ifnottex, to make makeinfo --html happy again.
8675         Add info directory entry and category.
8676
8677 2004-04-02  Jan Hubicka  <jh@suse.cz>
8678
8679         * utils.c: Include function.h
8680         (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
8681
8682 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
8683
8684         PR ada/14150
8685         * Make-lang.in: Clean up generation of documentation
8686
8687         * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
8688
8689         * xgnatug.adb: Removed, replaced by xgnatugn.adb
8690
8691         * xgnatugn.adb: Replaces xgnatug.adb
8692
8693         * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
8694
8695         * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
8696
8697         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
8698         gnat_ug_wnt.texi: Removed.
8699
8700 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
8701
8702         * utils2.c: Update copyright notice.
8703
8704 2004-04-01  Robert Dewar  <dewar@gnat.com>
8705
8706         * checks.adb: Minor reformatting throughout
8707         Note that prev checkin added RM reference to alignment warning
8708
8709 2004-04-01  Ed Schonberg  <schonberg@gnat.com>
8710
8711         * exp_aggr.adb (Get_Component_Val): Treat a string literal as
8712         non-static when building aggregate for bit-packed array.
8713
8714         * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
8715         function call that is itself the actual in a procedure call, build
8716         temporary for it.
8717
8718         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
8719         a string literal, create a temporary for it, constant folding only
8720         handles scalars here.
8721
8722 2004-04-01  Vincent Celier  <celier@gnat.com>
8723
8724         * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
8725         Error_Msg_SP): New empty procedures to instantiate the Scanner.
8726         (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
8727         tokens.
8728         (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
8729         (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
8730         and get the checksum.
8731
8732         * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
8733         already in the Q.
8734         Increase the Marking_Label at the end of the Multiple_Main_Loop,
8735         instead of at the beginning.
8736
8737         * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
8738         directly.
8739         (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
8740         on VMS.
8741
8742         * osint.ads (Multi_Unit_Index_Character): New Character global variable
8743
8744         * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
8745         not '~' directly.
8746
8747         * par.adb: Remove test on file name to detect language defined units.
8748         Add test on unit name, after parsing, to detect language defined units
8749         that are not compiled with -gnatg (except System.RPC and its children)
8750
8751         * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
8752         following units without style checking.
8753
8754         * switch-c.adb: Change -gnatC to -gnateI
8755
8756         * usage.adb: Document new switch -gnateInnn
8757
8758         * scng.adb (Accumulate_Token_Checksum): New procedure
8759         (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
8760         word or literal number.
8761         (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
8762         numbers.
8763
8764 2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
8765
8766         * a-tasatt.adb,
8767         g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
8768         switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
8769         5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
8770         5vtpopde.adb: Add missing 'constant' keywords.
8771
8772 2004-04-01  Javier Miranda  <miranda@gnat.com>
8773
8774         * par-ch4.adb: (P_Allocator): Code cleanup
8775
8776         * sem_ch3.adb (Access_Definition): Properly set the null-excluding
8777         attribute.
8778
8779         * sinfo.ads: Complete documentation of previous change
8780
8781 2004-04-01  Pascal Obry  <obry@gnat.com>
8782
8783         * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
8784         only on VMS.  This special handling was done because an old GNU/ld bug
8785         on Windows which has been fixed.
8786
8787 2004-04-01  GNAT Script  <nobody@gnat.com>
8788
8789         * Make-lang.in: Makefile automatically updated
8790
8791 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8792
8793         * decl.c (gnat_to_gnu_entity, make_type_from_size):
8794         Use TYPE_UNSIGNED, not TREE_UNSIGNED.
8795         * trans.c (tree_transform, convert_with_check): Likewise.
8796         * utils.c (gnat_signed_or_unsigned_type): Likewise.
8797         (build_vms_descriptor, unchecked_convert): Likewise.
8798         * utils2.c (nonbinary_modular_operation): Likewise.
8799
8800 2004-03-29  Javier Miranda  <miranda@gnat.com>
8801
8802         * checks.adb (Null_Exclusion_Static_Checks): New subprogram
8803         (Install_Null_Excluding_Check): Local subprogram that determines whether
8804         an access node requires a runtime access check and if so inserts the
8805         appropriate run-time check.
8806         (Apply_Access_Check): Call Install_Null_Excluding check if required
8807         (Apply_Constraint_Check): Call Install_Null_Excluding check if required
8808
8809         * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
8810
8811         * einfo.ads: Fix typo in comment
8812
8813         * exp_ch3.adb (Build_Assignment): Generate conversion to the
8814         null-excluding type to force the corresponding run-time check.
8815         (Expand_N_Object_Declaration): Generate conversion to the null-excluding
8816         type to force the corresponding run-time check.
8817
8818         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
8819         the null-excluding type to force the corresponding run-time check.
8820
8821         * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
8822         case of access types unless they have the null-excluding attribute.
8823
8824         * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
8825         part.
8826
8827         * exp_util.ads: Fix typo in comment
8828
8829         * par.adb (P_Null_Exclusion): New subprogram
8830         (P_Subtype_Indication): New formal that indicates if the null-excluding
8831         part has been scanned-out and it was present
8832
8833         * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
8834
8835         * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
8836         (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
8837         type to force the corresponding run-time check
8838         (Resolve_Aggregate): Propagate the null-excluding attribute to the array
8839         components
8840         (Resolve_Array_Aggregate): Carry out some static checks
8841         (Resolve_Record_Aggregate.Get_Value): Carry out some static check
8842
8843         * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
8844         attribute must be set only if specified by means of the null-excluding
8845         part. In addition, we must also propagate the access-constant attribute
8846         if present.
8847         (Access_Subprogram_Declaration, Access_Type_Declaration,
8848         Analyze_Component_Declaration, Analyze_Object_Declaration,
8849         Array_Type_Declaration, Process_Discriminants,
8850         Analyze_Subtype_Declaration): Propagate the null-excluding attribute
8851         and carry out some static checks.
8852         (Build_Derived_Access_Type): Set the null-excluding attribute
8853         (Derived_Type_Declaration, Process_Subtype): Carry out some static
8854         checks.
8855
8856         * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
8857
8858         * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
8859
8860         * sem_ch6.adb (Process_Formals): Carry out some static checks.
8861         (Set_Actual_Subtypes): Generate null-excluding subtype if the
8862         null-excluding part was present; it is not required to be done here in
8863         case of anonymous access types.
8864         (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
8865         value.
8866
8867         * sem_res.adb (Resolve_Actuals): Carry out some static check
8868         (Resolve_Null): Allow null in anonymous access
8869
8870         * sinfo.adb: New subprogram Null_Exclusion_Present
8871         All_Present and Constant_Present available on access_definition nodes
8872
8873         * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
8874         object_declaration, derived_type_definition, component_definition,
8875         discriminant_specification, access_to_object_definition,
8876         access_function_definition, allocator, access_procedure_definition,
8877         access_definition, parameter_specification, All_Present and
8878         Constant_Present flags available on access_definition nodes.
8879
8880 2004-03-29  Robert Dewar  <dewar@gnat.com>
8881
8882         * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
8883         gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
8884         opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
8885         par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
8886         sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
8887         sem_prag.adb: Updates to handle multiple units/file
8888
8889         * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
8890
8891         * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
8892         sem_util.adb: Minor reformatting
8893
8894         * sem_ch12.adb: Add comment for previous change
8895
8896 2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
8897
8898         * osint.adb (Executable_Prefix): Set Exec_Name to the current
8899         executable name when not initialized. Otherwise, use its current value.
8900
8901         * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
8902         initialize it to another executable name than the current one. This
8903         allows to configure paths for an executable name (gnatmake) different
8904         from the current one (gnatdist).
8905
8906 2004-03-29  Ed Schonberg  <schonberg@gnat.com>
8907
8908         * exp_ch6.adb (Expand_Call): A call to a function declared in the
8909         current unit cannot be inlined if it appears in the body of a withed
8910         unit, to avoid order of elaboration problems in gigi.
8911
8912         * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
8913         information for protected (wrapper) operation as well, to simplify gdb
8914         use.
8915
8916         * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
8917         protected body, indicate that the entity for the generated spec comes
8918         from source, to ensure that references are properly generated for it.
8919         (Build_Body_To_Inline): Do not inline a function that returns a
8920         controlled type.
8921
8922         * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
8923         apply convention to homonyms that are declared explicitly.
8924
8925         * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
8926         that renames an equality operator and the operands are overloaded,
8927         resolve them with the declared formal types, before rewriting as an
8928         operator.
8929
8930 2004-03-29  GNAT Script  <nobody@gnat.com>
8931
8932         * Make-lang.in: Makefile automatically updated
8933
8934 2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
8935
8936         * memtrack.adb: Log realloc calls, which are treated as free followed
8937         by alloc.
8938
8939 2004-03-25  Vincent Celier  <celier@gnat.com>
8940
8941         * prj-makr.adb (Process_Directories): Detect when a file contains
8942         several units. Do not include such files in the config pragmas or
8943         in the naming scheme.
8944
8945         * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
8946         Resolve links only when not in Trusted_Mode.
8947         (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
8948         Do not resolve links for the display names.
8949
8950         * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
8951         resolve links when computing the display names.
8952
8953 2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
8954
8955         * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
8956         attribute reference does not denote a subtype, it can be any
8957         expression that has a classwide type, potentially after an implicit
8958         dereference.  In particular, the prefix can be a view conversion for
8959         a classwide type (for which Is_Object_Reference holds), but it can
8960         also be a value conversion for an access-to-classwide type. In the
8961         latter case, there is an implicit dereference, and the original node
8962         for the prefix does not verify Is_Object_Reference.
8963
8964         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
8965         conversion of a discriminant-dependent component of a mutable object
8966         is one itself.
8967
8968 2004-03-25  Ed Schonberg  <schonberg@gnat.com>
8969
8970         * freeze.adb (Freeze_Entity): When an inherited subprogram is
8971         inherited, has convention C, and has unconstrained array parameters,
8972         place the corresponding warning on the derived type declaration rather
8973         than the original subprogram.
8974
8975         * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
8976         indication on renaming declaration, if formal has a box and actual
8977         is absent.
8978
8979         * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
8980         determine whether to generate an implicit or explicit reference to
8981         the renamed entity.
8982
8983         * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
8984         subprogram renaming comes from a defaulted formal subprogram in an
8985         instance.
8986
8987 2004-03-25  Gary Dismukes  <dismukes@gnat.com>
8988
8989         * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
8990         value expressions to ensure that calls within a component definition
8991         will be checked (since those are evaluated during the record type's
8992         elaboration).
8993
8994 2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
8995
8996         * s-tpobop.adb: Code clean up:
8997         (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
8998         code.
8999         (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
9000
9001 2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
9002
9003         * Makefile.in: Clean up in the ravenscar run time.
9004
9005 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9006
9007         * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
9008         of No_Strict_Aliasing to build_pointer_type_for_mode.
9009         * utils.c (update_pointer_to): Walk pointer and ref chains.
9010
9011 2004-03-22  Cyrille Comar  <comar@act-europe.fr>
9012
9013         * ali.ads: Fix Comment about Dynamic_Elab.
9014
9015         * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
9016         Has_RACW, Is_Generic, etc.)
9017         (Output_Object, Gnatls): Take into account ALI files not attached to
9018         an object.
9019
9020 2004-03-22  Vincent Celier  <celier@gnat.com>
9021
9022         * gprep.adb: Change all String_Access to Name_Id
9023         (Is_ASCII_Letter): new function
9024         (Double_File_Name_Buffer): New procedure
9025         (Preprocess_Infile_Name): New procedure
9026         (Process_Files): New procedure
9027         (Gnatprep): Check if output and input are existing directories.
9028         Call Process_Files to do the real job.
9029
9030 2004-03-22  Robert Dewar  <dewar@gnat.com>
9031
9032         * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
9033         s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
9034
9035 2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
9036
9037         * scn.adb (Contains): Add check for EOF, is needed for a degenerated
9038         case when the source contains only comments.
9039
9040 2004-03-22  Ed Schonberg  <schonberg@gnat.com>
9041
9042         * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
9043         declaration for a child subprogram body that acts as a spec, indicate
9044         that the entity in the declaration needs debugging information.
9045
9046         * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
9047         full view if the subtype is created for a constrained record component;
9048         gigi has enough information to construct the record, and there is no
9049         place in the tree for the declaration.
9050
9051         * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
9052         serial number for the dummy body that is built for analysis, to avoid
9053         inconsistencies in the generation of internal names when compiling
9054         with -gnatN.
9055
9056 2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
9057
9058         * sem_util.adb (Is_Object_Reference): A view conversion denotes an
9059         object.
9060
9061 2004-03-22  GNAT Script  <nobody@gnat.com>
9062
9063         * Make-lang.in: Makefile automatically updated
9064
9065 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9066
9067         * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
9068         * trans.c (tree_transform, emit_index_check): Likewise.
9069         * utils.c (build_template): Likewise.
9070         (max_size, convert): Remove handling of WITH_RECORD_EXPR.
9071         (maybe_unconstrained_array, unchecked_convert): Likewise.
9072         * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
9073         (build_unary_op): Likewise.
9074         (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
9075         (fill_vms_descriptor): Likewise.
9076         (build_call_alloc_dealloc): Likewise.
9077         ALIGN is unsigned.
9078         * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
9079
9080 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
9081
9082         PR other/14630
9083         * gnat_ug.texi: Add info directory category and entry.
9084         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
9085         gnat_ug_wnt.texi: Regenerate.
9086
9087 2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
9088
9089         * ada-tree.h: Update copyright notice.
9090         Minor reformatting.
9091
9092 2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
9093
9094         * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
9095         as regular exception objects and not as mere integers representing the
9096         condition code.  The latter approach required some dynamics to mask off
9097         severity bits, which did not fit well into the GCC table based model.
9098         (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
9099         exception data objects. We don't it and it would conflict with the other
9100         external symbol we have to generate for such exceptions.
9101
9102         * trans.c (tree_transform, case N_Exception_Handler): Remove part of
9103         the special code for VMS exceptions, since these are now represented
9104         as regular exceptions objects.
9105
9106 2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9107
9108         * decl.c (debug_no_type_hash): Remove.
9109         (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
9110         * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
9111
9112 2004-03-19  Laurent Guerby <laurent@guerby.net>
9113
9114         * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
9115         aggregate, allows bootstrap from 3.3 on powerpc-darwin.
9116
9117 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9118
9119         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
9120         (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
9121         (TYPE_RM_SIZE_INT): Directly use type.values.
9122         (TREE_LOOP_ID): Clean up check.
9123         * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
9124         TYPE_VALUES, not TYPE_FIELDS.
9125         * trans.c (convert_with_check): Delay access of bounds of basetype
9126         until sure is numeric.
9127
9128 2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
9129
9130         * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
9131
9132         Code clean up:
9133         * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
9134         5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
9135         Specific.Set instead of direct call to e.g pthread_setspecific.
9136
9137 2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
9138
9139         * adaint.c: Update comments.
9140
9141         * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
9142         GNATLIB_SHARED for FreeBSD.
9143
9144 2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
9145
9146         * init.c [VxWorks]: Do not fix the stack size for the environment task.
9147         When needed (stack checking) the stack size is retrieved
9148         from the VxWorks kernel.
9149
9150         * Makefile.in: Flag -nostdinc is required when building the run time
9151         for avoiding looking for files in the base compiler.
9152         Add the VxWorks specific version of the package body for
9153         System.Stack_checking.Operations (5zstchop.adb).
9154
9155         * Make-lang.in: Add the object file for
9156         System.Stack_Checking.Operations.
9157
9158         * Makefile.rtl: Add object file for the package
9159         System.Stack_Checking.Operations.
9160
9161         * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
9162
9163         * s-stache.ads, s-stache.adb: Move the operations related to stack
9164         checking from this package to package System.Stack_Checking.Operations.
9165         This way, stack checking operations are only linked in the final
9166         executable when using the -fstack-check flag.
9167
9168 2004-03-18  Doug Rupp  <rupp@gnat.com>
9169
9170         * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
9171         Reorganize ifeq's.
9172
9173         * 5qsystem.ads, 5xcrtl.ads: New files.
9174
9175 2004-03-18  Vincent Celier  <celier@gnat.com>
9176
9177         * prj.adb (Reset): Reset hash table Files_Htable
9178
9179         * prj-env.adb (Source_Paths, Object_Paths): New tables.
9180         (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
9181         the procedures Add_To_Path_File.
9182         (Set_Ada_Paths): Accumulate source and object dirs in the tables,
9183         making sure that each directory is present only once and, for object
9184         dirs, when a directory already present is added, the duplicate is
9185         removed and the directory is always put as the last in the table.
9186         Write the path files at the end of these accumulations.
9187
9188         * prj-nmsc.adb (Record_Source): Add source file name in hash table
9189         Files_Htable for all sources.
9190
9191         * prj-proc.adb (Process): Remove restrictions between not directly
9192         related extending projects.
9193
9194 2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
9195
9196         * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
9197         (Find_Sources): Minor speed optimization.
9198
9199         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
9200         parameter Trusted_Mode.
9201
9202 2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
9203
9204         * scn.adb (Determine_License): Take into account a degenerated case
9205         when the source contains only comments.
9206
9207 2004-03-18  Ed Schonberg  <schonberg@gnat.com>
9208
9209         * sem_warn.adb (Check_References): For a warning on a selected
9210         component that does not come from source, locate an uninitialized
9211         component of the record type to produce a more precise error message.
9212
9213 2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
9214
9215         * 3zsoccon.ads: Fix multicast options.
9216
9217         * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
9218         in the spec.
9219
9220 2004-03-15  Robert Dewar  <dewar@gnat.com>
9221
9222         * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
9223         pragma used for a private type.
9224
9225         * lib-xref.adb (Generate_Reference): Do not generate warning if
9226         reference is in a different unit from the pragma Unreferenced.
9227
9228         * 5vtpopde.adb: Minor reformatting
9229         Fix casing of To_Task_ID
9230
9231         * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
9232         flag if we have an unchecked conversion to an access type in the same
9233         unit.
9234
9235 2004-03-15  Geert Bosch  <bosch@gnat.com>
9236
9237         * a-ngcoty.adb (Modulus): In alternate formula for large real or
9238         imaginary parts, use Double precision throughout.
9239
9240         * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
9241         we want to be able to compile run-time with -gnata for testing, but
9242         this may also be instantiated in user code that is compiled with -gnata.
9243
9244 2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
9245
9246         * s-stalib.ads (Exception_Code): New type, to represent Import/Export
9247         codes. Having a separate type for this is useful to enforce consistency
9248         throughout the various run-time units.
9249         (Exception_Data): Use Exception_Code for Import_Code.
9250
9251         * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
9252         Natural and Integer in various places.
9253         (Register_VMS_Exception): Use Base_Code_In to compute the exception code
9254         with the severity bits masked off.
9255         (Register_VMS_Exception): Handle the additional exception data pointer
9256         argument.
9257
9258         * raise.c (_GNAT_Exception structure): Remove the handled_by_others
9259         component, now reflected by an exported accessor.
9260         (is_handled_by): New routine to compute whether the propagated
9261         occurrence matches some handler choice specification. Extracted out of
9262         get_action_description_for, and expanded to take care of the VMS
9263         specifities.
9264         (get_action_description_for): Use is_handled_by instead of an explicit
9265         complex condition to decide if the current choice at hand catches the
9266         propagated occurrence.
9267
9268         * raise.h (Exception_Code): New type for C.
9269
9270         * rtsfind.ads (RE_Id, RE_Unit_Table): Add
9271         System.Standard_Library.Exception_Code, to allow references from the
9272         pragma import/export expander.
9273
9274         * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
9275         New accessors to allow easy access to GNAT exception data
9276         characteristics.
9277         (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
9278         redundant Handled_By_Others component, helper for the personality
9279         routine which will now be able to call the appropriate exception data
9280         accessor instead.
9281
9282         * cstand.adb (Create_Standard): Adjust the type of the Import_Code
9283         component of Standard_Exception_Type to be the closest possible to
9284         Exception_Code in System.Standard_Library, that we cannot get at this
9285         point. Expand a ??? comment to notify that this type node should
9286         probably be rewritten later on.
9287
9288         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
9289         registration call to include a pointer to the exception object in the
9290         arguments.
9291
9292         * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
9293         instead of int and explicit bitmasks.
9294
9295 2004-03-15  Vincent Celier  <celier@gnat.com>
9296
9297         * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
9298         equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
9299
9300         * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
9301         longer needed now that it is in the spec of
9302         System.Tasking.Task_Attributes.
9303
9304         * adaint.h, adaint.c: (__gnat_create_output_file): New function
9305
9306         * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
9307
9308         * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
9309
9310         * make.adb (Gnatmake): Do not check the executable suffix; it is being
9311         taken care of in Scan_Make_Arg.
9312         (Scan_Make_Arg): Add the executable suffix only if the argument
9313         following -o, in canonical case, does not end with the executable
9314         suffix.  When in verbose mode and executable file name does not end
9315         with executable suffix, output the executable name, in canonical case.
9316
9317         * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
9318         to avoid warnings when instantiating Ada.Task_Attributes.
9319         Minor reformating.
9320
9321         * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
9322         in the correct order.
9323
9324         * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
9325         redirect standard output and error to a file for the invocation of the
9326         compiler, then read the file.
9327
9328         * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
9329         directory, instead of the Value.
9330         (Find_Source_Dirs): Remove useless code & comments.
9331
9332 2004-03-15  Ed Schonberg  <schonberg@gnat.com>
9333
9334         * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
9335         tagged type is inherited, and the parent operation is not frozen yet,
9336         force generation of a freeze node for the inherited operation, so the
9337         corresponding dispatch entry is properly initialized.
9338         (Make_Predefined_Primitive_Specs): Check that return type is Boolean
9339         when looking for user-defined equality operation.
9340
9341         * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
9342         boolean when locating primitive equality of tagged component.
9343
9344         * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
9345         bit-aligned field and the right-hand side a string literal, introduce
9346         a temporary before expanding assignment into a loop.
9347
9348         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
9349         priority in full, to ensure that any expanded subepxressions of it are
9350         elaborated in the scope of the init_proc.
9351
9352         * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
9353         after object declaration, skipping over code that may have been
9354         generated for validity checks.
9355
9356         * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
9357         discriminants, ignore the known discriminants of its full view, if
9358         any, to check legality.
9359
9360         * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
9361         component if type has unknown discriminants.
9362         (Analyze_Private_Extension_Declaration): Discriminant constraint is
9363         null if type has unknown discriminants.
9364
9365         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
9366         for end label when present.
9367
9368         * s-fileio.adb (Open): When called with a C_Stream, use given name for
9369         temporary file, rather than an empty string.
9370
9371 2004-03-15  Ed Falis  <falis@gnat.com>
9372
9373         * s-thread.adb: Removed, no longer used.
9374
9375 2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9376
9377         * decl.c (target.h): Now include.
9378         (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
9379         in new build_pointer_from_mode calls for non-fat/non-thin pointer.
9380         (validate_size): For POINTER_TYPE, get smallest size permitted on
9381         machine.
9382
9383         * fe.h: Sort Einfo decls and add Set_Mechanism.
9384
9385         * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
9386         (ada/decl.o): Depends on target.h.
9387
9388         * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
9389         FUNCTION_BOUNDARY; always use TYPE_ALIGN.
9390
9391 2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
9392
9393         * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
9394
9395         * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
9396         Insert_Dereference_Action when rewriting an implicit dereference into
9397         an explicit one, this will be taken care of during expansion of the
9398         explicit dereference.
9399         (Expand_N_Slice): Same. Always do the rewriting, even for the case
9400         of non-packed slices, since the dereference action generated by
9401         expansion of the explicit dereference is needed in any case.
9402         (Expand_N_Selected_Component): When rewriting an implicit dereference,
9403         analyze and resolve the rewritten explicit dereference so it is seen
9404         by the expander.
9405         (Insert_Dereference_Action): This procedure is now called only for the
9406         expansion of an N_Explcit_Dereference_Node. Do insert a check even for
9407         dereferences that do not come from source (including explicit
9408         dereferences resulting from rewriting implicit ones), but do not
9409         recursively insert a check for the dereference nodes contained within
9410         the check.
9411         (Insert_Dereference_Action): Clarify and correct comment.
9412
9413 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
9414
9415         PR ada/14131
9416         Move language detection to the top level.
9417         * config-lang.in: Build by default.
9418
9419 2004-03-05  Robert Dewar  <dewar@gnat.com>
9420
9421         * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
9422
9423         * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
9424         i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
9425         5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
9426         5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
9427         unchecked conversion to spec to avoid warnings.
9428
9429         * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
9430         to Task_ID
9431
9432         * 7stpopsp.adb: Correct casing in To_Task_ID call
9433
9434         * a-strsea.ads, a-strsea.adb: Minor reformatting
9435
9436         * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
9437
9438         * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
9439         Adjust Max_Msg_Length to be clearly large enough.
9440
9441         * fe.h: Define In_Same_Source_Unit
9442
9443         * osint.adb: Add pragma Warnings Off to suppress warnings
9444         * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
9445         aliasing warnings.
9446
9447         * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
9448
9449         * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
9450
9451         * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
9452
9453         * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
9454
9455         * sem_prag.adb: Implement pragma No_Strict_Aliasing.
9456
9457         * sinfo.ads: Remove obsolete comment on validate unchecked conversion
9458         node. We now do generate them for gcc back end.
9459
9460         * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
9461         warning.
9462
9463         * sinput-c.adb: Fix bad name in header.
9464         Add pragma Warnings Off to suppress aliasing warning.
9465
9466         * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
9467
9468         * snames.h, snames.ads, snames.adb: Add entry for pragma
9469         No_Strict_Aliasing.
9470
9471 2004-03-05  Vincent Celier  <celier@gnat.com>
9472
9473         * prj-com.ads: Add hash table Files_Htable to check when a file name
9474         is already a source of another project.
9475
9476         * prj-nmsc.adb (Record_Source): Before recording a new source, check
9477         if its file name is not already a source of another project. Report an
9478         error if it is.
9479
9480         * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
9481         source file name, call gnatpp with all the sources of the main project.
9482
9483         * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
9484         of file names.
9485
9486         * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
9487         NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
9488         /RUNTIME_SYSTEM=, converted to --RTS=
9489         /NOTABS, converted to -notabs
9490
9491 2004-03-05  Pascal Obry  <obry@gnat.com>
9492
9493         * make.adb: Minor reformatting.
9494
9495 2004-03-05  Ed Schonberg  <schonberg@gnat.com>
9496
9497         Part of implemention of AI-262.
9498         * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
9499
9500         * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
9501         procedure.
9502
9503         * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
9504         when component type is a partially constrained class-wide subtype.
9505         (Constrain_Discriminated_Type): If parent type has unknown
9506         discriminants, a constraint is illegal, even if full view has
9507         discriminants.
9508         (Build_Derived_Record_Type): Inherit discriminants when deriving a type
9509         with unknown discriminants whose full view is a discriminated record.
9510
9511         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
9512         flag, to handle properly derivations of tagged types with unknown
9513         discriminants.
9514         (Analyze_Package_Spec, Analyze_Package_Body): Install
9515         Private_With_Clauses before analyzing private part or body.
9516
9517         * einfo.ads: Indicate that both Has_Unknown_Discriminants and
9518         Has_Discriminants can be true for a given type (documentation).
9519
9520 2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
9521
9522         * s-restri.ads: Fix license (GPL->GMGPL).
9523
9524         * s-tassta.adb: Minor reformatting.
9525
9526         * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
9527         by calls to Exit_One_ATC_Level, since additional clean up is performed
9528         by this function.
9529
9530         * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
9531         by calls to Exit_One_ATC_Level, since additional clean up is performed
9532         by this function.
9533
9534 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9535
9536         * trans.c: Reflect GCC changes to fix bootstrap problem.
9537         Add warning for suspicious aliasing unchecked conversion.
9538
9539 2004-03-05  GNAT Script  <nobody@gnat.com>
9540
9541         * Make-lang.in: Makefile automatically updated
9542
9543 2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
9544
9545         * ali.adb (Read_Instantiation_Instance): Do not modify the
9546         current_file_num when reading information about instantiations, since
9547         this corrupts files in later references.
9548
9549 2004-03-02  Vincent Celier  <celier@gnat.com>
9550
9551         * bcheck.adb (Check_Consistency): Get the full path of an ALI file
9552         before checking if it is read-only.
9553
9554         * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
9555         of SRC_DIRS and eliminate duplicates.
9556
9557         * gprcmd.adb: Replace command "path" with command "path_sep" to return
9558         the path separator.
9559         (Usage): Document path_sep
9560
9561         * Makefile.generic: For Ada and GNU C++ cases, link directly with the
9562         C++ compiler. No need for a script.
9563         Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
9564         Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
9565         subst.
9566
9567         * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
9568         where there are Ada sources.
9569         (Set_Ada_Paths): Only add to the include path the source dirs of project
9570         with Ada sources.
9571         (Add_To_Path): Add the Display_Values of the directories, not their
9572         Values.
9573
9574         * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
9575         data.
9576
9577         * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
9578         is not No_Name.
9579         (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
9580         Value is canonicalized.
9581         (Language_Independent_Check): Do not copy Value to Display_Value when
9582         canonicalizing Value.
9583
9584         * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
9585         path to find limited with cycles.
9586         (Parse_Single_Project): Use canonical cased path to find the end of a
9587         with cycle.
9588
9589 2004-03-02  Ed Schonberg  <schonberg@gnat.com>
9590
9591         * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
9592         and not a child unit.
9593
9594         * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
9595         appear in a with_clause.
9596
9597         * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
9598         only happen in type_annotate mode, do not try to elaborate it.
9599
9600         * exp_util.adb (Force_Evaluation): If expression is a selected
9601         component on the left of an assignment, use a renaming rather than a
9602         temporary to remove side effects.
9603
9604         * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
9605         inlined instance body, which is analyzed before the end of the
9606         enclosing scope.
9607
9608 2004-03-02  Robert Dewar  <dewar@gnat.com>
9609
9610         * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
9611         sem_ch4.adb: Use new feature for substitution of keywords in VMS
9612
9613         * errout.ads, errout.adb: Implement new circuit for substitution of
9614         keywords in VMS.
9615
9616         * sem_case.adb (Analyze_Choices): Place message properly when case is
9617         a subtype reference rather than an explicit range.
9618
9619         * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
9620
9621 2004-03-02  Doug Rupp  <rupp@gnat.com>
9622
9623         * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
9624
9625 2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
9626
9627         * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
9628
9629 2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9630
9631         * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
9632         BLKmode bitfield.
9633
9634 2004-02-25  Robert Dewar  <dewar@gnat.com>
9635
9636         * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
9637         55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
9638         5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
9639         5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
9640         5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
9641         5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
9642         the defining instance of the type to avoid aliasing problems.
9643         Fix copyright header.  Fix bad comments in package header.
9644
9645         * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
9646
9647 2004-02-25  Ed Schonberg  <schonberg@gnat.com>
9648
9649         * exp_ch2.adb (Param_Entity): Handle properly formals that have been
9650         rewritten as references when aliased through an address clause.
9651
9652         * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
9653         whether call can be interpreted as an indirect call to the result of a
9654         parameterless function call returning an access subprogram.
9655
9656 2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
9657
9658         Code clean up:
9659         * exp_ch7.adb (Make_Clean): Remove generation of calls to
9660         Unlock[_Entries], since this is now done by Service_Entries directly.
9661
9662         * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
9663
9664         * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
9665         Requeue_Call for better code readability. Change spec and update calls:
9666         PO_Service_Entries now unlock the PO on exit.
9667         (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
9668         PO_Service_Entries.
9669
9670         * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
9671
9672         * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
9673
9674 2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
9675
9676         * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
9677         protected subprogram call and analyzing the result of such expanding
9678         in case when the called protected subprogram is eliminated.
9679
9680         * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
9681         names.
9682
9683 2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
9684
9685         * Makefile.in: Clean ups.
9686
9687 2004-02-23  Ed Schonberg  <schonberg@gnat.com>
9688
9689         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
9690         protected operations if original subprogram is flagged as eliminated.
9691         (Expand_N_Subprogram_Body): For a protected operation, create
9692         discriminals for next operation before checking whether the operation
9693         is eliminated.
9694
9695         * exp_ch9.adb (Expand_N_Protected_Body,
9696         Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
9697         for internal protected operations if the original subprogram is
9698         eliminated.
9699
9700         * sem_elim.adb (Check_Eliminated): Handle properly protected operations
9701         declared in a single protected object.
9702
9703 2004-02-23  Vincent Celier  <celier@gnat.com>
9704
9705         * prj-attr.adb: Make attribute Builder'Executable an associative array,
9706         case insensitive if file names are case insensitive, instead of a
9707         standard associative array.
9708
9709         * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
9710         them as case insensitive on platforms where the file names are case
9711         sensitive.
9712
9713         * prj-part.adb (Parse_Single_Project): Make sure, when checking if
9714         project file has already been parsed that canonical path are compared.
9715
9716 2004-02-23  Robert Dewar  <dewar@gnat.com>
9717
9718         * sinput-c.ads: Correct bad unit title in header
9719
9720         * freeze.adb: Minor reformatting
9721
9722 2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9723
9724         * trans.c (tree_transform, case N_Procedure_Call_Statement): For
9725         nonaddressable COMPONENT_REF that is removing padding that we are
9726         taking the address of, take the address of the padded record instead
9727         if item is variable size.
9728
9729 2004-02-20  Robert Dewar  <dewar@gnat.com>
9730
9731         * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
9732
9733 2004-02-20  Ed Schonberg  <schonberg@gnat.com>
9734
9735         * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
9736         itype references for the constrained designated type of a component
9737         whose base type is already frozen.
9738
9739 2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
9740
9741         * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
9742         avoid GCC warnings.
9743
9744 2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
9745
9746         * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
9747         identifier for a phantom package that rewrites the formal package
9748         declaration with a box. The Add semantic decorations for the defining
9749         identifier from the original node (that represents the formal package).
9750
9751 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
9752
9753         * Make-lang.in (ada/stamp-sdefault): Use the top level
9754         move-if-change.
9755
9756 2004-02-19  Richard Henderson  <rth@redhat.com>
9757
9758         * misc.c (record_code_position): Add third build arg for RTL_EXPR.
9759
9760 2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
9761
9762         * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
9763         Scan_ALI can be used for multiple ALI files without reinitializing
9764         between calls.
9765
9766 2004-02-18  Robert Dewar  <dewar@gnat.com>
9767
9768         * debug.adb: Minor reformatting.
9769
9770 2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9771
9772         * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
9773         to zero if there is an address clause.
9774
9775 2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
9776
9777         * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
9778
9779 2004-02-18  Gary Dismukes  <dismukes@gnat.com>
9780
9781         * layout.adb (Layout_Component_List): Revise generation of call to
9782         discriminant-checking function to pass selections of all of the type's
9783         discriminants rather than just the variant-controlling discriminant.
9784
9785 2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
9786
9787         * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
9788         fail in the current setup and triggers spurious system error messages.
9789         Pretend it occurred and failed instead.
9790
9791 2004-02-18  Vincent Celier  <celier@gnat.com>
9792
9793         * bld.adb: Mark FLDFLAGS as saved
9794         (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
9795         it is not the root project.  Put each directory to be
9796         extended between double quotes to prevent it to be expanded on Windows.
9797         (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
9798         the project file. Set them back to their initial values if they have not
9799         been set in the project file.
9800
9801         * gprcmd.adb: (Gprdebug, Debug): New global variables
9802         (Display_Command): New procedure
9803         (Usage): Document new command "linkopts"
9804         Call Display_Command when env var GPRDEBUG has the value "TRUE"
9805         Implement new command "linkopts"
9806         Remove quotes that may be around arguments for "extend"
9807         Always call Normalize_Pathname with arguments formatted for the platform
9808
9809         * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
9810         Change @echo to @$(display) in target clean to be able to clean silently
9811
9812         * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
9813
9814         * prj-part.adb (Project_Path_Name_Of): Do not put final result in
9815         canonical case.
9816
9817         * prj-part.adb (Parse_Single_Project): Always call with From_Extended
9818         = Extending_All when current project is an extending all project.
9819
9820         * vms_conv.adb (Output_File_Expected): New Boolean global variable,
9821         set to True only for LINK command, after Unix switch -o.
9822         (Process_Arguments): Set Output_File_Expected to True for LINK command
9823         after Unix switch -o. When Output_File_Expected is True, never add an
9824         extension to a file name.
9825
9826         * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
9827         option file name, only to the --for-linker= switch.
9828         (Option_File_Name): If option file name do not end with ".opt", append
9829         "/OPTIONS".
9830
9831 2004-02-18  GNAT Script  <nobody@gnat.com>
9832
9833         * Make-lang.in: Makefile automatically updated
9834
9835 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
9836
9837         * Make-lang.in (stamp-sdefault): Do not depend on
9838         move-if-change.
9839
9840 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
9841
9842         * config-lang.in: Disable Ada by default until probe logic for
9843         a bootstrap Ada compiler can be moved to the top level configure
9844         script.
9845
9846 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
9847
9848         * decl.c (components_to_record): Don't claim that the internal fields
9849         we make to hold the variant parts are semantically addressable, because
9850         they are not.
9851
9852         * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
9853         adjust the comment describing the modular type form when we can use it.
9854         (Install_PAT): Account for the Esiz renaming.
9855
9856         * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
9857         sc_onstack context indication before raising the exception to which
9858         the signal is mapped. Allows better handling of later signals possibly
9859         triggered by the resumed user code if the exception is handled.
9860
9861 2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
9862
9863         * 5zinit.adb: Removed, no longer used.
9864
9865 2004-02-12  Robert Dewar  <dewar@gnat.com>
9866
9867         * ali.adb: Remove separating space between parameters on R line. Makes
9868         format consistent with format used by the binder for Set_Globals call.
9869
9870         * atree.ads, atree.adb: Minor reformatting (new function header format)
9871
9872         * bindgen.adb: Add Run-Time Globals documentation section containing
9873         detailed documentation of the globals passed from the binder file to
9874         the run time.
9875
9876         * gnatls.adb: Minor reformatting
9877
9878         * init.c (__gnat_set_globals): Add note pointing to documentation in
9879         bindgen.
9880
9881         * lib-writ.ads, lib-writ.adb: Remove separating space between
9882         parameters on R line.
9883         Makes format consistent with format used by the binder for Set_Globals
9884         call.
9885
9886         * osint.ads: Add 2004 to copyright notice
9887         Minor reformatting
9888
9889         * snames.ads: Correct capitalization of FIFO_Within_Priorities
9890         Noticed during code reading, documentation issue only
9891
9892         * usage.adb: Remove junk line for obsolete C switch
9893         Noticed during code reading
9894
9895 2004-02-12  Vincent Celier  <celier@gnat.com>
9896
9897         * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
9898         extend for each directory, so that multiple /** directories are
9899         extended individually.
9900         (Recursive_Process): Set the default for LANGUAGES to ada
9901
9902         * gprcmd.adb: Define new command "ignore", to do nothing.
9903         Implement new comment "path".
9904
9905         * Makefile.generic: Suppress output when SILENT is set
9906         Make sure that when compiler for C/C++ is gcc, the correct -x switch is
9907         used, so that the correct compiler is invoked.
9908         When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
9909         CXX_INCLUDE_PATH, to avoid failure with too long command lines.
9910
9911 2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
9912
9913         * Makefile.in: Clean ups and remove obsolete targets.
9914
9915 2004-02-12  Ed Schonberg  <schonberg@gnat.com>
9916
9917         * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
9918         predicate declared in exp_util.
9919
9920         * exp_util.adb: Add comments.
9921
9922         * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
9923         visibility before compiling context of the subunit.
9924
9925         * sem_res.adb (Check_Parameterless_Call): If the context expects a
9926         value but the name is a procedure, do not attempt to analyze as a call,
9927         in order to obtain more telling diagnostics.
9928
9929         * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
9930         'Access on parameterless function calls.
9931         (Normalize_Actuals): For a parameterless function call with missing
9932         actuals, defer diagnostic until resolution of enclosing call.
9933
9934         * sem_util.adb (Wrong_Type): If the context type is an access to
9935         subprogram and the expression is a procedure name, suggest a missing
9936         'attribute.
9937
9938 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
9939             Nathanael Nerode  <neroden@gcc.gnu.org>
9940
9941         PR ada/6637, PR ada/5911
9942         Merge with libada-branch:
9943         * config-lang.in: Build libada only when ada is built.
9944
9945 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
9946
9947         * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
9948         for a tagged type, verify that both formals have the same type.
9949
9950         * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
9951         temporary when the formal is an in-parameter and the actual a possibly
9952         unaligned slice.
9953
9954         * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
9955         when expansion is disabled, to ensure proper name capture with
9956         overloaded literals.  Condition can be of any boolean type, resolve
9957         accordingly.
9958
9959         * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
9960         renaming is for a formal subprogram with a default operator name, and
9961         there is a usable operator that is visible at the point of
9962         instantiation.
9963
9964 2004-02-09  Robert Dewar  <dewar@gnat.com>
9965
9966         * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
9967         rewrite to ignore errors in ali files, intended to allow tools downward
9968         compatibility with new versions of ali files.
9969
9970         * ali.ads: Add new parameter Ignore_Errors
9971
9972         * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
9973         duplicating the error message giving the file with restrictions.
9974
9975         * debug.adb: Add debug flag I for gnatbind
9976
9977         * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
9978         operators for the case where the operator is a defining operator.
9979
9980         * exp_ch3.adb: Minor reformatting (new function spec format).
9981
9982         * exp_ch4.adb: Add comment for previous change, and make minor
9983         adjustment to loop to always check for improper loop termination.
9984         Minor reformatting throughout (new function spec format).
9985
9986         * gnatbind.adb: Implement -di debug flag for gnatbind
9987
9988         * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
9989
9990         * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
9991
9992         * lib-load.adb: Fix bad assertion.
9993         Found by testing and code reading.
9994         Minor reformatting.
9995
9996         * lib-load.ads: Minor reformatting.
9997
9998         * lib-writ.adb: There is only one R line now.
9999
10000         * lib-writ.ads: Add documentation on making downward compatible changes
10001         to ali files so old tools work with new ali files.
10002         There is only one R line now.
10003         Add documentation on format incompatibilities (with special GPS note)
10004
10005         * namet.ads, namet.adb: (Is_Operator_Name): New procedure
10006
10007         * par-load.adb: Minor reformatting
10008
10009         * sem_ch8.adb: Fix to error message from last update
10010         Minor reformatting and restructuring of code from last update
10011
10012         * par-prag.adb, snames.adb, snames.ads, snames.h,
10013         sem_prag.adb: Implement pragma Profile.
10014
10015         * stylesw.adb: Implement -gnatyN switch to turn off all style check
10016         options.
10017
10018         * usage.adb: Add line for -gnatyN switch
10019
10020         * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
10021
10022 2004-02-09  Albert Lee  <lee@gnat.com>
10023
10024         * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
10025
10026 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
10027
10028         * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
10029         slices.
10030
10031         * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
10032         is nested in an instance that is not frozen yet, to avoid
10033         order-of-elaboration problems in gigi.
10034
10035         * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
10036         body the attribute is legal.
10037
10038 2004-02-09  Robert Dewar  <dewar@gnat.com>
10039
10040         * s-rident.ads: Minor comment correction
10041
10042         * targparm.adb: Remove dependence on uintp completely. There was
10043         always a bug in Make in that it called Targparm before initializing
10044         the Uint package. The old code appeared to get away with this, but
10045         the new code did not! This caused an assertion error in gnatmake.
10046
10047         * targparm.ads: Fix bad comment, restriction pragmas with parameters
10048         are indeed fully supported.
10049
10050 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
10051
10052         * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
10053
10054 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
10055
10056         * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
10057         with targetm.calls.promote_prototypes.
10058
10059 2004-02-04  Robert Dewar  <dewar@gnat.com>
10060
10061         * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
10062         ali.ads, gprcmd.adb: Minor reformatting
10063
10064         * bindgen.adb: Output restrictions string for new style restrictions
10065         handling
10066
10067         * impunit.adb: Add s-rident.ads (System.Rident) and
10068         s-restri (System.Restrictions)
10069
10070         * lib-writ.adb: Fix bug in writing restrictions string (last few
10071         entries wrong)
10072
10073         * s-restri.ads, s-restri.adb: Change name Restrictions to
10074         Run_Time_Restrictions to avoid conflict with package name.
10075         Add circuit to read and acquire run time restrictions.
10076
10077 2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
10078
10079         * restrict.ads, restrict.adb: Use the new restriction
10080         No_Task_Attributes_Package instead of the old No_Task_Attributes.
10081
10082         * sem_prag.adb: No_Task_Attributes is a synonym of
10083         No_Task_Attributes_Package.
10084
10085         * snames.ads, snames.adb: New entry for proper handling of
10086         No_Task_Attributes.
10087
10088         * s-rident.ads: Adding restriction No_Task_Attributes_Package
10089         (AI-00249) that supersedes the GNAT specific restriction
10090         No_Task_Attributes.
10091
10092 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
10093
10094         * sem_prag.adb:
10095         (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
10096          body, an identifier may be wrapped in an unchecked conversion.
10097
10098 2004-02-04  Vincent Celier  <celier@gnat.com>
10099
10100         * lib-writ.ads: Comment update for the W lines
10101
10102         * bld.adb: (Expression): An empty string list is static
10103
10104         * fname-uf.adb: Minor comment update
10105
10106         * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
10107
10108         * gnatbind.adb: Initialize Cumulative_Restrictions with the
10109         restrictions on the target.
10110
10111 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
10112
10113         * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
10114         gen_rtx.
10115
10116 2004-02-02  Arnaud Charlet  <charlet@gnat.com>
10117
10118         * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
10119
10120 2004-02-02  Vincent Celier  <celier@gnat.com>
10121
10122         * gprcmd.adb (Check_Args): If condition is false, print the invoked
10123         comment before the usage.
10124         Gprcmd: Fail when command is not recognized.
10125         (Usage): Document command "prefix"
10126
10127         * g-md5.adb (Digest): Process last block.
10128         (Update): Do not process last block. Store remaining characters and
10129         length in Context.
10130
10131         * g-md5.ads (Update): Document that several call to update are
10132         equivalent to one call with the concatenated string.
10133         (Context): Add fields to allow new Update behaviour.
10134
10135         * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
10136         defaulted to False.
10137         When May_Fail is True and no existing file can be found, return No_File.
10138
10139         * 6vcstrea.adb: Inlined functions are now wrappers to implementation
10140         functions.
10141
10142         * lib-writ.adb (Write_With_Lines): When body file does not exist, use
10143         spec file name instead on the W line.
10144
10145 2004-02-02  Robert Dewar  <dewar@gnat.com>
10146
10147         * ali.adb: Read and acquire info from new format restrictions lines
10148
10149         * bcheck.adb: Add circuits for checking restrictions with parameters
10150
10151         * bindgen.adb: Output dummy restrictions data
10152         To be changed later
10153
10154         * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
10155         exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
10156         freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
10157         sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
10158         sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
10159
10160         * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
10161         the warning message on access to possibly uninitialized variable S)
10162         Minor changes for new restrictions handling.
10163
10164         * gnatbind.adb: Minor reformatting
10165         Minor changes for new restrictions handling
10166         Move circuit for -r processing here from bcheck (cleaner)
10167
10168         * gnatcmd.adb, gnatlink.adb: Minor reformatting
10169
10170         * lib-writ.adb: Output new format restrictions lines
10171
10172         * lib-writ.ads: Document new R format lines for new restrictions
10173         handling.
10174
10175         * s-restri.ads/adb: New files
10176
10177         * Makefile.rtl: Add entry for s-restri.ads/adb
10178
10179         * par-ch3.adb: Fix bad error messages starting with upper case letter
10180         Minor reformatting
10181
10182         * restrict.adb: Major rewrite throughout for new restrictions handling
10183         Major point is to handle restrictions with parameters
10184
10185         * restrict.ads: Major changes in interface to handle restrictions with
10186         parameters. Also generally simplifies setting of restrictions.
10187
10188         * snames.ads/adb: New entry for proper handling of No_Requeue
10189
10190         * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
10191         restriction counting.
10192         Other minor changes for new restrictions handling
10193
10194         * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
10195         Restriction_Warnings now allows full parameter notation
10196         Major rewrite of Restrictions for new restrictions handling
10197
10198 2004-02-02  Javier Miranda  <miranda@gnat.com>
10199
10200         * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
10201         syntax rule for object renaming declarations.
10202         (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
10203         component definitions.
10204
10205         * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
10206         components.
10207         (Array_Type_Declaration): Give support to access components. In addition
10208         it was also modified to reflect the name of the object in anonymous
10209         array types. The old code did not take into account that it is possible
10210         to have an unconstrained anonymous array with an initial value.
10211         (Check_Or_Process_Discriminants): Allow access discriminant in
10212         non-limited types.
10213         (Process_Discriminants): Allow access discriminant in non-limited types
10214         Initialize the new Access_Definition field in N_Object_Renaming_Decl
10215         node.  Change Ada0Y to Ada 0Y in comments
10216
10217         * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
10218         equality operators.
10219         Change Ada0Y to Ada 0Y in comments
10220
10221         * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
10222         renamings Change Ada0Y to Ada 0Y in comments
10223
10224         * sem_type.adb (Find_Unique_Type): Give support to the equality
10225         operators for universal access types
10226         Change Ada0Y to Ada 0Y in comments
10227
10228         * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
10229
10230         * sinfo.ads (N_Component_Definition): Addition of Access_Definition
10231         field.
10232         (N_Object_Renaming_Declaration): Addition of Access_Definition field
10233         Change Ada0Y to Ada 0Y in comments
10234
10235         * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
10236         component definition and object renaming nodes
10237         Change Ada0Y to Ada 0Y in comments
10238
10239 2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
10240
10241         * restrict.adb: Use the new restriction identifier
10242         No_Requeue_Statements instead of the old No_Requeue for defining the
10243         restricted profile.
10244
10245         * sem_ch9.adb (Analyze_Requeue): Check the new restriction
10246         No_Requeue_Statements.
10247
10248         * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
10249         that supersedes the GNAT specific restriction No_Requeue. The later is
10250         kept for backward compatibility.
10251
10252 2004-02-02  Ed Schonberg  <schonberg@gnat.com>
10253
10254         * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
10255         5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
10256         pragma and fix incorrect ones.
10257
10258         * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
10259         warning if the pragma is redundant.
10260
10261 2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
10262
10263         * 5staprop.adb: Add missing 'constant' keywords.
10264
10265         * Makefile.in: use consistent value for SYMLIB on
10266         platforms where libaddr2line is supported.
10267
10268 2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10269
10270         * utils.c (end_subprog_body): Do not call rest_of_compilation if just
10271         annotating types.
10272
10273 2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
10274
10275         * init.c (__gnat_install_handler): Setup an alternate stack for signal
10276         handlers in the environment thread. This allows proper propagation of
10277         an exception on stack overflows in this thread even when the builtin
10278         ABI stack-checking scheme is used without support for a stack reserve
10279         region.
10280
10281         * utils.c (create_field_decl): Augment the head comment about bitfield
10282         creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
10283         here, because the former is not accurate enough at this point.
10284         Let finish_record_type decide instead.
10285         Don't make a bitfield if the field is to be addressable.
10286         Always set a size for the field if the record is packed, to ensure the
10287         checks for bitfield creation are triggered.
10288         (finish_record_type): During last pass over the fields, clear
10289         DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
10290         not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
10291         from DECL_BIT_FIELD.
10292
10293 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
10294
10295         * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
10296         (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
10297         (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
10298
10299 2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10300
10301         * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
10302
10303         * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
10304         (ZCX_By_Default): Likewise.
10305         (Front_End_ZCX_Support): Likewise.
10306
10307         * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
10308         (Initialize_Lock): Mark Level unreferenced.
10309         (Sleep): Mark Reason unreferenced.
10310         (Timed_Sleep): Likewise.
10311         (Wakeup): Likewise.
10312         (Exit_Task): Use Result.
10313         (Check_No_Locks): Mark Self_ID unreferenced.
10314
10315         * 5gtasinf.adb (New_Sproc): Make Attr constant.
10316         (Bound_Thread_Attributes): Make Sproc constant.
10317         (New_Bound_Thread_Attributes): Likewise.
10318
10319 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
10320
10321         * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
10322         one-dimensional array an slice assignments, when component type is
10323         controlled.
10324
10325         * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
10326         component type is controlled, and control_actions are in effect, use
10327         TSS procedure rather than generating inline code.
10328
10329         * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
10330         arrays with controlled components.
10331
10332 2004-01-26  Vincent Celier  <celier@gnat.com>
10333
10334         * gnatcmd.adb (GNATCmd): Add specification of argument file on the
10335         command line for the non VMS case.
10336
10337         * gnatlink.adb (Process_Binder_File): When building object file, if
10338         GNU linker is used, put all object paths between quotes, to prevent ld
10339         error when there are unusual characters (such as '!') in the paths.
10340
10341         * Makefile.generic: When there are sources in Ada and the main is in
10342         C/C++, invoke gnatmake with -B, instead of -z.
10343
10344         * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
10345         from VMS_Conversion.
10346         (Process_Argument): New procedure, extracted from VMS_Conversion. Add
10347         specification of argument file on the command line.
10348
10349 2004-01-26  Bernard Banner  <banner@gnat.com>
10350
10351         * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
10352
10353 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
10354
10355         * snames.adb: Update copyright notice.
10356         Add info on slice assignment for controlled arrays.
10357
10358 2004-01-23  Robert Dewar  <dewar@gnat.com>
10359
10360         * exp_aggr.adb: Minor reformatting
10361
10362         * exp_ch9.adb: Minor code clean up
10363         Minor reformatting
10364         Fix bad character in comment
10365
10366         PR ada/13471
10367         * targparm.adb (Get_Target_Parameters): Give clean abort error on
10368         unexpected end of file, along with more detailed message.
10369
10370 2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10371
10372         * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
10373         PAT.
10374
10375         * decl.c (copy_alias_set): New function.
10376         (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
10377
10378 2004-01-23  Doug Rupp  <rupp@gnat.com>
10379
10380         * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
10381         lib$${file} in case subsequent character is not a separator.
10382
10383 2004-01-23  Vincent Celier  <celier@gnat.com>
10384
10385         * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
10386         when the GCC version is at least 3.
10387
10388         * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
10389         Remove all "Opt.", to prepare for opt split
10390
10391         * prj-part.adb (Parse_Single_Project): New Boolean out parameter
10392         Extends_All. Set to True when the project parsed is an extending all
10393         project. Fails for importing an extending all project only when the
10394         imported project is an extending all project.
10395         (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
10396         depending on the value of Extends_All returned.
10397
10398         * prj-proc.adb (Process): Check that no project shares its object
10399         directory with a project that extends it, directly or indirectly,
10400         including a virtual project.
10401         Check that no project extended by another project shares its object
10402         directory with another also extended project.
10403
10404         * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
10405         Kind = N_With_Clause
10406
10407         * prj-tree.ads: Minor reformatting
10408         Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
10409
10410 2004-01-23  Ed Schonberg  <schonberg@gnat.com>
10411
10412         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
10413         applies to a type with an incomplete view, use full view in Name of
10414         clause, for consistency with uses of Get_Attribute_Definition_Clause.
10415
10416 2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
10417
10418         * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
10419         SCHED_RR, since other values are not supported by this policy.
10420         (Initialize): Move initialization of mutex attribute to package
10421         elaboration, to prevent early access to this variable.
10422
10423         * Makefile.in: Remove mention of Makefile.adalib, unused.
10424
10425         * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
10426         1ssecsta.ads: Removed, unused.
10427
10428 2004-01-21  Javier Miranda  <miranda@gnat.com>
10429
10430         * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
10431         entity if already built in the current scope.
10432
10433         * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
10434         reminder in internal scopes. Required for nested limited aggregates.
10435
10436 2004-01-21  Doug Rupp  <rupp@gnat.com>
10437
10438         * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
10439         VMS. Replace all occurences of libgnat- and libgnarl- with
10440         libgnat$(hyphen) and libgnarl$(hyphen).
10441         Fixed shared library build problem on VMS.
10442
10443 2004-01-21  Robert Dewar  <dewar@gnat.com>
10444
10445         * mlib-prj.adb: Minor reformatting
10446
10447 2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
10448
10449         * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
10450         'constant' keywords for declaration of pointers that are not modified.
10451
10452         * exp_pakd.adb: Fix English in comment.
10453
10454 2004-01-21  Ed Schonberg  <schonberg@gnat.com>
10455
10456         PR ada/10889
10457         * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
10458         copy all attributes of the parent, including the foreign language
10459         convention.
10460
10461 2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
10462
10463         PR ada/10565
10464         * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
10465         for 'delay until' statement.
10466
10467 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
10468
10469         * Make-lang.in: Replace $(docdir) with doc.
10470         (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
10471         doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
10472         to use consistent MAKEINFO rule.
10473         (ada.man, ada.srcman): Dummy entry.
10474         (ADA_INFOFILES): Define.
10475         (ada.info, ada.srcinfo): New rules.
10476
10477 2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
10478
10479         * utils.c: Update copyright notice, missed in previous change.
10480
10481 2004-01-19  Vincent Celier  <celier@gnat.com>
10482
10483         * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
10484         args if Bind is True. Set First_ALI, if not already done.
10485         (Build_Library): For Stand Alone Libraries, extract from one ALI file
10486         an eventual --RTS switch, for gnatbind, and all backend switches +
10487         --RTS, for linking.
10488
10489 2004-01-19  Robert Dewar  <dewar@gnat.com>
10490
10491         * sem_attr.adb, memtrack.adb: Minor reformatting
10492
10493 2004-01-19  Ed Schonberg  <schonberg@gnat.com>
10494
10495         * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
10496         that rename enumeration literals. This is properly done in sem_eval.
10497
10498         * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
10499         to functions that rename enumeration literals.
10500
10501         * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
10502         functions that rename enumeration literals.
10503
10504 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
10505
10506         * Make-lang.in (utils.o): Depend on target.h.
10507         * utils.c: Include target.h.
10508         (process_attributes): Use targetm.have_named_sections instead
10509         of ASM_OUTPUT_SECTION_NAME.
10510
10511 2004-01-16  Andreas Jaeger  <aj@suse.de>
10512
10513         * Makefile.in: Add $(DESTDIR).
10514
10515 2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
10516
10517         * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
10518         also when not defining if a Size clause applies. That information is
10519         not to be ignored.
10520
10521 2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
10522
10523         * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
10524         symbolic links for the shared gnat run time when needed.
10525
10526 2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
10527
10528         * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
10529         for writing, and terminate with an error message if not.
10530
10531 2004-01-15  Ed Schonberg  <schonberg@gnat.com>
10532
10533         * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
10534         warning on an access to subprogram in an instance, when the target
10535         type is declared in the same generic unit.
10536         (Eval_Attribute): If 'access is known to fail accessibility check,
10537         rewrite as a raise statement.
10538
10539 2004-01-15  GNAT Script  <nobody@gnat.com>
10540
10541         * Make-lang.in: Makefile automatically updated
10542
10543 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
10544
10545         * Make-lang.in (ada.srcextra): Dummy entry.
10546
10547 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
10548
10549         * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
10550
10551 2004-01-13  Ed Schonberg  <schonberg@gnat.com>
10552
10553         * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
10554         components that are initialized with aggregates.
10555
10556 2004-01-13  Vincent Celier  <celier@gnat.com>
10557
10558         * gnatlink.adb (Process_Binder_File): To find directory of shared
10559         libgcc, if "gcc-lib" is not a subdirectory, look for the last
10560         subdirectory "lib" in the path of the shared libgnat or libgnarl.
10561
10562         * make.adb (Gnatmake): If GCC version is at least 3, link with
10563         -shared-libgcc, when there is at least one shared library project.
10564
10565         * opt.ads (GCC_Version): New integer constant.
10566
10567         * adaint.c (get_gcc_version): New function.
10568
10569 2004-01-13  Robert Dewar  <dewar@gnat.com>
10570
10571         * sem_dist.adb, sem_res.adb, sem_util.adb,
10572         sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
10573         exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
10574
10575 2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
10576
10577         * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
10578         g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
10579         declarations.
10580
10581 2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
10582
10583         * misc.c: Remove trailing spaces.
10584         Update copyright notice missed in previous change.
10585
10586         PR ada/13572
10587         * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
10588         prefix/share/make
10589
10590         * Makefile.generic: Update copyright.
10591         Add license notice.
10592
10593         * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
10594         of prefix/share/make.
10595
10596         * Makefile.prolog: Update copyright.
10597         Add license notice.
10598
10599 2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
10600
10601         * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
10602         3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
10603         g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
10604         instead of String.
10605
10606         * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
10607         signature.
10608
10609 2004-01-12  Javier Miranda  <miranda@gnat.com>
10610
10611         * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
10612         exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
10613         sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
10614         sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
10615         Component_Definition node.
10616
10617 2004-01-12  Ed Falis  <falis@gnat.com>
10618
10619         * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
10620
10621 2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
10622
10623         * link.c: Change default libgnat kind to STATIC for FreeBSD.
10624
10625 2004-01-12  Bernard Banner  <banner@gnat.com>
10626
10627         * Makefile.in: map 86numaux to a-numaux for x86_64
10628
10629 2004-01-12  Ed Schonberg  <schonberg@gnat.com>
10630
10631         * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
10632         generated to rename a generic actual, go to the actual itself, the
10633         subtype is not a user-visible entity.
10634
10635         * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
10636         part is a private subtype, reset the visibility of its full view, if
10637         any, to be consistent.
10638
10639         PR ada/13417
10640         * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
10641         to use a generic package G as a formal package for another generic
10642         declared within G.
10643
10644 2004-01-12  Robert Dewar  <dewar@gnat.com>
10645
10646         * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
10647
10648         * usage.adb: Remove mention of obsolete -gnatwb switch
10649         Noticed during code reading
10650
10651 2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
10652
10653         * 1ssecsta.adb: Minor changes for -gnatwa warnings
10654
10655 2004-01-12  GNAT Script  <nobody@gnat.com>
10656
10657         * Make-lang.in: Makefile automatically updated
10658
10659 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
10660
10661         * misc.c (gnat_expand_expr): Add alt_rtl parameter.
10662
10663 2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10664
10665         * link.c [sgi] (shared_libgnat_default): Change to STATIC.
10666
10667 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
10668
10669         * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
10670         Update comment and copyright date.
10671         * stamp-xgnatug: Delete.
10672
10673 2004-01-05  Robert Dewar  <dewar@gnat.com>
10674
10675         * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
10676         be modified by the binder generated main program if the -D switch is
10677         used.
10678
10679         * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
10680         imported functions (since now we expect this to be done for imported
10681         functions)
10682
10683         * 5vtaprop.adb: Add several ??? for sections requiring more comments
10684         Minor reformatting throughout
10685
10686         * 5zinit.adb: Minor reformatting
10687         Add 2004 to copyright date
10688         Minor changes to avoid -gnatwa warnings
10689         Correct some instances of using OR instead of OR ELSE (noted while
10690         doing reformatting)
10691
10692         * sprint.adb: Minor updates to avoid -gnatwa warnings
10693
10694         * s-secsta.ads, s-secsta.adb:
10695         (SS_Get_Max): New function to obtain high water mark for ss stack
10696         Default_Secondary_Stack is not a constant since it may be modified by
10697         the binder generated main program if the -D switch is used.
10698
10699         * switch-b.adb: New -Dnnn switch for binder
10700
10701         * switch-c.adb:
10702         Make -gnatg imply all warnings currently in -gnatwa
10703
10704         * vms_conv.adb: Minor reformatting
10705         Add 2004 to copyright notice
10706         Add 2004 to printed copyright notice
10707
10708         * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
10709         3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
10710         5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
10711         5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
10712         5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
10713         5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
10714         5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
10715         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
10716         5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
10717         5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
10718         6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
10719         vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
10720         xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
10721         sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
10722         checks.adb, clean.adb, cstand.adb, einfo.ads,
10723         einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
10724         exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
10725         prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
10726         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
10727         g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
10728         lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
10729         Minor reformatting and code clean ups.
10730         Minor changes to prevent -gnatwa warnings
10731
10732         * ali.adb: Minor reformatting and cleanup of code
10733         Acquire new SS indication of secondary stack use from ali files
10734
10735         * a-numaux.ads: Add Pure_Function pragmas for all imported functions
10736         (since now we expect this to be done for imported functions)
10737
10738         * bindgen.adb: Generate call to modify default secondary stack size if
10739         -Dnnn switch given
10740
10741         * bindusg.adb: Add line for new -D switch
10742
10743         * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
10744         replacement name for Type_May_Have_Non_Bit_Aligned_Components!
10745         Add circuitry for both records and arrays to avoid gigi
10746         processing if the type involved has non-bit-aligned components
10747
10748         * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
10749         N_String_Literal node always references an E_String_Literal_Subtype
10750         entity. This may not be true in the future.
10751         (Possible_Bit_Aligned_Component): Move processing of
10752         Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
10753
10754         * exp_ch6.adb (Expand_Thread_Body): Pick up
10755         Default_Secondary_Stack_Size as variable so that we get value modified
10756         by possible -Dnnn binder parameter.
10757
10758         * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
10759         (Type_May_Have_Bit_Aligned_Components): New function.
10760
10761         * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
10762         (Type_May_Have_Bit_Aligned_Components): New function.
10763
10764         * fe.h: (Set_Identifier_Casing): Fix prototype.
10765         Add declaration for Sem_Elim.Eliminate_Error_Msg.
10766         Minor reformatting.
10767
10768         * freeze.adb (Freeze_Entity): Add RM reference to error message about
10769         importing constant atomic/volatile objects.
10770         (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
10771         unless explicit Pure_Function pragma given, to avoid insidious bug of
10772         call to non-pure imported function getting eliminated.
10773
10774         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
10775         gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
10776         gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
10777         Add 2004 to printed copyright notice
10778
10779         * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
10780         stack used.
10781
10782         * Makefile.rtl: Add entry for g-sestin.o
10783         g-sestin.ads: New file.
10784
10785         * mdll.adb: Minor changes to avoid -gnatwa warnings
10786
10787         * mlib-tgt.adb: Minor reformatting
10788
10789         * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
10790         New switch Sec_Stack_Used (GNAT, GNATBIND)
10791         Make Default_Secondary_Stack_Size a variable instead of a constant,
10792         so that it can be modified by the new -Dnnn bind switch.
10793
10794         * rtsfind.adb (Load_Fail): Give full error message in configurable
10795         run-time mode if all_errors mode is set. This was not done in the case
10796         of a file not found, which was an oversight.
10797         Note if secondary stack unit is used by compiler.
10798
10799         * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
10800         ineffective elaborate all pragmas on non-visible packages (this
10801         happened when a renamed subprogram was called). Now the elaborate all
10802         always goes on the package containing the renaming rather than the one
10803         containing the renamed subprogram.
10804
10805         * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
10806         (Process_Eliminate_Pragma): Add parameter to capture pragma location.
10807
10808         * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
10809         has an Etype that references an E_String_Literal.
10810         (Eval_String_Literal): Avoid assumption that N_String_Literal node
10811         always references an E_String_Literal_Subtype entity. This may not
10812         be true in the future.
10813
10814         * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
10815         pragma location.
10816
10817         * sem_res.adb (Resolve): Specialize msg for function name used in proc
10818         call.
10819
10820 2004-01-05  Ed Falis  <falis@gnat.com>
10821
10822         * g-debuti.adb: Replaced direct boolean operator with short-circuit
10823         form.
10824
10825 2004-01-05  Vincent Celier  <celier@gnat.com>
10826
10827         * bld.adb: Minor comment updates
10828         (Process_Declarative_Items): Correct incorrect name (Index_Name instead
10829         of Item_Name).
10830
10831         * make.adb (Gnatmake): Special process for files to compile/check when
10832         -B is specified. Fail when there are only foreign mains in attribute
10833         Main of the project file and -B is not specified. Do not skip bind/link
10834         steps when -B is specified.
10835
10836         * makeusg.adb: Document new switch -B
10837
10838         * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
10839
10840         * switch-m.adb: (Scan_Make_Switches): Process -B switch
10841
10842         * vms_data.ads: Add new GNAT PRETTY qualifier
10843         /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
10844
10845 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10846
10847         * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
10848         case.
10849
10850         * misc.c (gnat_printable_name): If VERBOSITY is 2, call
10851         Set_Identifier_Casing.
10852
10853         * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
10854         has size that overflows.
10855
10856 2004-01-05  Gary Dismukes  <dismukes@gnat.com>
10857
10858         * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
10859         -gnatwa warning on static condition.
10860
10861 2004-01-05  Doug Rupp  <rupp@gnat.com>
10862
10863         * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
10864
10865 2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
10866
10867         * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
10868         all attributes, including read-only attribute.
10869
10870 2004-01-05  Pascal Obry  <obry@gnat.com>
10871
10872         * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
10873         library naming scheme.
10874
10875         * mlib-prj.adb (Build_Library): Generate different names for the static
10876         or dynamic version of the GNAT runtime. This is needed to support the
10877         new shared library naming scheme.
10878         (Process_Binder_File): Add detection of shared library in binder file
10879         based on the new naming scheme.
10880
10881         * gnatlink.adb (Process_Binder_File): Properly detect the new naming
10882         scheme for the shared runtime libraries.
10883
10884         * Makefile.in:
10885         (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
10886         scheme.
10887         (install-gnatlib): Do not create symlinks for shared libraries.
10888         (gnatlib-shared-default): Idem.
10889         (gnatlib-shared-dual-win32): New target. Not used for now as the
10890         auto-import feature does not support arrays/records.
10891         (gnatlib-shared-win32): Do not create copy for the shared libraries.
10892         (gnatlib-shared-vms): Fix shared runtime libraries names.
10893
10894         * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
10895         dependent runtime shared library name.
10896
10897 2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
10898
10899         * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
10900         than the object.
10901
10902 2004-01-05  Ed Schonberg  <schonberg@gnat.com>
10903
10904         * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
10905         protected objects when allocator has a subtype indication, not a
10906         qualified expression. Note that qualified expressions may have to be
10907         checked when limited aggregates are implemented.
10908
10909         * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
10910         pure, emit warning.
10911         (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
10912         subprogram is imported, remove warning.
10913
10914 2004-01-05  Geert Bosch  <bosch@gnat.com>
10915
10916         * s-poosiz.adb: Update copyright notice.
10917         (Allocate): Use Task_Lock to protect against concurrent access.
10918         (Deallocate): Likewise.
10919
10920 2004-01-05  Joel Brobecker  <brobecker@gnat.com>
10921
10922         * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
10923         comment.
10924
10925 2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
10926
10927         * gnat_ug.texi: Force a CVS commit by updating copyright.
10928         * gnat_ug_vxw.texi: Regenerate.
10929         * gnat_ug_wnt.texi: Regenerate.
10930         * gnat_ug_vms.texi: Regenerate.
10931         * gnat_ug_unx.texi: Regenerate.
10932
10933 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
10934
10935         * trans.c: Remove uses of "register" specifier in
10936         declarations of local variables.
10937
10938 2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
10939
10940         * stamp-xgnatug: New stamp file.
10941         * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
10942         (ada/doctools/xgnatug): Add $(build_exeext).
10943         (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
10944         ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
10945
10946 2003-12-17  Ed Falis  <falis@gnat.com>
10947
10948         * a-elchha.adb (Tailored_Exception_Information): made Info constant to
10949         eliminate warning.
10950
10951         * a-exextr.adb: Add context clause for
10952         Ada.Exceptions.Last_Chance_Handler.
10953
10954 2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
10955
10956         * cstand.adb (Create_Standard): Change the way how the declaration of
10957         the Duration type is created (making it the same way as it is for all
10958         the other standard types).
10959
10960 2003-12-17  Robert Dewar  <dewar@gnat.com>
10961
10962         * s-crtl.ads: Fix header format
10963         Change Pure to Preelaborate
10964
10965 2003-12-17  Ed Schonberg  <schonberg@gnat.com>
10966
10967         * checks.adb (Selected_Length_Checks): Generate an Itype reference for
10968         the expression type only if it is declared in the current unit.
10969
10970         * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
10971         are universal and already analyzed, as can occur in constrained
10972         subcomponents that depend on discriminants, when one constraint is a
10973         subtype mark.
10974
10975         * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
10976         type Any_Fixed is legal as the argument of a conversion, if only one
10977         fixed-point type is in context.
10978
10979 2003-12-17  GNAT Script  <nobody@gnat.com>
10980
10981         * Make-lang.in: Makefile automatically updated
10982
10983 2003-12-15  Robert Dewar  <dewar@gnat.com>
10984
10985         * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
10986         sec stack size.
10987
10988 2003-12-15  Vincent Celier  <celier@gnat.com>
10989
10990         * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
10991         (Gnatchop): Do not set failure status when reporting the number of
10992         warnings.
10993
10994 2003-12-15  Doug Rupp  <rupp@gnat.com>
10995
10996         * s-ctrl.ads: New file.
10997
10998         * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
10999
11000         * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
11001         (GNATBIND_OBJS): Add ada/s-crtl.o.
11002
11003         * Makefile.in [VMS]: Clean up ifeq rules.
11004
11005         * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
11006         a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
11007         g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
11008         s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
11009         s-tasdeb.adb: Update copyright.
11010         Import System.CRTL.
11011         Make minor modifications to use System.CRTL declared functions instead
11012         of importing locally.
11013
11014 2003-12-15  GNAT Script  <nobody@gnat.com>
11015
11016         * Make-lang.in: Makefile automatically updated
11017
11018 2003-12-11  Ed Falis  <falis@gnat.com>
11019
11020         * 5zinit.adb: Clean up.
11021
11022         * 5zintman.adb (Notify_Exception): replaced case statement with a call
11023         to __gnat_map_signal, imported from init.c to support
11024         signal -> exception mappings that depend on the vxWorks version.
11025
11026         * init.c:
11027         Created and exported __gnat_map_signal to support signal -> exception
11028         mapping that is dependent on the VxWorks version.
11029         Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
11030
11031 2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
11032
11033         * 5wosinte.ads: Link with -mthreads switch.
11034
11035 2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
11036
11037         * init.c (__gnat_install_handler [NetBSD]): Set
11038         __gnat_handler_installed, as done on all other platforms.
11039         Remove duplicated code.
11040
11041 2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
11042
11043         * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
11044
11045 2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
11046
11047         * sinfo.ads: Fix inconsistent example code in comment.
11048
11049 2003-12-11  Robert Dewar  <dewar@gnat.com>
11050
11051         * a-tiinau.adb: Add a couple of comments
11052
11053         * sem_ch3.adb: Minor reformatting
11054
11055         * sem_prag.adb:
11056         Fix bad prototype of Same_Base_Type in body (code reading cleanup)
11057         Minor reformatting throughout
11058
11059 2003-12-11  Ed Schonberg  <schonberg@gnat.com>
11060
11061         * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
11062         bounds of a loop, create a separate block in order to generate proper
11063         cleanup actions to prevent memory leaks.
11064
11065         * sem_res.adb (Resolve_Call): After a call to
11066         Establish_Transient_Scope, the call may be rewritten and relocated, in
11067         which case no further processing is needed.
11068
11069         * sem_util.adb: (Wrong_Type): Refine previous fix.
11070          Fixes ACATS regressions.
11071
11072         PR ada/13353
11073
11074         * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
11075         be inlined.
11076
11077 2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
11078
11079         * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
11080         i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
11081         obsolete files.
11082
11083         * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
11084         (rts-zfp): Ditto.
11085
11086 2003-12-08  Robert Dewar  <dewar@gnat.com>
11087
11088         * 7sintman.adb: Minor reformatting
11089
11090         * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
11091         standard linker options to get standard libraries linked. We now plan
11092         to provide dummy versions of these libraries to match the appropriate
11093         configurable run-time (e.g. if a library is not needed at all, provide
11094         a dummy empty library).
11095
11096         * targparm.ads: Configurable_Run_Time mode no longer affects linker
11097         options (-L parameters and standard libraries). What we plan to do is
11098         to provide dummy libraries where the libraries are not required.
11099
11100         * gnatbind.adb: Minor comment improvement
11101
11102 2003-12-08  Javier Miranda  <miranda@gnat.com>
11103
11104         * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
11105         aggregate in the parent. Otherwise constants with limited aggregates
11106         are not supported. Add new formal to pass the component type (Ctype).
11107         It is required to call the corresponding IP subprogram in case of
11108         default initialized components.
11109         (Gen_Assign): In case of default-initialized component, generate a
11110         call to the IP subprogram associated with the component.
11111         (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
11112         of aggregate with default initialized components.
11113         (Has_Default_Init_Comps): Improve implementation to recursively check
11114         all the present expressions.
11115
11116         * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
11117         to indicate that the initialization call corresponds to a
11118         default-initialized component of an aggregate.
11119         In case of default initialized aggregate with tasks this parameter is
11120         used to generate a null string (this is just a workaround that must be
11121         improved later). In case of discriminants, this parameter is used to
11122         generate a selected component node that gives access to the discriminant
11123         value.
11124
11125         * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
11126         subprogram, based on Build_Task_Allocate_Block, but adapted to expand
11127         allocated aggregates with default-initialized components.
11128
11129         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
11130         the box notation is used in positional aggregates.
11131
11132 2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
11133
11134         * lib.ads: Fix typo in comment
11135
11136 2003-12-08  Vincent Celier  <celier@gnat.com>
11137
11138         * prj.adb (Project_Empty): New component Unkept_Comments
11139         (Scan): Remove procedure; moved to Prj.Err.
11140
11141         * prj.ads (Project_Data): New Boolean component Unkept_Comments
11142         (Scan): Remove procedure; moved to Prj.Err.
11143
11144         * prj-dect.adb: Manage comments for the different declarations.
11145
11146         * prj-part.adb (With_Record): New component Node
11147         (Parse): New Boolean parameter Store_Comments, defaulted to False.
11148         Set the scanner to return ends of line and comments as tokens, if
11149         Store_Comments is True.
11150         (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
11151         comments are associated with these nodes. Store the node IDs in the
11152         With_Records.
11153         (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
11154         With_Records.
11155         (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
11156         the N_Project node. Call Tree.Save and Tree.Reset before scanning the
11157         current project. Call Tree.Restore afterwards. Set the various nodes
11158         for comment storage (Next_End, End_Of_Line, Previous_Line,
11159         Previous_End).
11160
11161         * prj-part.ads (Parse): New Boolean parameter Store_Comments,
11162         defaulted to False.
11163
11164         * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
11165         to False. When Truncated is True, truncate the string, never go to the
11166         next line.
11167         (Write_End_Of_Line_Comment): New procedure
11168         (Print): Process comments for nodes N_With_Clause,
11169         N_Package_Declaration, N_String_Type_Declaration,
11170         N_Attribute_Declaration, N_Typed_Variable_Declaration,
11171         N_Variable_Declaration, N_Case_Construction, N_Case_Item.
11172         Process nodes N_Comment.
11173
11174         * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
11175         without comments and there are some comments, set the flag
11176         Unkept_Comments to True.
11177         (Scan): If there are comments, set the flag Unkept_Comments to True and
11178         clear the comments.
11179         (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
11180         (Next_End_Nodes: New table
11181         (Comment_Zones_Of): New function
11182         (Scan): New procedure; moved from Prj. Accumulate comments in the
11183         Comments table and set end of line comments, comments after, after end
11184         and before end.
11185         (Add_Comments): New procedure
11186         (Save, Restore, Seset_State): New procedures
11187         (There_Are_Unkept_Comments): New function
11188         (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
11189         (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
11190         procedures.
11191         (First_Comment_After, First_Comment_After_End): New functions
11192         (First_Comment_Before, First_Comment_Before_End): New functions
11193         (Next_Comment): New function
11194         (End_Of_Line_Comment, Follows_Empty_Line,
11195         Is_Followed_By_Empty_Line): New functions
11196         (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
11197         (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
11198         (Set_Next_Comment): New procedure
11199         (Default_Project_Node): Associate comment before if the node can store
11200         comments.
11201
11202         * scans.ads (Token_Type): New enumeration value Tok_Comment
11203         (Comment_Id): New global variable
11204
11205         * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
11206         defaulted to False.
11207         (Scan): Store position of start of comment. If comments are tokens, set
11208         Comment_Id and set Token to Tok_Comment when scanning a comment.
11209         (Set_Comment_As_Token): New procedure
11210
11211         * sinput-p.adb: Update Copyright notice
11212         (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
11213         that no longer exists.
11214
11215 2003-12-08  Javier Miranda  <miranda@gnat.com>
11216
11217         * sem_aggr.adb: Add dependence on Exp_Tss package
11218         Correct typo in comment
11219         (Resolve_Aggregate): In case of array aggregates set the estimated
11220         type of the aggregate before calling resolve. This is needed to know
11221         the name of the corresponding IP in case of limited array aggregates.
11222         (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
11223         in case of default initialized array components.
11224
11225         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
11226         types. Required to give support to limited aggregates in generic
11227         formals.
11228
11229 2003-12-08  Ed Schonberg  <schonberg@gnat.com>
11230
11231         * sem_ch3.adb (Check_Initialization): For legality purposes, an
11232         inlined body functions like an instantiation.
11233         (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
11234         until bounds are analyzed, to diagnose premature use of type.
11235
11236         * sem_util.adb (Wrong_Type): Improve error message when the type of
11237         the expression is used prematurely.
11238
11239 2003-12-08  GNAT Script  <nobody@gnat.com>
11240
11241         * Make-lang.in: Makefile automatically updated
11242
11243 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
11244
11245         * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
11246         they are automatically generated by Make-lang.in and cause nothing but
11247         maintenance troubles.
11248
11249 2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
11250
11251         * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
11252         version of this unit).
11253
11254 2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
11255
11256         * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
11257         5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
11258         5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
11259         the body of System.Interrupt_Management common to several targets.
11260         Update copyright notice when appropriate.
11261
11262         * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
11263         constant.
11264
11265         * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
11266         to ensure that the kernel fills in the interrupted context structure
11267         before calling a signal handler, which is necessary to be able to
11268         unwind past it. Update the copyright notice.
11269
11270 2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
11271
11272         * a-elchha.ads: New file.
11273
11274         * a-elchha.adb: New default last chance handler. Contents taken from
11275         Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
11276
11277         * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
11278         is moved to a-elchha.adb to provide a target-independent default last
11279         chance handler.
11280
11281         * Makefile.rtl: Add a-elchha.o
11282
11283         * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
11284
11285 2003-12-05  Ed Schonberg  <schonberg@gnat.com>
11286
11287         * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
11288         declared in an instance, do not inline the call if the instance is not
11289         frozen yet, to prevent order of elaboration problems.
11290
11291         * sem_prag.adb: Add comments for previous fix.
11292
11293 2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
11294
11295         * g-table.adb: Use the right variable in Set_Item.
11296         Update copyright notice.
11297
11298 2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
11299
11300         * Makefile.in: Remove unused rules.
11301
11302 2003-12-05  Vincent Celier  <celier@gnat.com>
11303
11304         * switch-c.adb (Scan_Front_End_Switches): Remove processing of
11305         -nostdlib. Not needed here after all.
11306
11307 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
11308
11309         PR ada/11724
11310
11311         * adaint.h, adaint.c, g-os_lib.ads:
11312         Do not assume that the offset argument to lseek(2) is a 32 bit integer,
11313         on some platforms (including FreeBSD), it is a 64 bit value.
11314         Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
11315
11316 2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
11317
11318         * gnatvsn.ads (Library_Version): Now contain only the relevant
11319         version info.
11320         (Verbose_Library_Version): New constant.
11321
11322         * g-spipat.adb, g-awk.adb, g-debpoo.adb,
11323         g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
11324         s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
11325
11326         * gnatlbr.adb: Clean up: replace Library_Version by
11327         Verbose_Library_Version.
11328
11329         * make.adb, lib-writ.adb, exp_attr.adb:
11330         Clean up: replace Library_Version by Verbose_Library_Version.
11331
11332         * 5lintman.adb: Removed.
11333
11334         * Makefile.in:
11335         Update and simplify computation of LIBRARY_VERSION.
11336         Fix computation of GSMATCH_VERSION.
11337         5lintman.adb is no longer used: replaced by 7sintman.adb.
11338
11339 2003-12-03  Robert Dewar  <dewar@gnat.com>
11340
11341         * exp_ch5.adb:
11342         (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
11343         name. Modified to consider small non-bit-packed arrays as troublesome
11344         and in need of component-by-component assigment expansion.
11345
11346 2003-12-03  Vincent Celier  <celier@gnat.com>
11347
11348         * lang-specs.h: Process nostdlib as nostdinc
11349
11350         * back_end.adb: Update Copyright notice
11351         (Scan_Compiler_Arguments): Process -nostdlib directly.
11352
11353 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
11354
11355         * Makefile.in:
11356         When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
11357         redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
11358         included in HIE_NONE_TARGET_PAIRS.
11359
11360 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
11361
11362         * sem_attr.adb:
11363         (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
11364         is legal in an instance, because legality is cheched in the template.
11365
11366         * sem_prag.adb:
11367         (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
11368         appplied to an unchecked conversion of a formal parameter.
11369
11370         * sem_warn.adb:
11371         (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
11372         variables.
11373
11374 2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
11375
11376         * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
11377         routines. The second one is new functionality to deal with backtracing
11378         through signal handlers.
11379         (unwind): Split into the two separate subroutines above.
11380         Update the documentation, and deal properly with sizeof (REG) different
11381         from sizeof (void*).
11382
11383 2003-12-01  Nicolas Setton  <setton@act-europe.fr>
11384
11385         * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
11386         so that the debugger can reliably access the value of the parameter,
11387         and therefore is able to display the exception name when an exception
11388         breakpoint is reached.
11389
11390 2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
11391
11392         * fmap.adb: Fix typo in warning message.
11393
11394         * g-socket.ads, g-socket.adb: Make Free a visible instance of
11395         Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
11396
11397 2003-12-01  Vincent Celier  <celier@gnat.com>
11398
11399         * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
11400         ther is no Afile.
11401         (Build_Library): Get the switches only if Default_Switches is declared
11402         in package Binder.
11403
11404 2003-12-01  Ed Schonberg  <schonberg@gnat.com>
11405
11406         * exp_ch6.adb (Expand_Actuals): When applying validity checks to
11407         actuals that are indexed components, reanalyze actual to ensure that
11408         packed array references are properly expanded.
11409
11410         * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
11411         attempted assignment to a discriminant.
11412
11413 2003-12-01  Robert Dewar  <dewar@gnat.com>
11414
11415         * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
11416         reformatting.
11417
11418         * switch-c.adb: Minor reformatting of comments
11419
11420 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
11421
11422         * Makefile.in: Clean ups.
11423
11424 2003-12-01  GNAT Script  <nobody@gnat.com>
11425
11426         * Make-lang.in: Makefile automatically updated
11427
11428 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
11429
11430         * 5wsystem.ads: Disable zero cost exception, not ready yet.
11431
11432 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
11433
11434         * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
11435         to force serialization.
11436
11437 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
11438
11439         * g-socket.ads, g-socket.adb:
11440         Clarify documentation of function Stream. Introduce a Free procedure
11441         to release the returned Stream once it becomes unused.
11442
11443         * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
11444
11445 2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
11446
11447         (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
11448         since NT 4 cannot handle timeout values that are too large,
11449         e.g. DWORD'Last - 1.
11450
11451 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
11452
11453         * exp_ch4.adb:
11454         (Expand_N_Slice): Recognize all cases of slices that appear as actuals
11455         in procedure calls and whose expansion must be deferred.
11456
11457         * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
11458         is in exp_ch4.
11459
11460         * sem_ch3.adb:
11461         (Build_Derived_Array_Type): Create operator for unconstrained type
11462         if ancestor is unconstrained.
11463
11464 2003-11-26  Vincent Celier  <celier@gnat.com>
11465
11466         * make.adb (Project_Object_Directory): New global variable
11467         (Change_To_Object_Directory): New procedure
11468         (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
11469         of Change_Dir directly. Do not change working directory to object
11470         directory of main project after each compilation.
11471         (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
11472         directly.
11473         Change to object directory of main project before binding step.
11474         (Initialize): Initialize Project_Object_Directory to No_Project
11475
11476         * mlib-prj.adb:
11477         (Build_Library): Take into account Builder'Default_Switches ("Ada") when
11478         binding a Stand-Alone Library.
11479
11480         * output.adb: Update Copyright notice
11481         (Write_Char): Output buffer when full
11482
11483 2003-11-26  Robert Dewar  <dewar@gnat.com>
11484
11485         * sem_ch13.adb: (Check_Size): Reset size if size is too small
11486
11487         * sem_ch13.ads:
11488         (Check_Size): Fix documentation to include bit-packed array case
11489
11490         * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
11491
11492         * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
11493
11494         * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
11495
11496 2003-11-24  Arnaud Charlet <charlet@act-europe.fr>
11497
11498         PR ada/13142
11499         * utils.c (init_gigi_decls): Change name of built-in setjmp to
11500         __builtin_setjmp, since this is apparently needed by recent
11501         non Ada changes.
11502
11503 2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11504
11505         * adadecode.c: Only include ctype.h if not IN_GCC.
11506         (__gnat_decode): Use ISDIGIT from safe-ctype.h.
11507
11508 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
11509
11510         * Makefile.in:
11511         Use 5zintman.ads for VxWorks targets. This file avoid confusion between
11512         signals and interrupts.
11513
11514         * 5zintman.ads: New File.
11515
11516         * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
11517         add exception signals to the set of unmasked signals.
11518
11519         * 5ztaprop.adb:
11520         Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
11521         between signals and interrupts.
11522         Add to Unblocked_Signal_Mask the set of signals that are in
11523         Keep_Unmasked.
11524
11525         * 7sinmaop.adb:
11526         Adding a check to see whether the Interrupt_ID we want to unmask is in
11527         the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
11528         reason is that the index type of the Keep_Unmasked array is not always
11529         Interrupt_ID; it may be a subtype of Interrupt_ID.
11530
11531 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
11532
11533         * exp_util.adb:
11534         (Remove_Side_Effects): Condition constantness of object created for a
11535          an unchecked type conversion on the constantness of the expression
11536          to ensure the correct value for 'Constrained when passing components
11537          of view-converted class-wide objects.
11538
11539 2003-11-24  Robert Dewar  <dewar@gnat.com>
11540
11541         * par-load.adb (Load): Improve handling of misspelled and missing units
11542         Removes several cases of compilation abandoned messages
11543
11544         * lib.adb: (Remove_Unit): New procedure
11545
11546         * lib.ads: (Remove_Unit): New procedure
11547
11548         * lib-load.adb: Minor reformatting
11549
11550 2003-11-24  Vincent Celier  <celier@gnat.com>
11551
11552         * make.adb:
11553         (Gnatmake, Initialize): Call Usage instead of Makeusg directly
11554         (Marking_Label): Label to mark processed source files. Incremented for
11555         each executable.
11556         (Gnatmake): Increase Marking_Labet for each executable
11557         (Is_Marked): Compare against marking label
11558         (Mark): Mark with marking label
11559
11560 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
11561
11562         * s-thread.ads:
11563         Move the declaration of the TSD for System.Threads to System.Soft_Links.
11564         Add some comments.
11565
11566         * Makefile.in: Added target pair for s-thread.adb for cert runtime.
11567         (rts-cert): build a single relocatable object for the run-time lib.
11568         Fix perms.
11569
11570 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
11571
11572         * Make-lang.in:
11573         Use gnatls rather than gcc to obtain the location of GNAT RTL for
11574         crosstools build.
11575
11576 2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
11577
11578         * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
11579         can not use it as before (that is, as a variable) when dumping it into
11580         the tree file. Add a local variable to store the result of this
11581         function and to be used as the string to be written into the tree.
11582
11583         * scn.adb (Initialize_Scanner): Add comments explaining the recent
11584         changes.
11585
11586         * sinput.adb (Source_First, Source_Last): In case of
11587         Internal_Source_File, replace returning attributes of
11588         Internal_Source_Ptr (which is wrong) with returning attributes of
11589         Internal_Source.
11590
11591 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
11592
11593         * sem_ch3.adb:
11594         (New_Concatenation_Op): Proper name for New_Binary_Operator, only
11595         used for implicit concatenation operators.
11596         Code cleanup.
11597
11598         * sem_elab.adb:
11599         (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
11600         task bodies that are in the scope of a Suppress pragma.
11601         (Check_A Call): Use the flag to prevent spurious elaboration checks.
11602
11603         * sinfo.ads, sinfo.adb:
11604         New flag No_Elaboration_Check on function/procedure calls, to properly
11605         suppress checks on calls in task bodies that are within a local suppress
11606         pragma.
11607
11608         * exp_ch4.adb:
11609         (Expand_Concatenate_Other): Use the proper integer type for the
11610         expression for the upper bound, to avoid universal_integer computations
11611         when possible.
11612
11613 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
11614
11615         * .cvsignore: Delete.
11616
11617 2003-11-21  Andreas Schwab  <schwab@suse.de>
11618
11619         * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
11620
11621 2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
11622
11623         * 5wsystem.ads: Enable zero cost exception.
11624
11625 2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
11626
11627         * 5ztiitho.adb: Remove an unreferenced variable.
11628
11629 2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
11630
11631         * adaint.c: For FreeBSD, use mkstemp.
11632
11633 2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
11634
11635         * gnatlbr.adb: Now reference Gnat_Static_Version_String.
11636
11637 2003-11-21  Robert Dewar  <dewar@gnat.com>
11638
11639         * bld.adb: Remove useless USE of gnatvsn
11640
11641         * gnatchop.adb: Minor reformatting
11642         Clean up version handling to be more consistent
11643
11644         * gnatxref.adb: Minor reformatting
11645
11646         * gprcmd.adb: Minor reformatting
11647         Fix output of copyright to be more consistent with other tools
11648
11649 2003-11-21  Vincent Celier  <celier@gnat.com>
11650
11651         * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
11652
11653 2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
11654
11655         * atree.adb (Initialize): Add initializations for global variables
11656         used in New_Copy_Tree.
11657
11658         * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
11659         Internal_Source_File as the actual).
11660         Put the set of statements creating Any_Character before the set of
11661         statements creating Any_Array to have Any_Character fully initialized
11662         when it is used in creating Any_Array.
11663
11664         * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
11665         not call Scan in case if the actual is Internal_Source_File
11666         Add 2003 to copyright note.
11667
11668         * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
11669         processing Internal_Source_File.
11670
11671         * types.ads: Add the constant Internal_Source_File representing the
11672         source buffer for artificial source-code-like strings created within
11673         the compiler (the definition of Source_File_Index is changed).
11674
11675 2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
11676
11677         * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
11678         56system.ads: New file, FreeBSD version.
11679
11680 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
11681
11682         * Make-lang.in (ada.extraclean): Delete.
11683
11684 2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
11685
11686         * gnatmem.adb: Clean up verbose output.
11687
11688         * gprcmd.adb: Change copyright to FSF.
11689
11690 2003-11-19  Vincent Celier  <celier@gnat.com>
11691
11692         * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
11693         and Version (ignored).
11694
11695         * symbols.ads: (Policy): New type
11696         (Initialize): New parameter Reference, Symbol_Policy and
11697         Library_Version.
11698         Remove parameter Force.
11699         Minor reformatting.
11700
11701         * snames.ads, snames.adbadb: New standard names
11702         Library_Reference_Symbol_File and Library_Symbol_Policy
11703
11704         * mlib-prj.adb:
11705         (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
11706         project.
11707
11708         * mlib-tgt.adb:
11709         (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
11710
11711         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
11712
11713         * prj.adb: (Project_Empty): New component Symbol_Data
11714
11715         * prj.ads: (Policy, Symbol_Record): New types
11716         (Project_Data): New component Symbol_Data
11717
11718         * prj-attr.adb:
11719         New attributes Library_Symbol_File, Library_Symbol_Policy and
11720         Library_Reference_Symbol_File.
11721
11722         * prj-nmsc.adb:
11723         (Ada_Check): When project is a Stand-Alone library project, process
11724         attribute Library_Symbol_File, Library_Symbol_Policy and
11725         Library_Reference_Symbol_File.
11726
11727         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
11728         5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
11729         5sml-tgt.adb (Build_Dynamic_Library): New parameter
11730         Symbol_Data (ignored).
11731
11732         * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
11733         (Build_Dynamic_Library): New parameter Symbol_Data. New internal
11734         functions Option_File_Name and Version_String. Set new options of
11735         gnatsym related to symbol file, symbol policy and reference symbol
11736         file.
11737
11738         * 5vsymbol.adb:
11739         Extensive modifications to take into account the reference symbol file,
11740         the symbol policy, the library version and to put in the symbol file the
11741         minor and major IDs.
11742
11743         * bld.adb (Process_Declarative_Items): Put second argument of
11744         gprcmd to_absolute between single quotes, to avoid problems with
11745         Windows.
11746
11747         * bld-io.adb: Update Copyright notice.
11748         (Flush): Remove last character of a line, if it is a back slash, to
11749         avoid make problems.
11750
11751         * gnatsym.adb:
11752         Implement new scheme with reference symbol file and symbol policy.
11753
11754         * g-os_lib.ads: (Is_Directory): Clarify comment
11755
11756 2003-11-19  Robert Dewar  <dewar@gnat.com>
11757
11758         * atree.adb: Move New_Copy_Tree global variables to head of package
11759
11760         * errout.adb: Minor reformatting
11761
11762 2003-11-19  Javier Miranda  <miranda@gnat.com>
11763
11764         * sem_ch4.adb: (Diagnose_Call): Improve error message.
11765         Add reference to Ada0Y (AI-50217)
11766
11767         * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
11768         sem_util.adb: Add reference to AI-50217
11769
11770         * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
11771
11772         * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
11773
11774         * sem_aggr.adb: Complete documentation of AI-287 changes
11775
11776         * par-ch4.adb: Document previous changes.
11777
11778         * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
11779         sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
11780         Ada0Y (AI-50217)
11781
11782         * exp_aggr.adb: Add references to AI-287 in previous changes
11783
11784 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
11785
11786         * exp_ch6.adb:
11787         (Add_Call_By_Copy_Node): Do not original node of rewritten expression
11788         in the rewriting is the result of an inlined call.
11789
11790         * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
11791         parameter is a type conversion, use original node to construct the
11792         post-call assignment, because expression may have been rewritten, e.g.
11793         if it is a packed array.
11794
11795         * sem_attr.adb:
11796         (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
11797         body, just as it is in an instance.
11798         Categorization routines
11799
11800         * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
11801         Instantiate_Object): Set proper sloc reference for message on missing
11802         actual.
11803
11804 2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
11805
11806         * Makefile.in: Add FreeBSD libgnat pairs.
11807
11808         * usage.adb: Fix typo in usage message.
11809
11810 2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
11811
11812         * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
11813         s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
11814         pragma Thread_Body.
11815         Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
11816
11817         * s-thread.adb: This file is now a dummy implementation of
11818         System.Thread.
11819
11820 2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
11821
11822         * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
11823
11824 2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
11825
11826         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
11827         instanciation references in the parent type description.
11828
11829 2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11830
11831         * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
11832
11833         * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
11834         TYPE_PRECISION directly from esize.
11835
11836 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
11837
11838         * cstreams.c:
11839         Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
11840
11841         * init.c: Initialization routines for FreeBSD
11842
11843         * link.c: Link info for FreeBSD
11844
11845         * sysdep.c: Add the case of FreeBSD
11846
11847 2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
11848
11849         * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
11850         already called in System.Threads.
11851
11852         * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
11853         environment task, as it has been moved to System.Threads.Initialization.
11854
11855 2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
11856
11857         * adaint.c (__gnatlib_install_locks): Only reference
11858         __gnat_install_locks on VMS, since other platforms can avoid using
11859         --enable-threads=gnat
11860
11861 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11862
11863         * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
11864
11865         * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
11866         TYPE_PACKED_ARRAY_TYPE_P.
11867         (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
11868
11869         Part of PR ada/12806
11870         * utils.c (float_type_for_precision): Renamed from float_type_for_size.
11871         Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
11872
11873 2003-11-17  Vincent Celier  <celier@gnat.com>
11874
11875         * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
11876         to False.
11877         Do not set exit status to Failure when Warning is True.
11878         (Gnatchop): Make errors "no compilation units found" and
11879         "no source files written" warnings only.
11880
11881         * make.adb (Gnatmake): When using a project file, set
11882         Look_In_Primary_Dir to False.
11883         (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
11884         and Local_Configuration_Pragmas in the project where they are declared
11885         not an extending project which might have inherited them.
11886
11887         * osint.adb (Locate_File): If Name is already an absolute path, do not
11888         look for a directory.
11889
11890         * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
11891         -gnats (Check_Syntax) is used, issue only a warning, not an error.
11892
11893         * prj.adb (Register_Default_Naming_Scheme): Add new component Project
11894         in objects of type Variable_Value.
11895
11896         * prj.ads: (Variable_Value): New component Project
11897
11898         * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
11899         is in a project extended by Project.
11900
11901         * prj-proc.adb (Add_Attributes): New parameter Project. Set component
11902         Project of Variable_Values to this new parameter value.
11903         (Expression): Set component Project of Variable_Values.
11904         (Process_Declarative_Items): Call Add_Attributes with parameter Project.
11905         Set the component Project in array elements.
11906
11907 2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
11908
11909         * errout.adb: (Initialize): Add initialization for error nodes.
11910
11911         * sem_ch12.adb (Initialize): Add missing initializations for
11912         Exchanged_Views and Hidden_Entities.
11913
11914 2003-11-17  Ed Schonberg  <schonberg@gnat.com>
11915
11916         * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
11917         already instantiated tree for use in subsequent inlining.
11918         (Analyze_Associations, Instantiate_Formal_Subprogram,
11919         Instantiate_Object): improve error message for mismatch in
11920         instantiations.
11921
11922         * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
11923         instantiations of subprograms declared in instances.
11924
11925 2003-11-17  Javier Miranda  <miranda@gnat.com>
11926
11927         * sem_ch4.adb (Analyze_Allocator): Previous modification must be
11928         executed only under the Extensions_Allowed flag.
11929
11930 2003-11-17  Robert Dewar  <dewar@gnat.com>
11931
11932         * a-exexda.adb (Address_Image): Fix documentation to indicate leading
11933         zeroes suppressed.
11934         (Address_Image): Fix bug of returning 0x instead of 0x0
11935         Minor reformatting (function specs).
11936
11937         * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
11938         (missed case of 33-63)
11939
11940         * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
11941
11942         * s-thread.adb: Add comments for pragma Restriction
11943
11944         * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
11945         sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
11946
11947 2003-11-17  Ed Falis  <falis@gnat.com>
11948
11949         * s-thread.adb: Added No_Tasking restriction for this implementation.
11950
11951 2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
11952
11953         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
11954         instanciation references in the parent type description.
11955
11956 2003-11-17  GNAT Script  <nobody@gnat.com>
11957
11958         * Make-lang.in: Makefile automatically updated
11959
11960 2003-11-16  Jason Merrill  <jason@redhat.com>
11961
11962         * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
11963         and TAGS files that include them for each front end.
11964
11965 2003-11-14  Andreas Jaeger  <aj@suse.de>
11966
11967         * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
11968         is the canonical version.
11969         * misc.c (gnat_handle_option): Likewise.
11970
11971         * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
11972
11973         * 5nsystem.ads: New file for x86_64-linux-gnu.
11974
11975 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
11976
11977         * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
11978
11979         * comperr.adb: Fix logic in previous change.
11980
11981 2003-11-13  Vincent Celier  <celier@gnat.com>
11982
11983         * 5bml-tgt.adb (Build_Dynamic_Library): Use
11984         Osint.Include_Dir_Default_Prefix instead of
11985         Sdefault.Include_Dir_Default_Name.
11986
11987         * gnatlbr.adb: Update Copyright notice
11988         (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
11989         Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
11990         instead of Sdefault.Object_Dir_Default_Name
11991
11992         * gnatlink.adb:
11993         (Process_Binder_File): Never suppress the option following -Xlinker
11994
11995         * mdll-utl.adb:
11996         (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
11997         Sdefault.Object_Dir_Default_Name.
11998
11999         * osint.ads, osint.adb:
12000         (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
12001         Minor reformatting.
12002
12003         * vms_conv.ads: Minor reformating
12004         Remove GNAT STANDARD and GNAT PSTA
12005
12006         * vms_conv.adb:
12007         Allow GNAT MAKE to have several files on the command line.
12008         (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
12009         Sdefault.Object_Dir_Default_Name.
12010         Minor Reformating
12011         Remove data for GNAT STANDARD
12012
12013         * vms_data.ads:
12014         Add new compiler qualifier /PRINT_STANDARD (-gnatS)
12015         Remove data for GNAT STANDARD
12016         Remove options and documentation for -gnatwb/-gnatwB: these warning
12017         options no longer exist.
12018
12019 2003-11-13  Ed Falis  <falis@gnat.com>
12020
12021         * 5zthrini.adb: (Init_RTS): Made visible
12022
12023         * 5zthrini.adb:
12024         (Register): Removed unnecessary call to taskVarGet that checked whether
12025          an ATSD was already set as a task var for the argument thread.
12026
12027         * s-thread.adb:
12028         Updated comment to reflect that this is a VxWorks version
12029         Added context clause for System.Threads.Initialization
12030         Added call to System.Threads.Initialization.Init_RTS
12031
12032 2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
12033
12034         * 5zthrini.adb:
12035         (Init_RTS): New procedure, for the initialization of the run-time lib.
12036
12037         * s-thread.adb:
12038         Remove dependancy on System.Init, so that this file can be used in the
12039         AE653 sequential run-time lib.
12040
12041 2003-11-13  Robert Dewar  <dewar@gnat.com>
12042
12043         * bindgen.adb: Minor reformatting
12044
12045 2003-11-13  Ed Schonberg  <schonberg@gnat.com>
12046
12047         * checks.adb:
12048         (Apply_Discriminant_Check): Do no apply check if target type is derived
12049         from source type with no applicable constraint.
12050
12051         * lib-writ.adb:
12052         (Ensure_System_Dependency): Do not apply the style checks that may have
12053         been specified for the main unit.
12054
12055         * sem_ch8.adb:
12056         (Find_Selected_Component): Further improvement in error message, with
12057         RM reference.
12058
12059         * sem_res.adb:
12060         (Resolve): Handle properly the case of an illegal overloaded protected
12061         procedure.
12062
12063 2003-11-13  Javier Miranda  <miranda@gnat.com>
12064
12065         * exp_aggr.adb:
12066         (Has_Default_Init_Comps): New function to check the presence of
12067         default initialization in an aggregate.
12068         (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
12069         extension aggregate of a limited record. In addition, a new formal
12070         was added to do not initialize the record controller (if any) during
12071         this recursive expansion of ancestors.
12072         (Init_Controller): Add support for limited record components.
12073         (Expand_Record_Aggregate): In case of default initialized components
12074         convert the aggregate into a set of assignments.
12075
12076         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
12077         describing the new syntax.
12078         Nothing else needed to be done because this subprogram delegates part of
12079         its work to P_Precord_Or_Array_Component_Association.
12080         (P_Record_Or_Array_Component_Association): Give support to the new
12081         syntax for default initialization of components.
12082
12083         * sem_aggr.adb:
12084         (Resolve_Aggregate): Relax the strictness of the frontend in case of
12085         limited aggregates.
12086         (Resolve_Record_Aggregate): Give support to default initialized
12087         components.
12088         (Get_Value): In case of default initialized components, duplicate
12089         the corresponding default expression (from the record type
12090         declaration). In case of default initialization in the *others*
12091         choice, do not check that all components have the same type.
12092         (Resolve_Extension_Aggregate): Give support to limited extension
12093         aggregates.
12094
12095         * sem_ch3.adb:
12096         (Check_Initialization): Relax the strictness of the front-end in case
12097         of aggregate and extension aggregates. This test is now done in
12098         Get_Value in a per-component manner.
12099
12100         * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
12101         expression corresponds to a limited aggregate. This test is now done
12102         in Get_Value.
12103
12104         * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
12105         Box_Present flag.
12106
12107         * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
12108         present in an N_Component_Association node
12109
12110 2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
12111
12112         * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
12113         type-conformant entry only if they are homographs.
12114
12115 2003-11-13  GNAT Script  <nobody@gnat.com>
12116
12117         * Make-lang.in: Makefile automatically updated
12118
12119 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12120
12121         * adadecode.c: Use <> form of include for ctype.h.
12122         * sysdep.c [IN_RTS]: Use <> form of include for time.h.
12123
12124 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12125
12126         * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
12127         Works around PR middle-end/6552.
12128
12129 2003-11-10  Ed Falis  <falis@gnat.com>
12130
12131         * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
12132
12133         * 5zinit.adb: (Install_Handler): Moved back to spec
12134         (Install_Signal_Handlers): Deleted
12135
12136         * 5zthrini.adb: Added context clause for System.Storage_Elements
12137         (Register): Only handles creation of taskVar; initialization moved to
12138         Thread_Body_Enter.
12139         (Reset_TSD): Deleted; replaced by Thread_Body_Enter
12140         Added declaration of environment task secondary stack and
12141         initialization.
12142
12143         * s-thread.adb: Implement bodies for thread body processing
12144
12145         * s-thread.ads:
12146         Added comment identifying supported targets for pragma Thread_Body.
12147
12148 2003-11-10  Pascal Obry  <obry@gnat.com>
12149
12150         * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
12151         GNAT_MAX_PATH_LEN.
12152
12153         * s-fileio.adb:
12154         (Open): Properly check for string length before copying into the buffer.
12155         Raises Name_Error if buffer is too small. Note that this was a potential
12156         buffer overflow.
12157
12158 2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
12159
12160         * bindgen.adb, comperr.adb: Code clean ups.
12161         * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
12162
12163 2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
12164
12165         * gnat1drv.adb: Add call to Sem_Elim.Initialize.
12166
12167 2003-11-10  Vincent Celier  <celier@gnat.com>
12168
12169         * gprcmd.adb:
12170         (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
12171         installation.
12172
12173         * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
12174
12175         * prj.adb: (Project_Empty): Add new boolean component Virtual
12176
12177         * prj.ads: (Virtual_Prefix): New constant string
12178         (Project_Data): New boolean component Virtual
12179
12180         * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
12181         a library project is extended by a virtual extending project.
12182
12183         * prj-part.adb:
12184         Modifications throughout to implement extending-all project, including:
12185         (Virtual_Hash, Processed_Hash): New hash tables
12186         (Create_Virtual_Extending_Project): New procedure
12187         (Look_For_Virtual_Projects_For): New procedure
12188
12189         * prj-proc.adb:
12190         (Process): After checking the projects, if main project is an
12191         extending-all project, set the object directory of all virtual extending
12192         project to the object directory of the main project.
12193         Adjust error message when a virtual extending project has the same
12194         object directory as an project being extended.
12195         (Recursive_Process): If name starts with the virtual prefix, set Virtual
12196         to True in the project data.
12197
12198         * prj-tree.adb:
12199         (Default_Project_Node): Add new boolean component Extending_All
12200         (Is_Extending_All): New function
12201         (Set_Is_Extending_All): New procedure
12202
12203         * prj-tree.ads: (Is_Extending_All): New function
12204         (Set_Is_Extending_All): New procedure
12205         (Project_Node_Record): New boolean component Extending_All
12206
12207         * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
12208
12209         * vms_data.ads:
12210         Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
12211
12212         * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
12213         "gprcmd prefix" to define it.
12214
12215 2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
12216
12217         * einfo.ads: Fix a typo and remove an extraneous word in comments.
12218
12219         * lib-load.adb:
12220         (Create_Dummy_Package_Unit): Set the scope of the entity for the
12221         created dummy package to Standard_Standard, not to itself, to
12222         defend other parts of the front-end against encoutering a cycle in
12223         the scope chain.
12224
12225         * sem_ch10.adb:
12226         (Analyze_With_Clause): When setting the entities for the successive
12227         N_Expanded_Names that constitute the name of a child unit, do not
12228         attempt to go further than Standard_Standard in the chain of scopes.
12229         This case arises from the placeholder units created by
12230         Create_Dummy_Package_Unit in the case of a with_clause for a
12231         nonexistent child unit.
12232
12233 2003-11-10  Ed Schonberg  <schonberg@gnat.com>
12234
12235         * exp_ch6.adb:
12236         (Expand_Thread_Body): Place subprogram on scope stack, so that new
12237         declarations are given the proper scope.
12238
12239         * sem_ch13.adb:
12240         (Check_Expr_Constants): Reject an expression that contains a constant
12241         created during expansion, and that appears after the object to which
12242         the address clause applies.
12243
12244         * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
12245         Analyze_Iteration_Scheme, to rewrite a loop parameter specification
12246         that uses 'Range of a function call with controlled components, so
12247         that the function result can be finalized before starting the loop.
12248
12249         * sem_ch8.adb:
12250         (Find_Selected_Component): Improve error message when prefix is
12251         an implicit dereference of an incomplete type.
12252
12253 2003-11-10  Robert Dewar  <dewar@gnat.com>
12254
12255         * opt.ads: New Print_Standard flag for -gnatS switch
12256
12257         * sem_ch13.adb: Remove some additional checks for unaligned arrays
12258
12259         * cstand.adb (Create_Standard): Print out package standard if -gnatS
12260         switch set
12261
12262         * debug.adb: Update doc for -gnatds to discuss relationship with new
12263         -gnatS flag
12264
12265         * sinfo.adb: Add new field Entity_Or_Associated_Node
12266
12267         * sinfo.ads: Add new field Entity_Or_Associated_Node
12268         Update documentation for Associated_Node and Entity fields to clarify
12269         relationship and usage.
12270
12271         * sprint.adb:
12272         (Write_Id): Properly process Associated_Node field in generic template
12273
12274         * switch-c.adb:
12275         Recognize new -gnatS switch for printing package Standard
12276         This replaces gnatpsta
12277
12278         * usage.adb:
12279         Add line for  new -gnatS switch for printing package Standard
12280         This replaces gnatpsta
12281
12282 2003-11-10  Andreas Jaeger  <aj@suse.de>
12283
12284         * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
12285         integer.
12286
12287 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
12288
12289         * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
12290         by gnat1.
12291
12292 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
12293
12294         * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
12295         no longer needed.
12296
12297         * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
12298
12299         * sysdep.c: Add handling of cygwin.
12300
12301 2003-11-10  GNAT Script  <nobody@gnat.com>
12302
12303         * Make-lang.in: Makefile automatically updated
12304
12305 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
12306
12307         PR 12950
12308         * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
12309         functions. Used to handle dynamic prefix relocation, via set_std_prefix.
12310         Replace GNAT_ROOT by GCC_ROOT.
12311
12312         * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
12313
12314 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
12315
12316         * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
12317         and update for changed meaning of GET_MODE_BITSIZE.
12318
12319 2003-11-04  Doug Rupp  <rupp@gnat.com>
12320
12321         * sysdep.c: Problem discovered during IA64 VMS port.
12322         [VMS] #include <unixio.h> to get proper prototypes.
12323
12324         * adaint.c:
12325         Issues discovered/problems fixed during IA64 VMS port.
12326         [VMS] #define _POSIX_EXIT for proper semantics.
12327         [VMS] #include <unixio.h> for proper prototypes.
12328         [VMS] (fork): #define IA64 version.
12329         (__gnat_os_exit): Remove unnecessary VMS specific code.
12330
12331 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12332
12333         Part of PR ada/12806
12334
12335         * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
12336         tree, not integer.
12337
12338         * decl.c:
12339         (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
12340         not integer.
12341
12342         * targtyps.c, decl.c, misc.c,
12343         gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
12344         routines to work around change in FP sizing semantics in GCC.
12345
12346         * utils.c:
12347         (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
12348
12349         * gigi.h: (enumerate_modes): New function.
12350
12351         * Make-lang.in: (ada/misc.o): Add real.h.
12352
12353         * misc.c: (enumerate_modes): New function.
12354
12355 2003-11-04  Robert Dewar  <dewar@gnat.com>
12356
12357         * 3vtrasym.adb: Minor reformatting
12358         Use terminology encoded/decoded name, rather than C++ specific notion
12359         of mangling (this is the terminology used throughout GNAT).
12360
12361         * einfo.h: Regenerated
12362
12363         * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
12364
12365         * exp_ch6.adb:
12366         (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
12367
12368         * par-prag.adb: Add dummy entry for Thread_Body pragma
12369
12370         * rtsfind.ads:
12371         Add entries for System.Threads entities for thread body processing
12372
12373         * sem_attr.adb:
12374         (Analyze_Pragma, Access attributes): Check these are not applied to a
12375         thread body, since this is not permitted
12376
12377         * sem_prag.adb: Add processing for Thread_Body pragma.
12378         Minor comment fix.
12379
12380         * sem_res.adb:
12381         (Resolve_Call): Check for incorrect attempt to call a thread body
12382          procedure with a direct call.
12383
12384         * snames.ads, snames.adb: Add entry for Thread_Body pragma
12385         Add names associated with thread body expansion
12386
12387         * snames.h: Add entry for Thread_Body pragma
12388
12389         * s-thread.adb: Add entries for thread body processing
12390         These are dummy bodies so far
12391
12392         * s-thread.ads: Add documentation on thread body handling.
12393         Add entries for thread body processing.
12394
12395 2003-11-04  Javier Miranda  <miranda@gnat.com>
12396
12397         * sem_ch10.adb:
12398         (Build_Limited_Views): Return after posting an error in case of limited
12399         with_clause on subprograms, generics, instances or generic renamings
12400         (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
12401         on subprograms, generics, instances or generic renamings
12402
12403 2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
12404
12405         * raise.c (setup_to_install): Correct mistake in last revision; two
12406         arguments out of order.
12407
12408         * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
12409         gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
12410         notice, missed in previous change.
12411         Remove trailing blanks and other style errors introduced in previous
12412         change.
12413
12414 2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
12415
12416         * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
12417         rid of the wrapper for a LJM type, ensuring we don't do that if the
12418         field is addressable.  This avoids potential low level type view
12419         mismatches later on, for instance in a by-reference argument passing
12420         process.
12421
12422 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12423
12424         * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
12425         aligned at byte boundary.
12426
12427 2003-11-04  Joel Brobecker  <brobecker@gnat.com>
12428
12429         * decl.c (components_to_record): Do not delete the empty variants from
12430         the end of the union type.
12431
12432 2003-11-04  Ed Schonberg  <schonberg@gnat.com>
12433
12434         * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
12435         operation for a derived type, an explicit declaration may use a local
12436         subtype of Boolean.
12437
12438 2003-11-04  Vincent Celier  <celier@gnat.com>
12439
12440         * make.adb (Gnatmake): Allow main sources on the command line with a
12441         library project when it is only for compilation (no binding or
12442         linking).
12443
12444 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12445
12446         * Makefile.in: Remove many duplicate variables.
12447
12448 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
12449
12450         * Make-lang.in (dvi): Move targets to $(docobjdir).
12451         (gnat_ug_vms.dvi): Simplify rule and adjust target.
12452         (gnat_ug_wnt.dvi): Likewise.
12453         (gnat_ug_unx.dvi): Likewise.
12454         (gnat_ug_vxw.dvi): Likewise.
12455         (gnat_rm.dvi): Likewise.
12456         (gnat-style.dvi): Likewise.
12457
12458 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
12459
12460         * gigi.h: Missed commit from update for C90.
12461
12462 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
12463
12464         * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
12465
12466 2003-10-31  Andreas Schwab  <schwab@suse.de>
12467
12468         * raise.c (get_action_description_for): Fix typo in last change.
12469
12470 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
12471
12472         PR ada/12761
12473         * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
12474         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
12475
12476 2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
12477
12478         * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
12479         ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
12480         gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
12481         sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
12482         trans.c, utils.c, utils2.c: Convert function prototypes to C90.
12483
12484 2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
12485
12486         * 3vtrasym.adb:
12487         Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
12488         numbers when symbol name is too long.
12489
12490 2003-10-30  Ed Falis  <falis@gnat.com>
12491
12492         * g-signal.ads, g-signal.adb: New files
12493
12494         * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
12495
12496         * Makefile.rtl: Introduce GNAT.Signals
12497
12498 2003-10-30  Robert Dewar  <dewar@gnat.com>
12499
12500         * freeze.adb: Minor reformatting
12501
12502         * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
12503
12504         * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
12505         par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
12506         New handling of Id_Check parameter to improve recognition of keywords
12507         used as identifiers.
12508         Update copyright notice to include 2003
12509
12510 2003-10-29  Robert Dewar  <dewar@gnat.com>
12511
12512         * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
12513         sem_ch10.adb: Minor reformatting
12514
12515         * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
12516         (Expand_Assign_Record): Test right hand side for bit unaligned as well
12517
12518 2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
12519
12520         * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
12521         Support for TBK$SYMBOLIZE-based symbolic traceback.
12522
12523 2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
12524
12525         * exp_disp.adb:
12526         Revert previous change, that did not work well when pragma No_Run_Time
12527         was used in conjunction with a run-time other than ZFP.
12528
12529 2003-10-29  Vincent Celier  <celier@gnat.com>
12530
12531         * make.adb:
12532         (Gnatmake): When there are no Ada mains in attribute Main, disable the
12533          bind and link steps only is switch -z is not used.
12534
12535 2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
12536
12537         * Makefile.generic: Remove duplicated setting of CC.
12538
12539         * Makefile.prolog: Set CC to gcc by default, to override make's
12540         default (cc).
12541
12542         * einfo.h: Regenerated.
12543
12544 2003-10-29  Ed Schonberg  <schonberg@gnat.com>
12545
12546         * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
12547         current body, after compiling subunit.
12548
12549         * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
12550         when in deleted code, because gigi needs properly ordered freeze
12551         actions to annotate types.
12552
12553         * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
12554         prevent the premature freezing of record type that contains
12555         subcomponents with a private type that does not yet have a completion.
12556
12557 2003-10-29  Javier Miranda  <miranda@gnat.com>
12558
12559         * sem_ch12.adb:
12560         (Analyze_Package_Instantiation): Check that instances can not be used in
12561         limited with_clauses.
12562
12563         * sem_ch8.adb:
12564         (Analyze_Package_Renaming): Check that limited withed packages cannot
12565         be renamed. Improve text on error messages related to limited
12566         with_clauses.
12567
12568         * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
12569
12570         * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
12571         Update copyright notice.
12572
12573         * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
12574         (Install_Limited_Context_Clauses): New subprogram that isolates all the
12575         checks required for limited context_clauses and installs the limited
12576         view.
12577         (Install_Limited_Withed_Unit): Complete its documentation.
12578         (Analyze_Context): Check that limited with_clauses are only allowed in
12579         package specs.
12580         (Install_Context): Call Install_Limited_Context_Clauses after the
12581         parents have been installed.
12582         (Install_Limited_Withed_Unit): Add documentation. Mark the installed
12583         package as 'From_With_Type'; this mark indicates that the limited view
12584         is installed. Used to check bad usages of limited with_clauses.
12585         (Build_Limited_Views): Do not add shadow entities to the scope's list
12586         of entities. Do not add real entities to the Non_Limited_Views chain.
12587         Improve error notification.
12588         (Remove_Context_Clauses): Remove context clauses in two phases:
12589         limited views first and regular views later (to maintain the
12590         stack model).
12591         (Remove_Limited_With_Clause): If the package is analyzed then reinstall
12592         its visible entities.
12593
12594 2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
12595
12596         * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
12597         with any type that Is_Fixed_Point_Type.
12598
12599         * sinfo.ads: Fix documentation for Associated_Node attribute.
12600
12601 2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
12602
12603         * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
12604         both '-gnatc' and '-gnatt' are specified.
12605
12606         * atree.adb (Initialize): Add initialization for Node_Count (set to
12607         zero).
12608
12609 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12610
12611         * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
12612         do not consider as Pure.
12613
12614         Part of implementation of function-at-a-time:
12615
12616         * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
12617         (tree_transform): Add new argument to build_component_ref.
12618         (tree_transform, case N_Assignment_Statement): Make and return an
12619         EXPR_STMT.
12620         (tree_transform): If result IS_STMT, set flags and return it.
12621         (gnat_expand_stmt, set_lineno_from_sloc): New functions.
12622
12623         * utils2.c (build_simple_component_ref, build_component_ref): Add new
12624         arg, NO_FOLD_P.
12625         (build_binary_op, case EQ_EXPR): Pass additional arg to it.
12626         (build_allocator): Likewise.
12627
12628         * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
12629         Add new arg to build_component_ref.
12630         (maybe_unconstrained_array, unchecked_convert): Likewise.
12631
12632         * ada-tree.def (EXPR_STMT): New code.
12633
12634         * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
12635
12636         * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
12637         build_component_ref calls.
12638
12639         * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
12640
12641         * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
12642         (build_component_ref): Add new argument, NO_FOLD_P.
12643
12644 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
12645
12646         * Makefile.generic: Add missing substitution on object_deps handling.
12647
12648         PR ada/5909:
12649         * Make-lang.in (check-ada): Enable ACATS test suite.
12650
12651 2003-10-27  Robert Dewar  <dewar@gnat.com>
12652
12653         * exp_ch3.adb:
12654         (Freeze_Array_Type): We do not need an initialization routine for types
12655         derived from String or Wide_String. They should be treated the same
12656         as String and Wide_String themselves. This caused problems with the
12657         use of Initialize_Scalars.
12658
12659         * exp_ch5.adb:
12660         (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
12661         composites. This allows use of component clauses that are not byte
12662         aligned.
12663
12664         * sem_prag.adb:
12665         (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
12666         is an attempt to pack an array of atomic objects.
12667
12668         * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
12669
12670 2003-10-27  Pascal Obry  <obry@gnat.com>
12671
12672         * g-dirope.adb:
12673         (Basename): Check for drive letters in a pathname only on DOS based OS.
12674
12675 2003-10-27  Vincent Celier  <celier@gnat.com>
12676
12677         * make.adb:
12678         (Gnatmake): When unable to change dir to the object dir, display the
12679         content of the parent dir of the obj dir, to try to understand why this
12680         happens.
12681
12682 2003-10-27  GNAT Script  <nobody@gnat.com>
12683
12684         * Make-lang.in: Makefile automatically updated
12685
12686 2003-10-27  Ed Schonberg  <schonberg@gnat.com>
12687
12688         * sem_ch12.adb:
12689         (Inline_Instance_Body): Indicate that the save/restore of use_clauses
12690         should not be done in Save/Restore_Scope_Stack, because it is performed
12691         locally.
12692
12693         * sem_ch8.adb:
12694         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
12695         whether use clauses should be removed/restored.
12696
12697         * sem_ch8.ads:
12698         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
12699         whether use clauses should be removed/restored.
12700
12701 2003-10-26  Andreas Jaeger  <aj@suse.de>
12702
12703         * Makefile.in: Remove duplicated lines.
12704
12705 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
12706
12707         * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
12708         minimize the differences with ACT tree.
12709
12710         * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
12711         gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
12712         Gnatvsn.Gnat_Static_Version_String to reduce differences between
12713         ACT and FSF trees.
12714
12715 2003-10-24  Pascal Obry  <obry@gnat.com>
12716
12717         * adadecode.c (ostrcpy): New function.
12718         (__gnat_decode): Use ostrcpy of strcpy.
12719         (has_prefix): Set first parameter a const.
12720         (has_suffix): Set first parameter a const.
12721         Update copyright notice. Fix source name in header.
12722         Removes a trailing space.
12723         PR ada/12014.
12724
12725 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
12726
12727         * exp_disp.adb:
12728         Remove the test against being in No_Run_Time_Mode before generating a
12729         call to Register_Tag. It is redundant with the test against the
12730         availability of the function Register_Tag.
12731
12732 2003-10-24  Vincent Celier  <celier@gnat.com>
12733
12734         * g-catiio.adb: (Month_Name): Correct spelling of February
12735
12736         * make.adb: (Mains): New package
12737         (Initialize): Call Mains.Delete
12738         (Gnatmake): Check that each main on the command line is a source of a
12739         project file and, if there are several mains, each of them is a source
12740         of the same project file.
12741         (Gnatmake): When a foreign language is specified in attribute Languages,
12742         no main is specified on the command line and attribute Mains is not
12743         empty, only build the Ada main. If there is no Ada main, just compile
12744         the Ada sources and their closure.
12745         (Gnatmake): If a main is specified on the command line with directory
12746         information, check that the source exists and, if it does, that the path
12747         is the actual path of a source of a project.
12748
12749         * prj-env.adb:
12750         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
12751         Full_Path is True, return the full path instead of the simple file name.
12752         (Project_Of): New function
12753
12754         * prj-env.ads:
12755         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
12756         defaulted to False.
12757         (Project_Of): New function
12758
12759 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
12760
12761         * Makefile.generic:
12762         Ensure objects of main project are always checked and rebuilt if needed.
12763         Set CC to gcc by default.
12764         Prepare new handling of link by creating a global archive (not activated
12765         yet).
12766
12767         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
12768         stringt.h: Update copyright notice. Remove trailing blanks.
12769         Fix source name in header.
12770
12771 2003-10-24  Robert Dewar  <dewar@gnat.com>
12772
12773         * sem_ch12.adb: Minor reformatting
12774
12775         * sem_ch3.adb:
12776         Minor reformatting (including new function return style throughout)
12777
12778         * sem_ch3.ads:
12779         Minor reformatting (including new function return style throughout)
12780
12781 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
12782
12783         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
12784         stringt.h: Update copyright notice. Remove trailing blanks.
12785         Fix source name in header.
12786
12787 2003-10-24  GNAT Script  <nobody@gnat.com>
12788
12789         * Make-lang.in: Makefile automatically updated
12790
12791 2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
12792
12793         * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
12794         stringt.h: Convert to ISO C90 declarations and definitions.
12795
12796 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
12797
12798         PR ada/11978:
12799         * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
12800         External_Tag attribute definition clauses.
12801
12802 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
12803
12804         PR ada/7613:
12805         * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
12806         child unit, generate a fully qualified name to avoid spurious errors
12807         when the context contains renamings of different child units with
12808         the same simple name.
12809
12810         * exp_dbug.ads: Add documentation on name qualification for renamings
12811         of child units.
12812
12813 2003-10-23  Robert Dewar  <dewar@gnat.com>
12814
12815         * g-regpat.ads, g-regpat.adb: Minor reformatting
12816
12817 2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
12818
12819         * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
12820
12821 2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12822
12823         * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
12824         Machine call.
12825
12826         * urealp.h: (Machine): Update to proper definition.
12827
12828 2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
12829
12830         * init.c, adaint.c: Minor reformatting.
12831
12832 2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
12833
12834         * adaint.c (w32_epoch_offset): Define static const at file level.
12835         (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
12836         rather than t_create, t_access in call to GetFileTime. Use union
12837         to convert between FILETIME and  unsigned long long.
12838         (__gnat_file_time_name): Test for invalid file handle.
12839         (__gnat_set_filetime_name): Support win32 targets using
12840         w32api SetFileTime.
12841
12842 2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
12843
12844         * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
12845
12846         * ctrl_c.c (__gnat_int_handler): Remove declaration.
12847
12848         * decl.c (creat_concat_name):  Const-ify prefix.
12849
12850         * adaint.c: Include ctype.h if __MINGW32__.
12851         (__gnat_readlink): Mark arguments as possibly unused.
12852         (__gnat_symlink): Likewise.
12853         (__gnat_is_symbolic_link): Likewise.
12854         (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
12855         declaration
12856         (__gnat_file_time_name): Don't declare struct stat statbuf when
12857         not needed.
12858         (__gnat_is_absolute_path): Add parenthesis around condition of
12859         'if' statement to avoid warning.
12860         (__gnat_plist_init): Specify void as parameter.
12861         (plist_enter): Likewise.
12862         (plist_leave): Likewise.
12863         (remove_handle): Make static. Initialize prev.
12864
12865 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
12866
12867         * Makefile.in: Disable build of gnatpsta. PR ada/10110.
12868         * cstreams.c (__gnat_full_name): Minor improvements and clean up
12869         of previous change.
12870
12871 2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12872
12873         * tracebak.c (MAX): Avoid redefinition warning.
12874
12875         * init.c [sgi] (__gnat_error_handler): Remove i, unused.
12876         Change msg to const char *.
12877         (__gnat_install_handler): Remove ss, unused.
12878         [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
12879         to const char *.
12880         * cstreams.c (__gnat_full_name): Declare p only when used.
12881         (__gnat_full_name) [sgi] Return buffer.
12882
12883 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
12884
12885         * mingw32.h: New file.
12886         * gnat_wrapper.adb: New file.
12887
12888 2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
12889
12890         * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
12891         string match a pre compiled regular expression (the corresponding
12892         version of the function working on a raw regular expression)
12893         Fix typos in various comments
12894         Update copyright notice in spec
12895
12896 2003-10-21  Gary Dismukes  <dismukes@gnat.com>
12897
12898         * exp_ch3.adb:
12899         (Component_Needs_Simple_Initialization): Return False when the type is a
12900         packed bit array. Revise spec comments to document this case.
12901
12902         * exp_prag.adb:
12903         (Expand_Pragma_Import): Set any expression on the imported object to
12904         empty to avoid initializing imported objects (in particular this
12905         covers the case of zero-initialization of bit arrays).
12906         Update copyright notice.
12907
12908 2003-10-21  Ed Schonberg  <schonberg@gnat.com>
12909
12910         * sem_ch12.adb:
12911         (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
12912         a subunit is missing.
12913         (Instantiate_Subprogram_Body): If body of function is missing, set type
12914         of return expression explicitly in dummy body, to prevent cascaded
12915         errors when a subunit is missing.
12916         Fixes PR 5677.
12917
12918         * sem_ch3.adb:
12919         (Access_Subprogram_Declaration): Verify that return type is valid.
12920         Fixes PR 8693.
12921
12922         * sem_elab.adb:
12923         (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
12924         generic.
12925         Fixes PR 12318.
12926
12927         * sem_util.adb:
12928         (Corresponding_Discriminant): If the scope of the discriminant is a
12929         private type without discriminant, use its full view.
12930         Fixes PR 8247.
12931
12932 2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
12933
12934         * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
12935         3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
12936         3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
12937         55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
12938         56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
12939         59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
12940         5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
12941         5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
12942         5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
12943         5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
12944         5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
12945         5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
12946         5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
12947         5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
12948         7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
12949         a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
12950         a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
12951         a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
12952         bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
12953         erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
12954         err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
12955         g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
12956         g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
12957         g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
12958         g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
12959         g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
12960         g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
12961         gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
12962         g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
12963         g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
12964         i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
12965         prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
12966         prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
12967         s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
12968         s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
12969         s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
12970         s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
12971         s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
12972         s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
12973         s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
12974         s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
12975         socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
12976         s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
12977         s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
12978         s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
12979         styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
12980         s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
12981         tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
12982         vms_conv.ads, vms_conv.adb, vms_data.ads,
12983         vxaddr2line.adb: Files added. Merge with ACT tree.
12984
12985         * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
12986         5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
12987         5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
12988         5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
12989         g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
12990         s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
12991         s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
12992         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
12993         s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
12994         s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
12995
12996         * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
12997         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
12998         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
12999         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
13000         4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
13001         4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
13002         4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
13003         4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
13004         51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
13005         53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
13006         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
13007         5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
13008         5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
13009         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
13010         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
13011         5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
13012         5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
13013         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
13014         5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
13015         5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
13016         5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
13017         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
13018         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
13019         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
13020         5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
13021         5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
13022         5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
13023         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
13024         5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
13025         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
13026         5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
13027         5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
13028         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
13029         5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
13030         6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
13031         7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
13032         7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
13033         a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
13034         a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
13035         a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
13036         a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
13037         a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
13038         ali.adb, ali.ads, ali-util.adb, ali-util.ads,
13039         a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
13040         a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
13041         a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
13042         a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
13043         a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
13044         a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
13045         a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
13046         a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
13047         a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
13048         a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
13049         a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
13050         a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
13051         atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
13052         a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
13053         a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
13054         bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
13055         checks.adb, checks.ads, cio.c, comperr.adb,
13056         comperr.ads, csets.adb, cstand.adb, cstreams.c,
13057         debug_a.adb, debug_a.ads, debug.adb, decl.c,
13058         einfo.adb, einfo.ads, errout.adb, errout.ads,
13059         eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
13060         expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
13061         exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
13062         exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
13063         exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
13064         exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
13065         exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
13066         exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
13067         exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
13068         fe.h, fmap.adb, fmap.ads, fname.adb,
13069         fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
13070         freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
13071         g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
13072         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
13073         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
13074         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
13075         g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
13076         g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
13077         g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
13078         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
13079         g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
13080         g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
13081         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
13082         g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
13083         gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
13084         gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
13085         gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
13086         gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
13087         gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
13088         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
13089         g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
13090         g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
13091         g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
13092         g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
13093         g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
13094         g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
13095         g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
13096         i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
13097         i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
13098         inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
13099         itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
13100         layout.adb, lib.adb, lib.ads, lib-list.adb,
13101         lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
13102         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
13103         link.c, live.adb, make.adb, make.ads,
13104         Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
13105         mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
13106         mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
13107         misc.c, mkdir.c, mlib.adb, mlib.ads,
13108         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
13109         mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
13110         namet.adb, namet.ads, namet.h, nlists.ads,
13111         nlists.h, nmake.adt, opt.adb, opt.ads,
13112         osint.adb, osint.ads, osint-b.adb, osint-c.adb,
13113         par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
13114         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
13115         par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
13116         par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
13117         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
13118         prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
13119         prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
13120         prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
13121         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
13122         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
13123         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
13124         prj-util.adb, prj-util.ads, raise.c, raise.h,
13125         repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
13126         rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
13127         s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
13128         s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
13129         scans.ads, scn.adb, scn.ads, s-crc32.adb,
13130         s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
13131         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
13132         sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
13133         sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
13134         sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
13135         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
13136         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
13137         sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
13138         sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
13139         sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
13140         sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
13141         sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
13142         s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
13143         s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
13144         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
13145         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
13146         s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
13147         s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
13148         s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
13149         sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
13150         sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
13151         sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
13152         s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
13153         s-memory.adb, s-memory.ads, snames.adb, snames.ads,
13154         snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
13155         s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
13156         s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
13157         s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
13158         s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
13159         s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
13160         s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
13161         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
13162         s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
13163         s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
13164         s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
13165         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
13166         s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
13167         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
13168         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
13169         s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
13170         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
13171         stringt.adb, stringt.ads, stringt.h, style.ads,
13172         stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
13173         s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
13174         s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
13175         switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
13176         s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
13177         table.adb, table.ads, targparm.adb, targparm.ads,
13178         targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
13179         trans.c, tree_io.adb, treepr.adb, treeprs.adt,
13180         ttypes.ads, types.ads, types.h, uintp.adb,
13181         uintp.ads, uintp.h, uname.adb, urealp.adb,
13182         urealp.ads, urealp.h, usage.adb, utils2.c,
13183         utils.c, validsw.adb, validsw.ads, widechar.adb,
13184         xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
13185         xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
13186         einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
13187         gnatvsn.ads: Merge with ACT tree.
13188
13189         * gnatvsn.adb: Rewritten in a simpler and more efficient way.
13190
13191 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
13192
13193         * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
13194         (gnat_ug_vmx.info): Likewise.
13195         (gnat_ug_vxw.info): Likewise.
13196         (gnat_ug_wnt.info): Likewise.
13197         (gnat_rm.info): Likewise.
13198         (gnat-style.info): Likewise.
13199
13200         * Make-lang.in (ada.install-info): Remove target.
13201         (info): New target.
13202         (install-info): Likewise.
13203         (gnat_ug_unx.info): Simplify rule.
13204         (gnat_ug_vmx.info): Likewise.
13205         (gnat_ug_vxw.info): Likewise.
13206         (gnat_ug_wnt.info): Likewise.
13207         (gnat_rm.info): Likewise.
13208         (gnat-style.info): Likewise.
13209
13210 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
13211
13212         * Make-lang.in: Replace uses of $(target_alias) with
13213         $(target_noncanonical).
13214         * ada/Makefile.in: Remove unused mention of $(target_alias).
13215
13216 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
13217
13218         * Make-lang.in (ada.info): Replace with ...
13219         (info): ... this.
13220         (ada.dvi): Replace with ...
13221         (dvi): ... this.
13222
13223 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
13224
13225         * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
13226         initialize dconstp5 and dconstmp5.
13227
13228 2003-09-28  Richard Henderson  <rth@redhat.com>
13229
13230         * trans.c (tree_transform): Update call to expand_asm_operands.
13231
13232 2003-09-21  Richard Henderson  <rth@redhat.com>
13233
13234         * trans.c, utils.c: Revert.
13235
13236 2003-09-21  Richard Henderson  <rth@redhat.com>
13237
13238         * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
13239         change to const.
13240
13241 2003-09-04  Michael Matz  <matz@suse.de>
13242
13243         * misc.c: Include "target.h".
13244         * Make-lang.in (misc.o): Add dependency on target.h.
13245
13246 2003-09-03  DJ Delorie  <dj@redhat.com>
13247
13248         * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
13249         hook.
13250
13251 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
13252
13253         * Makefile.in: Update substitutions to match changes to
13254         configure.  Use include directives instead of @-insertions
13255         to read in host and target fragments.  Add a rule to
13256         regenerate ada/Makefile.
13257
13258 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
13259
13260         * lang-options.h: Remove.
13261         * lang.opt: Add help text.
13262
13263 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
13264
13265         * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
13266         calls.
13267
13268 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
13269
13270         * misc.c (gnat_handle_option): Don't handle filenames.
13271
13272 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
13273
13274         * Make-lang.in: Replace PWD with PWD_COMMAND.
13275         * Makefile.adalib: Likewise.
13276         * Makefile.in: Likewise.
13277
13278 2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
13279
13280         * misc.c (gnat_argv): Revert last change.
13281         (gnat_handle_option, gnat_init_options): Copy arguments.
13282
13283 2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
13284
13285         * misc.c (gnat_argv): Make const.
13286
13287 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
13288
13289         * misc.c (save_argc, save_argv): Keep non-static!
13290
13291 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
13292
13293         * misc.c (save_argc, save_argv): Make static.
13294         (gnat_init_options): New prototype.
13295         (gnat_init_options): Update.
13296
13297 2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
13298
13299         * gnat_ug.texi: Remove unlikely characters from @vars.
13300         * gnat_ug_vms.texi: Regenerate.
13301
13302 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
13303
13304         * misc.c (record_code_position): Adjust emit_note call.
13305
13306 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
13307
13308         * misc.c (gnat_handle_option): Don't check for missing arguments.
13309
13310 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
13311
13312         * utils.c (end_subprog_body): Adjust expand_function_end call.
13313
13314 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
13315
13316         * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
13317         Bind_Main_Program.
13318
13319 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
13320
13321         * lang.opt: Declare Ada.
13322         * misc.c (gnat_init_options): Update.
13323
13324 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
13325
13326         * utils.c (begin_subprog_body): Adjust init_function_start call.
13327
13328 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
13329
13330         * Make-lang.in: Update to use options.c and options.h.
13331         * misc.c: Include options.h not aoptions.h.
13332         (gnat_handle_option): Abort on unrecognized switch.
13333         (gnat_init_options): Request Ada switches.
13334
13335 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
13336
13337         * lang.opt: Add -Wall.
13338         * misc.c (gnat_handle_option): Handle it.
13339
13340 2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
13341
13342         * misc.c (gnat_handle_option): Fix warnings.
13343
13344 2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
13345
13346         * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
13347
13348 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
13349
13350         * Make-lang.in: Update to handle command-line options.
13351         * lang.opt: New file.
13352         * misc.c: Include aoptions.h.
13353         (cl_options_count, cl_options): Remove.
13354         (gnat_handle_option): New.
13355         (gnat_decode_option): Remove.
13356         (LANG_HOOKS_DECODE_OPTION): Remove.
13357         (LANG_HOOKS_HANDLE_OPTION): Override.
13358
13359 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
13360
13361         * init.c, misc.c, trans.c, utils.c: Remove dead code.
13362
13363 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
13364
13365         * Makefile.in: Replace "host_canonical" with "host" for autoconf
13366         substitution.
13367
13368 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
13369
13370         * Make-lang.in: Update.
13371         * misc.c: Include opts.h. Define cl_options_count and cl_options.
13372
13373 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
13374
13375         * misc.c (gnat_init_options): Update.
13376
13377 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
13378
13379         * Make-lang.in (ada/b_gnatb.o-warn): Remove.
13380         * bindgen.adb (Gen_Main_C): Mark ensure_reference with
13381         __attribute__ ((__unused__)).
13382
13383 2003-06-05  Jan Hubicka  <jh@suse.cz>
13384
13385         * Make-lang.in:  Add support for stageprofile and stagefeedback
13386
13387 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
13388
13389         * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
13390         (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
13391
13392 2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
13393
13394         * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
13395         Remove non-VMS directive.
13396         (Switches for gnatlbr, Optimization Levels): Remove non-VMS
13397         alternatives.
13398         (Examples of gnatls Usage): Remove VMS alternative.
13399
13400 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
13401
13402         PR ada/9953:
13403         * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
13404         and turn ZCX_By_Default back to False since the underlying support
13405         is not quite there yet.
13406
13407 2003-06-01  Andreas Jaeger  <aj@suse.de>
13408
13409         * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
13410         and ROUND_TYPE_SIZE_UNIT.
13411
13412 2003-05-22   Geert Bosch <bosch@gnat.com>
13413
13414         * gnat_rm.texi : Remove reference to Ada Core Technologies.
13415
13416 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
13417
13418         * trans.c (tree_transform): Use location_t and input_location
13419         directly.
13420         (build_unit_elab): Likewise.
13421         * utils.c (create_label_decl): Likewise.
13422
13423 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
13424
13425         * trans.c (tree_transform, build_unit_elab,
13426         set_lineno): Rename lineno to input_line.
13427         * utils.c (pushdecl, create_label_decl, begin_subprog_body,
13428         end_subprog_body): Likewise.
13429         * utils2.c (build_call_raise): Likewise.
13430
13431 2003-05-01  Laurent Guerby <guerby@acm.org>
13432
13433         PR ada/10546
13434         * 5iosinte.ads: Increase pthread_cond_t size to match recent
13435         LinuxThread and NPTL version, merge from ACT.
13436
13437 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
13438
13439         * utils.c (convert): No need to clear TREE_CST_RTL.
13440
13441 2003-04-23   Geert Bosch <bosch@gnat.com>
13442
13443         * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
13444         1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
13445         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
13446         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
13447         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
13448         4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
13449         4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
13450         4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
13451         4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
13452         4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
13453         4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
13454         4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
13455         52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
13456         5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
13457         5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
13458         5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
13459         5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
13460         5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
13461         5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
13462         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
13463         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
13464         5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
13465         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
13466         5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
13467         5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
13468         5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
13469         5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
13470         5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
13471         5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
13472         5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
13473         5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
13474         5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
13475         5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
13476         5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
13477         5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
13478         5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
13479         5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
13480         5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
13481         5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
13482         5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
13483         5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
13484         5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
13485         5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
13486         5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
13487         6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
13488         7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
13489         7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
13490         9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
13491         a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
13492         a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
13493         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
13494         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
13495         a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
13496         a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
13497         a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
13498         a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
13499         a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
13500         a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
13501         a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
13502         a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
13503         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
13504         a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
13505         a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
13506         a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
13507         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
13508         a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
13509         a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
13510         a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
13511         a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
13512         a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
13513         a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
13514         a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
13515         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
13516         a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
13517         a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
13518         a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
13519         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
13520         a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
13521         a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
13522         a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
13523         a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
13524         a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
13525         a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
13526         a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
13527         a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
13528         a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
13529         a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
13530         a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
13531         a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
13532         a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
13533         a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
13534         a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
13535         a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
13536         a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
13537         a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
13538         a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
13539         a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
13540         a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
13541         a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
13542         a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
13543         a-wttest.ads, ada-tree.h, ada.ads, ada.h,
13544         adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
13545         ali.adb, ali.ads, alloc.ads, argv.c,
13546         atree.adb, atree.ads, atree.h, aux-io.c,
13547         back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
13548         binde.adb, binde.ads, binderr.adb, binderr.ads,
13549         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
13550         butil.adb, butil.ads, cal.c, calendar.ads,
13551         casing.adb, casing.ads, ceinfo.adb, checks.adb,
13552         checks.ads, cio.c, comperr.adb, comperr.ads,
13553         config-lang.in, csets.adb, csets.ads, csinfo.adb,
13554         cstand.adb, cstand.ads, cuintp.c, debug.adb,
13555         debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
13556         dec-io.ads, dec.ads, deftarg.c, directio.ads,
13557         einfo.adb, einfo.ads, elists.adb, elists.ads,
13558         elists.h, errno.c, errout.adb, errout.ads,
13559         eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
13560         exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
13561         exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
13562         exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
13563         exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
13564         exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
13565         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
13566         exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
13567         exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
13568         exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
13569         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
13570         exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
13571         exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
13572         exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
13573         exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
13574         fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
13575         fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
13576         freeze.adb, freeze.ads, frontend.adb, frontend.ads,
13577         g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
13578         g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
13579         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
13580         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
13581         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
13582         g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
13583         g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
13584         g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
13585         g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
13586         g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
13587         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
13588         g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
13589         g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
13590         g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
13591         g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
13592         g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
13593         g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
13594         g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
13595         g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
13596         g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
13597         g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
13598         g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
13599         get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
13600         gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
13601         gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
13602         gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
13603         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
13604         gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
13605         gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
13606         gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
13607         hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
13608         i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
13609         i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
13610         i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
13611         i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
13612         i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
13613         i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
13614         inline.adb, inline.ads, interfac.ads, ioexcept.ads,
13615         itypes.adb, itypes.ads, krunch.adb, krunch.ads,
13616         layout.adb, layout.ads, lib-list.adb, lib-load.adb,
13617         lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
13618         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
13619         lib.adb, lib.ads, live.adb, live.ads,
13620         machcode.ads, make.adb, make.ads, makeusg.adb,
13621         makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
13622         mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
13623         memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
13624         mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
13625         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
13626         mlib.ads, namet.adb, namet.ads, nlists.adb,
13627         nlists.ads, opt.adb, opt.ads, osint-b.adb,
13628         osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
13629         osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
13630         osint.ads, output.adb, output.ads, par-ch10.adb,
13631         par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
13632         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
13633         par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
13634         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
13635         par-tchk.adb, par-util.adb, par.adb, par.ads,
13636         prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
13637         prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
13638         prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
13639         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
13640         prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
13641         prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
13642         prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
13643         prj.adb, prj.ads, repinfo.adb, repinfo.ads,
13644         restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
13645         rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
13646         s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
13647         s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
13648         s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
13649         s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
13650         s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
13651         s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
13652         s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
13653         s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
13654         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
13655         s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
13656         s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
13657         s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
13658         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
13659         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
13660         s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
13661         s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
13662         s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
13663         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
13664         s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
13665         s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
13666         s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
13667         s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
13668         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
13669         s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
13670         s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
13671         s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
13672         s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
13673         s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
13674         s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
13675         s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
13676         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
13677         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
13678         s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
13679         s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
13680         s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
13681         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
13682         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
13683         s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
13684         s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
13685         s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
13686         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
13687         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
13688         s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
13689         s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
13690         s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
13691         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
13692         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
13693         s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
13694         s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
13695         s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
13696         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
13697         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
13698         s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
13699         s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
13700         s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
13701         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
13702         s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
13703         s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
13704         s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
13705         s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
13706         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
13707         s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
13708         s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
13709         s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
13710         s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
13711         s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
13712         s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
13713         s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
13714         s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
13715         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
13716         s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
13717         s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
13718         s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
13719         s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
13720         s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
13721         s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
13722         s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
13723         s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
13724         s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
13725         s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
13726         s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
13727         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
13728         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
13729         s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
13730         s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
13731         s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
13732         s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
13733         s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
13734         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
13735         s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
13736         s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
13737         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
13738         s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
13739         scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
13740         sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
13741         sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
13742         sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
13743         sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
13744         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
13745         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
13746         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
13747         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
13748         sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
13749         sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
13750         sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
13751         sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
13752         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
13753         sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
13754         sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
13755         sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
13756         sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
13757         sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
13758         sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
13759         sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
13760         snames.ads, sprint.adb, sprint.ads, stand.adb,
13761         stand.ads, stringt.adb, stringt.ads, style.adb,
13762         style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
13763         switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
13764         switch-m.ads, switch.adb, switch.ads, system.ads,
13765         table.adb, table.ads, targparm.adb, targparm.ads,
13766         tbuild.adb, tbuild.ads, text_io.ads, trans.c,
13767         tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
13768         tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
13769         ttypef.ads, ttypes.ads, types.adb, types.ads,
13770         uintp.adb, uintp.ads, uname.adb, uname.ads,
13771         unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
13772         usage.adb, usage.ads, validsw.adb, validsw.ads,
13773         widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
13774         xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
13775         xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
13776         formatting and other trivial changes from ACT.
13777
13778 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
13779
13780         * gigi.h, utils2.c (build_constructor):
13781         Rename gnat_build_constructor. Use build_constructor.
13782         * decl.c (gnat_to_gnu_entity)
13783         * trans.c (tree_transform, pos_to_constructor, extract_values)
13784         * ada/utils.c (build_template, convert_to_fat_pointer, convert)
13785         (unchecked_convert)
13786         * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
13787         (fill_vms_descriptor):
13788         Update to match.
13789
13790 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
13791
13792         * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
13793         * misc.c (gnat_tree_size): New function.
13794         (LANG_HOOKS_TREE_SIZE): Override.
13795
13796 2003-04-03  Jason Merrill  <jason@redhat.com>
13797
13798         * misc.c (gnat_adjust_rli): #if 0.
13799
13800 2003-03-31   Geert Bosch <bosch@gnat.com>
13801
13802         PR ada/10020
13803         * link.c : Fix misspelled "const" keyword
13804
13805 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
13806
13807         PR c++/7086
13808         * utils2.c: Adjust calls to put_var_into_stack.
13809
13810 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
13811
13812         * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
13813
13814 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
13815
13816         * misc.c (gnat_init): Update for new prototype.
13817
13818 2003-03-05  Olivier Hainque  <hainque@gnat.com>
13819
13820         ada/9961
13821         * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
13822         warning, and fix return type for the IN_RTS && !SJLJ case.
13823
13824 2003-03-04  Tom Tromey  <tromey@redhat.com>
13825
13826         * Make-lang.in (ada.tags): New target.
13827
13828 2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
13829
13830         ada/9911
13831         * a-except.adb (Unwind_RaiseException): Import a GNAT specific
13832         wrapper, which name remains constant whatever underlying GCC
13833         scheme.
13834
13835         * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
13836         the stable interface needed for a-except.
13837
13838 2003-03-02  Andreas Jaeger  <aj@suse.de>
13839
13840         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13841         gnat_ug_wnt.texi: Regenerate.
13842
13843 2003-03-02  Laurent Guerby <guerby@acm.org>
13844
13845         * Makefile.in (install-gnatlib): Match previous change there
13846         so it works.
13847
13848 2003-02-28  Andreas Schwab  <schwab@suse.de>
13849
13850         * Make-lang.in (install-gnatlib): Change to ada directory before
13851         running make instead of using ada/Makefile directly.
13852
13853 2003-02-18  Ben Elliston  <bje@redhat.com>
13854
13855         Part of fix for PR ada/9406
13856         * gnat_ug.texi (Binder output file): Grammar fix.
13857
13858 2003-02-18  Ben Elliston  <bje@redhat.com>
13859
13860         PR other/7350
13861         * 5qtaprop.adb (Sleep): Fix typo in comment.
13862
13863 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13864
13865         * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
13866         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13867         gnat_ug_wnt.texi: Regenerate.
13868
13869 2003-02-03  Christian Cornelssen <ccorn@cs.tu-berlin.de>
13870
13871         * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
13872         be created if necessary.
13873         (ada.install-common): Let $(DESTDIR)$(bindir) be created
13874         if necessary.  Remove erroneous and redundant gnatchop
13875         installation commands.  Test for gnatdll before attempting
13876         to install it.
13877         (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
13878         and gnatdll from all plausible locations.
13879
13880 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
13881
13882         * utils2.c (build_unary_op): Don't check flag_volatile.
13883         * gnat_ug.texi: Remove -fvolatile from example.
13884         * gnat_ug_vxw.texi: Likewise.
13885
13886 2003-01-29  Laurent Guerby <guerby@acm.org>
13887
13888         PR ada/8344
13889         * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
13890         * Makefile.in: match previous change.
13891         * Make-lang.in: match previous change.
13892
13893 2003-01-29      Joel Sherrill <joel@OARcorp.com>
13894
13895         * 5rosinte.ads: Add SIGXCPU.
13896         * 5rtpopsp.adb: New file.
13897         * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
13898         * Makefile.in: Recognize more RTEMS targets and add the RTEMS
13899         specific file 5rtpopsp.adb.
13900         * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
13901         is likely needed for all newlib targets.
13902         * init.c: Add RTEMS specific version of __gnat_initialize().
13903
13904 2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13905
13906         * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
13907
13908 2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13909
13910         * init.c (__gnat_error_handler): Make msg const.
13911
13912         * gmem.c (convert_addresses): Move declaration ...
13913         * adaint.h: ... here.
13914         * adaint.c (convert_addresses): Adapt addrs type to match
13915         prototype.
13916
13917         * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
13918
13919 2003-01-24  Andreas Schwab  <schwab@suse.de>
13920
13921         * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
13922         size_t to avoid warning.
13923
13924 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
13925
13926         * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
13927
13928 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
13929
13930         * gnat_rm.texi: Remove RCS version number.
13931
13932         * ada-tree.h (union lang_tree_node): Add chain_next option.
13933
13934 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
13935
13936         * Make-lang.in (ada.install-info, ada.install-common,
13937         ada.uninstall): Prepend $(DESTDIR) to the destination
13938         directory in all (un)installation commands.
13939         * Makefile.in (install-gnatlib, install-rts): Ditto.
13940
13941 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
13942
13943         * gnat_rm.texi, gnat_ug.texi: Use @copying.
13944         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13945         gnat_ug_wnt.texi: Regenerate.
13946
13947 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
13948
13949         * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
13950         only.
13951         * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
13952         $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
13953         $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
13954         ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
13955         ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
13956         $(srcdir)/doc/include/gcc-common.texi.
13957
13958 2002-12-15   Geert Bosch <bosch@gnat.com>
13959
13960         * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
13961
13962 2002-12-14   Geert Bosch <bosch@gnat.com>
13963
13964         * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
13965         case of a body created for a Renaming_As_Body, on which
13966         conformance checks are not performed. Fixes PR ada/5690.
13967
13968 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
13969
13970         * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
13971         utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
13972         not already included.
13973         * Make-lang.in: Update dependencies.
13974
13975 2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
13976         * adaint.c (__gnat_tmp_name): Better, but good enough for now,
13977         solution to buffer overflow bug on GNU/Linux.
13978
13979 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
13980         Closes PR ada/5856 and PR ada/6919 !
13981         * bindgen.adb: Remove all references to Public_Version.
13982         * comperr.adb: Remove all references to Public_Version and
13983         GNATPRO_Version; correct bug reporting instructions.
13984         * comperr.ads: Change to match bug box.
13985         * gnatvsn.ads: Remove all references to Public version and
13986         GNATPRO version.
13987
13988 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
13989         PR ada/6919
13990         * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
13991         GNU/Linux.
13992
13993         PR ada/6558
13994         * config-lang.in: Remove diff_excludes.
13995
13996 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
13997         PR ada/8358
13998         * trans.c (gnu_pending_elaboration_lists): New GC root.
13999         (build_unit_elab): Use..
14000
14001 2002-10-30   Geert Bosch <bosch@gnat.com>
14002         PR ada/6558
14003         * misc.c : Include optabs.h
14004
14005         * Make-lang.in (misc.o): Add dependency on optabs.h
14006
14007 2002-10-29   Geert Bosch <bosch@gnat.com>
14008         PR ada/6558
14009         * Make-lang.in (gnatbind): Depend on CONFIG_H
14010
14011 2002-10-29  Geert bosch  <bosch@gnat.com>
14012         PR ada/6558
14013         * misc.c: Unrevert misc.c (1.13)
14014
14015 2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
14016
14017         * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
14018         maintainership comments.
14019
14020 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
14021         PR ada/5904
14022         * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
14023         5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
14024         5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
14025         7staprop.adb: Correct statements in comments about
14026         maintainership of GNAT.
14027
14028         PR ada/5904
14029         * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
14030         gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
14031         osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
14032         osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
14033         s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
14034         s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
14035         sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
14036         switch-c.ads switch-m.adb switch-m.ads: Correct statements in
14037         comments about maintainership of GNAT.
14038
14039         PR ada/6919 (forward port of patch for PR ada/5904)
14040         * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
14041         4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
14042         4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
14043         4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
14044         4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
14045         4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
14046         4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
14047         52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
14048         5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
14049         5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
14050         5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
14051         5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
14052         5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
14053         5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
14054         5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
14055         5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
14056         5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
14057         5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
14058         5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
14059         5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
14060         5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
14061         5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
14062         5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
14063         5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
14064         5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
14065         5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
14066         5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
14067         5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
14068         7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
14069         a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
14070         a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
14071         a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
14072         a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
14073         a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
14074         a-except.adb a-except.ads a-excpol.adb a-exctra.adb
14075         a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
14076         a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
14077         a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
14078         a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
14079         a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
14080         a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
14081         a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
14082         a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
14083         a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
14084         a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
14085         a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
14086         a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
14087         a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
14088         a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
14089         a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
14090         a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
14091         a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
14092         a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
14093         a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
14094         a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
14095         a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
14096         a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
14097         a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
14098         a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
14099         a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
14100         a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
14101         a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
14102         a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
14103         a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
14104         a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
14105         a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
14106         a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
14107         a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
14108         adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
14109         alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
14110         back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
14111         binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
14112         bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
14113         ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
14114         csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
14115         cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
14116         debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
14117         einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
14118         errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
14119         exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
14120         exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
14121         exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
14122         exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
14123         exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
14124         exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
14125         exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
14126         exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
14127         exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
14128         exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
14129         exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
14130         exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
14131         exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
14132         final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
14133         fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
14134         freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
14135         g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
14136         g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
14137         gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
14138         gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
14139         gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
14140         gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
14141         gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
14142         gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
14143         i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
14144         i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
14145         i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
14146         i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
14147         impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
14148         itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
14149         lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
14150         lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
14151         lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
14152         lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
14153         makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
14154         namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
14155         nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
14156         osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
14157         par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
14158         par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
14159         par-endh.adb par-labl.adb par-load.adb par-prag.adb
14160         par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
14161         prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
14162         prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
14163         prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
14164         prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
14165         prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
14166         prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
14167         repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
14168         rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
14169         s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
14170         s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
14171         s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
14172         s-direio.adb s-direio.ads s-except.ads s-exctab.adb
14173         s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
14174         s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
14175         s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
14176         s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
14177         s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
14178         s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
14179         s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
14180         s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
14181         s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
14182         s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
14183         s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
14184         s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
14185         s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
14186         s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
14187         s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
14188         s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
14189         s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
14190         s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
14191         s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
14192         s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
14193         s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
14194         s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
14195         s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
14196         s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
14197         s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
14198         s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
14199         s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
14200         s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
14201         s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
14202         s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
14203         s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
14204         s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
14205         s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
14206         s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
14207         s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
14208         s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
14209         s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
14210         s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
14211         s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
14212         s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
14213         s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
14214         s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
14215         s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
14216         s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
14217         s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
14218         s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
14219         s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
14220         s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
14221         s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
14222         s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
14223         s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
14224         s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
14225         s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
14226         s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
14227         s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
14228         s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
14229         s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
14230         s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
14231         s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
14232         s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
14233         s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
14234         s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
14235         s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
14236         s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
14237         s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
14238         s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
14239         s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
14240         s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
14241         s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
14242         s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
14243         s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
14244         s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
14245         s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
14246         s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
14247         s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
14248         s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
14249         s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
14250         s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
14251         scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
14252         sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
14253         sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
14254         sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
14255         sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
14256         sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
14257         sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
14258         sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
14259         sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
14260         sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
14261         sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
14262         sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
14263         sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
14264         sem_type.adb sem_type.ads sem_util.adb sem_util.ads
14265         sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
14266         sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
14267         sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
14268         sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
14269         snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
14270         stringt.ads stringt.h style.adb style.ads stylesw.adb
14271         stylesw.ads switch.adb switch.ads sysdep.c system.ads
14272         table.adb table.ads targparm.adb targparm.ads targtyps.c
14273         tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
14274         tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
14275         treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
14276         types.adb types.ads types.h uintp.adb uintp.ads uintp.h
14277         uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
14278         usage.ads utils.c utils2.c validsw.adb validsw.ads
14279         widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
14280         xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
14281         xtreeprs.adb: Correct statements in comments about maintainership
14282         of GNAT.
14283
14284 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
14285
14286         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
14287         * Makefile.in (TOOLS_LIBS): Add ../../version.o.
14288         * gnatvsn.ads: Gnat_Version_String is now a function.
14289         * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
14290         copy the C version_string into a String and return it.
14291         * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
14292         gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
14293         Remove pragma Ident (Gnat_Version_String).  If this was the
14294         sole use of package Gnatvsn, remove the with statement too.
14295         * gnat1drv.adb: Tweak -gnatv output.
14296
14297 2002-09-17  Richard Henderson  <rth@redhat.com>
14298
14299         * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
14300         * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
14301         * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
14302         (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
14303         * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
14304         and real_2expN instead of a loop.
14305         * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
14306         (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
14307
14308 2002-08-25  Andre Leis <a.leis@gmx.net>
14309             David Billinghurst (David.Billinghurst@riotinto.com>
14310
14311         * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
14312
14313 2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14314
14315         * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
14316         Remove $(CONFIG_H) dependency.
14317
14318 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
14319
14320         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
14321
14322 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14323
14324         * adadecode.c (ada_demangle): Use xstrdup in lieu of
14325         xmalloc/strcpy.
14326         * misc.c (gnat_decode_option): Likewise.
14327
14328 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
14329
14330         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
14331         function approach did not work well because of a side effect (the
14332         function call could reallocate the table which was being indexed
14333         using its result). Fixes ada/4851. [RESURRECTED]
14334
14335 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14336
14337         * ada/utils.c (builtin_function): Accept an additional parameter.
14338
14339 2002-06-28  Andreas Jaeger  <aj@suse.de>
14340
14341         PR ada/7144
14342         * Makefile.in: Fix typo in comment, patch by Adrian Knoth
14343         <adi@thur.de>.
14344
14345 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14346
14347         * Makefile.in (SHELL): Set to @SHELL@.
14348
14349 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14350
14351         * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
14352         array size calculation.
14353
14354 2002-06-04  Andreas Jaeger  <aj@suse.de>
14355
14356         * Make-lang.in (gnatbind): Readd rule that has been lost in last
14357         patch.
14358
14359 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
14360
14361         Merge from pch-branch:
14362
14363         * config-lang.in (gtfiles): Add ada-tree.h.
14364         * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
14365         (SET_TYPE_MODULUS): New.
14366         (SET_TYPE_INDEX): New.
14367         (SET_TYPE_DIGITS_VALUE): New.
14368         (SET_TYPE_RM_SIZE): New.
14369         (SET_TYPE_UNCONSTRAINED_ARRAY): New.
14370         (SET_TYPE_ADA_SIZE): New.
14371         (SET_TYPE_ACTUAL_BOUNDS): New.
14372         (SET_DECL_CONST_CORRESPONDING_VAR): New.
14373         (SET_DECL_ORIGINAL_FIELD): New.
14374         (TREE_LOOP_ID): Correct typo.
14375         * decl.c: Use new macros.
14376         * utils.c: Include debug.h, use new macros.
14377         * utils2.c: Use new macros.
14378
14379         * ada-tree.h: Update all macros for new tree description.
14380         (struct tree_loop_id): New.
14381         (union lang_tree_node): New.
14382         (struct lang_decl): New.
14383         (struct lang_type): New.
14384         * misc.c (gnat_mark_tree): Delete.
14385         (LANG_HOOKS_MARK_TREE): Delete.
14386         * trans.c (tree_transform): No longer any need to cast
14387         for TREE_LOOP_ID.
14388
14389         * utils.c (struct language_function): New dummy structure.
14390
14391         * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
14392         (misc.o): Likewise.
14393         (utils.o): Likewise; also gtype-ada.h.
14394         * Make-lang.in (gnat1): Add dependency on s-gtype.
14395         (gnatbind): Add dependency on $(CONFIG_H).
14396         * utils.c: Correct last #include.
14397         (stuct e_stack): Remove unnecessary 'static'.
14398         (mark_e_stack): Remove unused prototype.
14399
14400         * scn-nlit.adb: Remove whitespace after version number to
14401         keep lines under 80 chars.
14402         * snames.adb: Likewise.
14403         * treepr.ads: Likewise.
14404
14405         * Makefile.in (decl.o): Include gt-ada-<filename>.h.
14406         (misc.o): Likewise.
14407         (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
14408         * config-lang.in (gtfiles): New.
14409         * decl.c: Use gengtype for roots.
14410         * gigi.h: Use gengtype for roots.
14411         * trans.c: Use gengtype for roots.
14412         * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
14413
14414 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
14415
14416         * misc.c (gnat_init): Adjust setting of internal_error_function.
14417
14418 2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
14419
14420         * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
14421         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
14422         gnat_ug_wnt.texi: Regenerate.
14423
14424 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
14425
14426         * 5ntaprop.adb (with System.OS_Primitives): Remove.
14427
14428         * cstreams.c (max_path_len): Move from here ...
14429         * adaint.c (__gnat_max_path_len): ... to here.
14430         * adaint.c (__gnat_max_path_len): Declare.
14431         * g-dirope.adb (Max_Path): Adjust.
14432         * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
14433         * i-cstrea.ads (max_path_len): Adjust.
14434         * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
14435         * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
14436
14437         * Makefile.in, Make-lang.in: Documentation is now built in
14438         Make-lang.in.  Store Info and generated Texinfo files in the
14439         source directory.
14440         * gnat_ug.texi: Remove CVS keywords, correct version number.
14441         Set file name correctly.
14442
14443         * gnat_ug_*.texi: Add.
14444         * .cvsignore: Ignore generated Texinfo files.
14445
14446 2002-05-30  Zack Weinberg  <zack@codesourcery.com>
14447
14448         * ada.h: Add MI guard macro.
14449         (SUBTYPE): Define constants with an anonymous enum, not static
14450         const variables.
14451         (IN): Cast constants to appropriate type before use.
14452
14453 2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
14454
14455         * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
14456         (experimental)".
14457
14458 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14459
14460         * Make-lang.in (CP, ECHO): Copy from Makefile.in.
14461         (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
14462         (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
14463         (ALL_ADA_CFLAGS): Likewise.
14464         (ADA_INCLUDES): Likewise.
14465         Adapt for new working dir.
14466         (GNATBIND): Use Makefile.in version.
14467         (.SUFFIXES): Copy from Makefile.in.
14468         (ada-warn): Define.
14469         (.adb.o, .ads.o): Copy from Makefile.in.
14470         Added $(OUTPUT_OPTION).
14471         (GNAT1_C_OBJS): Moved from Makefile.in.
14472         Prefix with ada subdir.
14473         (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
14474         (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
14475         Adapt for new working dir.
14476         (EXTRA_GNATBIND_OBJS): Likewise.
14477         (ADA_BACKEND): Moved from Makefile.in.
14478         Renamed to avoid conflict with global BACKEND.
14479         Use that one.
14480         (TARGET_ADA_SRCS): Moved from Makefile.in.
14481         (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
14482         Use ADA_BACKEND.
14483         (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
14484         (ada_extra_files): Moved from Makefile.in.
14485         Prefix with ada subdir.
14486         (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
14487         (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
14488         (ada/nmake.ads): Likewise.
14489         (update-sources): Moved from Makefile.in.
14490         Prefix with ada subdir.
14491         (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
14492         (ADA_TREE_H): Likewise.
14493         (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
14494         (ada/memtrack.o): Likewise.
14495         (ada/adadecode.o): Likewise.
14496         Update dependencies.
14497         (ada/adaint.o): New.
14498         (ada/argv.o): Moved from Makefile.in.
14499         Prefix with ada subdir.
14500         Update dependencies.
14501         (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
14502         (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
14503         (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
14504         Prefix with ada subdir.
14505         (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
14506         (GNAT DEPENDENCIES): Regenerate.
14507         * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
14508         toplevel Makefile.in.
14509         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
14510         (TARGET_ADA_SRCS): Removed.
14511         (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
14512         (GNATBIND_OBJS): Likewise.
14513         (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
14514         (BACKEND): Removed.
14515         (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
14516         (TREE_H): Likewise.
14517         (ada_extra_files): Likewise.
14518         (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
14519         (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
14520         (update-sources): Likewise.
14521         (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
14522         (ADA_TREE_H): Likewise.
14523         (adadecoce.o): Likewise.
14524         (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
14525         (GNAT DEPENDENCIES): Likewise.
14526
14527 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14528
14529         * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
14530         * Makefile.in: Likewise.
14531
14532 2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14533
14534         * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
14535         Restore $(CONFIG_H) and prefix.o dependencies.
14536         (ada.stage[1-4]): Depend on stage?-start.
14537
14538         * Makefile.in (b_gnatb.c): Depend on interfac.o.
14539
14540 2002-05-02  Jim Wilson  <wilson@redhat.com>
14541
14542         * utils.c (finish_record_type): Change record_size to record_type.
14543
14544 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14545
14546         * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
14547         (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
14548         ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
14549
14550 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
14551
14552         * misc.c (gnat_parse_file): Update.
14553
14554 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
14555
14556         * misc.c (gnat_init): Don't set lang_attribute_common.
14557
14558 2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
14559
14560         * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
14561
14562 2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
14563
14564         * gnat_ug.texi: New file.
14565
14566         * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
14567         instead of gfdl.texi
14568
14569         * xgnatug.adb, ug_words: New files.
14570
14571         * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
14572         gnat_rm and gnat-style manuals.
14573
14574 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
14575
14576         * gigi.h (incomplete_type_error): Remove.
14577         * utils.c (incomplete_type_error): Remove.
14578
14579 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
14580
14581         * trans.c (tree_transform): Add has_scope argument to
14582         expand_start_stmt_expr.
14583
14584 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14585
14586         * gigi.h (truthvalue_conversion): Rename.
14587         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
14588         * trans.c (tree_transform): Update.
14589         * utils2.c (truthvalue_conversion): Rename, update.
14590         (build_binary_op, build_unary_op): Update.
14591
14592 2002-04-04  Laurent Guerby  <guerby@acm.org>
14593
14594         * make.adb: Implement -margs, remove restriction about file name placement.
14595         * makeusg.adb: Documentation update.
14596         * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
14597         * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
14598
14599 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14600
14601         * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
14602         (builtin_function): Similarly.
14603
14604 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
14605
14606         * decl.c (gnat_to_gnu_entity): Update.
14607         * gigi.h (mark_addressable): Rename.
14608         * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
14609         * trans.c (tree_transform): Update.
14610         * utils.c (create_var_decl): Update.
14611         * util2.c (build_binary_op, build_unary_op,
14612         fill_vms_descriptor): Update.
14613         (mark_addressable): Rename, update.
14614
14615 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
14616
14617         * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
14618         Rename.
14619         * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
14620         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
14621         * trans.c (tree_transform, convert_with_check): Update.
14622         * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
14623         Rename.
14624
14625 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
14626
14627         * gigi.h (finish_incomplete_decl): Rename.
14628         * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
14629         * utils.c (gnat_init_decl_processing): Don't set hook.
14630         (finish_incomplete_decl): Rename.
14631
14632 2002-03-29  Andreas Schwab  <schwab@suse.de>
14633
14634         * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
14635         directory.
14636
14637 2001-03-28  Robert Dewar <dewar@gnat.com>
14638
14639         * checks.ads:
14640         (Remove_Checks): New procedure
14641
14642         * checks.adb:
14643         (Remove_Checks): New procedure
14644
14645         * exp_util.adb:
14646         Use new Duplicate_Subexpr functions
14647         (Duplicate_Subexpr_No_Checks): New procedure
14648         (Duplicate_Subexpr_No_Checks_Orig): New procedure
14649         (Duplicate_Subexpr): Restore original form (checks duplicated)
14650         (Duplicate_Subexpr): Call Remove_Checks
14651
14652         * exp_util.ads:
14653         (Duplicate_Subexpr_No_Checks): New procedure
14654         (Duplicate_Subexpr_No_Checks_Orig): New procedure
14655         Add 2002 to copyright notice
14656
14657         * sem_util.adb: Use new Duplicate_Subexpr functions
14658
14659         * sem_eval.adb:
14660         (Eval_Indexed_Component): This is the place to call
14661         Constant_Array_Ref and to replace the value. We simply merge
14662         the code of this function in here, since it is now no longer
14663         used elsewhere. This fixes the problem of the back end not
14664         realizing we were clever enough to see that this was
14665         constant.
14666         (Expr_Val): Remove call to Constant_Array_Ref
14667         (Expr_Rep_Val): Remove call to Constant_Array_Ref
14668         Minor reformatting
14669         (Constant_Array_Ref): Deal with string literals (patch
14670         suggested by Zack Weinberg on the gcc list)
14671
14672 2001-03-28  Ed Schonberg <schonber@gnat.com>
14673
14674         * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
14675         Duplicate_Subexpr_Move_Checks.
14676
14677         * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
14678         Duplicate_Subexpr_Move_Checks.
14679
14680         * sem_eval.adb: (Constant_Array_Ref): Verify that constant
14681         value of array exists before retrieving it (it may a private
14682         protected component in a function).
14683
14684 2002-03-28   Geert Bosch <bosch@gnat.com>
14685
14686         * prj-pp.adb : New file.
14687
14688         * prj-pp.ads : New file.
14689
14690 2002-03-28  Andreas Jaeger  <aj@suse.de>
14691
14692         * Makefile.in (stamp-sdefault): Fix path for Makefile.
14693
14694 2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
14695
14696         * misc.c (gnat_expand_expr): Move prototype.
14697
14698 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
14699
14700         * misc.c (insert_default_attributes): Remove.
14701
14702 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
14703
14704         * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
14705         (gnat_init): Don't set hook.
14706         (gnat_expand_expr): Fix prototype.
14707
14708 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
14709
14710         * misc.c (ggc_p): Remove.
14711
14712 2002-03-27  Geert Bosch  <bosch@gnat.com>
14713
14714         * prj-makr.ads, prj-makr.adb : New files.
14715
14716 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
14717
14718         * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
14719         (lang_mark_tree): Make static, rename.
14720
14721 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
14722
14723         * misc.c (maybe_build_cleanup): Remove.
14724
14725 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
14726
14727         * gigi.h (yyparse): Remove.
14728
14729 2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
14730
14731         * gnat_rm.texi: Sync with ACT version.
14732           (From Ben Brosgol <brosgol@gnat.com>)
14733
14734 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
14735
14736         * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
14737         (gnat_init): Remove old hook.
14738
14739 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
14740
14741         * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
14742         (yyparse): Rename gnat_parse_file.
14743
14744 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
14745
14746         Delete all lines containing "$Revision:".
14747         * xeinfo.adb: Don't look for revision numbers.
14748         * xnmake.adb: Likewise.
14749         * xsinfo.adb: Likewise.
14750         * xsnames.adb: Likewise.
14751         * xtreeprs.adb: Likewise.
14752
14753 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14754
14755         * misc.c (gnat_tree_code_type, gnat_tree_code_length,
14756         gnat_tree_code_name): Delete.
14757         (tree_code_type, tree_code_length, tree_code_name): Define.
14758         (gnat_init): Don't try to copy into the various tree_code
14759         arrays.
14760
14761 2002-03-11  Richard Henderson  <rth@redhat.com>
14762
14763         * Makefile.in (.NOTPARALLEL): Add fake tag.
14764
14765 2002-03-07  Geert Bosch  <bosch@gnat.com>
14766
14767         * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
14768         s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
14769         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
14770         switch-m.adb, switch-m.ads : New files.
14771
14772 2002-03-07  Geert Bosch  <bosch@gnat.com>
14773
14774         * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
14775         4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
14776         4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
14777         4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
14778         5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
14779         5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
14780         5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
14781         5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
14782         5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
14783         5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
14784         5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
14785         5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
14786         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
14787         5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
14788         5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
14789         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
14790         5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
14791         5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
14792         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
14793         5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
14794         7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
14795         Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
14796         a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
14797         a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
14798         a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
14799         a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
14800         a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
14801         a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
14802         a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
14803         adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
14804         atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
14805         bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
14806         csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
14807         einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
14808         eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
14809         exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
14810         exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
14811         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
14812         exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
14813         exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
14814         expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
14815         freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
14816         g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
14817         g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
14818         g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
14819         g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
14820         g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
14821         g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
14822         gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
14823         gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
14824         gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
14825         i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
14826         impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
14827         lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
14828         lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
14829         memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
14830         mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
14831         nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
14832         output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
14833         par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
14834         prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
14835         prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
14836         prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
14837         rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
14838         s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
14839         s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
14840         s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
14841         s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
14842         s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
14843         s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
14844         s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
14845         s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
14846         s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
14847         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
14848         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
14849         s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
14850         s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
14851         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
14852         s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
14853         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
14854         sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
14855         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
14856         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
14857         sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
14858         sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
14859         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
14860         sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
14861         sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
14862         sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
14863         snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
14864         stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
14865         table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
14866         tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
14867         treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
14868         types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
14869         utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
14870         xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
14871
14872         * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
14873         g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
14874         mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
14875         osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
14876
14877         * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
14878         5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
14879
14880         * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
14881         to mdll-fil.ad[bs] and mdll-util.ad[bs]
14882
14883         * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
14884         from mdllfile.ad[bs] and mdlltool.ad[bs]
14885
14886 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14887
14888         * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
14889         lieu of explicit sizeof/sizeof.
14890
14891 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
14892
14893         * misc.c (copy_lang_decl): Remove.
14894
14895 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
14896
14897         * misc.c: Delete traditional-mode-related code copied from the
14898         C front end but not used, or used only to permit the compiler
14899         to link.
14900
14901 2002-02-07  Richard Henderson  <rth@redhat.com>
14902
14903         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
14904         * adaint.h (__gnat_to_gm_time): Update prototype.
14905
14906 2002-01-30  Richard Henderson  <rth@redhat.com>
14907
14908         * trans.c (tree_transform) [N_Loop_Statement]: Use
14909         expand_exit_loop_top_cond.
14910
14911 2001-12-23  Richard Henderson  <rth@redhat.com>
14912
14913         * utils.c (end_subprog_body): Push GC context around
14914         rest_of_compilation for nested functions.
14915
14916 2001-12-23  Richard Henderson  <rth@redhat.com>
14917
14918         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
14919
14920 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
14921
14922         * gnat-style.texi (Declarations and Types): Remove ancient style
14923         rule which was mandated by code generation issues.
14924
14925         * gnat-style.texi (header): Add @dircategory, @direntry.
14926         (title page): Remove date.
14927         (general) Add @./@: where approriate, and two spaces after the
14928         full stop at the end of a sentence.  Use @samp markup when
14929         referring concrete lexical entities (keywords, attribute names
14930         etc.), and @syntax for ARM grammar elements. Use @r for English
14931         text in comments.  Use @emph for emphasis.  Change "if-statements"
14932         etc. to "if statements" (without @samp). Break long lines.  Make
14933         casing of section names consistent.
14934         (Identifiers): Use @samp markup for variable names.
14935         (Comments): Use @samp markup for comment characters. Line-end
14936         comments may follow any Ada code, not just statements.  Fix
14937         misspelling of "Integer" as "integer".
14938         (Loop statements): Do not use variable name "I", use "J".
14939         (Subprogram Declarations): Document alignment.
14940         (Subprogram Bodies, Block statements): Document empty line before
14941         "begin".
14942
14943 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
14944
14945         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
14946         function approach did not work well because of a side effect (the
14947         function call could reallocate the table which was being indexed
14948         using its result). Fixes ada/4851.
14949
14950 2001-12-19  Robert Dewar <dewar@gnat.com>
14951
14952         * bindgen.adb: Minor reformatting
14953
14954         * cstand.adb: Minor reformatting
14955
14956         * fmap.adb: Minor reformatting
14957         Change name from Add for Add_To_File_Map (Add is much too generic)
14958         Change Path_Name_Of to Mapped_Path_Name
14959         Change File_Name_Of to Mapped_File_Name
14960         Fix copyright dates in header
14961
14962         * fmap.ads:
14963         Change name from Add for Add_To_File_Map (Add is much too generic)
14964         Change Path_Name_Of to Mapped_Path_Name
14965         Change File_Name_Of to Mapped_File_Name
14966         Fix copyright dates in header
14967
14968         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
14969         Add use clause for Fmap.
14970
14971         * make.adb: Minor reformatting
14972
14973         * osint.adb: Minor reformatting.  Change of names in Fmap.
14974         Add use clause for Fmap.
14975
14976         * prj-env.adb: Minor reformatting
14977
14978         * prj-env.ads: Minor reformatting
14979
14980         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
14981         error found (there were odd exceptions to this general rule in
14982         -gnatec/-gnatem processing)
14983
14984 2001-12-19  Olivier Hainque <hainque@gnat.com>
14985
14986         * raise.c (__gnat_eh_personality): Exception handling personality
14987         routine for Ada.  Still in rough state, inspired from the C++ version
14988         and still containing a bunch of debugging artifacts.
14989         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
14990         inspired from the C++ library.
14991
14992         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
14993         exception handling integration.
14994
14995 2001-12-19  Arnaud Charlet <charlet@gnat.com>
14996
14997         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
14998         (HIE_SOURCES): Add s-secsta.ad{s,b}.
14999         (HIE_OBJS): Add s-fat*.o
15000         (RAVEN_SOURCES): Remove files that are no longer required. Add
15001         interrupt handling files.
15002         (RAVEN_MOD): Removed, no longer needed.
15003
15004 2001-12-19  Robert Dewar <dewar@gnat.com>
15005
15006         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
15007         Add 2001 to copyright date
15008
15009         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
15010         need to force universal inlining for these cases.
15011
15012 2001-12-19  Arnaud Charlet <charlet@gnat.com>
15013
15014         * s-taprob.adb: Minor clean ups so that this unit can be used in
15015         Ravenscar HI.
15016
15017         * exp_ch7.adb: Allow use of secondary stack in HI mode.
15018         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
15019
15020 2001-12-19  Vincent Celier <celier@gnat.com>
15021
15022         * prj-tree.ads (Project_Node_Record): Add comments for components
15023         Pkg_Id and Case_Insensitive.
15024
15025 2001-12-19  Pascal Obry <obry@gnat.com>
15026
15027         * g-socket.adb: Minor reformatting. Found while reading code.
15028
15029 2001-12-19  Robert Dewar <dewar@gnat.com>
15030
15031         * prj-tree.ads: Minor reformatting
15032
15033 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
15034
15035         * config-lang.in (diff_excludes): Remove.
15036
15037 2001-12-17  Ed Schonberg <schonber@gnat.com>
15038
15039         * sem_res.adb (Resolve_Selected_Component): do not generate a
15040         discriminant check if the selected component is a component of
15041         the argument of an initialization procedure.
15042
15043         * trans.c (tree_transform, case of arithmetic operators): If result
15044         type is private, the gnu_type is the base type of the full view,
15045         given that the full view itself may be a subtype.
15046
15047 2001-12-17  Robert Dewar <dewar@gnat.com>
15048
15049         * sem_res.adb: Minor reformatting
15050
15051         * trans.c (tree_transform, case N_Real_Literal): Add missing third
15052         parameter in call to Machine (unknown horrible effects from this
15053         omission).
15054
15055         * urealp.h: Add definition of Round_Even for call to Machine
15056         Add third parameter for Machine
15057
15058 2001-12-17  Ed Schonberg <schonber@gnat.com>
15059
15060         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
15061         predefined units in No_Run_Time mode.
15062
15063 2001-12-17  Richard Kenner <kenner@gnat.com>
15064
15065         * misc.c (insn-codes.h): Now include.
15066
15067 2001-12-17  Olivier Hainque <hainque@gnat.com>
15068
15069         * a-except.adb: Preparation work for future integration of the GCC 3
15070         exception handling mechanism
15071         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
15072         to factorize previous code sequences and make them externally callable,
15073         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
15074         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
15075         Use the new notification routines.
15076
15077 2001-12-17  Emmanuel Briot <briot@gnat.com>
15078
15079         * prj-tree.ads (First_Choice_Of): Document the when others case
15080
15081 2001-12-17  Arnaud Charlet <charlet@gnat.com>
15082
15083         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
15084         HI-E mode, in order to support Ravenscar profile properly.
15085
15086         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
15087         mode on 32 bits targets.
15088
15089 2001-12-17  Vincent Celier <celier@gnat.com>
15090
15091         * fmap.adb: Initial version.
15092
15093         * fmap.ads: Initial version.
15094
15095         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
15096         If search is successfully done, add to mapping.
15097
15098         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
15099
15100         * make.adb:
15101         (Gnatmake): Add new local variable Mapping_File_Name.
15102          Create mapping file when using project file(s).
15103          Delete mapping file before exiting.
15104
15105         * opt.ads (Mapping_File_Name): New variable
15106
15107         * osint.adb (Find_File): Use path name found in mapping, if any.
15108
15109         * prj-env.adb (Create_Mapping_File): New procedure
15110
15111         * prj-env.ads (Create_Mapping_File): New procedure.
15112
15113         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
15114         (Mapping_File)
15115
15116         * usage.adb: Add entry for new switch -gnatem.
15117
15118         * Makefile.in: Add dependencies for fmap.o.
15119
15120 2001-12-17  Ed Schonberg <schonber@gnat.com>
15121
15122         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
15123         is a package instantiation rewritten as a package body.
15124         (Install_Withed_Unit): Undo previous change, now redundant.
15125
15126 2001-12-17  Gary Dismukes <dismukes@gnat.com>
15127
15128         * layout.adb:
15129         (Compute_Length): Move conversion to Unsigned to callers.
15130         (Get_Max_Size): Convert Len expression to Unsigned after calls to
15131         Compute_Length and Determine_Range.
15132         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
15133         Compute_Length and Determine_Range.
15134         Above changes fix problem with length computation for supernull arrays
15135         where Max (Len, 0) wasn't getting applied due to the Unsigned
15136         conversion used by Compute_Length.
15137
15138 2001-12-17  Arnaud Charlet <charlet@gnat.com>
15139
15140         * rtsfind.ads:
15141         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
15142          System.Secondary_Stack.
15143         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
15144          in HI-E mode.
15145         Remove unused entity RE_Exception_Data.
15146
15147         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
15148
15149         * rident.ads (No_Secondary_Stack): New restriction.
15150
15151 2001-12-17  Joel Brobecker <brobecke@gnat.com>
15152
15153         * gnat_rm.texi: Fix minor typos. Found while reading the section
15154         regarding "Bit_Order Clauses" that was sent to a customer.
15155         Very interesting documentation!
15156
15157 2001-12-17  Robert Dewar <dewar@gnat.com>
15158
15159         * sem_case.adb (Choice_Image): Avoid creating improper character
15160         literal names by using the routine Set_Character_Literal_Name. This
15161         fixes bombs in certain error message cases.
15162
15163 2001-12-17  Arnaud Charlet <charlet@gnat.com>
15164
15165         * a-reatim.adb: Minor reformatting.
15166
15167 2001-12-17  Ed Schonberg <schonber@gnat.com>
15168
15169         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
15170         case where the formal is an extension of another formal in the current
15171         unit or in a parent generic unit.
15172
15173 2001-12-17  Arnaud Charlet <charlet@gnat.com>
15174
15175         * s-tposen.adb: Update comments.  Minor reformatting.
15176         Minor code clean up.
15177
15178         * s-tarest.adb: Update comments.  Minor code reorganization.
15179
15180 2001-12-17  Gary Dismukes <dismukes@gnat.com>
15181
15182         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
15183         when Java_VM.
15184
15185 2001-12-17  Robert Dewar <dewar@gnat.com>
15186
15187         * exp_attr.adb: Minor reformatting
15188
15189 2001-12-17  Ed Schonberg <schonber@gnat.com>
15190
15191         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
15192         derivations nested within a child unit: verify that the parent
15193         type is declared in an outer scope.
15194
15195 2001-12-17  Robert Dewar <dewar@gnat.com>
15196
15197         * sem_ch12.adb: Minor reformatting
15198
15199 2001-12-17  Ed Schonberg <schonber@gnat.com>
15200
15201         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
15202         warning if current unit is a predefined one, from which bodies may
15203         have been deleted.
15204
15205 2001-12-17  Robert Dewar <dewar@gnat.com>
15206
15207         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
15208         Fix header format. Add 2001 to copyright date.
15209
15210         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
15211         which caused CE during compilation if checks were enabled.
15212
15213 2001-12-17  Vincent Celier <celier@gnat.com>
15214
15215         * make.adb:
15216         (Switches_Of): New function
15217         (Test_If_Relative_Path): New procedure
15218         (Add_Switches): Use new function Switches_Of
15219         (Collect_Arguments_And_Compile): Use new function Switches_Of.
15220         When using a project file, test if there are any relative
15221         search path. Fail if there are any.
15222         (Gnatmake): Only add switches for the primary directory when not using
15223         a project file. When using a project file, change directory to the
15224         object directory of the main project file. When using a project file,
15225         test if there are any relative search path. Fail if there are any.
15226         When using a project file, fail if specified executable is relative
15227         path with directory information, and prepend executable, if not
15228         specified as an absolute path, with the exec directory.  Make sure
15229         that only one -o switch is transmitted to the linker.
15230
15231         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
15232
15233         * prj-nmsc.adb:
15234         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
15235         when using a non standard naming scheme.
15236         (Check_Ada_Naming_Scheme): Make sure that error messages
15237         do not raise exceptions.
15238         (Is_Illegal_Append): Return True if there is no dot in the suffix.
15239         (Language_Independent_Check): Check the exec directory.
15240
15241         * prj.adb (Project_Empty): Add new component Exec_Directory
15242
15243         * prj.ads:
15244         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
15245         (Project_Data): Add component Exec_Directory
15246
15247         * snames.adb: Updated to match snames.ads revision 1.215
15248
15249         * snames.ads: Added Exec_Dir
15250
15251 2001-12-17  Robert Dewar <dewar@gnat.com>
15252
15253         * make.adb: Minor reformatting
15254
15255         * prj-nmsc.adb: Minor reformatting
15256
15257         * snames.adb: Updated to match snames.ads
15258
15259         * snames.ads: Alphebetize entries for project file
15260
15261 2001-12-17  Ed Schonberg <schonber@gnat.com>
15262
15263         * trans.c (process_freeze_entity): Do nothing if the entity is a
15264         subprogram that was already elaborated.
15265
15266 2001-12-17  Richard Kenner <kenner@gnat.com>
15267
15268         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
15269         and Esize if object is referenced via pointer.
15270
15271 2001-12-17  Ed Schonberg <schonber@gnat.com>
15272
15273         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
15274         is discrete before analyzing choices.
15275
15276 2001-12-17  Joel Brobecker <brobecke@gnat.com>
15277
15278         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
15279         containing the name of the Ada Main Program. This string is mainly
15280         intended for the debugger.
15281         (Gen_Output_File_C): Do the equivalent change when generating a C file.
15282
15283 2001-12-17  Robert Dewar <dewar@gnat.com>
15284
15285         * ali.adb: Set new Dummy_Entry field in dependency entry
15286
15287         * ali.ads: Add Dummy_Entry field to source dependency table
15288
15289         * bcheck.adb (Check_Consistency): Ignore dummy D lines
15290
15291         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
15292
15293         * lib-writ.ads: Document dummy D lines for missing files.
15294
15295         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
15296
15297 2001-12-17  Robert Dewar <dewar@gnat.com>
15298
15299         * ali.adb: Type reference does not reset current file.
15300
15301         * ali.adb: Recognize and scan renaming reference
15302
15303         * ali.ads: Add spec for storing renaming references.
15304
15305         * lib-xref.ads: Add documentation for handling of renaming references
15306
15307         * lib-xref.adb: Implement output of renaming reference.
15308
15309         * checks.adb:
15310         (Determine_Range): Document local variables
15311         (Determine_Range): Make sure Hbound is initialized. It looks as though
15312          there could be a real problem here with an uninitialized reference
15313          to Hbound, but no actual example of failure has been found.
15314
15315 2001-12-17  Laurent Pautet <pautet@gnat.com>
15316
15317         * g-socket.ads:
15318         Fix comment of Shutdown_Socket and Close_Socket. These functions
15319         should not fail silently because if they are called twice, this
15320         probably means that there is a race condition in the user program.
15321         Anyway, this behaviour is consistent with the rest of this unit.
15322         When an error occurs, an exception is raised with the error message
15323         as exception message.
15324
15325 2001-12-17  Robert Dewar <dewar@gnat.com>
15326
15327         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
15328         that it happens before modification of Sloc values for -gnatD.
15329
15330         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
15331         so that it happens before modification of Sloc values for -gnatD.
15332
15333         * switch.adb: Minor reformatting
15334
15335 2001-12-15  Richard Henderson  <rth@redhat.com>
15336
15337         * sem_ch7.adb: Wrap comment.
15338
15339 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
15340
15341         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
15342         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
15343         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
15344         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
15345         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
15346         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
15347         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
15348         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
15349         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
15350         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
15351         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
15352         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
15353         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
15354         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
15355         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
15356         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
15357         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
15358         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
15359         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
15360         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
15361         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
15362         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
15363         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
15364         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
15365         spelling errors.
15366
15367 2001-12-14  Vincent Celier <celier@gnat.com>
15368
15369         * osint.adb(Create_Debug_File): When an object file is specified,
15370         put the .dg file in the same directory as the object file.
15371
15372 2001-12-14  Robert Dewar <dewar@gnat.com>
15373
15374         * osint.adb: Minor reformatting
15375
15376         * lib-xref.adb (Output_Instantiation): New procedure to generate
15377         instantiation references.
15378
15379         * lib-xref.ads: Add documentation of handling of generic references.
15380
15381         * ali.adb (Read_Instantiation_Ref): New procedure to read
15382         instantiation references
15383
15384         * ali.ads: Add spec for storing instantiation references
15385
15386         * bindusg.adb: Minor reformatting
15387
15388         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
15389
15390         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
15391
15392         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
15393
15394         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
15395
15396         * csets.ads:
15397         Fix header format
15398         Add 2001 to copyright date
15399         Add entry for Latin-5 (Cyrillic ISO-8859-5)
15400
15401 2001-12-14  Matt Gingell <gingell@gnat.com>
15402
15403         * adaint.c: mktemp is a macro on Lynx and can not be used as an
15404         expression.
15405
15406 2001-12-14  Richard Kenner <kenner@gnat.com>
15407
15408         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
15409         if operand is CONSTRUCTOR.
15410
15411 2001-12-14  Ed Schonberg <schonber@gnat.com>
15412
15413         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
15414         before emiting check on right-hand side, so that exception information
15415         is correct.
15416
15417 2001-12-14  Richard Kenner <kenner@gnat.com>
15418
15419         * utils.c (create_var_decl): Throw away initializing expression
15420         if just annotating types and non-constant.
15421
15422 2001-12-14  Vincent Celier <celier@gnat.com>
15423
15424         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
15425         Default_Ada_...
15426
15427         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
15428         Remove functions.
15429         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
15430
15431         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
15432         Remove functions.
15433         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
15434
15435 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
15436
15437         * ChangeLog: Remove piece of diff output.
15438
15439 2001-12-14  Geert Bosch <bosch@gnat.com>
15440
15441         * config-lang.in: Update copyright notice
15442
15443         * layout.adb: Remove commented out code.
15444
15445         * mdllfile.ads: Update copyright notice. Fix header format.
15446
15447         * sem_case.ads: Likewise.
15448
15449         * sem_ch3.adb: Minor reformatting.
15450
15451 2001-12-12  Geert Bosch <bosch@gnat.com>
15452
15453         * freeze.ads: Update copyright date.
15454
15455         * g-comlin.ads: Minor reformatting.
15456
15457         * gnat-style.texi: Fix typo.
15458
15459 2001-12-12  Geert Bosch <bosch@gnat.com>
15460
15461         *  einfo.h: Regenerate.
15462
15463 2001-12-12  Ed Schonberg <schonber@gnat.com>
15464
15465         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
15466         on known node types, rather than untyped fields. Further cleanups.
15467
15468 2001-12-12  Robert Dewar <dewar@gnat.com>
15469
15470         * sem_ch12.adb:
15471         (Save_Entity_Descendant): Minor comment update.
15472         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
15473          of an N_Attribute_Reference node. As per note below, this does not
15474         eliminate need for Associated_Node in attribute ref nodes.
15475         (Associated_Node): Documentation explicitly mentions attribute
15476         reference nodes, since this field is used in such nodes.
15477
15478         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
15479
15480 2001-12-12  Robert Dewar <dewar@gnat.com>
15481
15482         * s-stalib.adb: Add more comments on with statements being needed
15483
15484         * par-ch12.adb: Minor reformatting
15485
15486         * prj-dect.ads: Fix copyright header
15487
15488         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
15489         inputs fit in 32 bits, but the result still overflows.
15490
15491         * s-fatgen.ads: Minor comment improvement
15492
15493 2001-12-12  Ed Schonberg <schonber@gnat.com>
15494
15495         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
15496         formal derived type, look for an inherited component from the full
15497         view of the parent, if any.
15498
15499 2001-12-12  Robert Dewar <dewar@gnat.com>
15500
15501         * checks.ads (Apply_Alignment_Check): New procedure.
15502
15503         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
15504         ensure that the alignment of objects with address clauses is
15505         appropriate, and raise PE if not.
15506
15507         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
15508         Exp_Pakd.Known_Aligned_Enough
15509
15510         * mdllfile.ads: Minor reformatting
15511
15512         * mlib-fil.ads: Minor reformatting
15513
15514 2001-12-12  Ed Schonberg <schonber@gnat.com>
15515
15516         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
15517         fix to any component reference if enclosing record has non-standard
15518         representation.
15519
15520 2001-12-12  Vincent Celier <celier@gnat.com>
15521
15522         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
15523         Iteration
15524
15525 2001-12-12  Ed Schonberg <schonber@gnat.com>
15526
15527         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
15528         sem_attr.
15529
15530 2001-12-12  Robert Dewar <dewar@gnat.com>
15531
15532         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
15533
15534 2001-12-12  Emmanuel Briot <briot@gnat.com>
15535
15536         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
15537         and it adds dependencies to system.io.
15538
15539 2001-12-12  Pascal Obry <obry@gnat.com>
15540
15541         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
15542         variable name.
15543
15544 2001-12-11  Ed Schonberg <schonber@gnat.com>
15545
15546         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
15547         that is the parent of other generics, the instance body replaces the
15548         instance node.  Retrieve the instance of the spec, which is the one
15549         that is visible in clients and within the body.
15550
15551 2001-12-11  Vincent Celier <celier@gnat.com>
15552
15553         * gnatmain.adb: Initial version.
15554
15555         * gnatmain.ads: Initial version.
15556
15557         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
15558
15559         * snames.adb: Updated to match snames.ads.
15560
15561         * snames.ads: Added Gnatstub.
15562
15563 2001-12-11  Vincent Celier <celier@gnat.com>
15564
15565         * prj-attr.adb (Initialization_Data): Change name from
15566         Initialisation_Data.
15567
15568 2001-12-11  Emmanuel Briot <briot@gnat.com>
15569
15570         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
15571         + and * applied to backslashed expressions like \r.
15572
15573 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
15574
15575         * g-os_lib.ads: String_List type added, Argument_List type is now
15576         subtype of String_List.
15577
15578 2001-12-11  Robert Dewar <dewar@gnat.com>
15579
15580         * g-os_lib.ads: Change copyright to FSF
15581         Add comments for String_List type
15582
15583 2001-12-11  Vincent Celier <celier@gnat.com>
15584
15585         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
15586         string to the buffer).
15587
15588 2001-12-11  Ed Schonberg <schonber@gnat.com>
15589
15590         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
15591         sem_attr.
15592
15593         * sem_attr.adb: Simplify previous fix for Address.
15594         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
15595         to avoid anomalies where the bound of the type appears to raise
15596         constraint error.
15597
15598 2001-12-11  Robert Dewar <dewar@gnat.com>
15599
15600         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
15601         handled.
15602
15603 2001-12-11  Ed Schonberg <schonber@gnat.com>
15604
15605         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
15606         renamed unit before checking for recursive instantiations.
15607
15608 2001-12-11  Emmanuel Briot <briot@gnat.com>
15609
15610         * prj.ads: Add comments for some of the fields.
15611
15612 2001-12-11  Robert Dewar <dewar@gnat.com>
15613
15614         * lib-xref.adb (Output_Refs): Don't output type references outside
15615         the main unit if they are not otherwise referenced.
15616
15617 2001-12-11  Ed Schonberg <schonber@gnat.com>
15618
15619         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
15620         code and diagnose additional illegal uses
15621
15622         * sem_util.adb (Is_Object_Reference): An indexed component is an
15623         object only if the prefix is.
15624
15625 2001-12-11  Vincent Celier <celier@gnat.com>
15626
15627         * g-diopit.adb: Initial version.
15628
15629         * g-diopit.ads: Initial version.
15630
15631         * g-dirope.adb:
15632         (Expand_Path): Avoid use of Unbounded_String
15633         (Find, Wildcard_Iterator): Moved to child package Iteration
15634
15635         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
15636
15637 2001-12-11  Robert Dewar <dewar@gnat.com>
15638
15639         * sem_attr.adb: Minor reformatting
15640
15641 2001-12-11  Ed Schonberg <schonber@gnat.com>
15642
15643         * sem_ch3.adb: Clarify some ???.
15644
15645 2001-12-11  Robert Dewar <dewar@gnat.com>
15646
15647         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
15648         Exp_Pakd.Known_Aligned_Enough
15649
15650         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
15651         version is moved to Exp_Ch13.
15652
15653 2001-12-11  Robert Dewar <dewar@gnat.com>
15654
15655         * einfo.ads: Minor reformatting
15656
15657         * exp_ch5.adb: Add comment for previous.change
15658
15659         * ali.adb: New interface for extended typeref stuff.
15660
15661         * ali.ads: New interface for typeref stuff.
15662
15663         * checks.adb (Apply_Alignment_Check): New procedure.
15664
15665         * debug.adb: Add -gnatdM for modified ALI output
15666
15667         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
15668
15669         * lib-xref.adb: Extend generation of <..> notation to cover
15670         subtype/object types. Note that this is a complete rewrite,
15671         getting rid of the very nasty quadratic algorithm previously
15672         used for derived type output.
15673
15674         * lib-xref.ads: Extend description of <..> notation to cover
15675         subtype/object types. Uses {..} for these other cases.
15676         Also use (..) for pointer types.
15677
15678         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
15679
15680         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
15681         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
15682
15683 2001-12-11  Vincent Celier <celier@gnat.com>
15684
15685         * gnatcmd.adb:
15686         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
15687         Changed /BIND_ONLY to /ACTIONS=BIND
15688         Changed /LINK_ONLY to /ACTIONS=LINK
15689
15690 2001-12-11  Ed Schonberg  <schonber@gnat.com>
15691
15692         * sem_ch8.adb (Find_Selected_Component): improved search for a
15693         candidate package in case of error.
15694
15695         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
15696         chain back on scope stack before reinstalling use clauses.
15697
15698         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
15699         is enabled, do not kill the code for the condition, to preserve
15700         warning.
15701
15702 2001-12-11  Robert Dewar <dewar@gnat.com>
15703
15704         * checks.adb (Insert_Valid_Check): Apply validity check to expression
15705         of conversion, not to result of conversion.
15706
15707 2001-12-11  Ed Schonberg <schonber@gnat.com>
15708
15709         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
15710         before freezing parent. If the declarations are mutually recursive,
15711         an access to the current record type may be frozen before the
15712         derivation is complete.
15713
15714 2001-12-05  Vincent Celier <celier@gnat.com>
15715
15716         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
15717         -c /COMPILE_ONLY, -l /LINK_ONLY
15718
15719         * opt.ads:
15720         (Bind_Only): New Flag
15721         (Link_Only): New flag
15722
15723         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
15724         and -l (Link_Only)
15725
15726         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
15727
15728         * make.adb:
15729         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
15730         (Gnatmake): Set the step flags. Only perform a step if the
15731         corresponding step flag is True.
15732         (Scan_Make_Arg): Reset the bind and link step flags when -u
15733         or -gnatc has been specified.
15734
15735 2001-12-05  Ed Schonberg <schonber@gnat.com>
15736
15737         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
15738         get bounds from right operand.
15739
15740         * sem_eval.adb: Minor reformatting
15741
15742         * exp_util.adb (Make_Literal_Range): use bound of literal rather
15743         than Index'First, its lower bound may be different from 1.
15744
15745         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
15746         and C48009J
15747
15748 2001-12-05  Vincent Celier <celier@gnat.com>
15749
15750         * prj-nmsc.adb Minor reformatting
15751
15752         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
15753         set and libraries are not supported.
15754
15755 2001-12-05  Ed Schonberg <schonber@gnat.com>
15756
15757         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
15758         private view explicitly, so the back-end can treat as a global
15759         when appropriate.
15760
15761 2001-12-05  Ed Schonberg <schonber@gnat.com>
15762
15763         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
15764          unit, always replace instance node with new body, for ASIS use.
15765
15766 2001-12-05  Vincent Celier <celier@gnat.com>
15767
15768         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
15769         libraries are not supported and both attributes Library_Name and
15770         Library_Dir are specified.
15771
15772         * prj-proc.adb (Expression): Set location of Result to location of
15773         first term.
15774
15775         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
15776         (prj-nmsc is now importing MLib.Tgt)
15777
15778         * prj-proc.adb: Put the change indicated above that was forgotten.
15779
15780 2001-12-05  Robert Dewar <dewar@gnat.com>
15781
15782         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
15783
15784 2001-12-05  Ed Schonberg <schonber@gnat.com>
15785
15786         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
15787         constraint, introduce explicit subtype declaration and derive from it.
15788
15789         * sem_ch3.adb: Minor reformatting
15790
15791 2001-12-05  Robert Dewar <dewar@gnat.com>
15792
15793         * checks.adb (Determine_Range): Increase cache size for checks.
15794         Minor reformatting
15795
15796         * exp_ch6.adb: Minor reformatting
15797         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
15798         a parameter whose root type is System.Address, since treating such
15799         subprograms as pure in the code generator is almost surely a mistake
15800         that will lead to unexpected results.
15801
15802         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
15803         change handling of conversions.
15804
15805         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
15806
15807 2001-12-05  Ed Schonberg <schonber@gnat.com>
15808
15809         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
15810         aggregate with static wrong size, attach generated Raise node to
15811         declaration.
15812
15813 2001-12-05  Robert Dewar <dewar@gnat.com>
15814
15815         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
15816         Fixes compilation abandoned bomb in B24009B.
15817
15818 2001-12-05  Ed Schonberg <schonber@gnat.com>
15819
15820         * sem_ch12.adb:
15821         Document use of Associated_Node on Selected_Components.
15822         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
15823         to clarify use of untyped descendant fields.
15824
15825 2001-12-05  Robert Dewar <dewar@gnat.com>
15826
15827         * prj-dect.ads: Add ??? comment
15828         Add 2001 to copyright notice (was not done in after all)
15829
15830         * prj-part.adb: Minor reformatting. Reword one awkward error message.
15831
15832         * prj.ads: Minor reformatting throughout, and add some ??? comments
15833
15834         * snames.ads: Minor reformatting
15835
15836 2001-12-05  Geert Bosch <bosch@gnat.com>
15837
15838         * snames.adb: Autoupdate
15839
15840 2001-12-05  Vincent Celier <celier@gnat.com>
15841
15842         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
15843
15844         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
15845
15846         * prj-env.adb: Minor comment changes (modifying -> extends).
15847
15848         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
15849
15850         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
15851         Tok_Extends.
15852
15853         * prj.adb (Initialize): Change Modifying to Extends.
15854
15855         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
15856
15857         * prj.ads: Minor comment change (Modifying -> extending).
15858
15859         * snames.ads: Change modifying to extends.
15860
15861 2001-12-05  Robert Dewar <dewar@gnat.com>
15862
15863         * sem_warn.adb: Remove stuff for conditionals, we are not going to
15864         do this after all.
15865
15866         * sem_warn.ads: Remove stuff for conditionals, we are not going to
15867         do this after all.  Add 2001 to copyright notice
15868
15869 2001-12-04  Geert Bosch <bosch@gnat.com>
15870
15871         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
15872
15873 2001-12-04  Robert Dewar <dewar@gnat.com>
15874
15875         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
15876         location if we already have errors. Stops some cases of cascaded
15877         errors.
15878
15879         * errout.adb: Improve comment.
15880
15881 2001-12-04  Robert Dewar <dewar@gnat.com>
15882
15883         * sem_ch12.adb:
15884         (Analyze_Formal_Type_Definition): Defend against Error.
15885         (Analyze_Formal_Subprogram): Defend against Error.
15886
15887         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
15888         remove following semicolon if present. Removes cascaded error.
15889
15890 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
15891
15892         * bindgen.adb:
15893         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
15894          exceptions equals 0.
15895         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
15896         Fixes PIWG E tests (which have to be run with -gnatL).
15897
15898 2001-12-04  Robert Dewar <dewar@gnat.com>
15899
15900         * einfo.ads: Minor reformatting
15901
15902 2001-12-04  Ed Schonberg <schonber@gnat.com>
15903
15904         * einfo.ads: Block_Node points to the identifier of the block, not to
15905         the block node itself, to preserve the link when the block is
15906         rewritten, e.g. within an if-statement with a static condition.
15907
15908         * inline.adb (Cleanup_Scopes): recover block statement from block
15909         entity using new meaning of Block_Node.
15910
15911         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
15912         identifier of block node, rather than to node itself.
15913
15914 2001-12-04  Gary Dismukes <dismukes@gnat.com>
15915
15916         * layout.adb:
15917         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
15918         (Discrimify): Go back to setting the Etypes of the selected component
15919         because the Vname component does not exist at this point and will
15920         fail name resolution. Also set Analyzed.
15921         Remove with and use of Sem_Res.
15922
15923 2001-12-04  Arnaud Charlet <charlet@gnat.com>
15924
15925         * Makefile.in: (HIE_SOURCES): add s-fat*.
15926
15927 2001-12-04  Robert Dewar <dewar@gnat.com>
15928
15929         * sem_attr.adb:
15930         (Compile_Time_Known_Attribute): New procedure.
15931         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
15932          proper range check.
15933
15934 2001-12-04  Ed Schonberg <schonber@gnat.com>
15935
15936         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
15937         processing discriminants to diagnose illegal default values.
15938
15939 2001-12-04  Ed Schonberg <schonber@gnat.com>
15940
15941         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
15942         access discriminant within a type extension that constrains its
15943         parent discriminants.
15944
15945 2001-12-04  Ed Schonberg <schonber@gnat.com>
15946
15947         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
15948         is malformed, use instance of Any_Id to allow analysis to proceed.
15949
15950         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
15951         type definition is illegal.
15952         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
15953         misplaced.
15954
15955 2001-12-04  Ed Schonberg <schonber@gnat.com>
15956
15957         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
15958         constants.
15959
15960 2001-12-04  Robert Dewar <dewar@gnat.com>
15961
15962         * errout.adb: Minor reformatting
15963
15964 2001-12-04  Robert Dewar <dewar@gnat.com>
15965
15966         * exp_util.adb: Minor reformatting from last change
15967
15968         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
15969         which is a rewriting of an expression, traverse the original
15970         expression to remove warnings that may have been posted on it.
15971
15972 2001-12-04  Ed Schonberg <schonber@gnat.com>
15973
15974         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
15975         record that has other packed components.
15976
15977 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
15978
15979         * adaint.c: Minor cleanups.
15980
15981 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
15982
15983         * adaint.c: Do not use utime.h on vxworks.
15984
15985 2001-12-04  Arnaud Charlet <charlet@gnat.com>
15986
15987         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
15988         more confusion than it solves.
15989
15990 2001-12-04  Geert bosch <bosch@gnat.com>
15991
15992         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
15993
15994 2001-12-04  Geert Bosch  <bosch@gnat.com>
15995
15996         * Makefile.in (update-sources): New target.
15997         For use by gcc_release script.
15998
15999 2001-12-04  Ed Schonberg <schonber@gnat.com>
16000
16001         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
16002         a configuration pragma, it is now legal wherever a pragma can appear.
16003
16004 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
16005
16006         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
16007         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
16008         is now @CROSS@ -DIN_GCC; update comment.
16009
16010 2001-12-04  Robert Dewar <dewar@gnat.com>
16011
16012         * einfo.adb (Has_Pragma_Pure_Function): New flag.
16013         Fix problem that stopped ceinfo from working
16014
16015         * einfo.ads (Has_Pragma_Pure_Function): New flag.
16016
16017         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
16018
16019 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
16020
16021         * gnatchop.adb:
16022         (File_Time_Stamp): New procedure.
16023         (Preserve_Mode): New boolean.
16024         (Write_Unit): Pass time stamp.
16025         Implement -p switch (preserve time stamps).
16026
16027         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
16028
16029         * gnatchop.adb: Do usage info for -p switch
16030
16031         * adaint.h (__gnat_set_file_time_name): New function
16032
16033         * adaint.c (__gnat_set_file_time_name): Implement
16034
16035         * adaint.h: Fix typo
16036
16037 2001-12-03  Robert Dewar <dewar@gnat.com>
16038
16039         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
16040         have Associated_Node.
16041
16042 2001-12-03  Robert Dewar <dewar@gnat.com>
16043
16044         * prj-proc.adb: Minor reformatting
16045
16046         * make.adb: Minor reformatting
16047
16048 2001-12-03  Geert Bosch <bosch@gnat.com>
16049
16050         * make.adb: Minor reformatting.
16051
16052 2001-12-03 Robert Dewar  <dewar@gnat.com>
16053
16054         * sem_ch12.adb: Minor reformatting
16055
16056 2001-12-03  Ed Schonberg <schonber@gnat.com>
16057
16058         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
16059         push Standard on the stack before analyzing the instance body,
16060         in order to have a clean visibility environment.
16061
16062         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
16063
16064 2001-12-03  Ed Schonberg <schonber@gnat.com>
16065
16066         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
16067         instantiation of a body that contains an inlined body.
16068
16069 2001-12-03  Ed Schonberg <schonber@gnat.com>
16070
16071         * sem_ch12.adb:
16072         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
16073         to prevent freezing within formal packages.
16074         (Freeze_Subprogram_Body): If body comes from another instance that
16075         appeared before its own body, place freeze node at end of current
16076         declarative part, to prevent a back-end crash.
16077         (Inline_Instance_Body): Handle properly a package instance within
16078         a subprogram instance that is a child unit.
16079
16080 2001-12-01  Graham Stott  <grahams@redhat.com>
16081
16082         * Makefile.in (misc.o): Add missing $(srcdir) prefix
16083         and add optabs.h dependency.
16084
16085         * misc.c: Include optabs.h
16086         (gnat_tree_code_type): Make static and const.
16087         (gnat_tree_code_length): Likewise.
16088         (gnat_tree_code_name): Likewise.
16089         (update_setjmp_buf): Obtain operands mode from insn_data.
16090
16091 2001-11-29  Richard Henderson  <rth@redhat.com>
16092
16093         * init.c: Remove obsolete dwarf2 frame.h section.
16094
16095 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
16096
16097         * Make-lang.in (ada.generated-manpages): New dummy target.
16098
16099 2001-11-29  Ed Schonberg <schonber@gnat.com>
16100
16101         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
16102         into Command, an array conversion is illegal here. Uncovered by
16103         ACATS B460005.
16104
16105 2001-11-28  Geert Bosch <bosch@gnat.com>
16106
16107         * init.c: Minor whitespace changes.
16108
16109 2001-11-28  Doug Rupp <rupp@gnat.com>
16110
16111         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
16112         signal stack.
16113
16114 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
16115
16116         * misc.c (gnat_expand_constant): Move declaration above
16117         definition of lang_hooks.
16118         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
16119         (gnat_init): lang_expand_constant no longer exists.
16120
16121         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
16122         always have vprintf.
16123         (gnat_init): Always call set_internal_error_function.
16124
16125 2001-11-27  Andreas Jaeger  <aj@suse.de>
16126
16127         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
16128
16129 2001-11-27  Laurent Guerby  <guerby@acm.org>
16130
16131         * Makefile.in: Regenerate Ada dependencies.
16132
16133 2001-11-26  Richard Henderson  <rth@redhat.com>
16134
16135         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
16136         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
16137         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
16138
16139 2001-11-25  Laurent Guerby  <guerby@acm.org>
16140
16141         * sysdep.c (rts_get_*): Fix style.
16142
16143 2001-11-19  Laurent Guerby  <guerby@acm.org>
16144
16145         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
16146         since it is of no apparent use and cause warnings.
16147
16148 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
16149
16150         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
16151         static too.
16152         (gnat_init): Don't return NULL.
16153         (finish_parse): Remove.
16154
16155 2001-11-17  Laurent Guerby  <guerby@acm.org>
16156
16157         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
16158         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
16159         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
16160         * lang-spec.h: Add missing struct field to silence warnings.
16161         * sysdep.c (rts_get_*): Provide K&R prototype.
16162         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
16163         * traceback.c (Unlock_Task, Lock_Task): Likewise.
16164         * tracebak.c (__gnat_backtrace): Remove unused variable.
16165         * utils.c (end_subprog_body): Move to K&R style.
16166
16167 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16168
16169         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
16170
16171 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
16172
16173         * misc.c (gnat_init): Change prototype.  Include the
16174         functionality of the old init_parse and init_decl_processing.
16175         (gnat_init_decl_processing): New prototype.
16176         (init_parse): Remove.
16177         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
16178
16179 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
16180
16181         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
16182         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
16183         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
16184         set_yydebug): Remove.
16185
16186 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
16187
16188         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
16189         (struct lang_hooks): Constify.
16190         (language_string, lang_identify): Remove.
16191         * utils.c (init_decl_processing): Update.
16192
16193 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16194
16195         * misc.c: Include langhooks-def.h.
16196         * Makefile.in: Update.
16197
16198 2001-10-30  Robert Dewar <dewar@gnat.com>
16199
16200         * style.adb:
16201         (Check_Identifier): Rewrite circuit to be compatible with use of letters
16202         in the upper half of ASCII.
16203         (Check_Identifier): Minor reformatting
16204
16205 2001-10-30  Geert Bosch <bosch@gnat.com>
16206
16207         * (Associated_Node, Set_Associated_Node): Do not check for
16208         Freeze_Entity.
16209
16210 2001-10-30  Robert Dewar <dewar@gnat.com>
16211
16212         * a-reatim.ads: Minor reformatting
16213
16214 2001-10-30  Robert Dewar <dewar@gnat.com>
16215
16216         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
16217         undocumented declarations.
16218
16219 2001-10-30  Pascal Obry <obry@gnat.com>
16220
16221         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
16222         to the binder and linker.
16223         Minor style fix.
16224
16225         * mdll.ads: Fix layout.  Update copyright notice.
16226
16227         * mdll.adb: Fix layout.  Update copyright notice.
16228
16229 2001-10-30  Robert Dewar <dewar@gnat.com>
16230
16231         * usage.adb: Minor fix to output for -gnaty.
16232
16233 2001-10-30  Ed Schonberg <schonber@gnat.com>
16234
16235         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
16236         to accommodate all its possible values.
16237
16238         * a-reatim.adb (Split): Special-case handling of Time_Span_First
16239         and of small absolute values of T.
16240
16241 2001-10-30  Richard Kenner <kenner@gnat.com>
16242
16243         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
16244         set_mem_attributes since not needed and wrong if RESULT if a REG;
16245         fixes ACATS failures.
16246
16247 2001-10-30  Geert Bosch <bosch@gnat.com>
16248
16249         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
16250         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
16251
16252 2001-10-30  Robert Dewar <dewar@gnat.com>
16253
16254         * bindusg.adb: Undocument -f switch.
16255
16256         * gnatcmd.adb: Remove /FULL_ELABORATION.
16257
16258         * opt.ads (Force_RM_Elaboration_Order): Document that this is
16259         obsolescent.
16260
16261         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
16262
16263         * gnatbind.adb: Minor update of warning msg.
16264
16265 2001-10-30  Vincent Celier <celier@gnat.com>
16266
16267         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
16268         for project file switches (-P (/PROJECT_FILE=),
16269          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
16270         or MEDIUM or HIGH)
16271
16272 2001-10-30  Geert Bosch <bosch@gnat.com>
16273
16274         * decl.c: Minor whitespace fixes.
16275
16276 2001-10-30  Richard Kenner <kenner@gnat.com>
16277
16278         * utils2.c (build_allocator): Test for SIZE overflow in array case too
16279
16280 2001-10-30  Geert Bosch <bosch@gnat.com>
16281
16282         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
16283         Found due to GCC 3.0 warning of using uninitialized value.
16284
16285         * layout.adb:
16286         (Get_Max_Size): Use variant record for tracking value/expression.
16287          Makes logic clearer and prevents warnings for uninitialized variables.
16288         (Layout_Array_Type): Use variant record for tracking value/expression.
16289          Makes logic clearer and prevents warnings for uninitialized variables.
16290
16291 2001-10-30  Robert Dewar <dewar@gnat.com>
16292
16293         * lib.adb: Minor reformatting
16294
16295         * s-taprop.ads: Minor reformatting
16296
16297 2001-10-29  Laurent Guerby  <guerby@acm.org>
16298
16299         * init.c:
16300         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
16301         const.
16302         (_gnat_error_handler): Make MSG const.
16303
16304 2001-10-29  Richard Kenner <kenner@gnat.com>
16305
16306         * sysdep.c: Fix localtime_r problem on LynxOS.
16307         Also remove #elif to avoid warnings.
16308
16309         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
16310         used by this.
16311
16312         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
16313
16314 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
16315
16316         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
16317         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
16318         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
16319         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
16320         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
16321         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
16322         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
16323         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
16324         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
16325         types.ads, urealp.adb: Fix spelling errors.
16326
16327 2001-10-27  Laurent Guerby <guerby@acm.org>
16328
16329         * trans.c (gigi): Fix non determinism leading to bootstrap
16330         comparison failures for debugging information.
16331
16332 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
16333
16334         * gnat_rm.texi: Use @./@: where appropriate.
16335
16336 2001-10-26  Robert Dewar <dewar@gnat.com>
16337
16338         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
16339
16340 2001-10-26  Richard Kenner <kenner@gnat.com>
16341
16342         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
16343
16344 2001-10-26  Richard Kenner <kenner@gnat.com>
16345
16346         * decl.c (validate_size): Modify message for bad size to avoid
16347         implication that compiler is modifying the size.
16348
16349 2001-10-26  Robert Dewar <dewar@gnat.com>
16350
16351         * prj-util.adb: Minor reformatting. Fix bad header format.
16352
16353 2001-10-26  Robert Dewar <dewar@gnat.com>
16354
16355         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
16356
16357         * sinfo.ads: Clarify use of Associated_Node (documentation only).
16358
16359         * sem_ch12.adb: Change Node4 to Associated_Node. Change
16360         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
16361         much more narrowly in places where needed. These are cleanups.
16362
16363 2001-10-26  Joel Brobecker <brobecke@gnat.com>
16364
16365         * 5zosinte.ads (null_pthread): new constant.
16366
16367         * 5ztaprop.adb:
16368         (Initialize_TCB): Initialize thread ID to null, to be able to verify
16369          later that this field has been set.
16370         (Finalize_TCB): ditto.
16371         (Suspend_Task): Verify that the thread ID is not null before using it.
16372         (Resume_Task): ditto.
16373
16374         * s-tasdeb.adb:
16375         (Resume_All_Tasks): Lock the tasks list before using it.
16376         (Suspend_All_Tasks): ditto.
16377
16378 2001-10-26  Richard Kenner <kenner@gnat.com>
16379
16380         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
16381         Make constant variant of designated type for Is_Access_Constant.
16382         Call update_pointer_to with main variant.
16383
16384         * trans.c (process_freeze_entity, process_type):
16385         Call update_pointer_to on main variant.
16386
16387         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
16388         If main variant, update all other variants.
16389
16390         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
16391         TREE_STATIC.
16392
16393 2001-10-26  Robert Dewar <dewar@gnat.com>
16394
16395         * prj-util.adb: Minor reformatting
16396
16397 2001-10-26  Robert Dewar <dewar@gnat.com>
16398
16399         * prj-util.adb: Minor reformatting
16400
16401 2001-10-26  Robert Dewar <dewar@gnat.com>
16402
16403         * prj-attr.adb: Minor reformatting throughout
16404
16405 2001-10-26  Robert Dewar <dewar@gnat.com>
16406
16407         * prj-attr.ads: Minor reformatting
16408         Add ??? comment (this whole spec has almost no comments)
16409
16410 2001-10-26  Vincent Celier <celier@gnat.com>
16411
16412         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
16413         ("//") that precede the drive letter on Interix.
16414
16415 2001-10-26  Geert Bosch <bosch@gnat.com>
16416
16417         * gnat_rm.texi: Add GNAT Reference Manual.
16418
16419 2001-10-25  Robert Dewar <dewar@gnat.com>
16420
16421         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
16422         is Error. Similar change for other renaming cases.
16423
16424 2001-10-25  Robert Dewar <dewar@gnat.com>
16425
16426         * s-atacco.ads: Add pragma Inline_Always for functions.
16427         Fix header format. Add copyright 2001
16428
16429 2001-10-25  Ed Schonberg <schonber@gnat.com>
16430
16431         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
16432         return Error rather than Empty so that analysis can proceed.
16433
16434 2001-10-25  Ed Schonberg <schonber@gnat.com>
16435
16436         * sem_util.adb (Enter_Name): better handling of cascaded error
16437         messages when a unit appears in its own context.
16438
16439 2001-10-25  Ed Schonberg <schonber@gnat.com>
16440
16441         * sem_util.adb (Defining_Entity): in case of error, attach created
16442         entity to specification, so that semantic analysis can proceed.
16443
16444 2001-10-25  Robert Dewar <dewar@gnat.com>
16445
16446         * sem_util.adb
16447         (Defining_Entity): Deal with Error.
16448         (Process_End_Label): Deal with bad end label for.
16449
16450 2001-10-25  Ed Schonberg <schonber@gnat.com>
16451
16452         * sem_elab.adb (Check_A_Call): refine message when call is in an
16453         instance but callee is not declared in the generic unit.
16454
16455 2001-10-25  Ed Schonberg <schonber@gnat.com>
16456
16457         * sem_elab.adb (Check_A_Call): check for renaming before finding the
16458         enclosing unit, which may already be different from the calling unit.
16459
16460 2001-10-25  Geert Bosch <bosch@gnat.com>
16461
16462         * 4gintnam.ads: fix header format.
16463
16464 2001-10-25  Ed Schonberg <schonber@gnat.com>
16465
16466         * sem_res.adb (Resolve_Call): if the call is actually an indexing
16467         operation on the result of a parameterless call, perform elaboration
16468         check after the node has been properly rewritten.
16469
16470         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
16471         inlined within the generic tree, the defining identifier is not a
16472         compilation_unit.
16473
16474 2001-10-25  Ed Schonberg <schonber@gnat.com>
16475
16476         * sem_res.adb (Resolve): special-case resolution of Null in an
16477          instance or an inlined body to avoid view conflicts.
16478
16479         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
16480          compatibility by retrieving the access type of the generic copy.
16481
16482 2001-10-25  Robert Dewar <dewar@gnat.com>
16483
16484         * sem_ch3.adb:
16485         (Analyze_Number_Declaration): Handle error expression.
16486         (Signed_Integer_Type_Declaration): Handle error bound.
16487         (Analyze_Subtype_Indication): Handle error range.
16488
16489         * sem_util.adb (Get_Index_Bounds): Check for Error.
16490
16491 2001-10-25  Robert Dewar <dewar@gnat.com>
16492
16493         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
16494         in no run time mode.
16495
16496 2001-10-25  Pascal Obry <obry@gnat.com>
16497
16498         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
16499         mode case for ALLOC case.
16500
16501         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
16502         all platforms. Improvement of last change.
16503
16504 2001-10-25  Robert Dewar <dewar@gnat.com>
16505
16506         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
16507
16508 2001-10-25  Geert Bosch  <bosch@gnat.com>
16509
16510         * osint.adb (Is_Relative): Remove duplicate.
16511
16512 2001-10-25  Pascal Obry <obry@gnat.com>
16513
16514         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
16515         pathnames in UNIX and DOS style with drive letter.
16516         (Is_Relative): new routine.
16517
16518         * osint.adb: Minor reformatting
16519
16520         * osint.adb (Is_Relative): implementation using
16521         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
16522
16523 2001-10-25  Pascal Obry <obry@gnat.com>
16524
16525         * g-dirope.adb (Basename): correctly compute offset between the
16526         original Path and the translated one.
16527
16528         * g-dirope.adb: (Base_Name): add some comments.
16529
16530 2001-10-25  Robert Dewar <dewar@gnat.com>
16531
16532         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
16533         in HIE mode, avoids compilation abandoned message
16534
16535         * exp_imgv.adb: Correct typo in previous change
16536
16537         * exp_imgv.adb: Correct typo in previous change (not my day!)
16538
16539 2001-10-25  Robert Dewar <dewar@gnat.com>
16540
16541         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
16542
16543 2001-10-25  Pascal Obry <obry@gnat.com>
16544
16545         * g-awk.ads: Move all pragma inlines next to the routine
16546          declarations. This is more uniform with other GNAT spec.
16547
16548 2001-10-22  Geert Bosch  <bosch@gnat.com>
16549
16550         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
16551
16552 2001-10-19  Geert Bosch  <bosch@gnat.com>
16553
16554         * Makefile.in (tools, gnattools): Remove gnatmem.
16555
16556 2001-10-17  Richard Henderson  <rth@redhat.com>
16557
16558         * Makefile.in (misc.o): Depend on langhooks.h.
16559         * misc.c: Include it.
16560         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
16561         (LANG_HOOKS_DECODE_OPTION): New.
16562         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
16563
16564 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
16565
16566         * trans.c (tree_transform): Adjust to recent change in
16567         expand_asm_operands to implement named asm operands.
16568
16569 2001-10-11  Ed Schonberg  <schonber@gnat.com>
16570
16571         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
16572         renaming of discriminant for mutable record type.
16573
16574 2001-10-11  Robert Dewar  <dewar@gnat.com>
16575
16576         * validsw.adb: Properly save -gnatVn status.
16577
16578 2001-10-11  Robert Dewar <dewar@gnat.com>
16579
16580         * usage.adb: Add lines for V switch.
16581
16582         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
16583         (/VALIDITY_CHECKING).
16584
16585 2001-10-11  Ed Schonberg <schonber@gnat.com>
16586
16587         * sem_type.adb (Add_One_Interp): an operator for a type declared in
16588         an extension of System is known to be visible.
16589
16590 2001-10-11  Ed Schonberg <schonber@gnat.com>
16591
16592         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
16593         properly. Fixes regression on ACATS C34005G.
16594
16595 2001-10-11  Robert Dewar <dewar@gnat.com>
16596
16597         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
16598         loop in generic instance, since this is likely not very useful.
16599
16600 2001-10-11  Robert Dewar <dewar@gnat.com>
16601
16602         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
16603         the error message for high integrity mode.
16604
16605         * rtsfind.adb (RTE): Give message if we try to find an entity that
16606         is not available in high integrity mode.
16607
16608         * rtsfind.ads:
16609         (OK_To_Use_In_HIE_Mode): New array.
16610         (RTE): May return Empty in high integrity mode.
16611
16612         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
16613         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
16614
16615         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
16616         unit if not inlined always and in no runtime mode. Fixes problem
16617         caused by new Rtsfind changes.
16618
16619         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
16620         body is deleted.
16621
16622         * rtsfind.adb (RTE): Make sure we do not try to load unit after
16623         giving message for entity not available in high integrity mode.
16624
16625 2001-10-11  Pascal Obry <obry@gnat.com>
16626
16627         * impunit.adb: Add GNAT.CRC32.
16628
16629 2001-10-11  Ed Schonberg <schonber@gnat.com>
16630
16631         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
16632         properly the case where one universal operand in a non-static
16633         exponentiation of a real literal.
16634
16635 2001-10-11  Ed Schonberg <schonber@gnat.com>
16636
16637         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
16638         clause, return the gobal finalization list, for lack of anthing else.
16639
16640 2001-10-11  Ed Schonberg <schonber@gnat.com>
16641
16642         * exp_ch7.adb (Make_Transient_Block): if statement is within
16643         exception handler, always use new transient scope to place Clean
16644         procedure.
16645
16646 2001-10-11  Pascal Obry <obry@gnat.com>
16647
16648         * Makefile.in:
16649         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
16650         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
16651         (GNATLS_RTL_OBJS): add g-crc32.o
16652         (GNATMAKE_RTL_OBJS): add g-crc32.o
16653
16654         * ali-util.adb:
16655         (CRC_Match): new function.
16656         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
16657         instead of the previous simple checksum algorithm.
16658         (Time_Stamp_Mismatch): use CRC_Match for comparison.
16659         (Set_Source_Table): idem.
16660
16661         * ali-util.ads:
16662         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
16663         instead of simple checksum.
16664         (CRC_Match): new function.
16665         (CRC_Error): new constant.
16666
16667         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
16668         a CRC now and not a simple checksum. A CRC uses lower-case hex
16669         letters, fixes ambiguity in parsing.
16670
16671         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
16672         is what this variable will store.
16673
16674         * bcheck.adb: Change reference to chechsum in comments by CRC.
16675         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
16676         rename All_Checksum_Match to All_CRC_Match. Change due to API
16677         renaming since now GNAT does not use a simple checksum but a
16678         CRC using GNAT.CRC32.
16679
16680         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
16681         now and not anymore a simple checksum.
16682
16683         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
16684         places.
16685
16686         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
16687
16688         * scans.adb:
16689         (Restore_Scan_State): rename Checksum to CRC.
16690         (Save_Scan_State): idem.
16691
16692         * scans.ads:
16693         With GNAT.CRC32.
16694         (Checksum): rename to CRC.
16695         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
16696
16697         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
16698         GNAT.CRC32).  Update copyright notice.
16699
16700         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
16701         GNAT.CRC32).  Update copyright notice.
16702
16703         * scn.adb:
16704         (Accumulate_Checksum): removed.
16705         (Update): new procedure. Add a wide-character into the CRC.
16706
16707         * sinput-l.adb:
16708         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
16709         (Load_File): fix initialization of S (change Source_Checksum to
16710         Source_CRC)
16711
16712         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
16713         Source_CRC in S initialization.
16714
16715         * sinput.adb (Source_Checksum): renamed to Source_CRC.
16716
16717         * sinput.ads (Source_Checksum): renamed to Source_CRC.
16718         Update comments for the CRC.
16719
16720         * types.adb (Hex): Use lowercase for the letter part.
16721
16722         * types.ads (Get_Hex_String): Returns the hexadecimal representation
16723         for a word. This is currently used only for CRC. In previous version,
16724         the checksum was using a representation with all letter being
16725         upper-case. With the new implementation (using CRC) we do not remove
16726         the 32th bit of the CRC, so we can have an upper-case starting letter
16727         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
16728         It is ambigous since the CRC was optional and could be followed by
16729         options like EB, EE. So now this routines uses lower-case letter for
16730         the hexadecimal representation. Strange enough only lower case letters
16731         where checked in Scan_ALI (even if this was not a possible case).
16732
16733         * gnatvsn.ads (Library_Version): changed to 3.15a.
16734
16735         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
16736         for the compiler.
16737
16738         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
16739         for the compiler.
16740
16741         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
16742         Add 2001 to copyright notice
16743         (Accumulate_Checksum): Modify to use System.CRC32.
16744
16745         * ali-util.ads: Redo changes of previous revision to continue to use
16746         the word Checksum. Add 2001 to copyright notice.
16747
16748         * ali.adb: Undo some of previous changes, not needed.
16749         Keep the change for lower case letters in the checksum.
16750
16751         * ali.ads: Undo previous change not needed.
16752
16753         * bcheck.adb: Undo most of previous change, not needed.
16754         But do use Checksums_Match for checksum comparison.
16755
16756         * gnatls.adb: Undo most of previous change, not needed.
16757         But do use Checksums_Match for comparing checksums.
16758
16759         * lib-load.adb: Undo previous change, not needed.
16760
16761         * lib-writ.adb: Undo previous change, not needed.
16762
16763         * lib-writ.ads: Document that checksums use lower case,
16764         not upper case letters.
16765
16766         * scans.adb: Undo previous change, not needed
16767
16768         * scans.ads: Undo previous change, not needed.
16769
16770         * scn-nlit.adb: Undo previous changes, not needed.
16771
16772         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
16773
16774         * scn.adb:
16775         (Accumulate_Checksum): Use System.CRC32.
16776         (Initialize_Checksum): New procedure.
16777         Remove other changes of previous revision.
16778
16779         * sinput-p.adb: Undo previous change, not needed.
16780
16781         * sinput.adb: Undo previous change, not needed.
16782
16783         * sinput-l.adb: Undo previous change, not needed.
16784
16785         * sinput.ads: Undo previous change, not needed.  Keep only comment
16786         on new checksum algorithm
16787
16788         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
16789         Also remove a-tags and a-stream from GNAT sources.
16790
16791         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
16792
16793         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
16794
16795 2001-10-11  Geert Bosch  <bosch@gnat.com>
16796
16797         * einfo.h: Regenerate.
16798
16799         * nmake.ads: Regenerate.
16800
16801         * nmake.adb: Regenerate.
16802
16803         * sinfo.h: Regenerate.
16804
16805         * treeprs.adb: Regenerate.
16806
16807 2001-10-10  Geert Bosch  <bosch@gnat.com>
16808
16809         * gnat-style.texi: New file describing coding guidelines for Ada.
16810
16811 2001-10-10  Ed Schonberg <schonber@gnat.com>
16812
16813         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
16814         is Flag174.
16815
16816 2001-10-10  Geert Bosch  <bosch@gnat.com>
16817
16818         * snames.ads: Add new names for project facility.
16819
16820         * snames.adb: Update to reflect snames.ads changes.
16821
16822         * snames.h: Update to reflect snames.ads changes.
16823
16824 2001-10-10  Vincent Celier <celier@gnat.com>
16825
16826         * make.adb:
16827         (Add_Switches): reflect the changes for the switches attributes
16828         Default_Switches indexed by the programming language,
16829         Switches indexed by the file name.
16830         (Collect_Arguments_And_Compile): Idem.
16831         Reflect the attribute name changes.
16832
16833         * prj-attr.adb:
16834         (Initialisation_Data): Change the names of some packages and
16835         attributes.
16836         (Initialize): process case insensitive associative arrays.
16837
16838         * prj-attr.ads:
16839         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
16840
16841         * prj-dect.adb:
16842         (Parse_Attribute_Declaration): For case insensitive associative
16843          arrays, set the index string to lower case.
16844
16845         * prj-env.adb:
16846         Reflect the changes of the project attributes.
16847
16848         * prj-nmsc.adb:
16849         Replace Check_Naming_Scheme by Ada_Check and
16850         Language_Independent_Check.
16851
16852         * prj-nmsc.ads:
16853         Replaced Check_Naming_Scheme by 2 procedures:
16854         Ada_Check and Language_Independent_Check.
16855
16856         * prj-proc.adb:
16857         (Process_Declarative_Items): For case-insensitive associative
16858         arrays, set the index string to lower case.
16859         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
16860         Prj.Nmsc.Check_Naming_Scheme.
16861
16862         * prj-tree.adb:
16863         (Case_Insensitive): New function
16864         (Set_Case_Insensitive): New procedure
16865
16866         * prj-tree.ads:
16867         (Case_Insensitive): New function
16868         (Set_Case_Insensitive): New procedure
16869         (Project_Node_Record): New flag Case_Insensitive.
16870
16871         * prj-util.adb:
16872         (Value_Of): new function to get the string value of a single
16873         string variable or attribute.
16874
16875         * prj-util.ads:
16876         (Value_Of): new function to get the string value of a single
16877         string variable or attribute.
16878
16879         * prj.adb:
16880         (Ada_Default_Spec_Suffix): New function
16881         (Ada_Default_Impl_Suffix): New function
16882         Change definitions of several constants to reflect
16883         new components of record types.
16884
16885         * prj.ads:
16886         (Naming_Data): Change several components to reflect new
16887         elements of naming schemes.
16888         (Project_Data): New flags Sources_Present and
16889         Language_Independent_Checked.
16890         (Ada_Default_Spec_Suffix): New function.
16891         (Ada_Default_Impl_Suffix): New function.
16892
16893         * snames.ads:
16894         Modification of predefined names for project manager: added
16895         Implementation, Specification_Exceptions, Implementation_Exceptions,
16896         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
16897         Default_Switches, _Languages, Builder, Cross_Reference,
16898         Finder. Removed Body_Part, Specification_Append, Body_Append,
16899         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
16900         Gnatlink.
16901
16902         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
16903         Add comments.
16904
16905         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
16906         not that it is Nil_Variable_Value.
16907
16908         * prj.ads: Add ??? for uncommented declarations
16909
16910 2001-10-10  Ed Schonberg <schonber@gnat.com>
16911
16912         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
16913         constant, do not indicate possible modification, so that gigi can
16914         treat it as a bona fide constant.
16915
16916 2001-10-10  Robert Dewar <dewar@gnat.com>
16917
16918         * sem_prag.adb: Add processing for pragma External.
16919
16920         * snames.ads: Add entry for pragma External.
16921
16922         * par-prag.adb: Add pragma External.
16923
16924         * snames.adb: Updated to match snames.ads.
16925
16926 2001-10-10  Ed Schonberg <schonber@gnat.com>
16927
16928         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
16929         a dynamic task if the allocator appears in an indexed assignment
16930         or selected component assignment.
16931
16932         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
16933         For a dynamic task in an assignment statement, use target of
16934         assignment to generate meaningful name.
16935
16936 2001-10-10  Ed Schonberg <schonber@gnat.com>
16937
16938         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
16939         a generic package.
16940
16941         * einfo.ads: Body_Entity is also defined for generic package.
16942         Documentation change only
16943
16944         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
16945         others_choice for a discriminated component initialization,
16946         convert discriminant references into the corresponding discriminals.
16947
16948         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
16949         only if original type is private and expression has to be wrapped
16950         in a conversion.
16951
16952         * checks.adb:
16953         (Apply_Constraint_Check): Do not perform length check
16954         if expression is an aggregate with only an others_choice.
16955         (Length_N_Cond): two references to the same in_parameter
16956         (typically the discriminal in an init_proc) denote the same value.
16957         Two useful optimization uncovered by bugfixes above.
16958
16959 2001-10-10  Robert Dewar <dewar@gnat.com>
16960
16961         * xeinfo.adb: Change int to char in translation of enumeration types.
16962         This fixes a problem in the C representation of component alignment.
16963         Add 2001 to copyright notice
16964
16965 2001-10-10  Richard Kenner <kenner@gnat.com>
16966
16967         * decl.c: (validate_size): Do check size of object of integral type
16968         if it is a packed array type.
16969
16970 2001-10-10  Richard Kenner <kenner@gnat.com>
16971
16972         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
16973         VAR_DECL for constant if not Is_Public but -O0.
16974
16975 2001-10-10  Richard Kenner  <kenner@gnat.com>
16976
16977         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
16978
16979 2001-10-10  Geert Bosch  <bosch@gnat.com>
16980
16981         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
16982         use '/' as switch character, allowing for absolute file names.
16983
16984 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
16985
16986         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
16987         FSF address.
16988
16989 2001-10-08  Geert Bosch  <bosch@gnat.com>
16990
16991         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
16992         Automatically build utilities when files need to be regenerated.
16993
16994 2001-10-08  Geert Bosch  <bosch@gnat.com>
16995
16996         * xsnames.adb: New utility for updating snames.ads and snames.adb
16997
16998 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
16999
17000         * Make-lang.in (ADAFLAGS): Add -W -Wall.
17001         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
17002         (gnat1): Also depend on attribs.o.
17003         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
17004         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
17005         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
17006         (ADAFLAGS): Add -W -Wall.
17007         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
17008         take out CFLAGS.
17009
17010         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
17011         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
17012         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
17013         Use $(ADAC), not $(CC), as compilation command.
17014
17015         (gnattools): Depend directly on tools to build, don't use
17016         recursive make.
17017         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
17018
17019         * einfo.h, sinfo.h: New files (autogenerated).
17020
17021 2001-10-08  Richard Henderson  <rth@redhat.com>
17022
17023         * comperr.adb (Abort_In_Progress): New.
17024         (Compiler_Abort): Use it to prevent recursion.
17025
17026 2001-10-08  Robert Dewar <dewar@gnat.com>
17027
17028         * atree.adb: Set Error_Posted in Error node, helps error recovery.
17029
17030         * par-endh.adb (Output_End_Expected): We should also not test
17031         Error_Posted on the Error node, since now it is always set.
17032
17033         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
17034         to help error recovery. Part of general work on 9407-004.
17035
17036         * par.adb: Add ??? for misuse of error
17037
17038         * sem_res.adb:
17039         (Resolve): Defend against Error, fixes 9407-003.
17040         (Resolve_Discrete_Subtype_Indication): Defend against Error.
17041
17042         * sinfo.ads (N_Error): Now has Etype field (which will be set
17043         to Any_Type to help error recovery).
17044
17045 2001-10-08  Richard Kenner (kenner@gnat.com)
17046
17047         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
17048         Consistently set MEM attributes from expression; fixes
17049         bootstrap failure on x86.
17050
17051 2001-10-08  Geert Bosch  (bosch@gnat.com)
17052
17053         * 5oosinte.adb: Add 2001 to copyright notice.
17054
17055 2001-10-08  Geert Bosch  (bosch@gnat.com)
17056
17057         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
17058
17059         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
17060
17061 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
17062
17063         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
17064
17065 2001-10-05  Geert Bosch  (bosch@gnat.com)
17066
17067         * adaint.h: Small formatting fix.
17068
17069 2001-10-04  Geert Bosch  <bosch@gnat.com>
17070
17071         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
17072         Arg is int, not FILE *, in dummy version of functions.
17073
17074         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
17075         Arg is int, not FILE *.
17076
17077 2001-10-04  Geert Bosch  <bosch@gnat.com>
17078
17079         * 3lsoccon.ads: Added file, missed with initial check ins.
17080
17081         * 4lintnam.ads: Fix header format.
17082         Change Linux to GNU/Linux.
17083
17084         * 5iosinte.adb: Change Linux to GNU/Linux.
17085
17086         * 5iosinte.ads: Change Linux to GNU/Linux.
17087
17088         * 5itaprop.adb: Change Linux to GNU/Linux.
17089
17090         * 5itaspri.ads: Change Linux to GNU/Linux.
17091         Update copyright notice.
17092
17093         * 5lintman.adb: Change Linux to GNU/Linux.
17094
17095         * 5lml-tgt.adb: Change Linux to GNU/Linux.
17096
17097         * 5losinte.ads: Change Linux to GNU/Linux.
17098
17099         * 5lsystem.ads: Change Linux to GNU/Linux.
17100
17101         * 5qosinte.adb: Change Linux to GNU/Linux.
17102
17103         * 5qosinte.ads: Change Linux to GNU/Linux.
17104
17105         * 5qparame.ads: Change Linux to GNU/Linux.
17106
17107         * 5qtaprop.adb: Change Linux to GNU/Linux.
17108
17109         * 5qtaspri.ads: Change Linux to GNU/Linux.
17110         Add 2001 to copyright notice.
17111
17112         * 5vintman.ads: Change Linux to GNU/Linux.
17113         Fix header format.  Add 2001 to copyright notice.
17114
17115         * g-soccon.ads: Change Linux to GNU/Linux.
17116
17117         * g-trasym.ads: Change Linux to GNU/Linux.
17118         Add 2001 to copyright notice.
17119
17120         * memtrack.adb: Change Linux to GNU/Linux.
17121
17122         * s-intman.ads: Change Linux to GNU/Linux.
17123         Add 2001 to copyright notice.  Fix header format.
17124
17125         * s-stache.adb: Change Linux to GNU/Linux.
17126
17127         * adaint.c: Change Linux to GNU/Linux.
17128
17129         * cio.c: Change Linux to GNU/Linux.
17130
17131         * cstreams.c: Change Linux to GNU/Linux.
17132
17133         * init.c: Change Linux to GNU/Linux.
17134
17135         * gmem.c: Change Linux to GNU/Linux.
17136
17137         * tracebak.c: Change Linux to GNU/Linux.
17138
17139
17140 2001-10-02  Geert Bosch  <bosch@gnat.com>
17141
17142         * misc.c (insert_default_attributes): Add dummy version.