OSDN Git Service

* adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2005-03-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
2
3         * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
4
5 2005-03-29  Robert Dewar  <dewar@adacore.com>
6
7         * sem_res.adb (Resolve_Real_Literal): Generate warning if static
8         fixed-point expression has value that is not a multiple of the Small
9         value.
10
11         * opt.ads (Warn_On_Bad_Fixed_Value): New flag
12
13         * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
14         nanoseconds.
15
16         * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
17
18 2005-03-29  Vincent Celier  <celier@adacore.com>
19
20         * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
21         (Build_Dynamic_Library.Version_String): Return the empty string when
22         Lib_Version is empty or when the symbol policy is not Autonomous.
23
24         * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
25         a symbol is not in the reference symbol file, increase the Major ID
26         and set the Minor ID to 0.
27         Use gsmatch=lequal instead of gsmatch=equal
28
29 2005-03-29  Doug Rupp  <rupp@adacore.com>
30
31         * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
32         name and translate.
33
34 2005-03-29  Javier Miranda  <miranda@adacore.com>
35
36         * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
37         (Inherit_DT): The first formal has been redefined as a Tag.
38         This allows us the removal of the subprogram Get_TSD.
39         (TSD): Replace the call to Get_TSD by the actual code.
40
41         * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
42         (Make_DT): Upgrade the call to Inherit_TSD according to the
43         new interface: the first formal is now a Tag.
44
45         * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
46         redefined as a Tag.
47         This change allows us to remove the subprogram Get_TSD.
48         (CPP_Get_TSD): Subprogram removed.
49         (TSD): Replace the call to CPP_Get_TSD by the actual code.
50
51         * rtsfind.ads: Remove support to call the run-time
52         subprogram Get_TSD
53
54 2005-03-29  Robert Dewar  <dewar@adacore.com>
55
56         * errutil.adb, errout.adb: 
57         Minor comment updates on Line_Terminator references
58
59         * par-ch10.adb: Add ??? comment about line terminator
60
61         * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
62         (check dos line terminator).
63         (Check_Line_Max_Length): New procedure, split off from the existing
64         Check_Line_Terminator routine. Separating this out allows -gnatyf to
65         be properly recognized.
66
67         * styleg.adb: Add ??? comment for line terminator reference
68
69         * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
70         (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
71
72         * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
73         (check dos line terminator).
74         (Check_Line_Max_Length): New procedure, split off from the existing
75         Check_Line_Terminator routine. Separating this out allows -gnatyf to
76         be properly recognized.
77
78         * stylesw.ads, stylesw.adb: 
79         Add handling for new -gnatyd switch (check dos line terminator)
80
81         * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
82         Recognize -gnatwb/-gnatwB switches
83         Include Warn_On_Bad_Fixed_Value for -gnatg
84
85         * usage.adb: 
86         Add line for new -gnatyd switch (check dos line terminator)
87
88         * usage.adb: Add lines for -gnatwb/-gnatwB
89
90         * vms_data.ads: Add entry for NOCRLF (-gnatyd)
91
92         * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
93
94         * gnat_ugn.texi: Fix overlong lines
95         Document new -gnatyd switch
96         Document new -gnatwb/-gnatwB switches
97
98 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
99
100         * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
101         order to retrieve the component list of the type, before examining
102         individual components.
103
104         * sem_type.adb (Covers): Types are compatible if one is the base type
105         of the other, even though their base types might differ when private
106         views are involved.
107
108 2005-03-29  Thomas Quinot  <quinot@adacore.com>
109
110         * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
111         To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
112         of using Set_Renaming_TSS. This ensures that the TSS bodies are not
113         analyzed if expansion is disabled (which could otherwise cause spurious
114         error messages if expansion has been disabled due to previous
115         (unrelated) errors).
116
117         * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
118         is disabled, the entity denoted by the argument is the access type
119         itself, not an underlying record type, so there is no need to go back
120         to the Corresponding_Remote_Type.
121
122 2005-03-29  Gary Dismukes  <dismukes@adacore.com>
123             Robert Dewar  <dewar@adacore.com>
124
125         * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
126         expand a call to an instance of
127         Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
128         Constructor actual of the instance. A class-wide membership
129         check is also generated, to ensure that the tag passed to the instance
130         denotes a type in the class.
131         (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
132         of Name_Generic_Dispatching_Constructor.
133
134         * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
135         05 unit for AI-260-02).
136
137         * a-tgdico.ads: New file.
138
139         * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
140         predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
141
142         * snames.ads, snames.adb (Preset_Names): Add entry for
143         Generic_Dispatching_Constructor.
144
145         PR ada/20300
146
147         * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
148         character type cases.
149         (Analyze_Subprogram_Renaming): Add special handling for
150         the case of renaming of stream attributes when the renaming denotes a
151         generic formal subprogram association for an abstract formal subprogram.
152         Check that the attribute is a primitive stream attribute (and not
153         a class-wide stream attribute) and then rewrite the attribute name
154         as the name of the appropriate compiler-generated stream primitive.
155
156 2005-03-29  Robert Dewar  <dewar@adacore.com>
157
158         * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
159         recursive calls.
160         (Is_Possibly_Unaligned_Object): Correct typo that
161         resulted in inaccurate result for unaligned scalars within records.
162
163 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
164
165         * freeze.adb (Freeze_Record_Type): If the type of the component is an
166         itype whose parent is controlled and not yet frozen, do not create a
167         freeze node for the itype if expansion is disabled.
168
169 2005-03-29  Vincent Celier  <celier@adacore.com>
170
171         * make.adb (Gnatmake): Don't fail if the main project file is declared
172         as having no Ada sources. Do not display message "no sources to
173         compile" in quiet output.
174
175 2005-03-29  Doug Rupp  <rupp@adacore.com>
176
177         * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
178         extra tools.
179
180 2005-03-29  Robert Dewar  <dewar@adacore.com>
181
182         * par-ch12.adb (P_Generic): Give better msg for illegal private generic
183         child.
184
185 2005-03-29  Robert Dewar  <dewar@adacore.com>
186
187         * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
188         missing TYPE Improve the error message generated when compiling a
189         limited interface in Ada83 or Ada95 mode.
190
191 2005-03-29  Robert Dewar  <dewar@adacore.com>
192
193         * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
194         rather than proceed ahead using a junk attribute name.
195
196 2005-03-29  Vincent Celier  <celier@adacore.com>
197
198         * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
199
200         * prj-part.adb (Parse_Single_Project): Set the location of a project
201         on its defining identifier, rather than on the reserved word "project".
202
203         * prj-proc.adb (Expression): Adapt to the fact that default of external
204         references may be string expressions, not always literal strings.
205         (Recursive_Process): Set Display_Name equal to Name
206         when Location is No_Location, that is when there is no actual file.
207         Get the Display_Name of the project from the source, when it is not a
208         virtual project.
209         (Process): Use the Display_Name in error messages
210
211         * prj-strt.adb (External_Reference): Allow default to be string
212         expressions, not only literal strings.
213
214 2005-03-29  Vincent Celier  <celier@adacore.com>
215
216         * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
217         file and the reference symbol file to be the same file.
218
219 2005-03-29  Thomas Quinot  <quinot@adacore.com>
220
221         * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
222         forbid conversion of a local access-to-subprogram type to a remote one.
223
224         * sem_util.adb (Wrong_Type): For a record type that is the expanded
225         equivalent type for a remote access-to-subprogram type, go back to the
226         original RAS entity when displaying an error message, so the casing is
227         the original source casing.
228
229 2005-03-29  Robert Dewar  <dewar@adacore.com>
230
231         * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
232         on param update.
233
234 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
235
236         * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
237         subtype if code is being pre-analyzed, to prevent un-expanded
238         references to protected formals, among others.
239         (Analyze_Explicit_Dereference): If the overloaded prefix includes some
240         interpretation that can be a call, include the result of the call as a
241         possible interpretation of the dereference.
242
243         * sem_ch5.adb (Process_Bounds): Determine type of range by
244         pre-analyzing a copy of the original range, and then analyze the range
245         with the expected type.
246
247         * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
248         with an overloaded prefix where not all interpretations yield an
249         access to subprogram, do not rewrite node as a call.
250         (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
251         the node as a call once the context identifies the interpretation of
252         the prefix whose call yields the context type.
253         (Valid_Conversion): For the case of a conversion between
254         local access-to-subprogram types, check subtype conformance using
255         Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
256         detailed error message.
257
258 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
259
260         * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
261         indicator, indicate that the formal can never be null.
262         (Process_Formals): If a formal has a non_null indicator, insert the
263         resulting subtype immediately before the enclosing subprogram decl,
264         and not at the beginning of the corresponding declarative part, to
265         prevent access before elaboration (Ada2005).
266
267 2005-03-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
268
269         PR ada/19956
270         * utils.c (finish_record_type): Use variable_size when setting sizes.
271
272 2005-03-29  Robert Dewar  <dewar@adacore.com>
273
274         * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
275         guarantee Unix style line terminators for the output files, even when
276         running on windows.
277
278 2005-03-29  Robert Dewar  <dewar@adacore.com>
279
280         * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
281         buffer if an exception is raised.
282
283 2005-03-29  Ed Falis  <falis@adacore.com>
284
285         * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
286         VxWorks 653 1.4
287
288 2005-03-29  Robert Dewar  <dewar@adacore.com>
289
290         * sem_util.ads: Minor reformatting
291         * gnat_rm.texi: Minor editing.
292
293 2005-03-29  Eric Botcazou  <ebotcazou@adacore.com>
294
295         * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
296         * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
297
298 2005-03-24  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
299
300         * adaint.c (__gnat_portable_spawn): Adjust cast.
301
302 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
303
304         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
305
306 2005-03-17  Pascal Obry  <obry@adacore.com>
307
308         * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
309         used.
310
311         * expect.c (__gnat_waitpid): Moved here from adaint.c.
312         Reimplement under Win32 using Win32 API.
313
314         (__gnat_kill) [Win32]: Properly close the process handle before leaving
315         this routine.
316
317 2005-03-17  Eric Botcazou  <ebotcazou@adacore.com>
318
319         * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
320         (DECL_RENAMED_OBJECT): New accessor macro.
321         (SET_DECL_RENAMED_OBJECT): New setter macro.
322
323         * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
324         object in all cases.  Attach the renamed object to the VAR_DECL.
325         (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
326         field is not prescribed.
327
328         * misc.c (gnat_handle_option): Handle -gnatO separately.
329         (gnat_print_decl) <VAR_DECL>: New case.
330         Print the DECL_RENAMED_OBJECT node.
331
332         * lang.opt:  Declare separate -gnatO option.
333
334         * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
335         pointer, replace it with the renamed object.
336         <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
337         pointer type if the source is not a fat pointer type whose underlying
338         array has the same non-zero alias set as that of the destination array.
339
340 2005-03-17  Javier Miranda  <miranda@adacore.com>
341
342         * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
343         (Get_Inheritance_Depth): Removed.
344         (Set_Inheritance_Depth): Removed.
345
346         * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
347         subprogram Get_Expanded_Name because it is not referenced by the
348         frontend.
349
350         * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
351         (CPP_Get_Inheritance_Depth): Removed.
352         (CPP_Set_Inheritance_Depth): Removed.
353
354         * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
355
356 2005-03-17  Robert Dewar  <dewar@adacore.com>
357
358         * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
359         3, since we now expect GCC 3 to do all the work.
360
361 2005-03-17  Javier Miranda  <miranda@adacore.com>
362
363         * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
364         of one barrier to avoid wrong usage of this attribute.
365
366         * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
367         First_Private_Entity.
368
369         * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
370         the subprogram against wrong usage.
371         Adapt the code to traverse the entities in the
372         scope of a record_type because in addition to its usage regarding
373         packages, this subprogram is also called by Expand_N_Freeze_Entity
374         to install the visible declarations of the enclosing scope of a
375         record_type_with_private to establish the proper visibility before
376         freezing the entity and related subprograms.
377
378 2005-03-17  Ed Schonberg  <schonberg@adacore.com>
379
380         * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
381         entry formals.
382
383 2005-03-17  Thomas Quinot  <quinot@adacore.com>
384
385         * exp_ch3.adb (Check_Attr): New subprogram.
386         (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
387         into a new Check_Attr subprogram, in order to provide a more
388         explanatory error message (including the name of the missing attribute).
389         (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
390         subprogram determines whether a default implementation exists for a
391         given stream attribute.
392         (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
393         Determine whether to generate a default implementation for each stream
394         attribute separately, as this depends on the specific attribute.
395
396         * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
397         limited extension where a stream attribute is missing for a limited
398         component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
399         generate a bogus reference to the missing attribute to prevent
400         cascaded errors. Instead, generate a null statement.
401
402         * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
403         available for a limited type if it has been specified for an ancestor
404         of the type.
405
406 2005-03-17  Ed Schonberg  <schonberg@adacore.com>
407
408         * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
409         entity is an operator.
410
411 2005-03-17  Thomas Quinot  <quinot@adacore.com>
412
413         * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
414         spec, to make this predicate available to other units.
415
416         * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
417         reimplementing it.
418
419         * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
420         when no distribution runtime library is available.
421
422         * sem_res.adb, sem_dist.adb: Disable expansion of remote
423         access-to-subprogram types when no distribution runtime library is
424         available.
425         (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
426         predicate available to other units.
427
428         * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
429         spec, to make this predicate available to other units.
430
431 2005-03-17  Vincent Celier  <celier@adacore.com>
432
433         * make.adb (Insert_Project_Sources): Make sure the Q is always
434         initialized.
435
436         * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
437         the default for the tree, not the global default naming.
438
439         * prj-proc.adb (Recursive_Process): No need to put the default naming
440         in the project data, it's already there.
441
442 2005-03-17  Doug Rupp  <rupp@adacore.com>
443
444         * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
445
446         * 5xcrtl.ads: Renamed to...
447         * s-crtl-vms64.ads: ...this new file
448
449 2005-03-17  Robert Dewar  <dewar@adacore.com>
450
451         PR ada/19519
452
453         * namet.adb (Copy_One_Character): Set proper wide character encoding
454         for upper half character if we have upper half encoding.
455
456 2005-03-17  Robert Dewar  <dewar@adacore.com>
457
458         * par.adb (Par): Improved msg for attempt to recompile predefined unit
459
460 2005-03-17  Thomas Quinot  <quinot@adacore.com>
461
462         * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
463         tagged limited type, the TSS is a newly built renaming declaration:
464         insert it using Set_TSS, not Copy_TSS.
465
466 2005-03-17  Javier Miranda  <miranda@adacore.com>
467
468         * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
469         Try_Object_Operation): Analyze the object that is accessible
470         through the prefix of the subprogram call before we apply
471         the transformation of the object-operation notation.
472
473 2005-03-17  Jose Ruiz  <ruiz@adacore.com>
474
475         * s-taprob.adb (Initialize_Protection): Initialize the protected
476         object's owner to Null_Task.
477         (Lock): If pragma Detect_Blocking is in effect and the caller of this
478         procedure is already the protected object's owner then Program_Error
479         is raised. In addition the protected object's owner is updated.
480         (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
481         of this procedure is already the protected object's owner then
482         Program_Error is raised.
483         In addition the protected object's owner is updated.
484         (Unlock): Remove the ownership of the protected object.
485
486         * s-taprob.ads (Protection): Add the field Owner, used to store the
487         protected object's owner.
488         This component is needed for detecting one type of potentially blocking
489         operations (external calls on a protected subprogram with the same
490         target object as that of the protected action). Document the rest of
491         the components.
492
493         * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
494         Initialize the protected object's owner to Null_Task.
495         (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
496         caller of this procedure is already the protected object's owner then
497         Program_Error is raised.
498         Do not raise Program_Error when this procedure is called from a
499         protected action.
500         (Unlock_Entries): Remove the ownership of the protected object.
501         (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
502         of this procedure is already the protected object's owner then
503         Program_Error is raised.
504         Do not raise Program_Error when this procedure is called from
505         a protected action.
506
507         * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
508         used to store the protected object's owner.
509
510         * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
511         effect and this procedure (a potentially blocking operation) is called
512         from whithin a protected action, Program_Error is raised.
513         (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
514         and this procedure (a potentially blocking operation) is called from
515         whithin a protected action, Program_Error is raised.
516
517 2005-03-17  Vincent Celier  <celier@adacore.com>
518             Nicolas Setton  <setton@adacore.com>
519
520         * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
521         switch, not supported by the linker on Darwin. Add '_' before
522         <library>init, as this character is added unconditionally by the
523         compiler.
524         (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
525         correct one ".dylib". This fixes detection of the archive files when
526         building library projects.
527
528 2005-03-17  Vincent Celier  <celier@adacore.com>
529
530         * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
531         -gnat83, -gnat95 and -gnat05.
532
533 2005-03-17  Vasiliy Fofanov  <fofanov@adacore.com>
534
535         * gnat_ugn.texi: Document gnatmem restriction
536
537 2005-03-17  Thomas Quinot  <quinot@adacore.com>
538
539         * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
540         cleanup
541
542 2005-03-17  Robert Dewar  <dewar@adacore.com>
543
544         * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
545         a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
546         s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
547
548         * casing.adb: Comment improvements
549
550 2005-03-17  Pascal Obry  <obry@adacore.com>
551
552         * g-expect.adb: Minor reformatting.
553
554 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
555
556         * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
557         (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
558         to dependencies.
559
560 2005-03-15  Vincent Celier  <celier@adacore.com>
561
562         * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
563         Add new parameter In_Tree to specify the project tree: needed
564         by the project manager. Adapt to changes in project manager
565         using new parameter In_Tree.
566
567 2005-03-15  Jakub Jelinek  <jakub@redhat.com>
568
569         * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
570         ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
571         ada/bldtools to avoid make -jN failures.
572
573 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
574
575         * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
576         to NULL_TREE on entry.
577
578 2005-03-15  Robert Dewar  <dewar@adacore.com>
579
580         * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
581         system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
582         system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
583         system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
584         system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
585         system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
586         system-interix.ads, system-solaris-sparc.ads,
587         system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
588         system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
589         system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
590         system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
591         system-linux-s390.ads, system-linux-s390x.ads: Add line defining
592         Compiler_System_Version to be False.
593
594         * opt.ads: Add new flag Opt.Address_Is_Private
595
596         * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
597         Add new parameter Compiler_System_Version to avoid checking for
598         completeness of parameters when compiler is compiling itself.
599         Allows old versions of GNAT to be compiled with new compiler.
600
601 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
602
603         * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
604         (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
605         calling thread.
606         (Stack_Base_Available): New flag.
607         (Get_Page_Size): New overloaded functions imported from C.
608         (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
609         PROT_ON, PROT_OFF): New constants.
610         (mprotect): New function imported from C.
611         (pthread_teb_t): New record type.
612
613         * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
614         (Create_Task): Account for the Yellow Zone and the guard page.
615
616 2005-03-15  Vincent Celier  <celier@adacore.com>
617
618         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
619         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
620         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
621         mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
622         Library_File_Name_For): Add new parameter In_Tree
623         to specify the project tree: needed by the project manager.
624         Adapt to changes in project manager using new parameter In_Tree.
625         Remove local imports, use functions in System.CRTL.
626
627         * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
628         to use the project manager.
629
630         * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
631         In_Tree to designate the project tree. Adapt to changes in the project
632         manager, using In_Tree.
633
634         * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
635         Copy_Interface_Sources): Add new parameter In_Tree to specify the
636         project tree: needed by the project manager.
637         (Build_Library): Check that Arg'Length >= 6 before checking if it
638         contains "--RTS=...".
639
640         * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
641         Library_File_Name_For): Add new parameter In_Tree to specify the
642         project tree: needed by the project manager.
643
644         * prj.ads, prj.adb: Major modifications to allow several project trees
645         in memory at the same time.
646         Change tables to dynamic tables and hash tables to dynamic hash
647         tables. Move tables and hash tables from Prj.Com (in the visible part)
648         and Prj.Env (in the private part). Move some constants from the visible
649         part to the private part. Make other constants deferred.
650         (Project_Empty): Make it a variable, not a function
651         (Empty_Project): Add parameter Tree. Returns the data with the default
652         naming data of the project tree Tree.
653         (Initialize): After updating Std_Naming_Data, copy its value to the
654         component Naming of Project Empty.
655         (Register_Default_Naming_Scheme): Use and update the default naming
656         component of the project tree, instead of the global variable
657         Std_Naming_Data.
658         (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
659         Tree is not defaulted, return the default naming data of the Tree.
660         (Initial_Buffer_Size): Constant moved from private part
661         (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
662         variables initialized in procedure Initialize.
663         (Add_To_Buffer): Add two in out parameters to replace global variables
664         Buffer and Buffer_Last.
665         (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
666         functions.
667         Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
668         hash tables.
669         (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
670         for the project tree.
671         (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
672         constant at the beginning of the package spec, so that they cane be used
673         in subprograms before their full declarations.
674         (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
675         (Empty_Project): Add parameter of type Project_Node_Ref
676         (Private_Project_Tree_Data): Add component Default_Naming of type
677         Naming_Data.
678         (Buffer, Buffer_Last): remove global variables
679         (Add_To_Buffer): Add two in out parameters to replace global variables
680         Buffer and Buffer_Last.
681         (Current_Packages_To_Check): Remove global variable
682         (Empty_Name): Move to private part
683         (No-Symbols): Make it a constant
684         (Private_Project_Tree_Data): New type for the private part of the
685         project tree data.
686         (Project_Tree_Data): New type for the data of a project tree
687         (Project_Tree_Ref): New type to designate a project tree
688         (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
689         for the project tree.
690
691         * prj-attr.ads: Add with Table; needed, as package Prj no longer
692         imports package Table.
693
694         * prj-com.adb: Remove empty, no longer needed body
695
696         * prj-com.ads: Move most of the content of this package to package Prj.
697
698         * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
699         designate the project node tree and Packages_To_Check to replace
700         global variable Current_Packages_To_Check.
701         Add new parameters In_Tree and Packages_To_Check to local subprograms,
702         when needed. Adapt to changes in project manager with project node tree
703         In_Tree.
704
705         * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
706         project tree to most subprograms. Move tables and hash tables to
707         private part of package Prj.
708         Adapt to changes in project manager using project tree In_Tree.
709
710         * prj-makr.adb (Tree): New constant to designate the project node tree
711         Adapt to change in project manager using project node tree Tree
712
713         * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
714         display the Library_Src_Dir and the Library_Dir.
715         Add new parameter In_Tree to designate the project node tree to most
716         subprograms. Adapt to changes in the project manager, using project tree
717         In_Tree.
718         (Check_Naming_Scheme): Do not alter the casing on platforms where
719         the casing of file names is not significant.
720         (Check): Add new parameter In_Tree to designate the
721
722         * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
723         designate the project tree.
724         Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
725
726         * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
727         to replace those that were in the private part of package Prj.
728         Add new parameter In__Tree to designate the project node tree to most
729         subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
730         (Post_Parse_Context_Clause): When specifying the project node of a with
731         clause, indicate that it is a limited with only if there is "limited"
732         in the with clause, not necessarily when In_Limited is True.
733         (Parse): Add new parameter In_Tree to designate the project node tree
734
735         * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
736         designate the project node tree. Adapt to change in Prj.Tree with
737         project node tree In_Tree.
738
739         * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
740         tree In_Tree in the call to function Empty_Process to give its initial
741         value to the project data Processed_Data.
742         Add new parameters In_Tree to designate the project tree and
743         From_Project_Node_Tree to designate the project node tree to several
744         subprograms. Adapt to change in project manager with project tree
745         In_Tree and project node tree From_Project_Node_Tree.
746
747         * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
748         to replace those that were in the private part of package Prj.
749         Add new parameter In_Tree to designate the project node tree to most
750         subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
751
752         * prj-tree.ads, prj-tree.adb: Add new parameter of type
753         Project_Node_Tree_Ref to most subprograms.
754         Use this new parameter to store project nodes in the designated project
755         node tree.
756         (Project_Node_Tree_Ref): New type to designate a project node tree
757         (Tree_Private_Part): Change table to dynamic table and hash tables to
758         dynamic hash tables.
759
760         * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
761         the project tree to most subprograms. Adapt to changes in project
762         manager using project tree In_Tree.
763
764         * makegpr.adb (Project_Tree): New constant needed to use project
765         manager.
766
767 2005-03-15  Olivier Hainque  <hainque@adacore.com>
768
769         * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
770         for sigactions with SA_SIGINFO set. Call
771         __gnat_adjust_context_for_raise before raising, to perform the
772         potentially required adjustments to the machine context for the GCC
773         unwinder.
774
775         * raise.h (__gnat_adjust_context_for_raise): New prototype.
776
777         * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
778         Adjust PC by one in the provided machine context.
779         (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
780         so that the handler is passed the context structure to adjust prior to
781         the raise.
782         (__gnat_error_handler) HPUX: Adjust the signature to match what an
783         SA_SIGINFO sigaction should look like. Call
784         __gnat_adjust_context_for_raise before actually raising.
785         (__gnat_adjust_context_for_raise): Default noop to help PC
786         adjustments before raise from signal handlers.
787         (__gnat_error_handler): Indirectly call a predicate function to
788         determine if a condition should be resignaled or not.
789         (__gnat_set_resignal_predicate): User interface to modify the predicate.
790         (__gnat_default_resignal_p): Default GNAT predicate.
791
792 2005-03-15  Doug Rupp  <rupp@adacore.com>
793
794         * adaint.c: Prefix #include of VMS system header files with vms/
795         [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
796         Do not define a dummy function "convert_addresses" under Darwin,
797         not needed.
798
799         * tb-alvms.c, expect.c: Prefix #include of VMS system header files
800         with vms/
801
802 2005-03-15  Nicolas Setton  <setton@adacore.com>
803
804         * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
805         PPC/AIX.
806
807 2005-03-15  Robert Dewar  <dewar@adacore.com>
808
809         * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
810         AI-386.
811
812         * a-retide.ads: Minor comment changes
813
814 2005-03-15  Robert Dewar  <dewar@adacore.com>
815
816         * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
817         a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
818         Realloc_For_Chunk to private part of package.
819         New subprograms for AI-301
820
821         * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
822         Get_Line procedure.
823         Avoid unnecessary use of Get/Set_Wide_String
824
825 2005-03-15  Robert Dewar  <dewar@adacore.com>
826
827         PR ada/13470
828
829         * a-stunau.ads, a-stunau.adb:
830         Change interface to allow efficient (and correct) implementation
831         The previous changes to allow extra space in unbounded strings had
832         left this interface a bit broken.
833
834         * a-suteio.adb: Avoid unnecessary use of Get/Set_String
835
836         * g-spipat.ads, g-spipat.adb: New interface for Get_String
837         Minor reformatting (function specs)
838
839         * g-spitbo.adb: New interface for Get_String
840
841         * g-spitbo.ads: Minor reformatting
842
843         * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
844
845         * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
846
847 2005-03-15  Javier Miranda  <miranda@adacore.com>
848             Robert Dewar  <dewar@adacore.com>
849             Thomas Quinot  <quinot@adacore.com>
850             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
851
852         * atree.ads, atree.adb: Add support for Elist24 field
853
854         * atree.h: Fix wrong definition of Field27
855         Add support for Elist16 field
856         Add support for Elist24 field
857
858         * einfo.ads, einfo.adb (Abstract_Interfaces,
859         Set_Abstract_Interfaces): New subprograms.
860         (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
861         subprograms.
862         (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
863         entities rather than a single node.
864         (Is_Interface, Set_Is_Interface): New subprogram
865         (First_Tag_Component): New syntesized attribute
866         (Next_Tag_Component): New synthesized attribute
867         (Write_Entity_Flags): Upgraded to write Is_Interface
868         (Write_Field24_Name): Upgraded to write Abstract_Interfaces
869         (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
870         (Task_Body_Procedure): New subprogram to read this attribute.
871         (Set_Task_Body_Procedure): New subprogram to set this attribute.
872         (Has_Controlled_Component): Now applies to all entities.
873         This is only a documentation change, since it always worked to apply
874         this to other than composite types (yielding false), but now this is
875         official.
876         Update documentation on Must_Be_Byte_Aligned for new spec
877
878         * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
879         exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
880         uses of the Access_Disp_Table attribute to reference the first dispatch
881         table associated with a tagged type. As
882         part of the implementation of abstract interface types,
883         Access_Disp_Table has been redefined to contain a list of dispatch
884         tables (rather than a single dispatch table).
885         Similarly, upgrade all the references to Tag_Component by the
886         new attribute First_Tag_Component.
887         (Find_Inherited_TSS): Moved to exp_tss.
888         Clean up test in Expand_N_Object_Declaration for cases
889         where we need to do a separate assignment of the initial value.
890         (Expand_N_Object_Declaration): If the expression in the
891         declaration of a tagged type is an aggregate, no need to generate an
892         additional tag assignment.
893         (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
894         is to be deleted.
895         Bit packed array ops are only called if operands are known to be
896         aligned.
897         (Component_Equality): When returning an N_Raise_Program_Error statement,
898         ensure that its Etype is set to Empty to avoid confusing GIGI (which
899         expects that only expressions have a bona fide type).
900         (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
901         determine the amount of data to be copied.
902
903         * par.adb (P_Interface_Type_Definition): New subprogram that parses the
904         new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
905             INTERFACE_TYPE_DEFINITION ::=
906               [limited | task | protected | synchronized] interface
907                 [AND interface_list]
908
909         * par-ch3.adb (P_Type_Declaration): Modified to give support to
910         interfaces.
911         (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
912         interfaces.
913         (P_Interface_Type_Definition): New subprogram that parses the new
914         syntax rule of Ada 2005 interfaces
915         (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
916         messages by the correct RENAMES (quotes removed).
917
918         * sem_prag.adb: Upgrade all the references to Tag_Component by the new
919         attribute First_Tag_Component.
920
921         * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
922         (Interface_List, Set_Interface_List): New subprograms.
923         (Interface_Present, Set_Interface_Present): New subprograms.
924         (Limited_Present, Set_Limited_Present): Available also in derived
925         type definition nodes.
926         (Protected_Present, Set_Protected_Present): Available also in
927         record type definition and
928         derived type definition nodes.
929         (Synchronized_Present, Set_Synchronized_Present): New subprograms.
930         (Task_Present, Set_Task_Present): New subprogram.
931         (Task_Body_Procedure): Removed.
932         (Set_Task_Body_Procedure): Removed.
933         These subprogram have been removed because the attribute
934         Task_Body_Procedure has been moved to the corresponding task type
935         or task subtype entity to leave a field free to store the list
936         of interfaces implemented by a task (for AI-345)
937         Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
938         (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
939         expression flag Do_Range_Check
940         (Exception_Junk): Change to Flag7 to accomodate above change
941         (Box_Present, Default_Name, Specification, Set_Box_Present,
942         Set_Default_Name, Set_Specification): Expand the expression
943         "X in N_Formal_Subprogram_Declaration" into the corresponding
944         two comparisons. Required to use the csinfo tool.
945
946         * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
947         "with string" given.
948
949         * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
950         expression given.
951
952         * par-ch11.adb (P_Raise_Statement): Recognize with string expression
953         in 2005 mode
954
955         * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
956         attribute Task_Body_Procedure rather than the old semantic field that
957         was available in the task_type_declaration node.
958
959         * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
960         interface type definitions.
961         (P_Formal_Derived_Type_Definition): Modified to handle the list of
962         interfaces.
963
964         * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
965         task type declaration.
966         (P_Protected): Modified to handle the list of interfaces in a
967         protected type declaration.
968
969 2005-03-15  Doug Rupp  <rupp@adacore.com>
970             Vincent Celier  <celier@adacore.com>
971
972         * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
973         (Gen_Output_File_C): Likewise.
974         (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
975
976 2005-03-15  Thomas Quinot  <quinot@adacore.com>
977
978         * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
979         is an N_Raise_Constraint_Error node, create a new copy of it without
980         going through a call to Duplicate_Subexpr.
981
982 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
983             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
984             Nicolas Setton  <setton@adacore.com>
985             Ed Schonberg  <schonberg@adacore.com>
986
987         PR ada/19900
988         PR ada/19408
989         PR ada/19140
990         PR ada/20255
991
992         * decl.c (gnat_to_gnu_field): Reject aliased components with a
993         representation clause that prescribes a size not equal to the rounded
994         size of their types.
995         (gnat_to_gnu_entity, case E_Component): Always look at
996         Original_Record_Component if Present and not the entity.
997         (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
998         of tagged extension types by not making field for components that are
999         inside the parent.
1000         (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
1001         (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
1002         expression to the type of the object when the object is constant.
1003         Reverse defer_debug_incomplete_list before traversing it, so that trees
1004         are processed in the order at which they were added to the list. This
1005         order is important when using the stabs debug format.
1006         If we are deferring the output of debug information, also defer this
1007         output for a function return type.
1008         When adding fields to a record, prevent emitting debug information
1009         for incomplete records, emit the information only when the record is
1010         complete.
1011         (components_to_record): New parameter defer_debug.
1012         (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
1013         (gnat_to_gnu_field_decl): New function.
1014         (substitution_list, annotate_rep): Call it.
1015         (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
1016         (gnat_to_gnu_entity, case E_Record_Type): Likewise.
1017         No longer update discriminants to not be a COMPONENT_REF.
1018         (copy_alias_set): Strip padding from input type; also handle
1019         unconstrained arrays properly.
1020
1021         * gigi.h (write_record_type_debug_info): New function.
1022         Convert to use ANSI-style prototypes. Remove unused
1023         declarations for emit_stack_check, elab_all_gnat and
1024         set_second_error_entity.
1025         (gnat_to_gnu_field_decl): New decl.
1026
1027         * utils.c (write_record_type_debug_info): New function.
1028         (finish_record_type): Delegate generation of debug information to
1029         write_record_type_debug_info.
1030         (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
1031         (update_pointer_to): Fix pasto.
1032         (convert) <UNION_TYPE>: Accept slight type variations when
1033         converting to an unchecked union type.
1034
1035         * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
1036         replace the N_Freeze_Entity with a null statement.
1037
1038         * freeze.adb (Freeze_Expression): If the freeze nodes are generated
1039         within a constrained subcomponent of an enclosing record, place the
1040         freeze nodes in the scope stack entry for the enclosing record.
1041         (Undelay_Type): New Subprogram.
1042         (Set_Small_Size): Pass T, the type to modify; all callers changed.
1043         (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
1044         within records; allow them to have freeze nodes if their base types
1045         aren't frozen yet.
1046
1047         * exp_util.adb (Remove_Side_Effects): Properly test for
1048         Expansion_Delayed and handle case when it's inside an
1049         N_Qualified_Expression.
1050
1051         * sem_ch3.adb (Derived_Type_Declaration): New predicate
1052         Comes_From_Generic, to recognize accurately that the parent type in a
1053         derived type declaration can be traced back to a formal type, because
1054         it is one or is derived from one, or because its completion is derived
1055         from one.
1056         (Constrain_Component_Type): If component comes from source and has no
1057         explicit constraint, no need to constrain in in a subtype of the
1058         enclosing record.
1059         (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
1060         Minor change to propagate Is_Ada_2005 flag
1061
1062         * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
1063         Expansion_Delayed is False.
1064         (assoc_to_constructor): Ignore fields that have a
1065         Corresponding_Discriminant.
1066         (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
1067         function returns "by target", dereference the target pointer using the
1068         type of the actual return value.
1069         <all>: Be prepared for a null gnu_result.
1070         (processed_inline_subprograms): Check flag_really_no_inline
1071         instead of flag_no_inline.
1072         (set_second_error_entity): Remove unused function.
1073         (gnat_to_gnu, case N_Selected_Component): Call
1074         gnat_to_gnu_field_decl.
1075         (assoc_to_constructor): Likewise.
1076
1077 2005-03-15  Robert Dewar  <dewar@adacore.com>
1078             Ed Schonberg  <schonberg@adacore.com>
1079             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1080
1081         * exp_pakd.adb (Create_Packed_Array_Type): Do not set
1082         Must_Be_Byte_Aligned for cases where we do not need to use a
1083         System.Pack_nn unit.
1084
1085         * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
1086         as procedures.
1087         Needed now that we do some processing for IN parameters as well. This
1088         may well fix some unrelated errors.
1089         (Expand_Call): Handle case of unaligned objects (in particular those
1090         that come from packed arrays).
1091         (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
1092         renamed entity is an inherited operation, re-expand the call using the
1093         original operation, which is the one to call.
1094         Detect attempt to inline parameterless recursive subprogram.
1095         (Represented_As_Scalar): Fix to work properly with private types
1096         (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
1097         accurate estimate. Yields True in far fewer cases than before,
1098         improving the quality of code that depends on this test.
1099
1100         * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
1101         over both visible and private declarations to remove them from tree,
1102         and mark subprograms declared in package as eliminated, to prevent
1103         spurious use in subsequent compilation of generic units in the context.
1104
1105         * exp_util.ads: Minor cleanup in variable names
1106
1107         * sem_eval.ads, sem_eval.adb: Minor reformatting
1108         (Compile_Time_Known_Bounds): New function
1109
1110 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
1111
1112         * exp_ch7.adb (Convert_View): Use base types of underlying types when
1113         determining whether an unchecked conversion is needed for the argument
1114         of an initialization call.
1115
1116 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
1117
1118         * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
1119         that appears in the instantiation rather than the internal subtype
1120         generated in the wrapper package, to avoid anomalies in gigi when the
1121         target is derived from a private type whose full view is an access type.
1122
1123 2005-03-15  Robert Dewar  <dewar@adacore.com>
1124
1125         * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
1126         not needed.
1127         Add documentation to replace the use of this flag
1128         Fix kludge for Maximum_Alignment on x86 so that it does not apply to
1129         the x86_64.
1130
1131 2005-03-15  Thomas Quinot  <quinot@adacore.com>
1132
1133         * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
1134         here from exp_attr so it can be shared between exp_attr and exp_dist.
1135         (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
1136         all TSS names, not a subset thereof, and the previous name introduced
1137         an unnecessarily confusion that a distinction might exist between
1138         "OK" TSS names and some "not OK" TSS names.
1139
1140 2005-03-15  Doug Rupp  <rupp@adacore.com>
1141
1142         * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
1143         Command_Name.
1144
1145 2005-03-15  Pascal Obry  <obry@adacore.com>
1146             Eric Botcazou  <ebotcazou@adacore.com>
1147
1148         PR ada/20226
1149         PR ada/20344
1150
1151         * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
1152         when IN_RTS. This is to work around a bootstrap path problem.
1153
1154         * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
1155         table and pass it to __gnat_install_SEH_handler().
1156         (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
1157
1158         * lang.opt: Fix specification of -fRTS=.
1159
1160 2005-03-15  Doug Rupp  <rupp@adacore.com>
1161             Bernard Banner  <banner@adacore.com>
1162             Vincent Celier  <celier@adacore.com>
1163             Arnaud Charlet  <charlet@adacore.com>
1164
1165         PR ada/6852
1166         This change works fine when gnatlib is built from the gcc directory,
1167         but does not work when using the libada Makefile, since GCC_FOR_TARGET
1168         is not passed to ada/Makefile.in, so more work is needed by a
1169         Makefile/configure expert.
1170
1171         * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
1172         set GMEM_LIB on ia64 linux to add optional support for gnatmem.
1173         Setup gnatlink switch -M for x86_64 linux, as it is already setup
1174         for Linux x86.
1175         (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
1176         Run ranlib on libgccprefix.a
1177         Define PREFIX_OBJS for Darwin, to build libgccprefix.
1178         (ADA_INCLUDE_SRCS): Split Ada packages.
1179
1180 2005-03-15  Robert Dewar  <dewar@adacore.com>
1181
1182         * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
1183
1184         * impunit.adb: Add GNAT.UTF_32
1185
1186         * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
1187
1188         * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
1189         now uses GNAT.UTF_32).
1190
1191         * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
1192         capabilities for categorizing characters using Unicode categories
1193
1194 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
1195
1196         * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
1197         instantiation that has been rewritten as a package body, retrieve spec
1198         to generate proper name for implicit_with_clause.
1199         (Install_Parents): Recognize a parent that is an instantiation but has
1200         been rewritten as a package declaration during analysis.
1201
1202 2005-03-15  Javier Miranda  <miranda@adacore.com>
1203             Ed Schonberg  <schonberg@adacore.com>
1204
1205         * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
1206         parameter reported some error we immediately return. This improves the
1207         behaviour of the frontend in case of errors.
1208         (Install_Parent, Remove_Parent): Introduce new flag
1209         Parent_Unit_Visible, to preserve the proper visibility of the ultimate
1210         ancestor of a generic child unit, when the child is being instantiated.
1211         (Inline_Instance_Body): If we are compiling the private
1212         part or the body of a child unit, restore the proper visibility of the
1213         parents after compiling the instance body.
1214
1215 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
1216             Javier Miranda  <miranda@adacore.com>
1217
1218         PR ada/15608
1219         * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
1220         of a private type, in which case it is underlying_type that denotes
1221         the proper task. Also modified to use the new entity attribute
1222         that is directly available in the task type and task subtype entities
1223         (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
1224         arrays when other dimensions than the first are constrained by
1225         discriminants of an enclosing record.
1226         (Insert_Explicit_Dereference): If the prefix is an indexed component or
1227         a combination of indexed and selected components, find ultimate entity
1228         and generate the appropriate reference for it, to suppress spurious
1229         warnings.
1230         (Note_Possible_Modification): If an entity name has no entity, return.
1231         (Is_Variable): A function call never denotes a variable.
1232         (Requires_Transient_Scope): For record types, recurse only on
1233         components, not on internal subtypes that may have been generated for
1234         constrained components.
1235
1236 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
1237
1238         * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
1239         Eliminated as candidates for resolution. Both efficient, and avoids
1240         anomalies with operators declared in deleted code.
1241         (Process_Implicit_Dereference_Prefix): Use this procedure whenever
1242         expansion is disabled (as when compiling a generic) to prevent spurious
1243         warnings on prefixes of selected components.
1244
1245 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
1246
1247         * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
1248         attached to a list before checking whether it appears in the private
1249         declarations of the current package.
1250         (Make_Inequality_Operator): Insert declaration in proper declarative
1251         list rather than just setting the Parent field, so that
1252         Is_Private_Declaration can handle it properly.
1253
1254 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
1255
1256         * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
1257         a renaming a body, check that the renamed subprogram in not intrinsic.
1258         (Find_Direct_Name): If several use_visible entities hide
1259         each other, and the context is a predefined file compiled through
1260         rtsfind, keep only the entity that comes from a predefined file.
1261
1262 2005-03-15  Geert Bosch  <bosch@adacore.com>
1263
1264         * s-fatgen.adb (Valid): Extend special exceptions to account for long
1265         long float padding to also cover AMD64 and IA64.
1266
1267 2005-03-15  Gary Dismukes  <dismukes@adacore.com>
1268
1269         * s-imgwch.adb: Add with and use of Interfaces.
1270         (Img_Wide_Character): Change type of Val to Unsigned_16.
1271         (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
1272
1273 2005-03-15  Matthew Gingell  <gingell@adacore.com>
1274
1275         * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
1276
1277 2005-03-15  Robert Dewar  <dewar@adacore.com>
1278
1279         * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
1280
1281         * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
1282
1283         * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
1284
1285 2005-03-15  Robert Dewar  <dewar@adacore.com>
1286
1287         * s-bitops.adb, s-bitops.ads,
1288         s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
1289         s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
1290         tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
1291         s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
1292         s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
1293         s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
1294         s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
1295         s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
1296         reformatting.
1297
1298 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
1299
1300         * utils2.c (build_binary_op): Fix typo.
1301
1302 2005-03-15  Doug Rupp  <rupp@adacore.com>
1303
1304         * s-crtl.ads (popen,pclose): New imports.
1305
1306 2005-03-15  Cyrille Comar  <comar@adacore.com>
1307
1308         * comperr.adb (Compiler_Abort): remove references to obsolete
1309         procedures in the bug boxes for various GNAT builds.
1310
1311 2005-03-15  Vincent Celier  <celier@adacore.com>
1312
1313         * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
1314
1315 2005-03-15  Geert Bosch  <bosch@adacore.com>
1316             Arnaud Charlet  <charlet@adacore.com>
1317             Robert Dewar  <dewar@adacore.com>
1318             Cyrille Comar  <comar@adacore.com>
1319             Sergey Rybin  <rybin@adacore.com>
1320
1321         * gnat_ugn.texi: Remove extended inline assembly example, as it was far
1322         too specific and long-winded to be appropriate for the GNAT User's
1323         Guide.
1324         Warn about use of GCC switches not documented in the GNAT User's Guide,
1325         as these may cause generated code to not conform to Ada semantics.
1326         Remove mention of -gdwarf-2 for sparc64, since this is now the default.
1327         Add documentation for -gnat95 and -gnat05 switches
1328         Remove paragraph documenting obsolete way to refer to third party
1329         libraries.
1330         Add a few references to Ada_05 that were missing.
1331         Update documentation on -gnatZ/-gnatL.
1332         Document limitation when using -m64 under Solaris.
1333         Change the "Name Casing" subsection of the pretty-printer section
1334         according to the changes in the dictionary processing.
1335
1336         * gnat_rm.texi: Document the Ada_05 pragma.
1337         Section on record representation clauses describes the new more
1338         relaxed rules about placement of large packed bit array components.
1339         Add documentation of GNAT.UTF_32
1340
1341 2005-03-12  Daniel Berlin <dberlin@dberlin.org>
1342
1343         * misc.c (gnat_post_options): Turn off structural
1344         aliasing for now.
1345
1346 2005-03-08  Laurent Guerby <laurent@guerby.net>
1347
1348         * system-linux-sparc.ads: Fix typo in previous commit.
1349
1350 2005-03-07  James A. Morrison <phython@gcc.gnu.org>
1351             Laurent Guerby <laurent@guerby.net>
1352
1353         PR ada/20035
1354         * system-linux-sparc.ads: New.
1355         * Makefile.in: Add sparc linux entry.
1356
1357 2005-02-27  Danny Smith  <dannysmith@users.sourceforge.net>
1358
1359         * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
1360         parameters as unused.
1361
1362 2005-02-26  Nathanael Nerode  <neroden@gcc.gnu.org>
1363         Partial merge from libada-gnattools-branch:
1364
1365         2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
1366         * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
1367         into code in gnattools/Makefile.in.  Remove direct dependencies on
1368         stamp-tools by tools clauses.
1369         2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
1370         * config-lang.in: Add gnattools to $lang_dirs.
1371
1372 2005-02-13  Andrew Pinski  <pinskia@physics.uc.edu>
1373
1374         PR ada/19942
1375         * utils.c (gnat_type_for_mode): Return null instead of ICE because
1376         we asked for an unknown mode.
1377
1378 2005-02-12  Richard Henderson  <rth@redhat.com>
1379
1380         * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
1381         validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
1382
1383 2005-02-10  Andreas Jaeger  <aj@suse.de>
1384
1385         * init.c (__gnat_initialize): Mark parameter as unused.
1386
1387 2005-02-09  Doug Rupp  <rupp@adacore.com>
1388
1389         * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
1390         * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
1391
1392 2005-02-09  Doug Rupp  <rupp@adacore.com>
1393
1394         * gnatchop.adb (dup, dup2),
1395         g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
1396
1397         * gnatlbr.adb (mkdir),
1398         mlib-tgt-vms-ia64.adb (popen, plose):  Import with decc$ prefix.
1399
1400         * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
1401
1402 2005-02-09  Doug Rupp  <rupp@adacore.com>
1403
1404         * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
1405
1406 2005-02-09  Robert Dewar  <dewar@adacore.com>
1407             Thomas Quinot  <quinot@adacore.com>
1408             Javier Miranda  <miranda@adacore.com>
1409             Pascal Obry  <obry@adacore.com>
1410             Ed Schonberg  <schonberg@adacore.com>
1411             Doug Rupp  <rupp@adacore.com>
1412             Gary Dismukes  <dismukes@adacore.com>
1413             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1414
1415         * g-zstspl.ads: New file.
1416
1417         * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
1418
1419         * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
1420         Ada 95 mode
1421         Add definition of Wide_Wide_Space for AI-285
1422
1423         * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
1424         interface (to support Ada 95 and Ada 2005 units).
1425         Add Unbounded_IO files
1426         Add entries for Wide_Wide packages for AI-285
1427         Add list of containers packages to Ada 2005 unit list
1428
1429         * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
1430         support new Unbounded_IO package cleanly.
1431
1432         * g-utf_32.ads, g-utf_32.adb: New files.
1433
1434         * Makefile.rtl: Add entry for g-utf_32
1435         Add new files for Unbounded_IO
1436         Adjust make file for new AI-285 wide wide packages
1437         Add AI-302 containers to the run time.
1438
1439         * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
1440         a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
1441         subprograms for AI-301.
1442
1443         * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
1444
1445         * a-stunau.ads: Minor comment correction
1446
1447         * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
1448         etc.
1449         Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
1450         (Check_RPC): Update to match changes in expanded code.
1451         Clean up unused entity.
1452
1453         * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
1454         was not taken into account.
1455         This includes proper initialization with Normalize_Scalars.
1456         (Get_Simple_Init_Val): Major rewrite for initialize scalars and
1457         normalize scalars cases (particularly the latter) to do a better job
1458         of finding invalid representations.
1459
1460         * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
1461
1462         * s-strops.ads, s-strops.adb: Remove string normalize routines, never
1463         used
1464
1465         * exp_dist.adb: Add support for wide wide character type
1466         (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
1467         private part, generate stub bodies at the end of the private part,
1468         not the visible part.
1469         (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
1470         PolyORB support.
1471         (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
1472         generic wrapper to execute final processing after completing the
1473         expansion of the RPC receiver for an RACW.
1474
1475         * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
1476         packages and attributes.
1477         (Preset_Names): Addition of the new reserved words of Ada 2005,
1478         that is interface, overriding and synchronized.
1479         (Get_Pragma_Id): Give support to the use of the new reserved word
1480         "interface" as a pragma name.
1481         (Is_Pragma_Name): Give support to the use of the new reserved word
1482         "interface" as a pragma name.
1483         (Preset_Names): Add stream_size string for the Stream_Size Ada2005
1484         attribute implementation.
1485
1486         * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
1487         checks to entities that are output parameters of Asm operations.
1488         Handle the Stream_Size attribute.
1489         Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
1490
1491         * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
1492
1493         * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
1494         for second parameter being 0.0.
1495         Add support for wide wide character type.
1496         (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
1497
1498         * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
1499         s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
1500         s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
1501         s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
1502         for wide wide character cases.
1503
1504         * cstand.adb: Create entities for Wide_Wide_Character and
1505         Wide_Wide_String.
1506
1507         * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
1508         accordance with AI-258.
1509         Add new declarations for 16/32 bit C character types (Part of AI285)
1510
1511         * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
1512         (Obsolescent_Warning): New field
1513         (Rep_Clause): New local subprogram used to share code. Returns the rep
1514         clause for which the name is given in parameter.
1515         (Has_Stream_Size_Clause): New routine.
1516         (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
1517         (Address_Clause): Implementation is now using Rep_Clause.
1518         (Alignment_Clause): Idem.
1519         (Size_Clause): Idem.
1520
1521         * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
1522         entity in non-Ada 2005 mode and generate warning.
1523
1524         * par-prag.adb: Add handling of one argument form for pragma Ada_05.
1525         (Prag): Code cleanup. Remove old gnat pragma "overriding"
1526
1527         * sem_prag.adb: Add handling of one argument form for pragma Ada_05
1528         (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
1529         on the named unit if the pragma is not in the current compilation unit,
1530         so that elaboration calls in the current unit can set up an elaboration
1531         dependency on the named unit, as needed.
1532         (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
1533         subprogram as well as for subprograms declared within a package.
1534         (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
1535         pragma overriding.
1536
1537         * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
1538         to z) to avoid some instances of duplication for Wide_Wide packages.
1539
1540         * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
1541         characters.
1542
1543         * scn.adb: Char_Literal_Value field is now a Uint
1544
1545         * scng.adb: Significant rewrite to handle new Ada 2005 features
1546         allowing wide and wide wide characters in program text, e.g. for
1547         identifiers, as described in AI-285.
1548         (Set_Reserved): New procedure, makes setting up keywords cleaner.
1549         (Initialize_Scanner): Register the new reserved words of Ada 2005.
1550         (Scan): Give support to the new reserved words.
1551
1552         * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
1553         warning notifying that interface, overriding, and synchronized are
1554         new reserved words.
1555         (P_Pragma): Allow the use of the new reserved word "interface" as
1556         a pragma name.
1557
1558         * gnatls.adb, gnatbind.adb,
1559         ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
1560         identifiers named "interface" to "SAL_Interface".
1561
1562         * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
1563         (Structured Exception handling).
1564         (Gen_Main_C): Idem.
1565
1566         * bindgen.adb:
1567         (Gen_Main_Ada): Set the default exit code if specified.
1568         (Gen_Main_C): Likewise.
1569         Part of *DC20-006.
1570         (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
1571         Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
1572
1573         * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
1574         new -Xnnn switch.
1575
1576         * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
1577         has a collision with the new Ada 2005 "interface" reserved word.
1578
1579         * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
1580         generate a warning notifying that interface, overriding, and
1581         synchronized are new reserved words.
1582
1583         * scans.ads (Token_Type): Addition of the tokens corresponding to the
1584         new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
1585         and Tok_Synchronized.
1586
1587         * sem_res.adb (Resolve_Actuals): Change error messages to refer to
1588         "dispatching" rather than "primitive" operations, since dispatching
1589         calls are now allowed to abstract formal subprograms (which are not
1590         primitive).
1591         Char_Literal_Value field is now a Uint
1592         (Resolve_Slice): If the prefix is an access to an unconstrained array,
1593         compute the actual subtype of the designated object to impose the proper
1594         index constraints.
1595         (Resolve_Selected_Component): Do not insert an access check if the
1596         prefix is an access type: such a node is expanded into an explicit
1597         dereference, on which the access check is performed anyway. Removes
1598         expensive duplicate checks.
1599         (Resolve_Call): Use new flag Is_Obsolescent and field
1600         Obsolescent_Warning so that pragma Obsolescent works on library
1601         subprograms.
1602         Add support for wide wide character type
1603         (Resolve_Allocator): Replace the error message on wrong null-exclusion
1604         value by a warning message.
1605         (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
1606         as fixed-point, and one of the operands is non-static and universal, it
1607         can only be an illegal exponentiation operation, in which case there is
1608         no real value to retrieve.
1609
1610         * exp_strm.adb: Add support for wide wide character type
1611         (Build_Elementary_Input_Call): Compute the size of the stream element by
1612         querying the rep chain to find the Stream_Attribute attribute value.
1613         (Build_Elementary_Write_Call): Ditto.
1614
1615         * sem_aggr.adb: Char_Literal_Value field is now a Uint
1616         Add support for wide wide character type
1617         Replace the error messages on wrong null-exclusion value by warnings
1618         as described in Ada 2005.
1619         (Resolve_Extension_Aggregate): Document the fact that the error
1620         message on class-wide expressions in extensions aggregates.
1621
1622         * sem_case.adb: Add support for wide wide character type
1623
1624         * sem_ch13.adb: Add support for wide wide character type
1625         (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
1626
1627         * sem_ch3.adb: Add support for wide wide character type
1628         (Process_Subtype): If constraint is illegal for the type, set Ekind of
1629         now-useless Itype, to prevent cascaded errors on a compiler built
1630         without -gnatp.
1631
1632         * sem_ch8.adb: Add with and use of Sem_Disp.
1633         (Analyze_Subprogram_Renaming): Replace unclean uses of
1634         Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
1635         of Corresponding_Spec to Empty).
1636         (Attribute_Renaming): Replace use of Corresponding_Spec with
1637         Corresponding_ Formal_Spec and simplify condition.
1638         (Use_One_Package): Check that scope of homonym of identifier is defined,
1639         before checking whether it is a wrapper package.
1640         Add support for wide wide character type
1641
1642         * sem_eval.adb: Add support for wide wide character type.
1643         (Eval_Arithmetic_Op): Check for compile time known signed integer
1644         overflow in the non-static case.
1645         (Subtypes_Statically_Match): A formal scalar type and its base type do
1646         not statically match.
1647
1648         * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
1649         "not in" for test of N_Formal_Subprogram_Declaration (which is now a
1650         subtype).
1651         (Unit_Declaration_Node): Ditto.
1652         (Is_Variable_Prefix):  For the case of an indexed component whose prefix
1653         has a packed array type, the prefix has been rewritten into a type
1654         conversion. Determine variable-ness from the converted expression.
1655         Handle wide wide character cases.
1656
1657         * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
1658
1659         * stringt.ads, stringt.adb: Handle full UTF-32 range.
1660         Remove ["0A"] from comment, since it can look like a line terminator.
1661         Currently we don't permit this, but this is under discussion by the
1662         ARG, and it is easy enough to use a different example.
1663
1664         * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
1665         handling UTF-32 encoding for wide wide character.
1666         Implement new brackets coding ["hhhhhhhh"]
1667         Add UTF-8 encodings for full UTF-32 range
1668
1669         * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
1670
1671         * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
1672         bit range Add full UTF-32 support.
1673         (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
1674         notify that constraint error will be raised at run-time
1675         because a null value is assigned to a null-excluding object.
1676         Remove some obsolete declarations and make Char_Code
1677         unsigned.
1678
1679         * a-except.adb (Rcheck_30): New subprogram. Addition of the message
1680         corresponding to CE_Null_Not_Allowed, and adjust the output of all the
1681         Rcheck subprograms.
1682
1683         * checks.adb (Check_Null_Not_Allowed): Replace the error message on
1684         wrong null-exclusion value by a warning message.
1685         (Enable_Range_Check): Do range check if the prefix is an
1686         explicit dereference whose designated object is an unconstrained array.
1687         Current algorithm for removing duplicate checks is over-eager in this
1688         case.
1689
1690         * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
1691         null-exclusion value by a warning message
1692
1693         * atree.h, atree.ads, atree.adb: Remove Char_Code field support
1694         completely. Add support for Uint2 field
1695
1696         sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
1697         exp_prag.adb: Char_Literal_Value field is now a Uint.
1698
1699         * exp_util.adb (Insert_Actions): Replace
1700         N_Formal_Subprogram_Declaration by
1701         N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
1702         Char_Literal_Value field is now a Uint.
1703
1704         * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
1705         defined for subprogram renaming declarations. When set, the field
1706         indicates the defining entity of a corresponding formal subprogram
1707         when the renaming corresponds to a formal subprogram association in an
1708         instantiation.
1709         (Set_Corresponding_Formal_Spec): New procedure to return
1710         Corresponding_Formal_Spec field.
1711         Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
1712         (which is now a subtype).
1713         Char_Literal_Value field is now a Uint
1714
1715         * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
1716         pointer to the base of the dispatch table.
1717         Minor changes to comments.
1718         (Controlling_Type): New function for determining the tagged type
1719         associated with a tagged primitive subprogram.
1720         (Expand_Dispatching_Call): Add support for a controlling actual that is
1721         directly a value of type Ada.Tag rather than a tagged object.
1722
1723         * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
1724         describing the new layout.
1725         (Dispatch_Table): The expander computes the actual array size, allocates
1726         the Dispatch_Table record accordingly, and generates code that displaces
1727         the base of the record after the Typeinfo_Ptr component. The access to
1728         these components is done by means of local functions.
1729         (Offset_To_Top): New function.
1730         (Typeinfo_Ptr): New function.
1731         (Get_TSD): Modified to access the new position of the TSD.
1732         (Set_TSD): Modified to save the TSD in its new position.
1733
1734         * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
1735         case of formal abstract subprograms. Add check and message for -gnat05.
1736         Update comments.
1737
1738         * sem_ch12.adb: Add with and use for Sem_Disp.
1739         (Analyze_Associations): Minor change from "=" to "in" for use of
1740         N_Formal_Subtype_Declaration (which is now a subtype).
1741         (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
1742         N_Formal_Subtype_Declaration (which is now a subtype).
1743         (Analyze_Formal_Subprogram): Add handling for
1744         N_Formal_Abstract_Subprogram, marking the formal as abstract and
1745         dispatching, setting the controlling status of the formal parameters
1746         and result, and issuing an error if there is no controlling type for
1747         the formal subprogram.
1748         (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
1749         which is an unclean use of that field, we set the new field
1750         Corresponding_Formal_Spec to make the formal subprogram available to
1751         processing in Analyze_Subprogram_Declaration.
1752         (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
1753         Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
1754         Constrained, so that it is is does not statically match its anonymous
1755         base type.
1756
1757         * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
1758         abstract formal subprograms in error check for functions returning
1759         abstract types. Set scope of new designator for
1760         a parameterless subprogram, so that it is available when checking the
1761         body for nested subprograms, before full analysis of said body.
1762         (Analyze_Subprogram_Body): Warn on inlining bodies with nested
1763         subprogram only if inner one comes from source.
1764         (Analyze_Function_Call): If the call is given in object notation, the
1765         analysis of the name rewrites the node and analyzes it with the proper
1766         argument list. After analyzing the name, if the call has been rewritten
1767         and the result type is set, no further analysis is needed.
1768         (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
1769         mark in function specification, in a context where the formals are
1770         visible and hide outer homographs.
1771
1772         * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
1773         as the tagged type for the cases of abstract formal subprograms and
1774         renamings of those.  Clean up spec comments.
1775         (Check_Dispatching_Context): Add error message to indicate "abstract
1776         procedure", covering the case of a call to a formal abstract procedure
1777         that has statically tagged operands.
1778         (Check_Dispatching_Call): Check for the case of an actual given by
1779         a tag-indeterminate function call whose type is an ancestor of the
1780         containing call's associated tagged type. This situation can occur
1781         for inherited primitives with function defaults. In this case we
1782         use the tagged type's tag directly as the controlling argument for
1783         the calls.
1784         (Expand_Call): Name change on call to Expand_Dispatch_Call.
1785
1786         * sprint.adb (Sprint_Node_Actual): Split
1787         N_Formal_Subprogram_Declaration into two alternatives for the new
1788         cases N_Formal_Abstract_Subprogram_Declaration and
1789         N_Formal_Concrete_Subprogram_Declaration.
1790         Char_Literal_Value field is now a Uint.
1791
1792         * trans.c: Get rid of junk Uint2 reference.
1793         Char_Literal_Value field is now a Uint.
1794         (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
1795         (gigi): Correct third arg to gimplify_body.
1796
1797         * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
1798         (TYPE_LANG_FLAG_0): Check for record or union.
1799
1800         * treepr.adb: Char_Literal_Value field is now a Uint
1801
1802         * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
1803         UI_From_CC.
1804
1805         * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
1806         Add full UTF-32 support
1807         Char_Code is now 32 bits
1808
1809         * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
1810         wide character UTF_32 line terminators.
1811         Initialize Main_Source_File to avoid error when no main
1812         source is loaded.
1813
1814         * errout.adb (Finalize): Do not check Num_SRef_Pragmas
1815         (Main_Source_File) when no main source has been loaded, to avoid
1816         potential crash.
1817
1818 2005-02-09  Robert Dewar  <dewar@adacore.com>
1819
1820         * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
1821         Fix name of Set routine
1822
1823         * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
1824         fixed packages.
1825
1826         * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
1827         a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
1828         fixed packages
1829
1830         * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
1831         forms of Get_Line subprograms for AI-301.
1832
1833         * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
1834         a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
1835         a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
1836         a-stwima.ads: Minor reformatting.
1837
1838 2005-02-09  Doug Rupp  <rupp@adacore.com>
1839             Thomas Quinot  <quinot@adacore.com>
1840
1841         * adaint.c, adaint.h
1842         [VMS] (to_ptr32): New function.
1843         (MAYBE_TO_PTR32): New macro.
1844         (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
1845         for pointer size.
1846         [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
1847         [VMS] (#define fork()): Remove since unneccessary.
1848         (__gnat_set_close_on_exec): New routine to support
1849         GNAT.OS_Lib.Set_Close_On_Exec.
1850
1851         * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
1852         the parent side as close-on-exec so that they are not inherited by the
1853         child.
1854
1855         * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
1856         set or clear the FD_CLOEXEC flag on a file descriptor.
1857
1858 2005-02-09  Eric Botcazou  <ebotcazou@adacore.com>
1859             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1860
1861         Fix for c330001 - PR ada/19386
1862
1863         * decl.c:
1864         (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
1865         on the field if Pragma Component_Alignment (Storage_Unit).
1866         (gnat_to_gnu_entity, case object): Do not treat a renaming that has
1867         side-effects as if it were a constant; also make SAVE_EXPR to protect
1868         side-effects.
1869         (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
1870         UNION_TYPE.
1871         (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
1872         (components_to_record): Test it.
1873         Fix improper usage of REFERENCE_CLASS_P.
1874
1875         * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
1876         RECORD_TYPE.
1877
1878         * utils2.c: Minor reformatting.
1879
1880         * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
1881         handle other cases like RECORD_TYPE.
1882
1883         * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
1884
1885 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
1886
1887         * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
1888         component of an array of arrays in an assignment context, and the
1889         aggregate has component associations that require sliding on
1890         assignment, force reanalysis of the aggregate to generate a temporary
1891         before the assignment.
1892         (Must_Slide): Make global to the package, for use in Gen_Assign.
1893
1894 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
1895
1896         * exp_ch4.adb (Expand_Composite_Equality): If a component is an
1897         unchecked union with no inferable discriminants, return a
1898         Raise_Program_Error node, rather than inserting it at the point the
1899         type is frozen.
1900         (Expand_Record_Equality, Component_Equality): Handle properly the case
1901         where some subcomponent is an unchecked union whose generated equality
1902         code raises program error.
1903
1904 2005-02-09  Doug Rupp  <rupp@adacore.com>
1905
1906         * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
1907         [VMS] (#define exit hack): Remove.
1908
1909 2005-02-09  Pascal Obry  <obry@adacore.com>
1910             Arnaud Charlet <charlet@adacore.com>
1911
1912         * init.c (__gnat_initialize): Add a new parameter eh which contains the
1913         address of the exception registration. The Win32 version of this
1914         routine calls __gnat_install_SEH_handler() to initialize the SEH
1915         (Structured Exception Handling) handler.
1916         (__gnat_error_handler) [Win32]: Removed. Not needed as we use
1917         SEH (Structured Exception Handling) now.
1918         (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
1919         (__gnat_initialize for ppc-vxworks): Adjust comments and the
1920         preprocessor condition protecting the call to the extra eh setup
1921         subprogram, which is only available for the ppc target.
1922         (__gnat_clear_exception_count): replaced reference to
1923         variable taskIdCurrent by call to taskIdSelf(), cleaner.
1924
1925         * seh_init.c: New file.
1926
1927         * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
1928         (GNATBIND_OBJS): Idem.
1929
1930         * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
1931         routine takes a new parameter (a pointer to the exception registration
1932         for the SEH (Structured Exception Handling) support.
1933
1934         * raise.h: (__gnat_install_SEH_handler): New prototype.
1935         Update copyright notice.
1936
1937         * s-tassta.adb (Task_Wrapper): Declare the exception registration
1938         record and initialize it by calling __gnat_install_SEH_handler.
1939
1940 2005-02-09  Vincent Celier  <celier@adacore.com>
1941
1942         * make.adb (Gnatmake): Do not fail when the main project has no object
1943         directory.
1944
1945 2005-02-09  Doug Rupp  <rupp@adacore.com>
1946
1947         * Makefile.in [VMS] (LN,LN_S): Define as cp -p
1948         Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
1949         [VMS]: Add translations for g-enblsp.adb.
1950
1951         * s-asthan-vms.adb: Removed.
1952         * s-asthan-vms-alpha.adb: Added.
1953
1954 2005-02-09  Pascal Obry  <obry@adacore.com>
1955
1956         * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
1957         (LIBGNAT_OBJS): Add seh_init.o.
1958
1959 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
1960
1961         PR ada/16592
1962
1963         * Makefile.in: Link all gnat tools with -static-libgcc, since
1964         -shared-libgcc is now used by default on some systems (e.g. linux with
1965         recent binutils).
1966         Remove references to Makefile.prolog/generic, no longer used.
1967
1968 2005-02-09  Vincent Celier  <celier@adacore.com>
1969
1970         * prj-makr.adb (Process_Directory): Put file name in canonical case
1971         before matching against the patterns.
1972         If gnatname has been invoked as <prefix>-gnatname
1973         then invoke the compiler as <prefix>-gcc, not just "gcc".
1974
1975 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
1976
1977         * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
1978         with expansion disabled. The actual subtype is needed among other
1979         places when the selected component appears in the context of a loop
1980         bound, and denotes a packed array.
1981         (Operator_Check): Always use the first subtype in the
1982         error message, to avoid the appearance of internal base types.
1983         (Transform_Object_Operation): Copy each actual in full
1984         to the parameter associations of the constructed call, rather than
1985         using the shallow copy mechanism of New_Copy_List. This ensures that
1986         the chaining of named associations is done properly.
1987         (Complete_Object_Operation): Rewrite node, rather than
1988         replacing it, so that we can trace back to the original selected
1989         component.
1990
1991         * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
1992         and calls that use object notation, if the called function is not
1993         declared  in a withed unit, place the elaboration constraint on the
1994         unit in the context that makes the function accessible.
1995         (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
1996         imposes an elaboration constraint between two packages.
1997
1998 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
1999
2000         * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
2001         views of a private type after handling its private dependents, to
2002         maintain proper stack discipline between entry and exit from the
2003         package.
2004
2005 2005-02-09  Cyrille Comar  <comar@adacore.com>
2006
2007         * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
2008         Minor reformatting.
2009
2010 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
2011
2012         * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
2013         fields for foreign threads.
2014
2015 2005-02-09  Doug Rupp  <rupp@adacore.com>
2016
2017         * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
2018         recursion warnings when compiled with -gnatdm.
2019
2020 2005-02-09  Robert Dewar  <dewar@adacore.com>
2021
2022         * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
2023         Slight fix to documentation of -gnaty with no parameters
2024
2025         * xr_tabls.ads: Add ??? comment for missing overall comment
2026
2027         * xsinfo.adb: Make default file name be sinfo.h, since this is what
2028         we now use by default.
2029
2030         * xsnames.adb: Adjust end of file test to look for five space followed
2031         by '#' instead of six spaces. The format of xsnames.adb was modified
2032         in the last update.
2033
2034         * a-numeri.ads: Add reference to AI-388 for greek letter pi
2035         identifier.
2036
2037         * clean.adb: Minor reformatting.
2038
2039         * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
2040         gnatname.adb: Minor reformatting
2041         Add 2005 to copyright output when utility is run
2042
2043         * csets.adb: Eliminate obsolete comment
2044
2045         * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
2046         Update comments.
2047
2048         * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
2049
2050 2005-02-09  Sergey Rybin  <rybin@adacore.com>
2051
2052         * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
2053         the difference between compact and incompact layout and add the record
2054         representation clause to the example illustrating different layouts.
2055         Add the description of '-A5' gnatpp option ("align 'AT' keywords in
2056         component clauses").
2057
2058 2005-02-09  Florian Villoing  <villoing@adacore.com>
2059
2060         * gnat_ugn.texi: Fix typos.
2061         Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
2062         @file.
2063         Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
2064         in the generated documentation.
2065
2066 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
2067
2068         * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
2069         longer supported.
2070         Update linker wrapper when linking with non GNU C++.
2071
2072 2005-02-09  Pascal Obry  <obry@adacore.com>
2073
2074         * gnat_ugn.texi:
2075         Document the procedure to debug the DllMain routine on Windows.
2076         Add note about -funwind-tables and mixed Ada and C/C++ programming in
2077         ZCX mode.
2078         Document new BIND qualifer /RETURN_CODES=VMS.
2079
2080 2005-02-09  Ben Brosgol  <brosgol@adacore.com>
2081
2082         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
2083         Edited gnatmetric chapter
2084
2085 2005-02-09  Robert Dewar  <dewar@adacore.com>
2086
2087         * gnat_rm.texi:
2088         Changes to document new wide wide character support
2089         For AI-285
2090         Update documentation on Normalize_Scalars and Initialize_Scalars
2091
2092 2005-02-09  Pascal Obry  <obry@adacore.com>
2093
2094         * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
2095
2096 2005-02-09  Jose Ruiz  <ruiz@adacore.com>
2097
2098         * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
2099         from the VxWorks kernel) that is needed for getting the active
2100         priority of the different tasks.
2101
2102         * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
2103         Use a pragma Elaborate_Body in the spec file instead.
2104         Noticed by code reading.
2105
2106 2005-02-09  Thomas Quinot  <quinot@adacore.com>
2107
2108         * exp_util.ads: Minor correction in comment.
2109
2110 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
2111
2112         * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
2113         since this procedure is now too complex to be worth inlining.
2114
2115 2005-02-09  Richard Henderson  <rth@redhat.com>
2116
2117         * utils.c (gnat_define_builtin): Remove.
2118         (gnat_install_builtins): Use build_common_builtin_nodes.
2119
2120 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
2121
2122         * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
2123         a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
2124         a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
2125         a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
2126         a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
2127         a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
2128         a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
2129         a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
2130         a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
2131         a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
2132         a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
2133         a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
2134         a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
2135         a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
2136         a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
2137         a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
2138         a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
2139         a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
2140         a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
2141         a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
2142         a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
2143         a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
2144         a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
2145         a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
2146         a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
2147         a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
2148         a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
2149         a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
2150         a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
2151         a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
2152         a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
2153         a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
2154         a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
2155         a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
2156         library.
2157
2158 2005-01-27  Laurent GUERBY <laurent@guerby.net>
2159
2160         * Makefile.in: Fix a-intnam.ads from previous commit,
2161         add 2005 to copyright.
2162         * a-intman-rtems.ads: Renamed to...
2163         * a-intnam-rtems.ads:
2164
2165 2005-01-27  Laurent GUERBY <laurent@guerby.net>
2166
2167         * Makefile.in: Rename GNAT RTEMS specific files.
2168         * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
2169         5rosinte.ads, 5rparame.adb: Replaced by files below.
2170         * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
2171         s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
2172
2173 2005-01-27  Joel Sherrill <joel.sherrill@oarcorp.com>
2174             Laurent GUERBY <laurent@guerby.net>
2175
2176         PR ada/19488
2177         * 5rosinte.ads: Add No_Key constant.
2178         * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
2179         * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
2180
2181 2005-01-26  Laurent GUERBY <laurent@guerby.net>
2182
2183         PR ada/19414
2184         * i-cobol.adb (Valid_Numeric): Handle zero length case.
2185
2186 2005-01-20  Richard Henderson  <rth@redhat.com>
2187
2188         * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
2189         a-intnam-linux.ads and system-linux-alpha.ads.
2190         * a-intnam-linux-alpha.ads: Remove file.
2191         * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
2192         * system-linux-alpha.ads: New file.
2193
2194 2005-01-18  Jakub Jelinek  <jakub@redhat.com>
2195
2196         PR ada/13470
2197         * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
2198         set to the new string.
2199
2200 2005-01-18  Toon Moene  <toon@moene.indiv.nluug.nl>
2201
2202         * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
2203         to True.
2204
2205 2005-01-18  Richard Henderson  <rth@redhat.com>
2206
2207         * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
2208         THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
2209         for alpha-linux.
2210         * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
2211
2212 2005-01-14  Andrew Pinski  <pinskia@physics.uc.edu>
2213
2214         * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
2215         (GCC_ZCX_Support): Likewise.
2216
2217 2005-01-11  Bastian Blank  <waldi@debian.org>
2218
2219         * system-linux-s390.ads: Define Preallocated_Stacks.
2220         * system-linux-s390x.ads: Likewise.
2221
2222 2005-01-04  Arnaud Charlet  <charlet@adacore.com>
2223
2224         * gnat_ugn.texi: Fix texi errors with null variables.
2225
2226 2005-01-03  Thomas Quinot  <quinot@adacore.com>
2227
2228         * gen-soccon.c: New utility program to generate g-soccon.ads
2229         automatically.
2230
2231         * socket.c, gsocket.h: Split inclusion of system header files into a
2232         gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
2233
2234         * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
2235         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
2236         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
2237         g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
2238         should not be edited by hand anymore, but should be regenerated using
2239         gen-soccon.
2240
2241 2005-01-03  Robert Dewar  <dewar@adacore.com>
2242             Ed Schonberg  <schonberg@adacore.com>
2243             Vincent Celier  <celier@adacore.com>
2244
2245         * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
2246         on/off, since this is an obsolescent feature, for which we now generate
2247         a warning.
2248
2249         * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
2250         warning mode is set and obsolescent usage of this attribute occurs.
2251         (Resolve_Access, case 'Access): Note that GNAT uses the context type to
2252         disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
2253         predates, and partly motivates, the adoption of the AI.
2254         Implement new Ada 2005 attribute Mod
2255
2256         * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
2257         attribute Mod.
2258
2259         * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
2260
2261         * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
2262         pragma restrictions.
2263         New entry for Ada 2005 attribute Mod.
2264
2265         * par-prag.adb:
2266         Add recognition of new pragma Restrictions No_Dependence
2267         Recognize restriction No_Obsolescent_Features at parse time
2268
2269         * bcheck.adb: Add circuitry for checking for consistency of
2270         No_Dependence restrictions.
2271
2272         * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
2273         restrictions.
2274
2275         * restrict.ads, restrict.adb: Add subprograms to deal with
2276         No_Dependence restrictions.
2277
2278         * rtsfind.adb: Check that implicit with's do not violate No_Dependence
2279         restrictions.
2280
2281         * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
2282         sem_attr.adb: Add check for new restriction No_Obsolescent_Features
2283
2284         * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
2285         dummy parameter to scng instantiation.
2286         Needed for new restriction No_Obsolescent_Features
2287
2288         * scn.adb: (Obsolescent_Check): New procedure
2289         Needed for new restriction No_Obsolescent_Features
2290
2291         * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
2292         specified by AI-285, needed for implementation of AI-388 (adding greek
2293         pi to Ada.Numerics).
2294         Add new generic formal to scng, needed for new restriction
2295         No_Obsolescent_Features.
2296
2297         * s-rident.ads: Add new restriction No_Obsolescent_Features.
2298
2299         * ali.ads, ali.adb: Adjustments for reading new No_Dependence
2300         restrictions lines.
2301         (Scan_ALI): When finding an unexpected character on an R line, raise
2302         exception Bad_R_Line, instead of calling Fatal_Error, so that, when
2303         Ignore_Errors is True, default restrictions are set and scanning of the
2304         ALI file continues with the next line. Also, when Bad_R_Line is raised
2305         and Ignore_Errors is True, skip to the end of le line.
2306
2307         * sem_ch10.adb: Check that explicit with's do not violate
2308         No_Dependence restrictions.
2309         (Install_Withed_Unit): Add code to implement AI-377 and diagnose
2310         illegal context clauses containing child units of instance.
2311
2312         * sem_prag.adb: Processing and checking for new No_Dependence
2313         restrictions.
2314         (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
2315         analyze and check the External argument.
2316
2317         * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
2318
2319 2005-01-03  Robert Dewar  <dewar@adacore.com>
2320
2321         * atree.adb: Add a fifth component to entities
2322         This allows us to add 32 flags and four new fields
2323
2324         * atree.ads: Add a fifth component to entities
2325         This allows us to add 32 flags and four new fields
2326
2327         * einfo.ads, einfo.adb: Document new fields and new flags now available
2328         Add routines for printing new fields
2329
2330         * treepr.adb: Call routines to print out additional fields if present
2331
2332 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
2333
2334         * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
2335         gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
2336
2337         * Makefile.in: Add support to build shared Ada libraries on solaris x86
2338         Remove gpr2make, replaced by gprmake.
2339         Remove references to gnatmem and libaddr2line.
2340         Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
2341         (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
2342         Add support for specialized version of Ada.Numerics.Aux for Darwin: use
2343         a-numaux-darwin.ads and a-numaux-darwin.adb
2344         Enable mlib-tgt-lynxos.adb on lynxos.
2345
2346         * Make-lang.in: Remove rules for gpr2make.
2347         When generating sdefault.adb, do not call Relocate_Path
2348         on S3 for function Target_Name, as it is not a path.
2349         Remove references to gnatmem and libaddr2line.
2350
2351         * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
2352         files.
2353
2354 2005-01-03  Samuel Tardieu  <tardieu@adacore.com>
2355
2356         * checks.adb (Apply_Alignment_Check): Generate a warning if an object
2357         address is incompatible with its base type alignment constraints when
2358         this can be decided statically.
2359
2360 2005-01-03  Olivier Hainque  <hainque@adacore.com>
2361
2362         * decl.c (compatible_signatures_p): New function. The intended purpose
2363         is to check if two function signatures for a call-site and a callee are
2364         compatible enough for the call to be valid. The underlying purpose is
2365         to check if a call to a mapped builtin is using the right interface.
2366         The current code actually does not check antyhing - this a placeholder
2367         for future refinements.
2368         (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
2369         builtin calls for convention Intrinsic.
2370
2371         * gigi.h (builtin_decl_for): Declare (new function).
2372
2373         * utils.c (gnat_install_builtins): Install the target specific builtins.
2374         (builtin_decl_for): New function, provide a dummy body for now.
2375
2376 2005-01-03  Geert Bosch  <bosch@adacore.com>
2377
2378         * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
2379         (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
2380         (Pred): Implement in terms of Succ.
2381
2382         * trans.c (convert_with_check): Reimplement conversion of float to
2383         integer.
2384
2385 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
2386             Vincent Celier  <celier@adacore.com>
2387
2388         * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
2389         bounds can be negative, and must be declared Int, not Nat.
2390
2391         * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
2392         array is checked after using the index in the array.
2393
2394         * makegpr.adb (Add_Switches): Check if there is a package for the
2395         processor. If there is no package, do not look for switches.
2396
2397 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
2398
2399         * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
2400         generation of predefined stream operations (specs and bodies) should
2401         proceed. Under various restrictions these subprograms must not be
2402         generated.
2403
2404 2005-01-03  Thomas Quinot  <quinot@adacore.com>
2405
2406         * exp_dist.adb:
2407         Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
2408         amount of PCS-specific code in RACW stubs generation.
2409         (Copy_Specification): Set Etype on copied formal parameter entities, as
2410         this information is needed for PolyORB stubs generation.
2411         (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
2412         variable Dynamic_Async.
2413         (Build_Subprogram_Receiving_Stubs): Make PCS-specific
2414         (Build_RPC_Receiver_Specification): Make generic again, as recent
2415         changes have allowed RPC receivers to have the same profile for both
2416         variants of the PCS.
2417         Reorganise RPC receiver generation to reduce differences between the
2418         structure of GARLIC and PolyORB RPC receivers.
2419         (Add_Receiving_Stubs_To_Declarations): Make this subprogram
2420         PCS-specific.
2421         Simplify elaboration code for RCI packages.
2422
2423         * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
2424         generation to reduce differences between the structure of GARLIC and
2425         PolyORB RPC receivers.
2426
2427         * s-stratt.adb: Fix typo in comment.
2428
2429 2005-01-03  Thomas Quinot  <quinot@adacore.com>
2430
2431         * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
2432         copied from Make_Init_Call).
2433
2434         * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
2435         reads and assignments on a temporary variable declared with appropriate
2436         discriminants.
2437
2438 2005-01-03  Robert Dewar  <dewar@adacore.com>
2439
2440         * i-c.adb (To_C): Raise CE if string is null and Append_Null
2441
2442 2005-01-03  Robert Dewar  <dewar@adacore.com>
2443
2444         * i-cstrin.adb (Update): Do not append a null in form called with a
2445         String. This avoids unintended behavior.
2446
2447 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
2448
2449         PR ada/17527
2450         * init.c: Fix warnings on Free BSD section.
2451
2452 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
2453
2454         PR ada/16949
2455         * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
2456         xsinfo.adb).
2457
2458 2005-01-03  Vincent Celier  <celier@adacore.com>
2459
2460         * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
2461         libraries when Unique_Compile is True (-u switch).
2462         (Gnatmake): ditto.
2463
2464 2005-01-03  Robert Dewar  <dewar@adacore.com>
2465
2466         * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
2467         upper case letter or underscore after W, as allowed by spec.
2468
2469 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
2470
2471         * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
2472         darwin port by using proper type definitions from header files.
2473         Use SIGTERM instead of SIGABRT for SIGADAABORT.
2474
2475 2005-01-03  Robert Dewar  <dewar@adacore.com>
2476
2477         * par.adb: Enhance error message handling for configuration file
2478         pragmas.
2479
2480 2005-01-03  Robert Dewar  <dewar@adacore.com>
2481
2482         * s-arit64.adb (Double_Divide): Put back changes that got accidentally
2483         removed during the previous update (test properly for case of dividing
2484         largest negative number by -1, which generates overflow).
2485
2486 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
2487             Sergey Rybin  <rybin@adacore.com>
2488
2489         * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
2490         to use as the defining identifier for a formal package.
2491         (Remove_Parent): If the instance takes place within (an instance of)
2492         a sibling, preserve private declarations of common parent.
2493
2494 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
2495
2496         * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
2497         to determine whether one of the operands is a fixed-point type for
2498         which a user-defined multiplication or division operation might be
2499         defined.
2500
2501         * sem_res.adb (Valid_Conversion): The legality rules for conversions
2502         of access types are symmetric in Ada 2005: either designated type can
2503         be unconstrained.
2504
2505 2005-01-03  Vincent Celier  <celier@adacore.com>
2506
2507         * s-fileio.adb (Temp_File_Record): Change length of string component
2508         Name from L_tmpnam + 1 to max_path_len + 1.
2509
2510 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
2511
2512         * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
2513         Self_Id.Deferral_Level = 0.
2514         (Do_Pending_Action): Move this function to the spec.
2515
2516         * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
2517         Do_Pending_Action explicitely when needed, in case we're using
2518         No_Abort restrictions.
2519
2520         * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
2521         deferral level since it will not get changed by the generated code.
2522         Keeping a default value of 1 would prevent some operations (e.g.
2523         select or delay) to proceed successfully.
2524
2525 2005-01-03  Ben Brosgol  <brosgol@adacore.com>
2526             Robert Dewar  <dewar@adacore.com>
2527             Cyrille Comar  <comar@adacore.com>
2528
2529         * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
2530         porting guide chapter (vms version).
2531         Revised doc title (removed "for native platforms") and subtitle.
2532         Add discussion on warning flag for obsolescent features. First we
2533         note that it applies to obsolete GNAT features, which was previously
2534         omitted. Second we contrast the behavior with that of the new
2535         Ada 2005 AI-368 restriction No_Obsolescent_Features.
2536         Preliminary rewriting of GNAT & libraries chapter in order to take
2537         into account default project locations & new project manager
2538         capabilities.
2539
2540 2005-01-03  Robert Dewar  <dewar@adacore.com>
2541
2542         * cstand.adb (Create_Operators): Clean up format and documentation of
2543         unary and binary operator result tables. No change in code, just
2544         reformatting and addition of comments.
2545
2546         * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
2547         sem_ch2.adb: Minor reformatting
2548
2549         * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
2550         sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
2551         comments for Tree_Read and Tree_Write.
2552
2553 2005-01-03  Pascal Obry  <obry@adacore.com>
2554
2555         * exp_attr.ads: Minor reformatting.
2556
2557 2005-01-03  Romain Berrendonner  <berrendo@adacore.com>
2558
2559         * comperr.adb (Compiler_Abort): Add specialized message for GAP
2560         versions.
2561
2562 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
2563
2564         * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
2565         whether the ancestor type is private, as may be the case with nested
2566         instantiations.
2567
2568 2004-12-30  Sohail Somani <sohail@sohailsomani.com>
2569
2570         PR ada/19128
2571         * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
2572
2573 2004-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
2574
2575         * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
2576         * utils2.c (build_unary_op): Likewise.
2577
2578 2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2579
2580         * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
2581
2582 2004-12-19  Richard Henderson  <rth@redhat.com>
2583
2584         * trans.c (gigi): Update gimplify_body call.
2585
2586 2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
2587
2588         * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
2589
2590 2004-12-07  Ed Falis  <falis@adacore.com>
2591
2592         * s-intman-vxworks.adb (Notify_Exception): removed useless check for
2593         current task being suspended.
2594
2595         * init.c (__gnat_clear_exception): added to reset VxWorks exception
2596         count.
2597         (__gnat_map_signal): removed test for current task being suspended.
2598
2599 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
2600
2601         * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
2602         from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
2603         targets (such as AAMP).
2604
2605 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
2606
2607         * atree.adb (Visit_Itype): Create a new name for the generated itype,
2608         because the back-end may otherwise treat it as a redefinition of the
2609         old symbol.
2610
2611 2004-12-07  Eric Botcazou  <ebotcazou@adacore.com>
2612
2613         * back_end.adb (Scan_Back_End_Switches): Accept --param.
2614
2615         * lang-specs.h: Accept --param.
2616
2617 2004-12-07  Vincent Celier  <celier@adacore.com>
2618
2619         * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
2620         package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
2621         Current_Body_Suffix => Ada_Body_Suffix).
2622         Take into account Externally_Built attribute.
2623
2624         * clean.adb (In_Extension_Chain): Always return False when one of the
2625         parameter is No_Project.
2626         (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
2627         Ada_Language_Index).
2628         (Gnatclean): Adapt to change in package Prj.Pars (no parameter
2629         Process_Languages for procedure Parse).
2630
2631         * gnatcmd.adb (Carg_Switches): New table.
2632         (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
2633         Adapt to name changes in package Prj (Current_Spec_Suffix =>
2634         Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
2635
2636         * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
2637         Header_Num and function Hash are now declared in package Prj,
2638         not Prj.Com.
2639
2640         * prj.adb (Suffix_Of): New function.
2641         (Set (Suffix)): New procedure.
2642         (Hash): One function moved from Prj.Com
2643         (Is_Present, Language_Processing_Data_Of): New functions
2644         (Set): Two new procedures
2645         (Add_Language_Name, Display_Language_Name): New procedures
2646
2647         * prj.ads: (Suffix_Of): New function
2648         (Set (Suffix)): New procedure
2649         Add several types and tables for multi-language support.
2650         (Header_Num): Type moved from Prj.Com
2651         (Hash): Two functions moved from Prj.Com
2652         (Is_Present, Language_Processing_Data_Of): New functions
2653         (Set): Two new procedures
2654         (Add_Language_Name, Display_Language_Name): New procedures
2655         (Naming): Component name changes:
2656         Current_Spec_Suffix => Ada_Spec_Suffix,
2657         Current_Body_Suffix => Ada_Body_Suffix. Add new components:
2658         Impl_Suffixes, Supp_Suffixes.
2659         (Project_Data): New components: Externally_Built, Supp_Languages,
2660         First_Language_Processing, Supp_Language_Processing, Default_Linker,
2661         Default_Linker_Path.
2662
2663         * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
2664         new package Language_Processing with its attributes (Compiler_Driver,
2665         Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
2666         Binder_Driver, Default_Linker).
2667
2668         * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
2669         (Header_Num): Type moved to package Prj
2670
2671         * prj-env.adb: Adapt to name changes in package Prj
2672         (Current_Spec_Suffix => Ada_Spec_Suffix,
2673         Current_Body_Suffix => Ada_Body_Suffix).
2674
2675         * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
2676         default to the project path, except the "-" is one of the directories
2677         in env var ADA_PROJECT_PATH.
2678         (Current_Project_Path): Global variable, replacing Project_Path
2679         that was in the body of Prj.Part.
2680         (Project_Path): New function
2681         (Set_Project_Path): New procedure
2682         Initialize Current_Project_Path during elaboration of the package
2683         Remove dependency on Prj.Com, no longer needed
2684
2685         * prj-ext.ads (Project_Path): New function
2686         (Set_Project_Path): New procedure
2687
2688         * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
2689         suffix is defined for language <lang>.
2690         (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
2691         accessing directly the components of Naming.
2692         (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
2693         Reorganise of this package.
2694         Break procedure Check in several procedures.
2695
2696         * prj-nmsc.ads: Replace all procedures (Ada_Check,
2697         Other_Languages_Check and Language_Independent_Check) with a single
2698         procedure Check.
2699
2700         * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
2701         Process_Languages, no longer needed.
2702
2703         * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
2704         Current_Project_Path.
2705         Remove elaboration code, moved to the body of Prj.Ext
2706         Use new function Prj.Ext.Project_Path instead of old variable
2707         Project_Path.
2708         (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
2709         When comparing with project paths on the stack, first put the resolved
2710         path in canonical case.
2711         (Parse_Single_Project): Set the path name of the project file in the
2712         tree to the normalized path.
2713
2714         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
2715         parameter Process_Languages, no longer needed.
2716         (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
2717         Other_Languages_Check.
2718
2719         * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
2720         to store the resolved canonical path of the project file.
2721         Remove dependency to Prj.Com, no longer needed
2722
2723         * prj-util.adb: Adapt to name changes in package Prj
2724         (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
2725         Ada_Body_Suffix).
2726
2727         * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
2728         Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
2729         Externally_Built, Include_Option, Language_Processing.
2730
2731         * makegpr.adb: Numerous changes due to changes in packages
2732         Prj and Prj.Nmsc.
2733
2734         * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
2735         default to the project path, except whe "-" is one of the directories
2736         in env var ADA_PROJECT_PATH.
2737         (Gnatls): In verbose mode, add the new section "Project Search Path:"
2738
2739 2004-12-07  Robert Dewar  <dewar@adacore.com>
2740
2741         * debug.adb: Document that -gnatdA automatically sets -gnatR3m
2742
2743         * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
2744         set -gnatR3m mode.
2745
2746         * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
2747         flag. No longer needed now that we handle this in gnat1drv.adb.
2748
2749         * repinfo.ads: Minor reformatting
2750
2751 2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2752             Olivier Hainque  <hainque@adacore.com>
2753             Eric Botcazou  <ebotcazou@adacore.com>
2754
2755         * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
2756         TYPE_SIZE_UNIT of result type if SIZE is not specified.
2757         (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
2758         of a bitfield, which we know is useless and causes trouble because of
2759         alignment implications.
2760
2761         * utils.c (create_var_decl): Set DECL_COMMON again on targets without
2762         BSS sections.
2763         (process_attributes): Clear DECL_COMMON again when a section attribute
2764         is present.
2765         (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
2766         SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
2767         (create_field_decl): Special case ADDRESSABLE negative to mean
2768         "no bitfield creation", to be used by make_aligning_type. Don't
2769         restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
2770         fields claimed addressable still have to be bitfields. Use
2771         value_factor_p instead of a raw binop construction to check for the
2772         position's alignment.
2773
2774 2004-12-07  Geert Bosch  <bosch@adacore.com>
2775
2776         * eval_fat.adb: Revert previous change.
2777
2778 2004-12-07  Thomas Quinot  <quinot@adacore.com>
2779             Ed Schonberg  <schonberg@adacore.com>
2780
2781         * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
2782         with an implicit dereference as its prefix, use
2783         Insert_Explicit_Dereference instead of merely rewriting the prefix into
2784         an explicit dereference. This ensures that a reference to the original
2785         prefix is generated, if appropriate.
2786
2787         * sem_util.adb (Insert_Explicit_Dereference): When an implicit
2788         dereference is rewritten to an explicit one, generate a reference to
2789         the entity denoted by its prefix using the original prefix node, so
2790         the dereference can be properly recorded as a read of the denoted
2791         access value, if appropriate.
2792
2793         * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
2794         emitting 'assigned but never read' warning on a variable on the basis
2795         that it has an access type.
2796         (Check_References): Emit unreferenced warning when the scope is a
2797         subprogram body.
2798
2799 2004-12-07  Robert Dewar  <dewar@adacore.com>
2800             Ed Schonberg  <schonberg@adacore.com>
2801
2802         * exp_ch6.adb (Expand_Call): Add comment on handling of back end
2803         intrinsic
2804
2805         * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
2806         leaving call unchanged.
2807         This deals with the case where the pragma Import specified
2808         an external name, to be handled by the back end.
2809
2810         * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
2811         subprogram which is Imported with convention Intrinsic if an
2812         External_Name argument is specified.
2813         (Process_Import_Or_Interface): Properly diagnose link name argument.
2814         (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
2815         with Sem_Ch6.Cannot_Inline.
2816         (Process_Inline): Provide separate warning for inapplicable inline
2817         pragma.
2818         (Cannot_Inline): Reject subprograms that have an at_end handler, so that
2819         treatment is uniform on different targets.
2820
2821 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
2822
2823         * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
2824         construct is rewritten, preserve end label to permit source navigation.
2825
2826 2004-12-07  Thomas Quinot  <quinot@adacore.com>
2827
2828         * exp_dist.adb (Specific_Build_General_Calling_Stubs,
2829         Specific_Build_Stub_Target): New subprograms.
2830         (Build_Subprogram_Calling_Stubs): Make this procedure independent from
2831         the PCS implementation used, using the above PCS-customized subprograms.
2832         Minor reformatting.
2833         (PolyORB_Support.Helpers): New subunit containing supporting subprograms
2834         for generation of DSA code targeted to the PolyORB PCS.
2835         (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
2836         implementation of the partition communication subsystem in ancillary
2837         subprograms.
2838         (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
2839         PolyORB_Support.Build_Stub_Type): New subrograms containing the
2840         PCS-specific part of Add_Stub_Type.
2841         (Insert_Partition_Check): Use runtime library function to perform
2842         E.4(19) check.
2843
2844         * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
2845         (RE_Same_Partition): New entity, from s-parint.
2846
2847         * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
2848
2849 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
2850
2851         * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
2852         Output the copyright message on a separate line from the version
2853         message.
2854
2855 2004-12-07  Joel Brobecker  <brobecker@adacore.com>
2856
2857         * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
2858         compile-time warning.
2859
2860 2004-12-07  Robert Dewar  <dewar@adacore.com>
2861
2862         * g-regpat.adb: (Match): Change a misuse of or to or else
2863
2864 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
2865
2866         * lib-xref.adb:
2867         (Generate_Reference): Handle properly a reference to an entry formal,
2868          when an accept statement has a pragma Unreferenced for it.
2869
2870         * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
2871         and the Has_Pragma_Unreferenced flag for each formal before analyzing
2872         the body, to ensure that warnings are properly emitted for each accept
2873         statement of a given task entry.
2874
2875 2004-12-07  Vasiliy Fofanov  <fofanov@adacore.com>
2876
2877         * Makefile.in: Add support for foreign threads on VMS.
2878
2879 2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2880
2881         * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
2882         Remove.
2883         (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
2884
2885         * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
2886
2887         * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
2888         exception.
2889         (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
2890
2891 2004-12-07  Robert Dewar  <dewar@adacore.com>
2892
2893         * nlists.adb (Prepend_Debug): Remove parameters and nest within
2894         Prepend.
2895         (Remove_Next_Debug): Same fix
2896
2897         * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
2898         maintain back pointers now, though we did not used to, and comments
2899         were out of date).
2900         (Prepend): Remove pragma Inline.
2901         (Remove_Next): Same cleanup
2902
2903 2004-12-07  Thomas Quinot  <quinot@adacore.com>
2904
2905         * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
2906         used to record an implicit dereference as a read operation on its
2907         prefix when operating under -gnatc. Necessary to avoid spurious
2908         'variable assigned but never read' warnings in that mode.
2909         (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
2910         is a non-overloaded implicit dereference, call the above subprogram to
2911         ensure proper recording of references.
2912
2913 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
2914
2915         * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
2916         to be resolved later as part of Analyze_Iteration_Scheme's call to
2917         Make_Index.
2918
2919 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
2920
2921         * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
2922         prefix is not a scalar type, place error message on prefix, not on
2923         type entity.
2924
2925 2004-12-07  Bernard Banner  <banner@adacore.com>
2926
2927         * vxaddr2line.adb: Add support for x86 vxworks
2928
2929 2004-12-07  Thomas Quinot  <quinot@adacore.com>
2930
2931         * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
2932         documentation of the behaviour of these functions when passed an IP
2933         address that has no record in the system hosts database and no reverse
2934         record in the DNS.
2935
2936         * cstand.adb, a-tags.ads: Fix typos in comment.
2937
2938 2004-12-07  Robert Dewar  <dewar@adacore.com>
2939
2940         * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
2941         exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
2942         sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
2943         s-poosiz.ads: Minor reformatting
2944
2945         * make.adb: Minor reformatting
2946         Add some ??? comments asking for more comments
2947
2948         * s-poosiz.adb: Minor reformatting
2949         Add comments on alignment requirement
2950
2951         * sinfo.ads: Remove obsolete comment and fix typo.
2952
2953 2004-12-07  Vincent Celier  <celier@adacore.com>
2954             Sergey Rybin  <rybin@adacore.com>
2955
2956         * gnat_ugn.texi: Update the section "The GNAT Driver and Project
2957         Files" with the new tool and package names.
2958         Reformatting to suppress most of the warnings for line too long
2959         Document the new section "Project Search Path:" in the output of
2960         gnatls -v.
2961         Add gnatmetric section
2962
2963 2004-12-07  Vincent Celier  <celier@adacore.com>
2964
2965         * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
2966         -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
2967         and -eit to -ept. Added qualifier
2968         /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
2969
2970 2004-11-27  Andreas Schwab  <schwab@suse.de>
2971
2972         * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
2973
2974 2004-11-25  Arnaud Charlet  <charlet@adacore.com>
2975
2976         * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
2977         internal implementation unit GNAT.Sockets.Thin,
2978         as their usage for sockets is non-portable (using the read and write
2979         functions from the system runtime library is fine on UNIX but won't
2980         work under Windows).
2981
2982         * mingw32.h: Update copyright notice.
2983
2984 2004-11-25  Arnaud Charlet  <charlet@adacore.com>
2985
2986         * ada-tree.h: Minor reformatting of previous change to avoid lines
2987         longer than 79 characters.
2988
2989 2004-11-25  Olivier Hainque  <hainque@adacore.com>
2990
2991         * tb-gcc.c: GCC infrastructure based implementation of
2992         __gnat_backtrace.
2993
2994 2004-11-24  Steven Bosscher  <stevenb@suse.de>
2995
2996         * misc.c (gnat_post_options): Don't clear
2997         flag_inline_functions.
2998
2999 2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
3000
3001         PR ada/17986
3002         * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
3003         tree.
3004
3005 2004-11-21  Andreas Jaeger  <aj@suse.de>
3006
3007         * stylesw.adb: Change Style_Check_Subprogram_Order to
3008         Style_Check_Order_Subprograms.
3009
3010 2004-11-18  Arnaud Charlet  <charlet@adacore.com>
3011
3012         * adaint.h, adaint.c
3013         (__gnat_portable_spawn): Fix cast of spawnvp third parameter
3014         to avoid warnings.
3015         Add also a cast to kill another warning.
3016         (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
3017         parameter with the priority class of the parent process instead of
3018         always using the NORMAL_PRIORITY_CLASS.
3019         (__gnat_dup): New function.
3020         (__gnat_dup2): New function.
3021         (__gnat_is_symbolic_link): Enable the effective body of this
3022         function when __APPLE__ is defined.
3023
3024         * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
3025         Update comments.
3026
3027 2004-11-18  Olivier Hainque  <hainque@adacore.com>
3028
3029         * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
3030         address of which may be used to represent "others" and "all others"
3031         choices in exception tables, instead of the current harcoded
3032         (void *)0 and (void *)1.
3033         (Setup_Exception): Do nothing in the GNAT SJLJ case.
3034
3035         * gigi.h (others_decl, all_others_decl): New decls representing the
3036         new Others_Value and All_Others_Value objects.
3037         (struct attrib): Rename "arg" component as "args", since GCC expects a
3038         list of arguments in there.
3039
3040         * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
3041         corresponding objects exported by a-exexpr, instead of hardcoded dummy
3042         addresses.
3043
3044         * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
3045         others_decl and all_others_decl instead of hardcoded dummy addresses
3046         to represent "others" and "all others" choices, which is cleaner and
3047         more flexible with respect to the possible eh pointer encoding policies.
3048
3049         * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
3050         (process_attributes): Account for the naming change of the "args"
3051         attribute list entry component.
3052
3053         * decl.c (build_attr_list): Rename into prepend_attributes to allow
3054         cumulating attributes for different entities into a single list.
3055         (gnat_to_gnu_entity): Use prepend_attributes to build the list of
3056         attributes for the current entity and propagate first subtype
3057         attributes to other subtypes.
3058         <E_Procedure>: Attribute arguments are attr->args and not
3059         attr->arg any more.
3060         (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
3061         argument provided, as this is what GCC expects. Use NULL_TREE instead
3062         of 0 for trees.
3063
3064 2004-11-18  Robert Dewar  <dewar@adacore.com>
3065
3066         * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
3067         Minor reformatting througout (including new function specs)
3068         Add ??? comments asking for clarification.
3069
3070 2004-11-18  Thomas Quinot  <quinot@adacore.com>
3071
3072         * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
3073         incomplete duplicate implementation of this subprogram from butil.
3074
3075 2004-11-18  Thomas Quinot  <quinot@adacore.com>
3076
3077         * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
3078         procedures factors the common processing for building an RPC receiver
3079         for an RCI package or an RACW type.
3080         Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
3081         Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
3082         (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
3083         in use.
3084         (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
3085         Add_RACW_Features.
3086         (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
3087         Add_RAST_Features.
3088         (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
3089         distribution subprogram identifiers that are either subprogram numbers
3090         or strings.
3091         (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
3092         string distribution identifiers assigned to a given subprogram.
3093         (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
3094         (Add_RAS_Dereference_TSS): Add comments.
3095         (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
3096         is not referenced yet because it will be used by the PolyORB DSA
3097         implementation.
3098         (Insert_Partition_Check): Remove fossile code.
3099         (First_RCI_Subprogram_Id): Document this constant.
3100         (Add_RAS_Access_TSS): Correct the setting of the Etype of the
3101         RAS_Access TSS.
3102         (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
3103         replaced with calls to Get_Library_Unit_Name_String. Previously there
3104         were several instances of the same code in different locations in the
3105         compiler; this checkin completes the replacement of all of these
3106         instances with calls to a common subprogram.
3107         Minor reformatting.
3108
3109         * sem_dist.adb: Remove comment noting that RPC receiver generation
3110         should be disabled for RACWs that implement RASs.
3111         (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
3112
3113         * sem_util.ads, sem_util.adb (Has_Stream): New function
3114         (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
3115         qualified name of a library unit into the name buffer.
3116         (Note_Possible_Modification): Generate a reference only
3117         if the context comes from source.
3118
3119         * snames.ads (PCS_Names): New subtype corresponding to names of
3120         supported implementations of the Partition Communication Subsystem
3121         (PCS) (i.e. the runtime library support modules for the distributed
3122         systems annex).
3123
3124 2004-11-18  Robert Dewar  <dewar@adacore.com>
3125             Ed Schonberg  <schonberg@adacore.com>
3126
3127         * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
3128         (Has_Rep_Pragma): New function
3129         (Has_Attribute_Definition_Clause): New function
3130         (Record_Rep_Pragma): Moved here from sem_ch13.adb
3131         (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
3132
3133         * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
3134
3135         * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
3136         (Expand_Pragma_Psect_Object): New procedure
3137         These procedures contain the revised and cleaned up processing for
3138         these two pragmas. This processing was formerly in Sem_Prag, but
3139         is more appropriately moved here. The cleanup involves making sure
3140         that the pragmas are properly attached to the tree, and that no
3141         nodes are improperly shared.
3142
3143         * sem_prag.adb: Move expansion of Common_Object and Psect_Object
3144         pragmas to Exp_Prag, which is more appropriate.
3145         Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
3146         check for duplicates Remove use of Is_Psected flag, no longer needed.
3147         Use new Make_String_Literal function with string.
3148
3149         * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
3150         that are functions return universal values, that have to be converted
3151         to the context type.
3152         Use new Make_String_Literal function with string.
3153         (Get_Stream_Convert_Pragma): New function, replaces the use of
3154         Get_Rep_Pragma, which had to be kludged to work in this case.
3155
3156         * freeze.adb: Use new Has_Rep_Pragma function
3157
3158         * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
3159         function with string.
3160         Use new Has_Rep_Pragma function.
3161
3162         * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
3163         string argument.
3164
3165 2004-11-18  Robert Dewar  <dewar@adacore.com>
3166
3167         * errout.ads, errout.adb: (First_Sloc): New function
3168
3169         * par-ch5.adb (P_Condition): Check for redundant parens is now a style
3170         check (-gnatyx) instead of being included as a redundant construct
3171         warning.
3172
3173         * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
3174         Style_Check_Order_Subprograms.
3175
3176         * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
3177         stylesw.adb: Add Style_Check_Xtra_Parens
3178
3179         * usage.adb: Add line for -gnatyx (check extra parens)
3180
3181         * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
3182
3183 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
3184             Robert Dewar  <dewar@adacore.com>
3185
3186         * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
3187         discriminant of a constrained subtype, analyze the copy of the
3188         corresponding constraint, because in some cases it may be only
3189         partially analyzed.
3190         Removes long-lived ??? comments.
3191
3192         * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
3193         handled controlled or secondary-stack expressions within the
3194         iteration_scheme of a loop.
3195
3196         * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
3197         bounds that may contain functions calls, to prevent memory leaks when
3198         the bound contains a call to a function that uses the secondary stack.
3199         (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
3200         generate temporaries for loop bounds that might contain function calls
3201         that require secondary stack and/or finalization actions.
3202
3203         * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
3204         selected component and the selector is overloadable (not just a
3205         function) treat as function call, Analyze_Call will disambiguate if
3206         necessary.
3207         (Analyze_Selected_Component): Do not generate an actual subtype for the
3208         selected component if expansion is disabled. The actual subtype is only
3209         needed for constraint checks.
3210         (Analyze_Allocator): If restriction No_Streams is set, then do
3211         not permit objects to be declared of a stream type, or of a
3212         composite type containing a stream.
3213
3214         * restrict.ads: Remove the a-stream entry from Unit_Array, since
3215         No_Streams no longer prohibits with'ing this package.
3216
3217         * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
3218         discriminants, but the parent base has unknown discriminants, there is
3219         no discriminant constraint to inherit. Such a discrepancy can arise
3220         when the actual for a formal type with unknown discriminants is a
3221         similar private type whose full view has discriminants.
3222         (Analyze_Object_Declaration): If restriction No_Streams is set, then
3223         do not permit objects to be declared of a stream type, or of a
3224         composite type containing a stream.
3225
3226 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
3227
3228         * exp_dbug.ads: Update documentation to reflect simpler encoding for
3229         protected operations.
3230
3231         * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
3232         generated name, it complicates decoding in gdb and hinders debugging
3233         of protected operations.
3234         (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
3235         flag for the protected entry barrier function.
3236         (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
3237         flag for the protected entry function.
3238
3239 2004-11-18  Nicolas Setton  <setton@adacore.com>
3240
3241         * expect.c: Define __unix__ when __APPLE__ is defined.
3242
3243         * Makefile.in: Inform the value of the variable GMEM_LIB in the
3244         Darwin-specific section.
3245
3246         * lang-specs.h: Change the placement of the %1 marker.
3247         Works around the fact that gcc adds -fPIC by default under Darwin.
3248
3249 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
3250
3251         * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
3252         type of the object with the packed array type, set the Analyzed flag
3253         on the object if it is an entity or simple indexed component, to avoid
3254         spurious type errors.
3255
3256 2004-11-18  Gary Dismukes  <dismukes@adacore.com>
3257
3258         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
3259         gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
3260         separate line from the version message.
3261
3262 2004-11-18  Ed Falis  <falis@adacore.com>
3263
3264         * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
3265         vthreads.
3266         (init_float): Eliminate initialization of floating point status for
3267         AE653. The instructions have no effect for vThreads.
3268
3269 2004-11-18  Vincent Celier  <celier@adacore.com>
3270
3271         * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
3272         gnatbind is invoked with -shared.
3273
3274 2004-11-18  Jose Ruiz  <ruiz@adacore.com>
3275
3276         * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
3277         for Detect_Blocking which is redundant with the check done within the
3278         procedure Protected_Single_Entry_Call.
3279         (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
3280         Detect_Blocking which is redundant with the check done within the
3281         procedure Protected_Single_Entry_Call.
3282
3283 2004-11-18  Vincent Celier  <celier@adacore.com>
3284
3285         * makegpr.adb (Compile): Put the compiling switches (in package
3286         Compiler and on the command line) immediately after "-c", instead of
3287         at the end of the command line invocation of the compiler, when
3288         compiling a non-Ada file.
3289         (Build_Global_Archive): When there is no need to rebuild the archive,
3290         set Global_Archive_Exists, so that the archive is passed to the linker
3291         if one is needed.
3292
3293 2004-11-18  Robert Dewar  <dewar@adacore.com>
3294             Sergey Rybin  <rybin@adacore.com>
3295
3296         * gnat_ugn.texi:
3297         Remove extra paren check from list of checks for redundant constructs
3298         Add documentation of new -gnatyx style check (check extra parens)
3299         Remove paragraph about gnatelim debug options.
3300
3301         * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
3302         objects rather than forbidding dependencies on the package Ada.Streams.
3303
3304         * sinfo.ads: Add ??? note that we should document pragmas passed to
3305         back end.
3306
3307         * g-expect.ads: Fix a few typos in the comments.
3308
3309 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
3310
3311         * misc.c (gnat_handle_option): Use %< and %> for quoting in
3312         warning message.
3313
3314 2004-11-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3315
3316         * a-numaux-x86.adb (Tan): Fix fdivp syntax.
3317
3318 2004-11-07  Andreas Schwab  <schwab@suse.de>
3319
3320         * Makefile.in (install-gnatlib): Remove spurious hyphen.
3321
3322 2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
3323
3324         PR ada/18228
3325         * Makefile.in (darwin): Set soext to .dylib.
3326
3327 2004-10-26  Vincent Celier  <celier@gnat.com>
3328             Thomas Quinot   <quinot@act-europe.fr>
3329
3330         * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
3331         (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
3332         there is no use of GNAT.Sockets.Constants.
3333         Remove remaining pragma Import for C_Write
3334         Remove C_Read and C_Write from internal implementation unit
3335         GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
3336         the read and write functions from the system runtime library is fine
3337         on UNIX but won't work under Windows).
3338
3339         * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
3340         (Check_Selector): Use C_Recv instead of C_Read.
3341         Selectors are the GNAT.Sockets abstraction to perform a select()
3342         call on a set of descriptors. To allow abortion of an ongoing
3343         select operation, some data is written to a dedicated socket that
3344         is always monitored.
3345         Under Windows, the write and read library functions cannot operate
3346         on sockets, so we need to use send and recv instead, which is portable
3347         across all supported platforms.
3348
3349         * g-socthi.ads: Remove C_Read and C_Write from internal implementation
3350         unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
3351         (using the read and write functions from the system runtime library is
3352         fine on UNIX but won't work under Windows).
3353
3354 2004-10-26  Nicolas Setton  <setton@act-europe.fr>
3355
3356         * mlib-tgt-darwin.adb: New file.
3357
3358         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
3359         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
3360         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
3361         mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
3362         subprogram body.
3363
3364         * Makefile.in: Add support for building shared libraries under Darwin.
3365         (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
3366         the low level EH init subprogram to be called from __gnat_initialize.
3367
3368         * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
3369         indicates which options to pass to the archive indexer.
3370
3371         * mlib-utl.adb: Add support for calling ranlib with additional
3372         options. This is needed for instance under Mac OS X.
3373         (Ranlib_Options): New global variable, used to store the potential
3374         options to pass to ranlib.
3375         (Ar): Use Ranlib_Options when spawning ranlib.
3376         (Initialize): Set the value of ranlib option.
3377
3378 2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
3379
3380         * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
3381         instead of 8K, to reflect the real potential needs for stack-checking
3382         in the ZCX case.
3383
3384 2004-10-26  Pascal Obry  <obry@gnat.com>
3385
3386         * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
3387
3388         * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
3389         Windows only the initial thread stack size can be set so it is good to
3390         start we a low stack size.
3391         The OS will adjust the size as needed.
3392
3393 2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
3394             Nicolas Setton  <setton@act-europe.fr>
3395
3396         * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
3397         "__unix__" instead of "unix".
3398         The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
3399         sections were just mistakenly ignored. The former is
3400         implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
3401         Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
3402         of hpux. This prevents an unwanted definition of the symbol
3403         convert_addresses in adaint.o.
3404
3405 2004-10-26  Gary Dismukes  <dismukes@gnat.com>
3406
3407         * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
3408         compatibility with type Unwind_Word on 16-bit targets such as AAMP.
3409
3410 2004-10-26  Cyrille Comar  <comar@act-europe.fr>
3411
3412         * a-filico.ads, a-filico.adb: fix incorrect header.
3413
3414 2004-10-26  Javier Miranda  <miranda@gnat.com>
3415
3416         * a-ststio.ads: Fix typo in identifier
3417
3418 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
3419
3420         * sem_ch4.adb: Minor reformatting.
3421
3422 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3423
3424         * checks.adb (Expr_Known_Valid): If floating-point validity checks are
3425         enabled, check the result of unary and binary operations when the
3426         expression is the right-hand side of an assignment.
3427
3428 2004-10-26  Vincent Celier  <celier@gnat.com>
3429
3430         * clean.adb (Delete): Do not output warnings when in quiet output and
3431         not in verbose mode.
3432         (Force_Deletions): New Boolean flag, defaulted to False
3433         (Delete): Only delete a file if it is writable, and when
3434         Force_Deletions is True.
3435         (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
3436         (Usage): Line for new switch -f
3437         (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
3438         own.
3439
3440 2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
3441
3442         * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
3443         JM type only if its size matches that of the wrapper.  When a size is
3444         prescribed and the field is not aliased, remove the wrapper of a JM
3445         type only if the size is not greater than that of the packed array.
3446         (gnat_to_gnu_entity): Change the extension of packed array wrappers
3447         from LJM to JM.
3448
3449 2004-10-26  Geert Bosch  <bosch@gnat.com>
3450
3451         * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
3452         (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
3453         (Pred): Implement in terms of Succ.
3454
3455 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3456
3457         * exp_aggr.adb (Safe_Component): An aggregate component that is an
3458         unchecked conversion is safe for in-place use if the expression of the
3459         conversion is safe.
3460         (Expand_Array_Aggregate): An aggregate that initializes an allocator may
3461         be expandable in place even if the aggregate does not come from source.
3462         (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
3463         designated object of an allocator in place, rather than building it
3464         first on the stack. The previous scheme forces a full copy of the array,
3465         and may be altogether unsusable if the size of the array is too large
3466         for stack allocation.
3467
3468 2004-10-26  Robert Dewar  <dewar@gnat.com>
3469
3470         * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
3471         compares if the component is atomic.
3472
3473         * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
3474         array assignment if the component type is atomic.
3475
3476 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3477             Eric Botcazou  <ebotcazou@act-europe.fr>
3478
3479         * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
3480         is aliased and is a by_reference type, do not pass by copy.
3481         (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
3482         detect whether the call is in the right side of an assignment or
3483         the expression of an object declaration.  Recurse on component
3484         association within aggregates.
3485         Call it in the condition that determines whether the temporary is
3486         necessary for correct stack-checking.
3487
3488 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
3489
3490         * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
3491         RACW_Type, used in the PolyORB version.
3492         Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
3493         version and the GARLIC version.
3494
3495         * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
3496         Rename RCI_Info to RCI_Locator for better consistency between the
3497         GARLIC and PolyORB versions of the distributed systems annex.
3498         (DSA_Implementation_Name): This enumeration lists the possible
3499         implementations of the Partition Communication Subsystem for the
3500         Distributed Systems Annex (DSA). The three available implementations
3501         are the dummy stub implementation (No_DSA), and two versions based on
3502         two different distribution runtime libraries: GARLIC and PolyORB. Both
3503         the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
3504         technology.
3505         Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
3506         that organization.
3507
3508         * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
3509         between the GARLIC and PolyORB versions of the distributed systems
3510         annex.
3511         Remove RE_Unbounded_Reclaim_Pool since it is unused.
3512
3513 2004-10-26  Gary Dismukes  <dismukes@gnat.com>
3514
3515         * gnat1drv.adb: Suppress calling the back end when
3516         Frontend_Layout_On_Target is true.
3517
3518 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
3519
3520         * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
3521         Set_Read_Only): New subprograms.
3522         These new routines allow the user to set or unset the Owner execute
3523         and Owner write permission flags on a file.
3524
3525         * makegpr.adb, mlib.adb, mlib-prj.adb: Use
3526         GNAT.OS_Lib.Set_Executable instead of rolling our own.
3527
3528 2004-10-26  Matthew Gingell  <gingell@gnat.com>
3529
3530         * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
3531
3532 2004-10-26  Pascal Obry  <obry@gnat.com>
3533
3534         * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
3535         memory before the faulting page we properly test the process read
3536         access for this address using appropriate Win32 routine.
3537         (HPUX sections): guard with "__hpux__" instead of "hpux".
3538
3539 2004-10-26  Robert Dewar  <dewar@gnat.com>
3540
3541         * lib-xref.adb (Generate_Reference): Don't complain about reference to
3542         entry parameter if pragma Unreferenced set, since we do not properly
3543         handle the case of multiple parameters.
3544
3545 2004-10-26  Vincent Celier  <celier@gnat.com>
3546
3547         * prj-env.adb: (Contains_ALI_Files): New Boolean function
3548         (Ada_Objects_Path.Add): For a library project, add to the object path
3549         the library directory only if there is no object directory or if the
3550         library directory contains ALI files.
3551         (Set_Ada_Paths.Add.Recursive_Add): Ditto
3552
3553 2004-10-26  Vincent Celier  <celier@gnat.com>
3554
3555         * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
3556         extension of library projects.
3557
3558         * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
3559         path defaults to ".:<prefix>/lib/gnat".
3560         (Parse): For an extending all project, allow direct import of a project
3561         that is virtually extended.
3562
3563         * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
3564         the specified name is directly imported, return its ID. Otherwise, if
3565         an extension of this project is imported, return the ID of the
3566         extension.
3567
3568 2004-10-26  Robert Dewar  <dewar@gnat.com>
3569
3570         * s-arit64.adb: (Le3): New function, used by Scaled_Divide
3571         (Sub3): New procedure, used by Scaled_Divide
3572         (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
3573         correct more than one instance of failure to propagate carries
3574         correctly.
3575         (Double_Divide): Handle overflow case of largest negative number
3576         divided by minus one.
3577
3578         * s-arit64.ads (Double_Divide): Document that overflow can occur in
3579         the case of a quotient value out of range.
3580         Fix comments.
3581
3582 2004-10-26  Robert Dewar  <dewar@gnat.com>
3583
3584         * s-bitops.adb (Bit_Eq): Remove redundant check.
3585
3586         * s-bitops.ads: Minor comment updates
3587         Change some occurrences of Address to System.Address
3588
3589         * s-carsi8.ads: Fix minor cut-and-paste error in comments
3590
3591 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3592
3593         * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
3594         accessibility check to prefix that is a protected operation.
3595
3596 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3597
3598         * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
3599         empty, post message on stub.
3600
3601 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3602             Javier Miranda  <miranda@gnat.com>
3603
3604         * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
3605         current instance appears within a unit that is directly in the context
3606         of the main unit.
3607         Used to determine whether the body of the instance should be analyzed
3608         immediately after its spec, to make its subprogram bodies available
3609         for front-end inlining.
3610         (Analyze_Formal_Array_Type): Cleanup condition that checks that range
3611         constraint is not allowed on the component type (AARM 12.5.3(3))
3612
3613 2004-10-26  Cyrille Comar  <comar@act-europe.fr>
3614
3615         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
3616         'Storage_Pool): enhance, document & limit detection of non-sharable
3617         internal pools.
3618
3619         * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
3620
3621         * s-pooglo.ads: Add more documentation now that this pool is properly
3622         documented.
3623
3624 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3625
3626         * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
3627         or protected type with discriminants, do not constrain the
3628         corresponding record type if the subtype declaration has no
3629         discriminant constraints. This can be the case in source code, or in
3630         the subtype declaration created to rename an actual type within an
3631         instantiation.
3632
3633 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3634
3635         * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
3636         different kind of stub (possibly wrong name for file), do not check
3637         for conformance.
3638         (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
3639         includes call to some function that returns an unconstrained type, do
3640         not inline.
3641
3642 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3643
3644         * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
3645         appear in the code for the main unit. Dependencies among units in the
3646         context of the main unit are established when those other units are
3647         compiled. Otherwise spurious elaboration constraints can generate
3648         incorrect elaboration circularities.
3649
3650 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
3651             Ed Schonberg   <schonberg@gnat.com>
3652
3653         * sem_util.adb (Is_Aliased_View): Defend against the case where this
3654         subprogram is called with a parameter that is not an object name. This
3655         situation arises for some cases of illegal code, which is diagnosed
3656         later, and in this case it is wrong to call Is_Aliased, as that might
3657         cause a compiler crash.
3658         (Explain_Limited_Type): Refine previous fix to include
3659         inherited components of derived types, to provide complete information.
3660
3661         * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
3662         is the prival for a protected object.
3663         It is necessary to mark this entity as a variable, in addition to
3664         flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
3665         modified to avoid checking the Aliased flag on entities that are not
3666         objects. (Checking that flag for non-objects is erroneous and could
3667         lead to a compiler crash).
3668
3669 2004-10-26  Robert Dewar  <dewar@gnat.com>
3670
3671         * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
3672         X_Frac = 0.5, then we know that the number X must be positive.
3673         (Succ): Remove the same redundant test, and also fix the primary test
3674         to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
3675         Minor reformatting
3676         (Decompose): Add fuller comments to spec
3677
3678 2004-10-26  Pascal Obry  <obry@gnat.com>
3679
3680         * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
3681         validity (process must have read access). Set to 0 in all other cases.
3682         (STOP_FRAME): Now check for ptr validity to avoid a segmentation
3683         violation on Win32.
3684         (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
3685         segmentation violation.
3686
3687 2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
3688
3689         * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
3690         whose type is a constructed subtype of an aliased object with an
3691         unconstrained nominal subtype, convert the actual to the constructed
3692         subtype before taking its address.
3693
3694 2004-10-26  Vincent Celier  <celier@gnat.com>
3695
3696         * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
3697         (Is_Path_Name_Case_Sensitive): New function
3698
3699         * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
3700         (Base_Name, Simple_Name, Current_Directory, Compose,
3701         Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
3702         the result.
3703
3704 2004-10-26  Cyrille Comar    <comar@act-europe.fr>
3705             Vasiliy Fofanov  <fofanov@act-europe.fr>
3706             Vincent Celier   <celier@gnat.com>
3707
3708         * gnat_ugn.texi: Generalize "finding memory problems" section into a
3709         "memory management issues" section and document some of the useful
3710         memory pools provided as part of the GNAT library.
3711         Remove "virtual" from declaration of A::method2 in
3712         the simple example of Ada/C++ mixed system.
3713         Library Projects may be virtually extended: their virtual extensions
3714         are not Library Projects.
3715         Added section on extending project hierarchies.
3716
3717 2004-10-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
3718
3719         * adaint.c (__gnat_get_libraries_from_registry): Cast value
3720         to LPBYTE.
3721         (__gnat_portable_spawn): Remove const.
3722
3723         * mingw32.h (MAXPATHLEN): Check for previous definition.
3724
3725 2004-10-17  Matthias Klose  <doko@debian.org>
3726
3727         * gnatvsn.ads: Set gnat library version to 4.0.
3728
3729 2004-10-05  Vincent Celier  <celier@gnat.com>
3730
3731         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
3732
3733 2004-10-04  Laurent GUERBY <laurent@guerby.net>
3734
3735         PR ada/15156
3736         * Makefile.in: Define and use RANLIB_FLAGS.
3737
3738 2004-10-04  Pascal Obry  <obry@gnat.com>
3739
3740         * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
3741         other x86 platforms).
3742
3743 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
3744
3745         * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
3746         in general and triggers stack alignment adjustment for thread entry
3747         points on targets where this is necessary.
3748
3749 2004-10-04  Bernard Banner  <banner@gnat.com>
3750
3751         PR ada/13897
3752
3753         * Makefile.in: Add section for powerpc linux
3754         Add variant i-vxwork-x86.ads
3755
3756         * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
3757
3758 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
3759
3760         * init.c (__gnat_initialize): Call an Ada subprogram to perform the
3761         table registration calls when need be. Ensures no reference to the crt
3762         ctors symbol are issued in the SJLJ case, which avoids possible
3763         undefined symbol errors in the case of modules to be statically linked
3764         with the kernel.
3765
3766 2004-10-04  Javier Miranda  <miranda@gnat.com>
3767
3768         * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
3769         in-line the code corresponding to subprogram Analyze_Actuals. In
3770         addition, analyze the actuals only in case of subprogram call.
3771
3772 2004-10-04  Ed Falis  <falis@gnat.com>
3773
3774         * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
3775
3776 2004-10-04  Sergey Rybin  <rybin@act-europe.fr>
3777
3778         * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
3779         in the documentation.
3780
3781 2004-10-04  Robert Dewar  <dewar@gnat.com>
3782
3783         * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
3784         IF and CASE.
3785         (Analyze_Block_Statement): Add circuitry to detect following dead code
3786         (Check_Unreachable_Code): Handle case of block exit
3787
3788 2004-10-04  Robert Dewar  <dewar@gnat.com>
3789
3790         * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
3791         (XMatchD): Avoid warning for Logic_Error call
3792
3793 2004-10-04  Robert Dewar  <dewar@gnat.com>
3794
3795         * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
3796         consider expressions buried within a procedure actual to be an actual.
3797         This caused some blowups with uses of packed slices within a procedure
3798         actual.
3799
3800 2004-10-04  Robert Dewar  <dewar@gnat.com>
3801
3802         * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
3803         longer need to be initialized to zero.
3804         (Get_Simple_Init_Val): Modular packed arrays no longer need to be
3805         initialized to zero.
3806
3807         * checks.adb (Expr_Known_Valid): Packed arrays are now always
3808         considered valid, even if the representation is modular. That's correct
3809         now that we no longer initialize packed modular arrays to zero.
3810
3811         * exp_dbug.ads: Clarify documentation on handling of PAD and JM
3812         suffixes. These are now documented as the only cases in which the
3813         debugger ignores outer records.
3814         Previously, the spec allowed arbitrary suffixes for this purpose.
3815         Change name of LJM to JM for packed array pad records
3816         Create separate section on packed array handling, and add a whole new
3817         set of comments to this section describing the situation with packed
3818         modular types and justification requirements depending on endianness.
3819
3820 2004-10-04  Robert Dewar  <dewar@gnat.com>
3821
3822         * a-except.adb: Add a comment for last change
3823
3824         * einfo.ads: Minor spelling correction in comment
3825
3826         * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
3827
3828         * sem_ch11.adb: Fix a case of using | instead of \ for continuation
3829         messages.
3830
3831         * sem_util.ads: Minor comment update
3832
3833 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3834
3835         * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
3836         Inline_Always when in Configurable_Run_Time mode.
3837
3838         * sem_prag.adb (Process_Convention): If entity is an inherited
3839         subprogram, apply convention to parent subprogram if in same scope.
3840         (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
3841         when in Configurable_Run_Time mode.
3842
3843 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3844
3845         * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
3846         class_wide type after component list has been inherited.
3847
3848 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3849
3850         * sem_ch12.adb (Check_Generic_Actuals): New predicate
3851         Denotes_Previous_Actual, to handle properly the case of a private
3852         actual that is also the component type of a subsequent array actual.
3853         The visibility status of the first actual is not affected when the
3854         second is installed.
3855         (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
3856         make fully recursive the treatment of formals of packages declared
3857         with a box.
3858         (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
3859         the above on exit from an instantiation.
3860         (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
3861         current instantiation which is now complete.
3862         (Analyze_Package_Instantiation): No instantiated body is needed if the
3863         main unit is generic. Efficient, and avoid anomalies when a instance
3864         appears in a package accessed through rtsfind.
3865
3866 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3867
3868         * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
3869         do not generate a declaration for a temporary if the call is part of a
3870         library-level instantiation.
3871
3872 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3873
3874         * sem_util.adb (Explain_Limited_Type): Ignore internal components when
3875         searching for a limited component to flag.
3876
3877         * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
3878         expansion of Input, to account for the fact that the implicit call
3879         generated by the attribute reference must freeze the user-defined
3880         stream subprogram. This is only relevant to 'Input, because it can
3881         appear in an object declaration, prior to the body of the subprogram.
3882
3883         * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
3884         expansion can proceed and further errors uncovered.
3885         (Minor clean up): Fix cases of using | instead of \ for continuation
3886         messages.
3887
3888 2004-10-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3889
3890         * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
3891
3892         * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
3893         (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
3894         Use gcc_assert and gcc_unreachable.
3895
3896         * decl.c (gnat_to_gnu_entity, case object): Check and process a
3897         specified alignment before validating size.
3898         (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
3899         stripped-down declaration for the type of the inner field when making
3900         a JM type.
3901
3902         * utils.c (finish_record_type): Do not compute the size in units
3903         incrementally. Instead compute it once for the rep clause case.
3904         Use gcc_assert and gcc_unreachable.
3905
3906 2004-10-04  Vincent Celier  <celier@gnat.com>
3907
3908         * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
3909         in file name.
3910         (Is_Valid_Path_Name): Take '/' as a directory separator.
3911
3912 2004-10-04  Vincent Celier  <celier@gnat.com>
3913
3914         * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
3915         (Extended_Project) only if Extended_Project is defined, to avoid
3916         assertion error.
3917         (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
3918         resolved path.
3919         (Parse_Single_Project): Ditto.
3920
3921         * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
3922         Add_To_Project_Path for virtual projects.
3923
3924 2004-10-04  Vincent Celier  <celier@gnat.com>
3925
3926         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
3927         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
3928         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
3929         mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
3930         parameter Options_2.
3931
3932         * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
3933         Build_Dynamic_Library with an empty Options_2.
3934
3935         * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
3936         default anymore.
3937
3938         * makegpr.adb (Get_Imported_Directories.add): Remove trailing
3939         directory separator, if any.
3940         (Gprmake): Do not allow mains on the command line for library projects.
3941         Do not attempt to link when the project is a library project.
3942         (Library_Opts): New table to store Library_Options.
3943         (Build_Library): If Library_Options is specified, pass these options
3944         when building a shared library.
3945
3946 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
3947
3948         * s-tposen.adb (Service_Entry): The object must be always unlocked at
3949         the end of this procedure now that the unlock operation was inserted
3950         by the expander.
3951
3952 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
3953
3954         * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
3955         corresponding to the Preallocated_Stacks flags in System.
3956         (Get_Target_Parameters): Including the processing for
3957         Preallocated_Stacks.
3958
3959         * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
3960         system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
3961         system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
3962         system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
3963         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
3964         system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
3965         system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
3966         system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
3967         system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
3968         system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
3969         system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
3970         used to signal whether the compiler creates the required stacks and
3971         descriptors for the different tasks (when True) or it is done by the
3972         underlying operating system at run time (when False).
3973         It is initially set to False in all targets.
3974
3975         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
3976         if it is supported by the target.
3977         (Make_Task_Create_Call): Pass the stack address if it has been
3978         previously created. Otherwise pass a Null_Address.
3979
3980         * snames.adb: Add _stack.
3981
3982         * snames.ads: Add Name_uStack. Required to allow the expander to
3983         statically allocated task stacks.
3984
3985         * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
3986         Stack_Address argument.
3987         Check that its value is equal to Null_Address because this target does
3988         not support the static stack allocation.
3989
3990 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
3991
3992         * usage.adb: Change "pragma inline" to "pragma Inline" in information
3993         and error messages
3994
3995 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
3996
3997         * exp_dist.adb: Split declaration of asynchronous flag out of
3998         Add_RACW_Read_Attribute.
3999         Minor reformatting for better alignment with PolyORB version.
4000         Store the entity for the asynchronous flag of an RACW, rather than the
4001         expression, in the asynchronous flags table. This will allow this flag
4002         to be used in other subprograms beside Add_RACW_Read_Attribute.
4003
4004 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
4005
4006         * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
4007         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
4008         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
4009         g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
4010         g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads:  Add new
4011         sockets constant MSG_NOSIGNAL (Linux-specific).
4012         Add new sockets constant MSG_Forced_Flags, list of flags to be set on
4013         all Send operations.
4014         For Linux, set MSG_NOSIGNAL on all send operations to prevent them
4015         from trigerring SIGPIPE.
4016         Rename components to avoid clash with Ada 2005 possible reserved
4017         word 'interface'.
4018         (Check_Selector): When the select system call returns with an error
4019         condition, propagate Socket_Error to the caller.
4020
4021 2004-10-01  Jan Hubicka  <jh@suse.cz>
4022
4023         * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
4024
4025 2004-09-23  Robert Dewar  <dewar@gnat.com>
4026
4027         PR ada/17540
4028
4029         * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
4030         instead do this at freeze time (we won't do it if there is an address
4031         clause).
4032         Change "pragma inline" to "pragma Inline" in information and error
4033         messages.
4034         Minor reformatting.
4035
4036         * freeze.adb (Check_Address_Clause): Remove previous change, not the
4037         right way of doing things after all.
4038         (Freeze_Entity): For object, set Is_Public for imported entities
4039         unless there is an address clause present.
4040
4041 2004-09-21  Olivier Hainque  <hainque@act-europe.fr>
4042
4043         * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
4044         dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
4045         ensures proper handling of types with rep clauses, which might have
4046         their TYPE_SIZE set already.
4047
4048 2004-09-21  Robert Dewar  <dewar@gnat.com>
4049
4050         * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
4051         packed array types in both little- and big-endian cases. This change
4052         ensures that we no longer count on the unused bits being initialized
4053         for such types (and in particular ensures that equality testing will
4054         only read the relevant bits).
4055         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
4056         These changes mean that we no longer need to initialize small packed
4057         arrays.
4058         (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
4059         optimization to an LJM field as to its parent field.
4060
4061         * ada-tree.h, trans.c, utils.c, utils2.c:
4062         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
4063
4064 2004-09-20  Jan Hubicka  <jh@suse.cz>
4065
4066         * utils.c (gnat_finalize): Remove.
4067         (end_subprog_body): Directly call cgraph_finalize_function;
4068         do not lower the nested functions.
4069
4070 2004-09-20  Robert Dewar  <dewar@gnat.com>
4071
4072         PR ada/17540
4073
4074         * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
4075         if an address clause is present, since that means that the Import
4076         should be ignored.
4077
4078 2004-09-20  Arnaud Charlet  <charlet@act-europe.fr>
4079
4080         * 5tsystem.ads: Removed, no longer used.
4081
4082 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
4083             Zack Weinberg  <zack@codesourcery.com>
4084
4085         * ada-tree.def: Use tree_code_class enumeration constants
4086         instead of code letters.
4087         * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
4088         Update for new tree-class enumeration constants.
4089
4090 2004-09-17  Vincent Celier  <celier@gnat.com>
4091
4092         * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
4093         capabilities of the general project manager.
4094
4095 2004-09-09  Vincent Celier  <celier@gnat.com>
4096
4097         * a-direct.ads: Add pragma Ada_05
4098         (Directory_Entry_Type): Give default value to component Kind to avoid
4099         not initialized warnings.
4100
4101         * a-direct.adb (Current_Directory): Remove directory separator at the
4102         end.
4103         (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
4104         an existing directory.
4105         (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
4106         (Size (String)): Function C_Size returns Long_Integer, not File_Size.
4107         Convert the result to File_Size.
4108
4109         * prj.ads: (Project_Error): New exception
4110
4111         * prj-attr.adb: Except in procedure Initialize, Fail comes from
4112         Prj.Com, not from Osint.
4113         (Attrs, Package_Attributes): Tables moved to private part of spec
4114         (Add_Attribute, Add_Unknown_Package): Moved to new child package
4115         Prj.Attr.PM.
4116         (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
4117         Prj.Project_Error after call to Fail.
4118         (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
4119         Fail. Check that package name is not already in use.
4120
4121         * prj-attr.ads: Comment updates to indicate that all subprograms may be
4122         used by tools, not only by the project manager, and to indicate that
4123         exception Prj.Prj_Error may be raised in case of problem.
4124         (Add_Unknown_Package, Add_Attribute): Moved to new child package
4125         Prj.Attr.PM.
4126         (Attrs, Package_Attributes): Table instantiations moved from the body to
4127         the private part to be accessible from Prj.Attr.PM body.
4128
4129         * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
4130         from new package Prj.Attr.PM.
4131         (Parse_Attribute_Declaration): Call Add_Attribute from new package
4132         Prj.Attr.PM.
4133
4134         * Makefile.in: Add prj-attr-pm.o to gnatmake object list
4135
4136         * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
4137         instead of Elaboration_Checks).
4138
4139         * a-calend.adb: Minor reformatting
4140
4141 2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4142
4143         * gigi.h (maybe_pad_type): New declaration.
4144         (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
4145
4146         * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
4147
4148         * cuintp.c: Convert to use buildN.
4149
4150         * decl.c (maybe_pad_type): No longer static.
4151         (gnat_to_gnu_entity, case E_Function): Handle case of returning by
4152         target pointer.
4153         Convert to use buildN.
4154
4155         * trans.c (call_to_gnu): Add arg GNU_TARGET; support
4156         TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
4157         (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
4158         RHS.
4159         (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
4160         (gnat_gimplify_expr, case ADDR_EXPR): New case.
4161         Convert to use buildN.
4162
4163         * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
4164         TREE_READONLY for const.
4165         Convert to use buildN.
4166
4167         * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
4168         (create_var_decl): Refine when TREE_STATIC is set.
4169         Convert to use buildN.
4170
4171 2004-09-09  Gary Dismukes  <dismukes@gnat.com>
4172
4173         * gnat_ugn.texi: Delete text relating to checking of ali and object
4174         consistency.
4175
4176         * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
4177         routines.
4178
4179 2004-09-09  Jose Ruiz  <ruiz@act-europe.fr>
4180
4181         * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
4182         pragmas recognized by GNAT.
4183
4184         * gnat_rm.texi: Document pragma Detect_Blocking.
4185
4186         * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
4187         raise Program_Error if called from a protected operation.
4188
4189         * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
4190         the protected action nesting level.
4191         (Lock_Read_Only): When pragma Detect_Blocking is active increase the
4192         protected action nesting level.
4193         (Unlock): When pragma Detect_Blocking is active decrease the protected
4194         action nesting level.
4195
4196         * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
4197         Protected_Action_Nesting.
4198
4199         * s-taskin.ads: Adding the field Protected_Action_Nesting to the
4200         Common_ATCB record. It contains the dynamic level of protected action
4201         nesting for each task. It is needed for checking whether potentially
4202         blocking operations are called from protected operations.
4203         (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
4204         Detect_Blocking is active or not in the partition.
4205
4206         * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
4207         raise Program_Error if called from a protected operation.
4208         (Task_Entry_Call): When pragma Detect_Blocking is active, raise
4209         Program_Error if called from a protected operation.
4210         (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
4211         Program_Error if called from a protected operation.
4212
4213         * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
4214         raise Program_Error if called from a protected operation.
4215
4216         * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
4217         raise Program_Error if called from a protected operation, and increase
4218         the protected action nesting level.
4219         (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
4220         Program_Error if called from a protected operation, and increase the
4221         protected action nesting level.
4222         (Unlock_Entries): When pragma Detect_Blocking is active decrease the
4223         protected action nesting level.
4224
4225         * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
4226         raise Program_Error if called from a protected operation, and increase
4227         the protected action nesting level.
4228         (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
4229         Program_Error if called from a protected operation, and increase the
4230         protected action nesting level.
4231         (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
4232         raise Program_Error if called from a protected operation.
4233         (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
4234         active, raise Program_Error if called from a protected operation.
4235         (Unlock_Entry): When pragma Detect_Blocking is active decrease the
4236         protected action nesting level.
4237
4238         * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
4239         insertion of the statement raising Program_Error. The run time
4240         contains the required machinery for handling that.
4241
4242         * sem_util.ads: Change comment associated to procedure
4243         Check_Potentially_Blocking_Operation.
4244         This procedure does not insert a call for raising the exception because
4245         that is currently done by the run time.
4246
4247         * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
4248
4249         * init.c: Add the global variable __gl_detect_blocking that indicates
4250         whether pragma Detect_Blocking is active (1) or not (0). Needed for
4251         making the pragma available at run time.
4252         (__gnat_set_globals): Pass and update the detect_blocking parameter.
4253
4254         * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
4255         pragma Detect_Blocking is active.
4256
4257         * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
4258
4259         * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
4260         DB is found in the ali file. Any unit compiled with pragma
4261         Detect_Blocking active forces its effect in the whole partition.
4262
4263         * a-retide.adb (Delay_Until): Raise Program_Error if pragma
4264         Detect_Blocking is active and delay is called from a protected
4265         operation.
4266
4267         * bindgen.adb (Gen_Adainit_Ada): When generating the call to
4268         __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
4269         Detect_Blocking is active (0 otherwise).
4270         (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
4271         as Detect_Blocking parameter if pragma Detect_Blocking is active (0
4272         otherwise).
4273
4274 2004-09-09  Thomas Quinot  <quinot@act-europe.fr>
4275
4276         * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
4277         GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
4278         package.
4279
4280         * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
4281         (Register_Receiving_Stub): Add Subp_Info formal parameter.
4282         Update API in placeholder implemetation of s-parint to reflect changes
4283         in distribution runtime library.
4284
4285         * sem_ch3.adb (Expand_Derived_Record): Rename to
4286         Expand_Record_Extension.
4287
4288         * sem_disp.adb (Check_Controlling_Formals): Improve error message for
4289         primitive operations of potentially distributed object types that have
4290         non-controlling anonymous access formals.
4291
4292         * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
4293         subprogram.
4294         New implementation of expansion for remote access-to-subprogram types,
4295         based on the RACW infrastructure.
4296         This version of sem_dist is compatible with PolyORB/DSA as well as
4297         GLADE.
4298
4299         * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
4300         Asynchrronous that applies to a remote access-to-subprogram type, mark
4301         the underlying RACW type as asynchronous.
4302
4303         * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
4304          __gnat_using_gnu_linker to 1.
4305
4306         * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
4307         g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
4308         GNAT.Perfect_Hash_Generators, and remove the empty
4309         GNAT.Perfect_Hash package.
4310
4311         * atree.adb: Minor reformatting
4312
4313         * exp_ch3.adb (Expand_Derived_Record): Rename to
4314         Expand_Record_Extension.
4315         (Build_Record_Init_Proc.Build_Assignment): The default expression in
4316         a component declaration must remain attached at that point in the
4317         tree so New_Copy_Tree copies it if the enclosing record type is derived.
4318         It is therefore necessary to take a copy of the expression when building
4319         the corresponding assignment statement in the init proc.
4320         As a side effect, in the case of a derived record type, we now see the
4321         original expression, without any rewriting that could have occurred
4322         during expansion of the ancestor type's init proc, and we do not need
4323         to go back to Original_Node.
4324
4325         * exp_ch3.ads (Expand_Derived_Record): Rename to
4326         Expand_Record_Extension.
4327
4328         * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
4329         Returns the RACW type used to implement a remote access-to-subprogram
4330         type.
4331         (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
4332         New subprograms. Used to create a proxy tagged object for a remote
4333         subprogram. The proxy object is used as the designated object
4334         for RAS values on the same partition (unless All_Calls_Remote applies).
4335         (Build_Get_Unique_RP_Call): New subprogram. Build a call to
4336         System.Partition_Interface.Get_Unique_Remote_Pointer.
4337         (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
4338         Renamed from Add_RAS_*_Attribute.
4339         (Add_Receiving_Stubs_To_Declarations): Generate a table of local
4340         subprograms.
4341         New implementation of expansion for remote access-to-subprogram types,
4342         based on the RACW infrastructure.
4343
4344         * exp_dist.ads (Copy_Specification): Update comment to note that this
4345         function can copy the specification from either a subprogram
4346         specification or an access-to-subprogram type definition.
4347
4348 2004-09-09  Ed Schonberg  <schonberg@gnat.com>
4349
4350         * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
4351         in an instance, between an explicit subprogram an one inherited from a
4352         type derived from an actual.
4353
4354         * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
4355         add a polling call if the subprogram is to be inlined by the back-end,
4356         to avoid repeated calls with multiple inlinings.
4357
4358         * checks.adb (Apply_Alignment_Check): If the expression in the address
4359         clause is a call whose name is not a static entity (e.g. a dispatching
4360         call), treat as dynamic.
4361
4362 2004-09-09  Robert Dewar  <dewar@gnat.com>
4363
4364         * g-trasym.ads: Minor reformatting
4365
4366         * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
4367         packed arrays, since unused bits are expected to be zero for a
4368         comparison.
4369
4370 2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>
4371
4372         * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
4373         comment.
4374
4375 2004-09-09  Pascal Obry  <obry@gnat.com>
4376
4377         * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
4378         enable map file generation. Add the right option to generate the map
4379         file if Map_File is set to True.
4380
4381         * gnatdll.adb (Gen_Map_File): New variable.
4382         (Syntax): Add info about new -m (Map_File) option.
4383         (Parse_Command_Line): Add support for -m option.
4384         (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
4385         Minor reformatting.
4386
4387 2004-09-09  Laurent Pautet  <pautet@act-europe.fr>
4388
4389         * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
4390         new gnatdist implementation.
4391         Define a subpackage isolating the output routines specific to this
4392         verbose mode.
4393
4394 2004-09-09  Joel Brobecker  <brobecker@gnat.com>
4395
4396         * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
4397
4398         * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
4399
4400 2004-09-09  Cyrille Comar  <comar@act-europe.fr>
4401
4402         * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
4403         internal unit.
4404
4405         * opt.ads: Add Ada_Version_Runtime constant used to decide which
4406         version of the language is used to compile the run time.
4407
4408 2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>
4409
4410         * sem_util.adb (Requires_Transient_Scope): Re-enable handling
4411         of variable length temporaries for function return now that the
4412         back-end and gigi support it.
4413
4414 2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4415
4416         * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
4417
4418         * trans.c (struct stmt_group): Delete field GLOBAL.
4419         (gnat_init_stmt_group): Do not initialize it.
4420         (call_to_gnu): Use save_expr, not protect_multiple_eval.
4421         (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
4422         (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
4423         (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
4424         (start_stmt_group): Likewise.
4425         (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
4426
4427         * utils2.c (ggc.h): Include.
4428         (build_call_raise): Call build_int_cst, not build_int_2.
4429
4430         * utils.c (gnat_init_decl_processing): Fix arg to
4431         build_common_tree_nodes.
4432         (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
4433         (gnat_define_builtin): Set built_in_decls.
4434         (init_gigi_decls): Call build_int_cst, not build_int_2.
4435
4436         * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
4437         (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
4438         (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
4439         (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
4440         SET_TYPE_MODULE): Use them.
4441         (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
4442         (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
4443         (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
4444         SET_TYPE_ADA_SIZE): Likewise.
4445         (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
4446         (DECL_CONST_CORRESPONDING_VAR,
4447         SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
4448         (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
4449         (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
4450         (TYPE_RM_SIZE_NUM): New macro.
4451         (TYPE_RM_SIZE): Modified to use above.
4452
4453         * cuintp.c: (build_cst_from_int): New function.
4454         (UI_To_gnu): Use it.
4455
4456         * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
4457         (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
4458         (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
4459         MIN_EXPR for the size, copy it into new.
4460
4461 2004-09-01  Robert Dewar  <dewar@gnat.com>
4462
4463         * exp_ch6.adb (Expand_Call): Properly handle validity checks for
4464         packed indexed component where array is an IN OUT formal. This
4465         generated garbage code previously.
4466
4467         * gnat_ugn.texi: Document -fverbose-asm
4468
4469         * gnat-style.texi: Minor updates (note that boolean constants and
4470         variables are joined with AND/OR rather than short circuit forms).
4471
4472 2004-09-01  Ed Schonberg  <schonberg@gnat.com>
4473
4474         * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
4475         it is an upward conversion of an untagged type with no representation
4476         change.
4477
4478 2004-09-01  Thomas Quinot  <quinot@act-europe.fr>
4479
4480         * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
4481         System.Partition_Interface.
4482
4483         * checks.adb (Apply_Access_Checks): Do not generate checks when
4484         expander is not active (but check for unset reference to prefix of
4485         dereference).
4486
4487         * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
4488         pragma Debug as an if statement with a constant condition, for
4489         consistent treatment of entity references contained within the
4490         enclosed procedure call.
4491
4492 2004-09-01  Vincent Celier  <celier@gnat.com>
4493
4494         * bindgen.adb: (Set_EA_Last): New procedure
4495         (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
4496         Set_EA_Last.
4497         (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
4498         (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
4499         linked without errors.
4500         (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
4501         ST and EA.
4502         (Gen_Exception_Table_C): Correct same bugs
4503
4504         * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
4505
4506         * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
4507         on Windows, make sure that the drive letter is in upper case.
4508
4509         * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
4510         Windows, when the drive letter is added and Case_Sensitive is True, the
4511         drive letter is forced to upper case.
4512
4513         * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
4514         to Options_2 for the call to MLib.Utl.Gcc.
4515
4516         * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
4517         directory separator when defining BASE_DIR.
4518
4519 2004-09-01  Pascal Obry  <obry@gnat.com>
4520
4521         * gprcmd.adb (Extend): Do not output trailing directory separator. This
4522         is not needed and it confuses Windows GNU/make which does not report
4523         directory terminated by a slash as a directory.
4524         (gprcmd): Idem for "pwd" internal command.
4525
4526         * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
4527         target names rewrite to fix regressions with recent version of
4528         GNU/make. Starting with GNU/make 3.80 the pipe character was not
4529         handled properly anymore.
4530
4531 2004-09-01  Andreas Schwab  <schwab@suse.de>
4532
4533         * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
4534         * raise.c [!IN_RTS]: Undef abort.
4535
4536 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
4537
4538         * utils2.c (build_allocator): Use ssize_int.
4539
4540         * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
4541
4542 2004-08-27  Andreas Schwab  <schwab@suse.de>
4543
4544         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
4545
4546 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
4547             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4548
4549         * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
4550
4551 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
4552
4553         * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
4554         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
4555         * utils.c (init_gigi_decls): Likewise.
4556         * utils2.c (build_call_raise, build_allocator): Likewise.
4557
4558 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
4559
4560         * utils.c (gnat_init_decl_processing): Adjust
4561         build_common_tree_nodes call.
4562
4563 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
4564
4565         * utils2.c (build_allocator): Use build_int_cst for negative
4566         size types.
4567
4568 2004-08-18  Richard Henderson  <rth@redhat.com>
4569
4570         * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
4571
4572 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
4573
4574         * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
4575         call.s
4576         * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
4577         (gnat_to_gnu): Likewise.
4578
4579 2004-08-16  Pascal Obry  <obry@gnat.com>
4580
4581         * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
4582         backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
4583         option and not mdll anymore. Update comment.
4584
4585 2004-08-16  Pascal Obry  <obry@gnat.com>
4586
4587         * bld.adb (Put_Include_Project): Properly handle directory separators
4588         on Windows.
4589
4590 2004-08-16  Ed Schonberg  <schonberg@gnat.com>
4591
4592         * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
4593         decreasing the number of allocated junk nodes while searching for the
4594         appropriate subprogram.
4595
4596 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
4597
4598         * cuintp.c (UI_To_gnu): Use build_int_cst..
4599         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
4600         * utils.c (init_gigi_decls): Likewise.
4601         * utils2.c (build_call_raise): Likewise.
4602
4603 2004-08-13  Olivier Hainque  <hainque@act-europe.fr>
4604
4605         * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
4606         for a global aliased object with a variable size and an unconstrained
4607         nominal subtype, pretend there is no initializer if the one we have is
4608         incomplete, and avoid referencing an inexistant component in there. The
4609         part we have will be rebuilt anyway and the reference may confuse
4610         further operations.
4611
4612 2004-08-13  Thomas Quinot  <quinot@act-europe.fr>
4613
4614         * einfo.ads: Minor reformatting
4615
4616         * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
4617         restrictions in the ALI if we only want to warn about violations.
4618
4619 2004-08-13  Vincent Celier  <celier@gnat.com>
4620
4621         * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
4622         when creating a new Unit_Record in table Units.
4623
4624         * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
4625         that are violated, if any.
4626
4627         * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
4628         add directory separator if path already ends with a directory separator.
4629
4630 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
4631
4632         * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
4633         unit, this is an attempt to inline a construct that is not available in
4634         the current restricted mode, so abort rather than trying to continue.
4635
4636         * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
4637         discriminants that rename those of the parent, recover names of
4638         original discriminants for the constraint on the full view of the
4639         parent.
4640         (Complete_Private_Subtype): Do not create a subtype declaration if the
4641         subtype is an itype.
4642
4643         * gnat_rm.texi: Added section on implementation of discriminated
4644         records with default values for discriminants.
4645
4646 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
4647
4648         PR ada/15601
4649         * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
4650         the second operand is overloaded.
4651
4652 2004-08-10  Richard Henderson  <rth@redhat.com>
4653
4654         * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
4655         add __builtin_alloca.
4656
4657 2004-08-10  Richard Henderson  <rth@redhat.com>
4658
4659         * config-lang.in (boot_language): Yes.
4660
4661 2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
4662
4663         * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
4664         from complaining on potential uninitialized reference.
4665         Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
4666         new specification and test explicitly for non-zero return value.
4667
4668         * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
4669         returning C.int, to avoid using a derived boolean type.
4670
4671         * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
4672         Duplicate_Subexpr_No_Checks in preference to direct use of
4673         Remove_Side_Effects and New_Copy_Tree.
4674         Clear Comes_From_Source on prefix of 'Size attribute reference.
4675
4676         * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
4677         g-socthi-vxworks.adb: Change calls to
4678         GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
4679         and test explicitly for non-zero return value.
4680
4681         * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
4682         (Is_Socket_In_Set): Declare imported function as returning C.int, to
4683         avoid using a derived boolean type.
4684
4685 2004-08-09  Albert Lee  <lee@gnat.com>
4686
4687         * system-irix-n32.ads: Refine tasking priority constants for IRIX.
4688
4689 2004-08-09  Pascal Obry  <obry@gnat.com>
4690
4691         * gnat_ugn.texi: Document new way to build DLLs on Windows using
4692         GCC's -shared option.
4693
4694         * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
4695         Options_2 parameter (options put after object files).
4696
4697 2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
4698
4699         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
4700         ignore overflows on low and high bounds of an index to also account for
4701         differences in signedness between sizetype and gnu_index_subtype.
4702         These are as legitimate as the ones caused by a lower TYPE_PRECISION
4703         on sizetype.
4704
4705 2004-08-09  Robert Dewar  <dewar@gnat.com>
4706
4707         * s-solita.ads, s-solita.adb: Minor reformatting
4708
4709         * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
4710         Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
4711         obsolescent section
4712         Add note that No_Implicit_Conditionals does not suppress
4713         run time constraint checks.
4714
4715         * vms_conv.ads: Minor reformatting
4716
4717         * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
4718         and necessary for following change).
4719         (Mark): Return new format Mark_Id containing sec stack address
4720         (Release): Use sec stack address from Mark_Id avoiding Self call
4721
4722         * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
4723         pointer (cleanup and necessary for following change).
4724         Define Mark_Id as record containing address of secondary stack, that way
4725         Release does not need to find the stack again, decreasing the number of
4726         calls to Self and improving efficiency.
4727
4728         * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
4729
4730         * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
4731         case variable into the individual case branches when possible.
4732
4733         * sem_ch11.adb: Minor reformatting
4734
4735         * prj.ads: Correct spelling of suffixs
4736
4737         * prj-nmsc.adb: Minor reformatting
4738         Correct spelling suffixs throughout (also in identifiers)
4739
4740         * freeze.adb: Minor spelling correction
4741
4742         * exp_ch2.adb: Cleanups to handling of Current_Value
4743         (no functional effect).
4744
4745         * bld.adb: Correct spelling of suffixs
4746
4747         * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
4748
4749 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
4750
4751         PR ada/15408
4752
4753         * sem_ch7.adb (Install_Private_Declarations): In the body of the
4754         package or of a child, private entities are both immediately_visible
4755         and not hidden.
4756
4757 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
4758
4759         * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
4760         there are no range checks on the value of the literal.
4761
4762         * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
4763         wrapped is the triggering alternative of an asynchronous select, action
4764         statements mustbe inserted before the select itself.
4765
4766         * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
4767         case where the prefix is a protected function call.
4768         (Resolve_Attribute, case 'Access): The attribute reference on a
4769         subprogram is legal in a generic body if the subprogram is declared
4770         elsewhere.
4771
4772 2004-08-09  Vincent Celier  <celier@gnat.com>
4773
4774         * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
4775         languages, otherwise building the library may fail with unresolved
4776         symbols.
4777         (Compile_Sources): Do not build libraries if -c switch is used
4778
4779         * gnatlink.adb (Process_Args): New switches -M and -Mmap
4780         (Write_Usage): If map file creation is supported, output new switches
4781         -M and -Mmap.
4782         (Gnatlink): When -M is specified, add the necessary switch(es) to the
4783         gcc call, when supported.
4784
4785         * Makefile.in: Added indepsw.o to the object list for gnatlink
4786         Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
4787
4788         * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
4789         indepsw.adb, indepsw.ads: New files.
4790
4791 2004-08-09  Bernard Banner  <banner@gnat.com>
4792
4793         * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
4794
4795         * Makefile.in: add section for vxworks x86
4796
4797 2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
4798
4799         * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
4800         per-object constrained components where the discriminant is of an
4801         Access type.
4802         (Build_Record_Init_Proc): Add condition to prevent the inheritance of
4803         the parent initialization procedure for derived Unchecked_Unions.
4804         Instead, derived Unchecked_Unions build their own initialization
4805         procedure.
4806         (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
4807         Check the body of the subprogram for details.
4808         (Freeze_Record_Type): Prevent the inheritance of discriminant checking
4809         functions for derived Unchecked_Union types by introducing a condition.
4810         Allow the creation of TSS equality functions for Unchecked_Unions.
4811         (Make_Eq_Case): Rename formal parameter Node to E in function signature.
4812         Add formal parameter Discr to function signature. Discr is used to
4813         control the generated case statement for Unchecked_Union types.
4814         (Make_Eq_If): Rename formal parameter Node to E in function signature.
4815
4816         * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
4817         Unchecked_Unions.
4818         Check the body of the subprogram for details.
4819         (Expand_Composite_Equality): Augment composite type equality to include
4820         correct handling of Unchecked_Union components.
4821         (Expand_N_In): Add condition to detect illegal membership tests when the
4822         subtype mark is a constrained Unchecked_Union and the expression lacks
4823         inferable discriminants, and build a Raise_Program_Error node.
4824         (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
4825         to detect types that contain components of unconstrained Unchecked_Union
4826         subtype. Add condition to detect equality between types that have an
4827         unconstrained Unchecked_Union component, and build a Raise_Program_Error
4828         node. Add condition to detect equality between Unchecked_Union types
4829         that lack inferable discriminants, and build a Raise_Program_Error node.
4830         Otherwise build a TSS equality function call.
4831         (Expand_N_Type_Conversion): Add condition to detect illegal conversions
4832         from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
4833         with the operand lacking inferable discriminants, and build a Raise_
4834         Program_Error node.
4835         (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
4836         composite equality.
4837         (Has_Inferable_Discriminants): Implement new predicate for objects and
4838         expressions of Unchecked_Union type. Check the body of subprogram for
4839         details.
4840         (Has_Unconstrained_UU_Components): Add function
4841         Component_Is_Unconstrained_UU. It is used to detect whether a single
4842         component is of an unconstrained Unchecked_Union subtype. Add function
4843         Variant_Is_Unconstrained_UU. It is used to detect whether a single
4844         component inside a variant is of an unconstrained Unchecked_Union type.
4845
4846         * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
4847         inferred discriminant values. Add condition to generate a case
4848         statement with an inferred discriminant as the switch.
4849         (Make_Component_List_Assign): Introduce a Boolean flag that determines
4850         the behaviour of the subprogram in the presence of an Unchecked_Union.
4851         Add condition to trigger the usage of the inferred discriminant value
4852         as the generated case statement switch.
4853         (Make_Field_Assign): Introduce a Boolean flag that determines the
4854         behaviour of the subprogram in the presence of an Unchecked_Union. Add
4855         condition to trigger the usage of the inferred discriminant value as
4856         the right-hand side of the generated assignment.
4857
4858         * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
4859         parameter generation when dealing with Unchecked_Unions.
4860
4861         * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
4862         checks for Unchecked_Unions.
4863
4864         * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
4865
4866         * exp_attr.adb (Expand_N_Attribute_Reference): Produce
4867         Raise_Program_Error nodes for the execution of Read and Write
4868         attributes of Unchecked_Union types and the execution of Input and
4869         Output attributes of Unchecked_Union types that lack default
4870         discriminant values.
4871
4872         * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
4873         Unchecked_Union. Add procedure Check_Component. It is used to inspect
4874         per-object constrained components of Unchecked_Unions for being
4875         Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
4876         check individual components withing a variant.
4877
4878         * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
4879         comparison of Unchecked_Unions.
4880         (Resolve_Equality_OP): Remove guard that prevents equality between
4881         Unchecked_Unions.
4882
4883         * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
4884         of component subtypes for Unchecked_Union components.
4885         (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
4886         since it is the actual subtype.
4887
4888         * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
4889         pass of Unchecked_Union subtypes as generic actuals to formal types
4890         that lack known_discriminant_parts or that are derived Unchecked_Union
4891         types, and do nothing. In any other case, produce an error message.
4892
4893         * sem_ch3.adb (Analyze_Component_Declaration): Add function
4894         Contains_POC. It determines whether a constraint uses the discriminant
4895         of an enclosing record type.
4896         Add condition to detect per-object constrained component and set the
4897         appropriate flag.
4898         (Derived_Type_Declaration): Remove guard that prevents derivation from
4899         Unchecked_Union types.
4900         (Process_Subtype): Remove quard that prevents the creation of Unchecked_
4901         Union subtypes.
4902
4903         * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
4904         references to Unchecked_Union discriminants.
4905
4906         * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
4907         formal generation when dealing with Unchecked_Unions.
4908         (Set_Actual_Subtypes): Add condition to prevent generation of actual
4909         subtypes for Unchecked_Unions.
4910
4911         * sem_ch7.adb (Analyze_Package_Specification): Add procedure
4912         Inspect_Unchecked_Union_Completion. It is used to detect incorrect
4913         completions of discriminated partial views by Unchecked_Unions and
4914         produce an error message.
4915
4916 2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4917
4918         * trans.c (struct stmt_group): New field, GLOBAL.
4919         (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
4920         (struct elab_info): New struct.
4921         (elab_info_list, gnu_elab_proc_stack): New variables.
4922         (Compilation_Unit_to_gnu): New procedure.
4923         (gigi): Call it and also handle elaboration procs we've saved.
4924         (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
4925         global field from parent.
4926         (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
4927         (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
4928         (start_stmt_group): Initialize global field from parent.
4929         (add_decl_expr): Set to global for current statement group.
4930         (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
4931         post.
4932
4933         * utils.c (global_bindings_p): True when no current_function_decl; no
4934         longer check current_binding_level.
4935
4936 2004-08-09  Ben Brosgol  <brosgol@gnat.com>
4937
4938         * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
4939         choice.
4940
4941         * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
4942
4943 2004-08-06  Andreas Schwab  <schwab@suse.de>
4944
4945         * utils.c (gnat_define_builtin): Remove second parameter of
4946         make_decl_rtl.
4947         (begin_subprog_body): Likewise.
4948
4949 2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
4950
4951         * sem_util.adb (Requires_Transient_Scope): Temporarily disable
4952         optimization, not supported by the tree-ssa back-end.
4953
4954 2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
4955
4956         * s-mastop-irix.adb: Update comments.
4957
4958         * a-except.adb (Exception_Information): Raise Constraint_Error if
4959         exception Id is Null_Id.
4960         This is required behavior, which is more reliably and clearly checked
4961         at the top level interface level.
4962
4963 2004-07-26  Javier Miranda  <miranda@gnat.com>
4964
4965         * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
4966         call if a component has no default_expression and the box is used.
4967
4968         * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
4969         default_expression and you use box, it behaves as if you had declared a
4970         stand-alone object.
4971         (Resolve_Record_Aggregate): If a component has no default_expression and
4972         you use box, it behaves as if you had declared a stand-alone object.
4973
4974         * sem_ch10.adb (Install_Siblings): Do not make visible the private
4975         entities of private-with siblings.
4976
4977 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
4978
4979         * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
4980         for a component of an itype, set the parent pointer for analysis,
4981         there is no list in which to insert it.
4982
4983         * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
4984         bona-fide renamings, not for inherited operations.
4985
4986         * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
4987         actual for a formal that is an access parameter, create local
4988         finalization list even if the expression is not an aggregate.
4989
4990 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
4991
4992         PR ada/16213
4993         * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
4994         Diagnose properly illegal subprogram renamings that are library units.
4995
4996 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
4997
4998         PR ada/15588
4999         * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
5000         conversion rewritten as an unchecked conversion, check that original
5001         expression is a variable.
5002
5003         * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
5004         unchecked_conversion, create new node rather than rewriting in place,
5005         to preserve original construct.
5006
5007 2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5008
5009         * gigi.h (gnat_expand_body): Deleted.
5010
5011         * Make-lang.in: (trans.o): Depends on function.h.
5012
5013         * misc.c: (gnat_expand_body): Moved to here.
5014
5015         * trans.c (gnat_expand_body_1): Deleted.
5016         (gnat_expand_body): Moved from here.
5017         (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
5018         (add_stmt): Check for marked visited with global_bindings_p.
5019         (gnat_gimplify_expr, case COMPONENT_REF): New case.
5020         (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
5021
5022         * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
5023         VIEW_CONVERT_EXPR if not operation type.
5024
5025         * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
5026         fat pointer.
5027
5028         * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
5029         changes: reformatting of negation operators, removing unneeded
5030         inequality comparison with zero, converting equality comparisons with
5031         zero to negations, changing int/0/1 to bool/false/true, replace calls
5032         to gigi_abort with abort, and various other similar changes.
5033
5034 2004-07-26  Vincent Celier  <celier@gnat.com>
5035
5036         * gnatcmd.adb (GNATCmd): Add processing for new built-in command
5037         "setup".
5038
5039         * make.adb (Gnatmake): Fail when a library is not present and there is
5040         no object directory.
5041
5042         * mlib-prj.adb (Check_Library): No need to check if the library needs
5043         to be rebuilt if there is no object directory, hence no object files
5044         to build the library.
5045
5046         * opt.ads (Setup_Projects): New Boolean flag.
5047
5048         * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
5049         Location.
5050         Create directory when Kind /= "" and in "gnat setup". Report error if
5051         directory cannot be created.
5052         (Ada_Check): Create library interface copy dir if it does not exist
5053         and we are in "gnat setup".
5054         (Find_Sources): No error if in "gnat setup" and no Ada sources were
5055         found.
5056         (Language_Independent_Check): Create object directory, exec directory
5057         and/or library directory if they do not exist and we are in
5058         "gnat setup".
5059
5060         * vms_conv.ads: (Command_Type): New command Setup.
5061
5062         * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
5063
5064         * vms_data.ads: Add qualifiers/switches for new built-in command
5065         "setup".
5066
5067 2004-07-25  Richard Henderson  <rth@redhat.com>
5068
5069         * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
5070         DECL_IGNORED_P on RESULT_DECL.
5071
5072 2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
5073
5074         * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
5075         allocation and potentially overflowing update with
5076         Tailored_Exception_Information. Use the sec-stack free procedural
5077         interface to output Exception_Information instead.
5078
5079         * a-except.adb (To_Stderr): New subprogram for character, and string
5080         version moved from a-exextr to be visible from other separate units.
5081         (Tailored_Exception_Information): Remove the procedural version,
5082         previously used by the default Last_Chance_Handler and not any more.
5083         Adjust various comments.
5084
5085         * a-exexda.adb: Generalize the exception information procedural
5086         interface, to minimize the use of secondary stack and the need for
5087         local buffers when the info is to be output to stderr:
5088         (Address_Image): Removed.
5089         (Append_Info_Character): New subprogram, checking for overflows and
5090         outputing to stderr if buffer to fill is of length 0.
5091         (Append_Info_String): Output to stderr if buffer to fill is of length 0.
5092         (Append_Info_Address, Append_Info_Exception_Name,
5093         Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
5094         Append_Info_Basic_Exception_Traceback,
5095         Append_Info_Exception_Information): New subprograms.
5096         (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
5097         (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
5098         Exception_Info_Maxlength, Exception_Name_Length,
5099         Exception_Message_Length): New subprograms.
5100         (Exception_Information): Use Append_Info_Exception_Information.
5101         (Tailored_Exception_Information): Use
5102         Append_Info_Basic_Exception_Information.
5103         Export services for the default Last_Chance_Handler.
5104
5105         * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
5106         other separate units.
5107
5108 2004-07-20  Vincent Celier  <celier@gnat.com>
5109
5110         * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
5111
5112 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
5113
5114         * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
5115         emit itype references for the designated types of component types that
5116         are declared outside of the full record declaration, and that may
5117         denote a partial view of that record type.
5118
5119 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
5120
5121         PR ada/15607
5122         * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
5123         which is the designated type in an access component declaration, to the
5124         list of incomplete dependents of the parent type, to avoid elaboration
5125         issues with out-of-scope subtypes.
5126         (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
5127         full view of the parent.
5128
5129 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
5130
5131         PR ada/15610
5132         * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
5133         entities that are hidden, such as references to generic actuals
5134         outside an instance.
5135
5136 2004-07-20  Javier Miranda  <miranda@gnat.com>
5137
5138         * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
5139         support to the new notation.
5140         (Analyze_Selected_Component): Add call to Try_Object_Operation.
5141
5142 2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
5143
5144         * s-taprob.adb: Adding the elaboration code required for initializing
5145         the tasking soft links that are common to the full and the restricted
5146         run times.
5147
5148         * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
5149         restricted run time has been moved to the package
5150         System.Soft_Links.Tasking.
5151
5152         * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
5153         restricted run time has been moved to the package
5154         System.Soft_Links.Tasking.
5155
5156         * Makefile.rtl: Add entry for s-solita.o in run-time library list.
5157
5158         * s-solita.ads, s-solita.adb: New files.
5159
5160 2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5161
5162         * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
5163         Case_Statement_to_gnu): Split off from gnat_to_gnu.
5164         (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
5165         Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
5166         Exception_Handler_to_gnu_zcx): Likewise.
5167
5168 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
5169
5170         * gigi.h (builtin_function): Declare.
5171
5172 2004-07-15  Robert Dewar  <dewar@gnat.com>
5173
5174         * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
5175         reformatting
5176
5177         * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
5178         access values as an example of a warning.
5179
5180         * gnat_rm.texi: Document new attribute Has_Access_Values
5181
5182         * gnat-style.texi: Document that box comments belong on nested
5183         subprograms
5184
5185         * sem_util.ads (Has_Access_Values): Improved documentation
5186
5187         * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
5188
5189         * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
5190         (Process_Interface_Name): Call to this new procedure
5191         (Set_Extended_Import_Export_External_Name): Call to this new procedure
5192
5193         * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
5194
5195         * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
5196
5197         * einfo.ads: Minor comment typo fixed
5198
5199 2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
5200
5201         * snames.adb: Add _atcb.
5202
5203         * snames.ads: Add Name_uATCB.
5204
5205         * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
5206         (in the expanded code) when using the restricted run time.
5207
5208         * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
5209         a in parameter in order to allow ATCBs to be preallocated (in the
5210         expanded code).
5211
5212         * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
5213         order to allow ATCBs to be preallocated. In case of error, the ATCB is
5214         deallocated in System.Tasking.Stages.
5215
5216         * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
5217         order to allow ATCBs to be preallocated.
5218
5219         * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
5220         here. It was previously done in Initialize_ATCB.
5221
5222         * rtsfind.ads: Make the Ada_Task_Control_Block visible.
5223
5224         * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
5225         Restricted run time.
5226
5227         * exp_ch3.adb: When using the Restricted run time, pass the
5228         preallocated Ada_Task_Control_Block when creating a task.
5229
5230 2004-07-15  Ed Schonberg  <schonberg@gnat.com>
5231
5232         * sem_util.adb (Normalize_Actuals): If there are no actuals on a
5233         function call that is itself an actual in an enclosing call, diagnose
5234         problem here rather than assuming that resolution will catch it.
5235
5236         * sem_ch7.adb (Analyze_Package_Specification): If the specification is
5237         the local copy of a generic unit for a formal package, and the generic
5238         is a child unit, install private part of ancestors before compiling
5239         private part of spec.
5240
5241         * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
5242         use scope entities rather than tree structures, to handle properly
5243         parent units that are instances rewritten as bodies for inlining
5244         purposes.
5245
5246         * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
5247         Remove_Parents): Handle properly a parent unit that is an
5248         instantiation, when the unit has been rewritten as a body for inlining
5249         purposes.
5250
5251         * par.adb (Goto_List): Global variable to collect goto statements in a
5252         given unit, for use in detecting natural loops.
5253
5254         * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
5255         use in detecting natural loops.
5256
5257         * par-labl.adb (Find_Natural_Loops): Recognize loops create by
5258         backwards goto's, and rewrite as a infinite loop, to improve locality
5259         of temporaries.
5260
5261         * exp_util.adb (Force_Evaluation): Recognize a left-hand side
5262         subcomponent that includes an indexed reference, to prevent the
5263         generation of copies that would miscompile the desired assignment
5264         statement.
5265         (Build_Task_Image_Decls): Add a numeric suffix to
5266         generated name for string variable, to avoid spurious conflicts with
5267         the name of the type of a single protected object.
5268
5269         * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
5270         loop with an explicit exit statement, to avoid generating an
5271         out-of-range value with 'Succ leading to spurious constraint_errors
5272         when compiling with -gnatVo.
5273
5274 2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
5275
5276         * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
5277         might not be analyzed yet, even if its Etype is already set (case of an
5278         unchecked conversion built using Unchecked_Convert_To, for example).
5279         If the prefix has already been analyzed, this will be a nop anyway.
5280
5281         * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
5282         controller type, or an assignment of a record type with controlled
5283         components, copy only user data, and leave the finalization chain
5284         pointers untouched.
5285
5286 2004-07-15  Vincent Celier  <celier@gnat.com>
5287
5288         * make.adb (Collect_Arguments): Improve error message when attempting
5289         to compile a source not part of any project, when -x is not used.
5290
5291         * prj.ads: (Defined_Variable_Kind): New subtype
5292
5293         * prj-attr.adb (Register_New_Package): Two new procedures to register
5294         a package with or without its attributes.
5295         (Register_New_Attribute): Mew procedure to register a new attribute in a
5296         package.
5297         New attribute oriented subprograms: Attribute_Node_Id_Of,
5298         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
5299         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
5300         Next_Attribute.
5301         New package oriented subprograms: Package_Node_Id_Of,
5302         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
5303
5304         * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
5305         type.
5306         (Package_Node_Id): Now a private, self initialized type
5307         (Register_New_Package): New procedure to register a package with its
5308         attributes.
5309         New attribute oriented subprograms: Attribute_Node_Id_Of,
5310         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
5311         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
5312         Next_Attribute.
5313         New package oriented subprograms: Package_Node_Id_Of,
5314         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
5315
5316         * prj-dect.adb (Parse_Attribute_Declaration,
5317         Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
5318
5319         * prj-makr.adb (Make): Parse existing project file before creating
5320         other files. Fail if there was an error during parsing.
5321
5322         * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
5323         new spec of Prj.Attr.
5324
5325         * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
5326         to new spec of Prj.Attr.
5327
5328 2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5329
5330         * utils2.c: Fix typo in comment.
5331
5332 2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5333
5334         * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
5335         * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
5336
5337 2004-07-14  Andreas Schwab  <schwab@suse.de>
5338
5339         * trans.c (gnat_init_stmt_group): Remove duplicate definition.
5340
5341 2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5342
5343         * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
5344         object type.
5345         (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
5346         TYPE_STUB_DECL.
5347
5348         * misc.c (gnat_types_compatible_p): New function.
5349         (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
5350         (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
5351
5352         * trans.c (gigi): Move processing of main N_Compilation_Unit here.
5353         (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
5354         (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
5355         (mark_visited): Don't mark dummy type.
5356         (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
5357         parameter, we must remove any LJM building from GNU_NAME.
5358         (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
5359         (pos_to_constructor): Use int_const_binop.
5360         (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
5361         PARM_DECL.
5362
5363         * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
5364         (gnat_pushlevel): Set TREE_USE on BLOCK node.
5365         (gnat_install_builtins): Add __builtin_memset.
5366
5367 2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
5368
5369         * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
5370         for a renaming, stabilize the initialization expression if we are at a
5371         local level.  At the local level, uses of the renaming may be performed
5372         by a direct dereference of the initializing expression, and we don't
5373         want possible variables there to be evaluated for every use.
5374
5375         * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
5376         Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
5377         them on the way.  Account for the fact that we may introduce side
5378         effects in the process.
5379
5380 2004-07-13  Richard Henderson  <rth@redhat.com>
5381
5382         * misc.c (default_pass_by_ref): Use pass_by_reference.
5383
5384 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
5385
5386         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
5387         LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
5388
5389 2004-07-08  Richard Henderson  <rth@redhat.com>
5390
5391         * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
5392         commentary.
5393
5394 2004-07-06  Vincent Celier  <celier@gnat.com>
5395
5396         * vms_conv.ads: Minor reformatting.
5397         Alphabetical order for enumerated values of type Command_Type, to have
5398         the command in alphabetical order for the usage.
5399
5400         * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
5401         the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
5402
5403         * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
5404
5405         * makegpr.adb (Global_Archive_Exists): New global Boolean variable
5406         (Add_Archive_Path): Only add the global archive if there is one.
5407         (Build_Global_Archive): Set Global_Archive_Exists depending if there is
5408         or not any object file to put in the global archive, and don't build
5409         a global archive if there is none.
5410         (X_Switches): New table
5411         (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
5412         in the X_Switches table, if any.
5413         (Initialize): Make sure the X_Switches table is empty
5414         (Scan_Arg): Record -X switches in table X_Switches
5415
5416         * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
5417
5418         * make.adb: Minor comment fix
5419
5420         * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
5421         invoked with directory information, add the directory in front of the
5422         path.
5423
5424         * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
5425         invoked with directory information, add the directory in front of the
5426         path.
5427
5428         * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
5429         when Keep_Temporary_Files is False.
5430         (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
5431         directory information, add the directory in front of the path.
5432         When not on VMS, handle new switch -dn before the command to set
5433         Keep_Temporary_Files to True.
5434         (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
5435         everywhere.
5436
5437         * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
5438         invoked with directory information, add the directory in front of the
5439         path.
5440
5441 2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
5442
5443         * snames.ads, snames.adb (Name_Stub): New name for the distributed
5444         systems annex.
5445
5446         * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
5447         New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
5448
5449         * g-socket.adb (To_Timeval): Fix incorrect conversion of
5450         Selector_Duration to Timeval for the case of 0.0.
5451
5452         * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
5453         documentation from Evolve_And_Then.
5454
5455 2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
5456
5457         * s-taprop-tru64.adb, s-taprop-os2.adb,
5458         s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
5459
5460 2004-07-06  Robert Dewar  <dewar@gnat.com>
5461
5462         * s-osinte-hpux.ads, s-osinte-freebsd.ads,
5463         s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
5464         s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
5465         s-interr-sigaction.adb, s-taprop-irix-athread.adb,
5466         s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
5467         s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
5468         s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
5469         s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
5470         a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
5471         a-tags.ads, bindgen.ads, checks.adb, checks.adb,
5472         csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
5473         exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
5474         g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
5475         i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
5476         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
5477         sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
5478         sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
5479         s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
5480         s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
5481         s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
5482         vms_data.ads: Minor reformatting,
5483         Fix bad box comment format.
5484
5485         * gnat_rm.texi: Fix minor grammatical error
5486
5487         * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
5488
5489         * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
5490         more cases of discriminated records to be recognized as not needing a
5491         secondary stack.
5492         (Has_Access_Values): New function.
5493
5494         * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
5495
5496         * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
5497         Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
5498         with LRM terminology).
5499         Change terminology in comments primitive type => elementary type.
5500
5501 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
5502
5503         PR ada/15602
5504         * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
5505         parameters do not impose any requirements on the presence of a body.
5506
5507 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
5508
5509         PR ada/15593
5510         * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
5511         compilation unit and is in an open scope at the point of instantiation,
5512         assume that a body may be present later.
5513
5514 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
5515
5516         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
5517         Improve error message when specified size is not supported.
5518
5519         * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
5520         is never a primitive operation.
5521
5522 2004-07-05  Andreas Schwab  <schwab@suse.de>
5523
5524         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
5525         RECORD_OR_UNION_CHECK.
5526         (TYPE_CONTAINS_TEMPLATE_P): Likewise.
5527
5528 2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
5529
5530         * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
5531         dependency on xgnatugn, instead build it via a submake.
5532         (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
5533
5534 2004-07-04  Richard Henderson  <rth@redhat.com>
5535
5536         * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
5537
5538 2004-07-01  Richard Henderson  <rth@redhat.com>
5539
5540         * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
5541         * utils.c (max_size): Likewise.
5542
5543 2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5544
5545         * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
5546         and rest_of_type_compilation; add arg to create_*_decl.
5547         (annotate_decl_with_node): Deleted.
5548         (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
5549         * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
5550         (get_current_block_context, gnat_pushdecl): New declarations.
5551         (gnat_init_stmt_group): Likewise.
5552         (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
5553         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
5554         (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
5555         (gnat_init): Call gnat_init_stmt_group.
5556         * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
5557         (gnu_pending_elaboration_list): Deleted.
5558         (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
5559         (gigi): Rearrange initialization calls and move some to last above.
5560         (gnat_to_gnu): If statement and not in procedure, go into elab proc.
5561         Delete calls to add_decl_expr; add arg to create_*_decl.
5562         (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
5563         (gnat_to_gnu, case N_Subprogram_Body): Move some code to
5564         begin_subprog_body and call it.
5565         Don't push and pop ggc context.
5566         (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
5567         (add_stmt): Remove handling of DECL_EXPR from here.
5568         If not in function, mark visited.
5569         (add_decl_expr): Put global at top level.
5570         Check for cases of DECL_INITIAL we have to handle here.
5571         (process_type): Add extra arg to create_type_decl.
5572         (build_unit_elab): Rework to just gimplify.
5573         * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
5574         (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
5575         (get_pending_elaborations, pending_elaborations_p): Likewise.
5576         (push_pending_elaborations, pop_pending_elaborations): Likewise.
5577         (get_elaboration_location, insert_elaboration_list): Likewise.
5578         (gnat_binding_level): Renamed from ada_binding_level.
5579         (init_gnat_to_gnu): Don't clear pending_elaborations.
5580         (global_bindings_p): Treat as global if no current_binding_level.
5581         (set_current_block_context): New function.
5582         (gnat_pushdecl): Renamed from pushdecl; major rework.
5583         All callers changed.
5584         (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
5585         (finish_record_type): Call call pushdecl for stub decl.
5586         (function_nesting_depth): Deleted.
5587         (begin_subprog_body): Delete obsolete code.
5588         * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
5589
5590 2004-06-28  Robert Dewar  <dewar@gnat.com>
5591
5592         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
5593         mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
5594         mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
5595         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
5596         a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
5597
5598         * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
5599         deal with problem of inefficient slices on machines with strict
5600         alignment, when the slice is a component of a composite.
5601
5602         * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
5603         machines, we need the check there as well.
5604
5605 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
5606
5607         * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
5608         determine safe copying direction for overlapping slice assignments
5609         when component is controlled.
5610
5611         * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
5612         formal derived type in the actual for a formal package are visible in
5613         the enclosing instance.
5614
5615 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
5616
5617         PR ada/15600
5618         * sem_util.adb (Trace_Components): Diagnose properly an illegal
5619         circularity involving a private type whose completion includes a
5620         self-referential component.
5621         (Enter_Name): Use Is_Inherited_Operation to distinguish a source
5622         renaming or an instantiation from an implicit derived operation.
5623
5624 2004-06-28  Pascal Obry  <obry@gnat.com>
5625
5626         * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
5627         DLL.
5628         (Library_File_Name_For): Idem.
5629
5630 2004-06-28  Matthew Gingell  <gingell@gnat.com>
5631
5632         * g-traceb.ads: Add explanatory note on the format of addresses
5633         expected by addr2line.
5634
5635 2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
5636
5637         * Makefile.in: Force debugging information on s-tasdeb.adb,
5638         a-except.adb and s-assert.adb needed by the debugger.
5639
5640 2004-06-28  Vincent Celier  <celier@gnat.com>
5641
5642         * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
5643         Need_To_Build_Lib.
5644         (Gnatmake): Ditto.
5645
5646         * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
5647
5648         * prj.adb: Minor reformatting
5649         (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
5650
5651         * prj.ads: Comment updates
5652         Minor reformatting
5653         (Project_Data): Change Flag1 to Need_To_Build_Lib.
5654         Remove Flag2: not used.
5655
5656         * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
5657         declaration.
5658
5659         * gnat_ugn.texi: Put a "null;" declaration in one project file example
5660
5661         * gnat_rm.texi: Document Empty declarations "null;".
5662
5663         * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
5664         front of the linker options.
5665         (Link_Foreign): Put the global archives and the libraries in front of
5666         the linker options.
5667
5668 2004-06-28  Javier Miranda  <miranda@gnat.com>
5669
5670         * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
5671         (RTU_Loaded): Code cleanup
5672         (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
5673         withed predefined units.
5674
5675         * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
5676         explicitly withed predefined units.
5677         Fix typo in comment
5678
5679         * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
5680         explicitly withed predefined units.
5681
5682 2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5683
5684         * ada-tree.def (DECL_STMT): Deleted.
5685         * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
5686         (DECL_STMT_VAR): Deleted.
5687         * decl.c: add_decl_stmt now add_decl_expr.
5688         * gigi.h: Likewise.
5689         * trans.c: Likewise.
5690         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
5691         (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
5692         (add_stmt): Only handle padded type here.
5693         (add_stmt_with_node): Allow gnat_node to not be present.
5694         (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
5695         (gnat_gimplify_stmt, case DECL_STMT): Deleted.
5696         (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
5697         make a SAVE_EXPR for the entire fat pointer.
5698         * utils.c (pushdecl): Walk a DECL_EXPR in global case.
5699         (create_index_type): Make a DECL_EXPR.
5700         (end_subprog_body): Don't call allocate_struct_function here but
5701         do clear cfun.
5702
5703 2004-06-25  Pascal Obry  <obry@gnat.com>
5704
5705         * makegpr.adb (Build_Library): Remove parameter Lib_Address and
5706         Relocatable from Build_Dynamic_Library call.
5707
5708         * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
5709         Relocatable are now synonym.
5710
5711         * Makefile.in: Use s-parame-mingw.adb on MingW platform.
5712
5713         * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
5714         Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
5715         call.
5716
5717         * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
5718         Lib_Address and Relocatable.
5719         (Default_DLL_Address): Removed.
5720
5721         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
5722         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
5723         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
5724         (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
5725         (Default_DLL_Address): Removed.
5726
5727         * mlib-tgt-mingw.adb: Ditto.
5728         (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
5729
5730         * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
5731         the initial thread stack size.
5732
5733         * a-strmap.ads: Move package L to private part as it is not used in
5734         the spec. Found while reading code.
5735
5736 2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
5737
5738         * tracebak.c: Introduce support for a GCC infrastructure based
5739         implementation of __gnat_backtrace.
5740
5741         * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
5742         any more. Use accessors instead. This eases maintenance and relaxes
5743         some alignment constraints.
5744         (_GNAT_Exception structure): Remove the Ada specific fields
5745         (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
5746         a-exexpr.adb.
5747         (is_handled_by, __gnat_eh_personality): Replace component references to
5748         exception structure by use of the new accessors.
5749
5750         * init.c (__gnat_initialize): Adjust comments to match the just
5751         reverted meaning of the -static link-time option.
5752
5753         * adaint.c (convert_addresses): Arrange not to define a stub for
5754         mips-irix any more, as we now want to rely on a real version from a
5755         recent libaddr2line.
5756
5757         * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
5758         the personality routine can use them and not have to rely on a C
5759         counterpart of the record anymore. This simplifies maintenance and
5760         relaxes the constraint of having Standard'Maximum_Alignment match
5761         BIGGEST_ALIGNMENT.
5762         Update comments, and add a section on the common header alignment issue.
5763
5764 2004-06-25  Geert Bosch  <bosch@gnat.com>
5765
5766         * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
5767         polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
5768
5769 2004-06-25  Robert Dewar  <dewar@gnat.com>
5770
5771         * gnat_rm.texi: Fix section on component clauses to indicate that the
5772         restriction on byte boundary placement still applies for bit packed
5773         arrays.
5774         Add comment on stack usage from Initialize_Scalars
5775
5776         * gnat_ugn.texi: Add documentation for -gnatyLnnn
5777
5778         * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
5779         limiting nesting level.
5780
5781         * usage.adb: Add line for -gnatyLnnn switch
5782
5783         * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
5784         sem_ch13.adb, exp_aggr.adb: Minor reformatting
5785
5786         * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
5787         type as well as on the subtype. This corrects a problem in freeze in
5788         setting alignments of atomic types.
5789
5790         * sem_eval.ads: Minor comment typo fixed
5791
5792         * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
5793         level.  Minor reformatting.
5794
5795         * fname.adb (Is_Predefined_File_Name): Require a letter after the
5796         minus sign. This means that file names like a--b.adb will not be
5797         considered predefined.
5798
5799         * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
5800         record Test new flag and give diagnostic for bad component clause.
5801         (Freeze_Entity): Set alignment of array from component alignment in
5802         cases where this is safe to do.
5803
5804         * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
5805         arrays.
5806
5807         * cstand.adb: (Create_Standard): Set alignment of String to 1
5808
5809         * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
5810
5811         * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
5812         code in the common constrained array cases.
5813
5814         * a-storio.adb: Change implementation to avoid possible alignment
5815         problems on machines requiring strict alignment (data should be moved
5816         as type Buffer, not type Elmt).
5817
5818         * checks.adb (Apply_Array_Size_Check): Improve these checks by
5819         killing the overflow checks which we really do not need (64-bits is
5820         enough).
5821
5822 2004-06-25  Vincent Celier  <celier@gnat.com>
5823
5824         * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
5825         (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
5826         inconditionally for the main project.
5827         (Recursive_Add_Archives.Add_Archive_Path): New procedure
5828         (Link_Executables.Check_Time_Stamps): New procedure
5829         (Link_Executables.Link_Foreign): New procedure
5830         Changes made to reduce nesting level of this package
5831         (Check): New procedure
5832         (Add_Switches): When not in quiet output, check that a switch is not
5833         the concatenation of several valid switches. If it is, issue a warning.
5834         (Build_Global_Archive): If the global archive is rebuilt, linking need
5835         to be done.
5836         (Compile_Sources): Rebuilding a library archive does not imply
5837         rebuilding the global archive.
5838         (Build_Global_Archive): New procedure
5839         (Build_Library): New name for Build_Archive, now only for library
5840         project
5841         (Check_Archive_Builder): New procedure
5842         (Create_Global_Archive_Dependency_File): New procedure
5843         (Gprmake): Call Build_Global_Archive before linking
5844         * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
5845         throughout.
5846         (Scan_Arg): Display the Copyright notice when -v is used
5847
5848         * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
5849         for gnatls.
5850
5851         * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
5852         COMPILE.
5853         Add new GNAT LIST qualifier /FILES=
5854         Added qualifier /DIRECTORY= to GNAT METRIC
5855         Added qualifier /FILES= to GNAT METRIC
5856         Added qualifier /FILES to GNAT PRETTY
5857
5858         * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
5859         to take into account both versions of the switch.
5860
5861         * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
5862         always be the last switch to the gcc driver. Disable switch storing so
5863         that switches automatically added by the gcc driver are not put in the
5864         ALI file.
5865
5866         * prj.adb (Project_Empty): Take into account changes in components of
5867         Project_Data.
5868
5869         * prj.ads (Languages_Processed): New enumaration value All_Languages.
5870
5871         * prj.ads (Project_Data): Remove component Lib_Elaboration: never
5872         used. Split Boolean component Ada_Sources_Present in two Boolean
5873         components Ada_Sources_Present and Other_Sources_Present.
5874         Minor reformatting
5875
5876         * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
5877         instead of Sources_Present.
5878         (Set_Ada_Paths.Add.Recursive_Add): Ditto
5879
5880         * prj-nmsc.adb: Minor reformatting
5881         (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
5882         (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
5883         Check_Ada_Naming_Scheme.
5884         Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
5885         throughout.
5886
5887         * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
5888         In_Limited.
5889         Make sure that all cycles where there is at least one "limited with"
5890         are detected.
5891         (Parse_Single_Project): New Boolean parameter In_Limited
5892
5893         * prj-proc.adb (Recursive_Check): When Process_Languages is
5894         All_Languages, call first Prj.Nmsc.Ada_Check, then
5895         Prj.Nmsc.Other_Languages_Check.
5896
5897         * prj-proc.adb (Process): Use Ada_Sources_Present or
5898         Other_Sources_Present (instead of Sources_Present) depending on
5899         Process_Languages.
5900
5901         * lang-specs.h: Keep -g and -m switches in the same order, and as the
5902         last switches.
5903
5904         * lib.adb (Switch_Storing_Enabled): New global Boolean flag
5905         (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
5906         False.
5907         (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
5908         False.
5909
5910         * lib.ads (Disable_Switch_Storing): New procedure.
5911
5912         * make.adb: Modifications to reduce nesting level of this package.
5913         (Check_Standard_Library): New procedure
5914         (Gnatmake.Check_Mains): New procedure
5915         (Gnatmake.Create_Binder_Mapping_File): New procedure
5916         (Compile_Sources.Compile): Add switch -gnatez as the last option
5917         (Display): Never display -gnatez
5918
5919         * Makefile.generic:
5920         When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
5921
5922         * gnatcmd.adb (Check_Project): New function
5923         (Process_Link): New procedure to reduce nesting depth
5924         (Check_Files): New procedure to reduce the nesting depth.
5925         For GNAT METRIC, include the inherited sources in extending projects.
5926         (GNATCmd): When GNAT LS is invoked with a project file and no files,
5927         add the list of files from the sources of the project file. If this list
5928         is too long, put it in a temp text files and use switch -files=
5929         (Delete_Temp_Config_Files): Delete the temp text file that contains
5930         a list of source for gnatpp or gnatmetric, if one has been created.
5931         (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
5932         in the project file is too large, create a temporary text file that
5933         list them and pass it to the tool with "-files=<temp text file>".
5934         (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
5935
5936         * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
5937         generated file is in not in Ada.
5938
5939         * gnatls.adb: Remove all parameters And_Save that are no longer used.
5940         (Scan_Ls_Arg): Add processing for -files=
5941         (Usage): Add line for -files=
5942
5943         * g-os_lib.adb (On_Windows): New global constant Boolean flag
5944         (Normalize_Pathname): When on Windows and the path starts with a
5945         directory separator, make sure that the resulting path will start with
5946         a drive letter.
5947
5948         * clean.adb (Clean_Archive): New procedure
5949         (Clean_Project): When there is non-Ada code, delete the global archive,
5950         the archive dependency files, the object files and their dependency
5951         files, if they exist.
5952         (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
5953
5954 2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
5955
5956         * sinfo.ads: Fix typo in comment.
5957
5958         * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
5959         the TSS for remote access-to-subprogram types, since these TSS are
5960         always present once the type has been analyzed.
5961         (RAS_E_Dereference): Same.
5962
5963         * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
5964         reference raises Bad_Attribute, mark the reference as analyzed so the
5965         node (and any children resulting from rewrites that could have occurred
5966         during the analysis that ultimately failed) is not analyzed again.
5967
5968         * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
5969
5970         * exp_dist.adb: Minor comment fix.
5971
5972         * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
5973         type is an anonymous access type, no unchecked deallocation of the
5974         allocated object can occur. If the object is controlled, attach it with
5975         a count of 1. This allows attachment to the Global_Final_List, if
5976         no other relevant list is available.
5977         (Get_Allocator_Final_List): For an anonymous access type that is
5978         the type of a discriminant or record component, the corresponding
5979         finalisation list is the one of the scope of the type.
5980
5981 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
5982
5983         * sem_ch3.adb (Replace_Type): When computing the signature of an
5984         inherited subprogram, use the first subtype if the derived type
5985         declaration has no constraint.
5986
5987         * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
5988         before applying previous optimization. Minor code cleanup.
5989
5990         * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
5991         placed at the beginning of an unpacked record without explicit
5992         alignment, a slice of it will be aligned and does not need a copy when
5993         used as an actual.
5994
5995 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
5996
5997         PR ada/15591
5998         PR ada/15592
5999         * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
6000         reference is written with expressions mimicking parameters.
6001
6002 2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
6003
6004         PR ada/15589
6005         * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
6006         STEP 2a. The constraints of a full type declaration of a derived record
6007         type are checked for conformance with those declared in the
6008         corresponding private extension declaration. The message
6009         "not conformant with previous declaration" is emitted if an error is
6010         detected.
6011
6012 2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
6013
6014         * g-traceb.ads: Document the need for -E binder switch in the spec.
6015
6016         * g-trasym.ads: Document the need for -E binder switch in the spec.
6017
6018 2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
6019
6020         * sem_prag.adb: Add handling of pragma Detect_Blocking.
6021
6022         * snames.h, snames.ads, snames.adb: Add entry for pragma
6023         Detect_Blocking.
6024
6025         * s-rident.ads: Change reference to pragma Detect_Blocking.
6026
6027         * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
6028         system.ads.
6029
6030         * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
6031         to indicate whether pragma Detect_Blocking is active.
6032
6033         * par-prag.adb: Add entry for pragma Detect_Blocking.
6034
6035         * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
6036         of not handling WITH.
6037         Note that this replaces the previous update which was incorrect.
6038
6039 2004-06-25  Javier Miranda  <miranda@gnat.com>
6040
6041         * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
6042         use-clauses to have a clean environment.
6043
6044         * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
6045         the installation of the use-clauses to stablish a clean environment in
6046         case of compilation of a separate unit; otherwise the call to
6047         use_one_package is protected by the barrier Applicable_Use.
6048
6049         * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
6050         the installation of the use-clauses to stablish a clean environment in
6051         case of compilation of a separate unit.
6052         (End_Use_Clauses): Minor comment cleanup.
6053
6054 2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
6055
6056         * gnat_ugn.texi: Add description of the gnatpp 'files' switch
6057
6058 2004-06-23  Richard Henderson  <rth@redhat.com>
6059
6060         * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
6061
6062 2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6063
6064         * decl.c (elaborate_expression, elaborate_expression_1): Arguments
6065         now bool instead of int.
6066         (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
6067         * trans.c (gnu_switch_label_stack): New function.
6068         (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
6069         elaboration of renamed entity returns.
6070         (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
6071         (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
6072         (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
6073         (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
6074         DECL_SIZE_UNIT and simplify variable-sized case.
6075         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
6076         Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
6077         (gnat_stabilize_reference): Add arg to COMPONENT_REF.
6078         (build_unit_elab): Disable for now.
6079         * utils.c (mark_visited): New function.
6080         (pushdecl): Walk tree to call it for global decl.
6081         (update_pointer_to): Update all variants of pointer and ref types.
6082         Add arg to COMPONENT_REF.
6083         (convert): Likewise.
6084         Move check for converting between variants lower down.
6085         * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
6086         (build_allocator): Don't force type of MODIFY_EXPR.
6087         (gnat_mark_addressable, case VAR_DECL): Unconditionally call
6088         put_var_into_stack.
6089
6090 2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6091
6092         * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
6093         * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
6094         * decl.c (gnat_to_gnu_entity): Also set force_global for imported
6095         subprograms.
6096         * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
6097         all callers changed.
6098         (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
6099         the way that EXIT_STMT finds the loop label.
6100         (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
6101         (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
6102         (add_stmt): Use annotate_with_locus insted of setting directly.
6103         (pos_to_construct): Set TREE_PURPOSE of each entry to index.
6104         (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
6105         * utils.c (gnat_install_builtins): Install __builtin_memcmp.
6106         (build_vms_descriptor): Add extra args to ARRAY_REF.
6107         (convert): Use VIEW_CONVERT_EXPR between aggregate types.
6108         * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
6109         New cases.
6110         (build_binary_op): Don't make explicit CONVERT_EXPR.
6111         Add extra rgs to ARRAY_REF.
6112
6113 2004-06-14  Pascal Obry  <obry@gnat.com>
6114
6115         * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
6116         Windows.  Fix minor typo.
6117
6118         * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
6119         which is now supported on Windows. With this implementation using the
6120         Library Project feature is no different on Windows than on UNIX.
6121
6122 2004-06-14  Vincent Celier  <celier@gnat.com>
6123
6124         * makegpr.adb (Compile_Sources): Nothing to do when there are no
6125         non-Ada sources.
6126
6127         * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
6128
6129         * prj-part.adb (Parse_Single_Project): When a duplicate project name is
6130         found, show the project name and the path of the previously parsed
6131         project file.
6132
6133 2004-06-14  Ed Schonberg  <schonberg@gnat.com>
6134
6135         * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
6136         array, avoid copying the actual before the call.
6137
6138 2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
6139
6140         * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
6141         Instead, allocate memory on worst-case alignment assumptions, and then
6142         return an aligned address within the allocated zone.
6143
6144 2004-06-14  Robert Dewar  <dewar@gnat.com>
6145
6146         * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
6147         elab entities in predefined units in No_Run_Time_Mode.
6148         (Gen_Adainit_C): Same fix
6149         (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
6150         units in No_Run_Time_Mode
6151         (Gen_Elab_Calls_C): Same fix
6152
6153         * symbols-vms-alpha.adb: Minor reformatting
6154
6155         * g-debpoo.ads: Minor reformatting
6156
6157         * lib.adb (In_Same_Extended_Unit): Version working on node id's
6158
6159         * lib.ads (In_Same_Extended_Unit): Version working on node id's
6160
6161         * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
6162         working on nodes.
6163
6164         * make.adb: Minor reformatting
6165
6166         * par-ch12.adb: Minor reformatting
6167
6168         * par-prag.adb: Add dummy entry for pragma Profile_Warnings
6169
6170         * prj-strt.adb: Minor reformatting
6171
6172         * restrict.ads, restrict.adb: Redo handling of profile restrictions to
6173         be more general.
6174
6175         * sem_attr.adb: Minor reformatting
6176
6177         * sem_ch7.adb: Minor reformatting
6178
6179         * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
6180         for type in the same unit as the object declaration.
6181
6182         * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
6183         static string expressions and not just string literals.
6184         Minor reformatting
6185         (Set_Warning): Reset restriction warning flag for restriction pragma
6186         Implement pragma Profile_Warnings
6187         Implement pragma Profile (Restricted)
6188         Give obolescent messages for old restrictions and pragmas
6189
6190         * snames.h, snames.ads, snames.adb: Add new entry for pragma
6191         Profile_Warnings.
6192
6193         * s-rident.ads: Add declarations for restrictions required by profile
6194         Restricted and profile Ravenscar.
6195
6196         * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
6197
6198         * gnat_ugn.texi: Correct some missing entries in the list of GNAT
6199         configuration pragmas.
6200
6201 2004-06-11  Vincent Celier  <celier@gnat.com>
6202
6203         * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
6204         gnatsym, when symbol policy is Restricted.
6205
6206         * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
6207         gnatsym, when symbol policy is Restricted.
6208
6209         * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
6210         read the symbol file.
6211         (Finalize): Fail in symbol policy Restricted if a symbol in the original
6212         symbol file is not in the object files. Do not create a new symbol file
6213         when symbol policy is Restricted.
6214
6215         * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
6216         in Scng.
6217
6218         * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
6219         Restricted.
6220         (Usage): Line for new switch -R
6221
6222         * make.adb (Initialize): When the platform is not VMS, add the
6223         directory where gnatmake is invoked in the front of the path, if
6224         gnatmake is invoked with directory information.  Change the Scan_Args
6225         while loop to a for loop.
6226         (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
6227         if Depth is equal or greater than the proposed depth, there is nothing
6228         to do.
6229         (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
6230         instead of 0.
6231
6232         * prj.ads: Add new symbol policy Restricted.
6233
6234         * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
6235         with the new parameters Check_All_Labels and Case_Location.
6236
6237         * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
6238         (Library_Symbol_File needs to be defined).
6239
6240         * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
6241         and Case_Location If Check_All_Labels is True, check that all values of
6242         the string type are used, and output warning(s) if they are not.
6243
6244         * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
6245         and Case_Location.
6246
6247         * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
6248
6249         * gnat_ugn.texi: Update documentation about the library directory in
6250         Library Projects.
6251
6252         * makegpr.adb (Display_Command): In verbose mode, also display the
6253         value of the CPATH env var, when the compiler is gcc.
6254         (Initialize): Change the Scan_Args while loop to a for loop
6255         (Compile_Individual_Sources): Change directory to object directory
6256         before compilations.
6257
6258         * symbols.ads: New symbol policy Restricted.
6259
6260 2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
6261
6262         * a-except.adb (Raise_After_Setup family): Remove. The responsibility
6263         is now taken care of internally in the Exception_Propagation package
6264         and does not require clients assistance any more.
6265
6266         * a-exexpr.adb (Is_Setup_And_Not_Propagated,
6267         Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
6268         functions. Helpers to maintain a predicate required in the handling of
6269         occurrence transfer between tasks.
6270         This is now handled internally and does not require clients assistance
6271         for the setup/propagate separation anymore.
6272         (Setup_Exception, Propagate_Exception): Simplify the Private_Data
6273         allocation strategy, handle the Setup_And_Not_Propagated predicate and
6274         document.
6275
6276         * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
6277         raise_after_setup, now that everything is handled internally within the
6278         setup/propagation engine.
6279
6280 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
6281
6282         * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
6283         Add additional conditions for the case of an actual being a simple
6284         name or literal. Improve inlining by preventing the generation
6285         of temporaries with a short lifetime (one use).
6286
6287 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
6288
6289         PR ada/15587
6290
6291         * einfo.ads: Minor comment updates for Has_Completion and
6292         E_Constant list of flags.
6293
6294         * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
6295         and constant redeclarations now set the Has_Completion flag of their
6296         defining identifiers.
6297
6298         * sem_ch7.adb (Analyze_Package_Spec): Add procedure
6299         Inspect_Deferred_Constant_Completion.
6300         Used to detect private deferred constants that have not been completed
6301         either by a constant redeclaration or pragma Import. Emits error message
6302         "constant declaration requires initialization expression".
6303
6304         * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
6305         completes a deferred constant.
6306
6307 2004-06-11  Geert Bosch  <bosch@gnat.com>
6308
6309         * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
6310
6311         * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
6312         calculating exponent for scaling denormal numbers.
6313         (Leading_Part): Properly raise Constraint_Error for zero or negative
6314         Adjustment.
6315         (Remainder): Properly raise Constraint_Error for zero divisor.
6316
6317 2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
6318
6319         * sem_util.adb: Minor reformatting.
6320
6321         * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
6322         dereference when accessing the entry parameter record.
6323         (Check_Array_Type): Always check for possible implicit dereference.
6324         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
6325         Abort if a pointer is still present (denoting that an implicit
6326         dereference was left in the tree by the front-end).
6327
6328         * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
6329         dereference when accessing the entry parameter record.
6330         (Check_Array_Type): Always check for possible implicit dereference.
6331         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
6332         Abort if a pointer is still present (denoting that an implicit
6333         dereference was left in the tree by the front-end).
6334
6335 2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
6336
6337         * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
6338         message, like the compiler itself does. Easier to parse the output.
6339
6340         * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
6341
6342         * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
6343         be base names, and not includes directories.
6344
6345 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
6346
6347         * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
6348         so that dependencies are properly taken into account by make.
6349
6350 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
6351
6352         PR ada/15622
6353         * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
6354         exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
6355
6356 2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
6357
6358         * Makefile.in (install-gnatlib): install target-specific run-time files.
6359
6360         * Make-lang.in: Remove obsolete targets.
6361
6362 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
6363
6364         * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
6365         specification, to catch misuses of program unit names.
6366
6367         * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
6368         superfluous conversions in an instance.
6369
6370 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
6371
6372         PR ada/15403
6373
6374         * sem_ch12.adb (Save_References): If operator node has been folded to
6375         enumeration literal, associated_node must be discarded.
6376
6377 2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
6378
6379         * s-stchop-vxworks.adb: Add required pragma Convention to
6380         Task_Descriptor because it is updated by a C function.
6381
6382 2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
6383
6384         PR ada/15568
6385
6386         * Makefile.in: Remove target specific SO_OPT on IRIX
6387
6388 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6389
6390         * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
6391         (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
6392         (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
6393         (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
6394         (STMT_STMT, USE_STMT): New statement codes.
6395         (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
6396         * ada-tree.h: Reflect above changes.
6397         (struct tree_loop_id): Deleted.
6398         (union lang_tree_node, struct lang_decl, struct lang_type):
6399         Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
6400         and DECL_LANGUAGE_SPECIFIC to reflect these changes.
6401         (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
6402         (IS_ADA_STMT): New macro.
6403         * decl.c (annotate_decl_with_node): New function.
6404         (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
6405         (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
6406         Call add_stmt_with_node to do needed assignments.
6407         Add call to update setjmp buffer directly, not via EXPR_STMT.
6408         (maybe_variable): Argment GNAT_NODE deleted.
6409         * gigi.h (maybe_variable): Likewise.
6410         (make_transform, add_stmt_with_node, set_block_for_group): New.
6411         (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
6412         (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
6413         (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
6414         (set_lineno, set_lineno_from_sloc): Likewise.
6415         (record_code_position, insert_code_for): Likewise.
6416         (gnat_poplevel): Now returns void.
6417         (end_subprog_body): Now takes argument.
6418         * misc.c (cgraph.h, tree-inline.h): New includes.
6419         (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
6420         (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
6421         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
6422         (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
6423         (gnat_parse_file): Don't set immediate_size_expand.
6424         Call cgraph functions.
6425         (gnat_expand_expr): Remove most cases.
6426         (record_code_position, insert_code_for): Remove from here.
6427         * trans.c (toplev.h, tree-gimple.h): Now included.
6428         (discard_file_names): Deleted.
6429         (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
6430         (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
6431         (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
6432         (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
6433         (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
6434         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
6435         (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
6436         (set_block_for_group, add_stmt_list): Likewise.
6437         (start_stmt_group): Renamed from start_block_stmt.
6438         (end_stmt_group): Likewise, from end_block_stmt.
6439         (build_stmt_group): Likewise, from build_block_stmt, also add arg.
6440         (gigi): Don't set discard_file_names or call set_lineno.
6441         Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
6442         (tree_transform): Deleted, now renamed to be gnat_to_gnu.
6443         Numerous changes throughout to reflect new names and complete
6444         function-at-a-time implementation.
6445         (gnat_expand_stmt): Delete or comment out all cases.
6446         (process_inlined_subprograms): Use add_stmt.
6447         (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
6448         call set_lineno; also remove unneeded block handling.
6449         (process_type): Remove unneeded block handling.
6450         (build_unit_elab): Remove calls to deleted functions.
6451         * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
6452         (tree-dump.h): Likewise.
6453         (struct ada_binding_level): Add field jmpbuf_decl.
6454         (gnat_define_builtin, gnat_install_builtins): New.
6455         (gnat_gimplify_function, gnat_finalize): Likewise.
6456         (gnat_poplevel): No longer return BLOCK, set it instead.
6457         Remove code dealing with nested functions.
6458         (gnat_init_decl_processing): Also set size_type_node.
6459         Call gnat_install_builtins.
6460         (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
6461         (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
6462         Remove special-case for "main".
6463         (end_subprog_body): Add arg and rework for tree-ssa.
6464         (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
6465         Add case for BOOLEAN_TYPE.
6466         * utils2.c (rtl.h): Now include.
6467         (build_call_raise): Test Debug_Flag_NN directly.
6468         (build_call_alloc_dealloc): Don't use local stack allocation for now.
6469         (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
6470         (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
6471
6472 2004-06-07  Robert Dewar  <dewar@gnat.com>
6473
6474         * a-direct.ads, einfo.ads: Minor comment updates
6475
6476         * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
6477         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
6478         s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
6479         s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
6480         s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
6481
6482         * s-interr-sigaction.adb: Remove unreferenced variable
6483         (Attached_Interrupts).  Minor reformatting.
6484         Avoid use of variable I (replace by J).
6485
6486         * par-ch10.adb: Fix text of one error message
6487
6488         * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
6489         exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
6490         exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
6491         opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
6492         par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
6493         par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
6494         sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
6495         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
6496         sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
6497         sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
6498         snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
6499         2005 support.
6500
6501 2004-06-07  Doug Rupp  <rupp@gnat.com>
6502
6503         * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
6504
6505         * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
6506
6507         * mlib-tgt-vms-ia64.adb: New file.
6508
6509         * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
6510         Add mlib-tgt-vms-ia64.adb
6511         Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
6512         Move to alpha specific ifeq section.
6513         Add VMS specific versions of symbols.adb
6514         Renaming of 5q vms files.
6515
6516         * 5qsystem.ads renamed to system-vms_64.ads.
6517
6518 2004-06-07  Vincent Celier  <celier@gnat.com>
6519
6520         * a-calend.ads: Add a GNAT Note comment after function Time_Of to
6521         explain that when a time of day corresponding to the non existing hour
6522         on the day switching to DST is specified, Split may return a different
6523         value for Seconds.
6524
6525         * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
6526         to GNAT PRETTY.
6527
6528         * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
6529         (Normalize_Pathname): Only resolve VMS logical names when on VMS.
6530
6531         * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
6532         to False.
6533         If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
6534         the linking options.
6535         (Build_Library.Check_Libs): On VMS, if there is a dependency on
6536         g-trasym.ads, set Gtrasymobj_Needed to True.
6537
6538         * prj-attr.adb: Add new package Metrics for gnatmetric
6539
6540         * prj-nmsc.adb (Record_Other_Sources): Put source file names in
6541         canonical case to take into account files with upper case characters on
6542         Windows.
6543         (Ada_Check): Load the reference symbol file name in the name buffer to
6544         check it, not the symbol file name.
6545
6546         * snames.ads, snames.adb: Add standard name Metrics (name of project
6547         file package for gnatmetric).
6548
6549         * vms_conv.ads: Add Metric to Comment_Type
6550
6551         * vms_conv.adb (Initialize): Add component dor Metric in Command_List
6552
6553         * vms_data.ads: Add qualifiers for GNAT METRIC
6554
6555         * makegpr.adb (Link_Executables): Take into account the switches
6556         specified in package Linker of the main project.
6557
6558 2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
6559
6560         * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
6561         the index of the last element is Units.Last, not Units.Table'Last
6562         (which is usually not a valid index within the actually allocated
6563         storage for the table).
6564
6565         * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
6566         determines whether to generate a call to a checked storage pool
6567         Dereference action.
6568         Generate such a call only for a dereference that either comes from
6569         source, or is the result of rewriting a dereference that comes from
6570         source.
6571
6572 2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
6573
6574         * bindgen.adb (Gen_Output_File): Add support for GAP builds.
6575
6576 2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
6577
6578         (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
6579         file level, elaborate the stride for inner dimensions in alignment
6580         units, not bytes.
6581
6582         * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
6583         in a comment.
6584
6585 2004-06-07  Javier Miranda  <miranda@gnat.com>
6586
6587         * exp_ch6.adb: Correct wrong modification in previous patch
6588
6589 2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
6590
6591         * g-trasym.ads: Corrected comment to properly reflect level of support
6592         on VMS.
6593
6594 2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
6595
6596         * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
6597         includes case of a variable referenced on the left hand side of an
6598         assignment, therefore remove redundant code. Variables and prefixes of
6599         indexed or selected components are now marked as referenced on left
6600         hand side. Warnings are now properly emitted when variables or prefixes
6601         are assigned but not read.
6602
6603         * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
6604         left hand side referenced variables. Private access types do not
6605         produce the warning "variable ... is assigned but never read".
6606         Add also additional checks to left hand side referenced variables.
6607         Aliased, renamed objects and access types do not produce the warning
6608         "variable ... is assigned but never read" since other entities may read
6609         the memory location.
6610
6611 2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
6612
6613         * Makefile.in: In the powerpc/vxworks-specific section, restore
6614         EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
6615         by mistake).
6616
6617 2004-06-07  Ed Schonberg  <schonberg@gnat.com>
6618
6619         * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
6620         predefined operators.
6621         Removes spurious type errors from g-trasym-vms.adb.
6622
6623         * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
6624         distinct from the operator appearing in the source, call appropriate
6625         routine to insert conversions when needed, and complete resolution of
6626         node.
6627         (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
6628         interpretations for rewritten right operand.
6629         (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
6630         the other operand is overloaded and the context is a type conversion.
6631
6632 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6633
6634         * ada-tree.def (BLOCK_STMT): Now has two operands.
6635         (BREAK_STMT): New.
6636
6637         * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
6638
6639         * gigi.h: (gnat_poplevel): Now returns a tree.
6640
6641         * trans.c (end_block_stmt): Add arg; all callers changed.
6642         (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
6643         (start_block_stmt): Clear BLOCK_STMT_BLOCK.
6644         (add_stmt): Set TREE_TYPE.
6645         (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
6646         (gnat_expand_stmt, case BREAK_STMT): New case.
6647
6648         * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
6649
6650 2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
6651
6652         * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
6653         procedure Set_Stack_Size that is not needed.
6654
6655 2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
6656
6657         * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
6658         used for gnatpp input file and for the files upon which it depends
6659
6660 2004-06-07  Ben Brosgol  <brosgol@gnat.com>
6661
6662         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
6663
6664 2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
6665
6666         * gnatvsn.ads: Bump version numbers appropriately.
6667         Add new build type.
6668
6669 2004-06-07  Pascal Obry  <obry@gnat.com>
6670
6671         * gnat_ugn.texi: Improve comments about imported names and link names
6672         on Windows. Add a note about the requirement to use -k gnatdll's option
6673         when working with a DLL which has stripped stdcall symbols (no @nn
6674         suffix).
6675
6676 2004-05-27  Vincent Celier  <celier@gnat.com>
6677
6678         * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
6679         COMMENTS_LAYOUT=UNTOUCHED
6680
6681         * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
6682         symbols-vms-alpha.adb
6683
6684 2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
6685
6686         * sem.ads: Clarify documentation on checks suppression.
6687
6688         * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
6689
6690 2004-05-27  Ed Schonberg  <schonberg@gnat.com>
6691
6692         * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
6693         the case of multiple derivations.
6694         (Is_Object_Reference): For a selected component, verify that the prefix
6695         is itself an object and not a value.
6696
6697         * sem_ch12.adb (Same_Instantiated_Constant): New name for
6698         Same_Instantiated_Entity.
6699         (Same_Instantiated_Variable): Subsidiary to
6700         Check_Formal_Package_Instance, to recognize actuals for in-out generic
6701         formals that are obtained from a previous formal package.
6702         (Instantiate_Subprogram_Body): Emit proper error when
6703         generating code and the proper body of a stub is missing.
6704
6705         * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
6706         has a universal interpretation, do the disambiguation here.
6707
6708         * exp_ch4.adb (Expand_N_Type_Conversion,
6709         Expand_N_Unchecked_Type_Conversion): Special handling when target type
6710         is Address, to avoid typing anomalies when Address is a visible integer
6711         type.
6712
6713         * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
6714         to determine whether a subprogram should not be marked Pure, even when
6715         declared in a pure package.
6716
6717 2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
6718
6719         * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
6720
6721         * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
6722         Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
6723         Update the documentation about the Ravenscar profile, following the
6724         definition found in AI-249.
6725
6726         * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
6727         setting the Profile (Ravenscar). This must be done in addition to
6728         setting the required restrictions.
6729
6730         * rtsfind.ads: Add the set of operations defined in package
6731         Ada.Interrupts.
6732
6733         * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
6734         restriction.
6735
6736 2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
6737
6738         lang-specs.h: Always require -c or -S and always redirect to /dev/null
6739         if -gnatc or -gnats is passed.
6740
6741 2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
6742
6743         * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
6744         a significant reference. Warnings are now properly emitted when a
6745         discriminated type is not referenced.
6746
6747         * lib-xref.adb (Generate_Reference): A deferred constant completion,
6748         record representation clause or record type discriminant does not
6749         produce a reference to its corresponding entity. Warnings are now
6750         properly emitted when deferred constants and record types are not
6751         referenced.
6752
6753 2004-05-27  Geert Bosch  <bosch@gnat.com>
6754
6755         * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
6756         Fixes ACATS Annex G tests.
6757
6758 2004-05-27  Robert Dewar  <dewar@gnat.com>
6759
6760         * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
6761         handling WITH
6762
6763 2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
6764
6765         * s-interr.adb (Server_Task): Take into account case of early return
6766         from sigwait under e.g. linux.
6767
6768 2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
6769
6770         * gnat_ugn.texi: Add description for the new gnatpp options:
6771          -rnb - replace the original source without creating its backup copy
6772          -c0 - do not format comments
6773
6774 2004-05-24  Geert Bosch  <bosch@gnat.com>
6775
6776         * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
6777         with 192 bits of precision, sufficient to reduce a double-extended
6778         arguments X with a maximum relative error of T'Machine_Epsilon, for X
6779         in -2.0**32 .. 2.0**32.
6780         (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
6781         reduction by the processor, which only uses a 68-bit approximation of
6782         Pi.
6783         (Tan): Always reduce arguments and compute function either using
6784         the processor's fptan instruction, or by dividing sin and cos as needed.
6785
6786 2004-05-24  Doug Rupp  <rupp@gnat.com>
6787
6788         * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
6789         gcc error on 32/64 bit VMS.
6790
6791 2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
6792
6793         * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
6794         since this is what we get for stack overflows although not documented
6795         as such.
6796         Document the issues which may require adjustments to our signal
6797         handlers.
6798
6799 2004-05-24  Ed Schonberg  <schonberg@gnat.com>
6800
6801         * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
6802         enclosing dynamic scope if the instantiation is within a generic unit.
6803
6804 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
6805
6806         * exp_dbug.ads: Fix typo.
6807
6808         * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
6809         Rename it to its proper name: system-linux-ia64.ads
6810         (stamp-gnatlib1): Remove extra target specific run time files when
6811         setting up the rts directory.
6812
6813 2004-05-24  Javier Miranda  <miranda@gnat.com>
6814
6815         * einfo.ads, einfo.adb (Limited_Views): Removed.
6816         (Limited_View): New attribute that replaces the previous one. It is
6817         now a bona fide package with the limited-view list through the
6818         first_entity and first_private attributes.
6819
6820         * sem_ch10.adb (Install_Private_With_Clauses): Give support to
6821         limited-private-with clause.
6822         (Install_Limited_Withed_Unit): Install the private declarations of a
6823         limited-private-withed package. Update the installation of the shadow
6824         entities according to the new structure (see Build_Limited_Views)
6825         (Build_Limited_Views): Replace the previous implementation of the
6826         limited view by a package entity that references the first shadow
6827         entity plus the first shadow private entity (required for limited-
6828         private-with clause)
6829         (New_Internal_Shadow_Entity): Code cleanup.
6830         (Remove_Limited_With_Clause): Update the implementation to undo the
6831         new work carried out by Build_Limited_Views.
6832         (Build_Chain): Complete documentation.
6833         Replace Ada0Y by Ada 0Y in comments
6834         Minor reformating
6835
6836         * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
6837         types the level of accessibility depends on the enclosing type
6838         declaration.
6839
6840         * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
6841         entities. Complete documentation of previous change.
6842
6843 2004-05-24  Robert Dewar  <dewar@gnat.com>
6844
6845         * namet.adb: Minor reformatting
6846         Avoid use of name I (replace by J)
6847         Minor code restructuring
6848
6849         * sem_ch6.adb: Minor reformatting
6850
6851         * lib-writ.adb: Do not set restriction as active if this is a
6852         Restriction_Warning case.
6853
6854         * sem_prag.adb: Reset restriction warning flag if real pragma
6855         restriction encountered.
6856
6857         * s-htable.adb: Minor reformatting
6858         Change rotate count to 3 in Hash (improves hash for small strings)
6859
6860         * 5qsystem.ads: Add comments for type Address (no literals allowed).
6861
6862         * gnat_ugn.texi: Add new section of documentation "Code Generation
6863         Control", which describes the use of -m switches.
6864
6865 2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
6866
6867         trans.c (tree_transform) <N_Identifier>: Do the dereference directly
6868         through the DECL_INITIAL for renamed variables.
6869
6870 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
6871
6872         * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
6873
6874 2004-05-19  Joel Brobecker  <brobecker@gnat.com>
6875
6876         * exp_dbug.ads: Correct comments concerning handling of overloading,
6877         since we no longer use $ anymore.
6878
6879 2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
6880
6881         * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
6882         ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
6883         with illegal subunits.
6884
6885 2004-05-19  Ed Schonberg  <schonberg@gnat.com>
6886
6887         * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
6888         body with front-end inlining enabled, check whether an inline pragma
6889         appears immediately after the body and applies to it.
6890
6891         * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
6892         enabled and the pragma appears after the body of the subprogram.
6893
6894 2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6895
6896         Part of function-at-a-time conversion
6897
6898         * misc.c (adjust_decl_rtl): Deleted.
6899         (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
6900         Define.
6901
6902         * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
6903         (add_decl_stmt, add_stmt, block_has_vars): New functions.
6904         (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
6905
6906         * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
6907         when making a decl.
6908         (gnat_to_gnu_entity): Likewise.
6909         Use add_stmt to update setjmp buffer.
6910         Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
6911         flush_addressof.
6912         No longer call adjust_decl_rtl.
6913         (DECL_INIT_BY_ASSIGN_P): New macro.
6914         (DECL_STMT_VAR): Likewise.
6915
6916         * trans.c (gigi): Call start_block_stmt to make the outermost
6917         BLOCK_STMT.
6918         (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
6919         Call start_block_stmt and end_block_stmt temporarily.
6920         Use gnat_expand_stmt instead of expand_expr_stmt.
6921         (add_decl_stmt): New function.
6922         (tree_transform): Call it.
6923         (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
6924         (end_block_stmt): Set type and NULL_STMT.
6925         (gnat_expand_stmt): Make recursize call instead of calling
6926         expand_expr_stmt.
6927         (gnat_expand_stmt, case DECL_STMT): New case.
6928         (set_lineno_from_sloc): Do nothing if global.
6929         (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
6930         (start_block_stmt, add_stmt, end_block_stmt): New functions.
6931         (build_block_stmt): Call them.
6932         (gnat_to_code): Don't expand NULL_STMT.
6933         (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
6934         args.
6935         (tree_transform): Likewise.
6936         (tree_transform, case N_Null_Statement): Return NULL_STMT.
6937         (gnat_expand_stmt, case NULL_STMT): New case.
6938         (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
6939         IF_STMT_TRUE.
6940
6941         * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
6942         TREE_ADDRESSABLE.
6943
6944         * utils.c (create_var_decl): Do not call expand_decl or
6945         expand_decl_init.
6946         Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
6947         Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
6948         here.
6949         (struct e_stack): Add chain_next to GTY.
6950         (struct binding_level): Deleted.
6951         (struct ada_binding_level): New struct.
6952         (free_block_chain): New.
6953         (global_binding_level, clear_binding_level): Deleted.
6954         (global_bindings_p): Rework to see if no chain.
6955         (kept_level_p, set_block): Deleted.
6956         (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
6957         new data structure and work directly on BLOCK node.
6958         (gnat_poplevel): Similarly.
6959         (get_decls): Look at BLOCK_VARS.
6960         (insert_block): Work directly on BLOCK node.
6961         (block_has_var): New function.
6962         (pushdecl): Rework for new binding structures.
6963         (gnat_init_decl_processing): Rename and rework calls to pushlevel and
6964         poplevel.
6965         (build_subprog_body): Likewise.
6966         (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
6967
6968         * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
6969
6970         * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
6971         (DECL_STMT_VAR): Likewise.
6972
6973 2004-05-17  Robert Dewar  <dewar@gnat.com>
6974
6975         * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
6976         procedure
6977
6978         * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
6979         of restriction synonyums by using
6980         Restrict.Process_Restriction_Synonyms.
6981
6982         * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
6983
6984         * s-restri.ads (Tasking_Allowed): Correct missing comment
6985
6986         * s-rident.ads: Add entries for restriction synonyms
6987
6988         * ali.adb: Fix some problems with badly formatted ALI files that can
6989         result in infinite loops.
6990
6991         * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
6992         s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
6993         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
6994         s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
6995         s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
6996         s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
6997         s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
6998         s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
6999         s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
7000         a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
7001         exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
7002         s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
7003         s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
7004         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
7005         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
7006         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
7007         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
7008         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
7009         s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
7010         s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
7011         to Task_Id (minor cleanup).
7012
7013 2004-05-17  Vincent Celier  <celier@gnat.com>
7014
7015         * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
7016         directory separator.
7017
7018         * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
7019         project being extended, if Languages is not declared in extending
7020         project.
7021
7022 2004-05-17  Javier Miranda  <miranda@gnat.com>
7023
7024         * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
7025         limited view of a visible sibling.
7026
7027 2004-05-14  Robert Dewar  <dewar@gnat.com>
7028
7029         * gnat_ugn.texi: Minor change to -gnatS documentation
7030
7031         * sprint.adb: Remove some instances of Assert (False) and for this
7032         purpose replace them by output of a ??? string.
7033
7034         * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
7035         Assert (False).
7036
7037         * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
7038         flag processing. This was suppressing required dependencies in
7039         No_Run_Time mode and is not needed since the binder does not generate
7040         references for things in libgnat anyway.
7041
7042         * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
7043         warning.
7044
7045 2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
7046
7047         * gnat_ugn.texi: Document AIX-specific issue with initialization of
7048         resolver library.
7049
7050         * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
7051         action for the case of an actual parameter in an init proc call.
7052
7053 2004-05-14  Ed Schonberg  <schonberg@gnat.com>
7054
7055         * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
7056         subtype, check visible entities in base type.
7057
7058         * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
7059         actions if the object is a renaming.
7060
7061         * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
7062         Check_Formal_Package_Instance, to determine more precisely when the
7063         formal and the actual denote the same entity.
7064
7065 2004-05-14  Javier Miranda  <miranda@gnat.com>
7066
7067         * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
7068
7069         * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
7070         corresponding to a private_with must be removed from visibility; it
7071         will be made visible later, just before we analyze the private part of
7072         the package.
7073         (Check_Private_Child_Unit): Allow private_with clauses in public
7074         siblings.
7075         (Install_Siblings): Make visible the private entities of private-withed
7076         siblings.
7077         (Install_Withed_Unit): Do not install the private withed unit if we
7078         are compiling a package declaration and the Private_With_OK flag was
7079         not set by the caller. These declarations will be installed later,
7080         just before we analyze the private part of the package.
7081
7082         * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
7083         during the evaluation of the expression that initializes the object,
7084         decorate it with the expected type to avoid cascade errors.
7085         Code cleanup.
7086
7087         * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
7088         subprogram we have to install the private_with clauses after its
7089         specification has been analyzed (as documented in AI-262.TXT).
7090
7091         * sem_ch8.adb (Has_Private_With): New function. Determines if the
7092         current compilation unit has a private with on a given entity.
7093         (Find_Direct_Name): Detect the Beaujolais problem described in
7094         AI-262.TXT
7095
7096         * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
7097         provides the functionality of the function Is_Ancestor that was
7098         previously available in sem_ch10. It has been renamed to avoid
7099         overloading.
7100
7101         * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
7102
7103 2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7104
7105         * utils.c (build_vms_descriptor): Use SImode pointers.
7106
7107 2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
7108
7109         * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
7110
7111 2004-05-14  GNAT Script  <nobody@gnat.com>
7112
7113         * Make-lang.in: Makefile automatically updated
7114
7115 2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
7116
7117         Renaming of target specific files for clarity
7118
7119         * Makefile.in: Rename GNAT target specific files.
7120
7121         * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
7122         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
7123         3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
7124         3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
7125         3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
7126         3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
7127         42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
7128         4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
7129         4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
7130         4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
7131         4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
7132         4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
7133         51osinte.adb, 51osinte.ads, 51system.ads,
7134         52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
7135         55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
7136         56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
7137         56tpopsp.adb, 57system.ads, 58system.ads,
7138         5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
7139         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
7140         5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
7141         5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
7142         5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
7143         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
7144         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
7145         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
7146         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
7147         5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
7148         5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
7149         5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
7150         5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
7151         5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
7152         5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
7153         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
7154         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
7155         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
7156         5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
7157         5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
7158         5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
7159         5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
7160         5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
7161         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
7162         5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
7163         5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
7164         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
7165         5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
7166         5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
7167         5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
7168         5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
7169         5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
7170         5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
7171         5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
7172         5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
7173         5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
7174         7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
7175         7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
7176         7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
7177         7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
7178
7179         * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
7180         a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
7181         a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
7182         a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
7183         a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
7184         a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
7185         a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
7186         a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
7187         a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
7188         a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
7189         g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
7190         g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
7191         g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
7192         g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
7193         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
7194         g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
7195         g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
7196         g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
7197         interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
7198         mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
7199         mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
7200         mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
7201         s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
7202         s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
7203         s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
7204         s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
7205         s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
7206         s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
7207         s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
7208         s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
7209         s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
7210         s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
7211         s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
7212         s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
7213         s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
7214         s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
7215         s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
7216         s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
7217         s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
7218         s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
7219         s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
7220         s-osinte-vms.ads, s-osinte-vxworks.adb,
7221         s-osinte-vxworks.ads, s-osprim-mingw.adb,
7222         s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
7223         s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
7224         s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
7225         s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
7226         s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
7227         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
7228         s-stchop-vxworks.adb, s-taprop-dummy.adb,
7229         s-taprop-hpux-dce.adb, s-taprop-irix.adb,
7230         s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
7231         s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
7232         s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
7233         s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
7234         s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
7235         s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
7236         s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
7237         s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
7238         s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
7239         s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
7240         s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
7241         s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
7242         s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
7243         s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
7244         s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
7245         s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
7246         s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
7247         symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
7248         system-hpux.ads, system-interix.ads, system-irix-n32.ads,
7249         system-irix-o32.ads, system-linux-x86_64.ads,
7250         system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
7251         system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
7252         system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
7253         system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
7254         system-vxworks-alpha.ads, system-vxworks-m68k.ads,
7255         system-vxworks-mips.ads, system-vxworks-ppc.ads,
7256         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
7257         above.
7258
7259 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
7260
7261         * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
7262
7263 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
7264
7265         Merge from tree-ssa-20020619-branch.
7266
7267         * config-lang.in (boot_language, build_by_default): Set
7268         to no.
7269         * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
7270         (max_size): Add static chain op for call_expr.
7271
7272 2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
7273
7274         PR target/15331
7275         * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
7276
7277 2004-05-11  Roger Sayle  <roger@eyesopen.com>
7278
7279         * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
7280         COND_EXPR.
7281
7282 2004-05-10  Doug Rupp  <rupp@gnat.com>
7283
7284         * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
7285         system.aux_dec.
7286
7287         * s-auxdec.ads: Add Short_Address subtype (moved here from System).
7288
7289         * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
7290
7291         * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
7292         Fixes undefined symbols in IA64 gnatlib.
7293
7294         * 5vinmaop.adb: Reference s-auxdec for Short_Address.
7295
7296         * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
7297         Short_Address). This will be moved to system.auxdec.
7298
7299 2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
7300
7301         * sem_util.adb: Replace test for presence of a node that is always
7302         present with a call to Discard_Node.
7303
7304         * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
7305         Analyze on the library unit node after generation of distribution stub
7306         constructs.  The call was a no-op because Unit_Node has already been
7307         Analyzed, and the tree fragments for the distribution stubs are
7308         analyzed as they are inserted in Exp_Dist.
7309         Update comment regarding to distribution stubs to reflect that we
7310         do not generate stub in separate files anymore.
7311
7312         * einfo.ads: Clarify the fact that a tagged private type has the
7313         E_Record_Type_With_Private Ekind.
7314
7315         * erroutc.adb: Minor reformatting
7316
7317         * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
7318         values if line length is increased using -gnatyM (noticed during code
7319         reading).
7320
7321         * eval_fat.adb: Minor reformatting
7322         Put spaces around exponentiation operator
7323
7324 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
7325
7326         PR ada/15005
7327         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
7328         has been rewritten as an explicit dereference, retrieve type of
7329         original node to check for possibly unconstrained record type.
7330
7331 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
7332
7333         * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
7334         overriding, use the operation of the parent unconditionally.
7335
7336         * sem_ch4.adb (Remove_Address_Interpretations): Remove address
7337         operation when either operand is a literal, to avoid further
7338         ambiguities.
7339
7340         * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
7341         overridden by a previous explicit declaration, mark the previous entity
7342         as overriding.
7343
7344         * sem_disp.adb (Check_Dispatching_Operation): New predicate
7345         Is_Visibly_Controlled, to determine whether a declaration of a
7346         primitive control operation for a derived type overrides an inherited
7347         one. Add warning if the explicit declaration does not override.
7348
7349 2004-05-10  Vincent Celier  <celier@gnat.com>
7350
7351         * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
7352         some cases when the sources are no longer present.
7353
7354         * make.adb (Collect_Arguments): Fail if an external source, not part
7355         of any project need to be compiled, when switch -x has not been
7356         specified.
7357
7358         * makeusg.adb: Document new switch -x
7359
7360         * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
7361         defaulted to False.
7362
7363         * switch-m.adb (Scan_Make_Switches): New switch -x
7364
7365         * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
7366         gnatmake switch -x.
7367
7368         * gnat_ugn.texi: Document new gnatmake switch -x
7369
7370 2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
7371
7372         * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
7373
7374         * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
7375         (process_attributes): Likewise.
7376
7377 2004-05-10  Joel Brobecker  <brobecker@gnat.com>
7378
7379         * s-inmaop.ads: Fix spelling mistake in one of the comments.
7380
7381 2004-05-10  Robert Dewar  <dewar@gnat.com>
7382
7383         * gnat_ugn.texi: Document that for config pragma files, the maximum
7384         line length is always 32767.
7385
7386         * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
7387         literals is now allowed.
7388
7389         * gnat-style.texi: Remove statement about splitting long lines before
7390         an operator rather than after, since we do not follow this rule at all.
7391         Clarify rule (really lack of rule) for spaces around exponentiation
7392
7393         * sem_elim.adb: Allow concatenation of string literals as well as a
7394         single string literal for pragma arguments.
7395
7396         * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
7397
7398         * a-textio.adb (Terminate_Line): Do not add line feed if nothing
7399         written for append case.
7400
7401         * frontend.adb: Changes to avoid checking max line length in config
7402         pragma files.
7403
7404         * g-os_lib.ads: Minor reformatting
7405
7406         * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
7407         wrong in any case. Instead use standard value. Noticed during code
7408         reading.
7409
7410         * opt.ads (Max_Line_Length): New field, used to implement removal of
7411         limitation on length of lines when scanning config pragma files.
7412
7413         * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
7414         makeutl.ads, makeutl.adb: Minor reformatting
7415
7416         * scn.adb: Do not check line length while scanning config pragma files
7417         Do not check line length while scanning out license information
7418
7419         * scng.adb: Changes to avoid line length checks while parsing config
7420         pragma files.
7421
7422 2004-05-10  GNAT Script  <nobody@gnat.com>
7423
7424         * Make-lang.in: Makefile automatically updated
7425
7426 2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
7427
7428         * osint.adb (Find_Program_Name): Fix handling of VMS version
7429         number.
7430
7431 2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
7432
7433         * g-os_lib.ads (Invalid_Time): New constant
7434
7435         * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
7436         return OS_Time instead of time_t to match what is imported by Ada.
7437         Now return -1 if the file doesn't exist, instead of a random value
7438
7439 2004-05-05  Robert Dewar  <dewar@gnat.com>
7440
7441         * usage.adb: Add line for -gnatR?s switch
7442
7443         * sem_ch13.adb, exp_ch2.adb: Minor reformatting
7444
7445         * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
7446         and for Match (Data_First, Data_last)
7447
7448         * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
7449         written when we are dealing with multi-unit files.
7450
7451 2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
7452
7453         * Makefile.in: Remove unused targets and variables.
7454
7455 2004-05-05  Vincent Celier  <celier@gnat.com>
7456
7457         * switch-m.adb: New gnatmake switch -eI
7458
7459         * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
7460         of new gnatmake switch -eInnn.
7461
7462         * makegpr.adb: Take into account new parameters Index and Src_Index in
7463         Prj.Util.
7464
7465         * clean.adb: Implement support for multi-unit sources, including new
7466         switch -i.
7467
7468         * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
7469         Src_Index.
7470
7471         * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
7472         (Extract_From_Q): New out parameter Index
7473         (Mark, Is_Marked): Subprograms moved to Makeutl
7474         (Switches_Of): New parameter Source_Index
7475         (Add_Switch): New parameter Index
7476         (Check): New parameter Source_Index
7477         (Collect_Arguments): New parameter Source_Index
7478         (Collect_Arguments_And_Compile): New parameter Source_Index
7479         (Compile): New parameter Source_Index
7480         Put subprograms in alphabetical order
7481         Add support for multi-source sources, including in project files.
7482
7483         * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
7484         (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
7485         Make.
7486
7487         * makeusg.adb: New gnatmake switch -eInnn
7488
7489         * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
7490         Prj.Util.Value_Of.
7491
7492         * opt.ads (Main_Index): New variable, defaulted to 0.
7493
7494         * osint.ads, osinte.adb (Add_File): New parameter Index
7495         (Current_Source_Index): New function
7496
7497         * prj.adb: Take into account new components Index and Src_Index
7498
7499         * prj.ads (String_Element): New component Index
7500         (Variable_Value): New component Index
7501         (Array_Element): New component Src_Index
7502
7503         * prj-attr.adb: Indicate that optional index may be specified for
7504         attributes Main, Executable, Spec, Body and some of Switches.
7505
7506         * prj-attr.ads (Attribute_Kind): New values for optional indexes
7507         (Attribute_Record): New component Optional_Index
7508
7509         * prj-com.ads (File_Name_Data): New component Index
7510
7511         * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
7512
7513         * prj-env.adb (Put): Output optional index
7514
7515         * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
7516         attributes Spec and Body.
7517
7518         * prj-nmsc.adb: Process optional indexes
7519
7520         * prj-pp.adb: Ouput "at" for optional indexes
7521
7522         * prj-proc.adb: Take into account optional indexes
7523
7524         * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
7525         Optional_Index. For string literal,
7526         process optional index when Optional_Index is True.
7527         (Parse_Expresion): New Boolean parameter Optional_Index
7528
7529         * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
7530         (Set_Source_Index_Of): New procedure
7531
7532         * prj-util.adb (Executable_Of, Value_Of): Take into account optional
7533         index.
7534
7535         * prj-util.ads (Executable_Of): New parameter Index
7536         (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
7537         New parameter Src_Index, defaulted to 0.
7538
7539 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
7540
7541         PR ada/15257
7542         * sem_ch3.adb (Access_Definition): If this is an access parameter
7543         whose designated type is imported through a limited_with clause, do
7544         not add the enclosing subprogram to the list of private dependents of
7545         the type.
7546
7547 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
7548
7549         PR ada/15258
7550         * sem_ch6.adb (Base_Types_Match): True if one type is imported through
7551         a limited_with clause, and the other is its non-limited view.
7552
7553 2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
7554
7555         * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
7556
7557         * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
7558         exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
7559         Stand.Boolean_Literals to produce references to entities
7560         Standard_False and Standard_True from compile-time computed boolean
7561         values.
7562
7563         * stand.ads (Boolean_Literals): New variable, provides the entity
7564         values for False and True, for use by the expander.
7565
7566 2004-05-05  Doug Rupp  <rupp@gnat.com>
7567
7568         * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
7569         5vinmaop.adb: Unchecked convert Short_Address vice Address
7570
7571         * adaint.c, raise.c: Caste CRTL function return value
7572         to avoid gcc error on 32/64 bit IVMS.
7573
7574         * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
7575         target = IA64/VMS.
7576
7577         * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
7578
7579         * 5qsystem.ads (Address): Declare as Long_Integer
7580         (Short_Address): Declare as 32 bit subtype of Address
7581         Declare  abstract address operations to avoid gratuitous ambiguities.
7582
7583 2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
7584
7585         * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
7586         instead of the old Boolean_Entry_Barriers.
7587         Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
7588
7589 2004-05-05  GNAT Script  <nobody@gnat.com>
7590
7591         * Make-lang.in: Makefile automatically updated
7592
7593 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
7594
7595         * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
7596
7597 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
7598
7599         PR ada/15152
7600
7601         * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
7602         alone. Replacing object references by literals is inappropriate in a
7603         so low level context.
7604
7605 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
7606
7607         * a-exexpr.adb: Add comments
7608
7609 2004-05-03  Joel Brobecker  <brobecker@gnat.com>
7610
7611         * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
7612         declare the Ancestor_Tags array in Type_Specific_Data with a small size
7613         without risking a bounds check error when accessing one of its
7614         components.
7615         (Type_Specific_Data): Define Ancestor_Tags as a small array.
7616         This prevents us from hitting a limitation during the debug info
7617         generation when using stabs.
7618
7619         * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
7620         small array.
7621         This prevents us from hitting a limitation during the debug info
7622         generation when using stabs.
7623
7624 2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
7625
7626         lang-specs.h: Remove -gnatz* from specs.
7627
7628 2004-05-03  Vincent Celier  <celier@gnat.com>
7629
7630         * gprmake.adb, makegpr.ads, makegpr.adb: New files.
7631
7632         * Make-lang.in, Makefile.in: Add gprmake
7633
7634 2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
7635
7636         * sem_aggr.adb: Fix typo in comment.
7637
7638 2004-05-03  Robert Dewar  <dewar@gnat.com>
7639
7640         * make.adb: Minor reformatting
7641
7642         * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
7643
7644         * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
7645         so that it works when address is not a private type.
7646
7647         * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
7648         properly with rewritten unchecked conversions. This prevents
7649         order-of-elaboration issues that can otherwise arise.
7650         (Minimum_Size): Don't check size of access types under VMS
7651
7652         * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
7653         interpretations of integer literals as type System.Address.
7654
7655         * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
7656         (Is_Descendent_Of): New function
7657
7658 2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
7659
7660         * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
7661         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
7662         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
7663
7664         * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
7665         of the old Max_Entry_Queue_Depth.
7666
7667         * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
7668         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
7669         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
7670
7671         * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
7672         New entry for proper handling of Max_Entry_Queue_Depth.
7673         New entry for proper handling of No_Dynamic_Interrupts.
7674
7675         * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
7676         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
7677         Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
7678         the GNAT specific restriction Max_Entry_Queue_Depth.
7679         Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
7680         the GNAT specific restriction No_Dynamic_Interrupts.
7681
7682         * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
7683         instead of the old Boolean_Entry_Barriers.
7684         Use the new restriction No_Dynamic_Attachment instead of the old
7685         No_Dynamic_Interrupts.
7686
7687         * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
7688         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
7689
7690         * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
7691         of the old Max_Entry_Queue_Depth.
7692
7693 2004-05-03  GNAT Script  <nobody@gnat.com>
7694
7695         * Make-lang.in: Makefile automatically updated
7696
7697 2004-04-29  Ed Schonberg  <schonberg@gnat.com>
7698
7699         * checks.adb (Enable_Range_Check): If the prefix of an index component
7700         is an access to an unconstrained array, perform check unconditionally.
7701
7702 2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7703
7704         * decl.c (gnat_to_gnu_field): Also call make_packable_type if
7705         Component_Clause.
7706
7707 2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
7708
7709         * init.c (__gnat_install_handler, __gnat_error_handler): Remove
7710         alternate stack setting. There was no support for the tasking cases
7711         and the changes eventually caused a number of side-effect failures in
7712         the non-tasking case too.
7713
7714 2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
7715
7716         lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
7717         -gnats is passed.
7718
7719 2004-04-29  Vincent Celier  <celier@gnat.com>
7720
7721         * make.adb (Gnatmake): Increase max size of argument array for
7722         gnatbind for the potential addition of -F.
7723         If there are Stand-Alone Library projects, invoke gnatbind with -F to
7724         be sure that elaboration flags will be checked.
7725
7726         * switch-c.adb: Correct call to Scan_Pos for -gnateI
7727
7728 2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
7729
7730         * sem_warn.adb (Check_References): Move '<access-variable> may be
7731         null' warning out of under Warn_On_No_Value_Assigned.
7732
7733 2004-04-29  Ed Falis  <falis@gnat.com>
7734
7735         * gnat_ugn.texi: Fixed texi error
7736
7737 2004-04-29  Robert Dewar  <dewar@gnat.com>
7738
7739         * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
7740         abstract operations if they come from predefined files.
7741
7742         * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
7743         Dynamic, not RM).
7744
7745         * s-addope.adb: Correct obvious error in mod function
7746
7747 2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
7748
7749         * Makefile.in: Add target pairs for powerpc darwin*
7750         tasking support.
7751
7752         * a-intnam-darwin.ads, s-osinte-darwin.adb,
7753         s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
7754
7755 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
7756
7757         * Makefile.in: Add target macro definitions for s390*-linux*.
7758         * system-linux-s390.ads: New file.
7759         * system-linux-s390x.ads: New file.
7760
7761 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
7762
7763         * gnat_ugn.texi: Correct argument to @setfilename.
7764
7765 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
7766
7767         * a-exexpr.adb (Unwind_Word): New data type.
7768         (Unwind_Exception): Use it as type of Private1 and Private2.
7769
7770         * raise.c (db_action_for): Fix debug printf.
7771
7772 2004-04-27  Ed Schonberg  <schonberg@gnat.com>
7773
7774         * a-wtmoio.ads: Formal type must be a modular type, not a signed
7775         integer type.
7776
7777 2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7778
7779         * decl.c (gnat_to_gnu_entity, case object): Call
7780         __builtin_update_setjmp_buf.
7781
7782         * gigi.h (update_setjmp_buf): Deleted.
7783         (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
7784
7785         * misc.c: (update_setjmp_buf): Deleted.
7786
7787         * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
7788         around block of RTL.
7789
7790         * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
7791
7792 2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
7793
7794         * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
7795         subprogram for which no pragma All_Calls_Remote applies, store the
7796         address of the real subprogram in the underlying record type, so local
7797         dereferences do not go through the PCS.
7798
7799 2004-04-26  Robert Dewar  <dewar@gnat.com>
7800
7801         * i-c.ads: Add some type qualifications to avoid ambiguities when
7802         compiling with s-auxdec.ads and a non-private address type.
7803
7804 2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
7805
7806         * Makefile.rtl: Fix error in previous check-in:
7807         Add s-addope.o to non tasking object list (rather than tasking object
7808         list).
7809
7810 2004-04-26  Javier Miranda  <miranda@gnat.com>
7811
7812         * sem_aggr.adb: Fix typo in comments
7813         (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
7814         Required to check the null-exclusion attribute.
7815
7816         * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
7817         case of anonymous access types in record and array components. For a
7818         component definition the level is the same of the enclosing composite
7819         type.
7820
7821         * sem_ch3.adb (Analyze_Component_Declaration): In case of components
7822         that are anonymous access types the level of accessibility depends on
7823         the enclosing type declaration. In order to have this information, set
7824         the scope of the anonymous access type to the enclosing record type
7825         declaration.
7826         (Array_Type_Declaration): In case of components that are anonymous
7827         access types the level of accessibility depends on the enclosing type
7828         declaration. In order to have this information, set the scope of the
7829         anonymous access type to the enclosing array type declaration.
7830
7831         * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
7832         access type.
7833
7834         * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
7835         renaming of anonymous access-to-constant types allowed if and only if
7836         the renamed object is access-to-constant.
7837
7838         * sem_util.adb (Type_Access_Level): In case of anonymous access types
7839         that are component_definition or discriminants of a nonlimited type,
7840         the level is the same as that of the enclosing component type.
7841
7842 2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
7843
7844         * sem_elim.adb: Some minor code reorganization from code reading. Fix
7845         misprint in the function name (File_Name_Match).
7846
7847 2004-04-23  Laurent GUERBY <laurent@guerby.net>
7848
7849         * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
7850         install.
7851
7852 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7853
7854         * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
7855
7856 2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
7857
7858         * adaint.c (__gnat_try_lock): No longer requires that the parent
7859         directory be writable, the directory itself is enough.
7860         (gnat_is_absolute_path): Change profile, so that the call from
7861         GNAT.OS_Lib can be made more efficient.
7862
7863         * adaint.h (gnat_is_absolute_path): Change profile, so that the call
7864         from GNAT.OS_Lib can be made more efficient.
7865
7866         * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
7867         one copy of the file name. Found by code reading.
7868
7869 2004-04-23  Vincent Celier  <celier@gnat.com>
7870
7871         * gnat_ugn.texi: Add documentation for gnatmake switch -eL
7872         Correct documentation on gnatmake switches transmitted to the compiler
7873
7874         * ali.ads: Minor comment fix
7875
7876 2004-04-23  Javier Miranda  <miranda@gnat.com>
7877
7878         * sem_ch6.adb: (Confirming Types): Code cleanup
7879
7880         * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
7881         subprogram types: E_Anonymous_Access_Subprogram_Type and
7882         E_Anonymous_Access_Protected_Subprogram_Type.
7883
7884 2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
7885
7886         * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
7887         whether a pragma All_Calls_Remote applies to the subprogram on which
7888         'Access is taken.
7889         No functional change is introduced by this revision; the new parameter
7890         will be used to allow calls to local RCI subprograms to be optimized
7891         to not use the PCS in the case where no pragma All_Calls_Remote applies,
7892         as is already done in the PolyORB implementation of the DSA.
7893
7894         * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
7895         whether a pragma All_Calls_Remote applies to the subprogram on which
7896         'Access is taken.
7897         No functional change is introduced by this revision; the new parameter
7898         will be used to allow calls to local RCI subprograms to be optimized
7899         to not use the PCS in the case where no pragma All_Calls_Remote applies,
7900         as is already done in the PolyORB implementation of the DSA.
7901
7902 2004-04-23  Robert Dewar  <dewar@gnat.com>
7903
7904         * Makefile.rtl: Add entry for s-addope.o in run time library list
7905         * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
7906         * s-addope.ads, s-addope.adb: New files.
7907
7908         * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
7909         s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
7910         s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
7911         System.Address to be non-private and signed.
7912
7913         * sem_elim.adb: Minor reformatting (fairly extensive)
7914         Some minor code reorganization from code reading
7915         Add a couple of ??? comments
7916
7917 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7918
7919         * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
7920         (tree_transform, case N_If_Statement): Remove non-determinism.
7921
7922         * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
7923
7924 2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
7925
7926         * gnat_rm.texi: Small fixes in the changes made in the 'pragma
7927         Eliminate' section.
7928
7929         * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
7930         no longer used as a parameter name for Eliminate pragma).
7931
7932 2004-04-22  Laurent GUERBY <laurent@guerby.net>
7933
7934         PR optimization/14984
7935         PR optimization/14985
7936         * trans.c (gigi): Fix non determinism leading to bootstrap
7937         comparison failures.
7938
7939 2004-04-21  Pascal Obry  <obry@gnat.com>
7940
7941         * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
7942         passed to spawnvp() to properly handle program pathname with spaces on
7943         Win32.
7944
7945 2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
7946
7947         * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
7948         (Allocate, Deallocate, Free_Physically): Make sure the tasks are
7949         unlocked in case of exceptions.
7950
7951 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
7952
7953         * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
7954         This function does not exist anymore.
7955
7956 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
7957
7958         * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
7959
7960         * link.c: Move variables to the __gnat name space.
7961
7962         * Makefile.in: list link.o explicitly when needed.
7963
7964         * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
7965
7966 2004-04-21  Javier Miranda  <miranda@gnat.com>
7967
7968         * einfo.adb (Original_Access_Type): New subprogram
7969         (Set_Original_Access_Type): New subprogram
7970         (Write_Field21_Name): Write the name of the new field
7971
7972         * einfo.ads (Original_Access_Type): New field present in access to
7973         subprogram types.
7974         Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
7975         E_Anonymous_Access_Protected_Subprogram_Type.
7976
7977         * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
7978         subprogram types.
7979
7980         * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
7981         to anonymous access to subprogram types.
7982
7983         * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
7984         to subprogram types.
7985
7986         * sem_ch3.adb (Access_Definition): Complete decoration of entities
7987         corresponding to anonymous access to subprogram types.
7988         (Analyze_Component_Declaration): Add new actual to the call to
7989         subprogram replace_anonymous_access_to_protected_subprogram.
7990         (Array_Type_Declaration): Add new actual to the call to subprogram
7991         replace_anonymous_access_to_protected_subprogram.
7992         (Process_Discriminants): Add new actual to the call to subprogram
7993         replace_anonymous_access_to_protected_subprogram.
7994         (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
7995
7996         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
7997         formal.
7998
7999         * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
8000         access to subprogram types.
8001
8002         * sem_util.adb (Has_Declarations): Addition of package_specification
8003         nodes.
8004
8005 2004-04-21  Ed Schonberg  <schonberg@gnat.com>
8006
8007         * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
8008         inlined flags to renamed entity only if in current unit.
8009
8010 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
8011
8012         * s-parint.ads: Add DSA implementation marker.
8013
8014         * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
8015         value of System.Partition_Interface.DSA_Implementation to determine
8016         what version of the distributed systems annex is available (no
8017         implementation, GLADE, or PolyORB).
8018
8019 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
8020
8021         * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
8022
8023 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8024
8025         * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
8026         with new type if alias sets differ.
8027         Fixes ACATS c41103b.
8028
8029 2004-04-21  Vincent Celier  <celier@gnat.com>
8030
8031         * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
8032         Add array Lang_Args for the language specific compiling argument
8033         switches.
8034
8035         * gnat_ugn.texi: Explain in more details when a library is rebuilt.
8036
8037 2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
8038
8039         * gnat_rm.texi: Update the descripton of the Eliminate pragma
8040         according to the recent changes in the format of the parameters of the
8041         pragma (replacing Homonym_Number with Source_Location).
8042
8043 2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
8044
8045         * 5isystem.ads: Removed, unused.
8046
8047         * gnat_rm.texi: Redo 1.13 change.
8048
8049 2004-04-19  Robert Dewar  <dewar@gnat.com>
8050
8051         * s-stoele.ads: Clean up definition of Storage_Offset (the new
8052         definition is cleaner, avoids the kludge of explicit Standard operator
8053         references, and also is consistent with a visible System.Address with
8054         no visible operations.
8055
8056         * s-geveop.adb: Add declarations to avoid assumption of visible
8057         operations on type System.Address (since these might not be available
8058         if Address is a non-private type for which the operations
8059         are made abstract).
8060
8061         * sem_eval.adb: Minor reformatting
8062
8063         * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
8064         s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
8065         reformatting (new function spec format).
8066
8067         * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
8068         s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
8069         s-caun64.adb: Add declarations to avoid assumption of visible
8070         operations on type System.Address (since these might not be available
8071         if Address is a non-private type for which the operations are made
8072         abstract).
8073
8074         * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
8075
8076         * exp_intr.adb: Minor comment update
8077
8078         * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
8079
8080         * 5omastop.adb: Add declarations to avoid assumption of visible
8081         operations on type System.Address (since these might not be available
8082         if Address is a non-private type for which the operations
8083         are made abstract).
8084
8085 2004-04-19  Vincent Celier  <celier@gnat.com>
8086
8087         * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
8088
8089         * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
8090         defaulted to Ada.
8091
8092         * prj-proc.adb (Process): New Boolean parameter Process_Languages,
8093         defaulted to Ada.
8094         Call Check with Process_Languages.
8095         (Check): New Boolean parameter Process_Languages. Call Recursive_Check
8096         with Process_Languages.
8097         (Recursive_Check): New Boolean parameter Process_Languages. Call
8098         Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
8099         Process_Languages.
8100
8101         * prj-proc.ads (Process): New Boolean parameter Process_Languages,
8102
8103         * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
8104         parameter Ada_Main, defaulted to True.
8105         Check for Ada specific characteristics only when Ada_Main is True.
8106
8107         * opt.ads: (Follow_Links): New Boolean flag for gnatmake
8108
8109         * prj.adb: (Project_Empty): Add new Project_Data components.
8110
8111         * prj.ads: New types and tables for non Ada languages.
8112         (Project_Data): New components Languages, Impl_Suffixes,
8113         First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
8114         Include_Path, Include_Data_Set.
8115
8116         * prj-env.ads, prj-env.adb: Minor reformatting
8117
8118         * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
8119         Put subprograms in alphabetical order
8120
8121         * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
8122         defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
8123         Opt.Follow_Links.
8124
8125         * mlib-prj.adb: Back out modification in last version, as they are
8126         incorrect.
8127         (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
8128
8129         * make.adb: (Mains): Moved to package Makeutl
8130         (Linker_Opts): Moved to package Makeutl
8131         (Is_External_Assignment): Moved to package Makeutl
8132         (Test_If_Relative_Path): Moved to package Makeutl
8133         (Gnatmake): Move sorting of linker options to function
8134         Makeutl.Linker_Options_Switches.
8135
8136         * makeutl.ads, makeutl.adb: New files.
8137
8138         * Makefile.in: Add makeutl.o to the object files for gnatmake
8139
8140         * makeusg.adb: Add line for new switch -eL.
8141
8142         * gnatls.adb (Image): New function.
8143         (Output_Unit): If in verbose mode, output the list of restrictions
8144         specified by pragmas Restrictions.
8145
8146         * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
8147         Text_IO.
8148
8149         * a-calend.adb (Split): Shift the date by multiple of 56 years, if
8150         needed, to put it in the range 1970 (included) - 2026 (excluded).
8151         (Time_Of): Do not shift Unix_Min_Year (1970).
8152         Shift the date by multiple of 56 years, if needed, to put it in the
8153         range 1970 (included) - 2026 (excluded).
8154
8155         * adaint.h, adaint.c (__gnat_set_executable): New function.
8156
8157 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8158
8159         * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
8160         and pop GC context.
8161         (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
8162         (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
8163         (tree_transform, case N_Procedure_Call_Statement): Build a tree.
8164         (tree_transform, case N_Code_Statement): Likewise.
8165         (gnat_expand_stmt, case LABEL_STMT): Don't look at
8166         LABEL_STMT_FIRST_IN_EH.
8167         (gnat_expand_stmt, case ASM_STMT): New case.
8168
8169         * utils2.c (build_unary_op): Properly set TREE_READONLY of
8170         UNCONSTRAINED_ARRAY_REF.
8171
8172         * utils.c (poplevel): Temporarily push/pop GC context around inline
8173         function expansion.
8174
8175         * decl.c (maybe_variable): Properly set TREE_READONLY of
8176         UNCONSTRAINED_ARRAY_REF.
8177         (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
8178
8179         * ada-tree.def: (ASM_STMT): New.
8180
8181         * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
8182         (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
8183         ASM_STMT_INPUT): New.
8184         (ASM_STMT_CLOBBER): Likewise.
8185
8186 2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
8187
8188         * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
8189         general rcheck mechanism to raise Program_Error for E.4(18), instead
8190         of a custom raiser in System.Partition_Interface.
8191         Part of general cleanup work before PolyORB integration.
8192
8193         * snames.ads, snames.adb: Add new runtime library entities and names
8194         for PolyORB DSA.
8195
8196         * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
8197         exp_dist.
8198         (Build_Subprogram_Id): New subprogram provided by exp_dist
8199         Code reorganisation in preparation for PolyORB integration.
8200
8201         * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
8202         exp_dist.
8203         (Build_Subprogram_Id): New subprogram provided by exp_dist
8204
8205         * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
8206         actual parameter types for call to dereference of an
8207         access-to-subprogram type.
8208
8209         * rtsfind.ads: Add new runtime library entities and names for PolyORB
8210         DSA.
8211
8212         * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
8213         instead, which has the same behaviour here since we never pass it a
8214         NULL pointer.
8215
8216         * link.c (run_path_option, Solaris case): Use -Wl, as for other
8217         platforms.
8218
8219         * Makefile.in: adjust object file lists for gnatlink and gnatmake
8220         to account for new dependency upon Interfaces.C.Strings + link.o
8221         For x86 FreeBSD, use 86numaux.
8222
8223         * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
8224         from Mlib.Tgt to Mlib.
8225
8226         * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
8227         target-independent.
8228
8229         * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
8230         target-specific versions of this subprogram, now implemented as a
8231         target-independent function in Mlib.
8232
8233         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
8234         5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
8235         (Linker_Library_Path_Option): Remove target-specific versions of this
8236         subprogram, now implemented as a target-independent function in Mlib.
8237
8238         * atree.adb: (Allocate_Initialize_Node): New subprogram.
8239         Factors out node table slots allocation.
8240         (Fix_Parents): New subprogram.
8241         Encapsulate the pattern of fixing up parent pointers for syntactic
8242         children of a rewritten node.
8243         (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
8244         (Rewrite): Use New_Copy when creating saved copy of original node.
8245         (Replace): Use Copy_Node to copy nodes.
8246
8247 2004-04-19  Javier Miranda  <miranda@gnat.com>
8248
8249         * sprint.adb (Sprint_Node_Actual): Give support to the new
8250         Access_To_Subprogram node available in Access_Definition nodes. In
8251         addition, give support to the AI-231 node fields: null-exclusion,
8252         all-present, constant-present.
8253
8254         * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
8255
8256         * sinfo.ads, sinfo.adb:
8257         New field Access_To_Subprogram_Definition in Access_Definition nodes
8258
8259         * sem_ch6.adb (Process_Formals): Move here the code that creates and
8260         decorates internal subtype declaration corresponding to the
8261         null-excluding formal. This code was previously in Set_Actual_Subtypes.
8262         In addition, carry out some code cleanup on this code. In case of
8263         access to protected subprogram call
8264         Replace_Anonymous_Access_To_Protected_Subprogram.
8265         (Set_Actual_Subtypes): Code cleanup.
8266
8267         * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
8268         Find_Type in case of anonymous access renamings. Add warning in case of
8269         null-excluding attribute used in anonymous access renaming.
8270
8271         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
8272         subprogram
8273
8274         * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
8275         subprogram.
8276         (Access_Definition): In case of anonymous access to subprograms call
8277         the corresponding semantic routine to decorate the node.
8278         (Access_Subprogram_Declaration): Addition of some comments indicating
8279         some code that probably should be added here. Detected by comparison
8280         with the access_definition subprogram.
8281         (Analyze_Component_Declaration): In case of access to protected
8282         subprogram call Replace_Anonymous_Access_To_Protected.
8283         (Array_Type_Declaration): In case of access to protected subprogram call
8284         Replace_Anonymous_Access_To_Protected_Subprogram.
8285         (Process_Discriminants): In case of access to protected subprogram call
8286         Replace_Anonymous_Access_To_Protected_Subprogram.
8287
8288         * par.adb (P_Access_Definition): New formal that indicates if the
8289         null-exclusion part was present.
8290         (P_Access_Type_Definition): New formal that indicates if the caller has
8291         already parsed the null-excluding part.
8292
8293         * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
8294         (P_Identifier_Declarations): Code cleanup and give support to renamings
8295         of anonymous access to subprogram types.
8296         (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
8297         (P_Array_Type_Definition): Give support to AI-254.
8298         (P_Component_Items): Give support to AI-254.
8299         (P_Access_Definition): New formal that indicates if the header was
8300         already parsed by the caller.
8301         (P_Access_Type_Definition): New formal that indicates if the caller has
8302         already parsed the null-excluding part.
8303
8304         * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
8305         call to P_Access_Definition.
8306
8307 2004-04-19  Geert Bosch  <bosch@gnat.com>
8308
8309         * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
8310         the delicate semantics of floating-point to integer conversion.
8311         (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
8312
8313         * eval_fat.adb (Machine_Mantissa): Moved to spec.
8314         (Machine_Radix): New function.
8315
8316         * eval_fat.ads (Machine_Mantissa): Moved from body for use in
8317         conversion checks.
8318         (Machine_Radix): New function also for use in conversion checks.
8319
8320 2004-04-19  Ed Schonberg  <schonberg@gnat.com>
8321
8322         * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
8323
8324         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
8325         to decorate the access-to-protected subprogram and the equivalent type.
8326
8327         * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
8328         to anonymous access to subprogram types.
8329
8330         * exp_ch4.adb (Expand_N_In): Preserve Static flag before
8331         constant-folding, for legality checks in contexts that require an RM
8332         static expression.
8333
8334         * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
8335         temporary but stack checking is not enabled, increment serial number
8336         to so that symbol generation is consistent with and without stack
8337         checking.
8338
8339         * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
8340         independent on whether stack checking is enabled, caller must check
8341         the corresponding flag.
8342
8343         * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
8344         range checks.
8345         (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
8346         parent if it has discriminants.
8347         (Build_Derived_Private_Type): Constructed full view does
8348         not come from source.
8349         (Process_Discriminants): Default discriminants on a tagged type are
8350         legal if this is the internal completion of a private untagged
8351         derivation.
8352
8353         * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
8354         no constraint checks, because it corresponds to an existing object.
8355
8356         * sem_prag.adb (Process_Convention): Pragma applies
8357         only to subprograms in the same declarative part, i.e. the same unit,
8358         not the same scope.
8359
8360         * sem_res.adb (Valid_Conversion): In an instance or inlined body,
8361         ignore type mismatch on a numeric conversion if expression comes from
8362         expansion.
8363
8364 2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
8365
8366         * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
8367         Homonym_Number parameter, add processing for Source_Location parameter
8368         corresponding.
8369         (Check_Eliminated): Remove the check for homonym numbers, add the check
8370         for source location traces.
8371
8372         * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
8373         with Arg_Source_Location corresponding to the changes in the format of
8374         the pragma.
8375
8376         * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
8377         Eliminate pragma corresponding to the changes in the format of the
8378         pragma: Homonym_Number is replaced with Source_Location, two ways of
8379         distinguishing homonyms are mutially-exclusive.
8380
8381 2004-04-19  Joel Brobecker  <brobecker@gnat.com>
8382
8383         * get_targ.ads (Get_No_Dollar_In_Label): Remove.
8384
8385         * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
8386         No_Dollar_In_Label, no longer necessary, as it is always True.
8387         (Strip_Suffixes): Likewise.
8388
8389 2004-04-19  Gary Dismukes  <dismukes@gnat.com>
8390
8391         * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
8392         modulus for compatibility with size clause on targets with 16-bit
8393         Integer.
8394
8395         * layout.adb (Discrimify): In the case of private types, set Vtyp to
8396         full type to fix type mismatches on calls to size functions for
8397         discriminant-dependent array components.
8398
8399 2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
8400
8401         * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
8402         lib.
8403
8404 2004-04-19  Pascal Obry  <obry@gnat.com>
8405
8406         * mdll-utl.adb (Locate): New version is idempotent.
8407
8408 2004-04-17  Laurent Guerby <laurent@guerby.net>
8409
8410         PR ada/14988 (partial)
8411         * impunit.adb: Fix typo.
8412
8413 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
8414
8415         * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
8416         and install-rts-cert targets.  Remove all gnatlib and gnattools
8417         targets and all other rts-* targets (moved to libada).  Remove (now)
8418         unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
8419         TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
8420
8421 2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8422
8423         * trans.c (tree_transform): Shortcut returning error_mark_node for
8424         statements in annotate_only_mode.
8425         (tree_transform, case N_Label, case N_Return_Statement,
8426         N_Goto_Statement): Make statement tree instead of generating code.
8427         (tree_transform, case N_Assignment_Statement): No longer check
8428         type_annotate_only.
8429         (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
8430         RETURN_STMT): New.
8431         (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
8432         New fcns.
8433         (gnat_to_gnu): Collect any RTL generated and deal with it.
8434         (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
8435         (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
8436         (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
8437
8438         * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
8439
8440         * ada-tree.def (EXPR_STMT): Fix typo in name.
8441         (BLOCK_STMT, IF_STMT): New nodes.
8442
8443         * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
8444         LABEL_STMT_FIRST_IN_EH): New macros.
8445         (RETURN_STMT_EXPR): Likewise.
8446
8447         * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
8448         IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
8449
8450 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
8451
8452         * atree.ads: Correct documentation on extended nodes.
8453
8454         * link.c: Set run_path_option for FreeBSD.
8455
8456 2004-04-08  Vincent Celier  <celier@gnat.com>
8457
8458         * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
8459         one of the ALI file, do not link with DEC lib.
8460
8461         * par.adb Remove the last two characters ("%s" or "%b") when checking
8462         if a language defined unit may be recompiled.
8463
8464 2004-04-08  Ed Schonberg  <schonberg@gnat.com>
8465
8466         * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
8467         removal of abstract operation leaves no possible interpretation for
8468         expression.
8469
8470         * sem_eval.adb (Eval_Qualified_Expression): Use
8471         Set_Raises_Constraint_Error on node when needed, so that it does not
8472         get optimized away by subsequent optimizations.
8473
8474         * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
8475         operands even when they are not wrapped in a type conversion.
8476
8477 2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
8478
8479         * sem_prag.adb (Set_Exported): Warn about making static as result of
8480         export only when the export is coming from source. This may be not
8481         be true e.g. on VMS where we expand export pragmas for exception codes
8482         together with imported or exported exceptions, and we don't want the
8483         user to be warned about something he didn't write.
8484
8485 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
8486
8487         * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
8488         duplication between normal entities and those declared as renamings.
8489         No functional change.
8490
8491         * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
8492         inline functions returning an unconstrained result.
8493
8494 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
8495
8496         * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
8497         conform to what other front-ends do.
8498
8499 2004-04-08  Doug Rupp  <rupp@gnat.com>
8500
8501         * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
8502         libraries.
8503
8504 2004-04-06  Pascal Obry  <obry@gnat.com>
8505
8506         * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
8507
8508         * osint.adb (Program_Name): Do not look past a directory separator.
8509
8510 2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
8511
8512         * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
8513
8514         * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
8515         requirement for preserving a copy of the original assignment node.
8516
8517         * sinfo.ads: Update comment (Original_Tree -> Original_Node).
8518
8519 2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
8520
8521         (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
8522         when supported.
8523
8524 2004-04-06  Ed Schonberg  <schonberg@gnat.com>
8525
8526         * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
8527         operator calls in functional notation, and apply
8528         Universal_Interpretation to operands, not to their type.
8529
8530 2004-04-06  Robert Dewar  <dewar@gnat.com>
8531
8532         * 5wdirval.adb: Minor reformatting
8533
8534 2004-04-06  Ed Falis  <falis@gnat.com>
8535
8536         * gnat_rm.texi: Improve a reference to the GCC manual
8537
8538 2004-04-05  Vincent Celier  <celier@gnat.com>
8539
8540         * adaint.h, adaint.c: Add function __gnat_named_file_length
8541
8542         * impunit.adb: Add Ada.Directories to the list
8543
8544         * Makefile.in: Add VMS and Windows versions of
8545         Ada.Directories.Validity package body.
8546
8547         * Makefile.rtl: Add a-direct and a-dirval
8548
8549         * mlib-tgt.ads: Minor comment update.
8550
8551         * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
8552         a-direct.ads, a-direct.adb: New files.
8553
8554 2004-04-05  Vincent Celier  <celier@gnat.com>
8555
8556         PR ada/13620
8557         * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
8558         just to the compiler.
8559
8560 2004-04-05  Robert Dewar  <dewar@gnat.com>
8561
8562         * a-except.adb (Exception_Name_Simple): Make sure lower bound of
8563         returned string is 1.
8564
8565         * ali-util.adb: Use proper specific form for Warnings (Off, entity)
8566
8567         * eval_fat.ads: Minor reformatting
8568
8569         * g-curexc.ads: Document that lower bound of returned string values
8570         is always one.
8571
8572         * gnatlink.adb: Add ??? comment for previous change
8573         (need to document why this is VMS specific)
8574
8575         * s-stoele.ads: Minor reformatting
8576
8577         * tbuild.ads: Minor reformatting throughout (new function specs)
8578
8579         * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
8580         after WITH.
8581
8582         * scng.adb: Minor reformatting
8583
8584 2004-04-05  Geert Bosch  <bosch@gnat.com>
8585
8586         * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
8587         (Leading_Part): Still perform truncation to machine number if the
8588         specified radix_digits is greater or equal to machine_mantissa.
8589
8590 2004-04-05  Javier Miranda  <miranda@gnat.com>
8591
8592         * par-ch3.adb: Complete documentation of previous change
8593         Correct wrong syntax documentation of the OBJECT_DECLARATION rule
8594         (aliased must appear before constant).
8595
8596         * par-ch4.adb: Complete documentation of previous change.
8597
8598         * par-ch6.adb: Complete documentation of previous change.
8599
8600         * sinfo.ads: Fix typo in commment.
8601
8602 2004-04-05  Ed Schonberg  <schonberg@gnat.com>
8603
8604         * sem_ch3.adb (Inherit_Components): If derived type is private and has
8605         stored discriminants, use its discriminants to constrain parent type,
8606         as is done for non-private derived record types.
8607
8608         * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
8609         Ada 2005 AI-310: an abstract non-dispatching operation is not a
8610         candidate interpretation in an overloaded call.
8611
8612         * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
8613         expression is Null and target type is not an access type (e.g. a
8614         non-private address type).
8615
8616 2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
8617
8618         * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
8619         statement whose right-hand side is an inlined call, save a copy of the
8620         original assignment subtree to preserve enough consistency for
8621         Analyze_Assignment to proceed.
8622
8623         * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
8624         complete assignment subtree which is now unnecessary, as the expansion
8625         of inlined call has been improved to preserve a consistent assignment
8626         tree.  Note_Possible_Modification must be called only
8627         after checks have been applied, or else unnecessary checks will
8628         be generated.
8629
8630         * sem_util.adb (Note_Possible_Modification): Reorganise the handling
8631         of explicit dereferences that do not Come_From_Source:
8632          - be selective on cases where we must go back to the dereferenced
8633            pointer (an assignment to an implicit dereference must not be
8634            recorded as modifying the pointer);
8635          - do not rely on Original_Node being present (Analyze_Assignment
8636            calls Note_Possible_Modification on a copied tree).
8637
8638         * sem_warn.adb (Check_References): When an unset reference to a pointer
8639         that is never assigned is encountered, prefer '<pointer> may be null'
8640         warning over '<pointer> is never assigned a value'.
8641
8642 2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
8643
8644         * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
8645         the ABI.
8646
8647 2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
8648
8649         * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
8650         libexc. We currently don't reference anything in this library and
8651         linking it in triggers linker warnings we don't want to see.
8652
8653         * init.c: Update comments.
8654
8655 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8656
8657         * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
8658         * utils.c (create_field_decl): Likewise.
8659         * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
8660
8661 2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
8662
8663         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
8664         Replace ifinfo by ifnottex, to make makeinfo --html happy again.
8665         Add info directory entry and category.
8666
8667 2004-04-02  Jan Hubicka  <jh@suse.cz>
8668
8669         * utils.c: Include function.h
8670         (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
8671
8672 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
8673
8674         PR ada/14150
8675         * Make-lang.in: Clean up generation of documentation
8676
8677         * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
8678
8679         * xgnatug.adb: Removed, replaced by xgnatugn.adb
8680
8681         * xgnatugn.adb: Replaces xgnatug.adb
8682
8683         * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
8684
8685         * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
8686
8687         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
8688         gnat_ug_wnt.texi: Removed.
8689
8690 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
8691
8692         * utils2.c: Update copyright notice.
8693
8694 2004-04-01  Robert Dewar  <dewar@gnat.com>
8695
8696         * checks.adb: Minor reformatting throughout
8697         Note that prev checkin added RM reference to alignment warning
8698
8699 2004-04-01  Ed Schonberg  <schonberg@gnat.com>
8700
8701         * exp_aggr.adb (Get_Component_Val): Treat a string literal as
8702         non-static when building aggregate for bit-packed array.
8703
8704         * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
8705         function call that is itself the actual in a procedure call, build
8706         temporary for it.
8707
8708         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
8709         a string literal, create a temporary for it, constant folding only
8710         handles scalars here.
8711
8712 2004-04-01  Vincent Celier  <celier@gnat.com>
8713
8714         * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
8715         Error_Msg_SP): New empty procedures to instantiate the Scanner.
8716         (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
8717         tokens.
8718         (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
8719         (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
8720         and get the checksum.
8721
8722         * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
8723         already in the Q.
8724         Increase the Marking_Label at the end of the Multiple_Main_Loop,
8725         instead of at the beginning.
8726
8727         * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
8728         directly.
8729         (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
8730         on VMS.
8731
8732         * osint.ads (Multi_Unit_Index_Character): New Character global variable
8733
8734         * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
8735         not '~' directly.
8736
8737         * par.adb: Remove test on file name to detect language defined units.
8738         Add test on unit name, after parsing, to detect language defined units
8739         that are not compiled with -gnatg (except System.RPC and its children)
8740
8741         * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
8742         following units without style checking.
8743
8744         * switch-c.adb: Change -gnatC to -gnateI
8745
8746         * usage.adb: Document new switch -gnateInnn
8747
8748         * scng.adb (Accumulate_Token_Checksum): New procedure
8749         (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
8750         word or literal number.
8751         (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
8752         numbers.
8753
8754 2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
8755
8756         * a-tasatt.adb,
8757         g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
8758         switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
8759         5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
8760         5vtpopde.adb: Add missing 'constant' keywords.
8761
8762 2004-04-01  Javier Miranda  <miranda@gnat.com>
8763
8764         * par-ch4.adb: (P_Allocator): Code cleanup
8765
8766         * sem_ch3.adb (Access_Definition): Properly set the null-excluding
8767         attribute.
8768
8769         * sinfo.ads: Complete documentation of previous change
8770
8771 2004-04-01  Pascal Obry  <obry@gnat.com>
8772
8773         * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
8774         only on VMS.  This special handling was done because an old GNU/ld bug
8775         on Windows which has been fixed.
8776
8777 2004-04-01  GNAT Script  <nobody@gnat.com>
8778
8779         * Make-lang.in: Makefile automatically updated
8780
8781 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8782
8783         * decl.c (gnat_to_gnu_entity, make_type_from_size):
8784         Use TYPE_UNSIGNED, not TREE_UNSIGNED.
8785         * trans.c (tree_transform, convert_with_check): Likewise.
8786         * utils.c (gnat_signed_or_unsigned_type): Likewise.
8787         (build_vms_descriptor, unchecked_convert): Likewise.
8788         * utils2.c (nonbinary_modular_operation): Likewise.
8789
8790 2004-03-29  Javier Miranda  <miranda@gnat.com>
8791
8792         * checks.adb (Null_Exclusion_Static_Checks): New subprogram
8793         (Install_Null_Excluding_Check): Local subprogram that determines whether
8794         an access node requires a runtime access check and if so inserts the
8795         appropriate run-time check.
8796         (Apply_Access_Check): Call Install_Null_Excluding check if required
8797         (Apply_Constraint_Check): Call Install_Null_Excluding check if required
8798
8799         * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
8800
8801         * einfo.ads: Fix typo in comment
8802
8803         * exp_ch3.adb (Build_Assignment): Generate conversion to the
8804         null-excluding type to force the corresponding run-time check.
8805         (Expand_N_Object_Declaration): Generate conversion to the null-excluding
8806         type to force the corresponding run-time check.
8807
8808         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
8809         the null-excluding type to force the corresponding run-time check.
8810
8811         * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
8812         case of access types unless they have the null-excluding attribute.
8813
8814         * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
8815         part.
8816
8817         * exp_util.ads: Fix typo in comment
8818
8819         * par.adb (P_Null_Exclusion): New subprogram
8820         (P_Subtype_Indication): New formal that indicates if the null-excluding
8821         part has been scanned-out and it was present
8822
8823         * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
8824
8825         * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
8826         (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
8827         type to force the corresponding run-time check
8828         (Resolve_Aggregate): Propagate the null-excluding attribute to the array
8829         components
8830         (Resolve_Array_Aggregate): Carry out some static checks
8831         (Resolve_Record_Aggregate.Get_Value): Carry out some static check
8832
8833         * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
8834         attribute must be set only if specified by means of the null-excluding
8835         part. In addition, we must also propagate the access-constant attribute
8836         if present.
8837         (Access_Subprogram_Declaration, Access_Type_Declaration,
8838         Analyze_Component_Declaration, Analyze_Object_Declaration,
8839         Array_Type_Declaration, Process_Discriminants,
8840         Analyze_Subtype_Declaration): Propagate the null-excluding attribute
8841         and carry out some static checks.
8842         (Build_Derived_Access_Type): Set the null-excluding attribute
8843         (Derived_Type_Declaration, Process_Subtype): Carry out some static
8844         checks.
8845
8846         * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
8847
8848         * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
8849
8850         * sem_ch6.adb (Process_Formals): Carry out some static checks.
8851         (Set_Actual_Subtypes): Generate null-excluding subtype if the
8852         null-excluding part was present; it is not required to be done here in
8853         case of anonymous access types.
8854         (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
8855         value.
8856
8857         * sem_res.adb (Resolve_Actuals): Carry out some static check
8858         (Resolve_Null): Allow null in anonymous access
8859
8860         * sinfo.adb: New subprogram Null_Exclusion_Present
8861         All_Present and Constant_Present available on access_definition nodes
8862
8863         * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
8864         object_declaration, derived_type_definition, component_definition,
8865         discriminant_specification, access_to_object_definition,
8866         access_function_definition, allocator, access_procedure_definition,
8867         access_definition, parameter_specification, All_Present and
8868         Constant_Present flags available on access_definition nodes.
8869
8870 2004-03-29  Robert Dewar  <dewar@gnat.com>
8871
8872         * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
8873         gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
8874         opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
8875         par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
8876         sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
8877         sem_prag.adb: Updates to handle multiple units/file
8878
8879         * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
8880
8881         * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
8882         sem_util.adb: Minor reformatting
8883
8884         * sem_ch12.adb: Add comment for previous change
8885
8886 2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
8887
8888         * osint.adb (Executable_Prefix): Set Exec_Name to the current
8889         executable name when not initialized. Otherwise, use its current value.
8890
8891         * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
8892         initialize it to another executable name than the current one. This
8893         allows to configure paths for an executable name (gnatmake) different
8894         from the current one (gnatdist).
8895
8896 2004-03-29  Ed Schonberg  <schonberg@gnat.com>
8897
8898         * exp_ch6.adb (Expand_Call): A call to a function declared in the
8899         current unit cannot be inlined if it appears in the body of a withed
8900         unit, to avoid order of elaboration problems in gigi.
8901
8902         * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
8903         information for protected (wrapper) operation as well, to simplify gdb
8904         use.
8905
8906         * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
8907         protected body, indicate that the entity for the generated spec comes
8908         from source, to ensure that references are properly generated for it.
8909         (Build_Body_To_Inline): Do not inline a function that returns a
8910         controlled type.
8911
8912         * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
8913         apply convention to homonyms that are declared explicitly.
8914
8915         * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
8916         that renames an equality operator and the operands are overloaded,
8917         resolve them with the declared formal types, before rewriting as an
8918         operator.
8919
8920 2004-03-29  GNAT Script  <nobody@gnat.com>
8921
8922         * Make-lang.in: Makefile automatically updated
8923
8924 2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
8925
8926         * memtrack.adb: Log realloc calls, which are treated as free followed
8927         by alloc.
8928
8929 2004-03-25  Vincent Celier  <celier@gnat.com>
8930
8931         * prj-makr.adb (Process_Directories): Detect when a file contains
8932         several units. Do not include such files in the config pragmas or
8933         in the naming scheme.
8934
8935         * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
8936         Resolve links only when not in Trusted_Mode.
8937         (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
8938         Do not resolve links for the display names.
8939
8940         * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
8941         resolve links when computing the display names.
8942
8943 2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
8944
8945         * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
8946         attribute reference does not denote a subtype, it can be any
8947         expression that has a classwide type, potentially after an implicit
8948         dereference.  In particular, the prefix can be a view conversion for
8949         a classwide type (for which Is_Object_Reference holds), but it can
8950         also be a value conversion for an access-to-classwide type. In the
8951         latter case, there is an implicit dereference, and the original node
8952         for the prefix does not verify Is_Object_Reference.
8953
8954         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
8955         conversion of a discriminant-dependent component of a mutable object
8956         is one itself.
8957
8958 2004-03-25  Ed Schonberg  <schonberg@gnat.com>
8959
8960         * freeze.adb (Freeze_Entity): When an inherited subprogram is
8961         inherited, has convention C, and has unconstrained array parameters,
8962         place the corresponding warning on the derived type declaration rather
8963         than the original subprogram.
8964
8965         * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
8966         indication on renaming declaration, if formal has a box and actual
8967         is absent.
8968
8969         * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
8970         determine whether to generate an implicit or explicit reference to
8971         the renamed entity.
8972
8973         * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
8974         subprogram renaming comes from a defaulted formal subprogram in an
8975         instance.
8976
8977 2004-03-25  Gary Dismukes  <dismukes@gnat.com>
8978
8979         * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
8980         value expressions to ensure that calls within a component definition
8981         will be checked (since those are evaluated during the record type's
8982         elaboration).
8983
8984 2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
8985
8986         * s-tpobop.adb: Code clean up:
8987         (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
8988         code.
8989         (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
8990
8991 2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
8992
8993         * Makefile.in: Clean up in the ravenscar run time.
8994
8995 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8996
8997         * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
8998         of No_Strict_Aliasing to build_pointer_type_for_mode.
8999         * utils.c (update_pointer_to): Walk pointer and ref chains.
9000
9001 2004-03-22  Cyrille Comar  <comar@act-europe.fr>
9002
9003         * ali.ads: Fix Comment about Dynamic_Elab.
9004
9005         * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
9006         Has_RACW, Is_Generic, etc.)
9007         (Output_Object, Gnatls): Take into account ALI files not attached to
9008         an object.
9009
9010 2004-03-22  Vincent Celier  <celier@gnat.com>
9011
9012         * gprep.adb: Change all String_Access to Name_Id
9013         (Is_ASCII_Letter): new function
9014         (Double_File_Name_Buffer): New procedure
9015         (Preprocess_Infile_Name): New procedure
9016         (Process_Files): New procedure
9017         (Gnatprep): Check if output and input are existing directories.
9018         Call Process_Files to do the real job.
9019
9020 2004-03-22  Robert Dewar  <dewar@gnat.com>
9021
9022         * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
9023         s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
9024
9025 2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
9026
9027         * scn.adb (Contains): Add check for EOF, is needed for a degenerated
9028         case when the source contains only comments.
9029
9030 2004-03-22  Ed Schonberg  <schonberg@gnat.com>
9031
9032         * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
9033         declaration for a child subprogram body that acts as a spec, indicate
9034         that the entity in the declaration needs debugging information.
9035
9036         * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
9037         full view if the subtype is created for a constrained record component;
9038         gigi has enough information to construct the record, and there is no
9039         place in the tree for the declaration.
9040
9041         * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
9042         serial number for the dummy body that is built for analysis, to avoid
9043         inconsistencies in the generation of internal names when compiling
9044         with -gnatN.
9045
9046 2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
9047
9048         * sem_util.adb (Is_Object_Reference): A view conversion denotes an
9049         object.
9050
9051 2004-03-22  GNAT Script  <nobody@gnat.com>
9052
9053         * Make-lang.in: Makefile automatically updated
9054
9055 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9056
9057         * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
9058         * trans.c (tree_transform, emit_index_check): Likewise.
9059         * utils.c (build_template): Likewise.
9060         (max_size, convert): Remove handling of WITH_RECORD_EXPR.
9061         (maybe_unconstrained_array, unchecked_convert): Likewise.
9062         * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
9063         (build_unary_op): Likewise.
9064         (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
9065         (fill_vms_descriptor): Likewise.
9066         (build_call_alloc_dealloc): Likewise.
9067         ALIGN is unsigned.
9068         * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
9069
9070 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
9071
9072         PR other/14630
9073         * gnat_ug.texi: Add info directory category and entry.
9074         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
9075         gnat_ug_wnt.texi: Regenerate.
9076
9077 2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
9078
9079         * ada-tree.h: Update copyright notice.
9080         Minor reformatting.
9081
9082 2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
9083
9084         * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
9085         as regular exception objects and not as mere integers representing the
9086         condition code.  The latter approach required some dynamics to mask off
9087         severity bits, which did not fit well into the GCC table based model.
9088         (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
9089         exception data objects. We don't it and it would conflict with the other
9090         external symbol we have to generate for such exceptions.
9091
9092         * trans.c (tree_transform, case N_Exception_Handler): Remove part of
9093         the special code for VMS exceptions, since these are now represented
9094         as regular exceptions objects.
9095
9096 2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9097
9098         * decl.c (debug_no_type_hash): Remove.
9099         (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
9100         * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
9101
9102 2004-03-19  Laurent Guerby <laurent@guerby.net>
9103
9104         * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
9105         aggregate, allows bootstrap from 3.3 on powerpc-darwin.
9106
9107 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9108
9109         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
9110         (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
9111         (TYPE_RM_SIZE_INT): Directly use type.values.
9112         (TREE_LOOP_ID): Clean up check.
9113         * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
9114         TYPE_VALUES, not TYPE_FIELDS.
9115         * trans.c (convert_with_check): Delay access of bounds of basetype
9116         until sure is numeric.
9117
9118 2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
9119
9120         * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
9121
9122         Code clean up:
9123         * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
9124         5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
9125         Specific.Set instead of direct call to e.g pthread_setspecific.
9126
9127 2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
9128
9129         * adaint.c: Update comments.
9130
9131         * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
9132         GNATLIB_SHARED for FreeBSD.
9133
9134 2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
9135
9136         * init.c [VxWorks]: Do not fix the stack size for the environment task.
9137         When needed (stack checking) the stack size is retrieved
9138         from the VxWorks kernel.
9139
9140         * Makefile.in: Flag -nostdinc is required when building the run time
9141         for avoiding looking for files in the base compiler.
9142         Add the VxWorks specific version of the package body for
9143         System.Stack_checking.Operations (5zstchop.adb).
9144
9145         * Make-lang.in: Add the object file for
9146         System.Stack_Checking.Operations.
9147
9148         * Makefile.rtl: Add object file for the package
9149         System.Stack_Checking.Operations.
9150
9151         * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
9152
9153         * s-stache.ads, s-stache.adb: Move the operations related to stack
9154         checking from this package to package System.Stack_Checking.Operations.
9155         This way, stack checking operations are only linked in the final
9156         executable when using the -fstack-check flag.
9157
9158 2004-03-18  Doug Rupp  <rupp@gnat.com>
9159
9160         * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
9161         Reorganize ifeq's.
9162
9163         * 5qsystem.ads, 5xcrtl.ads: New files.
9164
9165 2004-03-18  Vincent Celier  <celier@gnat.com>
9166
9167         * prj.adb (Reset): Reset hash table Files_Htable
9168
9169         * prj-env.adb (Source_Paths, Object_Paths): New tables.
9170         (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
9171         the procedures Add_To_Path_File.
9172         (Set_Ada_Paths): Accumulate source and object dirs in the tables,
9173         making sure that each directory is present only once and, for object
9174         dirs, when a directory already present is added, the duplicate is
9175         removed and the directory is always put as the last in the table.
9176         Write the path files at the end of these accumulations.
9177
9178         * prj-nmsc.adb (Record_Source): Add source file name in hash table
9179         Files_Htable for all sources.
9180
9181         * prj-proc.adb (Process): Remove restrictions between not directly
9182         related extending projects.
9183
9184 2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
9185
9186         * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
9187         (Find_Sources): Minor speed optimization.
9188
9189         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
9190         parameter Trusted_Mode.
9191
9192 2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
9193
9194         * scn.adb (Determine_License): Take into account a degenerated case
9195         when the source contains only comments.
9196
9197 2004-03-18  Ed Schonberg  <schonberg@gnat.com>
9198
9199         * sem_warn.adb (Check_References): For a warning on a selected
9200         component that does not come from source, locate an uninitialized
9201         component of the record type to produce a more precise error message.
9202
9203 2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
9204
9205         * 3zsoccon.ads: Fix multicast options.
9206
9207         * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
9208         in the spec.
9209
9210 2004-03-15  Robert Dewar  <dewar@gnat.com>
9211
9212         * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
9213         pragma used for a private type.
9214
9215         * lib-xref.adb (Generate_Reference): Do not generate warning if
9216         reference is in a different unit from the pragma Unreferenced.
9217
9218         * 5vtpopde.adb: Minor reformatting
9219         Fix casing of To_Task_ID
9220
9221         * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
9222         flag if we have an unchecked conversion to an access type in the same
9223         unit.
9224
9225 2004-03-15  Geert Bosch  <bosch@gnat.com>
9226
9227         * a-ngcoty.adb (Modulus): In alternate formula for large real or
9228         imaginary parts, use Double precision throughout.
9229
9230         * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
9231         we want to be able to compile run-time with -gnata for testing, but
9232         this may also be instantiated in user code that is compiled with -gnata.
9233
9234 2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
9235
9236         * s-stalib.ads (Exception_Code): New type, to represent Import/Export
9237         codes. Having a separate type for this is useful to enforce consistency
9238         throughout the various run-time units.
9239         (Exception_Data): Use Exception_Code for Import_Code.
9240
9241         * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
9242         Natural and Integer in various places.
9243         (Register_VMS_Exception): Use Base_Code_In to compute the exception code
9244         with the severity bits masked off.
9245         (Register_VMS_Exception): Handle the additional exception data pointer
9246         argument.
9247
9248         * raise.c (_GNAT_Exception structure): Remove the handled_by_others
9249         component, now reflected by an exported accessor.
9250         (is_handled_by): New routine to compute whether the propagated
9251         occurrence matches some handler choice specification. Extracted out of
9252         get_action_description_for, and expanded to take care of the VMS
9253         specifities.
9254         (get_action_description_for): Use is_handled_by instead of an explicit
9255         complex condition to decide if the current choice at hand catches the
9256         propagated occurrence.
9257
9258         * raise.h (Exception_Code): New type for C.
9259
9260         * rtsfind.ads (RE_Id, RE_Unit_Table): Add
9261         System.Standard_Library.Exception_Code, to allow references from the
9262         pragma import/export expander.
9263
9264         * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
9265         New accessors to allow easy access to GNAT exception data
9266         characteristics.
9267         (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
9268         redundant Handled_By_Others component, helper for the personality
9269         routine which will now be able to call the appropriate exception data
9270         accessor instead.
9271
9272         * cstand.adb (Create_Standard): Adjust the type of the Import_Code
9273         component of Standard_Exception_Type to be the closest possible to
9274         Exception_Code in System.Standard_Library, that we cannot get at this
9275         point. Expand a ??? comment to notify that this type node should
9276         probably be rewritten later on.
9277
9278         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
9279         registration call to include a pointer to the exception object in the
9280         arguments.
9281
9282         * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
9283         instead of int and explicit bitmasks.
9284
9285 2004-03-15  Vincent Celier  <celier@gnat.com>
9286
9287         * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
9288         equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
9289
9290         * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
9291         longer needed now that it is in the spec of
9292         System.Tasking.Task_Attributes.
9293
9294         * adaint.h, adaint.c: (__gnat_create_output_file): New function
9295
9296         * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
9297
9298         * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
9299
9300         * make.adb (Gnatmake): Do not check the executable suffix; it is being
9301         taken care of in Scan_Make_Arg.
9302         (Scan_Make_Arg): Add the executable suffix only if the argument
9303         following -o, in canonical case, does not end with the executable
9304         suffix.  When in verbose mode and executable file name does not end
9305         with executable suffix, output the executable name, in canonical case.
9306
9307         * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
9308         to avoid warnings when instantiating Ada.Task_Attributes.
9309         Minor reformating.
9310
9311         * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
9312         in the correct order.
9313
9314         * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
9315         redirect standard output and error to a file for the invocation of the
9316         compiler, then read the file.
9317
9318         * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
9319         directory, instead of the Value.
9320         (Find_Source_Dirs): Remove useless code & comments.
9321
9322 2004-03-15  Ed Schonberg  <schonberg@gnat.com>
9323
9324         * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
9325         tagged type is inherited, and the parent operation is not frozen yet,
9326         force generation of a freeze node for the inherited operation, so the
9327         corresponding dispatch entry is properly initialized.
9328         (Make_Predefined_Primitive_Specs): Check that return type is Boolean
9329         when looking for user-defined equality operation.
9330
9331         * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
9332         boolean when locating primitive equality of tagged component.
9333
9334         * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
9335         bit-aligned field and the right-hand side a string literal, introduce
9336         a temporary before expanding assignment into a loop.
9337
9338         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
9339         priority in full, to ensure that any expanded subepxressions of it are
9340         elaborated in the scope of the init_proc.
9341
9342         * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
9343         after object declaration, skipping over code that may have been
9344         generated for validity checks.
9345
9346         * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
9347         discriminants, ignore the known discriminants of its full view, if
9348         any, to check legality.
9349
9350         * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
9351         component if type has unknown discriminants.
9352         (Analyze_Private_Extension_Declaration): Discriminant constraint is
9353         null if type has unknown discriminants.
9354
9355         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
9356         for end label when present.
9357
9358         * s-fileio.adb (Open): When called with a C_Stream, use given name for
9359         temporary file, rather than an empty string.
9360
9361 2004-03-15  Ed Falis  <falis@gnat.com>
9362
9363         * s-thread.adb: Removed, no longer used.
9364
9365 2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9366
9367         * decl.c (target.h): Now include.
9368         (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
9369         in new build_pointer_from_mode calls for non-fat/non-thin pointer.
9370         (validate_size): For POINTER_TYPE, get smallest size permitted on
9371         machine.
9372
9373         * fe.h: Sort Einfo decls and add Set_Mechanism.
9374
9375         * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
9376         (ada/decl.o): Depends on target.h.
9377
9378         * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
9379         FUNCTION_BOUNDARY; always use TYPE_ALIGN.
9380
9381 2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
9382
9383         * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
9384
9385         * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
9386         Insert_Dereference_Action when rewriting an implicit dereference into
9387         an explicit one, this will be taken care of during expansion of the
9388         explicit dereference.
9389         (Expand_N_Slice): Same. Always do the rewriting, even for the case
9390         of non-packed slices, since the dereference action generated by
9391         expansion of the explicit dereference is needed in any case.
9392         (Expand_N_Selected_Component): When rewriting an implicit dereference,
9393         analyze and resolve the rewritten explicit dereference so it is seen
9394         by the expander.
9395         (Insert_Dereference_Action): This procedure is now called only for the
9396         expansion of an N_Explcit_Dereference_Node. Do insert a check even for
9397         dereferences that do not come from source (including explicit
9398         dereferences resulting from rewriting implicit ones), but do not
9399         recursively insert a check for the dereference nodes contained within
9400         the check.
9401         (Insert_Dereference_Action): Clarify and correct comment.
9402
9403 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
9404
9405         PR ada/14131
9406         Move language detection to the top level.
9407         * config-lang.in: Build by default.
9408
9409 2004-03-05  Robert Dewar  <dewar@gnat.com>
9410
9411         * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
9412
9413         * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
9414         i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
9415         5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
9416         5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
9417         unchecked conversion to spec to avoid warnings.
9418
9419         * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
9420         to Task_ID
9421
9422         * 7stpopsp.adb: Correct casing in To_Task_ID call
9423
9424         * a-strsea.ads, a-strsea.adb: Minor reformatting
9425
9426         * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
9427
9428         * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
9429         Adjust Max_Msg_Length to be clearly large enough.
9430
9431         * fe.h: Define In_Same_Source_Unit
9432
9433         * osint.adb: Add pragma Warnings Off to suppress warnings
9434         * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
9435         aliasing warnings.
9436
9437         * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
9438
9439         * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
9440
9441         * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
9442
9443         * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
9444
9445         * sem_prag.adb: Implement pragma No_Strict_Aliasing.
9446
9447         * sinfo.ads: Remove obsolete comment on validate unchecked conversion
9448         node. We now do generate them for gcc back end.
9449
9450         * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
9451         warning.
9452
9453         * sinput-c.adb: Fix bad name in header.
9454         Add pragma Warnings Off to suppress aliasing warning.
9455
9456         * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
9457
9458         * snames.h, snames.ads, snames.adb: Add entry for pragma
9459         No_Strict_Aliasing.
9460
9461 2004-03-05  Vincent Celier  <celier@gnat.com>
9462
9463         * prj-com.ads: Add hash table Files_Htable to check when a file name
9464         is already a source of another project.
9465
9466         * prj-nmsc.adb (Record_Source): Before recording a new source, check
9467         if its file name is not already a source of another project. Report an
9468         error if it is.
9469
9470         * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
9471         source file name, call gnatpp with all the sources of the main project.
9472
9473         * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
9474         of file names.
9475
9476         * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
9477         NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
9478         /RUNTIME_SYSTEM=, converted to --RTS=
9479         /NOTABS, converted to -notabs
9480
9481 2004-03-05  Pascal Obry  <obry@gnat.com>
9482
9483         * make.adb: Minor reformatting.
9484
9485 2004-03-05  Ed Schonberg  <schonberg@gnat.com>
9486
9487         Part of implemention of AI-262.
9488         * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
9489
9490         * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
9491         procedure.
9492
9493         * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
9494         when component type is a partially constrained class-wide subtype.
9495         (Constrain_Discriminated_Type): If parent type has unknown
9496         discriminants, a constraint is illegal, even if full view has
9497         discriminants.
9498         (Build_Derived_Record_Type): Inherit discriminants when deriving a type
9499         with unknown discriminants whose full view is a discriminated record.
9500
9501         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
9502         flag, to handle properly derivations of tagged types with unknown
9503         discriminants.
9504         (Analyze_Package_Spec, Analyze_Package_Body): Install
9505         Private_With_Clauses before analyzing private part or body.
9506
9507         * einfo.ads: Indicate that both Has_Unknown_Discriminants and
9508         Has_Discriminants can be true for a given type (documentation).
9509
9510 2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
9511
9512         * s-restri.ads: Fix license (GPL->GMGPL).
9513
9514         * s-tassta.adb: Minor reformatting.
9515
9516         * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
9517         by calls to Exit_One_ATC_Level, since additional clean up is performed
9518         by this function.
9519
9520         * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
9521         by calls to Exit_One_ATC_Level, since additional clean up is performed
9522         by this function.
9523
9524 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9525
9526         * trans.c: Reflect GCC changes to fix bootstrap problem.
9527         Add warning for suspicious aliasing unchecked conversion.
9528
9529 2004-03-05  GNAT Script  <nobody@gnat.com>
9530
9531         * Make-lang.in: Makefile automatically updated
9532
9533 2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
9534
9535         * ali.adb (Read_Instantiation_Instance): Do not modify the
9536         current_file_num when reading information about instantiations, since
9537         this corrupts files in later references.
9538
9539 2004-03-02  Vincent Celier  <celier@gnat.com>
9540
9541         * bcheck.adb (Check_Consistency): Get the full path of an ALI file
9542         before checking if it is read-only.
9543
9544         * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
9545         of SRC_DIRS and eliminate duplicates.
9546
9547         * gprcmd.adb: Replace command "path" with command "path_sep" to return
9548         the path separator.
9549         (Usage): Document path_sep
9550
9551         * Makefile.generic: For Ada and GNU C++ cases, link directly with the
9552         C++ compiler. No need for a script.
9553         Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
9554         Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
9555         subst.
9556
9557         * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
9558         where there are Ada sources.
9559         (Set_Ada_Paths): Only add to the include path the source dirs of project
9560         with Ada sources.
9561         (Add_To_Path): Add the Display_Values of the directories, not their
9562         Values.
9563
9564         * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
9565         data.
9566
9567         * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
9568         is not No_Name.
9569         (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
9570         Value is canonicalized.
9571         (Language_Independent_Check): Do not copy Value to Display_Value when
9572         canonicalizing Value.
9573
9574         * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
9575         path to find limited with cycles.
9576         (Parse_Single_Project): Use canonical cased path to find the end of a
9577         with cycle.
9578
9579 2004-03-02  Ed Schonberg  <schonberg@gnat.com>
9580
9581         * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
9582         and not a child unit.
9583
9584         * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
9585         appear in a with_clause.
9586
9587         * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
9588         only happen in type_annotate mode, do not try to elaborate it.
9589
9590         * exp_util.adb (Force_Evaluation): If expression is a selected
9591         component on the left of an assignment, use a renaming rather than a
9592         temporary to remove side effects.
9593
9594         * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
9595         inlined instance body, which is analyzed before the end of the
9596         enclosing scope.
9597
9598 2004-03-02  Robert Dewar  <dewar@gnat.com>
9599
9600         * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
9601         sem_ch4.adb: Use new feature for substitution of keywords in VMS
9602
9603         * errout.ads, errout.adb: Implement new circuit for substitution of
9604         keywords in VMS.
9605
9606         * sem_case.adb (Analyze_Choices): Place message properly when case is
9607         a subtype reference rather than an explicit range.
9608
9609         * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
9610
9611 2004-03-02  Doug Rupp  <rupp@gnat.com>
9612
9613         * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
9614
9615 2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
9616
9617         * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
9618
9619 2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9620
9621         * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
9622         BLKmode bitfield.
9623
9624 2004-02-25  Robert Dewar  <dewar@gnat.com>
9625
9626         * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
9627         55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
9628         5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
9629         5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
9630         5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
9631         5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
9632         the defining instance of the type to avoid aliasing problems.
9633         Fix copyright header.  Fix bad comments in package header.
9634
9635         * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
9636
9637 2004-02-25  Ed Schonberg  <schonberg@gnat.com>
9638
9639         * exp_ch2.adb (Param_Entity): Handle properly formals that have been
9640         rewritten as references when aliased through an address clause.
9641
9642         * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
9643         whether call can be interpreted as an indirect call to the result of a
9644         parameterless function call returning an access subprogram.
9645
9646 2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
9647
9648         Code clean up:
9649         * exp_ch7.adb (Make_Clean): Remove generation of calls to
9650         Unlock[_Entries], since this is now done by Service_Entries directly.
9651
9652         * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
9653
9654         * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
9655         Requeue_Call for better code readability. Change spec and update calls:
9656         PO_Service_Entries now unlock the PO on exit.
9657         (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
9658         PO_Service_Entries.
9659
9660         * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
9661
9662         * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
9663
9664 2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
9665
9666         * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
9667         protected subprogram call and analyzing the result of such expanding
9668         in case when the called protected subprogram is eliminated.
9669
9670         * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
9671         names.
9672
9673 2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
9674
9675         * Makefile.in: Clean ups.
9676
9677 2004-02-23  Ed Schonberg  <schonberg@gnat.com>
9678
9679         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
9680         protected operations if original subprogram is flagged as eliminated.
9681         (Expand_N_Subprogram_Body): For a protected operation, create
9682         discriminals for next operation before checking whether the operation
9683         is eliminated.
9684
9685         * exp_ch9.adb (Expand_N_Protected_Body,
9686         Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
9687         for internal protected operations if the original subprogram is
9688         eliminated.
9689
9690         * sem_elim.adb (Check_Eliminated): Handle properly protected operations
9691         declared in a single protected object.
9692
9693 2004-02-23  Vincent Celier  <celier@gnat.com>
9694
9695         * prj-attr.adb: Make attribute Builder'Executable an associative array,
9696         case insensitive if file names are case insensitive, instead of a
9697         standard associative array.
9698
9699         * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
9700         them as case insensitive on platforms where the file names are case
9701         sensitive.
9702
9703         * prj-part.adb (Parse_Single_Project): Make sure, when checking if
9704         project file has already been parsed that canonical path are compared.
9705
9706 2004-02-23  Robert Dewar  <dewar@gnat.com>
9707
9708         * sinput-c.ads: Correct bad unit title in header
9709
9710         * freeze.adb: Minor reformatting
9711
9712 2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9713
9714         * trans.c (tree_transform, case N_Procedure_Call_Statement): For
9715         nonaddressable COMPONENT_REF that is removing padding that we are
9716         taking the address of, take the address of the padded record instead
9717         if item is variable size.
9718
9719 2004-02-20  Robert Dewar  <dewar@gnat.com>
9720
9721         * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
9722
9723 2004-02-20  Ed Schonberg  <schonberg@gnat.com>
9724
9725         * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
9726         itype references for the constrained designated type of a component
9727         whose base type is already frozen.
9728
9729 2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
9730
9731         * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
9732         avoid GCC warnings.
9733
9734 2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
9735
9736         * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
9737         identifier for a phantom package that rewrites the formal package
9738         declaration with a box. The Add semantic decorations for the defining
9739         identifier from the original node (that represents the formal package).
9740
9741 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
9742
9743         * Make-lang.in (ada/stamp-sdefault): Use the top level
9744         move-if-change.
9745
9746 2004-02-19  Richard Henderson  <rth@redhat.com>
9747
9748         * misc.c (record_code_position): Add third build arg for RTL_EXPR.
9749
9750 2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
9751
9752         * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
9753         Scan_ALI can be used for multiple ALI files without reinitializing
9754         between calls.
9755
9756 2004-02-18  Robert Dewar  <dewar@gnat.com>
9757
9758         * debug.adb: Minor reformatting.
9759
9760 2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9761
9762         * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
9763         to zero if there is an address clause.
9764
9765 2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
9766
9767         * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
9768
9769 2004-02-18  Gary Dismukes  <dismukes@gnat.com>
9770
9771         * layout.adb (Layout_Component_List): Revise generation of call to
9772         discriminant-checking function to pass selections of all of the type's
9773         discriminants rather than just the variant-controlling discriminant.
9774
9775 2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
9776
9777         * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
9778         fail in the current setup and triggers spurious system error messages.
9779         Pretend it occurred and failed instead.
9780
9781 2004-02-18  Vincent Celier  <celier@gnat.com>
9782
9783         * bld.adb: Mark FLDFLAGS as saved
9784         (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
9785         it is not the root project.  Put each directory to be
9786         extended between double quotes to prevent it to be expanded on Windows.
9787         (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
9788         the project file. Set them back to their initial values if they have not
9789         been set in the project file.
9790
9791         * gprcmd.adb: (Gprdebug, Debug): New global variables
9792         (Display_Command): New procedure
9793         (Usage): Document new command "linkopts"
9794         Call Display_Command when env var GPRDEBUG has the value "TRUE"
9795         Implement new command "linkopts"
9796         Remove quotes that may be around arguments for "extend"
9797         Always call Normalize_Pathname with arguments formatted for the platform
9798
9799         * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
9800         Change @echo to @$(display) in target clean to be able to clean silently
9801
9802         * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
9803
9804         * prj-part.adb (Project_Path_Name_Of): Do not put final result in
9805         canonical case.
9806
9807         * prj-part.adb (Parse_Single_Project): Always call with From_Extended
9808         = Extending_All when current project is an extending all project.
9809
9810         * vms_conv.adb (Output_File_Expected): New Boolean global variable,
9811         set to True only for LINK command, after Unix switch -o.
9812         (Process_Arguments): Set Output_File_Expected to True for LINK command
9813         after Unix switch -o. When Output_File_Expected is True, never add an
9814         extension to a file name.
9815
9816         * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
9817         option file name, only to the --for-linker= switch.
9818         (Option_File_Name): If option file name do not end with ".opt", append
9819         "/OPTIONS".
9820
9821 2004-02-18  GNAT Script  <nobody@gnat.com>
9822
9823         * Make-lang.in: Makefile automatically updated
9824
9825 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
9826
9827         * Make-lang.in (stamp-sdefault): Do not depend on
9828         move-if-change.
9829
9830 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
9831
9832         * config-lang.in: Disable Ada by default until probe logic for
9833         a bootstrap Ada compiler can be moved to the top level configure
9834         script.
9835
9836 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
9837
9838         * decl.c (components_to_record): Don't claim that the internal fields
9839         we make to hold the variant parts are semantically addressable, because
9840         they are not.
9841
9842         * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
9843         adjust the comment describing the modular type form when we can use it.
9844         (Install_PAT): Account for the Esiz renaming.
9845
9846         * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
9847         sc_onstack context indication before raising the exception to which
9848         the signal is mapped. Allows better handling of later signals possibly
9849         triggered by the resumed user code if the exception is handled.
9850
9851 2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
9852
9853         * 5zinit.adb: Removed, no longer used.
9854
9855 2004-02-12  Robert Dewar  <dewar@gnat.com>
9856
9857         * ali.adb: Remove separating space between parameters on R line. Makes
9858         format consistent with format used by the binder for Set_Globals call.
9859
9860         * atree.ads, atree.adb: Minor reformatting (new function header format)
9861
9862         * bindgen.adb: Add Run-Time Globals documentation section containing
9863         detailed documentation of the globals passed from the binder file to
9864         the run time.
9865
9866         * gnatls.adb: Minor reformatting
9867
9868         * init.c (__gnat_set_globals): Add note pointing to documentation in
9869         bindgen.
9870
9871         * lib-writ.ads, lib-writ.adb: Remove separating space between
9872         parameters on R line.
9873         Makes format consistent with format used by the binder for Set_Globals
9874         call.
9875
9876         * osint.ads: Add 2004 to copyright notice
9877         Minor reformatting
9878
9879         * snames.ads: Correct capitalization of FIFO_Within_Priorities
9880         Noticed during code reading, documentation issue only
9881
9882         * usage.adb: Remove junk line for obsolete C switch
9883         Noticed during code reading
9884
9885 2004-02-12  Vincent Celier  <celier@gnat.com>
9886
9887         * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
9888         extend for each directory, so that multiple /** directories are
9889         extended individually.
9890         (Recursive_Process): Set the default for LANGUAGES to ada
9891
9892         * gprcmd.adb: Define new command "ignore", to do nothing.
9893         Implement new comment "path".
9894
9895         * Makefile.generic: Suppress output when SILENT is set
9896         Make sure that when compiler for C/C++ is gcc, the correct -x switch is
9897         used, so that the correct compiler is invoked.
9898         When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
9899         CXX_INCLUDE_PATH, to avoid failure with too long command lines.
9900
9901 2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
9902
9903         * Makefile.in: Clean ups and remove obsolete targets.
9904
9905 2004-02-12  Ed Schonberg  <schonberg@gnat.com>
9906
9907         * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
9908         predicate declared in exp_util.
9909
9910         * exp_util.adb: Add comments.
9911
9912         * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
9913         visibility before compiling context of the subunit.
9914
9915         * sem_res.adb (Check_Parameterless_Call): If the context expects a
9916         value but the name is a procedure, do not attempt to analyze as a call,
9917         in order to obtain more telling diagnostics.
9918
9919         * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
9920         'Access on parameterless function calls.
9921         (Normalize_Actuals): For a parameterless function call with missing
9922         actuals, defer diagnostic until resolution of enclosing call.
9923
9924         * sem_util.adb (Wrong_Type): If the context type is an access to
9925         subprogram and the expression is a procedure name, suggest a missing
9926         'attribute.
9927
9928 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
9929             Nathanael Nerode  <neroden@gcc.gnu.org>
9930
9931         PR ada/6637, PR ada/5911
9932         Merge with libada-branch:
9933         * config-lang.in: Build libada only when ada is built.
9934
9935 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
9936
9937         * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
9938         for a tagged type, verify that both formals have the same type.
9939
9940         * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
9941         temporary when the formal is an in-parameter and the actual a possibly
9942         unaligned slice.
9943
9944         * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
9945         when expansion is disabled, to ensure proper name capture with
9946         overloaded literals.  Condition can be of any boolean type, resolve
9947         accordingly.
9948
9949         * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
9950         renaming is for a formal subprogram with a default operator name, and
9951         there is a usable operator that is visible at the point of
9952         instantiation.
9953
9954 2004-02-09  Robert Dewar  <dewar@gnat.com>
9955
9956         * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
9957         rewrite to ignore errors in ali files, intended to allow tools downward
9958         compatibility with new versions of ali files.
9959
9960         * ali.ads: Add new parameter Ignore_Errors
9961
9962         * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
9963         duplicating the error message giving the file with restrictions.
9964
9965         * debug.adb: Add debug flag I for gnatbind
9966
9967         * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
9968         operators for the case where the operator is a defining operator.
9969
9970         * exp_ch3.adb: Minor reformatting (new function spec format).
9971
9972         * exp_ch4.adb: Add comment for previous change, and make minor
9973         adjustment to loop to always check for improper loop termination.
9974         Minor reformatting throughout (new function spec format).
9975
9976         * gnatbind.adb: Implement -di debug flag for gnatbind
9977
9978         * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
9979
9980         * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
9981
9982         * lib-load.adb: Fix bad assertion.
9983         Found by testing and code reading.
9984         Minor reformatting.
9985
9986         * lib-load.ads: Minor reformatting.
9987
9988         * lib-writ.adb: There is only one R line now.
9989
9990         * lib-writ.ads: Add documentation on making downward compatible changes
9991         to ali files so old tools work with new ali files.
9992         There is only one R line now.
9993         Add documentation on format incompatibilities (with special GPS note)
9994
9995         * namet.ads, namet.adb: (Is_Operator_Name): New procedure
9996
9997         * par-load.adb: Minor reformatting
9998
9999         * sem_ch8.adb: Fix to error message from last update
10000         Minor reformatting and restructuring of code from last update
10001
10002         * par-prag.adb, snames.adb, snames.ads, snames.h,
10003         sem_prag.adb: Implement pragma Profile.
10004
10005         * stylesw.adb: Implement -gnatyN switch to turn off all style check
10006         options.
10007
10008         * usage.adb: Add line for -gnatyN switch
10009
10010         * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
10011
10012 2004-02-09  Albert Lee  <lee@gnat.com>
10013
10014         * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
10015
10016 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
10017
10018         * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
10019         slices.
10020
10021         * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
10022         is nested in an instance that is not frozen yet, to avoid
10023         order-of-elaboration problems in gigi.
10024
10025         * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
10026         body the attribute is legal.
10027
10028 2004-02-09  Robert Dewar  <dewar@gnat.com>
10029
10030         * s-rident.ads: Minor comment correction
10031
10032         * targparm.adb: Remove dependence on uintp completely. There was
10033         always a bug in Make in that it called Targparm before initializing
10034         the Uint package. The old code appeared to get away with this, but
10035         the new code did not! This caused an assertion error in gnatmake.
10036
10037         * targparm.ads: Fix bad comment, restriction pragmas with parameters
10038         are indeed fully supported.
10039
10040 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
10041
10042         * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
10043
10044 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
10045
10046         * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
10047         with targetm.calls.promote_prototypes.
10048
10049 2004-02-04  Robert Dewar  <dewar@gnat.com>
10050
10051         * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
10052         ali.ads, gprcmd.adb: Minor reformatting
10053
10054         * bindgen.adb: Output restrictions string for new style restrictions
10055         handling
10056
10057         * impunit.adb: Add s-rident.ads (System.Rident) and
10058         s-restri (System.Restrictions)
10059
10060         * lib-writ.adb: Fix bug in writing restrictions string (last few
10061         entries wrong)
10062
10063         * s-restri.ads, s-restri.adb: Change name Restrictions to
10064         Run_Time_Restrictions to avoid conflict with package name.
10065         Add circuit to read and acquire run time restrictions.
10066
10067 2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
10068
10069         * restrict.ads, restrict.adb: Use the new restriction
10070         No_Task_Attributes_Package instead of the old No_Task_Attributes.
10071
10072         * sem_prag.adb: No_Task_Attributes is a synonym of
10073         No_Task_Attributes_Package.
10074
10075         * snames.ads, snames.adb: New entry for proper handling of
10076         No_Task_Attributes.
10077
10078         * s-rident.ads: Adding restriction No_Task_Attributes_Package
10079         (AI-00249) that supersedes the GNAT specific restriction
10080         No_Task_Attributes.
10081
10082 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
10083
10084         * sem_prag.adb:
10085         (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
10086          body, an identifier may be wrapped in an unchecked conversion.
10087
10088 2004-02-04  Vincent Celier  <celier@gnat.com>
10089
10090         * lib-writ.ads: Comment update for the W lines
10091
10092         * bld.adb: (Expression): An empty string list is static
10093
10094         * fname-uf.adb: Minor comment update
10095
10096         * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
10097
10098         * gnatbind.adb: Initialize Cumulative_Restrictions with the
10099         restrictions on the target.
10100
10101 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
10102
10103         * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
10104         gen_rtx.
10105
10106 2004-02-02  Arnaud Charlet  <charlet@gnat.com>
10107
10108         * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
10109
10110 2004-02-02  Vincent Celier  <celier@gnat.com>
10111
10112         * gprcmd.adb (Check_Args): If condition is false, print the invoked
10113         comment before the usage.
10114         Gprcmd: Fail when command is not recognized.
10115         (Usage): Document command "prefix"
10116
10117         * g-md5.adb (Digest): Process last block.
10118         (Update): Do not process last block. Store remaining characters and
10119         length in Context.
10120
10121         * g-md5.ads (Update): Document that several call to update are
10122         equivalent to one call with the concatenated string.
10123         (Context): Add fields to allow new Update behaviour.
10124
10125         * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
10126         defaulted to False.
10127         When May_Fail is True and no existing file can be found, return No_File.
10128
10129         * 6vcstrea.adb: Inlined functions are now wrappers to implementation
10130         functions.
10131
10132         * lib-writ.adb (Write_With_Lines): When body file does not exist, use
10133         spec file name instead on the W line.
10134
10135 2004-02-02  Robert Dewar  <dewar@gnat.com>
10136
10137         * ali.adb: Read and acquire info from new format restrictions lines
10138
10139         * bcheck.adb: Add circuits for checking restrictions with parameters
10140
10141         * bindgen.adb: Output dummy restrictions data
10142         To be changed later
10143
10144         * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
10145         exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
10146         freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
10147         sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
10148         sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
10149
10150         * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
10151         the warning message on access to possibly uninitialized variable S)
10152         Minor changes for new restrictions handling.
10153
10154         * gnatbind.adb: Minor reformatting
10155         Minor changes for new restrictions handling
10156         Move circuit for -r processing here from bcheck (cleaner)
10157
10158         * gnatcmd.adb, gnatlink.adb: Minor reformatting
10159
10160         * lib-writ.adb: Output new format restrictions lines
10161
10162         * lib-writ.ads: Document new R format lines for new restrictions
10163         handling.
10164
10165         * s-restri.ads/adb: New files
10166
10167         * Makefile.rtl: Add entry for s-restri.ads/adb
10168
10169         * par-ch3.adb: Fix bad error messages starting with upper case letter
10170         Minor reformatting
10171
10172         * restrict.adb: Major rewrite throughout for new restrictions handling
10173         Major point is to handle restrictions with parameters
10174
10175         * restrict.ads: Major changes in interface to handle restrictions with
10176         parameters. Also generally simplifies setting of restrictions.
10177
10178         * snames.ads/adb: New entry for proper handling of No_Requeue
10179
10180         * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
10181         restriction counting.
10182         Other minor changes for new restrictions handling
10183
10184         * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
10185         Restriction_Warnings now allows full parameter notation
10186         Major rewrite of Restrictions for new restrictions handling
10187
10188 2004-02-02  Javier Miranda  <miranda@gnat.com>
10189
10190         * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
10191         syntax rule for object renaming declarations.
10192         (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
10193         component definitions.
10194
10195         * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
10196         components.
10197         (Array_Type_Declaration): Give support to access components. In addition
10198         it was also modified to reflect the name of the object in anonymous
10199         array types. The old code did not take into account that it is possible
10200         to have an unconstrained anonymous array with an initial value.
10201         (Check_Or_Process_Discriminants): Allow access discriminant in
10202         non-limited types.
10203         (Process_Discriminants): Allow access discriminant in non-limited types
10204         Initialize the new Access_Definition field in N_Object_Renaming_Decl
10205         node.  Change Ada0Y to Ada 0Y in comments
10206
10207         * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
10208         equality operators.
10209         Change Ada0Y to Ada 0Y in comments
10210
10211         * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
10212         renamings Change Ada0Y to Ada 0Y in comments
10213
10214         * sem_type.adb (Find_Unique_Type): Give support to the equality
10215         operators for universal access types
10216         Change Ada0Y to Ada 0Y in comments
10217
10218         * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
10219
10220         * sinfo.ads (N_Component_Definition): Addition of Access_Definition
10221         field.
10222         (N_Object_Renaming_Declaration): Addition of Access_Definition field
10223         Change Ada0Y to Ada 0Y in comments
10224
10225         * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
10226         component definition and object renaming nodes
10227         Change Ada0Y to Ada 0Y in comments
10228
10229 2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
10230
10231         * restrict.adb: Use the new restriction identifier
10232         No_Requeue_Statements instead of the old No_Requeue for defining the
10233         restricted profile.
10234
10235         * sem_ch9.adb (Analyze_Requeue): Check the new restriction
10236         No_Requeue_Statements.
10237
10238         * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
10239         that supersedes the GNAT specific restriction No_Requeue. The later is
10240         kept for backward compatibility.
10241
10242 2004-02-02  Ed Schonberg  <schonberg@gnat.com>
10243
10244         * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
10245         5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
10246         pragma and fix incorrect ones.
10247
10248         * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
10249         warning if the pragma is redundant.
10250
10251 2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
10252
10253         * 5staprop.adb: Add missing 'constant' keywords.
10254
10255         * Makefile.in: use consistent value for SYMLIB on
10256         platforms where libaddr2line is supported.
10257
10258 2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10259
10260         * utils.c (end_subprog_body): Do not call rest_of_compilation if just
10261         annotating types.
10262
10263 2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
10264
10265         * init.c (__gnat_install_handler): Setup an alternate stack for signal
10266         handlers in the environment thread. This allows proper propagation of
10267         an exception on stack overflows in this thread even when the builtin
10268         ABI stack-checking scheme is used without support for a stack reserve
10269         region.
10270
10271         * utils.c (create_field_decl): Augment the head comment about bitfield
10272         creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
10273         here, because the former is not accurate enough at this point.
10274         Let finish_record_type decide instead.
10275         Don't make a bitfield if the field is to be addressable.
10276         Always set a size for the field if the record is packed, to ensure the
10277         checks for bitfield creation are triggered.
10278         (finish_record_type): During last pass over the fields, clear
10279         DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
10280         not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
10281         from DECL_BIT_FIELD.
10282
10283 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
10284
10285         * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
10286         (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
10287         (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
10288
10289 2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10290
10291         * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
10292
10293         * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
10294         (ZCX_By_Default): Likewise.
10295         (Front_End_ZCX_Support): Likewise.
10296
10297         * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
10298         (Initialize_Lock): Mark Level unreferenced.
10299         (Sleep): Mark Reason unreferenced.
10300         (Timed_Sleep): Likewise.
10301         (Wakeup): Likewise.
10302         (Exit_Task): Use Result.
10303         (Check_No_Locks): Mark Self_ID unreferenced.
10304
10305         * 5gtasinf.adb (New_Sproc): Make Attr constant.
10306         (Bound_Thread_Attributes): Make Sproc constant.
10307         (New_Bound_Thread_Attributes): Likewise.
10308
10309 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
10310
10311         * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
10312         one-dimensional array an slice assignments, when component type is
10313         controlled.
10314
10315         * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
10316         component type is controlled, and control_actions are in effect, use
10317         TSS procedure rather than generating inline code.
10318
10319         * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
10320         arrays with controlled components.
10321
10322 2004-01-26  Vincent Celier  <celier@gnat.com>
10323
10324         * gnatcmd.adb (GNATCmd): Add specification of argument file on the
10325         command line for the non VMS case.
10326
10327         * gnatlink.adb (Process_Binder_File): When building object file, if
10328         GNU linker is used, put all object paths between quotes, to prevent ld
10329         error when there are unusual characters (such as '!') in the paths.
10330
10331         * Makefile.generic: When there are sources in Ada and the main is in
10332         C/C++, invoke gnatmake with -B, instead of -z.
10333
10334         * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
10335         from VMS_Conversion.
10336         (Process_Argument): New procedure, extracted from VMS_Conversion. Add
10337         specification of argument file on the command line.
10338
10339 2004-01-26  Bernard Banner  <banner@gnat.com>
10340
10341         * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
10342
10343 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
10344
10345         * snames.adb: Update copyright notice.
10346         Add info on slice assignment for controlled arrays.
10347
10348 2004-01-23  Robert Dewar  <dewar@gnat.com>
10349
10350         * exp_aggr.adb: Minor reformatting
10351
10352         * exp_ch9.adb: Minor code clean up
10353         Minor reformatting
10354         Fix bad character in comment
10355
10356         PR ada/13471
10357         * targparm.adb (Get_Target_Parameters): Give clean abort error on
10358         unexpected end of file, along with more detailed message.
10359
10360 2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10361
10362         * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
10363         PAT.
10364
10365         * decl.c (copy_alias_set): New function.
10366         (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
10367
10368 2004-01-23  Doug Rupp  <rupp@gnat.com>
10369
10370         * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
10371         lib$${file} in case subsequent character is not a separator.
10372
10373 2004-01-23  Vincent Celier  <celier@gnat.com>
10374
10375         * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
10376         when the GCC version is at least 3.
10377
10378         * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
10379         Remove all "Opt.", to prepare for opt split
10380
10381         * prj-part.adb (Parse_Single_Project): New Boolean out parameter
10382         Extends_All. Set to True when the project parsed is an extending all
10383         project. Fails for importing an extending all project only when the
10384         imported project is an extending all project.
10385         (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
10386         depending on the value of Extends_All returned.
10387
10388         * prj-proc.adb (Process): Check that no project shares its object
10389         directory with a project that extends it, directly or indirectly,
10390         including a virtual project.
10391         Check that no project extended by another project shares its object
10392         directory with another also extended project.
10393
10394         * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
10395         Kind = N_With_Clause
10396
10397         * prj-tree.ads: Minor reformatting
10398         Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
10399
10400 2004-01-23  Ed Schonberg  <schonberg@gnat.com>
10401
10402         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
10403         applies to a type with an incomplete view, use full view in Name of
10404         clause, for consistency with uses of Get_Attribute_Definition_Clause.
10405
10406 2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
10407
10408         * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
10409         SCHED_RR, since other values are not supported by this policy.
10410         (Initialize): Move initialization of mutex attribute to package
10411         elaboration, to prevent early access to this variable.
10412
10413         * Makefile.in: Remove mention of Makefile.adalib, unused.
10414
10415         * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
10416         1ssecsta.ads: Removed, unused.
10417
10418 2004-01-21  Javier Miranda  <miranda@gnat.com>
10419
10420         * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
10421         entity if already built in the current scope.
10422
10423         * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
10424         reminder in internal scopes. Required for nested limited aggregates.
10425
10426 2004-01-21  Doug Rupp  <rupp@gnat.com>
10427
10428         * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
10429         VMS. Replace all occurences of libgnat- and libgnarl- with
10430         libgnat$(hyphen) and libgnarl$(hyphen).
10431         Fixed shared library build problem on VMS.
10432
10433 2004-01-21  Robert Dewar  <dewar@gnat.com>
10434
10435         * mlib-prj.adb: Minor reformatting
10436
10437 2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
10438
10439         * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
10440         'constant' keywords for declaration of pointers that are not modified.
10441
10442         * exp_pakd.adb: Fix English in comment.
10443
10444 2004-01-21  Ed Schonberg  <schonberg@gnat.com>
10445
10446         PR ada/10889
10447         * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
10448         copy all attributes of the parent, including the foreign language
10449         convention.
10450
10451 2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
10452
10453         PR ada/10565
10454         * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
10455         for 'delay until' statement.
10456
10457 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
10458
10459         * Make-lang.in: Replace $(docdir) with doc.
10460         (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
10461         doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
10462         to use consistent MAKEINFO rule.
10463         (ada.man, ada.srcman): Dummy entry.
10464         (ADA_INFOFILES): Define.
10465         (ada.info, ada.srcinfo): New rules.
10466
10467 2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
10468
10469         * utils.c: Update copyright notice, missed in previous change.
10470
10471 2004-01-19  Vincent Celier  <celier@gnat.com>
10472
10473         * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
10474         args if Bind is True. Set First_ALI, if not already done.
10475         (Build_Library): For Stand Alone Libraries, extract from one ALI file
10476         an eventual --RTS switch, for gnatbind, and all backend switches +
10477         --RTS, for linking.
10478
10479 2004-01-19  Robert Dewar  <dewar@gnat.com>
10480
10481         * sem_attr.adb, memtrack.adb: Minor reformatting
10482
10483 2004-01-19  Ed Schonberg  <schonberg@gnat.com>
10484
10485         * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
10486         that rename enumeration literals. This is properly done in sem_eval.
10487
10488         * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
10489         to functions that rename enumeration literals.
10490
10491         * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
10492         functions that rename enumeration literals.
10493
10494 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
10495
10496         * Make-lang.in (utils.o): Depend on target.h.
10497         * utils.c: Include target.h.
10498         (process_attributes): Use targetm.have_named_sections instead
10499         of ASM_OUTPUT_SECTION_NAME.
10500
10501 2004-01-16  Andreas Jaeger  <aj@suse.de>
10502
10503         * Makefile.in: Add $(DESTDIR).
10504
10505 2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
10506
10507         * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
10508         also when not defining if a Size clause applies. That information is
10509         not to be ignored.
10510
10511 2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
10512
10513         * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
10514         symbolic links for the shared gnat run time when needed.
10515
10516 2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
10517
10518         * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
10519         for writing, and terminate with an error message if not.
10520
10521 2004-01-15  Ed Schonberg  <schonberg@gnat.com>
10522
10523         * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
10524         warning on an access to subprogram in an instance, when the target
10525         type is declared in the same generic unit.
10526         (Eval_Attribute): If 'access is known to fail accessibility check,
10527         rewrite as a raise statement.
10528
10529 2004-01-15  GNAT Script  <nobody@gnat.com>
10530
10531         * Make-lang.in: Makefile automatically updated
10532
10533 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
10534
10535         * Make-lang.in (ada.srcextra): Dummy entry.
10536
10537 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
10538
10539         * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
10540
10541 2004-01-13  Ed Schonberg  <schonberg@gnat.com>
10542
10543         * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
10544         components that are initialized with aggregates.
10545
10546 2004-01-13  Vincent Celier  <celier@gnat.com>
10547
10548         * gnatlink.adb (Process_Binder_File): To find directory of shared
10549         libgcc, if "gcc-lib" is not a subdirectory, look for the last
10550         subdirectory "lib" in the path of the shared libgnat or libgnarl.
10551
10552         * make.adb (Gnatmake): If GCC version is at least 3, link with
10553         -shared-libgcc, when there is at least one shared library project.
10554
10555         * opt.ads (GCC_Version): New integer constant.
10556
10557         * adaint.c (get_gcc_version): New function.
10558
10559 2004-01-13  Robert Dewar  <dewar@gnat.com>
10560
10561         * sem_dist.adb, sem_res.adb, sem_util.adb,
10562         sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
10563         exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
10564
10565 2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
10566
10567         * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
10568         g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
10569         declarations.
10570
10571 2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
10572
10573         * misc.c: Remove trailing spaces.
10574         Update copyright notice missed in previous change.
10575
10576         PR ada/13572
10577         * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
10578         prefix/share/make
10579
10580         * Makefile.generic: Update copyright.
10581         Add license notice.
10582
10583         * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
10584         of prefix/share/make.
10585
10586         * Makefile.prolog: Update copyright.
10587         Add license notice.
10588
10589 2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
10590
10591         * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
10592         3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
10593         g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
10594         instead of String.
10595
10596         * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
10597         signature.
10598
10599 2004-01-12  Javier Miranda  <miranda@gnat.com>
10600
10601         * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
10602         exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
10603         sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
10604         sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
10605         Component_Definition node.
10606
10607 2004-01-12  Ed Falis  <falis@gnat.com>
10608
10609         * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
10610
10611 2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
10612
10613         * link.c: Change default libgnat kind to STATIC for FreeBSD.
10614
10615 2004-01-12  Bernard Banner  <banner@gnat.com>
10616
10617         * Makefile.in: map 86numaux to a-numaux for x86_64
10618
10619 2004-01-12  Ed Schonberg  <schonberg@gnat.com>
10620
10621         * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
10622         generated to rename a generic actual, go to the actual itself, the
10623         subtype is not a user-visible entity.
10624
10625         * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
10626         part is a private subtype, reset the visibility of its full view, if
10627         any, to be consistent.
10628
10629         PR ada/13417
10630         * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
10631         to use a generic package G as a formal package for another generic
10632         declared within G.
10633
10634 2004-01-12  Robert Dewar  <dewar@gnat.com>
10635
10636         * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
10637
10638         * usage.adb: Remove mention of obsolete -gnatwb switch
10639         Noticed during code reading
10640
10641 2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
10642
10643         * 1ssecsta.adb: Minor changes for -gnatwa warnings
10644
10645 2004-01-12  GNAT Script  <nobody@gnat.com>
10646
10647         * Make-lang.in: Makefile automatically updated
10648
10649 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
10650
10651         * misc.c (gnat_expand_expr): Add alt_rtl parameter.
10652
10653 2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10654
10655         * link.c [sgi] (shared_libgnat_default): Change to STATIC.
10656
10657 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
10658
10659         * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
10660         Update comment and copyright date.
10661         * stamp-xgnatug: Delete.
10662
10663 2004-01-05  Robert Dewar  <dewar@gnat.com>
10664
10665         * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
10666         be modified by the binder generated main program if the -D switch is
10667         used.
10668
10669         * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
10670         imported functions (since now we expect this to be done for imported
10671         functions)
10672
10673         * 5vtaprop.adb: Add several ??? for sections requiring more comments
10674         Minor reformatting throughout
10675
10676         * 5zinit.adb: Minor reformatting
10677         Add 2004 to copyright date
10678         Minor changes to avoid -gnatwa warnings
10679         Correct some instances of using OR instead of OR ELSE (noted while
10680         doing reformatting)
10681
10682         * sprint.adb: Minor updates to avoid -gnatwa warnings
10683
10684         * s-secsta.ads, s-secsta.adb:
10685         (SS_Get_Max): New function to obtain high water mark for ss stack
10686         Default_Secondary_Stack is not a constant since it may be modified by
10687         the binder generated main program if the -D switch is used.
10688
10689         * switch-b.adb: New -Dnnn switch for binder
10690
10691         * switch-c.adb:
10692         Make -gnatg imply all warnings currently in -gnatwa
10693
10694         * vms_conv.adb: Minor reformatting
10695         Add 2004 to copyright notice
10696         Add 2004 to printed copyright notice
10697
10698         * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
10699         3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
10700         5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
10701         5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
10702         5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
10703         5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
10704         5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
10705         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
10706         5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
10707         5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
10708         6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
10709         vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
10710         xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
10711         sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
10712         checks.adb, clean.adb, cstand.adb, einfo.ads,
10713         einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
10714         exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
10715         prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
10716         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
10717         g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
10718         lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
10719         Minor reformatting and code clean ups.
10720         Minor changes to prevent -gnatwa warnings
10721
10722         * ali.adb: Minor reformatting and cleanup of code
10723         Acquire new SS indication of secondary stack use from ali files
10724
10725         * a-numaux.ads: Add Pure_Function pragmas for all imported functions
10726         (since now we expect this to be done for imported functions)
10727
10728         * bindgen.adb: Generate call to modify default secondary stack size if
10729         -Dnnn switch given
10730
10731         * bindusg.adb: Add line for new -D switch
10732
10733         * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
10734         replacement name for Type_May_Have_Non_Bit_Aligned_Components!
10735         Add circuitry for both records and arrays to avoid gigi
10736         processing if the type involved has non-bit-aligned components
10737
10738         * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
10739         N_String_Literal node always references an E_String_Literal_Subtype
10740         entity. This may not be true in the future.
10741         (Possible_Bit_Aligned_Component): Move processing of
10742         Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
10743
10744         * exp_ch6.adb (Expand_Thread_Body): Pick up
10745         Default_Secondary_Stack_Size as variable so that we get value modified
10746         by possible -Dnnn binder parameter.
10747
10748         * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
10749         (Type_May_Have_Bit_Aligned_Components): New function.
10750
10751         * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
10752         (Type_May_Have_Bit_Aligned_Components): New function.
10753
10754         * fe.h: (Set_Identifier_Casing): Fix prototype.
10755         Add declaration for Sem_Elim.Eliminate_Error_Msg.
10756         Minor reformatting.
10757
10758         * freeze.adb (Freeze_Entity): Add RM reference to error message about
10759         importing constant atomic/volatile objects.
10760         (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
10761         unless explicit Pure_Function pragma given, to avoid insidious bug of
10762         call to non-pure imported function getting eliminated.
10763
10764         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
10765         gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
10766         gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
10767         Add 2004 to printed copyright notice
10768
10769         * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
10770         stack used.
10771
10772         * Makefile.rtl: Add entry for g-sestin.o
10773         g-sestin.ads: New file.
10774
10775         * mdll.adb: Minor changes to avoid -gnatwa warnings
10776
10777         * mlib-tgt.adb: Minor reformatting
10778
10779         * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
10780         New switch Sec_Stack_Used (GNAT, GNATBIND)
10781         Make Default_Secondary_Stack_Size a variable instead of a constant,
10782         so that it can be modified by the new -Dnnn bind switch.
10783
10784         * rtsfind.adb (Load_Fail): Give full error message in configurable
10785         run-time mode if all_errors mode is set. This was not done in the case
10786         of a file not found, which was an oversight.
10787         Note if secondary stack unit is used by compiler.
10788
10789         * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
10790         ineffective elaborate all pragmas on non-visible packages (this
10791         happened when a renamed subprogram was called). Now the elaborate all
10792         always goes on the package containing the renaming rather than the one
10793         containing the renamed subprogram.
10794
10795         * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
10796         (Process_Eliminate_Pragma): Add parameter to capture pragma location.
10797
10798         * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
10799         has an Etype that references an E_String_Literal.
10800         (Eval_String_Literal): Avoid assumption that N_String_Literal node
10801         always references an E_String_Literal_Subtype entity. This may not
10802         be true in the future.
10803
10804         * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
10805         pragma location.
10806
10807         * sem_res.adb (Resolve): Specialize msg for function name used in proc
10808         call.
10809
10810 2004-01-05  Ed Falis  <falis@gnat.com>
10811
10812         * g-debuti.adb: Replaced direct boolean operator with short-circuit
10813         form.
10814
10815 2004-01-05  Vincent Celier  <celier@gnat.com>
10816
10817         * bld.adb: Minor comment updates
10818         (Process_Declarative_Items): Correct incorrect name (Index_Name instead
10819         of Item_Name).
10820
10821         * make.adb (Gnatmake): Special process for files to compile/check when
10822         -B is specified. Fail when there are only foreign mains in attribute
10823         Main of the project file and -B is not specified. Do not skip bind/link
10824         steps when -B is specified.
10825
10826         * makeusg.adb: Document new switch -B
10827
10828         * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
10829
10830         * switch-m.adb: (Scan_Make_Switches): Process -B switch
10831
10832         * vms_data.ads: Add new GNAT PRETTY qualifier
10833         /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
10834
10835 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10836
10837         * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
10838         case.
10839
10840         * misc.c (gnat_printable_name): If VERBOSITY is 2, call
10841         Set_Identifier_Casing.
10842
10843         * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
10844         has size that overflows.
10845
10846 2004-01-05  Gary Dismukes  <dismukes@gnat.com>
10847
10848         * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
10849         -gnatwa warning on static condition.
10850
10851 2004-01-05  Doug Rupp  <rupp@gnat.com>
10852
10853         * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
10854
10855 2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
10856
10857         * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
10858         all attributes, including read-only attribute.
10859
10860 2004-01-05  Pascal Obry  <obry@gnat.com>
10861
10862         * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
10863         library naming scheme.
10864
10865         * mlib-prj.adb (Build_Library): Generate different names for the static
10866         or dynamic version of the GNAT runtime. This is needed to support the
10867         new shared library naming scheme.
10868         (Process_Binder_File): Add detection of shared library in binder file
10869         based on the new naming scheme.
10870
10871         * gnatlink.adb (Process_Binder_File): Properly detect the new naming
10872         scheme for the shared runtime libraries.
10873
10874         * Makefile.in:
10875         (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
10876         scheme.
10877         (install-gnatlib): Do not create symlinks for shared libraries.
10878         (gnatlib-shared-default): Idem.
10879         (gnatlib-shared-dual-win32): New target. Not used for now as the
10880         auto-import feature does not support arrays/records.
10881         (gnatlib-shared-win32): Do not create copy for the shared libraries.
10882         (gnatlib-shared-vms): Fix shared runtime libraries names.
10883
10884         * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
10885         dependent runtime shared library name.
10886
10887 2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
10888
10889         * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
10890         than the object.
10891
10892 2004-01-05  Ed Schonberg  <schonberg@gnat.com>
10893
10894         * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
10895         protected objects when allocator has a subtype indication, not a
10896         qualified expression. Note that qualified expressions may have to be
10897         checked when limited aggregates are implemented.
10898
10899         * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
10900         pure, emit warning.
10901         (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
10902         subprogram is imported, remove warning.
10903
10904 2004-01-05  Geert Bosch  <bosch@gnat.com>
10905
10906         * s-poosiz.adb: Update copyright notice.
10907         (Allocate): Use Task_Lock to protect against concurrent access.
10908         (Deallocate): Likewise.
10909
10910 2004-01-05  Joel Brobecker  <brobecker@gnat.com>
10911
10912         * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
10913         comment.
10914
10915 2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
10916
10917         * gnat_ug.texi: Force a CVS commit by updating copyright.
10918         * gnat_ug_vxw.texi: Regenerate.
10919         * gnat_ug_wnt.texi: Regenerate.
10920         * gnat_ug_vms.texi: Regenerate.
10921         * gnat_ug_unx.texi: Regenerate.
10922
10923 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
10924
10925         * trans.c: Remove uses of "register" specifier in
10926         declarations of local variables.
10927
10928 2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
10929
10930         * stamp-xgnatug: New stamp file.
10931         * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
10932         (ada/doctools/xgnatug): Add $(build_exeext).
10933         (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
10934         ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
10935
10936 2003-12-17  Ed Falis  <falis@gnat.com>
10937
10938         * a-elchha.adb (Tailored_Exception_Information): made Info constant to
10939         eliminate warning.
10940
10941         * a-exextr.adb: Add context clause for
10942         Ada.Exceptions.Last_Chance_Handler.
10943
10944 2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
10945
10946         * cstand.adb (Create_Standard): Change the way how the declaration of
10947         the Duration type is created (making it the same way as it is for all
10948         the other standard types).
10949
10950 2003-12-17  Robert Dewar  <dewar@gnat.com>
10951
10952         * s-crtl.ads: Fix header format
10953         Change Pure to Preelaborate
10954
10955 2003-12-17  Ed Schonberg  <schonberg@gnat.com>
10956
10957         * checks.adb (Selected_Length_Checks): Generate an Itype reference for
10958         the expression type only if it is declared in the current unit.
10959
10960         * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
10961         are universal and already analyzed, as can occur in constrained
10962         subcomponents that depend on discriminants, when one constraint is a
10963         subtype mark.
10964
10965         * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
10966         type Any_Fixed is legal as the argument of a conversion, if only one
10967         fixed-point type is in context.
10968
10969 2003-12-17  GNAT Script  <nobody@gnat.com>
10970
10971         * Make-lang.in: Makefile automatically updated
10972
10973 2003-12-15  Robert Dewar  <dewar@gnat.com>
10974
10975         * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
10976         sec stack size.
10977
10978 2003-12-15  Vincent Celier  <celier@gnat.com>
10979
10980         * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
10981         (Gnatchop): Do not set failure status when reporting the number of
10982         warnings.
10983
10984 2003-12-15  Doug Rupp  <rupp@gnat.com>
10985
10986         * s-ctrl.ads: New file.
10987
10988         * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
10989
10990         * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
10991         (GNATBIND_OBJS): Add ada/s-crtl.o.
10992
10993         * Makefile.in [VMS]: Clean up ifeq rules.
10994
10995         * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
10996         a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
10997         g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
10998         s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
10999         s-tasdeb.adb: Update copyright.
11000         Import System.CRTL.
11001         Make minor modifications to use System.CRTL declared functions instead
11002         of importing locally.
11003
11004 2003-12-15  GNAT Script  <nobody@gnat.com>
11005
11006         * Make-lang.in: Makefile automatically updated
11007
11008 2003-12-11  Ed Falis  <falis@gnat.com>
11009
11010         * 5zinit.adb: Clean up.
11011
11012         * 5zintman.adb (Notify_Exception): replaced case statement with a call
11013         to __gnat_map_signal, imported from init.c to support
11014         signal -> exception mappings that depend on the vxWorks version.
11015
11016         * init.c:
11017         Created and exported __gnat_map_signal to support signal -> exception
11018         mapping that is dependent on the VxWorks version.
11019         Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
11020
11021 2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
11022
11023         * 5wosinte.ads: Link with -mthreads switch.
11024
11025 2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
11026
11027         * init.c (__gnat_install_handler [NetBSD]): Set
11028         __gnat_handler_installed, as done on all other platforms.
11029         Remove duplicated code.
11030
11031 2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
11032
11033         * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
11034
11035 2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
11036
11037         * sinfo.ads: Fix inconsistent example code in comment.
11038
11039 2003-12-11  Robert Dewar  <dewar@gnat.com>
11040
11041         * a-tiinau.adb: Add a couple of comments
11042
11043         * sem_ch3.adb: Minor reformatting
11044
11045         * sem_prag.adb:
11046         Fix bad prototype of Same_Base_Type in body (code reading cleanup)
11047         Minor reformatting throughout
11048
11049 2003-12-11  Ed Schonberg  <schonberg@gnat.com>
11050
11051         * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
11052         bounds of a loop, create a separate block in order to generate proper
11053         cleanup actions to prevent memory leaks.
11054
11055         * sem_res.adb (Resolve_Call): After a call to
11056         Establish_Transient_Scope, the call may be rewritten and relocated, in
11057         which case no further processing is needed.
11058
11059         * sem_util.adb: (Wrong_Type): Refine previous fix.
11060          Fixes ACATS regressions.
11061
11062         PR ada/13353
11063
11064         * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
11065         be inlined.
11066
11067 2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
11068
11069         * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
11070         i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
11071         obsolete files.
11072
11073         * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
11074         (rts-zfp): Ditto.
11075
11076 2003-12-08  Robert Dewar  <dewar@gnat.com>
11077
11078         * 7sintman.adb: Minor reformatting
11079
11080         * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
11081         standard linker options to get standard libraries linked. We now plan
11082         to provide dummy versions of these libraries to match the appropriate
11083         configurable run-time (e.g. if a library is not needed at all, provide
11084         a dummy empty library).
11085
11086         * targparm.ads: Configurable_Run_Time mode no longer affects linker
11087         options (-L parameters and standard libraries). What we plan to do is
11088         to provide dummy libraries where the libraries are not required.
11089
11090         * gnatbind.adb: Minor comment improvement
11091
11092 2003-12-08  Javier Miranda  <miranda@gnat.com>
11093
11094         * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
11095         aggregate in the parent. Otherwise constants with limited aggregates
11096         are not supported. Add new formal to pass the component type (Ctype).
11097         It is required to call the corresponding IP subprogram in case of
11098         default initialized components.
11099         (Gen_Assign): In case of default-initialized component, generate a
11100         call to the IP subprogram associated with the component.
11101         (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
11102         of aggregate with default initialized components.
11103         (Has_Default_Init_Comps): Improve implementation to recursively check
11104         all the present expressions.
11105
11106         * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
11107         to indicate that the initialization call corresponds to a
11108         default-initialized component of an aggregate.
11109         In case of default initialized aggregate with tasks this parameter is
11110         used to generate a null string (this is just a workaround that must be
11111         improved later). In case of discriminants, this parameter is used to
11112         generate a selected component node that gives access to the discriminant
11113         value.
11114
11115         * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
11116         subprogram, based on Build_Task_Allocate_Block, but adapted to expand
11117         allocated aggregates with default-initialized components.
11118
11119         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
11120         the box notation is used in positional aggregates.
11121
11122 2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
11123
11124         * lib.ads: Fix typo in comment
11125
11126 2003-12-08  Vincent Celier  <celier@gnat.com>
11127
11128         * prj.adb (Project_Empty): New component Unkept_Comments
11129         (Scan): Remove procedure; moved to Prj.Err.
11130
11131         * prj.ads (Project_Data): New Boolean component Unkept_Comments
11132         (Scan): Remove procedure; moved to Prj.Err.
11133
11134         * prj-dect.adb: Manage comments for the different declarations.
11135
11136         * prj-part.adb (With_Record): New component Node
11137         (Parse): New Boolean parameter Store_Comments, defaulted to False.
11138         Set the scanner to return ends of line and comments as tokens, if
11139         Store_Comments is True.
11140         (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
11141         comments are associated with these nodes. Store the node IDs in the
11142         With_Records.
11143         (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
11144         With_Records.
11145         (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
11146         the N_Project node. Call Tree.Save and Tree.Reset before scanning the
11147         current project. Call Tree.Restore afterwards. Set the various nodes
11148         for comment storage (Next_End, End_Of_Line, Previous_Line,
11149         Previous_End).
11150
11151         * prj-part.ads (Parse): New Boolean parameter Store_Comments,
11152         defaulted to False.
11153
11154         * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
11155         to False. When Truncated is True, truncate the string, never go to the
11156         next line.
11157         (Write_End_Of_Line_Comment): New procedure
11158         (Print): Process comments for nodes N_With_Clause,
11159         N_Package_Declaration, N_String_Type_Declaration,
11160         N_Attribute_Declaration, N_Typed_Variable_Declaration,
11161         N_Variable_Declaration, N_Case_Construction, N_Case_Item.
11162         Process nodes N_Comment.
11163
11164         * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
11165         without comments and there are some comments, set the flag
11166         Unkept_Comments to True.
11167         (Scan): If there are comments, set the flag Unkept_Comments to True and
11168         clear the comments.
11169         (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
11170         (Next_End_Nodes: New table
11171         (Comment_Zones_Of): New function
11172         (Scan): New procedure; moved from Prj. Accumulate comments in the
11173         Comments table and set end of line comments, comments after, after end
11174         and before end.
11175         (Add_Comments): New procedure
11176         (Save, Restore, Seset_State): New procedures
11177         (There_Are_Unkept_Comments): New function
11178         (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
11179         (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
11180         procedures.
11181         (First_Comment_After, First_Comment_After_End): New functions
11182         (First_Comment_Before, First_Comment_Before_End): New functions
11183         (Next_Comment): New function
11184         (End_Of_Line_Comment, Follows_Empty_Line,
11185         Is_Followed_By_Empty_Line): New functions
11186         (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
11187         (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
11188         (Set_Next_Comment): New procedure
11189         (Default_Project_Node): Associate comment before if the node can store
11190         comments.
11191
11192         * scans.ads (Token_Type): New enumeration value Tok_Comment
11193         (Comment_Id): New global variable
11194
11195         * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
11196         defaulted to False.
11197         (Scan): Store position of start of comment. If comments are tokens, set
11198         Comment_Id and set Token to Tok_Comment when scanning a comment.
11199         (Set_Comment_As_Token): New procedure
11200
11201         * sinput-p.adb: Update Copyright notice
11202         (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
11203         that no longer exists.
11204
11205 2003-12-08  Javier Miranda  <miranda@gnat.com>
11206
11207         * sem_aggr.adb: Add dependence on Exp_Tss package
11208         Correct typo in comment
11209         (Resolve_Aggregate): In case of array aggregates set the estimated
11210         type of the aggregate before calling resolve. This is needed to know
11211         the name of the corresponding IP in case of limited array aggregates.
11212         (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
11213         in case of default initialized array components.
11214
11215         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
11216         types. Required to give support to limited aggregates in generic
11217         formals.
11218
11219 2003-12-08  Ed Schonberg  <schonberg@gnat.com>
11220
11221         * sem_ch3.adb (Check_Initialization): For legality purposes, an
11222         inlined body functions like an instantiation.
11223         (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
11224         until bounds are analyzed, to diagnose premature use of type.
11225
11226         * sem_util.adb (Wrong_Type): Improve error message when the type of
11227         the expression is used prematurely.
11228
11229 2003-12-08  GNAT Script  <nobody@gnat.com>
11230
11231         * Make-lang.in: Makefile automatically updated
11232
11233 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
11234
11235         * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
11236         they are automatically generated by Make-lang.in and cause nothing but
11237         maintenance troubles.
11238
11239 2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
11240
11241         * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
11242         version of this unit).
11243
11244 2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
11245
11246         * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
11247         5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
11248         5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
11249         the body of System.Interrupt_Management common to several targets.
11250         Update copyright notice when appropriate.
11251
11252         * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
11253         constant.
11254
11255         * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
11256         to ensure that the kernel fills in the interrupted context structure
11257         before calling a signal handler, which is necessary to be able to
11258         unwind past it. Update the copyright notice.
11259
11260 2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
11261
11262         * a-elchha.ads: New file.
11263
11264         * a-elchha.adb: New default last chance handler. Contents taken from
11265         Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
11266
11267         * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
11268         is moved to a-elchha.adb to provide a target-independent default last
11269         chance handler.
11270
11271         * Makefile.rtl: Add a-elchha.o
11272
11273         * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
11274
11275 2003-12-05  Ed Schonberg  <schonberg@gnat.com>
11276
11277         * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
11278         declared in an instance, do not inline the call if the instance is not
11279         frozen yet, to prevent order of elaboration problems.
11280
11281         * sem_prag.adb: Add comments for previous fix.
11282
11283 2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
11284
11285         * g-table.adb: Use the right variable in Set_Item.
11286         Update copyright notice.
11287
11288 2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
11289
11290         * Makefile.in: Remove unused rules.
11291
11292 2003-12-05  Vincent Celier  <celier@gnat.com>
11293
11294         * switch-c.adb (Scan_Front_End_Switches): Remove processing of
11295         -nostdlib. Not needed here after all.
11296
11297 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
11298
11299         PR ada/11724
11300
11301         * adaint.h, adaint.c, g-os_lib.ads:
11302         Do not assume that the offset argument to lseek(2) is a 32 bit integer,
11303         on some platforms (including FreeBSD), it is a 64 bit value.
11304         Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
11305
11306 2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
11307
11308         * gnatvsn.ads (Library_Version): Now contain only the relevant
11309         version info.
11310         (Verbose_Library_Version): New constant.
11311
11312         * g-spipat.adb, g-awk.adb, g-debpoo.adb,
11313         g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
11314         s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
11315
11316         * gnatlbr.adb: Clean up: replace Library_Version by
11317         Verbose_Library_Version.
11318
11319         * make.adb, lib-writ.adb, exp_attr.adb:
11320         Clean up: replace Library_Version by Verbose_Library_Version.
11321
11322         * 5lintman.adb: Removed.
11323
11324         * Makefile.in:
11325         Update and simplify computation of LIBRARY_VERSION.
11326         Fix computation of GSMATCH_VERSION.
11327         5lintman.adb is no longer used: replaced by 7sintman.adb.
11328
11329 2003-12-03  Robert Dewar  <dewar@gnat.com>
11330
11331         * exp_ch5.adb:
11332         (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
11333         name. Modified to consider small non-bit-packed arrays as troublesome
11334         and in need of component-by-component assigment expansion.
11335
11336 2003-12-03  Vincent Celier  <celier@gnat.com>
11337
11338         * lang-specs.h: Process nostdlib as nostdinc
11339
11340         * back_end.adb: Update Copyright notice
11341         (Scan_Compiler_Arguments): Process -nostdlib directly.
11342
11343 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
11344
11345         * Makefile.in:
11346         When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
11347         redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
11348         included in HIE_NONE_TARGET_PAIRS.
11349
11350 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
11351
11352         * sem_attr.adb:
11353         (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
11354         is legal in an instance, because legality is cheched in the template.
11355
11356         * sem_prag.adb:
11357         (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
11358         appplied to an unchecked conversion of a formal parameter.
11359
11360         * sem_warn.adb:
11361         (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
11362         variables.
11363
11364 2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
11365
11366         * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
11367         routines. The second one is new functionality to deal with backtracing
11368         through signal handlers.
11369         (unwind): Split into the two separate subroutines above.
11370         Update the documentation, and deal properly with sizeof (REG) different
11371         from sizeof (void*).
11372
11373 2003-12-01  Nicolas Setton  <setton@act-europe.fr>
11374
11375         * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
11376         so that the debugger can reliably access the value of the parameter,
11377         and therefore is able to display the exception name when an exception
11378         breakpoint is reached.
11379
11380 2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
11381
11382         * fmap.adb: Fix typo in warning message.
11383
11384         * g-socket.ads, g-socket.adb: Make Free a visible instance of
11385         Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
11386
11387 2003-12-01  Vincent Celier  <celier@gnat.com>
11388
11389         * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
11390         ther is no Afile.
11391         (Build_Library): Get the switches only if Default_Switches is declared
11392         in package Binder.
11393
11394 2003-12-01  Ed Schonberg  <schonberg@gnat.com>
11395
11396         * exp_ch6.adb (Expand_Actuals): When applying validity checks to
11397         actuals that are indexed components, reanalyze actual to ensure that
11398         packed array references are properly expanded.
11399
11400         * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
11401         attempted assignment to a discriminant.
11402
11403 2003-12-01  Robert Dewar  <dewar@gnat.com>
11404
11405         * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
11406         reformatting.
11407
11408         * switch-c.adb: Minor reformatting of comments
11409
11410 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
11411
11412         * Makefile.in: Clean ups.
11413
11414 2003-12-01  GNAT Script  <nobody@gnat.com>
11415
11416         * Make-lang.in: Makefile automatically updated
11417
11418 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
11419
11420         * 5wsystem.ads: Disable zero cost exception, not ready yet.
11421
11422 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
11423
11424         * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
11425         to force serialization.
11426
11427 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
11428
11429         * g-socket.ads, g-socket.adb:
11430         Clarify documentation of function Stream. Introduce a Free procedure
11431         to release the returned Stream once it becomes unused.
11432
11433         * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
11434
11435 2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
11436
11437         (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
11438         since NT 4 cannot handle timeout values that are too large,
11439         e.g. DWORD'Last - 1.
11440
11441 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
11442
11443         * exp_ch4.adb:
11444         (Expand_N_Slice): Recognize all cases of slices that appear as actuals
11445         in procedure calls and whose expansion must be deferred.
11446
11447         * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
11448         is in exp_ch4.
11449
11450         * sem_ch3.adb:
11451         (Build_Derived_Array_Type): Create operator for unconstrained type
11452         if ancestor is unconstrained.
11453
11454 2003-11-26  Vincent Celier  <celier@gnat.com>
11455
11456         * make.adb (Project_Object_Directory): New global variable
11457         (Change_To_Object_Directory): New procedure
11458         (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
11459         of Change_Dir directly. Do not change working directory to object
11460         directory of main project after each compilation.
11461         (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
11462         directly.
11463         Change to object directory of main project before binding step.
11464         (Initialize): Initialize Project_Object_Directory to No_Project
11465
11466         * mlib-prj.adb:
11467         (Build_Library): Take into account Builder'Default_Switches ("Ada") when
11468         binding a Stand-Alone Library.
11469
11470         * output.adb: Update Copyright notice
11471         (Write_Char): Output buffer when full
11472
11473 2003-11-26  Robert Dewar  <dewar@gnat.com>
11474
11475         * sem_ch13.adb: (Check_Size): Reset size if size is too small
11476
11477         * sem_ch13.ads:
11478         (Check_Size): Fix documentation to include bit-packed array case
11479
11480         * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
11481
11482         * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
11483
11484         * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
11485
11486 2003-11-24  Arnaud Charlet <charlet@act-europe.fr>
11487
11488         PR ada/13142
11489         * utils.c (init_gigi_decls): Change name of built-in setjmp to
11490         __builtin_setjmp, since this is apparently needed by recent
11491         non Ada changes.
11492
11493 2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11494
11495         * adadecode.c: Only include ctype.h if not IN_GCC.
11496         (__gnat_decode): Use ISDIGIT from safe-ctype.h.
11497
11498 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
11499
11500         * Makefile.in:
11501         Use 5zintman.ads for VxWorks targets. This file avoid confusion between
11502         signals and interrupts.
11503
11504         * 5zintman.ads: New File.
11505
11506         * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
11507         add exception signals to the set of unmasked signals.
11508
11509         * 5ztaprop.adb:
11510         Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
11511         between signals and interrupts.
11512         Add to Unblocked_Signal_Mask the set of signals that are in
11513         Keep_Unmasked.
11514
11515         * 7sinmaop.adb:
11516         Adding a check to see whether the Interrupt_ID we want to unmask is in
11517         the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
11518         reason is that the index type of the Keep_Unmasked array is not always
11519         Interrupt_ID; it may be a subtype of Interrupt_ID.
11520
11521 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
11522
11523         * exp_util.adb:
11524         (Remove_Side_Effects): Condition constantness of object created for a
11525          an unchecked type conversion on the constantness of the expression
11526          to ensure the correct value for 'Constrained when passing components
11527          of view-converted class-wide objects.
11528
11529 2003-11-24  Robert Dewar  <dewar@gnat.com>
11530
11531         * par-load.adb (Load): Improve handling of misspelled and missing units
11532         Removes several cases of compilation abandoned messages
11533
11534         * lib.adb: (Remove_Unit): New procedure
11535
11536         * lib.ads: (Remove_Unit): New procedure
11537
11538         * lib-load.adb: Minor reformatting
11539
11540 2003-11-24  Vincent Celier  <celier@gnat.com>
11541
11542         * make.adb:
11543         (Gnatmake, Initialize): Call Usage instead of Makeusg directly
11544         (Marking_Label): Label to mark processed source files. Incremented for
11545         each executable.
11546         (Gnatmake): Increase Marking_Labet for each executable
11547         (Is_Marked): Compare against marking label
11548         (Mark): Mark with marking label
11549
11550 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
11551
11552         * s-thread.ads:
11553         Move the declaration of the TSD for System.Threads to System.Soft_Links.
11554         Add some comments.
11555
11556         * Makefile.in: Added target pair for s-thread.adb for cert runtime.
11557         (rts-cert): build a single relocatable object for the run-time lib.
11558         Fix perms.
11559
11560 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
11561
11562         * Make-lang.in:
11563         Use gnatls rather than gcc to obtain the location of GNAT RTL for
11564         crosstools build.
11565
11566 2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
11567
11568         * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
11569         can not use it as before (that is, as a variable) when dumping it into
11570         the tree file. Add a local variable to store the result of this
11571         function and to be used as the string to be written into the tree.
11572
11573         * scn.adb (Initialize_Scanner): Add comments explaining the recent
11574         changes.
11575
11576         * sinput.adb (Source_First, Source_Last): In case of
11577         Internal_Source_File, replace returning attributes of
11578         Internal_Source_Ptr (which is wrong) with returning attributes of
11579         Internal_Source.
11580
11581 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
11582
11583         * sem_ch3.adb:
11584         (New_Concatenation_Op): Proper name for New_Binary_Operator, only
11585         used for implicit concatenation operators.
11586         Code cleanup.
11587
11588         * sem_elab.adb:
11589         (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
11590         task bodies that are in the scope of a Suppress pragma.
11591         (Check_A Call): Use the flag to prevent spurious elaboration checks.
11592
11593         * sinfo.ads, sinfo.adb:
11594         New flag No_Elaboration_Check on function/procedure calls, to properly
11595         suppress checks on calls in task bodies that are within a local suppress
11596         pragma.
11597
11598         * exp_ch4.adb:
11599         (Expand_Concatenate_Other): Use the proper integer type for the
11600         expression for the upper bound, to avoid universal_integer computations
11601         when possible.
11602
11603 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
11604
11605         * .cvsignore: Delete.
11606
11607 2003-11-21  Andreas Schwab  <schwab@suse.de>
11608
11609         * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
11610
11611 2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
11612
11613         * 5wsystem.ads: Enable zero cost exception.
11614
11615 2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
11616
11617         * 5ztiitho.adb: Remove an unreferenced variable.
11618
11619 2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
11620
11621         * adaint.c: For FreeBSD, use mkstemp.
11622
11623 2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
11624
11625         * gnatlbr.adb: Now reference Gnat_Static_Version_String.
11626
11627 2003-11-21  Robert Dewar  <dewar@gnat.com>
11628
11629         * bld.adb: Remove useless USE of gnatvsn
11630
11631         * gnatchop.adb: Minor reformatting
11632         Clean up version handling to be more consistent
11633
11634         * gnatxref.adb: Minor reformatting
11635
11636         * gprcmd.adb: Minor reformatting
11637         Fix output of copyright to be more consistent with other tools
11638
11639 2003-11-21  Vincent Celier  <celier@gnat.com>
11640
11641         * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
11642
11643 2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
11644
11645         * atree.adb (Initialize): Add initializations for global variables
11646         used in New_Copy_Tree.
11647
11648         * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
11649         Internal_Source_File as the actual).
11650         Put the set of statements creating Any_Character before the set of
11651         statements creating Any_Array to have Any_Character fully initialized
11652         when it is used in creating Any_Array.
11653
11654         * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
11655         not call Scan in case if the actual is Internal_Source_File
11656         Add 2003 to copyright note.
11657
11658         * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
11659         processing Internal_Source_File.
11660
11661         * types.ads: Add the constant Internal_Source_File representing the
11662         source buffer for artificial source-code-like strings created within
11663         the compiler (the definition of Source_File_Index is changed).
11664
11665 2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
11666
11667         * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
11668         56system.ads: New file, FreeBSD version.
11669
11670 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
11671
11672         * Make-lang.in (ada.extraclean): Delete.
11673
11674 2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
11675
11676         * gnatmem.adb: Clean up verbose output.
11677
11678         * gprcmd.adb: Change copyright to FSF.
11679
11680 2003-11-19  Vincent Celier  <celier@gnat.com>
11681
11682         * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
11683         and Version (ignored).
11684
11685         * symbols.ads: (Policy): New type
11686         (Initialize): New parameter Reference, Symbol_Policy and
11687         Library_Version.
11688         Remove parameter Force.
11689         Minor reformatting.
11690
11691         * snames.ads, snames.adbadb: New standard names
11692         Library_Reference_Symbol_File and Library_Symbol_Policy
11693
11694         * mlib-prj.adb:
11695         (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
11696         project.
11697
11698         * mlib-tgt.adb:
11699         (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
11700
11701         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
11702
11703         * prj.adb: (Project_Empty): New component Symbol_Data
11704
11705         * prj.ads: (Policy, Symbol_Record): New types
11706         (Project_Data): New component Symbol_Data
11707
11708         * prj-attr.adb:
11709         New attributes Library_Symbol_File, Library_Symbol_Policy and
11710         Library_Reference_Symbol_File.
11711
11712         * prj-nmsc.adb:
11713         (Ada_Check): When project is a Stand-Alone library project, process
11714         attribute Library_Symbol_File, Library_Symbol_Policy and
11715         Library_Reference_Symbol_File.
11716
11717         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
11718         5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
11719         5sml-tgt.adb (Build_Dynamic_Library): New parameter
11720         Symbol_Data (ignored).
11721
11722         * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
11723         (Build_Dynamic_Library): New parameter Symbol_Data. New internal
11724         functions Option_File_Name and Version_String. Set new options of
11725         gnatsym related to symbol file, symbol policy and reference symbol
11726         file.
11727
11728         * 5vsymbol.adb:
11729         Extensive modifications to take into account the reference symbol file,
11730         the symbol policy, the library version and to put in the symbol file the
11731         minor and major IDs.
11732
11733         * bld.adb (Process_Declarative_Items): Put second argument of
11734         gprcmd to_absolute between single quotes, to avoid problems with
11735         Windows.
11736
11737         * bld-io.adb: Update Copyright notice.
11738         (Flush): Remove last character of a line, if it is a back slash, to
11739         avoid make problems.
11740
11741         * gnatsym.adb:
11742         Implement new scheme with reference symbol file and symbol policy.
11743
11744         * g-os_lib.ads: (Is_Directory): Clarify comment
11745
11746 2003-11-19  Robert Dewar  <dewar@gnat.com>
11747
11748         * atree.adb: Move New_Copy_Tree global variables to head of package
11749
11750         * errout.adb: Minor reformatting
11751
11752 2003-11-19  Javier Miranda  <miranda@gnat.com>
11753
11754         * sem_ch4.adb: (Diagnose_Call): Improve error message.
11755         Add reference to Ada0Y (AI-50217)
11756
11757         * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
11758         sem_util.adb: Add reference to AI-50217
11759
11760         * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
11761
11762         * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
11763
11764         * sem_aggr.adb: Complete documentation of AI-287 changes
11765
11766         * par-ch4.adb: Document previous changes.
11767
11768         * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
11769         sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
11770         Ada0Y (AI-50217)
11771
11772         * exp_aggr.adb: Add references to AI-287 in previous changes
11773
11774 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
11775
11776         * exp_ch6.adb:
11777         (Add_Call_By_Copy_Node): Do not original node of rewritten expression
11778         in the rewriting is the result of an inlined call.
11779
11780         * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
11781         parameter is a type conversion, use original node to construct the
11782         post-call assignment, because expression may have been rewritten, e.g.
11783         if it is a packed array.
11784
11785         * sem_attr.adb:
11786         (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
11787         body, just as it is in an instance.
11788         Categorization routines
11789
11790         * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
11791         Instantiate_Object): Set proper sloc reference for message on missing
11792         actual.
11793
11794 2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
11795
11796         * Makefile.in: Add FreeBSD libgnat pairs.
11797
11798         * usage.adb: Fix typo in usage message.
11799
11800 2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
11801
11802         * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
11803         s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
11804         pragma Thread_Body.
11805         Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
11806
11807         * s-thread.adb: This file is now a dummy implementation of
11808         System.Thread.
11809
11810 2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
11811
11812         * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
11813
11814 2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
11815
11816         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
11817         instanciation references in the parent type description.
11818
11819 2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11820
11821         * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
11822
11823         * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
11824         TYPE_PRECISION directly from esize.
11825
11826 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
11827
11828         * cstreams.c:
11829         Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
11830
11831         * init.c: Initialization routines for FreeBSD
11832
11833         * link.c: Link info for FreeBSD
11834
11835         * sysdep.c: Add the case of FreeBSD
11836
11837 2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
11838
11839         * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
11840         already called in System.Threads.
11841
11842         * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
11843         environment task, as it has been moved to System.Threads.Initialization.
11844
11845 2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
11846
11847         * adaint.c (__gnatlib_install_locks): Only reference
11848         __gnat_install_locks on VMS, since other platforms can avoid using
11849         --enable-threads=gnat
11850
11851 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11852
11853         * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
11854
11855         * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
11856         TYPE_PACKED_ARRAY_TYPE_P.
11857         (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
11858
11859         Part of PR ada/12806
11860         * utils.c (float_type_for_precision): Renamed from float_type_for_size.
11861         Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
11862
11863 2003-11-17  Vincent Celier  <celier@gnat.com>
11864
11865         * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
11866         to False.
11867         Do not set exit status to Failure when Warning is True.
11868         (Gnatchop): Make errors "no compilation units found" and
11869         "no source files written" warnings only.
11870
11871         * make.adb (Gnatmake): When using a project file, set
11872         Look_In_Primary_Dir to False.
11873         (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
11874         and Local_Configuration_Pragmas in the project where they are declared
11875         not an extending project which might have inherited them.
11876
11877         * osint.adb (Locate_File): If Name is already an absolute path, do not
11878         look for a directory.
11879
11880         * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
11881         -gnats (Check_Syntax) is used, issue only a warning, not an error.
11882
11883         * prj.adb (Register_Default_Naming_Scheme): Add new component Project
11884         in objects of type Variable_Value.
11885
11886         * prj.ads: (Variable_Value): New component Project
11887
11888         * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
11889         is in a project extended by Project.
11890
11891         * prj-proc.adb (Add_Attributes): New parameter Project. Set component
11892         Project of Variable_Values to this new parameter value.
11893         (Expression): Set component Project of Variable_Values.
11894         (Process_Declarative_Items): Call Add_Attributes with parameter Project.
11895         Set the component Project in array elements.
11896
11897 2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
11898
11899         * errout.adb: (Initialize): Add initialization for error nodes.
11900
11901         * sem_ch12.adb (Initialize): Add missing initializations for
11902         Exchanged_Views and Hidden_Entities.
11903
11904 2003-11-17  Ed Schonberg  <schonberg@gnat.com>
11905
11906         * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
11907         already instantiated tree for use in subsequent inlining.
11908         (Analyze_Associations, Instantiate_Formal_Subprogram,
11909         Instantiate_Object): improve error message for mismatch in
11910         instantiations.
11911
11912         * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
11913         instantiations of subprograms declared in instances.
11914
11915 2003-11-17  Javier Miranda  <miranda@gnat.com>
11916
11917         * sem_ch4.adb (Analyze_Allocator): Previous modification must be
11918         executed only under the Extensions_Allowed flag.
11919
11920 2003-11-17  Robert Dewar  <dewar@gnat.com>
11921
11922         * a-exexda.adb (Address_Image): Fix documentation to indicate leading
11923         zeroes suppressed.
11924         (Address_Image): Fix bug of returning 0x instead of 0x0
11925         Minor reformatting (function specs).
11926
11927         * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
11928         (missed case of 33-63)
11929
11930         * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
11931
11932         * s-thread.adb: Add comments for pragma Restriction
11933
11934         * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
11935         sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
11936
11937 2003-11-17  Ed Falis  <falis@gnat.com>
11938
11939         * s-thread.adb: Added No_Tasking restriction for this implementation.
11940
11941 2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
11942
11943         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
11944         instanciation references in the parent type description.
11945
11946 2003-11-17  GNAT Script  <nobody@gnat.com>
11947
11948         * Make-lang.in: Makefile automatically updated
11949
11950 2003-11-16  Jason Merrill  <jason@redhat.com>
11951
11952         * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
11953         and TAGS files that include them for each front end.
11954
11955 2003-11-14  Andreas Jaeger  <aj@suse.de>
11956
11957         * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
11958         is the canonical version.
11959         * misc.c (gnat_handle_option): Likewise.
11960
11961         * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
11962
11963         * 5nsystem.ads: New file for x86_64-linux-gnu.
11964
11965 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
11966
11967         * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
11968
11969         * comperr.adb: Fix logic in previous change.
11970
11971 2003-11-13  Vincent Celier  <celier@gnat.com>
11972
11973         * 5bml-tgt.adb (Build_Dynamic_Library): Use
11974         Osint.Include_Dir_Default_Prefix instead of
11975         Sdefault.Include_Dir_Default_Name.
11976
11977         * gnatlbr.adb: Update Copyright notice
11978         (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
11979         Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
11980         instead of Sdefault.Object_Dir_Default_Name
11981
11982         * gnatlink.adb:
11983         (Process_Binder_File): Never suppress the option following -Xlinker
11984
11985         * mdll-utl.adb:
11986         (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
11987         Sdefault.Object_Dir_Default_Name.
11988
11989         * osint.ads, osint.adb:
11990         (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
11991         Minor reformatting.
11992
11993         * vms_conv.ads: Minor reformating
11994         Remove GNAT STANDARD and GNAT PSTA
11995
11996         * vms_conv.adb:
11997         Allow GNAT MAKE to have several files on the command line.
11998         (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
11999         Sdefault.Object_Dir_Default_Name.
12000         Minor Reformating
12001         Remove data for GNAT STANDARD
12002
12003         * vms_data.ads:
12004         Add new compiler qualifier /PRINT_STANDARD (-gnatS)
12005         Remove data for GNAT STANDARD
12006         Remove options and documentation for -gnatwb/-gnatwB: these warning
12007         options no longer exist.
12008
12009 2003-11-13  Ed Falis  <falis@gnat.com>
12010
12011         * 5zthrini.adb: (Init_RTS): Made visible
12012
12013         * 5zthrini.adb:
12014         (Register): Removed unnecessary call to taskVarGet that checked whether
12015          an ATSD was already set as a task var for the argument thread.
12016
12017         * s-thread.adb:
12018         Updated comment to reflect that this is a VxWorks version
12019         Added context clause for System.Threads.Initialization
12020         Added call to System.Threads.Initialization.Init_RTS
12021
12022 2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
12023
12024         * 5zthrini.adb:
12025         (Init_RTS): New procedure, for the initialization of the run-time lib.
12026
12027         * s-thread.adb:
12028         Remove dependancy on System.Init, so that this file can be used in the
12029         AE653 sequential run-time lib.
12030
12031 2003-11-13  Robert Dewar  <dewar@gnat.com>
12032
12033         * bindgen.adb: Minor reformatting
12034
12035 2003-11-13  Ed Schonberg  <schonberg@gnat.com>
12036
12037         * checks.adb:
12038         (Apply_Discriminant_Check): Do no apply check if target type is derived
12039         from source type with no applicable constraint.
12040
12041         * lib-writ.adb:
12042         (Ensure_System_Dependency): Do not apply the style checks that may have
12043         been specified for the main unit.
12044
12045         * sem_ch8.adb:
12046         (Find_Selected_Component): Further improvement in error message, with
12047         RM reference.
12048
12049         * sem_res.adb:
12050         (Resolve): Handle properly the case of an illegal overloaded protected
12051         procedure.
12052
12053 2003-11-13  Javier Miranda  <miranda@gnat.com>
12054
12055         * exp_aggr.adb:
12056         (Has_Default_Init_Comps): New function to check the presence of
12057         default initialization in an aggregate.
12058         (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
12059         extension aggregate of a limited record. In addition, a new formal
12060         was added to do not initialize the record controller (if any) during
12061         this recursive expansion of ancestors.
12062         (Init_Controller): Add support for limited record components.
12063         (Expand_Record_Aggregate): In case of default initialized components
12064         convert the aggregate into a set of assignments.
12065
12066         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
12067         describing the new syntax.
12068         Nothing else needed to be done because this subprogram delegates part of
12069         its work to P_Precord_Or_Array_Component_Association.
12070         (P_Record_Or_Array_Component_Association): Give support to the new
12071         syntax for default initialization of components.
12072
12073         * sem_aggr.adb:
12074         (Resolve_Aggregate): Relax the strictness of the frontend in case of
12075         limited aggregates.
12076         (Resolve_Record_Aggregate): Give support to default initialized
12077         components.
12078         (Get_Value): In case of default initialized components, duplicate
12079         the corresponding default expression (from the record type
12080         declaration). In case of default initialization in the *others*
12081         choice, do not check that all components have the same type.
12082         (Resolve_Extension_Aggregate): Give support to limited extension
12083         aggregates.
12084
12085         * sem_ch3.adb:
12086         (Check_Initialization): Relax the strictness of the front-end in case
12087         of aggregate and extension aggregates. This test is now done in
12088         Get_Value in a per-component manner.
12089
12090         * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
12091         expression corresponds to a limited aggregate. This test is now done
12092         in Get_Value.
12093
12094         * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
12095         Box_Present flag.
12096
12097         * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
12098         present in an N_Component_Association node
12099
12100 2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
12101
12102         * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
12103         type-conformant entry only if they are homographs.
12104
12105 2003-11-13  GNAT Script  <nobody@gnat.com>
12106
12107         * Make-lang.in: Makefile automatically updated
12108
12109 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12110
12111         * adadecode.c: Use <> form of include for ctype.h.
12112         * sysdep.c [IN_RTS]: Use <> form of include for time.h.
12113
12114 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12115
12116         * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
12117         Works around PR middle-end/6552.
12118
12119 2003-11-10  Ed Falis  <falis@gnat.com>
12120
12121         * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
12122
12123         * 5zinit.adb: (Install_Handler): Moved back to spec
12124         (Install_Signal_Handlers): Deleted
12125
12126         * 5zthrini.adb: Added context clause for System.Storage_Elements
12127         (Register): Only handles creation of taskVar; initialization moved to
12128         Thread_Body_Enter.
12129         (Reset_TSD): Deleted; replaced by Thread_Body_Enter
12130         Added declaration of environment task secondary stack and
12131         initialization.
12132
12133         * s-thread.adb: Implement bodies for thread body processing
12134
12135         * s-thread.ads:
12136         Added comment identifying supported targets for pragma Thread_Body.
12137
12138 2003-11-10  Pascal Obry  <obry@gnat.com>
12139
12140         * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
12141         GNAT_MAX_PATH_LEN.
12142
12143         * s-fileio.adb:
12144         (Open): Properly check for string length before copying into the buffer.
12145         Raises Name_Error if buffer is too small. Note that this was a potential
12146         buffer overflow.
12147
12148 2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
12149
12150         * bindgen.adb, comperr.adb: Code clean ups.
12151         * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
12152
12153 2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
12154
12155         * gnat1drv.adb: Add call to Sem_Elim.Initialize.
12156
12157 2003-11-10  Vincent Celier  <celier@gnat.com>
12158
12159         * gprcmd.adb:
12160         (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
12161         installation.
12162
12163         * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
12164
12165         * prj.adb: (Project_Empty): Add new boolean component Virtual
12166
12167         * prj.ads: (Virtual_Prefix): New constant string
12168         (Project_Data): New boolean component Virtual
12169
12170         * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
12171         a library project is extended by a virtual extending project.
12172
12173         * prj-part.adb:
12174         Modifications throughout to implement extending-all project, including:
12175         (Virtual_Hash, Processed_Hash): New hash tables
12176         (Create_Virtual_Extending_Project): New procedure
12177         (Look_For_Virtual_Projects_For): New procedure
12178
12179         * prj-proc.adb:
12180         (Process): After checking the projects, if main project is an
12181         extending-all project, set the object directory of all virtual extending
12182         project to the object directory of the main project.
12183         Adjust error message when a virtual extending project has the same
12184         object directory as an project being extended.
12185         (Recursive_Process): If name starts with the virtual prefix, set Virtual
12186         to True in the project data.
12187
12188         * prj-tree.adb:
12189         (Default_Project_Node): Add new boolean component Extending_All
12190         (Is_Extending_All): New function
12191         (Set_Is_Extending_All): New procedure
12192
12193         * prj-tree.ads: (Is_Extending_All): New function
12194         (Set_Is_Extending_All): New procedure
12195         (Project_Node_Record): New boolean component Extending_All
12196
12197         * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
12198
12199         * vms_data.ads:
12200         Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
12201
12202         * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
12203         "gprcmd prefix" to define it.
12204
12205 2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
12206
12207         * einfo.ads: Fix a typo and remove an extraneous word in comments.
12208
12209         * lib-load.adb:
12210         (Create_Dummy_Package_Unit): Set the scope of the entity for the
12211         created dummy package to Standard_Standard, not to itself, to
12212         defend other parts of the front-end against encoutering a cycle in
12213         the scope chain.
12214
12215         * sem_ch10.adb:
12216         (Analyze_With_Clause): When setting the entities for the successive
12217         N_Expanded_Names that constitute the name of a child unit, do not
12218         attempt to go further than Standard_Standard in the chain of scopes.
12219         This case arises from the placeholder units created by
12220         Create_Dummy_Package_Unit in the case of a with_clause for a
12221         nonexistent child unit.
12222
12223 2003-11-10  Ed Schonberg  <schonberg@gnat.com>
12224
12225         * exp_ch6.adb:
12226         (Expand_Thread_Body): Place subprogram on scope stack, so that new
12227         declarations are given the proper scope.
12228
12229         * sem_ch13.adb:
12230         (Check_Expr_Constants): Reject an expression that contains a constant
12231         created during expansion, and that appears after the object to which
12232         the address clause applies.
12233
12234         * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
12235         Analyze_Iteration_Scheme, to rewrite a loop parameter specification
12236         that uses 'Range of a function call with controlled components, so
12237         that the function result can be finalized before starting the loop.
12238
12239         * sem_ch8.adb:
12240         (Find_Selected_Component): Improve error message when prefix is
12241         an implicit dereference of an incomplete type.
12242
12243 2003-11-10  Robert Dewar  <dewar@gnat.com>
12244
12245         * opt.ads: New Print_Standard flag for -gnatS switch
12246
12247         * sem_ch13.adb: Remove some additional checks for unaligned arrays
12248
12249         * cstand.adb (Create_Standard): Print out package standard if -gnatS
12250         switch set
12251
12252         * debug.adb: Update doc for -gnatds to discuss relationship with new
12253         -gnatS flag
12254
12255         * sinfo.adb: Add new field Entity_Or_Associated_Node
12256
12257         * sinfo.ads: Add new field Entity_Or_Associated_Node
12258         Update documentation for Associated_Node and Entity fields to clarify
12259         relationship and usage.
12260
12261         * sprint.adb:
12262         (Write_Id): Properly process Associated_Node field in generic template
12263
12264         * switch-c.adb:
12265         Recognize new -gnatS switch for printing package Standard
12266         This replaces gnatpsta
12267
12268         * usage.adb:
12269         Add line for  new -gnatS switch for printing package Standard
12270         This replaces gnatpsta
12271
12272 2003-11-10  Andreas Jaeger  <aj@suse.de>
12273
12274         * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
12275         integer.
12276
12277 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
12278
12279         * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
12280         by gnat1.
12281
12282 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
12283
12284         * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
12285         no longer needed.
12286
12287         * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
12288
12289         * sysdep.c: Add handling of cygwin.
12290
12291 2003-11-10  GNAT Script  <nobody@gnat.com>
12292
12293         * Make-lang.in: Makefile automatically updated
12294
12295 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
12296
12297         PR 12950
12298         * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
12299         functions. Used to handle dynamic prefix relocation, via set_std_prefix.
12300         Replace GNAT_ROOT by GCC_ROOT.
12301
12302         * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
12303
12304 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
12305
12306         * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
12307         and update for changed meaning of GET_MODE_BITSIZE.
12308
12309 2003-11-04  Doug Rupp  <rupp@gnat.com>
12310
12311         * sysdep.c: Problem discovered during IA64 VMS port.
12312         [VMS] #include <unixio.h> to get proper prototypes.
12313
12314         * adaint.c:
12315         Issues discovered/problems fixed during IA64 VMS port.
12316         [VMS] #define _POSIX_EXIT for proper semantics.
12317         [VMS] #include <unixio.h> for proper prototypes.
12318         [VMS] (fork): #define IA64 version.
12319         (__gnat_os_exit): Remove unnecessary VMS specific code.
12320
12321 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12322
12323         Part of PR ada/12806
12324
12325         * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
12326         tree, not integer.
12327
12328         * decl.c:
12329         (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
12330         not integer.
12331
12332         * targtyps.c, decl.c, misc.c,
12333         gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
12334         routines to work around change in FP sizing semantics in GCC.
12335
12336         * utils.c:
12337         (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
12338
12339         * gigi.h: (enumerate_modes): New function.
12340
12341         * Make-lang.in: (ada/misc.o): Add real.h.
12342
12343         * misc.c: (enumerate_modes): New function.
12344
12345 2003-11-04  Robert Dewar  <dewar@gnat.com>
12346
12347         * 3vtrasym.adb: Minor reformatting
12348         Use terminology encoded/decoded name, rather than C++ specific notion
12349         of mangling (this is the terminology used throughout GNAT).
12350
12351         * einfo.h: Regenerated
12352
12353         * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
12354
12355         * exp_ch6.adb:
12356         (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
12357
12358         * par-prag.adb: Add dummy entry for Thread_Body pragma
12359
12360         * rtsfind.ads:
12361         Add entries for System.Threads entities for thread body processing
12362
12363         * sem_attr.adb:
12364         (Analyze_Pragma, Access attributes): Check these are not applied to a
12365         thread body, since this is not permitted
12366
12367         * sem_prag.adb: Add processing for Thread_Body pragma.
12368         Minor comment fix.
12369
12370         * sem_res.adb:
12371         (Resolve_Call): Check for incorrect attempt to call a thread body
12372          procedure with a direct call.
12373
12374         * snames.ads, snames.adb: Add entry for Thread_Body pragma
12375         Add names associated with thread body expansion
12376
12377         * snames.h: Add entry for Thread_Body pragma
12378
12379         * s-thread.adb: Add entries for thread body processing
12380         These are dummy bodies so far
12381
12382         * s-thread.ads: Add documentation on thread body handling.
12383         Add entries for thread body processing.
12384
12385 2003-11-04  Javier Miranda  <miranda@gnat.com>
12386
12387         * sem_ch10.adb:
12388         (Build_Limited_Views): Return after posting an error in case of limited
12389         with_clause on subprograms, generics, instances or generic renamings
12390         (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
12391         on subprograms, generics, instances or generic renamings
12392
12393 2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
12394
12395         * raise.c (setup_to_install): Correct mistake in last revision; two
12396         arguments out of order.
12397
12398         * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
12399         gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
12400         notice, missed in previous change.
12401         Remove trailing blanks and other style errors introduced in previous
12402         change.
12403
12404 2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
12405
12406         * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
12407         rid of the wrapper for a LJM type, ensuring we don't do that if the
12408         field is addressable.  This avoids potential low level type view
12409         mismatches later on, for instance in a by-reference argument passing
12410         process.
12411
12412 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12413
12414         * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
12415         aligned at byte boundary.
12416
12417 2003-11-04  Joel Brobecker  <brobecker@gnat.com>
12418
12419         * decl.c (components_to_record): Do not delete the empty variants from
12420         the end of the union type.
12421
12422 2003-11-04  Ed Schonberg  <schonberg@gnat.com>
12423
12424         * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
12425         operation for a derived type, an explicit declaration may use a local
12426         subtype of Boolean.
12427
12428 2003-11-04  Vincent Celier  <celier@gnat.com>
12429
12430         * make.adb (Gnatmake): Allow main sources on the command line with a
12431         library project when it is only for compilation (no binding or
12432         linking).
12433
12434 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12435
12436         * Makefile.in: Remove many duplicate variables.
12437
12438 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
12439
12440         * Make-lang.in (dvi): Move targets to $(docobjdir).
12441         (gnat_ug_vms.dvi): Simplify rule and adjust target.
12442         (gnat_ug_wnt.dvi): Likewise.
12443         (gnat_ug_unx.dvi): Likewise.
12444         (gnat_ug_vxw.dvi): Likewise.
12445         (gnat_rm.dvi): Likewise.
12446         (gnat-style.dvi): Likewise.
12447
12448 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
12449
12450         * gigi.h: Missed commit from update for C90.
12451
12452 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
12453
12454         * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
12455
12456 2003-10-31  Andreas Schwab  <schwab@suse.de>
12457
12458         * raise.c (get_action_description_for): Fix typo in last change.
12459
12460 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
12461
12462         PR ada/12761
12463         * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
12464         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
12465
12466 2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
12467
12468         * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
12469         ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
12470         gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
12471         sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
12472         trans.c, utils.c, utils2.c: Convert function prototypes to C90.
12473
12474 2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
12475
12476         * 3vtrasym.adb:
12477         Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
12478         numbers when symbol name is too long.
12479
12480 2003-10-30  Ed Falis  <falis@gnat.com>
12481
12482         * g-signal.ads, g-signal.adb: New files
12483
12484         * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
12485
12486         * Makefile.rtl: Introduce GNAT.Signals
12487
12488 2003-10-30  Robert Dewar  <dewar@gnat.com>
12489
12490         * freeze.adb: Minor reformatting
12491
12492         * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
12493
12494         * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
12495         par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
12496         New handling of Id_Check parameter to improve recognition of keywords
12497         used as identifiers.
12498         Update copyright notice to include 2003
12499
12500 2003-10-29  Robert Dewar  <dewar@gnat.com>
12501
12502         * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
12503         sem_ch10.adb: Minor reformatting
12504
12505         * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
12506         (Expand_Assign_Record): Test right hand side for bit unaligned as well
12507
12508 2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
12509
12510         * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
12511         Support for TBK$SYMBOLIZE-based symbolic traceback.
12512
12513 2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
12514
12515         * exp_disp.adb:
12516         Revert previous change, that did not work well when pragma No_Run_Time
12517         was used in conjunction with a run-time other than ZFP.
12518
12519 2003-10-29  Vincent Celier  <celier@gnat.com>
12520
12521         * make.adb:
12522         (Gnatmake): When there are no Ada mains in attribute Main, disable the
12523          bind and link steps only is switch -z is not used.
12524
12525 2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
12526
12527         * Makefile.generic: Remove duplicated setting of CC.
12528
12529         * Makefile.prolog: Set CC to gcc by default, to override make's
12530         default (cc).
12531
12532         * einfo.h: Regenerated.
12533
12534 2003-10-29  Ed Schonberg  <schonberg@gnat.com>
12535
12536         * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
12537         current body, after compiling subunit.
12538
12539         * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
12540         when in deleted code, because gigi needs properly ordered freeze
12541         actions to annotate types.
12542
12543         * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
12544         prevent the premature freezing of record type that contains
12545         subcomponents with a private type that does not yet have a completion.
12546
12547 2003-10-29  Javier Miranda  <miranda@gnat.com>
12548
12549         * sem_ch12.adb:
12550         (Analyze_Package_Instantiation): Check that instances can not be used in
12551         limited with_clauses.
12552
12553         * sem_ch8.adb:
12554         (Analyze_Package_Renaming): Check that limited withed packages cannot
12555         be renamed. Improve text on error messages related to limited
12556         with_clauses.
12557
12558         * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
12559
12560         * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
12561         Update copyright notice.
12562
12563         * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
12564         (Install_Limited_Context_Clauses): New subprogram that isolates all the
12565         checks required for limited context_clauses and installs the limited
12566         view.
12567         (Install_Limited_Withed_Unit): Complete its documentation.
12568         (Analyze_Context): Check that limited with_clauses are only allowed in
12569         package specs.
12570         (Install_Context): Call Install_Limited_Context_Clauses after the
12571         parents have been installed.
12572         (Install_Limited_Withed_Unit): Add documentation. Mark the installed
12573         package as 'From_With_Type'; this mark indicates that the limited view
12574         is installed. Used to check bad usages of limited with_clauses.
12575         (Build_Limited_Views): Do not add shadow entities to the scope's list
12576         of entities. Do not add real entities to the Non_Limited_Views chain.
12577         Improve error notification.
12578         (Remove_Context_Clauses): Remove context clauses in two phases:
12579         limited views first and regular views later (to maintain the
12580         stack model).
12581         (Remove_Limited_With_Clause): If the package is analyzed then reinstall
12582         its visible entities.
12583
12584 2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
12585
12586         * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
12587         with any type that Is_Fixed_Point_Type.
12588
12589         * sinfo.ads: Fix documentation for Associated_Node attribute.
12590
12591 2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
12592
12593         * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
12594         both '-gnatc' and '-gnatt' are specified.
12595
12596         * atree.adb (Initialize): Add initialization for Node_Count (set to
12597         zero).
12598
12599 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12600
12601         * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
12602         do not consider as Pure.
12603
12604         Part of implementation of function-at-a-time:
12605
12606         * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
12607         (tree_transform): Add new argument to build_component_ref.
12608         (tree_transform, case N_Assignment_Statement): Make and return an
12609         EXPR_STMT.
12610         (tree_transform): If result IS_STMT, set flags and return it.
12611         (gnat_expand_stmt, set_lineno_from_sloc): New functions.
12612
12613         * utils2.c (build_simple_component_ref, build_component_ref): Add new
12614         arg, NO_FOLD_P.
12615         (build_binary_op, case EQ_EXPR): Pass additional arg to it.
12616         (build_allocator): Likewise.
12617
12618         * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
12619         Add new arg to build_component_ref.
12620         (maybe_unconstrained_array, unchecked_convert): Likewise.
12621
12622         * ada-tree.def (EXPR_STMT): New code.
12623
12624         * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
12625
12626         * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
12627         build_component_ref calls.
12628
12629         * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
12630
12631         * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
12632         (build_component_ref): Add new argument, NO_FOLD_P.
12633
12634 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
12635
12636         * Makefile.generic: Add missing substitution on object_deps handling.
12637
12638         PR ada/5909:
12639         * Make-lang.in (check-ada): Enable ACATS test suite.
12640
12641 2003-10-27  Robert Dewar  <dewar@gnat.com>
12642
12643         * exp_ch3.adb:
12644         (Freeze_Array_Type): We do not need an initialization routine for types
12645         derived from String or Wide_String. They should be treated the same
12646         as String and Wide_String themselves. This caused problems with the
12647         use of Initialize_Scalars.
12648
12649         * exp_ch5.adb:
12650         (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
12651         composites. This allows use of component clauses that are not byte
12652         aligned.
12653
12654         * sem_prag.adb:
12655         (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
12656         is an attempt to pack an array of atomic objects.
12657
12658         * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
12659
12660 2003-10-27  Pascal Obry  <obry@gnat.com>
12661
12662         * g-dirope.adb:
12663         (Basename): Check for drive letters in a pathname only on DOS based OS.
12664
12665 2003-10-27  Vincent Celier  <celier@gnat.com>
12666
12667         * make.adb:
12668         (Gnatmake): When unable to change dir to the object dir, display the
12669         content of the parent dir of the obj dir, to try to understand why this
12670         happens.
12671
12672 2003-10-27  GNAT Script  <nobody@gnat.com>
12673
12674         * Make-lang.in: Makefile automatically updated
12675
12676 2003-10-27  Ed Schonberg  <schonberg@gnat.com>
12677
12678         * sem_ch12.adb:
12679         (Inline_Instance_Body): Indicate that the save/restore of use_clauses
12680         should not be done in Save/Restore_Scope_Stack, because it is performed
12681         locally.
12682
12683         * sem_ch8.adb:
12684         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
12685         whether use clauses should be removed/restored.
12686
12687         * sem_ch8.ads:
12688         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
12689         whether use clauses should be removed/restored.
12690
12691 2003-10-26  Andreas Jaeger  <aj@suse.de>
12692
12693         * Makefile.in: Remove duplicated lines.
12694
12695 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
12696
12697         * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
12698         minimize the differences with ACT tree.
12699
12700         * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
12701         gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
12702         Gnatvsn.Gnat_Static_Version_String to reduce differences between
12703         ACT and FSF trees.
12704
12705 2003-10-24  Pascal Obry  <obry@gnat.com>
12706
12707         * adadecode.c (ostrcpy): New function.
12708         (__gnat_decode): Use ostrcpy of strcpy.
12709         (has_prefix): Set first parameter a const.
12710         (has_suffix): Set first parameter a const.
12711         Update copyright notice. Fix source name in header.
12712         Removes a trailing space.
12713         PR ada/12014.
12714
12715 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
12716
12717         * exp_disp.adb:
12718         Remove the test against being in No_Run_Time_Mode before generating a
12719         call to Register_Tag. It is redundant with the test against the
12720         availability of the function Register_Tag.
12721
12722 2003-10-24  Vincent Celier  <celier@gnat.com>
12723
12724         * g-catiio.adb: (Month_Name): Correct spelling of February
12725
12726         * make.adb: (Mains): New package
12727         (Initialize): Call Mains.Delete
12728         (Gnatmake): Check that each main on the command line is a source of a
12729         project file and, if there are several mains, each of them is a source
12730         of the same project file.
12731         (Gnatmake): When a foreign language is specified in attribute Languages,
12732         no main is specified on the command line and attribute Mains is not
12733         empty, only build the Ada main. If there is no Ada main, just compile
12734         the Ada sources and their closure.
12735         (Gnatmake): If a main is specified on the command line with directory
12736         information, check that the source exists and, if it does, that the path
12737         is the actual path of a source of a project.
12738
12739         * prj-env.adb:
12740         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
12741         Full_Path is True, return the full path instead of the simple file name.
12742         (Project_Of): New function
12743
12744         * prj-env.ads:
12745         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
12746         defaulted to False.
12747         (Project_Of): New function
12748
12749 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
12750
12751         * Makefile.generic:
12752         Ensure objects of main project are always checked and rebuilt if needed.
12753         Set CC to gcc by default.
12754         Prepare new handling of link by creating a global archive (not activated
12755         yet).
12756
12757         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
12758         stringt.h: Update copyright notice. Remove trailing blanks.
12759         Fix source name in header.
12760
12761 2003-10-24  Robert Dewar  <dewar@gnat.com>
12762
12763         * sem_ch12.adb: Minor reformatting
12764
12765         * sem_ch3.adb:
12766         Minor reformatting (including new function return style throughout)
12767
12768         * sem_ch3.ads:
12769         Minor reformatting (including new function return style throughout)
12770
12771 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
12772
12773         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
12774         stringt.h: Update copyright notice. Remove trailing blanks.
12775         Fix source name in header.
12776
12777 2003-10-24  GNAT Script  <nobody@gnat.com>
12778
12779         * Make-lang.in: Makefile automatically updated
12780
12781 2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
12782
12783         * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
12784         stringt.h: Convert to ISO C90 declarations and definitions.
12785
12786 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
12787
12788         PR ada/11978:
12789         * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
12790         External_Tag attribute definition clauses.
12791
12792 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
12793
12794         PR ada/7613:
12795         * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
12796         child unit, generate a fully qualified name to avoid spurious errors
12797         when the context contains renamings of different child units with
12798         the same simple name.
12799
12800         * exp_dbug.ads: Add documentation on name qualification for renamings
12801         of child units.
12802
12803 2003-10-23  Robert Dewar  <dewar@gnat.com>
12804
12805         * g-regpat.ads, g-regpat.adb: Minor reformatting
12806
12807 2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
12808
12809         * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
12810
12811 2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12812
12813         * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
12814         Machine call.
12815
12816         * urealp.h: (Machine): Update to proper definition.
12817
12818 2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
12819
12820         * init.c, adaint.c: Minor reformatting.
12821
12822 2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
12823
12824         * adaint.c (w32_epoch_offset): Define static const at file level.
12825         (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
12826         rather than t_create, t_access in call to GetFileTime. Use union
12827         to convert between FILETIME and  unsigned long long.
12828         (__gnat_file_time_name): Test for invalid file handle.
12829         (__gnat_set_filetime_name): Support win32 targets using
12830         w32api SetFileTime.
12831
12832 2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
12833
12834         * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
12835
12836         * ctrl_c.c (__gnat_int_handler): Remove declaration.
12837
12838         * decl.c (creat_concat_name):  Const-ify prefix.
12839
12840         * adaint.c: Include ctype.h if __MINGW32__.
12841         (__gnat_readlink): Mark arguments as possibly unused.
12842         (__gnat_symlink): Likewise.
12843         (__gnat_is_symbolic_link): Likewise.
12844         (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
12845         declaration
12846         (__gnat_file_time_name): Don't declare struct stat statbuf when
12847         not needed.
12848         (__gnat_is_absolute_path): Add parenthesis around condition of
12849         'if' statement to avoid warning.
12850         (__gnat_plist_init): Specify void as parameter.
12851         (plist_enter): Likewise.
12852         (plist_leave): Likewise.
12853         (remove_handle): Make static. Initialize prev.
12854
12855 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
12856
12857         * Makefile.in: Disable build of gnatpsta. PR ada/10110.
12858         * cstreams.c (__gnat_full_name): Minor improvements and clean up
12859         of previous change.
12860
12861 2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12862
12863         * tracebak.c (MAX): Avoid redefinition warning.
12864
12865         * init.c [sgi] (__gnat_error_handler): Remove i, unused.
12866         Change msg to const char *.
12867         (__gnat_install_handler): Remove ss, unused.
12868         [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
12869         to const char *.
12870         * cstreams.c (__gnat_full_name): Declare p only when used.
12871         (__gnat_full_name) [sgi] Return buffer.
12872
12873 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
12874
12875         * mingw32.h: New file.
12876         * gnat_wrapper.adb: New file.
12877
12878 2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
12879
12880         * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
12881         string match a pre compiled regular expression (the corresponding
12882         version of the function working on a raw regular expression)
12883         Fix typos in various comments
12884         Update copyright notice in spec
12885
12886 2003-10-21  Gary Dismukes  <dismukes@gnat.com>
12887
12888         * exp_ch3.adb:
12889         (Component_Needs_Simple_Initialization): Return False when the type is a
12890         packed bit array. Revise spec comments to document this case.
12891
12892         * exp_prag.adb:
12893         (Expand_Pragma_Import): Set any expression on the imported object to
12894         empty to avoid initializing imported objects (in particular this
12895         covers the case of zero-initialization of bit arrays).
12896         Update copyright notice.
12897
12898 2003-10-21  Ed Schonberg  <schonberg@gnat.com>
12899
12900         * sem_ch12.adb:
12901         (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
12902         a subunit is missing.
12903         (Instantiate_Subprogram_Body): If body of function is missing, set type
12904         of return expression explicitly in dummy body, to prevent cascaded
12905         errors when a subunit is missing.
12906         Fixes PR 5677.
12907
12908         * sem_ch3.adb:
12909         (Access_Subprogram_Declaration): Verify that return type is valid.
12910         Fixes PR 8693.
12911
12912         * sem_elab.adb:
12913         (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
12914         generic.
12915         Fixes PR 12318.
12916
12917         * sem_util.adb:
12918         (Corresponding_Discriminant): If the scope of the discriminant is a
12919         private type without discriminant, use its full view.
12920         Fixes PR 8247.
12921
12922 2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
12923
12924         * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
12925         3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
12926         3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
12927         55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
12928         56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
12929         59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
12930         5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
12931         5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
12932         5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
12933         5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
12934         5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
12935         5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
12936         5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
12937         5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
12938         7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
12939         a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
12940         a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
12941         a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
12942         bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
12943         erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
12944         err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
12945         g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
12946         g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
12947         g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
12948         g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
12949         g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
12950         g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
12951         gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
12952         g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
12953         g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
12954         i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
12955         prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
12956         prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
12957         s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
12958         s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
12959         s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
12960         s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
12961         s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
12962         s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
12963         s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
12964         s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
12965         socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
12966         s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
12967         s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
12968         s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
12969         styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
12970         s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
12971         tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
12972         vms_conv.ads, vms_conv.adb, vms_data.ads,
12973         vxaddr2line.adb: Files added. Merge with ACT tree.
12974
12975         * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
12976         5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
12977         5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
12978         5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
12979         g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
12980         s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
12981         s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
12982         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
12983         s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
12984         s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
12985
12986         * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
12987         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
12988         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
12989         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
12990         4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
12991         4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
12992         4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
12993         4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
12994         51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
12995         53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
12996         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
12997         5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
12998         5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
12999         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
13000         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
13001         5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
13002         5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
13003         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
13004         5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
13005         5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
13006         5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
13007         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
13008         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
13009         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
13010         5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
13011         5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
13012         5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
13013         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
13014         5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
13015         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
13016         5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
13017         5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
13018         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
13019         5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
13020         6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
13021         7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
13022         7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
13023         a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
13024         a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
13025         a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
13026         a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
13027         a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
13028         ali.adb, ali.ads, ali-util.adb, ali-util.ads,
13029         a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
13030         a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
13031         a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
13032         a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
13033         a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
13034         a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
13035         a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
13036         a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
13037         a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
13038         a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
13039         a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
13040         a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
13041         atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
13042         a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
13043         a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
13044         bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
13045         checks.adb, checks.ads, cio.c, comperr.adb,
13046         comperr.ads, csets.adb, cstand.adb, cstreams.c,
13047         debug_a.adb, debug_a.ads, debug.adb, decl.c,
13048         einfo.adb, einfo.ads, errout.adb, errout.ads,
13049         eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
13050         expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
13051         exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
13052         exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
13053         exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
13054         exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
13055         exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
13056         exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
13057         exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
13058         fe.h, fmap.adb, fmap.ads, fname.adb,
13059         fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
13060         freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
13061         g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
13062         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
13063         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
13064         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
13065         g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
13066         g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
13067         g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
13068         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
13069         g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
13070         g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
13071         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
13072         g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
13073         gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
13074         gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
13075         gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
13076         gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
13077         gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
13078         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
13079         g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
13080         g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
13081         g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
13082         g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
13083         g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
13084         g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
13085         g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
13086         i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
13087         i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
13088         inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
13089         itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
13090         layout.adb, lib.adb, lib.ads, lib-list.adb,
13091         lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
13092         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
13093         link.c, live.adb, make.adb, make.ads,
13094         Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
13095         mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
13096         mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
13097         misc.c, mkdir.c, mlib.adb, mlib.ads,
13098         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
13099         mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
13100         namet.adb, namet.ads, namet.h, nlists.ads,
13101         nlists.h, nmake.adt, opt.adb, opt.ads,
13102         osint.adb, osint.ads, osint-b.adb, osint-c.adb,
13103         par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
13104         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
13105         par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
13106         par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
13107         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
13108         prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
13109         prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
13110         prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
13111         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
13112         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
13113         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
13114         prj-util.adb, prj-util.ads, raise.c, raise.h,
13115         repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
13116         rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
13117         s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
13118         s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
13119         scans.ads, scn.adb, scn.ads, s-crc32.adb,
13120         s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
13121         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
13122         sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
13123         sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
13124         sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
13125         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
13126         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
13127         sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
13128         sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
13129         sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
13130         sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
13131         sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
13132         s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
13133         s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
13134         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
13135         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
13136         s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
13137         s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
13138         s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
13139         sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
13140         sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
13141         sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
13142         s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
13143         s-memory.adb, s-memory.ads, snames.adb, snames.ads,
13144         snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
13145         s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
13146         s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
13147         s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
13148         s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
13149         s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
13150         s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
13151         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
13152         s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
13153         s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
13154         s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
13155         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
13156         s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
13157         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
13158         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
13159         s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
13160         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
13161         stringt.adb, stringt.ads, stringt.h, style.ads,
13162         stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
13163         s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
13164         s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
13165         switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
13166         s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
13167         table.adb, table.ads, targparm.adb, targparm.ads,
13168         targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
13169         trans.c, tree_io.adb, treepr.adb, treeprs.adt,
13170         ttypes.ads, types.ads, types.h, uintp.adb,
13171         uintp.ads, uintp.h, uname.adb, urealp.adb,
13172         urealp.ads, urealp.h, usage.adb, utils2.c,
13173         utils.c, validsw.adb, validsw.ads, widechar.adb,
13174         xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
13175         xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
13176         einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
13177         gnatvsn.ads: Merge with ACT tree.
13178
13179         * gnatvsn.adb: Rewritten in a simpler and more efficient way.
13180
13181 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
13182
13183         * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
13184         (gnat_ug_vmx.info): Likewise.
13185         (gnat_ug_vxw.info): Likewise.
13186         (gnat_ug_wnt.info): Likewise.
13187         (gnat_rm.info): Likewise.
13188         (gnat-style.info): Likewise.
13189
13190         * Make-lang.in (ada.install-info): Remove target.
13191         (info): New target.
13192         (install-info): Likewise.
13193         (gnat_ug_unx.info): Simplify rule.
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 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
13201
13202         * Make-lang.in: Replace uses of $(target_alias) with
13203         $(target_noncanonical).
13204         * ada/Makefile.in: Remove unused mention of $(target_alias).
13205
13206 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
13207
13208         * Make-lang.in (ada.info): Replace with ...
13209         (info): ... this.
13210         (ada.dvi): Replace with ...
13211         (dvi): ... this.
13212
13213 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
13214
13215         * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
13216         initialize dconstp5 and dconstmp5.
13217
13218 2003-09-28  Richard Henderson  <rth@redhat.com>
13219
13220         * trans.c (tree_transform): Update call to expand_asm_operands.
13221
13222 2003-09-21  Richard Henderson  <rth@redhat.com>
13223
13224         * trans.c, utils.c: Revert.
13225
13226 2003-09-21  Richard Henderson  <rth@redhat.com>
13227
13228         * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
13229         change to const.
13230
13231 2003-09-04  Michael Matz  <matz@suse.de>
13232
13233         * misc.c: Include "target.h".
13234         * Make-lang.in (misc.o): Add dependency on target.h.
13235
13236 2003-09-03  DJ Delorie  <dj@redhat.com>
13237
13238         * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
13239         hook.
13240
13241 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
13242
13243         * Makefile.in: Update substitutions to match changes to
13244         configure.  Use include directives instead of @-insertions
13245         to read in host and target fragments.  Add a rule to
13246         regenerate ada/Makefile.
13247
13248 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
13249
13250         * lang-options.h: Remove.
13251         * lang.opt: Add help text.
13252
13253 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
13254
13255         * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
13256         calls.
13257
13258 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
13259
13260         * misc.c (gnat_handle_option): Don't handle filenames.
13261
13262 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
13263
13264         * Make-lang.in: Replace PWD with PWD_COMMAND.
13265         * Makefile.adalib: Likewise.
13266         * Makefile.in: Likewise.
13267
13268 2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
13269
13270         * misc.c (gnat_argv): Revert last change.
13271         (gnat_handle_option, gnat_init_options): Copy arguments.
13272
13273 2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
13274
13275         * misc.c (gnat_argv): Make const.
13276
13277 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
13278
13279         * misc.c (save_argc, save_argv): Keep non-static!
13280
13281 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
13282
13283         * misc.c (save_argc, save_argv): Make static.
13284         (gnat_init_options): New prototype.
13285         (gnat_init_options): Update.
13286
13287 2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
13288
13289         * gnat_ug.texi: Remove unlikely characters from @vars.
13290         * gnat_ug_vms.texi: Regenerate.
13291
13292 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
13293
13294         * misc.c (record_code_position): Adjust emit_note call.
13295
13296 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
13297
13298         * misc.c (gnat_handle_option): Don't check for missing arguments.
13299
13300 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
13301
13302         * utils.c (end_subprog_body): Adjust expand_function_end call.
13303
13304 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
13305
13306         * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
13307         Bind_Main_Program.
13308
13309 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
13310
13311         * lang.opt: Declare Ada.
13312         * misc.c (gnat_init_options): Update.
13313
13314 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
13315
13316         * utils.c (begin_subprog_body): Adjust init_function_start call.
13317
13318 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
13319
13320         * Make-lang.in: Update to use options.c and options.h.
13321         * misc.c: Include options.h not aoptions.h.
13322         (gnat_handle_option): Abort on unrecognized switch.
13323         (gnat_init_options): Request Ada switches.
13324
13325 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
13326
13327         * lang.opt: Add -Wall.
13328         * misc.c (gnat_handle_option): Handle it.
13329
13330 2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
13331
13332         * misc.c (gnat_handle_option): Fix warnings.
13333
13334 2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
13335
13336         * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
13337
13338 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
13339
13340         * Make-lang.in: Update to handle command-line options.
13341         * lang.opt: New file.
13342         * misc.c: Include aoptions.h.
13343         (cl_options_count, cl_options): Remove.
13344         (gnat_handle_option): New.
13345         (gnat_decode_option): Remove.
13346         (LANG_HOOKS_DECODE_OPTION): Remove.
13347         (LANG_HOOKS_HANDLE_OPTION): Override.
13348
13349 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
13350
13351         * init.c, misc.c, trans.c, utils.c: Remove dead code.
13352
13353 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
13354
13355         * Makefile.in: Replace "host_canonical" with "host" for autoconf
13356         substitution.
13357
13358 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
13359
13360         * Make-lang.in: Update.
13361         * misc.c: Include opts.h. Define cl_options_count and cl_options.
13362
13363 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
13364
13365         * misc.c (gnat_init_options): Update.
13366
13367 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
13368
13369         * Make-lang.in (ada/b_gnatb.o-warn): Remove.
13370         * bindgen.adb (Gen_Main_C): Mark ensure_reference with
13371         __attribute__ ((__unused__)).
13372
13373 2003-06-05  Jan Hubicka  <jh@suse.cz>
13374
13375         * Make-lang.in:  Add support for stageprofile and stagefeedback
13376
13377 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
13378
13379         * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
13380         (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
13381
13382 2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
13383
13384         * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
13385         Remove non-VMS directive.
13386         (Switches for gnatlbr, Optimization Levels): Remove non-VMS
13387         alternatives.
13388         (Examples of gnatls Usage): Remove VMS alternative.
13389
13390 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
13391
13392         PR ada/9953:
13393         * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
13394         and turn ZCX_By_Default back to False since the underlying support
13395         is not quite there yet.
13396
13397 2003-06-01  Andreas Jaeger  <aj@suse.de>
13398
13399         * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
13400         and ROUND_TYPE_SIZE_UNIT.
13401
13402 2003-05-22   Geert Bosch <bosch@gnat.com>
13403
13404         * gnat_rm.texi : Remove reference to Ada Core Technologies.
13405
13406 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
13407
13408         * trans.c (tree_transform): Use location_t and input_location
13409         directly.
13410         (build_unit_elab): Likewise.
13411         * utils.c (create_label_decl): Likewise.
13412
13413 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
13414
13415         * trans.c (tree_transform, build_unit_elab,
13416         set_lineno): Rename lineno to input_line.
13417         * utils.c (pushdecl, create_label_decl, begin_subprog_body,
13418         end_subprog_body): Likewise.
13419         * utils2.c (build_call_raise): Likewise.
13420
13421 2003-05-01  Laurent Guerby <guerby@acm.org>
13422
13423         PR ada/10546
13424         * 5iosinte.ads: Increase pthread_cond_t size to match recent
13425         LinuxThread and NPTL version, merge from ACT.
13426
13427 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
13428
13429         * utils.c (convert): No need to clear TREE_CST_RTL.
13430
13431 2003-04-23   Geert Bosch <bosch@gnat.com>
13432
13433         * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
13434         1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
13435         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
13436         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
13437         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
13438         4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
13439         4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
13440         4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
13441         4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
13442         4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
13443         4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
13444         4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
13445         52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
13446         5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
13447         5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
13448         5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
13449         5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
13450         5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
13451         5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
13452         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
13453         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
13454         5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
13455         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
13456         5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
13457         5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
13458         5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
13459         5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
13460         5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
13461         5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
13462         5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
13463         5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
13464         5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
13465         5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
13466         5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
13467         5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
13468         5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
13469         5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
13470         5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
13471         5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
13472         5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
13473         5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
13474         5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
13475         5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
13476         5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
13477         6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
13478         7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
13479         7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
13480         9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
13481         a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
13482         a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
13483         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
13484         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
13485         a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
13486         a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
13487         a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
13488         a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
13489         a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
13490         a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
13491         a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
13492         a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
13493         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
13494         a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
13495         a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
13496         a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
13497         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
13498         a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
13499         a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
13500         a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
13501         a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
13502         a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
13503         a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
13504         a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
13505         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
13506         a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
13507         a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
13508         a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
13509         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
13510         a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
13511         a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
13512         a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
13513         a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
13514         a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
13515         a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
13516         a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
13517         a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
13518         a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
13519         a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
13520         a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
13521         a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
13522         a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
13523         a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
13524         a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
13525         a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
13526         a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
13527         a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
13528         a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
13529         a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
13530         a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
13531         a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
13532         a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
13533         a-wttest.ads, ada-tree.h, ada.ads, ada.h,
13534         adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
13535         ali.adb, ali.ads, alloc.ads, argv.c,
13536         atree.adb, atree.ads, atree.h, aux-io.c,
13537         back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
13538         binde.adb, binde.ads, binderr.adb, binderr.ads,
13539         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
13540         butil.adb, butil.ads, cal.c, calendar.ads,
13541         casing.adb, casing.ads, ceinfo.adb, checks.adb,
13542         checks.ads, cio.c, comperr.adb, comperr.ads,
13543         config-lang.in, csets.adb, csets.ads, csinfo.adb,
13544         cstand.adb, cstand.ads, cuintp.c, debug.adb,
13545         debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
13546         dec-io.ads, dec.ads, deftarg.c, directio.ads,
13547         einfo.adb, einfo.ads, elists.adb, elists.ads,
13548         elists.h, errno.c, errout.adb, errout.ads,
13549         eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
13550         exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
13551         exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
13552         exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
13553         exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
13554         exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
13555         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
13556         exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
13557         exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
13558         exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
13559         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
13560         exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
13561         exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
13562         exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
13563         exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
13564         fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
13565         fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
13566         freeze.adb, freeze.ads, frontend.adb, frontend.ads,
13567         g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
13568         g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
13569         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
13570         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
13571         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
13572         g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
13573         g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
13574         g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
13575         g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
13576         g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
13577         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
13578         g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
13579         g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
13580         g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
13581         g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
13582         g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
13583         g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
13584         g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
13585         g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
13586         g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
13587         g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
13588         g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
13589         get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
13590         gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
13591         gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
13592         gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
13593         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
13594         gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
13595         gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
13596         gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
13597         hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
13598         i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
13599         i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
13600         i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
13601         i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
13602         i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
13603         i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
13604         inline.adb, inline.ads, interfac.ads, ioexcept.ads,
13605         itypes.adb, itypes.ads, krunch.adb, krunch.ads,
13606         layout.adb, layout.ads, lib-list.adb, lib-load.adb,
13607         lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
13608         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
13609         lib.adb, lib.ads, live.adb, live.ads,
13610         machcode.ads, make.adb, make.ads, makeusg.adb,
13611         makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
13612         mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
13613         memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
13614         mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
13615         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
13616         mlib.ads, namet.adb, namet.ads, nlists.adb,
13617         nlists.ads, opt.adb, opt.ads, osint-b.adb,
13618         osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
13619         osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
13620         osint.ads, output.adb, output.ads, par-ch10.adb,
13621         par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
13622         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
13623         par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
13624         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
13625         par-tchk.adb, par-util.adb, par.adb, par.ads,
13626         prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
13627         prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
13628         prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
13629         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
13630         prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
13631         prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
13632         prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
13633         prj.adb, prj.ads, repinfo.adb, repinfo.ads,
13634         restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
13635         rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
13636         s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
13637         s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
13638         s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
13639         s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
13640         s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
13641         s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
13642         s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
13643         s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
13644         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
13645         s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
13646         s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
13647         s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
13648         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
13649         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
13650         s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
13651         s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
13652         s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
13653         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
13654         s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
13655         s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
13656         s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
13657         s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
13658         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
13659         s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
13660         s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
13661         s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
13662         s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
13663         s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
13664         s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
13665         s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
13666         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
13667         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
13668         s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
13669         s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
13670         s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
13671         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
13672         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
13673         s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
13674         s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
13675         s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
13676         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
13677         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
13678         s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
13679         s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
13680         s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
13681         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
13682         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
13683         s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
13684         s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
13685         s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
13686         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
13687         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
13688         s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
13689         s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
13690         s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
13691         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
13692         s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
13693         s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
13694         s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
13695         s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
13696         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
13697         s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
13698         s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
13699         s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
13700         s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
13701         s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
13702         s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
13703         s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
13704         s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
13705         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
13706         s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
13707         s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
13708         s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
13709         s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
13710         s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
13711         s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
13712         s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
13713         s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
13714         s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
13715         s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
13716         s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
13717         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
13718         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
13719         s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
13720         s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
13721         s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
13722         s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
13723         s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
13724         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
13725         s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
13726         s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
13727         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
13728         s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
13729         scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
13730         sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
13731         sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
13732         sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
13733         sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
13734         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
13735         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
13736         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
13737         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
13738         sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
13739         sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
13740         sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
13741         sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
13742         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
13743         sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
13744         sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
13745         sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
13746         sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
13747         sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
13748         sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
13749         sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
13750         snames.ads, sprint.adb, sprint.ads, stand.adb,
13751         stand.ads, stringt.adb, stringt.ads, style.adb,
13752         style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
13753         switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
13754         switch-m.ads, switch.adb, switch.ads, system.ads,
13755         table.adb, table.ads, targparm.adb, targparm.ads,
13756         tbuild.adb, tbuild.ads, text_io.ads, trans.c,
13757         tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
13758         tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
13759         ttypef.ads, ttypes.ads, types.adb, types.ads,
13760         uintp.adb, uintp.ads, uname.adb, uname.ads,
13761         unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
13762         usage.adb, usage.ads, validsw.adb, validsw.ads,
13763         widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
13764         xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
13765         xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
13766         formatting and other trivial changes from ACT.
13767
13768 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
13769
13770         * gigi.h, utils2.c (build_constructor):
13771         Rename gnat_build_constructor. Use build_constructor.
13772         * decl.c (gnat_to_gnu_entity)
13773         * trans.c (tree_transform, pos_to_constructor, extract_values)
13774         * ada/utils.c (build_template, convert_to_fat_pointer, convert)
13775         (unchecked_convert)
13776         * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
13777         (fill_vms_descriptor):
13778         Update to match.
13779
13780 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
13781
13782         * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
13783         * misc.c (gnat_tree_size): New function.
13784         (LANG_HOOKS_TREE_SIZE): Override.
13785
13786 2003-04-03  Jason Merrill  <jason@redhat.com>
13787
13788         * misc.c (gnat_adjust_rli): #if 0.
13789
13790 2003-03-31   Geert Bosch <bosch@gnat.com>
13791
13792         PR ada/10020
13793         * link.c : Fix misspelled "const" keyword
13794
13795 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
13796
13797         PR c++/7086
13798         * utils2.c: Adjust calls to put_var_into_stack.
13799
13800 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
13801
13802         * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
13803
13804 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
13805
13806         * misc.c (gnat_init): Update for new prototype.
13807
13808 2003-03-05  Olivier Hainque  <hainque@gnat.com>
13809
13810         ada/9961
13811         * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
13812         warning, and fix return type for the IN_RTS && !SJLJ case.
13813
13814 2003-03-04  Tom Tromey  <tromey@redhat.com>
13815
13816         * Make-lang.in (ada.tags): New target.
13817
13818 2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
13819
13820         ada/9911
13821         * a-except.adb (Unwind_RaiseException): Import a GNAT specific
13822         wrapper, which name remains constant whatever underlying GCC
13823         scheme.
13824
13825         * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
13826         the stable interface needed for a-except.
13827
13828 2003-03-02  Andreas Jaeger  <aj@suse.de>
13829
13830         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13831         gnat_ug_wnt.texi: Regenerate.
13832
13833 2003-03-02  Laurent Guerby <guerby@acm.org>
13834
13835         * Makefile.in (install-gnatlib): Match previous change there
13836         so it works.
13837
13838 2003-02-28  Andreas Schwab  <schwab@suse.de>
13839
13840         * Make-lang.in (install-gnatlib): Change to ada directory before
13841         running make instead of using ada/Makefile directly.
13842
13843 2003-02-18  Ben Elliston  <bje@redhat.com>
13844
13845         Part of fix for PR ada/9406
13846         * gnat_ug.texi (Binder output file): Grammar fix.
13847
13848 2003-02-18  Ben Elliston  <bje@redhat.com>
13849
13850         PR other/7350
13851         * 5qtaprop.adb (Sleep): Fix typo in comment.
13852
13853 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13854
13855         * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
13856         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13857         gnat_ug_wnt.texi: Regenerate.
13858
13859 2003-02-03  Christian Cornelssen <ccorn@cs.tu-berlin.de>
13860
13861         * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
13862         be created if necessary.
13863         (ada.install-common): Let $(DESTDIR)$(bindir) be created
13864         if necessary.  Remove erroneous and redundant gnatchop
13865         installation commands.  Test for gnatdll before attempting
13866         to install it.
13867         (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
13868         and gnatdll from all plausible locations.
13869
13870 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
13871
13872         * utils2.c (build_unary_op): Don't check flag_volatile.
13873         * gnat_ug.texi: Remove -fvolatile from example.
13874         * gnat_ug_vxw.texi: Likewise.
13875
13876 2003-01-29  Laurent Guerby <guerby@acm.org>
13877
13878         PR ada/8344
13879         * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
13880         * Makefile.in: match previous change.
13881         * Make-lang.in: match previous change.
13882
13883 2003-01-29      Joel Sherrill <joel@OARcorp.com>
13884
13885         * 5rosinte.ads: Add SIGXCPU.
13886         * 5rtpopsp.adb: New file.
13887         * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
13888         * Makefile.in: Recognize more RTEMS targets and add the RTEMS
13889         specific file 5rtpopsp.adb.
13890         * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
13891         is likely needed for all newlib targets.
13892         * init.c: Add RTEMS specific version of __gnat_initialize().
13893
13894 2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13895
13896         * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
13897
13898 2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13899
13900         * init.c (__gnat_error_handler): Make msg const.
13901
13902         * gmem.c (convert_addresses): Move declaration ...
13903         * adaint.h: ... here.
13904         * adaint.c (convert_addresses): Adapt addrs type to match
13905         prototype.
13906
13907         * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
13908
13909 2003-01-24  Andreas Schwab  <schwab@suse.de>
13910
13911         * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
13912         size_t to avoid warning.
13913
13914 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
13915
13916         * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
13917
13918 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
13919
13920         * gnat_rm.texi: Remove RCS version number.
13921
13922         * ada-tree.h (union lang_tree_node): Add chain_next option.
13923
13924 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
13925
13926         * Make-lang.in (ada.install-info, ada.install-common,
13927         ada.uninstall): Prepend $(DESTDIR) to the destination
13928         directory in all (un)installation commands.
13929         * Makefile.in (install-gnatlib, install-rts): Ditto.
13930
13931 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
13932
13933         * gnat_rm.texi, gnat_ug.texi: Use @copying.
13934         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13935         gnat_ug_wnt.texi: Regenerate.
13936
13937 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
13938
13939         * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
13940         only.
13941         * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
13942         $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
13943         $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
13944         ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
13945         ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
13946         $(srcdir)/doc/include/gcc-common.texi.
13947
13948 2002-12-15   Geert Bosch <bosch@gnat.com>
13949
13950         * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
13951
13952 2002-12-14   Geert Bosch <bosch@gnat.com>
13953
13954         * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
13955         case of a body created for a Renaming_As_Body, on which
13956         conformance checks are not performed. Fixes PR ada/5690.
13957
13958 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
13959
13960         * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
13961         utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
13962         not already included.
13963         * Make-lang.in: Update dependencies.
13964
13965 2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
13966         * adaint.c (__gnat_tmp_name): Better, but good enough for now,
13967         solution to buffer overflow bug on GNU/Linux.
13968
13969 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
13970         Closes PR ada/5856 and PR ada/6919 !
13971         * bindgen.adb: Remove all references to Public_Version.
13972         * comperr.adb: Remove all references to Public_Version and
13973         GNATPRO_Version; correct bug reporting instructions.
13974         * comperr.ads: Change to match bug box.
13975         * gnatvsn.ads: Remove all references to Public version and
13976         GNATPRO version.
13977
13978 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
13979         PR ada/6919
13980         * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
13981         GNU/Linux.
13982
13983         PR ada/6558
13984         * config-lang.in: Remove diff_excludes.
13985
13986 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
13987         PR ada/8358
13988         * trans.c (gnu_pending_elaboration_lists): New GC root.
13989         (build_unit_elab): Use..
13990
13991 2002-10-30   Geert Bosch <bosch@gnat.com>
13992         PR ada/6558
13993         * misc.c : Include optabs.h
13994
13995         * Make-lang.in (misc.o): Add dependency on optabs.h
13996
13997 2002-10-29   Geert Bosch <bosch@gnat.com>
13998         PR ada/6558
13999         * Make-lang.in (gnatbind): Depend on CONFIG_H
14000
14001 2002-10-29  Geert bosch  <bosch@gnat.com>
14002         PR ada/6558
14003         * misc.c: Unrevert misc.c (1.13)
14004
14005 2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
14006
14007         * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
14008         maintainership comments.
14009
14010 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
14011         PR ada/5904
14012         * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
14013         5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
14014         5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
14015         7staprop.adb: Correct statements in comments about
14016         maintainership of GNAT.
14017
14018         PR ada/5904
14019         * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
14020         gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
14021         osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
14022         osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
14023         s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
14024         s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
14025         sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
14026         switch-c.ads switch-m.adb switch-m.ads: Correct statements in
14027         comments about maintainership of GNAT.
14028
14029         PR ada/6919 (forward port of patch for PR ada/5904)
14030         * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
14031         4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
14032         4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
14033         4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
14034         4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
14035         4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
14036         4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
14037         52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
14038         5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
14039         5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
14040         5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
14041         5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
14042         5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
14043         5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
14044         5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
14045         5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
14046         5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
14047         5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
14048         5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
14049         5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
14050         5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
14051         5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
14052         5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
14053         5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
14054         5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
14055         5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
14056         5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
14057         5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
14058         7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
14059         a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
14060         a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
14061         a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
14062         a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
14063         a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
14064         a-except.adb a-except.ads a-excpol.adb a-exctra.adb
14065         a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
14066         a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
14067         a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
14068         a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
14069         a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
14070         a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
14071         a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
14072         a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
14073         a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
14074         a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
14075         a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
14076         a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
14077         a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
14078         a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
14079         a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
14080         a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
14081         a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
14082         a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
14083         a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
14084         a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
14085         a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
14086         a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
14087         a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
14088         a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
14089         a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
14090         a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
14091         a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
14092         a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
14093         a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
14094         a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
14095         a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
14096         a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
14097         a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
14098         adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
14099         alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
14100         back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
14101         binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
14102         bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
14103         ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
14104         csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
14105         cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
14106         debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
14107         einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
14108         errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
14109         exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
14110         exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
14111         exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
14112         exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
14113         exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
14114         exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
14115         exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
14116         exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
14117         exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
14118         exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
14119         exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
14120         exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
14121         exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
14122         final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
14123         fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
14124         freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
14125         g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
14126         g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
14127         gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
14128         gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
14129         gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
14130         gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
14131         gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
14132         gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
14133         i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
14134         i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
14135         i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
14136         i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
14137         impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
14138         itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
14139         lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
14140         lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
14141         lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
14142         lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
14143         makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
14144         namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
14145         nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
14146         osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
14147         par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
14148         par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
14149         par-endh.adb par-labl.adb par-load.adb par-prag.adb
14150         par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
14151         prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
14152         prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
14153         prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
14154         prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
14155         prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
14156         prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
14157         repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
14158         rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
14159         s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
14160         s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
14161         s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
14162         s-direio.adb s-direio.ads s-except.ads s-exctab.adb
14163         s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
14164         s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
14165         s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
14166         s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
14167         s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
14168         s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
14169         s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
14170         s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
14171         s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
14172         s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
14173         s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
14174         s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
14175         s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
14176         s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
14177         s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
14178         s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
14179         s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
14180         s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
14181         s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
14182         s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
14183         s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
14184         s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
14185         s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
14186         s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
14187         s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
14188         s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
14189         s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
14190         s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
14191         s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
14192         s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
14193         s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
14194         s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
14195         s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
14196         s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
14197         s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
14198         s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
14199         s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
14200         s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
14201         s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
14202         s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
14203         s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
14204         s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
14205         s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
14206         s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
14207         s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
14208         s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
14209         s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
14210         s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
14211         s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
14212         s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
14213         s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
14214         s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
14215         s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
14216         s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
14217         s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
14218         s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
14219         s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
14220         s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
14221         s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
14222         s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
14223         s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
14224         s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
14225         s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
14226         s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
14227         s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
14228         s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
14229         s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
14230         s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
14231         s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
14232         s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
14233         s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
14234         s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
14235         s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
14236         s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
14237         s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
14238         s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
14239         s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
14240         s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
14241         scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
14242         sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
14243         sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
14244         sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
14245         sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
14246         sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
14247         sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
14248         sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
14249         sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
14250         sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
14251         sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
14252         sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
14253         sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
14254         sem_type.adb sem_type.ads sem_util.adb sem_util.ads
14255         sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
14256         sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
14257         sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
14258         sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
14259         snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
14260         stringt.ads stringt.h style.adb style.ads stylesw.adb
14261         stylesw.ads switch.adb switch.ads sysdep.c system.ads
14262         table.adb table.ads targparm.adb targparm.ads targtyps.c
14263         tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
14264         tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
14265         treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
14266         types.adb types.ads types.h uintp.adb uintp.ads uintp.h
14267         uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
14268         usage.ads utils.c utils2.c validsw.adb validsw.ads
14269         widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
14270         xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
14271         xtreeprs.adb: Correct statements in comments about maintainership
14272         of GNAT.
14273
14274 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
14275
14276         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
14277         * Makefile.in (TOOLS_LIBS): Add ../../version.o.
14278         * gnatvsn.ads: Gnat_Version_String is now a function.
14279         * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
14280         copy the C version_string into a String and return it.
14281         * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
14282         gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
14283         Remove pragma Ident (Gnat_Version_String).  If this was the
14284         sole use of package Gnatvsn, remove the with statement too.
14285         * gnat1drv.adb: Tweak -gnatv output.
14286
14287 2002-09-17  Richard Henderson  <rth@redhat.com>
14288
14289         * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
14290         * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
14291         * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
14292         (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
14293         * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
14294         and real_2expN instead of a loop.
14295         * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
14296         (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
14297
14298 2002-08-25  Andre Leis <a.leis@gmx.net>
14299             David Billinghurst (David.Billinghurst@riotinto.com>
14300
14301         * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
14302
14303 2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14304
14305         * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
14306         Remove $(CONFIG_H) dependency.
14307
14308 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
14309
14310         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
14311
14312 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14313
14314         * adadecode.c (ada_demangle): Use xstrdup in lieu of
14315         xmalloc/strcpy.
14316         * misc.c (gnat_decode_option): Likewise.
14317
14318 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
14319
14320         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
14321         function approach did not work well because of a side effect (the
14322         function call could reallocate the table which was being indexed
14323         using its result). Fixes ada/4851. [RESURRECTED]
14324
14325 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14326
14327         * ada/utils.c (builtin_function): Accept an additional parameter.
14328
14329 2002-06-28  Andreas Jaeger  <aj@suse.de>
14330
14331         PR ada/7144
14332         * Makefile.in: Fix typo in comment, patch by Adrian Knoth
14333         <adi@thur.de>.
14334
14335 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14336
14337         * Makefile.in (SHELL): Set to @SHELL@.
14338
14339 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14340
14341         * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
14342         array size calculation.
14343
14344 2002-06-04  Andreas Jaeger  <aj@suse.de>
14345
14346         * Make-lang.in (gnatbind): Readd rule that has been lost in last
14347         patch.
14348
14349 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
14350
14351         Merge from pch-branch:
14352
14353         * config-lang.in (gtfiles): Add ada-tree.h.
14354         * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
14355         (SET_TYPE_MODULUS): New.
14356         (SET_TYPE_INDEX): New.
14357         (SET_TYPE_DIGITS_VALUE): New.
14358         (SET_TYPE_RM_SIZE): New.
14359         (SET_TYPE_UNCONSTRAINED_ARRAY): New.
14360         (SET_TYPE_ADA_SIZE): New.
14361         (SET_TYPE_ACTUAL_BOUNDS): New.
14362         (SET_DECL_CONST_CORRESPONDING_VAR): New.
14363         (SET_DECL_ORIGINAL_FIELD): New.
14364         (TREE_LOOP_ID): Correct typo.
14365         * decl.c: Use new macros.
14366         * utils.c: Include debug.h, use new macros.
14367         * utils2.c: Use new macros.
14368
14369         * ada-tree.h: Update all macros for new tree description.
14370         (struct tree_loop_id): New.
14371         (union lang_tree_node): New.
14372         (struct lang_decl): New.
14373         (struct lang_type): New.
14374         * misc.c (gnat_mark_tree): Delete.
14375         (LANG_HOOKS_MARK_TREE): Delete.
14376         * trans.c (tree_transform): No longer any need to cast
14377         for TREE_LOOP_ID.
14378
14379         * utils.c (struct language_function): New dummy structure.
14380
14381         * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
14382         (misc.o): Likewise.
14383         (utils.o): Likewise; also gtype-ada.h.
14384         * Make-lang.in (gnat1): Add dependency on s-gtype.
14385         (gnatbind): Add dependency on $(CONFIG_H).
14386         * utils.c: Correct last #include.
14387         (stuct e_stack): Remove unnecessary 'static'.
14388         (mark_e_stack): Remove unused prototype.
14389
14390         * scn-nlit.adb: Remove whitespace after version number to
14391         keep lines under 80 chars.
14392         * snames.adb: Likewise.
14393         * treepr.ads: Likewise.
14394
14395         * Makefile.in (decl.o): Include gt-ada-<filename>.h.
14396         (misc.o): Likewise.
14397         (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
14398         * config-lang.in (gtfiles): New.
14399         * decl.c: Use gengtype for roots.
14400         * gigi.h: Use gengtype for roots.
14401         * trans.c: Use gengtype for roots.
14402         * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
14403
14404 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
14405
14406         * misc.c (gnat_init): Adjust setting of internal_error_function.
14407
14408 2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
14409
14410         * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
14411         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
14412         gnat_ug_wnt.texi: Regenerate.
14413
14414 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
14415
14416         * 5ntaprop.adb (with System.OS_Primitives): Remove.
14417
14418         * cstreams.c (max_path_len): Move from here ...
14419         * adaint.c (__gnat_max_path_len): ... to here.
14420         * adaint.c (__gnat_max_path_len): Declare.
14421         * g-dirope.adb (Max_Path): Adjust.
14422         * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
14423         * i-cstrea.ads (max_path_len): Adjust.
14424         * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
14425         * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
14426
14427         * Makefile.in, Make-lang.in: Documentation is now built in
14428         Make-lang.in.  Store Info and generated Texinfo files in the
14429         source directory.
14430         * gnat_ug.texi: Remove CVS keywords, correct version number.
14431         Set file name correctly.
14432
14433         * gnat_ug_*.texi: Add.
14434         * .cvsignore: Ignore generated Texinfo files.
14435
14436 2002-05-30  Zack Weinberg  <zack@codesourcery.com>
14437
14438         * ada.h: Add MI guard macro.
14439         (SUBTYPE): Define constants with an anonymous enum, not static
14440         const variables.
14441         (IN): Cast constants to appropriate type before use.
14442
14443 2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
14444
14445         * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
14446         (experimental)".
14447
14448 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14449
14450         * Make-lang.in (CP, ECHO): Copy from Makefile.in.
14451         (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
14452         (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
14453         (ALL_ADA_CFLAGS): Likewise.
14454         (ADA_INCLUDES): Likewise.
14455         Adapt for new working dir.
14456         (GNATBIND): Use Makefile.in version.
14457         (.SUFFIXES): Copy from Makefile.in.
14458         (ada-warn): Define.
14459         (.adb.o, .ads.o): Copy from Makefile.in.
14460         Added $(OUTPUT_OPTION).
14461         (GNAT1_C_OBJS): Moved from Makefile.in.
14462         Prefix with ada subdir.
14463         (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
14464         (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
14465         Adapt for new working dir.
14466         (EXTRA_GNATBIND_OBJS): Likewise.
14467         (ADA_BACKEND): Moved from Makefile.in.
14468         Renamed to avoid conflict with global BACKEND.
14469         Use that one.
14470         (TARGET_ADA_SRCS): Moved from Makefile.in.
14471         (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
14472         Use ADA_BACKEND.
14473         (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
14474         (ada_extra_files): Moved from Makefile.in.
14475         Prefix with ada subdir.
14476         (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
14477         (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
14478         (ada/nmake.ads): Likewise.
14479         (update-sources): Moved from Makefile.in.
14480         Prefix with ada subdir.
14481         (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
14482         (ADA_TREE_H): Likewise.
14483         (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
14484         (ada/memtrack.o): Likewise.
14485         (ada/adadecode.o): Likewise.
14486         Update dependencies.
14487         (ada/adaint.o): New.
14488         (ada/argv.o): Moved from Makefile.in.
14489         Prefix with ada subdir.
14490         Update dependencies.
14491         (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
14492         (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
14493         (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
14494         Prefix with ada subdir.
14495         (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
14496         (GNAT DEPENDENCIES): Regenerate.
14497         * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
14498         toplevel Makefile.in.
14499         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
14500         (TARGET_ADA_SRCS): Removed.
14501         (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
14502         (GNATBIND_OBJS): Likewise.
14503         (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
14504         (BACKEND): Removed.
14505         (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
14506         (TREE_H): Likewise.
14507         (ada_extra_files): Likewise.
14508         (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
14509         (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
14510         (update-sources): Likewise.
14511         (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
14512         (ADA_TREE_H): Likewise.
14513         (adadecoce.o): Likewise.
14514         (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
14515         (GNAT DEPENDENCIES): Likewise.
14516
14517 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14518
14519         * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
14520         * Makefile.in: Likewise.
14521
14522 2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14523
14524         * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
14525         Restore $(CONFIG_H) and prefix.o dependencies.
14526         (ada.stage[1-4]): Depend on stage?-start.
14527
14528         * Makefile.in (b_gnatb.c): Depend on interfac.o.
14529
14530 2002-05-02  Jim Wilson  <wilson@redhat.com>
14531
14532         * utils.c (finish_record_type): Change record_size to record_type.
14533
14534 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14535
14536         * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
14537         (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
14538         ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
14539
14540 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
14541
14542         * misc.c (gnat_parse_file): Update.
14543
14544 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
14545
14546         * misc.c (gnat_init): Don't set lang_attribute_common.
14547
14548 2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
14549
14550         * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
14551
14552 2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
14553
14554         * gnat_ug.texi: New file.
14555
14556         * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
14557         instead of gfdl.texi
14558
14559         * xgnatug.adb, ug_words: New files.
14560
14561         * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
14562         gnat_rm and gnat-style manuals.
14563
14564 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
14565
14566         * gigi.h (incomplete_type_error): Remove.
14567         * utils.c (incomplete_type_error): Remove.
14568
14569 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
14570
14571         * trans.c (tree_transform): Add has_scope argument to
14572         expand_start_stmt_expr.
14573
14574 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14575
14576         * gigi.h (truthvalue_conversion): Rename.
14577         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
14578         * trans.c (tree_transform): Update.
14579         * utils2.c (truthvalue_conversion): Rename, update.
14580         (build_binary_op, build_unary_op): Update.
14581
14582 2002-04-04  Laurent Guerby  <guerby@acm.org>
14583
14584         * make.adb: Implement -margs, remove restriction about file name placement.
14585         * makeusg.adb: Documentation update.
14586         * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
14587         * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
14588
14589 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14590
14591         * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
14592         (builtin_function): Similarly.
14593
14594 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
14595
14596         * decl.c (gnat_to_gnu_entity): Update.
14597         * gigi.h (mark_addressable): Rename.
14598         * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
14599         * trans.c (tree_transform): Update.
14600         * utils.c (create_var_decl): Update.
14601         * util2.c (build_binary_op, build_unary_op,
14602         fill_vms_descriptor): Update.
14603         (mark_addressable): Rename, update.
14604
14605 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
14606
14607         * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
14608         Rename.
14609         * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
14610         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
14611         * trans.c (tree_transform, convert_with_check): Update.
14612         * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
14613         Rename.
14614
14615 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
14616
14617         * gigi.h (finish_incomplete_decl): Rename.
14618         * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
14619         * utils.c (gnat_init_decl_processing): Don't set hook.
14620         (finish_incomplete_decl): Rename.
14621
14622 2002-03-29  Andreas Schwab  <schwab@suse.de>
14623
14624         * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
14625         directory.
14626
14627 2001-03-28  Robert Dewar <dewar@gnat.com>
14628
14629         * checks.ads:
14630         (Remove_Checks): New procedure
14631
14632         * checks.adb:
14633         (Remove_Checks): New procedure
14634
14635         * exp_util.adb:
14636         Use new Duplicate_Subexpr functions
14637         (Duplicate_Subexpr_No_Checks): New procedure
14638         (Duplicate_Subexpr_No_Checks_Orig): New procedure
14639         (Duplicate_Subexpr): Restore original form (checks duplicated)
14640         (Duplicate_Subexpr): Call Remove_Checks
14641
14642         * exp_util.ads:
14643         (Duplicate_Subexpr_No_Checks): New procedure
14644         (Duplicate_Subexpr_No_Checks_Orig): New procedure
14645         Add 2002 to copyright notice
14646
14647         * sem_util.adb: Use new Duplicate_Subexpr functions
14648
14649         * sem_eval.adb:
14650         (Eval_Indexed_Component): This is the place to call
14651         Constant_Array_Ref and to replace the value. We simply merge
14652         the code of this function in here, since it is now no longer
14653         used elsewhere. This fixes the problem of the back end not
14654         realizing we were clever enough to see that this was
14655         constant.
14656         (Expr_Val): Remove call to Constant_Array_Ref
14657         (Expr_Rep_Val): Remove call to Constant_Array_Ref
14658         Minor reformatting
14659         (Constant_Array_Ref): Deal with string literals (patch
14660         suggested by Zack Weinberg on the gcc list)
14661
14662 2001-03-28  Ed Schonberg <schonber@gnat.com>
14663
14664         * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
14665         Duplicate_Subexpr_Move_Checks.
14666
14667         * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
14668         Duplicate_Subexpr_Move_Checks.
14669
14670         * sem_eval.adb: (Constant_Array_Ref): Verify that constant
14671         value of array exists before retrieving it (it may a private
14672         protected component in a function).
14673
14674 2002-03-28   Geert Bosch <bosch@gnat.com>
14675
14676         * prj-pp.adb : New file.
14677
14678         * prj-pp.ads : New file.
14679
14680 2002-03-28  Andreas Jaeger  <aj@suse.de>
14681
14682         * Makefile.in (stamp-sdefault): Fix path for Makefile.
14683
14684 2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
14685
14686         * misc.c (gnat_expand_expr): Move prototype.
14687
14688 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
14689
14690         * misc.c (insert_default_attributes): Remove.
14691
14692 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
14693
14694         * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
14695         (gnat_init): Don't set hook.
14696         (gnat_expand_expr): Fix prototype.
14697
14698 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
14699
14700         * misc.c (ggc_p): Remove.
14701
14702 2002-03-27  Geert Bosch  <bosch@gnat.com>
14703
14704         * prj-makr.ads, prj-makr.adb : New files.
14705
14706 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
14707
14708         * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
14709         (lang_mark_tree): Make static, rename.
14710
14711 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
14712
14713         * misc.c (maybe_build_cleanup): Remove.
14714
14715 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
14716
14717         * gigi.h (yyparse): Remove.
14718
14719 2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
14720
14721         * gnat_rm.texi: Sync with ACT version.
14722           (From Ben Brosgol <brosgol@gnat.com>)
14723
14724 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
14725
14726         * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
14727         (gnat_init): Remove old hook.
14728
14729 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
14730
14731         * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
14732         (yyparse): Rename gnat_parse_file.
14733
14734 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
14735
14736         Delete all lines containing "$Revision:".
14737         * xeinfo.adb: Don't look for revision numbers.
14738         * xnmake.adb: Likewise.
14739         * xsinfo.adb: Likewise.
14740         * xsnames.adb: Likewise.
14741         * xtreeprs.adb: Likewise.
14742
14743 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14744
14745         * misc.c (gnat_tree_code_type, gnat_tree_code_length,
14746         gnat_tree_code_name): Delete.
14747         (tree_code_type, tree_code_length, tree_code_name): Define.
14748         (gnat_init): Don't try to copy into the various tree_code
14749         arrays.
14750
14751 2002-03-11  Richard Henderson  <rth@redhat.com>
14752
14753         * Makefile.in (.NOTPARALLEL): Add fake tag.
14754
14755 2002-03-07  Geert Bosch  <bosch@gnat.com>
14756
14757         * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
14758         s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
14759         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
14760         switch-m.adb, switch-m.ads : New files.
14761
14762 2002-03-07  Geert Bosch  <bosch@gnat.com>
14763
14764         * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
14765         4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
14766         4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
14767         4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
14768         5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
14769         5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
14770         5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
14771         5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
14772         5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
14773         5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
14774         5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
14775         5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
14776         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
14777         5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
14778         5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
14779         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
14780         5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
14781         5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
14782         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
14783         5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
14784         7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
14785         Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
14786         a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
14787         a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
14788         a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
14789         a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
14790         a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
14791         a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
14792         a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
14793         adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
14794         atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
14795         bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
14796         csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
14797         einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
14798         eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
14799         exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
14800         exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
14801         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
14802         exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
14803         exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
14804         expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
14805         freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
14806         g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
14807         g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
14808         g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
14809         g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
14810         g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
14811         g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
14812         gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
14813         gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
14814         gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
14815         i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
14816         impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
14817         lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
14818         lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
14819         memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
14820         mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
14821         nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
14822         output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
14823         par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
14824         prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
14825         prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
14826         prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
14827         rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
14828         s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
14829         s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
14830         s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
14831         s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
14832         s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
14833         s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
14834         s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
14835         s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
14836         s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
14837         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
14838         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
14839         s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
14840         s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
14841         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
14842         s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
14843         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
14844         sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
14845         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
14846         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
14847         sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
14848         sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
14849         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
14850         sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
14851         sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
14852         sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
14853         snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
14854         stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
14855         table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
14856         tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
14857         treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
14858         types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
14859         utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
14860         xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
14861
14862         * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
14863         g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
14864         mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
14865         osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
14866
14867         * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
14868         5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
14869
14870         * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
14871         to mdll-fil.ad[bs] and mdll-util.ad[bs]
14872
14873         * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
14874         from mdllfile.ad[bs] and mdlltool.ad[bs]
14875
14876 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14877
14878         * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
14879         lieu of explicit sizeof/sizeof.
14880
14881 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
14882
14883         * misc.c (copy_lang_decl): Remove.
14884
14885 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
14886
14887         * misc.c: Delete traditional-mode-related code copied from the
14888         C front end but not used, or used only to permit the compiler
14889         to link.
14890
14891 2002-02-07  Richard Henderson  <rth@redhat.com>
14892
14893         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
14894         * adaint.h (__gnat_to_gm_time): Update prototype.
14895
14896 2002-01-30  Richard Henderson  <rth@redhat.com>
14897
14898         * trans.c (tree_transform) [N_Loop_Statement]: Use
14899         expand_exit_loop_top_cond.
14900
14901 2001-12-23  Richard Henderson  <rth@redhat.com>
14902
14903         * utils.c (end_subprog_body): Push GC context around
14904         rest_of_compilation for nested functions.
14905
14906 2001-12-23  Richard Henderson  <rth@redhat.com>
14907
14908         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
14909
14910 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
14911
14912         * gnat-style.texi (Declarations and Types): Remove ancient style
14913         rule which was mandated by code generation issues.
14914
14915         * gnat-style.texi (header): Add @dircategory, @direntry.
14916         (title page): Remove date.
14917         (general) Add @./@: where approriate, and two spaces after the
14918         full stop at the end of a sentence.  Use @samp markup when
14919         referring concrete lexical entities (keywords, attribute names
14920         etc.), and @syntax for ARM grammar elements. Use @r for English
14921         text in comments.  Use @emph for emphasis.  Change "if-statements"
14922         etc. to "if statements" (without @samp). Break long lines.  Make
14923         casing of section names consistent.
14924         (Identifiers): Use @samp markup for variable names.
14925         (Comments): Use @samp markup for comment characters. Line-end
14926         comments may follow any Ada code, not just statements.  Fix
14927         misspelling of "Integer" as "integer".
14928         (Loop statements): Do not use variable name "I", use "J".
14929         (Subprogram Declarations): Document alignment.
14930         (Subprogram Bodies, Block statements): Document empty line before
14931         "begin".
14932
14933 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
14934
14935         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
14936         function approach did not work well because of a side effect (the
14937         function call could reallocate the table which was being indexed
14938         using its result). Fixes ada/4851.
14939
14940 2001-12-19  Robert Dewar <dewar@gnat.com>
14941
14942         * bindgen.adb: Minor reformatting
14943
14944         * cstand.adb: Minor reformatting
14945
14946         * fmap.adb: Minor reformatting
14947         Change name from Add for Add_To_File_Map (Add is much too generic)
14948         Change Path_Name_Of to Mapped_Path_Name
14949         Change File_Name_Of to Mapped_File_Name
14950         Fix copyright dates in header
14951
14952         * fmap.ads:
14953         Change name from Add for Add_To_File_Map (Add is much too generic)
14954         Change Path_Name_Of to Mapped_Path_Name
14955         Change File_Name_Of to Mapped_File_Name
14956         Fix copyright dates in header
14957
14958         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
14959         Add use clause for Fmap.
14960
14961         * make.adb: Minor reformatting
14962
14963         * osint.adb: Minor reformatting.  Change of names in Fmap.
14964         Add use clause for Fmap.
14965
14966         * prj-env.adb: Minor reformatting
14967
14968         * prj-env.ads: Minor reformatting
14969
14970         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
14971         error found (there were odd exceptions to this general rule in
14972         -gnatec/-gnatem processing)
14973
14974 2001-12-19  Olivier Hainque <hainque@gnat.com>
14975
14976         * raise.c (__gnat_eh_personality): Exception handling personality
14977         routine for Ada.  Still in rough state, inspired from the C++ version
14978         and still containing a bunch of debugging artifacts.
14979         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
14980         inspired from the C++ library.
14981
14982         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
14983         exception handling integration.
14984
14985 2001-12-19  Arnaud Charlet <charlet@gnat.com>
14986
14987         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
14988         (HIE_SOURCES): Add s-secsta.ad{s,b}.
14989         (HIE_OBJS): Add s-fat*.o
14990         (RAVEN_SOURCES): Remove files that are no longer required. Add
14991         interrupt handling files.
14992         (RAVEN_MOD): Removed, no longer needed.
14993
14994 2001-12-19  Robert Dewar <dewar@gnat.com>
14995
14996         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
14997         Add 2001 to copyright date
14998
14999         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
15000         need to force universal inlining for these cases.
15001
15002 2001-12-19  Arnaud Charlet <charlet@gnat.com>
15003
15004         * s-taprob.adb: Minor clean ups so that this unit can be used in
15005         Ravenscar HI.
15006
15007         * exp_ch7.adb: Allow use of secondary stack in HI mode.
15008         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
15009
15010 2001-12-19  Vincent Celier <celier@gnat.com>
15011
15012         * prj-tree.ads (Project_Node_Record): Add comments for components
15013         Pkg_Id and Case_Insensitive.
15014
15015 2001-12-19  Pascal Obry <obry@gnat.com>
15016
15017         * g-socket.adb: Minor reformatting. Found while reading code.
15018
15019 2001-12-19  Robert Dewar <dewar@gnat.com>
15020
15021         * prj-tree.ads: Minor reformatting
15022
15023 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
15024
15025         * config-lang.in (diff_excludes): Remove.
15026
15027 2001-12-17  Ed Schonberg <schonber@gnat.com>
15028
15029         * sem_res.adb (Resolve_Selected_Component): do not generate a
15030         discriminant check if the selected component is a component of
15031         the argument of an initialization procedure.
15032
15033         * trans.c (tree_transform, case of arithmetic operators): If result
15034         type is private, the gnu_type is the base type of the full view,
15035         given that the full view itself may be a subtype.
15036
15037 2001-12-17  Robert Dewar <dewar@gnat.com>
15038
15039         * sem_res.adb: Minor reformatting
15040
15041         * trans.c (tree_transform, case N_Real_Literal): Add missing third
15042         parameter in call to Machine (unknown horrible effects from this
15043         omission).
15044
15045         * urealp.h: Add definition of Round_Even for call to Machine
15046         Add third parameter for Machine
15047
15048 2001-12-17  Ed Schonberg <schonber@gnat.com>
15049
15050         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
15051         predefined units in No_Run_Time mode.
15052
15053 2001-12-17  Richard Kenner <kenner@gnat.com>
15054
15055         * misc.c (insn-codes.h): Now include.
15056
15057 2001-12-17  Olivier Hainque <hainque@gnat.com>
15058
15059         * a-except.adb: Preparation work for future integration of the GCC 3
15060         exception handling mechanism
15061         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
15062         to factorize previous code sequences and make them externally callable,
15063         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
15064         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
15065         Use the new notification routines.
15066
15067 2001-12-17  Emmanuel Briot <briot@gnat.com>
15068
15069         * prj-tree.ads (First_Choice_Of): Document the when others case
15070
15071 2001-12-17  Arnaud Charlet <charlet@gnat.com>
15072
15073         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
15074         HI-E mode, in order to support Ravenscar profile properly.
15075
15076         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
15077         mode on 32 bits targets.
15078
15079 2001-12-17  Vincent Celier <celier@gnat.com>
15080
15081         * fmap.adb: Initial version.
15082
15083         * fmap.ads: Initial version.
15084
15085         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
15086         If search is successfully done, add to mapping.
15087
15088         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
15089
15090         * make.adb:
15091         (Gnatmake): Add new local variable Mapping_File_Name.
15092          Create mapping file when using project file(s).
15093          Delete mapping file before exiting.
15094
15095         * opt.ads (Mapping_File_Name): New variable
15096
15097         * osint.adb (Find_File): Use path name found in mapping, if any.
15098
15099         * prj-env.adb (Create_Mapping_File): New procedure
15100
15101         * prj-env.ads (Create_Mapping_File): New procedure.
15102
15103         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
15104         (Mapping_File)
15105
15106         * usage.adb: Add entry for new switch -gnatem.
15107
15108         * Makefile.in: Add dependencies for fmap.o.
15109
15110 2001-12-17  Ed Schonberg <schonber@gnat.com>
15111
15112         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
15113         is a package instantiation rewritten as a package body.
15114         (Install_Withed_Unit): Undo previous change, now redundant.
15115
15116 2001-12-17  Gary Dismukes <dismukes@gnat.com>
15117
15118         * layout.adb:
15119         (Compute_Length): Move conversion to Unsigned to callers.
15120         (Get_Max_Size): Convert Len expression to Unsigned after calls to
15121         Compute_Length and Determine_Range.
15122         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
15123         Compute_Length and Determine_Range.
15124         Above changes fix problem with length computation for supernull arrays
15125         where Max (Len, 0) wasn't getting applied due to the Unsigned
15126         conversion used by Compute_Length.
15127
15128 2001-12-17  Arnaud Charlet <charlet@gnat.com>
15129
15130         * rtsfind.ads:
15131         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
15132          System.Secondary_Stack.
15133         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
15134          in HI-E mode.
15135         Remove unused entity RE_Exception_Data.
15136
15137         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
15138
15139         * rident.ads (No_Secondary_Stack): New restriction.
15140
15141 2001-12-17  Joel Brobecker <brobecke@gnat.com>
15142
15143         * gnat_rm.texi: Fix minor typos. Found while reading the section
15144         regarding "Bit_Order Clauses" that was sent to a customer.
15145         Very interesting documentation!
15146
15147 2001-12-17  Robert Dewar <dewar@gnat.com>
15148
15149         * sem_case.adb (Choice_Image): Avoid creating improper character
15150         literal names by using the routine Set_Character_Literal_Name. This
15151         fixes bombs in certain error message cases.
15152
15153 2001-12-17  Arnaud Charlet <charlet@gnat.com>
15154
15155         * a-reatim.adb: Minor reformatting.
15156
15157 2001-12-17  Ed Schonberg <schonber@gnat.com>
15158
15159         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
15160         case where the formal is an extension of another formal in the current
15161         unit or in a parent generic unit.
15162
15163 2001-12-17  Arnaud Charlet <charlet@gnat.com>
15164
15165         * s-tposen.adb: Update comments.  Minor reformatting.
15166         Minor code clean up.
15167
15168         * s-tarest.adb: Update comments.  Minor code reorganization.
15169
15170 2001-12-17  Gary Dismukes <dismukes@gnat.com>
15171
15172         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
15173         when Java_VM.
15174
15175 2001-12-17  Robert Dewar <dewar@gnat.com>
15176
15177         * exp_attr.adb: Minor reformatting
15178
15179 2001-12-17  Ed Schonberg <schonber@gnat.com>
15180
15181         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
15182         derivations nested within a child unit: verify that the parent
15183         type is declared in an outer scope.
15184
15185 2001-12-17  Robert Dewar <dewar@gnat.com>
15186
15187         * sem_ch12.adb: Minor reformatting
15188
15189 2001-12-17  Ed Schonberg <schonber@gnat.com>
15190
15191         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
15192         warning if current unit is a predefined one, from which bodies may
15193         have been deleted.
15194
15195 2001-12-17  Robert Dewar <dewar@gnat.com>
15196
15197         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
15198         Fix header format. Add 2001 to copyright date.
15199
15200         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
15201         which caused CE during compilation if checks were enabled.
15202
15203 2001-12-17  Vincent Celier <celier@gnat.com>
15204
15205         * make.adb:
15206         (Switches_Of): New function
15207         (Test_If_Relative_Path): New procedure
15208         (Add_Switches): Use new function Switches_Of
15209         (Collect_Arguments_And_Compile): Use new function Switches_Of.
15210         When using a project file, test if there are any relative
15211         search path. Fail if there are any.
15212         (Gnatmake): Only add switches for the primary directory when not using
15213         a project file. When using a project file, change directory to the
15214         object directory of the main project file. When using a project file,
15215         test if there are any relative search path. Fail if there are any.
15216         When using a project file, fail if specified executable is relative
15217         path with directory information, and prepend executable, if not
15218         specified as an absolute path, with the exec directory.  Make sure
15219         that only one -o switch is transmitted to the linker.
15220
15221         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
15222
15223         * prj-nmsc.adb:
15224         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
15225         when using a non standard naming scheme.
15226         (Check_Ada_Naming_Scheme): Make sure that error messages
15227         do not raise exceptions.
15228         (Is_Illegal_Append): Return True if there is no dot in the suffix.
15229         (Language_Independent_Check): Check the exec directory.
15230
15231         * prj.adb (Project_Empty): Add new component Exec_Directory
15232
15233         * prj.ads:
15234         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
15235         (Project_Data): Add component Exec_Directory
15236
15237         * snames.adb: Updated to match snames.ads revision 1.215
15238
15239         * snames.ads: Added Exec_Dir
15240
15241 2001-12-17  Robert Dewar <dewar@gnat.com>
15242
15243         * make.adb: Minor reformatting
15244
15245         * prj-nmsc.adb: Minor reformatting
15246
15247         * snames.adb: Updated to match snames.ads
15248
15249         * snames.ads: Alphebetize entries for project file
15250
15251 2001-12-17  Ed Schonberg <schonber@gnat.com>
15252
15253         * trans.c (process_freeze_entity): Do nothing if the entity is a
15254         subprogram that was already elaborated.
15255
15256 2001-12-17  Richard Kenner <kenner@gnat.com>
15257
15258         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
15259         and Esize if object is referenced via pointer.
15260
15261 2001-12-17  Ed Schonberg <schonber@gnat.com>
15262
15263         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
15264         is discrete before analyzing choices.
15265
15266 2001-12-17  Joel Brobecker <brobecke@gnat.com>
15267
15268         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
15269         containing the name of the Ada Main Program. This string is mainly
15270         intended for the debugger.
15271         (Gen_Output_File_C): Do the equivalent change when generating a C file.
15272
15273 2001-12-17  Robert Dewar <dewar@gnat.com>
15274
15275         * ali.adb: Set new Dummy_Entry field in dependency entry
15276
15277         * ali.ads: Add Dummy_Entry field to source dependency table
15278
15279         * bcheck.adb (Check_Consistency): Ignore dummy D lines
15280
15281         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
15282
15283         * lib-writ.ads: Document dummy D lines for missing files.
15284
15285         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
15286
15287 2001-12-17  Robert Dewar <dewar@gnat.com>
15288
15289         * ali.adb: Type reference does not reset current file.
15290
15291         * ali.adb: Recognize and scan renaming reference
15292
15293         * ali.ads: Add spec for storing renaming references.
15294
15295         * lib-xref.ads: Add documentation for handling of renaming references
15296
15297         * lib-xref.adb: Implement output of renaming reference.
15298
15299         * checks.adb:
15300         (Determine_Range): Document local variables
15301         (Determine_Range): Make sure Hbound is initialized. It looks as though
15302          there could be a real problem here with an uninitialized reference
15303          to Hbound, but no actual example of failure has been found.
15304
15305 2001-12-17  Laurent Pautet <pautet@gnat.com>
15306
15307         * g-socket.ads:
15308         Fix comment of Shutdown_Socket and Close_Socket. These functions
15309         should not fail silently because if they are called twice, this
15310         probably means that there is a race condition in the user program.
15311         Anyway, this behaviour is consistent with the rest of this unit.
15312         When an error occurs, an exception is raised with the error message
15313         as exception message.
15314
15315 2001-12-17  Robert Dewar <dewar@gnat.com>
15316
15317         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
15318         that it happens before modification of Sloc values for -gnatD.
15319
15320         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
15321         so that it happens before modification of Sloc values for -gnatD.
15322
15323         * switch.adb: Minor reformatting
15324
15325 2001-12-15  Richard Henderson  <rth@redhat.com>
15326
15327         * sem_ch7.adb: Wrap comment.
15328
15329 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
15330
15331         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
15332         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
15333         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
15334         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
15335         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
15336         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
15337         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
15338         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
15339         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
15340         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
15341         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
15342         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
15343         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
15344         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
15345         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
15346         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
15347         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
15348         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
15349         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
15350         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
15351         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
15352         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
15353         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
15354         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
15355         spelling errors.
15356
15357 2001-12-14  Vincent Celier <celier@gnat.com>
15358
15359         * osint.adb(Create_Debug_File): When an object file is specified,
15360         put the .dg file in the same directory as the object file.
15361
15362 2001-12-14  Robert Dewar <dewar@gnat.com>
15363
15364         * osint.adb: Minor reformatting
15365
15366         * lib-xref.adb (Output_Instantiation): New procedure to generate
15367         instantiation references.
15368
15369         * lib-xref.ads: Add documentation of handling of generic references.
15370
15371         * ali.adb (Read_Instantiation_Ref): New procedure to read
15372         instantiation references
15373
15374         * ali.ads: Add spec for storing instantiation references
15375
15376         * bindusg.adb: Minor reformatting
15377
15378         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
15379
15380         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
15381
15382         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
15383
15384         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
15385
15386         * csets.ads:
15387         Fix header format
15388         Add 2001 to copyright date
15389         Add entry for Latin-5 (Cyrillic ISO-8859-5)
15390
15391 2001-12-14  Matt Gingell <gingell@gnat.com>
15392
15393         * adaint.c: mktemp is a macro on Lynx and can not be used as an
15394         expression.
15395
15396 2001-12-14  Richard Kenner <kenner@gnat.com>
15397
15398         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
15399         if operand is CONSTRUCTOR.
15400
15401 2001-12-14  Ed Schonberg <schonber@gnat.com>
15402
15403         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
15404         before emiting check on right-hand side, so that exception information
15405         is correct.
15406
15407 2001-12-14  Richard Kenner <kenner@gnat.com>
15408
15409         * utils.c (create_var_decl): Throw away initializing expression
15410         if just annotating types and non-constant.
15411
15412 2001-12-14  Vincent Celier <celier@gnat.com>
15413
15414         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
15415         Default_Ada_...
15416
15417         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
15418         Remove functions.
15419         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
15420
15421         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
15422         Remove functions.
15423         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
15424
15425 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
15426
15427         * ChangeLog: Remove piece of diff output.
15428
15429 2001-12-14  Geert Bosch <bosch@gnat.com>
15430
15431         * config-lang.in: Update copyright notice
15432
15433         * layout.adb: Remove commented out code.
15434
15435         * mdllfile.ads: Update copyright notice. Fix header format.
15436
15437         * sem_case.ads: Likewise.
15438
15439         * sem_ch3.adb: Minor reformatting.
15440
15441 2001-12-12  Geert Bosch <bosch@gnat.com>
15442
15443         * freeze.ads: Update copyright date.
15444
15445         * g-comlin.ads: Minor reformatting.
15446
15447         * gnat-style.texi: Fix typo.
15448
15449 2001-12-12  Geert Bosch <bosch@gnat.com>
15450
15451         *  einfo.h: Regenerate.
15452
15453 2001-12-12  Ed Schonberg <schonber@gnat.com>
15454
15455         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
15456         on known node types, rather than untyped fields. Further cleanups.
15457
15458 2001-12-12  Robert Dewar <dewar@gnat.com>
15459
15460         * sem_ch12.adb:
15461         (Save_Entity_Descendant): Minor comment update.
15462         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
15463          of an N_Attribute_Reference node. As per note below, this does not
15464         eliminate need for Associated_Node in attribute ref nodes.
15465         (Associated_Node): Documentation explicitly mentions attribute
15466         reference nodes, since this field is used in such nodes.
15467
15468         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
15469
15470 2001-12-12  Robert Dewar <dewar@gnat.com>
15471
15472         * s-stalib.adb: Add more comments on with statements being needed
15473
15474         * par-ch12.adb: Minor reformatting
15475
15476         * prj-dect.ads: Fix copyright header
15477
15478         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
15479         inputs fit in 32 bits, but the result still overflows.
15480
15481         * s-fatgen.ads: Minor comment improvement
15482
15483 2001-12-12  Ed Schonberg <schonber@gnat.com>
15484
15485         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
15486         formal derived type, look for an inherited component from the full
15487         view of the parent, if any.
15488
15489 2001-12-12  Robert Dewar <dewar@gnat.com>
15490
15491         * checks.ads (Apply_Alignment_Check): New procedure.
15492
15493         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
15494         ensure that the alignment of objects with address clauses is
15495         appropriate, and raise PE if not.
15496
15497         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
15498         Exp_Pakd.Known_Aligned_Enough
15499
15500         * mdllfile.ads: Minor reformatting
15501
15502         * mlib-fil.ads: Minor reformatting
15503
15504 2001-12-12  Ed Schonberg <schonber@gnat.com>
15505
15506         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
15507         fix to any component reference if enclosing record has non-standard
15508         representation.
15509
15510 2001-12-12  Vincent Celier <celier@gnat.com>
15511
15512         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
15513         Iteration
15514
15515 2001-12-12  Ed Schonberg <schonber@gnat.com>
15516
15517         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
15518         sem_attr.
15519
15520 2001-12-12  Robert Dewar <dewar@gnat.com>
15521
15522         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
15523
15524 2001-12-12  Emmanuel Briot <briot@gnat.com>
15525
15526         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
15527         and it adds dependencies to system.io.
15528
15529 2001-12-12  Pascal Obry <obry@gnat.com>
15530
15531         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
15532         variable name.
15533
15534 2001-12-11  Ed Schonberg <schonber@gnat.com>
15535
15536         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
15537         that is the parent of other generics, the instance body replaces the
15538         instance node.  Retrieve the instance of the spec, which is the one
15539         that is visible in clients and within the body.
15540
15541 2001-12-11  Vincent Celier <celier@gnat.com>
15542
15543         * gnatmain.adb: Initial version.
15544
15545         * gnatmain.ads: Initial version.
15546
15547         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
15548
15549         * snames.adb: Updated to match snames.ads.
15550
15551         * snames.ads: Added Gnatstub.
15552
15553 2001-12-11  Vincent Celier <celier@gnat.com>
15554
15555         * prj-attr.adb (Initialization_Data): Change name from
15556         Initialisation_Data.
15557
15558 2001-12-11  Emmanuel Briot <briot@gnat.com>
15559
15560         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
15561         + and * applied to backslashed expressions like \r.
15562
15563 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
15564
15565         * g-os_lib.ads: String_List type added, Argument_List type is now
15566         subtype of String_List.
15567
15568 2001-12-11  Robert Dewar <dewar@gnat.com>
15569
15570         * g-os_lib.ads: Change copyright to FSF
15571         Add comments for String_List type
15572
15573 2001-12-11  Vincent Celier <celier@gnat.com>
15574
15575         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
15576         string to the buffer).
15577
15578 2001-12-11  Ed Schonberg <schonber@gnat.com>
15579
15580         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
15581         sem_attr.
15582
15583         * sem_attr.adb: Simplify previous fix for Address.
15584         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
15585         to avoid anomalies where the bound of the type appears to raise
15586         constraint error.
15587
15588 2001-12-11  Robert Dewar <dewar@gnat.com>
15589
15590         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
15591         handled.
15592
15593 2001-12-11  Ed Schonberg <schonber@gnat.com>
15594
15595         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
15596         renamed unit before checking for recursive instantiations.
15597
15598 2001-12-11  Emmanuel Briot <briot@gnat.com>
15599
15600         * prj.ads: Add comments for some of the fields.
15601
15602 2001-12-11  Robert Dewar <dewar@gnat.com>
15603
15604         * lib-xref.adb (Output_Refs): Don't output type references outside
15605         the main unit if they are not otherwise referenced.
15606
15607 2001-12-11  Ed Schonberg <schonber@gnat.com>
15608
15609         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
15610         code and diagnose additional illegal uses
15611
15612         * sem_util.adb (Is_Object_Reference): An indexed component is an
15613         object only if the prefix is.
15614
15615 2001-12-11  Vincent Celier <celier@gnat.com>
15616
15617         * g-diopit.adb: Initial version.
15618
15619         * g-diopit.ads: Initial version.
15620
15621         * g-dirope.adb:
15622         (Expand_Path): Avoid use of Unbounded_String
15623         (Find, Wildcard_Iterator): Moved to child package Iteration
15624
15625         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
15626
15627 2001-12-11  Robert Dewar <dewar@gnat.com>
15628
15629         * sem_attr.adb: Minor reformatting
15630
15631 2001-12-11  Ed Schonberg <schonber@gnat.com>
15632
15633         * sem_ch3.adb: Clarify some ???.
15634
15635 2001-12-11  Robert Dewar <dewar@gnat.com>
15636
15637         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
15638         Exp_Pakd.Known_Aligned_Enough
15639
15640         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
15641         version is moved to Exp_Ch13.
15642
15643 2001-12-11  Robert Dewar <dewar@gnat.com>
15644
15645         * einfo.ads: Minor reformatting
15646
15647         * exp_ch5.adb: Add comment for previous.change
15648
15649         * ali.adb: New interface for extended typeref stuff.
15650
15651         * ali.ads: New interface for typeref stuff.
15652
15653         * checks.adb (Apply_Alignment_Check): New procedure.
15654
15655         * debug.adb: Add -gnatdM for modified ALI output
15656
15657         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
15658
15659         * lib-xref.adb: Extend generation of <..> notation to cover
15660         subtype/object types. Note that this is a complete rewrite,
15661         getting rid of the very nasty quadratic algorithm previously
15662         used for derived type output.
15663
15664         * lib-xref.ads: Extend description of <..> notation to cover
15665         subtype/object types. Uses {..} for these other cases.
15666         Also use (..) for pointer types.
15667
15668         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
15669
15670         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
15671         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
15672
15673 2001-12-11  Vincent Celier <celier@gnat.com>
15674
15675         * gnatcmd.adb:
15676         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
15677         Changed /BIND_ONLY to /ACTIONS=BIND
15678         Changed /LINK_ONLY to /ACTIONS=LINK
15679
15680 2001-12-11  Ed Schonberg  <schonber@gnat.com>
15681
15682         * sem_ch8.adb (Find_Selected_Component): improved search for a
15683         candidate package in case of error.
15684
15685         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
15686         chain back on scope stack before reinstalling use clauses.
15687
15688         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
15689         is enabled, do not kill the code for the condition, to preserve
15690         warning.
15691
15692 2001-12-11  Robert Dewar <dewar@gnat.com>
15693
15694         * checks.adb (Insert_Valid_Check): Apply validity check to expression
15695         of conversion, not to result of conversion.
15696
15697 2001-12-11  Ed Schonberg <schonber@gnat.com>
15698
15699         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
15700         before freezing parent. If the declarations are mutually recursive,
15701         an access to the current record type may be frozen before the
15702         derivation is complete.
15703
15704 2001-12-05  Vincent Celier <celier@gnat.com>
15705
15706         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
15707         -c /COMPILE_ONLY, -l /LINK_ONLY
15708
15709         * opt.ads:
15710         (Bind_Only): New Flag
15711         (Link_Only): New flag
15712
15713         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
15714         and -l (Link_Only)
15715
15716         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
15717
15718         * make.adb:
15719         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
15720         (Gnatmake): Set the step flags. Only perform a step if the
15721         corresponding step flag is True.
15722         (Scan_Make_Arg): Reset the bind and link step flags when -u
15723         or -gnatc has been specified.
15724
15725 2001-12-05  Ed Schonberg <schonber@gnat.com>
15726
15727         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
15728         get bounds from right operand.
15729
15730         * sem_eval.adb: Minor reformatting
15731
15732         * exp_util.adb (Make_Literal_Range): use bound of literal rather
15733         than Index'First, its lower bound may be different from 1.
15734
15735         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
15736         and C48009J
15737
15738 2001-12-05  Vincent Celier <celier@gnat.com>
15739
15740         * prj-nmsc.adb Minor reformatting
15741
15742         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
15743         set and libraries are not supported.
15744
15745 2001-12-05  Ed Schonberg <schonber@gnat.com>
15746
15747         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
15748         private view explicitly, so the back-end can treat as a global
15749         when appropriate.
15750
15751 2001-12-05  Ed Schonberg <schonber@gnat.com>
15752
15753         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
15754          unit, always replace instance node with new body, for ASIS use.
15755
15756 2001-12-05  Vincent Celier <celier@gnat.com>
15757
15758         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
15759         libraries are not supported and both attributes Library_Name and
15760         Library_Dir are specified.
15761
15762         * prj-proc.adb (Expression): Set location of Result to location of
15763         first term.
15764
15765         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
15766         (prj-nmsc is now importing MLib.Tgt)
15767
15768         * prj-proc.adb: Put the change indicated above that was forgotten.
15769
15770 2001-12-05  Robert Dewar <dewar@gnat.com>
15771
15772         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
15773
15774 2001-12-05  Ed Schonberg <schonber@gnat.com>
15775
15776         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
15777         constraint, introduce explicit subtype declaration and derive from it.
15778
15779         * sem_ch3.adb: Minor reformatting
15780
15781 2001-12-05  Robert Dewar <dewar@gnat.com>
15782
15783         * checks.adb (Determine_Range): Increase cache size for checks.
15784         Minor reformatting
15785
15786         * exp_ch6.adb: Minor reformatting
15787         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
15788         a parameter whose root type is System.Address, since treating such
15789         subprograms as pure in the code generator is almost surely a mistake
15790         that will lead to unexpected results.
15791
15792         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
15793         change handling of conversions.
15794
15795         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
15796
15797 2001-12-05  Ed Schonberg <schonber@gnat.com>
15798
15799         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
15800         aggregate with static wrong size, attach generated Raise node to
15801         declaration.
15802
15803 2001-12-05  Robert Dewar <dewar@gnat.com>
15804
15805         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
15806         Fixes compilation abandoned bomb in B24009B.
15807
15808 2001-12-05  Ed Schonberg <schonber@gnat.com>
15809
15810         * sem_ch12.adb:
15811         Document use of Associated_Node on Selected_Components.
15812         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
15813         to clarify use of untyped descendant fields.
15814
15815 2001-12-05  Robert Dewar <dewar@gnat.com>
15816
15817         * prj-dect.ads: Add ??? comment
15818         Add 2001 to copyright notice (was not done in after all)
15819
15820         * prj-part.adb: Minor reformatting. Reword one awkward error message.
15821
15822         * prj.ads: Minor reformatting throughout, and add some ??? comments
15823
15824         * snames.ads: Minor reformatting
15825
15826 2001-12-05  Geert Bosch <bosch@gnat.com>
15827
15828         * snames.adb: Autoupdate
15829
15830 2001-12-05  Vincent Celier <celier@gnat.com>
15831
15832         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
15833
15834         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
15835
15836         * prj-env.adb: Minor comment changes (modifying -> extends).
15837
15838         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
15839
15840         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
15841         Tok_Extends.
15842
15843         * prj.adb (Initialize): Change Modifying to Extends.
15844
15845         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
15846
15847         * prj.ads: Minor comment change (Modifying -> extending).
15848
15849         * snames.ads: Change modifying to extends.
15850
15851 2001-12-05  Robert Dewar <dewar@gnat.com>
15852
15853         * sem_warn.adb: Remove stuff for conditionals, we are not going to
15854         do this after all.
15855
15856         * sem_warn.ads: Remove stuff for conditionals, we are not going to
15857         do this after all.  Add 2001 to copyright notice
15858
15859 2001-12-04  Geert Bosch <bosch@gnat.com>
15860
15861         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
15862
15863 2001-12-04  Robert Dewar <dewar@gnat.com>
15864
15865         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
15866         location if we already have errors. Stops some cases of cascaded
15867         errors.
15868
15869         * errout.adb: Improve comment.
15870
15871 2001-12-04  Robert Dewar <dewar@gnat.com>
15872
15873         * sem_ch12.adb:
15874         (Analyze_Formal_Type_Definition): Defend against Error.
15875         (Analyze_Formal_Subprogram): Defend against Error.
15876
15877         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
15878         remove following semicolon if present. Removes cascaded error.
15879
15880 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
15881
15882         * bindgen.adb:
15883         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
15884          exceptions equals 0.
15885         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
15886         Fixes PIWG E tests (which have to be run with -gnatL).
15887
15888 2001-12-04  Robert Dewar <dewar@gnat.com>
15889
15890         * einfo.ads: Minor reformatting
15891
15892 2001-12-04  Ed Schonberg <schonber@gnat.com>
15893
15894         * einfo.ads: Block_Node points to the identifier of the block, not to
15895         the block node itself, to preserve the link when the block is
15896         rewritten, e.g. within an if-statement with a static condition.
15897
15898         * inline.adb (Cleanup_Scopes): recover block statement from block
15899         entity using new meaning of Block_Node.
15900
15901         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
15902         identifier of block node, rather than to node itself.
15903
15904 2001-12-04  Gary Dismukes <dismukes@gnat.com>
15905
15906         * layout.adb:
15907         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
15908         (Discrimify): Go back to setting the Etypes of the selected component
15909         because the Vname component does not exist at this point and will
15910         fail name resolution. Also set Analyzed.
15911         Remove with and use of Sem_Res.
15912
15913 2001-12-04  Arnaud Charlet <charlet@gnat.com>
15914
15915         * Makefile.in: (HIE_SOURCES): add s-fat*.
15916
15917 2001-12-04  Robert Dewar <dewar@gnat.com>
15918
15919         * sem_attr.adb:
15920         (Compile_Time_Known_Attribute): New procedure.
15921         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
15922          proper range check.
15923
15924 2001-12-04  Ed Schonberg <schonber@gnat.com>
15925
15926         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
15927         processing discriminants to diagnose illegal default values.
15928
15929 2001-12-04  Ed Schonberg <schonber@gnat.com>
15930
15931         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
15932         access discriminant within a type extension that constrains its
15933         parent discriminants.
15934
15935 2001-12-04  Ed Schonberg <schonber@gnat.com>
15936
15937         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
15938         is malformed, use instance of Any_Id to allow analysis to proceed.
15939
15940         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
15941         type definition is illegal.
15942         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
15943         misplaced.
15944
15945 2001-12-04  Ed Schonberg <schonber@gnat.com>
15946
15947         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
15948         constants.
15949
15950 2001-12-04  Robert Dewar <dewar@gnat.com>
15951
15952         * errout.adb: Minor reformatting
15953
15954 2001-12-04  Robert Dewar <dewar@gnat.com>
15955
15956         * exp_util.adb: Minor reformatting from last change
15957
15958         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
15959         which is a rewriting of an expression, traverse the original
15960         expression to remove warnings that may have been posted on it.
15961
15962 2001-12-04  Ed Schonberg <schonber@gnat.com>
15963
15964         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
15965         record that has other packed components.
15966
15967 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
15968
15969         * adaint.c: Minor cleanups.
15970
15971 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
15972
15973         * adaint.c: Do not use utime.h on vxworks.
15974
15975 2001-12-04  Arnaud Charlet <charlet@gnat.com>
15976
15977         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
15978         more confusion than it solves.
15979
15980 2001-12-04  Geert bosch <bosch@gnat.com>
15981
15982         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
15983
15984 2001-12-04  Geert Bosch  <bosch@gnat.com>
15985
15986         * Makefile.in (update-sources): New target.
15987         For use by gcc_release script.
15988
15989 2001-12-04  Ed Schonberg <schonber@gnat.com>
15990
15991         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
15992         a configuration pragma, it is now legal wherever a pragma can appear.
15993
15994 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
15995
15996         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
15997         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
15998         is now @CROSS@ -DIN_GCC; update comment.
15999
16000 2001-12-04  Robert Dewar <dewar@gnat.com>
16001
16002         * einfo.adb (Has_Pragma_Pure_Function): New flag.
16003         Fix problem that stopped ceinfo from working
16004
16005         * einfo.ads (Has_Pragma_Pure_Function): New flag.
16006
16007         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
16008
16009 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
16010
16011         * gnatchop.adb:
16012         (File_Time_Stamp): New procedure.
16013         (Preserve_Mode): New boolean.
16014         (Write_Unit): Pass time stamp.
16015         Implement -p switch (preserve time stamps).
16016
16017         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
16018
16019         * gnatchop.adb: Do usage info for -p switch
16020
16021         * adaint.h (__gnat_set_file_time_name): New function
16022
16023         * adaint.c (__gnat_set_file_time_name): Implement
16024
16025         * adaint.h: Fix typo
16026
16027 2001-12-03  Robert Dewar <dewar@gnat.com>
16028
16029         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
16030         have Associated_Node.
16031
16032 2001-12-03  Robert Dewar <dewar@gnat.com>
16033
16034         * prj-proc.adb: Minor reformatting
16035
16036         * make.adb: Minor reformatting
16037
16038 2001-12-03  Geert Bosch <bosch@gnat.com>
16039
16040         * make.adb: Minor reformatting.
16041
16042 2001-12-03 Robert Dewar  <dewar@gnat.com>
16043
16044         * sem_ch12.adb: Minor reformatting
16045
16046 2001-12-03  Ed Schonberg <schonber@gnat.com>
16047
16048         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
16049         push Standard on the stack before analyzing the instance body,
16050         in order to have a clean visibility environment.
16051
16052         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
16053
16054 2001-12-03  Ed Schonberg <schonber@gnat.com>
16055
16056         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
16057         instantiation of a body that contains an inlined body.
16058
16059 2001-12-03  Ed Schonberg <schonber@gnat.com>
16060
16061         * sem_ch12.adb:
16062         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
16063         to prevent freezing within formal packages.
16064         (Freeze_Subprogram_Body): If body comes from another instance that
16065         appeared before its own body, place freeze node at end of current
16066         declarative part, to prevent a back-end crash.
16067         (Inline_Instance_Body): Handle properly a package instance within
16068         a subprogram instance that is a child unit.
16069
16070 2001-12-01  Graham Stott  <grahams@redhat.com>
16071
16072         * Makefile.in (misc.o): Add missing $(srcdir) prefix
16073         and add optabs.h dependency.
16074
16075         * misc.c: Include optabs.h
16076         (gnat_tree_code_type): Make static and const.
16077         (gnat_tree_code_length): Likewise.
16078         (gnat_tree_code_name): Likewise.
16079         (update_setjmp_buf): Obtain operands mode from insn_data.
16080
16081 2001-11-29  Richard Henderson  <rth@redhat.com>
16082
16083         * init.c: Remove obsolete dwarf2 frame.h section.
16084
16085 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
16086
16087         * Make-lang.in (ada.generated-manpages): New dummy target.
16088
16089 2001-11-29  Ed Schonberg <schonber@gnat.com>
16090
16091         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
16092         into Command, an array conversion is illegal here. Uncovered by
16093         ACATS B460005.
16094
16095 2001-11-28  Geert Bosch <bosch@gnat.com>
16096
16097         * init.c: Minor whitespace changes.
16098
16099 2001-11-28  Doug Rupp <rupp@gnat.com>
16100
16101         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
16102         signal stack.
16103
16104 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
16105
16106         * misc.c (gnat_expand_constant): Move declaration above
16107         definition of lang_hooks.
16108         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
16109         (gnat_init): lang_expand_constant no longer exists.
16110
16111         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
16112         always have vprintf.
16113         (gnat_init): Always call set_internal_error_function.
16114
16115 2001-11-27  Andreas Jaeger  <aj@suse.de>
16116
16117         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
16118
16119 2001-11-27  Laurent Guerby  <guerby@acm.org>
16120
16121         * Makefile.in: Regenerate Ada dependencies.
16122
16123 2001-11-26  Richard Henderson  <rth@redhat.com>
16124
16125         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
16126         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
16127         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
16128
16129 2001-11-25  Laurent Guerby  <guerby@acm.org>
16130
16131         * sysdep.c (rts_get_*): Fix style.
16132
16133 2001-11-19  Laurent Guerby  <guerby@acm.org>
16134
16135         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
16136         since it is of no apparent use and cause warnings.
16137
16138 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
16139
16140         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
16141         static too.
16142         (gnat_init): Don't return NULL.
16143         (finish_parse): Remove.
16144
16145 2001-11-17  Laurent Guerby  <guerby@acm.org>
16146
16147         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
16148         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
16149         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
16150         * lang-spec.h: Add missing struct field to silence warnings.
16151         * sysdep.c (rts_get_*): Provide K&R prototype.
16152         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
16153         * traceback.c (Unlock_Task, Lock_Task): Likewise.
16154         * tracebak.c (__gnat_backtrace): Remove unused variable.
16155         * utils.c (end_subprog_body): Move to K&R style.
16156
16157 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16158
16159         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
16160
16161 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
16162
16163         * misc.c (gnat_init): Change prototype.  Include the
16164         functionality of the old init_parse and init_decl_processing.
16165         (gnat_init_decl_processing): New prototype.
16166         (init_parse): Remove.
16167         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
16168
16169 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
16170
16171         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
16172         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
16173         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
16174         set_yydebug): Remove.
16175
16176 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
16177
16178         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
16179         (struct lang_hooks): Constify.
16180         (language_string, lang_identify): Remove.
16181         * utils.c (init_decl_processing): Update.
16182
16183 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16184
16185         * misc.c: Include langhooks-def.h.
16186         * Makefile.in: Update.
16187
16188 2001-10-30  Robert Dewar <dewar@gnat.com>
16189
16190         * style.adb:
16191         (Check_Identifier): Rewrite circuit to be compatible with use of letters
16192         in the upper half of ASCII.
16193         (Check_Identifier): Minor reformatting
16194
16195 2001-10-30  Geert Bosch <bosch@gnat.com>
16196
16197         * (Associated_Node, Set_Associated_Node): Do not check for
16198         Freeze_Entity.
16199
16200 2001-10-30  Robert Dewar <dewar@gnat.com>
16201
16202         * a-reatim.ads: Minor reformatting
16203
16204 2001-10-30  Robert Dewar <dewar@gnat.com>
16205
16206         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
16207         undocumented declarations.
16208
16209 2001-10-30  Pascal Obry <obry@gnat.com>
16210
16211         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
16212         to the binder and linker.
16213         Minor style fix.
16214
16215         * mdll.ads: Fix layout.  Update copyright notice.
16216
16217         * mdll.adb: Fix layout.  Update copyright notice.
16218
16219 2001-10-30  Robert Dewar <dewar@gnat.com>
16220
16221         * usage.adb: Minor fix to output for -gnaty.
16222
16223 2001-10-30  Ed Schonberg <schonber@gnat.com>
16224
16225         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
16226         to accommodate all its possible values.
16227
16228         * a-reatim.adb (Split): Special-case handling of Time_Span_First
16229         and of small absolute values of T.
16230
16231 2001-10-30  Richard Kenner <kenner@gnat.com>
16232
16233         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
16234         set_mem_attributes since not needed and wrong if RESULT if a REG;
16235         fixes ACATS failures.
16236
16237 2001-10-30  Geert Bosch <bosch@gnat.com>
16238
16239         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
16240         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
16241
16242 2001-10-30  Robert Dewar <dewar@gnat.com>
16243
16244         * bindusg.adb: Undocument -f switch.
16245
16246         * gnatcmd.adb: Remove /FULL_ELABORATION.
16247
16248         * opt.ads (Force_RM_Elaboration_Order): Document that this is
16249         obsolescent.
16250
16251         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
16252
16253         * gnatbind.adb: Minor update of warning msg.
16254
16255 2001-10-30  Vincent Celier <celier@gnat.com>
16256
16257         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
16258         for project file switches (-P (/PROJECT_FILE=),
16259          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
16260         or MEDIUM or HIGH)
16261
16262 2001-10-30  Geert Bosch <bosch@gnat.com>
16263
16264         * decl.c: Minor whitespace fixes.
16265
16266 2001-10-30  Richard Kenner <kenner@gnat.com>
16267
16268         * utils2.c (build_allocator): Test for SIZE overflow in array case too
16269
16270 2001-10-30  Geert Bosch <bosch@gnat.com>
16271
16272         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
16273         Found due to GCC 3.0 warning of using uninitialized value.
16274
16275         * layout.adb:
16276         (Get_Max_Size): Use variant record for tracking value/expression.
16277          Makes logic clearer and prevents warnings for uninitialized variables.
16278         (Layout_Array_Type): Use variant record for tracking value/expression.
16279          Makes logic clearer and prevents warnings for uninitialized variables.
16280
16281 2001-10-30  Robert Dewar <dewar@gnat.com>
16282
16283         * lib.adb: Minor reformatting
16284
16285         * s-taprop.ads: Minor reformatting
16286
16287 2001-10-29  Laurent Guerby  <guerby@acm.org>
16288
16289         * init.c:
16290         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
16291         const.
16292         (_gnat_error_handler): Make MSG const.
16293
16294 2001-10-29  Richard Kenner <kenner@gnat.com>
16295
16296         * sysdep.c: Fix localtime_r problem on LynxOS.
16297         Also remove #elif to avoid warnings.
16298
16299         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
16300         used by this.
16301
16302         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
16303
16304 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
16305
16306         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
16307         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
16308         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
16309         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
16310         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
16311         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
16312         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
16313         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
16314         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
16315         types.ads, urealp.adb: Fix spelling errors.
16316
16317 2001-10-27  Laurent Guerby <guerby@acm.org>
16318
16319         * trans.c (gigi): Fix non determinism leading to bootstrap
16320         comparison failures for debugging information.
16321
16322 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
16323
16324         * gnat_rm.texi: Use @./@: where appropriate.
16325
16326 2001-10-26  Robert Dewar <dewar@gnat.com>
16327
16328         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
16329
16330 2001-10-26  Richard Kenner <kenner@gnat.com>
16331
16332         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
16333
16334 2001-10-26  Richard Kenner <kenner@gnat.com>
16335
16336         * decl.c (validate_size): Modify message for bad size to avoid
16337         implication that compiler is modifying the size.
16338
16339 2001-10-26  Robert Dewar <dewar@gnat.com>
16340
16341         * prj-util.adb: Minor reformatting. Fix bad header format.
16342
16343 2001-10-26  Robert Dewar <dewar@gnat.com>
16344
16345         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
16346
16347         * sinfo.ads: Clarify use of Associated_Node (documentation only).
16348
16349         * sem_ch12.adb: Change Node4 to Associated_Node. Change
16350         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
16351         much more narrowly in places where needed. These are cleanups.
16352
16353 2001-10-26  Joel Brobecker <brobecke@gnat.com>
16354
16355         * 5zosinte.ads (null_pthread): new constant.
16356
16357         * 5ztaprop.adb:
16358         (Initialize_TCB): Initialize thread ID to null, to be able to verify
16359          later that this field has been set.
16360         (Finalize_TCB): ditto.
16361         (Suspend_Task): Verify that the thread ID is not null before using it.
16362         (Resume_Task): ditto.
16363
16364         * s-tasdeb.adb:
16365         (Resume_All_Tasks): Lock the tasks list before using it.
16366         (Suspend_All_Tasks): ditto.
16367
16368 2001-10-26  Richard Kenner <kenner@gnat.com>
16369
16370         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
16371         Make constant variant of designated type for Is_Access_Constant.
16372         Call update_pointer_to with main variant.
16373
16374         * trans.c (process_freeze_entity, process_type):
16375         Call update_pointer_to on main variant.
16376
16377         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
16378         If main variant, update all other variants.
16379
16380         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
16381         TREE_STATIC.
16382
16383 2001-10-26  Robert Dewar <dewar@gnat.com>
16384
16385         * prj-util.adb: Minor reformatting
16386
16387 2001-10-26  Robert Dewar <dewar@gnat.com>
16388
16389         * prj-util.adb: Minor reformatting
16390
16391 2001-10-26  Robert Dewar <dewar@gnat.com>
16392
16393         * prj-attr.adb: Minor reformatting throughout
16394
16395 2001-10-26  Robert Dewar <dewar@gnat.com>
16396
16397         * prj-attr.ads: Minor reformatting
16398         Add ??? comment (this whole spec has almost no comments)
16399
16400 2001-10-26  Vincent Celier <celier@gnat.com>
16401
16402         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
16403         ("//") that precede the drive letter on Interix.
16404
16405 2001-10-26  Geert Bosch <bosch@gnat.com>
16406
16407         * gnat_rm.texi: Add GNAT Reference Manual.
16408
16409 2001-10-25  Robert Dewar <dewar@gnat.com>
16410
16411         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
16412         is Error. Similar change for other renaming cases.
16413
16414 2001-10-25  Robert Dewar <dewar@gnat.com>
16415
16416         * s-atacco.ads: Add pragma Inline_Always for functions.
16417         Fix header format. Add copyright 2001
16418
16419 2001-10-25  Ed Schonberg <schonber@gnat.com>
16420
16421         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
16422         return Error rather than Empty so that analysis can proceed.
16423
16424 2001-10-25  Ed Schonberg <schonber@gnat.com>
16425
16426         * sem_util.adb (Enter_Name): better handling of cascaded error
16427         messages when a unit appears in its own context.
16428
16429 2001-10-25  Ed Schonberg <schonber@gnat.com>
16430
16431         * sem_util.adb (Defining_Entity): in case of error, attach created
16432         entity to specification, so that semantic analysis can proceed.
16433
16434 2001-10-25  Robert Dewar <dewar@gnat.com>
16435
16436         * sem_util.adb
16437         (Defining_Entity): Deal with Error.
16438         (Process_End_Label): Deal with bad end label for.
16439
16440 2001-10-25  Ed Schonberg <schonber@gnat.com>
16441
16442         * sem_elab.adb (Check_A_Call): refine message when call is in an
16443         instance but callee is not declared in the generic unit.
16444
16445 2001-10-25  Ed Schonberg <schonber@gnat.com>
16446
16447         * sem_elab.adb (Check_A_Call): check for renaming before finding the
16448         enclosing unit, which may already be different from the calling unit.
16449
16450 2001-10-25  Geert Bosch <bosch@gnat.com>
16451
16452         * 4gintnam.ads: fix header format.
16453
16454 2001-10-25  Ed Schonberg <schonber@gnat.com>
16455
16456         * sem_res.adb (Resolve_Call): if the call is actually an indexing
16457         operation on the result of a parameterless call, perform elaboration
16458         check after the node has been properly rewritten.
16459
16460         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
16461         inlined within the generic tree, the defining identifier is not a
16462         compilation_unit.
16463
16464 2001-10-25  Ed Schonberg <schonber@gnat.com>
16465
16466         * sem_res.adb (Resolve): special-case resolution of Null in an
16467          instance or an inlined body to avoid view conflicts.
16468
16469         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
16470          compatibility by retrieving the access type of the generic copy.
16471
16472 2001-10-25  Robert Dewar <dewar@gnat.com>
16473
16474         * sem_ch3.adb:
16475         (Analyze_Number_Declaration): Handle error expression.
16476         (Signed_Integer_Type_Declaration): Handle error bound.
16477         (Analyze_Subtype_Indication): Handle error range.
16478
16479         * sem_util.adb (Get_Index_Bounds): Check for Error.
16480
16481 2001-10-25  Robert Dewar <dewar@gnat.com>
16482
16483         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
16484         in no run time mode.
16485
16486 2001-10-25  Pascal Obry <obry@gnat.com>
16487
16488         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
16489         mode case for ALLOC case.
16490
16491         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
16492         all platforms. Improvement of last change.
16493
16494 2001-10-25  Robert Dewar <dewar@gnat.com>
16495
16496         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
16497
16498 2001-10-25  Geert Bosch  <bosch@gnat.com>
16499
16500         * osint.adb (Is_Relative): Remove duplicate.
16501
16502 2001-10-25  Pascal Obry <obry@gnat.com>
16503
16504         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
16505         pathnames in UNIX and DOS style with drive letter.
16506         (Is_Relative): new routine.
16507
16508         * osint.adb: Minor reformatting
16509
16510         * osint.adb (Is_Relative): implementation using
16511         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
16512
16513 2001-10-25  Pascal Obry <obry@gnat.com>
16514
16515         * g-dirope.adb (Basename): correctly compute offset between the
16516         original Path and the translated one.
16517
16518         * g-dirope.adb: (Base_Name): add some comments.
16519
16520 2001-10-25  Robert Dewar <dewar@gnat.com>
16521
16522         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
16523         in HIE mode, avoids compilation abandoned message
16524
16525         * exp_imgv.adb: Correct typo in previous change
16526
16527         * exp_imgv.adb: Correct typo in previous change (not my day!)
16528
16529 2001-10-25  Robert Dewar <dewar@gnat.com>
16530
16531         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
16532
16533 2001-10-25  Pascal Obry <obry@gnat.com>
16534
16535         * g-awk.ads: Move all pragma inlines next to the routine
16536          declarations. This is more uniform with other GNAT spec.
16537
16538 2001-10-22  Geert Bosch  <bosch@gnat.com>
16539
16540         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
16541
16542 2001-10-19  Geert Bosch  <bosch@gnat.com>
16543
16544         * Makefile.in (tools, gnattools): Remove gnatmem.
16545
16546 2001-10-17  Richard Henderson  <rth@redhat.com>
16547
16548         * Makefile.in (misc.o): Depend on langhooks.h.
16549         * misc.c: Include it.
16550         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
16551         (LANG_HOOKS_DECODE_OPTION): New.
16552         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
16553
16554 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
16555
16556         * trans.c (tree_transform): Adjust to recent change in
16557         expand_asm_operands to implement named asm operands.
16558
16559 2001-10-11  Ed Schonberg  <schonber@gnat.com>
16560
16561         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
16562         renaming of discriminant for mutable record type.
16563
16564 2001-10-11  Robert Dewar  <dewar@gnat.com>
16565
16566         * validsw.adb: Properly save -gnatVn status.
16567
16568 2001-10-11  Robert Dewar <dewar@gnat.com>
16569
16570         * usage.adb: Add lines for V switch.
16571
16572         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
16573         (/VALIDITY_CHECKING).
16574
16575 2001-10-11  Ed Schonberg <schonber@gnat.com>
16576
16577         * sem_type.adb (Add_One_Interp): an operator for a type declared in
16578         an extension of System is known to be visible.
16579
16580 2001-10-11  Ed Schonberg <schonber@gnat.com>
16581
16582         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
16583         properly. Fixes regression on ACATS C34005G.
16584
16585 2001-10-11  Robert Dewar <dewar@gnat.com>
16586
16587         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
16588         loop in generic instance, since this is likely not very useful.
16589
16590 2001-10-11  Robert Dewar <dewar@gnat.com>
16591
16592         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
16593         the error message for high integrity mode.
16594
16595         * rtsfind.adb (RTE): Give message if we try to find an entity that
16596         is not available in high integrity mode.
16597
16598         * rtsfind.ads:
16599         (OK_To_Use_In_HIE_Mode): New array.
16600         (RTE): May return Empty in high integrity mode.
16601
16602         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
16603         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
16604
16605         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
16606         unit if not inlined always and in no runtime mode. Fixes problem
16607         caused by new Rtsfind changes.
16608
16609         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
16610         body is deleted.
16611
16612         * rtsfind.adb (RTE): Make sure we do not try to load unit after
16613         giving message for entity not available in high integrity mode.
16614
16615 2001-10-11  Pascal Obry <obry@gnat.com>
16616
16617         * impunit.adb: Add GNAT.CRC32.
16618
16619 2001-10-11  Ed Schonberg <schonber@gnat.com>
16620
16621         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
16622         properly the case where one universal operand in a non-static
16623         exponentiation of a real literal.
16624
16625 2001-10-11  Ed Schonberg <schonber@gnat.com>
16626
16627         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
16628         clause, return the gobal finalization list, for lack of anthing else.
16629
16630 2001-10-11  Ed Schonberg <schonber@gnat.com>
16631
16632         * exp_ch7.adb (Make_Transient_Block): if statement is within
16633         exception handler, always use new transient scope to place Clean
16634         procedure.
16635
16636 2001-10-11  Pascal Obry <obry@gnat.com>
16637
16638         * Makefile.in:
16639         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
16640         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
16641         (GNATLS_RTL_OBJS): add g-crc32.o
16642         (GNATMAKE_RTL_OBJS): add g-crc32.o
16643
16644         * ali-util.adb:
16645         (CRC_Match): new function.
16646         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
16647         instead of the previous simple checksum algorithm.
16648         (Time_Stamp_Mismatch): use CRC_Match for comparison.
16649         (Set_Source_Table): idem.
16650
16651         * ali-util.ads:
16652         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
16653         instead of simple checksum.
16654         (CRC_Match): new function.
16655         (CRC_Error): new constant.
16656
16657         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
16658         a CRC now and not a simple checksum. A CRC uses lower-case hex
16659         letters, fixes ambiguity in parsing.
16660
16661         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
16662         is what this variable will store.
16663
16664         * bcheck.adb: Change reference to chechsum in comments by CRC.
16665         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
16666         rename All_Checksum_Match to All_CRC_Match. Change due to API
16667         renaming since now GNAT does not use a simple checksum but a
16668         CRC using GNAT.CRC32.
16669
16670         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
16671         now and not anymore a simple checksum.
16672
16673         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
16674         places.
16675
16676         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
16677
16678         * scans.adb:
16679         (Restore_Scan_State): rename Checksum to CRC.
16680         (Save_Scan_State): idem.
16681
16682         * scans.ads:
16683         With GNAT.CRC32.
16684         (Checksum): rename to CRC.
16685         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
16686
16687         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
16688         GNAT.CRC32).  Update copyright notice.
16689
16690         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
16691         GNAT.CRC32).  Update copyright notice.
16692
16693         * scn.adb:
16694         (Accumulate_Checksum): removed.
16695         (Update): new procedure. Add a wide-character into the CRC.
16696
16697         * sinput-l.adb:
16698         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
16699         (Load_File): fix initialization of S (change Source_Checksum to
16700         Source_CRC)
16701
16702         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
16703         Source_CRC in S initialization.
16704
16705         * sinput.adb (Source_Checksum): renamed to Source_CRC.
16706
16707         * sinput.ads (Source_Checksum): renamed to Source_CRC.
16708         Update comments for the CRC.
16709
16710         * types.adb (Hex): Use lowercase for the letter part.
16711
16712         * types.ads (Get_Hex_String): Returns the hexadecimal representation
16713         for a word. This is currently used only for CRC. In previous version,
16714         the checksum was using a representation with all letter being
16715         upper-case. With the new implementation (using CRC) we do not remove
16716         the 32th bit of the CRC, so we can have an upper-case starting letter
16717         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
16718         It is ambigous since the CRC was optional and could be followed by
16719         options like EB, EE. So now this routines uses lower-case letter for
16720         the hexadecimal representation. Strange enough only lower case letters
16721         where checked in Scan_ALI (even if this was not a possible case).
16722
16723         * gnatvsn.ads (Library_Version): changed to 3.15a.
16724
16725         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
16726         for the compiler.
16727
16728         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
16729         for the compiler.
16730
16731         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
16732         Add 2001 to copyright notice
16733         (Accumulate_Checksum): Modify to use System.CRC32.
16734
16735         * ali-util.ads: Redo changes of previous revision to continue to use
16736         the word Checksum. Add 2001 to copyright notice.
16737
16738         * ali.adb: Undo some of previous changes, not needed.
16739         Keep the change for lower case letters in the checksum.
16740
16741         * ali.ads: Undo previous change not needed.
16742
16743         * bcheck.adb: Undo most of previous change, not needed.
16744         But do use Checksums_Match for checksum comparison.
16745
16746         * gnatls.adb: Undo most of previous change, not needed.
16747         But do use Checksums_Match for comparing checksums.
16748
16749         * lib-load.adb: Undo previous change, not needed.
16750
16751         * lib-writ.adb: Undo previous change, not needed.
16752
16753         * lib-writ.ads: Document that checksums use lower case,
16754         not upper case letters.
16755
16756         * scans.adb: Undo previous change, not needed
16757
16758         * scans.ads: Undo previous change, not needed.
16759
16760         * scn-nlit.adb: Undo previous changes, not needed.
16761
16762         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
16763
16764         * scn.adb:
16765         (Accumulate_Checksum): Use System.CRC32.
16766         (Initialize_Checksum): New procedure.
16767         Remove other changes of previous revision.
16768
16769         * sinput-p.adb: Undo previous change, not needed.
16770
16771         * sinput.adb: Undo previous change, not needed.
16772
16773         * sinput-l.adb: Undo previous change, not needed.
16774
16775         * sinput.ads: Undo previous change, not needed.  Keep only comment
16776         on new checksum algorithm
16777
16778         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
16779         Also remove a-tags and a-stream from GNAT sources.
16780
16781         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
16782
16783         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
16784
16785 2001-10-11  Geert Bosch  <bosch@gnat.com>
16786
16787         * einfo.h: Regenerate.
16788
16789         * nmake.ads: Regenerate.
16790
16791         * nmake.adb: Regenerate.
16792
16793         * sinfo.h: Regenerate.
16794
16795         * treeprs.adb: Regenerate.
16796
16797 2001-10-10  Geert Bosch  <bosch@gnat.com>
16798
16799         * gnat-style.texi: New file describing coding guidelines for Ada.
16800
16801 2001-10-10  Ed Schonberg <schonber@gnat.com>
16802
16803         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
16804         is Flag174.
16805
16806 2001-10-10  Geert Bosch  <bosch@gnat.com>
16807
16808         * snames.ads: Add new names for project facility.
16809
16810         * snames.adb: Update to reflect snames.ads changes.
16811
16812         * snames.h: Update to reflect snames.ads changes.
16813
16814 2001-10-10  Vincent Celier <celier@gnat.com>
16815
16816         * make.adb:
16817         (Add_Switches): reflect the changes for the switches attributes
16818         Default_Switches indexed by the programming language,
16819         Switches indexed by the file name.
16820         (Collect_Arguments_And_Compile): Idem.
16821         Reflect the attribute name changes.
16822
16823         * prj-attr.adb:
16824         (Initialisation_Data): Change the names of some packages and
16825         attributes.
16826         (Initialize): process case insensitive associative arrays.
16827
16828         * prj-attr.ads:
16829         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
16830
16831         * prj-dect.adb:
16832         (Parse_Attribute_Declaration): For case insensitive associative
16833          arrays, set the index string to lower case.
16834
16835         * prj-env.adb:
16836         Reflect the changes of the project attributes.
16837
16838         * prj-nmsc.adb:
16839         Replace Check_Naming_Scheme by Ada_Check and
16840         Language_Independent_Check.
16841
16842         * prj-nmsc.ads:
16843         Replaced Check_Naming_Scheme by 2 procedures:
16844         Ada_Check and Language_Independent_Check.
16845
16846         * prj-proc.adb:
16847         (Process_Declarative_Items): For case-insensitive associative
16848         arrays, set the index string to lower case.
16849         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
16850         Prj.Nmsc.Check_Naming_Scheme.
16851
16852         * prj-tree.adb:
16853         (Case_Insensitive): New function
16854         (Set_Case_Insensitive): New procedure
16855
16856         * prj-tree.ads:
16857         (Case_Insensitive): New function
16858         (Set_Case_Insensitive): New procedure
16859         (Project_Node_Record): New flag Case_Insensitive.
16860
16861         * prj-util.adb:
16862         (Value_Of): new function to get the string value of a single
16863         string variable or attribute.
16864
16865         * prj-util.ads:
16866         (Value_Of): new function to get the string value of a single
16867         string variable or attribute.
16868
16869         * prj.adb:
16870         (Ada_Default_Spec_Suffix): New function
16871         (Ada_Default_Impl_Suffix): New function
16872         Change definitions of several constants to reflect
16873         new components of record types.
16874
16875         * prj.ads:
16876         (Naming_Data): Change several components to reflect new
16877         elements of naming schemes.
16878         (Project_Data): New flags Sources_Present and
16879         Language_Independent_Checked.
16880         (Ada_Default_Spec_Suffix): New function.
16881         (Ada_Default_Impl_Suffix): New function.
16882
16883         * snames.ads:
16884         Modification of predefined names for project manager: added
16885         Implementation, Specification_Exceptions, Implementation_Exceptions,
16886         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
16887         Default_Switches, _Languages, Builder, Cross_Reference,
16888         Finder. Removed Body_Part, Specification_Append, Body_Append,
16889         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
16890         Gnatlink.
16891
16892         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
16893         Add comments.
16894
16895         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
16896         not that it is Nil_Variable_Value.
16897
16898         * prj.ads: Add ??? for uncommented declarations
16899
16900 2001-10-10  Ed Schonberg <schonber@gnat.com>
16901
16902         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
16903         constant, do not indicate possible modification, so that gigi can
16904         treat it as a bona fide constant.
16905
16906 2001-10-10  Robert Dewar <dewar@gnat.com>
16907
16908         * sem_prag.adb: Add processing for pragma External.
16909
16910         * snames.ads: Add entry for pragma External.
16911
16912         * par-prag.adb: Add pragma External.
16913
16914         * snames.adb: Updated to match snames.ads.
16915
16916 2001-10-10  Ed Schonberg <schonber@gnat.com>
16917
16918         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
16919         a dynamic task if the allocator appears in an indexed assignment
16920         or selected component assignment.
16921
16922         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
16923         For a dynamic task in an assignment statement, use target of
16924         assignment to generate meaningful name.
16925
16926 2001-10-10  Ed Schonberg <schonber@gnat.com>
16927
16928         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
16929         a generic package.
16930
16931         * einfo.ads: Body_Entity is also defined for generic package.
16932         Documentation change only
16933
16934         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
16935         others_choice for a discriminated component initialization,
16936         convert discriminant references into the corresponding discriminals.
16937
16938         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
16939         only if original type is private and expression has to be wrapped
16940         in a conversion.
16941
16942         * checks.adb:
16943         (Apply_Constraint_Check): Do not perform length check
16944         if expression is an aggregate with only an others_choice.
16945         (Length_N_Cond): two references to the same in_parameter
16946         (typically the discriminal in an init_proc) denote the same value.
16947         Two useful optimization uncovered by bugfixes above.
16948
16949 2001-10-10  Robert Dewar <dewar@gnat.com>
16950
16951         * xeinfo.adb: Change int to char in translation of enumeration types.
16952         This fixes a problem in the C representation of component alignment.
16953         Add 2001 to copyright notice
16954
16955 2001-10-10  Richard Kenner <kenner@gnat.com>
16956
16957         * decl.c: (validate_size): Do check size of object of integral type
16958         if it is a packed array type.
16959
16960 2001-10-10  Richard Kenner <kenner@gnat.com>
16961
16962         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
16963         VAR_DECL for constant if not Is_Public but -O0.
16964
16965 2001-10-10  Richard Kenner  <kenner@gnat.com>
16966
16967         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
16968
16969 2001-10-10  Geert Bosch  <bosch@gnat.com>
16970
16971         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
16972         use '/' as switch character, allowing for absolute file names.
16973
16974 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
16975
16976         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
16977         FSF address.
16978
16979 2001-10-08  Geert Bosch  <bosch@gnat.com>
16980
16981         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
16982         Automatically build utilities when files need to be regenerated.
16983
16984 2001-10-08  Geert Bosch  <bosch@gnat.com>
16985
16986         * xsnames.adb: New utility for updating snames.ads and snames.adb
16987
16988 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
16989
16990         * Make-lang.in (ADAFLAGS): Add -W -Wall.
16991         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
16992         (gnat1): Also depend on attribs.o.
16993         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
16994         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
16995         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
16996         (ADAFLAGS): Add -W -Wall.
16997         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
16998         take out CFLAGS.
16999
17000         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
17001         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
17002         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
17003         Use $(ADAC), not $(CC), as compilation command.
17004
17005         (gnattools): Depend directly on tools to build, don't use
17006         recursive make.
17007         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
17008
17009         * einfo.h, sinfo.h: New files (autogenerated).
17010
17011 2001-10-08  Richard Henderson  <rth@redhat.com>
17012
17013         * comperr.adb (Abort_In_Progress): New.
17014         (Compiler_Abort): Use it to prevent recursion.
17015
17016 2001-10-08  Robert Dewar <dewar@gnat.com>
17017
17018         * atree.adb: Set Error_Posted in Error node, helps error recovery.
17019
17020         * par-endh.adb (Output_End_Expected): We should also not test
17021         Error_Posted on the Error node, since now it is always set.
17022
17023         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
17024         to help error recovery. Part of general work on 9407-004.
17025
17026         * par.adb: Add ??? for misuse of error
17027
17028         * sem_res.adb:
17029         (Resolve): Defend against Error, fixes 9407-003.
17030         (Resolve_Discrete_Subtype_Indication): Defend against Error.
17031
17032         * sinfo.ads (N_Error): Now has Etype field (which will be set
17033         to Any_Type to help error recovery).
17034
17035 2001-10-08  Richard Kenner (kenner@gnat.com)
17036
17037         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
17038         Consistently set MEM attributes from expression; fixes
17039         bootstrap failure on x86.
17040
17041 2001-10-08  Geert Bosch  (bosch@gnat.com)
17042
17043         * 5oosinte.adb: Add 2001 to copyright notice.
17044
17045 2001-10-08  Geert Bosch  (bosch@gnat.com)
17046
17047         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
17048
17049         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
17050
17051 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
17052
17053         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
17054
17055 2001-10-05  Geert Bosch  (bosch@gnat.com)
17056
17057         * adaint.h: Small formatting fix.
17058
17059 2001-10-04  Geert Bosch  <bosch@gnat.com>
17060
17061         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
17062         Arg is int, not FILE *, in dummy version of functions.
17063
17064         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
17065         Arg is int, not FILE *.
17066
17067 2001-10-04  Geert Bosch  <bosch@gnat.com>
17068
17069         * 3lsoccon.ads: Added file, missed with initial check ins.
17070
17071         * 4lintnam.ads: Fix header format.
17072         Change Linux to GNU/Linux.
17073
17074         * 5iosinte.adb: Change Linux to GNU/Linux.
17075
17076         * 5iosinte.ads: Change Linux to GNU/Linux.
17077
17078         * 5itaprop.adb: Change Linux to GNU/Linux.
17079
17080         * 5itaspri.ads: Change Linux to GNU/Linux.
17081         Update copyright notice.
17082
17083         * 5lintman.adb: Change Linux to GNU/Linux.
17084
17085         * 5lml-tgt.adb: Change Linux to GNU/Linux.
17086
17087         * 5losinte.ads: Change Linux to GNU/Linux.
17088
17089         * 5lsystem.ads: Change Linux to GNU/Linux.
17090
17091         * 5qosinte.adb: Change Linux to GNU/Linux.
17092
17093         * 5qosinte.ads: Change Linux to GNU/Linux.
17094
17095         * 5qparame.ads: Change Linux to GNU/Linux.
17096
17097         * 5qtaprop.adb: Change Linux to GNU/Linux.
17098
17099         * 5qtaspri.ads: Change Linux to GNU/Linux.
17100         Add 2001 to copyright notice.
17101
17102         * 5vintman.ads: Change Linux to GNU/Linux.
17103         Fix header format.  Add 2001 to copyright notice.
17104
17105         * g-soccon.ads: Change Linux to GNU/Linux.
17106
17107         * g-trasym.ads: Change Linux to GNU/Linux.
17108         Add 2001 to copyright notice.
17109
17110         * memtrack.adb: Change Linux to GNU/Linux.
17111
17112         * s-intman.ads: Change Linux to GNU/Linux.
17113         Add 2001 to copyright notice.  Fix header format.
17114
17115         * s-stache.adb: Change Linux to GNU/Linux.
17116
17117         * adaint.c: Change Linux to GNU/Linux.
17118
17119         * cio.c: Change Linux to GNU/Linux.
17120
17121         * cstreams.c: Change Linux to GNU/Linux.
17122
17123         * init.c: Change Linux to GNU/Linux.
17124
17125         * gmem.c: Change Linux to GNU/Linux.
17126
17127         * tracebak.c: Change Linux to GNU/Linux.
17128
17129
17130 2001-10-02  Geert Bosch  <bosch@gnat.com>
17131
17132         * misc.c (insert_default_attributes): Add dummy version.