OSDN Git Service

* Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2005-01-20  Richard Henderson  <rth@redhat.com>
2
3         * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
4         a-intnam-linux.ads and system-linux-alpha.ads.
5         * a-intnam-linux-alpha.ads: Remove file.
6         * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
7         * system-linux-alpha.ads: New file.
8
9 2005-01-18  Jakub Jelinek  <jakub@redhat.com>
10
11         PR ada/13470
12         * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
13         set to the new string.
14
15 2005-01-18  Toon Moene  <toon@moene.indiv.nluug.nl>
16
17         * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
18         to True.
19
20 2005-01-18  Richard Henderson  <rth@redhat.com>
21
22         * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
23         THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
24         for alpha-linux.
25         * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
26
27 2005-01-14  Andrew Pinski  <pinskia@physics.uc.edu>
28
29         * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
30         (GCC_ZCX_Support): Likewise.
31
32 2005-01-11  Bastian Blank  <waldi@debian.org>
33
34         * system-linux-s390.ads: Define Preallocated_Stacks.
35         * system-linux-s390x.ads: Likewise.
36
37 2005-01-04  Arnaud Charlet  <charlet@adacore.com>
38
39         * gnat_ugn.texi: Fix texi errors with null variables.
40
41 2005-01-03  Thomas Quinot  <quinot@adacore.com>
42
43         * gen-soccon.c: New utility program to generate g-soccon.ads
44         automatically.
45
46         * socket.c, gsocket.h: Split inclusion of system header files into a
47         gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
48
49         * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
50         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
51         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
52         g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
53         should not be edited by hand anymore, but should be regenerated using
54         gen-soccon.
55
56 2005-01-03  Robert Dewar  <dewar@adacore.com>
57             Ed Schonberg  <schonberg@adacore.com>
58             Vincent Celier  <celier@adacore.com>
59
60         * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
61         on/off, since this is an obsolescent feature, for which we now generate
62         a warning.
63
64         * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
65         warning mode is set and obsolescent usage of this attribute occurs.
66         (Resolve_Access, case 'Access): Note that GNAT uses the context type to
67         disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
68         predates, and partly motivates, the adoption of the AI.
69         Implement new Ada 2005 attribute Mod
70
71         * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
72         attribute Mod.
73
74         * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
75
76         * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
77         pragma restrictions.
78         New entry for Ada 2005 attribute Mod.
79
80         * par-prag.adb: 
81         Add recognition of new pragma Restrictions No_Dependence
82         Recognize restriction No_Obsolescent_Features at parse time
83
84         * bcheck.adb: Add circuitry for checking for consistency of
85         No_Dependence restrictions.
86
87         * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
88         restrictions.
89
90         * restrict.ads, restrict.adb: Add subprograms to deal with
91         No_Dependence restrictions.
92
93         * rtsfind.adb: Check that implicit with's do not violate No_Dependence
94         restrictions.
95
96         * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
97         sem_attr.adb: Add check for new restriction No_Obsolescent_Features
98
99         * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
100         dummy parameter to scng instantiation.
101         Needed for new restriction No_Obsolescent_Features
102
103         * scn.adb: (Obsolescent_Check): New procedure
104         Needed for new restriction No_Obsolescent_Features
105
106         * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
107         specified by AI-285, needed for implementation of AI-388 (adding greek
108         pi to Ada.Numerics).
109         Add new generic formal to scng, needed for new restriction
110         No_Obsolescent_Features.
111
112         * s-rident.ads: Add new restriction No_Obsolescent_Features.
113
114         * ali.ads, ali.adb: Adjustments for reading new No_Dependence
115         restrictions lines.
116         (Scan_ALI): When finding an unexpected character on an R line, raise
117         exception Bad_R_Line, instead of calling Fatal_Error, so that, when
118         Ignore_Errors is True, default restrictions are set and scanning of the
119         ALI file continues with the next line. Also, when Bad_R_Line is raised
120         and Ignore_Errors is True, skip to the end of le line.
121
122         * sem_ch10.adb: Check that explicit with's do not violate
123         No_Dependence restrictions.
124         (Install_Withed_Unit): Add code to implement AI-377 and diagnose
125         illegal context clauses containing child units of instance.
126
127         * sem_prag.adb: Processing and checking for new No_Dependence
128         restrictions.
129         (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
130         analyze and check the External argument.
131
132         * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
133
134 2005-01-03  Robert Dewar  <dewar@adacore.com>
135
136         * atree.adb: Add a fifth component to entities
137         This allows us to add 32 flags and four new fields
138
139         * atree.ads: Add a fifth component to entities
140         This allows us to add 32 flags and four new fields
141
142         * einfo.ads, einfo.adb: Document new fields and new flags now available
143         Add routines for printing new fields
144
145         * treepr.adb: Call routines to print out additional fields if present
146
147 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
148
149         * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
150         gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
151
152         * Makefile.in: Add support to build shared Ada libraries on solaris x86
153         Remove gpr2make, replaced by gprmake.
154         Remove references to gnatmem and libaddr2line.
155         Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
156         (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
157         Add support for specialized version of Ada.Numerics.Aux for Darwin: use
158         a-numaux-darwin.ads and a-numaux-darwin.adb
159         Enable mlib-tgt-lynxos.adb on lynxos.
160
161         * Make-lang.in: Remove rules for gpr2make.
162         When generating sdefault.adb, do not call Relocate_Path
163         on S3 for function Target_Name, as it is not a path.
164         Remove references to gnatmem and libaddr2line.
165
166         * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
167         files.
168
169 2005-01-03  Samuel Tardieu  <tardieu@adacore.com>
170
171         * checks.adb (Apply_Alignment_Check): Generate a warning if an object
172         address is incompatible with its base type alignment constraints when
173         this can be decided statically.
174
175 2005-01-03  Olivier Hainque  <hainque@adacore.com>
176
177         * decl.c (compatible_signatures_p): New function. The intended purpose
178         is to check if two function signatures for a call-site and a callee are
179         compatible enough for the call to be valid. The underlying purpose is
180         to check if a call to a mapped builtin is using the right interface.
181         The current code actually does not check antyhing - this a placeholder
182         for future refinements.
183         (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
184         builtin calls for convention Intrinsic.
185
186         * gigi.h (builtin_decl_for): Declare (new function).
187
188         * utils.c (gnat_install_builtins): Install the target specific builtins.
189         (builtin_decl_for): New function, provide a dummy body for now.
190
191 2005-01-03  Geert Bosch  <bosch@adacore.com>
192
193         * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
194         (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
195         (Pred): Implement in terms of Succ.
196         
197         * trans.c (convert_with_check): Reimplement conversion of float to
198         integer.
199
200 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
201             Vincent Celier  <celier@adacore.com>
202
203         * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
204         bounds can be negative, and must be declared Int, not Nat.
205
206         * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
207         array is checked after using the index in the array.
208
209         * makegpr.adb (Add_Switches): Check if there is a package for the
210         processor. If there is no package, do not look for switches.
211
212 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
213
214         * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
215         generation of predefined stream operations (specs and bodies) should
216         proceed. Under various restrictions these subprograms must not be
217         generated.
218
219 2005-01-03  Thomas Quinot  <quinot@adacore.com>
220
221         * exp_dist.adb: 
222         Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
223         amount of PCS-specific code in RACW stubs generation.
224         (Copy_Specification): Set Etype on copied formal parameter entities, as
225         this information is needed for PolyORB stubs generation.
226         (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
227         variable Dynamic_Async.
228         (Build_Subprogram_Receiving_Stubs): Make PCS-specific
229         (Build_RPC_Receiver_Specification): Make generic again, as recent
230         changes have allowed RPC receivers to have the same profile for both
231         variants of the PCS.
232         Reorganise RPC receiver generation to reduce differences between the
233         structure of GARLIC and PolyORB RPC receivers.
234         (Add_Receiving_Stubs_To_Declarations): Make this subprogram
235         PCS-specific.
236         Simplify elaboration code for RCI packages.
237
238         * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
239         generation to reduce differences between the structure of GARLIC and
240         PolyORB RPC receivers.
241
242         * s-stratt.adb: Fix typo in comment.
243
244 2005-01-03  Thomas Quinot  <quinot@adacore.com>
245
246         * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
247         copied from Make_Init_Call).
248
249         * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
250         reads and assignments on a temporary variable declared with appropriate
251         discriminants.
252
253 2005-01-03  Robert Dewar  <dewar@adacore.com>
254
255         * i-c.adb (To_C): Raise CE if string is null and Append_Null
256
257 2005-01-03  Robert Dewar  <dewar@adacore.com>
258
259         * i-cstrin.adb (Update): Do not append a null in form called with a
260         String. This avoids unintended behavior.
261
262 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
263
264         PR ada/17527
265         * init.c: Fix warnings on Free BSD section.
266
267 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
268
269         PR ada/16949
270         * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
271         xsinfo.adb).
272
273 2005-01-03  Vincent Celier  <celier@adacore.com>
274
275         * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
276         libraries when Unique_Compile is True (-u switch).
277         (Gnatmake): ditto.
278
279 2005-01-03  Robert Dewar  <dewar@adacore.com>
280
281         * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
282         upper case letter or underscore after W, as allowed by spec.
283
284 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
285
286         * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
287         darwin port by using proper type definitions from header files.
288         Use SIGTERM instead of SIGABRT for SIGADAABORT.
289
290 2005-01-03  Robert Dewar  <dewar@adacore.com>
291
292         * par.adb: Enhance error message handling for configuration file
293         pragmas.
294
295 2005-01-03  Robert Dewar  <dewar@adacore.com>
296
297         * s-arit64.adb (Double_Divide): Put back changes that got accidentally
298         removed during the previous update (test properly for case of dividing
299         largest negative number by -1, which generates overflow).
300
301 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
302             Sergey Rybin  <rybin@adacore.com>
303
304         * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
305         to use as the defining identifier for a formal package.
306         (Remove_Parent): If the instance takes place within (an instance of)
307         a sibling, preserve private declarations of common parent.
308
309 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
310
311         * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
312         to determine whether one of the operands is a fixed-point type for
313         which a user-defined multiplication or division operation might be
314         defined.
315
316         * sem_res.adb (Valid_Conversion): The legality rules for conversions
317         of access types are symmetric in Ada 2005: either designated type can
318         be unconstrained.
319
320 2005-01-03  Vincent Celier  <celier@adacore.com>
321
322         * s-fileio.adb (Temp_File_Record): Change length of string component
323         Name from L_tmpnam + 1 to max_path_len + 1.
324
325 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
326
327         * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
328         Self_Id.Deferral_Level = 0.
329         (Do_Pending_Action): Move this function to the spec.
330
331         * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
332         Do_Pending_Action explicitely when needed, in case we're using
333         No_Abort restrictions.
334
335         * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
336         deferral level since it will not get changed by the generated code.
337         Keeping a default value of 1 would prevent some operations (e.g.
338         select or delay) to proceed successfully.
339
340 2005-01-03  Ben Brosgol  <brosgol@adacore.com>
341             Robert Dewar  <dewar@adacore.com>
342             Cyrille Comar  <comar@adacore.com>
343
344         * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
345         porting guide chapter (vms version).
346         Revised doc title (removed "for native platforms") and subtitle.
347         Add discussion on warning flag for obsolescent features. First we
348         note that it applies to obsolete GNAT features, which was previously
349         omitted. Second we contrast the behavior with that of the new
350         Ada 2005 AI-368 restriction No_Obsolescent_Features.
351         Preliminary rewriting of GNAT & libraries chapter in order to take
352         into account default project locations & new project manager
353         capabilities.
354
355 2005-01-03  Robert Dewar  <dewar@adacore.com>
356
357         * cstand.adb (Create_Operators): Clean up format and documentation of
358         unary and binary operator result tables. No change in code, just
359         reformatting and addition of comments.
360
361         * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
362         sem_ch2.adb: Minor reformatting
363
364         * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
365         sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
366         comments for Tree_Read and Tree_Write.
367
368 2005-01-03  Pascal Obry  <obry@adacore.com>
369
370         * exp_attr.ads: Minor reformatting.
371
372 2005-01-03  Romain Berrendonner  <berrendo@adacore.com>
373
374         * comperr.adb (Compiler_Abort): Add specialized message for GAP
375         versions.
376
377 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
378
379         * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
380         whether the ancestor type is private, as may be the case with nested
381         instantiations.
382
383 2004-12-30  Sohail Somani <sohail@sohailsomani.com>
384
385         PR ada/19128
386         * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
387
388 2004-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
389
390         * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
391         * utils2.c (build_unary_op): Likewise.
392
393 2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
394
395         * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
396
397 2004-12-19  Richard Henderson  <rth@redhat.com>
398
399         * trans.c (gigi): Update gimplify_body call.
400
401 2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
402
403         * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
404
405 2004-12-07  Ed Falis  <falis@adacore.com>
406
407         * s-intman-vxworks.adb (Notify_Exception): removed useless check for
408         current task being suspended.
409
410         * init.c (__gnat_clear_exception): added to reset VxWorks exception
411         count.
412         (__gnat_map_signal): removed test for current task being suspended.
413
414 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
415
416         * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
417         from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
418         targets (such as AAMP).
419
420 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
421
422         * atree.adb (Visit_Itype): Create a new name for the generated itype,
423         because the back-end may otherwise treat it as a redefinition of the
424         old symbol.
425
426 2004-12-07  Eric Botcazou  <ebotcazou@adacore.com>
427
428         * back_end.adb (Scan_Back_End_Switches): Accept --param.
429
430         * lang-specs.h: Accept --param.
431
432 2004-12-07  Vincent Celier  <celier@adacore.com>
433
434         * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
435         package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
436         Current_Body_Suffix => Ada_Body_Suffix).
437         Take into account Externally_Built attribute.
438
439         * clean.adb (In_Extension_Chain): Always return False when one of the
440         parameter is No_Project.
441         (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
442         Ada_Language_Index).
443         (Gnatclean): Adapt to change in package Prj.Pars (no parameter
444         Process_Languages for procedure Parse).
445
446         * gnatcmd.adb (Carg_Switches): New table.
447         (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
448         Adapt to name changes in package Prj (Current_Spec_Suffix =>
449         Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
450
451         * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
452         Header_Num and function Hash are now declared in package Prj,
453         not Prj.Com.
454
455         * prj.adb (Suffix_Of): New function.
456         (Set (Suffix)): New procedure.
457         (Hash): One function moved from Prj.Com
458         (Is_Present, Language_Processing_Data_Of): New functions
459         (Set): Two new procedures
460         (Add_Language_Name, Display_Language_Name): New procedures
461
462         * prj.ads: (Suffix_Of): New function
463         (Set (Suffix)): New procedure
464         Add several types and tables for multi-language support.
465         (Header_Num): Type moved from Prj.Com
466         (Hash): Two functions moved from Prj.Com
467         (Is_Present, Language_Processing_Data_Of): New functions
468         (Set): Two new procedures
469         (Add_Language_Name, Display_Language_Name): New procedures
470         (Naming): Component name changes:
471         Current_Spec_Suffix => Ada_Spec_Suffix,
472         Current_Body_Suffix => Ada_Body_Suffix. Add new components:
473         Impl_Suffixes, Supp_Suffixes.
474         (Project_Data): New components: Externally_Built, Supp_Languages,
475         First_Language_Processing, Supp_Language_Processing, Default_Linker,
476         Default_Linker_Path.
477
478         * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
479         new package Language_Processing with its attributes (Compiler_Driver,
480         Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
481         Binder_Driver, Default_Linker).
482
483         * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
484         (Header_Num): Type moved to package Prj
485
486         * prj-env.adb: Adapt to name changes in package Prj
487         (Current_Spec_Suffix => Ada_Spec_Suffix,
488         Current_Body_Suffix => Ada_Body_Suffix).
489
490         * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
491         default to the project path, except the "-" is one of the directories
492         in env var ADA_PROJECT_PATH.
493         (Current_Project_Path): Global variable, replacing Project_Path
494         that was in the body of Prj.Part.
495         (Project_Path): New function
496         (Set_Project_Path): New procedure
497         Initialize Current_Project_Path during elaboration of the package
498         Remove dependency on Prj.Com, no longer needed
499
500         * prj-ext.ads (Project_Path): New function
501         (Set_Project_Path): New procedure
502
503         * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
504         suffix is defined for language <lang>.
505         (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
506         accessing directly the components of Naming.
507         (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
508         Reorganise of this package.
509         Break procedure Check in several procedures.
510
511         * prj-nmsc.ads: Replace all procedures (Ada_Check,
512         Other_Languages_Check and Language_Independent_Check) with a single
513         procedure Check.
514
515         * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
516         Process_Languages, no longer needed.
517
518         * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
519         Current_Project_Path.
520         Remove elaboration code, moved to the body of Prj.Ext
521         Use new function Prj.Ext.Project_Path instead of old variable
522         Project_Path.
523         (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
524         When comparing with project paths on the stack, first put the resolved
525         path in canonical case.
526         (Parse_Single_Project): Set the path name of the project file in the
527         tree to the normalized path.
528
529         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
530         parameter Process_Languages, no longer needed.
531         (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
532         Other_Languages_Check.
533
534         * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
535         to store the resolved canonical path of the project file.
536         Remove dependency to Prj.Com, no longer needed
537
538         * prj-util.adb: Adapt to name changes in package Prj
539         (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
540         Ada_Body_Suffix).
541
542         * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
543         Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
544         Externally_Built, Include_Option, Language_Processing.
545
546         * makegpr.adb: Numerous changes due to changes in packages
547         Prj and Prj.Nmsc.
548
549         * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
550         default to the project path, except whe "-" is one of the directories
551         in env var ADA_PROJECT_PATH.
552         (Gnatls): In verbose mode, add the new section "Project Search Path:"
553
554 2004-12-07  Robert Dewar  <dewar@adacore.com>
555
556         * debug.adb: Document that -gnatdA automatically sets -gnatR3m
557
558         * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
559         set -gnatR3m mode.
560
561         * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
562         flag. No longer needed now that we handle this in gnat1drv.adb.
563
564         * repinfo.ads: Minor reformatting
565
566 2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
567             Olivier Hainque  <hainque@adacore.com>
568             Eric Botcazou  <ebotcazou@adacore.com>
569
570         * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
571         TYPE_SIZE_UNIT of result type if SIZE is not specified.
572         (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
573         of a bitfield, which we know is useless and causes trouble because of
574         alignment implications.
575
576         * utils.c (create_var_decl): Set DECL_COMMON again on targets without
577         BSS sections.
578         (process_attributes): Clear DECL_COMMON again when a section attribute
579         is present.
580         (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
581         SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
582         (create_field_decl): Special case ADDRESSABLE negative to mean
583         "no bitfield creation", to be used by make_aligning_type. Don't
584         restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
585         fields claimed addressable still have to be bitfields. Use
586         value_factor_p instead of a raw binop construction to check for the
587         position's alignment.
588
589 2004-12-07  Geert Bosch  <bosch@adacore.com>
590
591         * eval_fat.adb: Revert previous change.
592
593 2004-12-07  Thomas Quinot  <quinot@adacore.com>
594             Ed Schonberg  <schonberg@adacore.com>
595
596         * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
597         with an implicit dereference as its prefix, use
598         Insert_Explicit_Dereference instead of merely rewriting the prefix into
599         an explicit dereference. This ensures that a reference to the original
600         prefix is generated, if appropriate.
601
602         * sem_util.adb (Insert_Explicit_Dereference): When an implicit
603         dereference is rewritten to an explicit one, generate a reference to
604         the entity denoted by its prefix using the original prefix node, so
605         the dereference can be properly recorded as a read of the denoted
606         access value, if appropriate.
607
608         * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
609         emitting 'assigned but never read' warning on a variable on the basis
610         that it has an access type.
611         (Check_References): Emit unreferenced warning when the scope is a
612         subprogram body.
613
614 2004-12-07  Robert Dewar  <dewar@adacore.com>
615             Ed Schonberg  <schonberg@adacore.com>
616
617         * exp_ch6.adb (Expand_Call): Add comment on handling of back end
618         intrinsic
619
620         * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
621         leaving call unchanged.
622         This deals with the case where the pragma Import specified
623         an external name, to be handled by the back end.
624
625         * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
626         subprogram which is Imported with convention Intrinsic if an
627         External_Name argument is specified.
628         (Process_Import_Or_Interface): Properly diagnose link name argument.
629         (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
630         with Sem_Ch6.Cannot_Inline.
631         (Process_Inline): Provide separate warning for inapplicable inline
632         pragma.
633         (Cannot_Inline): Reject subprograms that have an at_end handler, so that
634         treatment is uniform on different targets.
635
636 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
637
638         * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
639         construct is rewritten, preserve end label to permit source navigation.
640
641 2004-12-07  Thomas Quinot  <quinot@adacore.com>
642
643         * exp_dist.adb (Specific_Build_General_Calling_Stubs,
644         Specific_Build_Stub_Target): New subprograms.
645         (Build_Subprogram_Calling_Stubs): Make this procedure independent from
646         the PCS implementation used, using the above PCS-customized subprograms.
647         Minor reformatting.
648         (PolyORB_Support.Helpers): New subunit containing supporting subprograms
649         for generation of DSA code targeted to the PolyORB PCS.
650         (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
651         implementation of the partition communication subsystem in ancillary
652         subprograms.
653         (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
654         PolyORB_Support.Build_Stub_Type): New subrograms containing the
655         PCS-specific part of Add_Stub_Type.
656         (Insert_Partition_Check): Use runtime library function to perform
657         E.4(19) check.
658
659         * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
660         (RE_Same_Partition): New entity, from s-parint.
661
662         * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
663
664 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
665
666         * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
667         Output the copyright message on a separate line from the version
668         message.
669
670 2004-12-07  Joel Brobecker  <brobecker@adacore.com>
671
672         * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
673         compile-time warning.
674
675 2004-12-07  Robert Dewar  <dewar@adacore.com>
676
677         * g-regpat.adb: (Match): Change a misuse of or to or else
678
679 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
680
681         * lib-xref.adb:
682         (Generate_Reference): Handle properly a reference to an entry formal,
683          when an accept statement has a pragma Unreferenced for it.
684
685         * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
686         and the Has_Pragma_Unreferenced flag for each formal before analyzing
687         the body, to ensure that warnings are properly emitted for each accept
688         statement of a given task entry.
689
690 2004-12-07  Vasiliy Fofanov  <fofanov@adacore.com>
691
692         * Makefile.in: Add support for foreign threads on VMS.
693
694 2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
695
696         * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
697         Remove.
698         (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
699
700         * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
701
702         * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
703         exception.
704         (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
705
706 2004-12-07  Robert Dewar  <dewar@adacore.com>
707
708         * nlists.adb (Prepend_Debug): Remove parameters and nest within
709         Prepend.
710         (Remove_Next_Debug): Same fix
711
712         * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
713         maintain back pointers now, though we did not used to, and comments
714         were out of date).
715         (Prepend): Remove pragma Inline.
716         (Remove_Next): Same cleanup
717
718 2004-12-07  Thomas Quinot  <quinot@adacore.com>
719
720         * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
721         used to record an implicit dereference as a read operation on its
722         prefix when operating under -gnatc. Necessary to avoid spurious
723         'variable assigned but never read' warnings in that mode.
724         (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
725         is a non-overloaded implicit dereference, call the above subprogram to
726         ensure proper recording of references.
727
728 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
729
730         * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
731         to be resolved later as part of Analyze_Iteration_Scheme's call to
732         Make_Index.
733
734 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
735
736         * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
737         prefix is not a scalar type, place error message on prefix, not on
738         type entity.
739
740 2004-12-07  Bernard Banner  <banner@adacore.com>
741
742         * vxaddr2line.adb: Add support for x86 vxworks
743
744 2004-12-07  Thomas Quinot  <quinot@adacore.com>
745
746         * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
747         documentation of the behaviour of these functions when passed an IP
748         address that has no record in the system hosts database and no reverse
749         record in the DNS.
750
751         * cstand.adb, a-tags.ads: Fix typos in comment.
752
753 2004-12-07  Robert Dewar  <dewar@adacore.com>
754
755         * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
756         exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
757         sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
758         s-poosiz.ads: Minor reformatting
759
760         * make.adb: Minor reformatting
761         Add some ??? comments asking for more comments
762
763         * s-poosiz.adb: Minor reformatting
764         Add comments on alignment requirement
765
766         * sinfo.ads: Remove obsolete comment and fix typo.
767
768 2004-12-07  Vincent Celier  <celier@adacore.com>
769             Sergey Rybin  <rybin@adacore.com>
770
771         * gnat_ugn.texi: Update the section "The GNAT Driver and Project
772         Files" with the new tool and package names.
773         Reformatting to suppress most of the warnings for line too long
774         Document the new section "Project Search Path:" in the output of
775         gnatls -v.
776         Add gnatmetric section
777
778 2004-12-07  Vincent Celier  <celier@adacore.com>
779
780         * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
781         -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
782         and -eit to -ept. Added qualifier
783         /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
784
785 2004-11-27  Andreas Schwab  <schwab@suse.de>
786
787         * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
788
789 2004-11-25  Arnaud Charlet  <charlet@adacore.com>
790
791         * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
792         internal implementation unit GNAT.Sockets.Thin,
793         as their usage for sockets is non-portable (using the read and write
794         functions from the system runtime library is fine on UNIX but won't
795         work under Windows).
796
797         * mingw32.h: Update copyright notice.
798
799 2004-11-25  Arnaud Charlet  <charlet@adacore.com>
800
801         * ada-tree.h: Minor reformatting of previous change to avoid lines
802         longer than 79 characters.
803
804 2004-11-25  Olivier Hainque  <hainque@adacore.com>
805
806         * tb-gcc.c: GCC infrastructure based implementation of
807         __gnat_backtrace.
808
809 2004-11-24  Steven Bosscher  <stevenb@suse.de>
810
811         * misc.c (gnat_post_options): Don't clear
812         flag_inline_functions.
813
814 2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
815
816         PR ada/17986
817         * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
818         tree.
819
820 2004-11-21  Andreas Jaeger  <aj@suse.de>
821
822         * stylesw.adb: Change Style_Check_Subprogram_Order to
823         Style_Check_Order_Subprograms.
824
825 2004-11-18  Arnaud Charlet  <charlet@adacore.com>
826
827         * adaint.h, adaint.c
828         (__gnat_portable_spawn): Fix cast of spawnvp third parameter
829         to avoid warnings.
830         Add also a cast to kill another warning.
831         (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
832         parameter with the priority class of the parent process instead of
833         always using the NORMAL_PRIORITY_CLASS.
834         (__gnat_dup): New function.
835         (__gnat_dup2): New function.
836         (__gnat_is_symbolic_link): Enable the effective body of this
837         function when __APPLE__ is defined.
838
839         * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
840         Update comments.
841
842 2004-11-18  Olivier Hainque  <hainque@adacore.com>
843
844         * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
845         address of which may be used to represent "others" and "all others"
846         choices in exception tables, instead of the current harcoded
847         (void *)0 and (void *)1.
848         (Setup_Exception): Do nothing in the GNAT SJLJ case.
849
850         * gigi.h (others_decl, all_others_decl): New decls representing the
851         new Others_Value and All_Others_Value objects.
852         (struct attrib): Rename "arg" component as "args", since GCC expects a
853         list of arguments in there.
854
855         * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
856         corresponding objects exported by a-exexpr, instead of hardcoded dummy
857         addresses.
858
859         * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
860         others_decl and all_others_decl instead of hardcoded dummy addresses
861         to represent "others" and "all others" choices, which is cleaner and
862         more flexible with respect to the possible eh pointer encoding policies.
863
864         * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
865         (process_attributes): Account for the naming change of the "args"
866         attribute list entry component.
867
868         * decl.c (build_attr_list): Rename into prepend_attributes to allow
869         cumulating attributes for different entities into a single list.
870         (gnat_to_gnu_entity): Use prepend_attributes to build the list of
871         attributes for the current entity and propagate first subtype
872         attributes to other subtypes.
873         <E_Procedure>: Attribute arguments are attr->args and not
874         attr->arg any more.
875         (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
876         argument provided, as this is what GCC expects. Use NULL_TREE instead
877         of 0 for trees.
878
879 2004-11-18  Robert Dewar  <dewar@adacore.com>
880
881         * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
882         Minor reformatting througout (including new function specs)
883         Add ??? comments asking for clarification.
884
885 2004-11-18  Thomas Quinot  <quinot@adacore.com>
886
887         * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
888         incomplete duplicate implementation of this subprogram from butil.
889
890 2004-11-18  Thomas Quinot  <quinot@adacore.com>
891
892         * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
893         procedures factors the common processing for building an RPC receiver
894         for an RCI package or an RACW type.
895         Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
896         Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
897         (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
898         in use.
899         (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
900         Add_RACW_Features.
901         (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
902         Add_RAST_Features.
903         (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
904         distribution subprogram identifiers that are either subprogram numbers
905         or strings.
906         (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
907         string distribution identifiers assigned to a given subprogram.
908         (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
909         (Add_RAS_Dereference_TSS): Add comments.
910         (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
911         is not referenced yet because it will be used by the PolyORB DSA
912         implementation.
913         (Insert_Partition_Check): Remove fossile code.
914         (First_RCI_Subprogram_Id): Document this constant.
915         (Add_RAS_Access_TSS): Correct the setting of the Etype of the
916         RAS_Access TSS.
917         (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
918         replaced with calls to Get_Library_Unit_Name_String. Previously there
919         were several instances of the same code in different locations in the
920         compiler; this checkin completes the replacement of all of these
921         instances with calls to a common subprogram.
922         Minor reformatting.
923
924         * sem_dist.adb: Remove comment noting that RPC receiver generation
925         should be disabled for RACWs that implement RASs.
926         (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
927
928         * sem_util.ads, sem_util.adb (Has_Stream): New function
929         (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
930         qualified name of a library unit into the name buffer.
931         (Note_Possible_Modification): Generate a reference only
932         if the context comes from source.
933
934         * snames.ads (PCS_Names): New subtype corresponding to names of
935         supported implementations of the Partition Communication Subsystem
936         (PCS) (i.e. the runtime library support modules for the distributed
937         systems annex).
938
939 2004-11-18  Robert Dewar  <dewar@adacore.com>
940             Ed Schonberg  <schonberg@adacore.com>
941
942         * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
943         (Has_Rep_Pragma): New function
944         (Has_Attribute_Definition_Clause): New function
945         (Record_Rep_Pragma): Moved here from sem_ch13.adb
946         (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
947
948         * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
949
950         * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
951         (Expand_Pragma_Psect_Object): New procedure
952         These procedures contain the revised and cleaned up processing for
953         these two pragmas. This processing was formerly in Sem_Prag, but
954         is more appropriately moved here. The cleanup involves making sure
955         that the pragmas are properly attached to the tree, and that no
956         nodes are improperly shared.
957
958         * sem_prag.adb: Move expansion of Common_Object and Psect_Object
959         pragmas to Exp_Prag, which is more appropriate.
960         Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
961         check for duplicates Remove use of Is_Psected flag, no longer needed.
962         Use new Make_String_Literal function with string.
963
964         * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
965         that are functions return universal values, that have to be converted
966         to the context type.
967         Use new Make_String_Literal function with string.
968         (Get_Stream_Convert_Pragma): New function, replaces the use of
969         Get_Rep_Pragma, which had to be kludged to work in this case.
970
971         * freeze.adb: Use new Has_Rep_Pragma function
972
973         * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
974         function with string.
975         Use new Has_Rep_Pragma function.
976
977         * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
978         string argument.
979
980 2004-11-18  Robert Dewar  <dewar@adacore.com>
981
982         * errout.ads, errout.adb: (First_Sloc): New function
983
984         * par-ch5.adb (P_Condition): Check for redundant parens is now a style
985         check (-gnatyx) instead of being included as a redundant construct
986         warning.
987
988         * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
989         Style_Check_Order_Subprograms.
990
991         * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
992         stylesw.adb: Add Style_Check_Xtra_Parens
993
994         * usage.adb: Add line for -gnatyx (check extra parens)
995
996         * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
997
998 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
999             Robert Dewar  <dewar@adacore.com>
1000
1001         * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
1002         discriminant of a constrained subtype, analyze the copy of the
1003         corresponding constraint, because in some cases it may be only
1004         partially analyzed.
1005         Removes long-lived ??? comments.
1006
1007         * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
1008         handled controlled or secondary-stack expressions within the
1009         iteration_scheme of a loop.
1010
1011         * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
1012         bounds that may contain functions calls, to prevent memory leaks when
1013         the bound contains a call to a function that uses the secondary stack.
1014         (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
1015         generate temporaries for loop bounds that might contain function calls
1016         that require secondary stack and/or finalization actions.
1017
1018         * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
1019         selected component and the selector is overloadable (not just a
1020         function) treat as function call, Analyze_Call will disambiguate if
1021         necessary.
1022         (Analyze_Selected_Component): Do not generate an actual subtype for the
1023         selected component if expansion is disabled. The actual subtype is only
1024         needed for constraint checks.
1025         (Analyze_Allocator): If restriction No_Streams is set, then do
1026         not permit objects to be declared of a stream type, or of a
1027         composite type containing a stream.
1028
1029         * restrict.ads: Remove the a-stream entry from Unit_Array, since
1030         No_Streams no longer prohibits with'ing this package.
1031
1032         * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
1033         discriminants, but the parent base has unknown discriminants, there is
1034         no discriminant constraint to inherit. Such a discrepancy can arise
1035         when the actual for a formal type with unknown discriminants is a
1036         similar private type whose full view has discriminants.
1037         (Analyze_Object_Declaration): If restriction No_Streams is set, then
1038         do not permit objects to be declared of a stream type, or of a
1039         composite type containing a stream.
1040
1041 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
1042
1043         * exp_dbug.ads: Update documentation to reflect simpler encoding for
1044         protected operations.
1045
1046         * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
1047         generated name, it complicates decoding in gdb and hinders debugging
1048         of protected operations.
1049         (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
1050         flag for the protected entry barrier function.
1051         (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
1052         flag for the protected entry function.
1053
1054 2004-11-18  Nicolas Setton  <setton@adacore.com>
1055
1056         * expect.c: Define __unix__ when __APPLE__ is defined.
1057
1058         * Makefile.in: Inform the value of the variable GMEM_LIB in the
1059         Darwin-specific section.
1060
1061         * lang-specs.h: Change the placement of the %1 marker.
1062         Works around the fact that gcc adds -fPIC by default under Darwin.
1063
1064 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
1065
1066         * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
1067         type of the object with the packed array type, set the Analyzed flag
1068         on the object if it is an entity or simple indexed component, to avoid
1069         spurious type errors.
1070
1071 2004-11-18  Gary Dismukes  <dismukes@adacore.com>
1072
1073         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
1074         gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
1075         separate line from the version message.
1076
1077 2004-11-18  Ed Falis  <falis@adacore.com>
1078
1079         * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
1080         vthreads.
1081         (init_float): Eliminate initialization of floating point status for
1082         AE653. The instructions have no effect for vThreads.
1083
1084 2004-11-18  Vincent Celier  <celier@adacore.com>
1085
1086         * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
1087         gnatbind is invoked with -shared.
1088
1089 2004-11-18  Jose Ruiz  <ruiz@adacore.com>
1090
1091         * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
1092         for Detect_Blocking which is redundant with the check done within the
1093         procedure Protected_Single_Entry_Call.
1094         (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
1095         Detect_Blocking which is redundant with the check done within the
1096         procedure Protected_Single_Entry_Call.
1097
1098 2004-11-18  Vincent Celier  <celier@adacore.com>
1099
1100         * makegpr.adb (Compile): Put the compiling switches (in package
1101         Compiler and on the command line) immediately after "-c", instead of
1102         at the end of the command line invocation of the compiler, when
1103         compiling a non-Ada file.
1104         (Build_Global_Archive): When there is no need to rebuild the archive,
1105         set Global_Archive_Exists, so that the archive is passed to the linker
1106         if one is needed.
1107
1108 2004-11-18  Robert Dewar  <dewar@adacore.com>
1109             Sergey Rybin  <rybin@adacore.com>
1110
1111         * gnat_ugn.texi:
1112         Remove extra paren check from list of checks for redundant constructs
1113         Add documentation of new -gnatyx style check (check extra parens)
1114         Remove paragraph about gnatelim debug options.
1115
1116         * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
1117         objects rather than forbidding dependencies on the package Ada.Streams.
1118
1119         * sinfo.ads: Add ??? note that we should document pragmas passed to
1120         back end.
1121
1122         * g-expect.ads: Fix a few typos in the comments.
1123
1124 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
1125
1126         * misc.c (gnat_handle_option): Use %< and %> for quoting in
1127         warning message.
1128
1129 2004-11-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1130
1131         * a-numaux-x86.adb (Tan): Fix fdivp syntax.
1132
1133 2004-11-07  Andreas Schwab  <schwab@suse.de>
1134
1135         * Makefile.in (install-gnatlib): Remove spurious hyphen.
1136
1137 2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
1138
1139         PR ada/18228
1140         * Makefile.in (darwin): Set soext to .dylib.
1141
1142 2004-10-26  Vincent Celier  <celier@gnat.com>
1143             Thomas Quinot   <quinot@act-europe.fr>
1144
1145         * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
1146         (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
1147         there is no use of GNAT.Sockets.Constants.
1148         Remove remaining pragma Import for C_Write
1149         Remove C_Read and C_Write from internal implementation unit
1150         GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
1151         the read and write functions from the system runtime library is fine
1152         on UNIX but won't work under Windows).
1153
1154         * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
1155         (Check_Selector): Use C_Recv instead of C_Read.
1156         Selectors are the GNAT.Sockets abstraction to perform a select()
1157         call on a set of descriptors. To allow abortion of an ongoing
1158         select operation, some data is written to a dedicated socket that
1159         is always monitored.
1160         Under Windows, the write and read library functions cannot operate
1161         on sockets, so we need to use send and recv instead, which is portable
1162         across all supported platforms.
1163
1164         * g-socthi.ads: Remove C_Read and C_Write from internal implementation
1165         unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
1166         (using the read and write functions from the system runtime library is
1167         fine on UNIX but won't work under Windows).
1168
1169 2004-10-26  Nicolas Setton  <setton@act-europe.fr>
1170
1171         * mlib-tgt-darwin.adb: New file.
1172
1173         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1174         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
1175         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
1176         mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
1177         subprogram body.
1178
1179         * Makefile.in: Add support for building shared libraries under Darwin.
1180         (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
1181         the low level EH init subprogram to be called from __gnat_initialize.
1182
1183         * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
1184         indicates which options to pass to the archive indexer.
1185
1186         * mlib-utl.adb: Add support for calling ranlib with additional
1187         options. This is needed for instance under Mac OS X.
1188         (Ranlib_Options): New global variable, used to store the potential
1189         options to pass to ranlib.
1190         (Ar): Use Ranlib_Options when spawning ranlib.
1191         (Initialize): Set the value of ranlib option.
1192
1193 2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
1194
1195         * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
1196         instead of 8K, to reflect the real potential needs for stack-checking
1197         in the ZCX case.
1198
1199 2004-10-26  Pascal Obry  <obry@gnat.com>
1200
1201         * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
1202
1203         * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
1204         Windows only the initial thread stack size can be set so it is good to
1205         start we a low stack size.
1206         The OS will adjust the size as needed.
1207
1208 2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
1209             Nicolas Setton  <setton@act-europe.fr>
1210
1211         * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
1212         "__unix__" instead of "unix".
1213         The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
1214         sections were just mistakenly ignored. The former is
1215         implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
1216         Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
1217         of hpux. This prevents an unwanted definition of the symbol
1218         convert_addresses in adaint.o.
1219
1220 2004-10-26  Gary Dismukes  <dismukes@gnat.com>
1221
1222         * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
1223         compatibility with type Unwind_Word on 16-bit targets such as AAMP.
1224
1225 2004-10-26  Cyrille Comar  <comar@act-europe.fr>
1226
1227         * a-filico.ads, a-filico.adb: fix incorrect header.
1228
1229 2004-10-26  Javier Miranda  <miranda@gnat.com>
1230
1231         * a-ststio.ads: Fix typo in identifier
1232
1233 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
1234
1235         * sem_ch4.adb: Minor reformatting.
1236
1237 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
1238
1239         * checks.adb (Expr_Known_Valid): If floating-point validity checks are
1240         enabled, check the result of unary and binary operations when the
1241         expression is the right-hand side of an assignment.
1242
1243 2004-10-26  Vincent Celier  <celier@gnat.com>
1244
1245         * clean.adb (Delete): Do not output warnings when in quiet output and
1246         not in verbose mode.
1247         (Force_Deletions): New Boolean flag, defaulted to False
1248         (Delete): Only delete a file if it is writable, and when
1249         Force_Deletions is True.
1250         (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
1251         (Usage): Line for new switch -f
1252         (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
1253         own.
1254
1255 2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
1256
1257         * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
1258         JM type only if its size matches that of the wrapper.  When a size is
1259         prescribed and the field is not aliased, remove the wrapper of a JM
1260         type only if the size is not greater than that of the packed array.
1261         (gnat_to_gnu_entity): Change the extension of packed array wrappers
1262         from LJM to JM.
1263
1264 2004-10-26  Geert Bosch  <bosch@gnat.com>
1265
1266         * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
1267         (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
1268         (Pred): Implement in terms of Succ.
1269
1270 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
1271
1272         * exp_aggr.adb (Safe_Component): An aggregate component that is an
1273         unchecked conversion is safe for in-place use if the expression of the
1274         conversion is safe.
1275         (Expand_Array_Aggregate): An aggregate that initializes an allocator may
1276         be expandable in place even if the aggregate does not come from source.
1277         (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
1278         designated object of an allocator in place, rather than building it
1279         first on the stack. The previous scheme forces a full copy of the array,
1280         and may be altogether unsusable if the size of the array is too large
1281         for stack allocation.
1282
1283 2004-10-26  Robert Dewar  <dewar@gnat.com>
1284
1285         * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
1286         compares if the component is atomic.
1287
1288         * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
1289         array assignment if the component type is atomic.
1290
1291 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
1292             Eric Botcazou  <ebotcazou@act-europe.fr>
1293
1294         * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
1295         is aliased and is a by_reference type, do not pass by copy.
1296         (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
1297         detect whether the call is in the right side of an assignment or
1298         the expression of an object declaration.  Recurse on component
1299         association within aggregates.
1300         Call it in the condition that determines whether the temporary is
1301         necessary for correct stack-checking.
1302
1303 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
1304
1305         * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
1306         RACW_Type, used in the PolyORB version.
1307         Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
1308         version and the GARLIC version.
1309
1310         * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
1311         Rename RCI_Info to RCI_Locator for better consistency between the
1312         GARLIC and PolyORB versions of the distributed systems annex.
1313         (DSA_Implementation_Name): This enumeration lists the possible
1314         implementations of the Partition Communication Subsystem for the
1315         Distributed Systems Annex (DSA). The three available implementations
1316         are the dummy stub implementation (No_DSA), and two versions based on
1317         two different distribution runtime libraries: GARLIC and PolyORB. Both
1318         the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
1319         technology.
1320         Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
1321         that organization.
1322
1323         * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
1324         between the GARLIC and PolyORB versions of the distributed systems
1325         annex.
1326         Remove RE_Unbounded_Reclaim_Pool since it is unused.
1327
1328 2004-10-26  Gary Dismukes  <dismukes@gnat.com>
1329
1330         * gnat1drv.adb: Suppress calling the back end when
1331         Frontend_Layout_On_Target is true.
1332
1333 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
1334
1335         * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
1336         Set_Read_Only): New subprograms.
1337         These new routines allow the user to set or unset the Owner execute
1338         and Owner write permission flags on a file.
1339
1340         * makegpr.adb, mlib.adb, mlib-prj.adb: Use
1341         GNAT.OS_Lib.Set_Executable instead of rolling our own.
1342
1343 2004-10-26  Matthew Gingell  <gingell@gnat.com>
1344
1345         * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
1346
1347 2004-10-26  Pascal Obry  <obry@gnat.com>
1348
1349         * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
1350         memory before the faulting page we properly test the process read
1351         access for this address using appropriate Win32 routine.
1352         (HPUX sections): guard with "__hpux__" instead of "hpux".
1353
1354 2004-10-26  Robert Dewar  <dewar@gnat.com>
1355
1356         * lib-xref.adb (Generate_Reference): Don't complain about reference to
1357         entry parameter if pragma Unreferenced set, since we do not properly
1358         handle the case of multiple parameters.
1359
1360 2004-10-26  Vincent Celier  <celier@gnat.com>
1361
1362         * prj-env.adb: (Contains_ALI_Files): New Boolean function
1363         (Ada_Objects_Path.Add): For a library project, add to the object path
1364         the library directory only if there is no object directory or if the
1365         library directory contains ALI files.
1366         (Set_Ada_Paths.Add.Recursive_Add): Ditto
1367
1368 2004-10-26  Vincent Celier  <celier@gnat.com>
1369
1370         * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
1371         extension of library projects.
1372
1373         * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
1374         path defaults to ".:<prefix>/lib/gnat".
1375         (Parse): For an extending all project, allow direct import of a project
1376         that is virtually extended.
1377
1378         * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
1379         the specified name is directly imported, return its ID. Otherwise, if
1380         an extension of this project is imported, return the ID of the
1381         extension.
1382
1383 2004-10-26  Robert Dewar  <dewar@gnat.com>
1384
1385         * s-arit64.adb: (Le3): New function, used by Scaled_Divide
1386         (Sub3): New procedure, used by Scaled_Divide
1387         (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
1388         correct more than one instance of failure to propagate carries
1389         correctly.
1390         (Double_Divide): Handle overflow case of largest negative number
1391         divided by minus one.
1392
1393         * s-arit64.ads (Double_Divide): Document that overflow can occur in
1394         the case of a quotient value out of range.
1395         Fix comments.
1396
1397 2004-10-26  Robert Dewar  <dewar@gnat.com>
1398
1399         * s-bitops.adb (Bit_Eq): Remove redundant check.
1400
1401         * s-bitops.ads: Minor comment updates
1402         Change some occurrences of Address to System.Address
1403
1404         * s-carsi8.ads: Fix minor cut-and-paste error in comments
1405
1406 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
1407
1408         * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
1409         accessibility check to prefix that is a protected operation.
1410
1411 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
1412
1413         * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
1414         empty, post message on stub.
1415
1416 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
1417             Javier Miranda  <miranda@gnat.com>
1418
1419         * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
1420         current instance appears within a unit that is directly in the context
1421         of the main unit.
1422         Used to determine whether the body of the instance should be analyzed
1423         immediately after its spec, to make its subprogram bodies available
1424         for front-end inlining.
1425         (Analyze_Formal_Array_Type): Cleanup condition that checks that range
1426         constraint is not allowed on the component type (AARM 12.5.3(3))
1427
1428 2004-10-26  Cyrille Comar  <comar@act-europe.fr>
1429
1430         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
1431         'Storage_Pool): enhance, document & limit detection of non-sharable
1432         internal pools.
1433
1434         * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
1435
1436         * s-pooglo.ads: Add more documentation now that this pool is properly
1437         documented.
1438
1439 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
1440
1441         * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
1442         or protected type with discriminants, do not constrain the
1443         corresponding record type if the subtype declaration has no
1444         discriminant constraints. This can be the case in source code, or in
1445         the subtype declaration created to rename an actual type within an
1446         instantiation.
1447
1448 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
1449
1450         * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
1451         different kind of stub (possibly wrong name for file), do not check
1452         for conformance.
1453         (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
1454         includes call to some function that returns an unconstrained type, do
1455         not inline.
1456
1457 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
1458
1459         * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
1460         appear in the code for the main unit. Dependencies among units in the
1461         context of the main unit are established when those other units are
1462         compiled. Otherwise spurious elaboration constraints can generate
1463         incorrect elaboration circularities.
1464
1465 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
1466             Ed Schonberg   <schonberg@gnat.com>
1467
1468         * sem_util.adb (Is_Aliased_View): Defend against the case where this
1469         subprogram is called with a parameter that is not an object name. This
1470         situation arises for some cases of illegal code, which is diagnosed
1471         later, and in this case it is wrong to call Is_Aliased, as that might
1472         cause a compiler crash.
1473         (Explain_Limited_Type): Refine previous fix to include
1474         inherited components of derived types, to provide complete information.
1475
1476         * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
1477         is the prival for a protected object.
1478         It is necessary to mark this entity as a variable, in addition to
1479         flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
1480         modified to avoid checking the Aliased flag on entities that are not
1481         objects. (Checking that flag for non-objects is erroneous and could
1482         lead to a compiler crash).
1483
1484 2004-10-26  Robert Dewar  <dewar@gnat.com>
1485
1486         * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
1487         X_Frac = 0.5, then we know that the number X must be positive.
1488         (Succ): Remove the same redundant test, and also fix the primary test
1489         to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
1490         Minor reformatting
1491         (Decompose): Add fuller comments to spec
1492
1493 2004-10-26  Pascal Obry  <obry@gnat.com>
1494
1495         * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
1496         validity (process must have read access). Set to 0 in all other cases.
1497         (STOP_FRAME): Now check for ptr validity to avoid a segmentation
1498         violation on Win32.
1499         (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
1500         segmentation violation.
1501
1502 2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
1503
1504         * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
1505         whose type is a constructed subtype of an aliased object with an
1506         unconstrained nominal subtype, convert the actual to the constructed
1507         subtype before taking its address.
1508
1509 2004-10-26  Vincent Celier  <celier@gnat.com>
1510
1511         * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
1512         (Is_Path_Name_Case_Sensitive): New function
1513
1514         * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
1515         (Base_Name, Simple_Name, Current_Directory, Compose,
1516         Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
1517         the result.
1518
1519 2004-10-26  Cyrille Comar    <comar@act-europe.fr>
1520             Vasiliy Fofanov  <fofanov@act-europe.fr>
1521             Vincent Celier   <celier@gnat.com>
1522
1523         * gnat_ugn.texi: Generalize "finding memory problems" section into a
1524         "memory management issues" section and document some of the useful
1525         memory pools provided as part of the GNAT library.
1526         Remove "virtual" from declaration of A::method2 in
1527         the simple example of Ada/C++ mixed system.
1528         Library Projects may be virtually extended: their virtual extensions
1529         are not Library Projects.
1530         Added section on extending project hierarchies.
1531
1532 2004-10-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
1533
1534         * adaint.c (__gnat_get_libraries_from_registry): Cast value
1535         to LPBYTE.
1536         (__gnat_portable_spawn): Remove const.
1537
1538         * mingw32.h (MAXPATHLEN): Check for previous definition.
1539
1540 2004-10-17  Matthias Klose  <doko@debian.org>
1541
1542         * gnatvsn.ads: Set gnat library version to 4.0.
1543
1544 2004-10-05  Vincent Celier  <celier@gnat.com>
1545
1546         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
1547
1548 2004-10-04  Laurent GUERBY <laurent@guerby.net>
1549
1550         PR ada/15156
1551         * Makefile.in: Define and use RANLIB_FLAGS.
1552
1553 2004-10-04  Pascal Obry  <obry@gnat.com>
1554
1555         * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
1556         other x86 platforms).
1557
1558 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
1559
1560         * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
1561         in general and triggers stack alignment adjustment for thread entry
1562         points on targets where this is necessary.
1563
1564 2004-10-04  Bernard Banner  <banner@gnat.com>
1565
1566         PR ada/13897
1567
1568         * Makefile.in: Add section for powerpc linux
1569         Add variant i-vxwork-x86.ads
1570
1571         * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
1572
1573 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
1574
1575         * init.c (__gnat_initialize): Call an Ada subprogram to perform the
1576         table registration calls when need be. Ensures no reference to the crt
1577         ctors symbol are issued in the SJLJ case, which avoids possible
1578         undefined symbol errors in the case of modules to be statically linked
1579         with the kernel.
1580
1581 2004-10-04  Javier Miranda  <miranda@gnat.com>
1582
1583         * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
1584         in-line the code corresponding to subprogram Analyze_Actuals. In
1585         addition, analyze the actuals only in case of subprogram call.
1586
1587 2004-10-04  Ed Falis  <falis@gnat.com>
1588
1589         * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
1590
1591 2004-10-04  Sergey Rybin  <rybin@act-europe.fr>
1592
1593         * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
1594         in the documentation.
1595
1596 2004-10-04  Robert Dewar  <dewar@gnat.com>
1597
1598         * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
1599         IF and CASE.
1600         (Analyze_Block_Statement): Add circuitry to detect following dead code
1601         (Check_Unreachable_Code): Handle case of block exit
1602
1603 2004-10-04  Robert Dewar  <dewar@gnat.com>
1604
1605         * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
1606         (XMatchD): Avoid warning for Logic_Error call
1607
1608 2004-10-04  Robert Dewar  <dewar@gnat.com>
1609
1610         * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
1611         consider expressions buried within a procedure actual to be an actual.
1612         This caused some blowups with uses of packed slices within a procedure
1613         actual.
1614
1615 2004-10-04  Robert Dewar  <dewar@gnat.com>
1616
1617         * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
1618         longer need to be initialized to zero.
1619         (Get_Simple_Init_Val): Modular packed arrays no longer need to be
1620         initialized to zero.
1621
1622         * checks.adb (Expr_Known_Valid): Packed arrays are now always
1623         considered valid, even if the representation is modular. That's correct
1624         now that we no longer initialize packed modular arrays to zero.
1625
1626         * exp_dbug.ads: Clarify documentation on handling of PAD and JM
1627         suffixes. These are now documented as the only cases in which the
1628         debugger ignores outer records.
1629         Previously, the spec allowed arbitrary suffixes for this purpose.
1630         Change name of LJM to JM for packed array pad records
1631         Create separate section on packed array handling, and add a whole new
1632         set of comments to this section describing the situation with packed
1633         modular types and justification requirements depending on endianness.
1634
1635 2004-10-04  Robert Dewar  <dewar@gnat.com>
1636
1637         * a-except.adb: Add a comment for last change
1638
1639         * einfo.ads: Minor spelling correction in comment
1640
1641         * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
1642
1643         * sem_ch11.adb: Fix a case of using | instead of \ for continuation
1644         messages.
1645
1646         * sem_util.ads: Minor comment update
1647
1648 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
1649
1650         * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
1651         Inline_Always when in Configurable_Run_Time mode.
1652
1653         * sem_prag.adb (Process_Convention): If entity is an inherited
1654         subprogram, apply convention to parent subprogram if in same scope.
1655         (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
1656         when in Configurable_Run_Time mode.
1657
1658 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
1659
1660         * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
1661         class_wide type after component list has been inherited.
1662
1663 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
1664
1665         * sem_ch12.adb (Check_Generic_Actuals): New predicate
1666         Denotes_Previous_Actual, to handle properly the case of a private
1667         actual that is also the component type of a subsequent array actual.
1668         The visibility status of the first actual is not affected when the
1669         second is installed.
1670         (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
1671         make fully recursive the treatment of formals of packages declared
1672         with a box.
1673         (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
1674         the above on exit from an instantiation.
1675         (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
1676         current instantiation which is now complete.
1677         (Analyze_Package_Instantiation): No instantiated body is needed if the
1678         main unit is generic. Efficient, and avoid anomalies when a instance
1679         appears in a package accessed through rtsfind.
1680
1681 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
1682
1683         * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
1684         do not generate a declaration for a temporary if the call is part of a
1685         library-level instantiation.
1686
1687 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
1688
1689         * sem_util.adb (Explain_Limited_Type): Ignore internal components when
1690         searching for a limited component to flag.
1691
1692         * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
1693         expansion of Input, to account for the fact that the implicit call
1694         generated by the attribute reference must freeze the user-defined
1695         stream subprogram. This is only relevant to 'Input, because it can
1696         appear in an object declaration, prior to the body of the subprogram.
1697
1698         * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
1699         expansion can proceed and further errors uncovered.
1700         (Minor clean up): Fix cases of using | instead of \ for continuation
1701         messages.
1702
1703 2004-10-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1704
1705         * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
1706
1707         * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
1708         (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
1709         Use gcc_assert and gcc_unreachable.
1710
1711         * decl.c (gnat_to_gnu_entity, case object): Check and process a
1712         specified alignment before validating size.
1713         (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
1714         stripped-down declaration for the type of the inner field when making
1715         a JM type.
1716
1717         * utils.c (finish_record_type): Do not compute the size in units
1718         incrementally. Instead compute it once for the rep clause case.
1719         Use gcc_assert and gcc_unreachable.
1720
1721 2004-10-04  Vincent Celier  <celier@gnat.com>
1722
1723         * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
1724         in file name.
1725         (Is_Valid_Path_Name): Take '/' as a directory separator.
1726
1727 2004-10-04  Vincent Celier  <celier@gnat.com>
1728
1729         * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
1730         (Extended_Project) only if Extended_Project is defined, to avoid
1731         assertion error.
1732         (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
1733         resolved path.
1734         (Parse_Single_Project): Ditto.
1735
1736         * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
1737         Add_To_Project_Path for virtual projects.
1738
1739 2004-10-04  Vincent Celier  <celier@gnat.com>
1740
1741         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1742         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
1743         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
1744         mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
1745         parameter Options_2.
1746
1747         * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
1748         Build_Dynamic_Library with an empty Options_2.
1749
1750         * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
1751         default anymore.
1752
1753         * makegpr.adb (Get_Imported_Directories.add): Remove trailing
1754         directory separator, if any.
1755         (Gprmake): Do not allow mains on the command line for library projects.
1756         Do not attempt to link when the project is a library project.
1757         (Library_Opts): New table to store Library_Options.
1758         (Build_Library): If Library_Options is specified, pass these options
1759         when building a shared library.
1760
1761 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
1762
1763         * s-tposen.adb (Service_Entry): The object must be always unlocked at
1764         the end of this procedure now that the unlock operation was inserted
1765         by the expander.
1766
1767 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
1768
1769         * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
1770         corresponding to the Preallocated_Stacks flags in System.
1771         (Get_Target_Parameters): Including the processing for
1772         Preallocated_Stacks.
1773
1774         * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
1775         system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
1776         system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
1777         system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
1778         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
1779         system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
1780         system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
1781         system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
1782         system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
1783         system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
1784         system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
1785         used to signal whether the compiler creates the required stacks and
1786         descriptors for the different tasks (when True) or it is done by the
1787         underlying operating system at run time (when False).
1788         It is initially set to False in all targets.
1789
1790         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
1791         if it is supported by the target.
1792         (Make_Task_Create_Call): Pass the stack address if it has been
1793         previously created. Otherwise pass a Null_Address.
1794
1795         * snames.adb: Add _stack.
1796
1797         * snames.ads: Add Name_uStack. Required to allow the expander to
1798         statically allocated task stacks.
1799
1800         * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
1801         Stack_Address argument.
1802         Check that its value is equal to Null_Address because this target does
1803         not support the static stack allocation.
1804
1805 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
1806
1807         * usage.adb: Change "pragma inline" to "pragma Inline" in information
1808         and error messages
1809
1810 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
1811
1812         * exp_dist.adb: Split declaration of asynchronous flag out of
1813         Add_RACW_Read_Attribute.
1814         Minor reformatting for better alignment with PolyORB version.
1815         Store the entity for the asynchronous flag of an RACW, rather than the
1816         expression, in the asynchronous flags table. This will allow this flag
1817         to be used in other subprograms beside Add_RACW_Read_Attribute.
1818
1819 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
1820
1821         * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
1822         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
1823         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
1824         g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
1825         g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads:  Add new
1826         sockets constant MSG_NOSIGNAL (Linux-specific).
1827         Add new sockets constant MSG_Forced_Flags, list of flags to be set on
1828         all Send operations.
1829         For Linux, set MSG_NOSIGNAL on all send operations to prevent them
1830         from trigerring SIGPIPE.
1831         Rename components to avoid clash with Ada 2005 possible reserved
1832         word 'interface'.
1833         (Check_Selector): When the select system call returns with an error
1834         condition, propagate Socket_Error to the caller.
1835
1836 2004-10-01  Jan Hubicka  <jh@suse.cz>
1837
1838         * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
1839
1840 2004-09-23  Robert Dewar  <dewar@gnat.com>
1841
1842         PR ada/17540
1843
1844         * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
1845         instead do this at freeze time (we won't do it if there is an address
1846         clause).
1847         Change "pragma inline" to "pragma Inline" in information and error
1848         messages.
1849         Minor reformatting.
1850
1851         * freeze.adb (Check_Address_Clause): Remove previous change, not the
1852         right way of doing things after all.
1853         (Freeze_Entity): For object, set Is_Public for imported entities
1854         unless there is an address clause present.
1855
1856 2004-09-21  Olivier Hainque  <hainque@act-europe.fr>
1857
1858         * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
1859         dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
1860         ensures proper handling of types with rep clauses, which might have
1861         their TYPE_SIZE set already.
1862
1863 2004-09-21  Robert Dewar  <dewar@gnat.com>
1864
1865         * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
1866         packed array types in both little- and big-endian cases. This change
1867         ensures that we no longer count on the unused bits being initialized
1868         for such types (and in particular ensures that equality testing will
1869         only read the relevant bits).
1870         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
1871         These changes mean that we no longer need to initialize small packed
1872         arrays.
1873         (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
1874         optimization to an LJM field as to its parent field.
1875
1876         * ada-tree.h, trans.c, utils.c, utils2.c:
1877         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
1878
1879 2004-09-20  Jan Hubicka  <jh@suse.cz>
1880
1881         * utils.c (gnat_finalize): Remove.
1882         (end_subprog_body): Directly call cgraph_finalize_function;
1883         do not lower the nested functions.
1884
1885 2004-09-20  Robert Dewar  <dewar@gnat.com>
1886
1887         PR ada/17540
1888
1889         * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
1890         if an address clause is present, since that means that the Import
1891         should be ignored.
1892
1893 2004-09-20  Arnaud Charlet  <charlet@act-europe.fr>
1894
1895         * 5tsystem.ads: Removed, no longer used.
1896
1897 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
1898             Zack Weinberg  <zack@codesourcery.com>
1899
1900         * ada-tree.def: Use tree_code_class enumeration constants
1901         instead of code letters.
1902         * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
1903         Update for new tree-class enumeration constants.
1904
1905 2004-09-17  Vincent Celier  <celier@gnat.com>
1906
1907         * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
1908         capabilities of the general project manager.
1909
1910 2004-09-09  Vincent Celier  <celier@gnat.com>
1911
1912         * a-direct.ads: Add pragma Ada_05
1913         (Directory_Entry_Type): Give default value to component Kind to avoid
1914         not initialized warnings.
1915
1916         * a-direct.adb (Current_Directory): Remove directory separator at the
1917         end.
1918         (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
1919         an existing directory.
1920         (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
1921         (Size (String)): Function C_Size returns Long_Integer, not File_Size.
1922         Convert the result to File_Size.
1923
1924         * prj.ads: (Project_Error): New exception
1925
1926         * prj-attr.adb: Except in procedure Initialize, Fail comes from
1927         Prj.Com, not from Osint.
1928         (Attrs, Package_Attributes): Tables moved to private part of spec
1929         (Add_Attribute, Add_Unknown_Package): Moved to new child package
1930         Prj.Attr.PM.
1931         (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
1932         Prj.Project_Error after call to Fail.
1933         (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
1934         Fail. Check that package name is not already in use.
1935
1936         * prj-attr.ads: Comment updates to indicate that all subprograms may be
1937         used by tools, not only by the project manager, and to indicate that
1938         exception Prj.Prj_Error may be raised in case of problem.
1939         (Add_Unknown_Package, Add_Attribute): Moved to new child package
1940         Prj.Attr.PM.
1941         (Attrs, Package_Attributes): Table instantiations moved from the body to
1942         the private part to be accessible from Prj.Attr.PM body.
1943
1944         * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
1945         from new package Prj.Attr.PM.
1946         (Parse_Attribute_Declaration): Call Add_Attribute from new package
1947         Prj.Attr.PM.
1948
1949         * Makefile.in: Add prj-attr-pm.o to gnatmake object list
1950
1951         * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
1952         instead of Elaboration_Checks).
1953
1954         * a-calend.adb: Minor reformatting
1955
1956 2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1957
1958         * gigi.h (maybe_pad_type): New declaration.
1959         (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
1960
1961         * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
1962
1963         * cuintp.c: Convert to use buildN.
1964
1965         * decl.c (maybe_pad_type): No longer static.
1966         (gnat_to_gnu_entity, case E_Function): Handle case of returning by
1967         target pointer.
1968         Convert to use buildN.
1969
1970         * trans.c (call_to_gnu): Add arg GNU_TARGET; support
1971         TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
1972         (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
1973         RHS.
1974         (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
1975         (gnat_gimplify_expr, case ADDR_EXPR): New case.
1976         Convert to use buildN.
1977
1978         * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
1979         TREE_READONLY for const.
1980         Convert to use buildN.
1981
1982         * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
1983         (create_var_decl): Refine when TREE_STATIC is set.
1984         Convert to use buildN.
1985
1986 2004-09-09  Gary Dismukes  <dismukes@gnat.com>
1987
1988         * gnat_ugn.texi: Delete text relating to checking of ali and object
1989         consistency.
1990
1991         * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
1992         routines.
1993
1994 2004-09-09  Jose Ruiz  <ruiz@act-europe.fr>
1995
1996         * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
1997         pragmas recognized by GNAT.
1998
1999         * gnat_rm.texi: Document pragma Detect_Blocking.
2000
2001         * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
2002         raise Program_Error if called from a protected operation.
2003
2004         * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
2005         the protected action nesting level.
2006         (Lock_Read_Only): When pragma Detect_Blocking is active increase the
2007         protected action nesting level.
2008         (Unlock): When pragma Detect_Blocking is active decrease the protected
2009         action nesting level.
2010
2011         * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
2012         Protected_Action_Nesting.
2013
2014         * s-taskin.ads: Adding the field Protected_Action_Nesting to the
2015         Common_ATCB record. It contains the dynamic level of protected action
2016         nesting for each task. It is needed for checking whether potentially
2017         blocking operations are called from protected operations.
2018         (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
2019         Detect_Blocking is active or not in the partition.
2020
2021         * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
2022         raise Program_Error if called from a protected operation.
2023         (Task_Entry_Call): When pragma Detect_Blocking is active, raise
2024         Program_Error if called from a protected operation.
2025         (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
2026         Program_Error if called from a protected operation.
2027
2028         * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
2029         raise Program_Error if called from a protected operation.
2030
2031         * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
2032         raise Program_Error if called from a protected operation, and increase
2033         the protected action nesting level.
2034         (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
2035         Program_Error if called from a protected operation, and increase the
2036         protected action nesting level.
2037         (Unlock_Entries): When pragma Detect_Blocking is active decrease the
2038         protected action nesting level.
2039
2040         * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
2041         raise Program_Error if called from a protected operation, and increase
2042         the protected action nesting level.
2043         (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
2044         Program_Error if called from a protected operation, and increase the
2045         protected action nesting level.
2046         (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
2047         raise Program_Error if called from a protected operation.
2048         (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
2049         active, raise Program_Error if called from a protected operation.
2050         (Unlock_Entry): When pragma Detect_Blocking is active decrease the
2051         protected action nesting level.
2052
2053         * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
2054         insertion of the statement raising Program_Error. The run time
2055         contains the required machinery for handling that.
2056
2057         * sem_util.ads: Change comment associated to procedure
2058         Check_Potentially_Blocking_Operation.
2059         This procedure does not insert a call for raising the exception because
2060         that is currently done by the run time.
2061
2062         * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
2063
2064         * init.c: Add the global variable __gl_detect_blocking that indicates
2065         whether pragma Detect_Blocking is active (1) or not (0). Needed for
2066         making the pragma available at run time.
2067         (__gnat_set_globals): Pass and update the detect_blocking parameter.
2068
2069         * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
2070         pragma Detect_Blocking is active.
2071
2072         * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
2073
2074         * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
2075         DB is found in the ali file. Any unit compiled with pragma
2076         Detect_Blocking active forces its effect in the whole partition.
2077
2078         * a-retide.adb (Delay_Until): Raise Program_Error if pragma
2079         Detect_Blocking is active and delay is called from a protected
2080         operation.
2081
2082         * bindgen.adb (Gen_Adainit_Ada): When generating the call to
2083         __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
2084         Detect_Blocking is active (0 otherwise).
2085         (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
2086         as Detect_Blocking parameter if pragma Detect_Blocking is active (0
2087         otherwise).
2088
2089 2004-09-09  Thomas Quinot  <quinot@act-europe.fr>
2090
2091         * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
2092         GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
2093         package.
2094
2095         * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
2096         (Register_Receiving_Stub): Add Subp_Info formal parameter.
2097         Update API in placeholder implemetation of s-parint to reflect changes
2098         in distribution runtime library.
2099
2100         * sem_ch3.adb (Expand_Derived_Record): Rename to
2101         Expand_Record_Extension.
2102
2103         * sem_disp.adb (Check_Controlling_Formals): Improve error message for
2104         primitive operations of potentially distributed object types that have
2105         non-controlling anonymous access formals.
2106
2107         * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
2108         subprogram.
2109         New implementation of expansion for remote access-to-subprogram types,
2110         based on the RACW infrastructure.
2111         This version of sem_dist is compatible with PolyORB/DSA as well as
2112         GLADE.
2113
2114         * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
2115         Asynchrronous that applies to a remote access-to-subprogram type, mark
2116         the underlying RACW type as asynchronous.
2117
2118         * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
2119          __gnat_using_gnu_linker to 1.
2120
2121         * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
2122         g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
2123         GNAT.Perfect_Hash_Generators, and remove the empty
2124         GNAT.Perfect_Hash package.
2125
2126         * atree.adb: Minor reformatting
2127
2128         * exp_ch3.adb (Expand_Derived_Record): Rename to
2129         Expand_Record_Extension.
2130         (Build_Record_Init_Proc.Build_Assignment): The default expression in
2131         a component declaration must remain attached at that point in the
2132         tree so New_Copy_Tree copies it if the enclosing record type is derived.
2133         It is therefore necessary to take a copy of the expression when building
2134         the corresponding assignment statement in the init proc.
2135         As a side effect, in the case of a derived record type, we now see the
2136         original expression, without any rewriting that could have occurred
2137         during expansion of the ancestor type's init proc, and we do not need
2138         to go back to Original_Node.
2139
2140         * exp_ch3.ads (Expand_Derived_Record): Rename to
2141         Expand_Record_Extension.
2142
2143         * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
2144         Returns the RACW type used to implement a remote access-to-subprogram
2145         type.
2146         (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
2147         New subprograms. Used to create a proxy tagged object for a remote
2148         subprogram. The proxy object is used as the designated object
2149         for RAS values on the same partition (unless All_Calls_Remote applies).
2150         (Build_Get_Unique_RP_Call): New subprogram. Build a call to
2151         System.Partition_Interface.Get_Unique_Remote_Pointer.
2152         (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
2153         Renamed from Add_RAS_*_Attribute.
2154         (Add_Receiving_Stubs_To_Declarations): Generate a table of local
2155         subprograms.
2156         New implementation of expansion for remote access-to-subprogram types,
2157         based on the RACW infrastructure.
2158
2159         * exp_dist.ads (Copy_Specification): Update comment to note that this
2160         function can copy the specification from either a subprogram
2161         specification or an access-to-subprogram type definition.
2162
2163 2004-09-09  Ed Schonberg  <schonberg@gnat.com>
2164
2165         * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
2166         in an instance, between an explicit subprogram an one inherited from a
2167         type derived from an actual.
2168
2169         * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
2170         add a polling call if the subprogram is to be inlined by the back-end,
2171         to avoid repeated calls with multiple inlinings.
2172
2173         * checks.adb (Apply_Alignment_Check): If the expression in the address
2174         clause is a call whose name is not a static entity (e.g. a dispatching
2175         call), treat as dynamic.
2176
2177 2004-09-09  Robert Dewar  <dewar@gnat.com>
2178
2179         * g-trasym.ads: Minor reformatting
2180
2181         * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
2182         packed arrays, since unused bits are expected to be zero for a
2183         comparison.
2184
2185 2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>
2186
2187         * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
2188         comment.
2189
2190 2004-09-09  Pascal Obry  <obry@gnat.com>
2191
2192         * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
2193         enable map file generation. Add the right option to generate the map
2194         file if Map_File is set to True.
2195
2196         * gnatdll.adb (Gen_Map_File): New variable.
2197         (Syntax): Add info about new -m (Map_File) option.
2198         (Parse_Command_Line): Add support for -m option.
2199         (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
2200         Minor reformatting.
2201
2202 2004-09-09  Laurent Pautet  <pautet@act-europe.fr>
2203
2204         * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
2205         new gnatdist implementation.
2206         Define a subpackage isolating the output routines specific to this
2207         verbose mode.
2208
2209 2004-09-09  Joel Brobecker  <brobecker@gnat.com>
2210
2211         * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
2212
2213         * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
2214
2215 2004-09-09  Cyrille Comar  <comar@act-europe.fr>
2216
2217         * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
2218         internal unit.
2219
2220         * opt.ads: Add Ada_Version_Runtime constant used to decide which
2221         version of the language is used to compile the run time.
2222
2223 2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>
2224
2225         * sem_util.adb (Requires_Transient_Scope): Re-enable handling
2226         of variable length temporaries for function return now that the
2227         back-end and gigi support it.
2228
2229 2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2230
2231         * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
2232
2233         * trans.c (struct stmt_group): Delete field GLOBAL.
2234         (gnat_init_stmt_group): Do not initialize it.
2235         (call_to_gnu): Use save_expr, not protect_multiple_eval.
2236         (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
2237         (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
2238         (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
2239         (start_stmt_group): Likewise.
2240         (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
2241
2242         * utils2.c (ggc.h): Include.
2243         (build_call_raise): Call build_int_cst, not build_int_2.
2244
2245         * utils.c (gnat_init_decl_processing): Fix arg to
2246         build_common_tree_nodes.
2247         (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
2248         (gnat_define_builtin): Set built_in_decls.
2249         (init_gigi_decls): Call build_int_cst, not build_int_2.
2250
2251         * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
2252         (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
2253         (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
2254         (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
2255         SET_TYPE_MODULE): Use them.
2256         (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
2257         (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
2258         (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
2259         SET_TYPE_ADA_SIZE): Likewise.
2260         (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
2261         (DECL_CONST_CORRESPONDING_VAR,
2262         SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
2263         (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
2264         (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
2265         (TYPE_RM_SIZE_NUM): New macro.
2266         (TYPE_RM_SIZE): Modified to use above.
2267
2268         * cuintp.c: (build_cst_from_int): New function.
2269         (UI_To_gnu): Use it.
2270
2271         * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
2272         (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
2273         (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
2274         MIN_EXPR for the size, copy it into new.
2275
2276 2004-09-01  Robert Dewar  <dewar@gnat.com>
2277
2278         * exp_ch6.adb (Expand_Call): Properly handle validity checks for
2279         packed indexed component where array is an IN OUT formal. This
2280         generated garbage code previously.
2281
2282         * gnat_ugn.texi: Document -fverbose-asm
2283
2284         * gnat-style.texi: Minor updates (note that boolean constants and
2285         variables are joined with AND/OR rather than short circuit forms).
2286
2287 2004-09-01  Ed Schonberg  <schonberg@gnat.com>
2288
2289         * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
2290         it is an upward conversion of an untagged type with no representation
2291         change.
2292
2293 2004-09-01  Thomas Quinot  <quinot@act-europe.fr>
2294
2295         * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
2296         System.Partition_Interface.
2297
2298         * checks.adb (Apply_Access_Checks): Do not generate checks when
2299         expander is not active (but check for unset reference to prefix of
2300         dereference).
2301
2302         * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
2303         pragma Debug as an if statement with a constant condition, for
2304         consistent treatment of entity references contained within the
2305         enclosed procedure call.
2306
2307 2004-09-01  Vincent Celier  <celier@gnat.com>
2308
2309         * bindgen.adb: (Set_EA_Last): New procedure
2310         (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
2311         Set_EA_Last.
2312         (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
2313         (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
2314         linked without errors.
2315         (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
2316         ST and EA.
2317         (Gen_Exception_Table_C): Correct same bugs
2318
2319         * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
2320
2321         * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
2322         on Windows, make sure that the drive letter is in upper case.
2323
2324         * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
2325         Windows, when the drive letter is added and Case_Sensitive is True, the
2326         drive letter is forced to upper case.
2327
2328         * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
2329         to Options_2 for the call to MLib.Utl.Gcc.
2330
2331         * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
2332         directory separator when defining BASE_DIR.
2333
2334 2004-09-01  Pascal Obry  <obry@gnat.com>
2335
2336         * gprcmd.adb (Extend): Do not output trailing directory separator. This
2337         is not needed and it confuses Windows GNU/make which does not report
2338         directory terminated by a slash as a directory.
2339         (gprcmd): Idem for "pwd" internal command.
2340
2341         * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
2342         target names rewrite to fix regressions with recent version of
2343         GNU/make. Starting with GNU/make 3.80 the pipe character was not
2344         handled properly anymore.
2345
2346 2004-09-01  Andreas Schwab  <schwab@suse.de>
2347
2348         * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
2349         * raise.c [!IN_RTS]: Undef abort.
2350
2351 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
2352
2353         * utils2.c (build_allocator): Use ssize_int.
2354
2355         * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
2356
2357 2004-08-27  Andreas Schwab  <schwab@suse.de>
2358
2359         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
2360
2361 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
2362             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2363
2364         * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
2365
2366 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
2367
2368         * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
2369         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
2370         * utils.c (init_gigi_decls): Likewise.
2371         * utils2.c (build_call_raise, build_allocator): Likewise.
2372
2373 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
2374
2375         * utils.c (gnat_init_decl_processing): Adjust
2376         build_common_tree_nodes call.
2377
2378 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
2379
2380         * utils2.c (build_allocator): Use build_int_cst for negative
2381         size types.
2382
2383 2004-08-18  Richard Henderson  <rth@redhat.com>
2384
2385         * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
2386
2387 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
2388
2389         * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
2390         call.s
2391         * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
2392         (gnat_to_gnu): Likewise.
2393
2394 2004-08-16  Pascal Obry  <obry@gnat.com>
2395
2396         * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
2397         backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
2398         option and not mdll anymore. Update comment.
2399
2400 2004-08-16  Pascal Obry  <obry@gnat.com>
2401
2402         * bld.adb (Put_Include_Project): Properly handle directory separators
2403         on Windows.
2404
2405 2004-08-16  Ed Schonberg  <schonberg@gnat.com>
2406
2407         * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
2408         decreasing the number of allocated junk nodes while searching for the
2409         appropriate subprogram.
2410
2411 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
2412
2413         * cuintp.c (UI_To_gnu): Use build_int_cst..
2414         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
2415         * utils.c (init_gigi_decls): Likewise.
2416         * utils2.c (build_call_raise): Likewise.
2417
2418 2004-08-13  Olivier Hainque  <hainque@act-europe.fr>
2419
2420         * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
2421         for a global aliased object with a variable size and an unconstrained
2422         nominal subtype, pretend there is no initializer if the one we have is
2423         incomplete, and avoid referencing an inexistant component in there. The
2424         part we have will be rebuilt anyway and the reference may confuse
2425         further operations.
2426
2427 2004-08-13  Thomas Quinot  <quinot@act-europe.fr>
2428
2429         * einfo.ads: Minor reformatting
2430
2431         * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
2432         restrictions in the ALI if we only want to warn about violations.
2433
2434 2004-08-13  Vincent Celier  <celier@gnat.com>
2435
2436         * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
2437         when creating a new Unit_Record in table Units.
2438
2439         * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
2440         that are violated, if any.
2441
2442         * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
2443         add directory separator if path already ends with a directory separator.
2444
2445 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
2446
2447         * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
2448         unit, this is an attempt to inline a construct that is not available in
2449         the current restricted mode, so abort rather than trying to continue.
2450
2451         * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
2452         discriminants that rename those of the parent, recover names of
2453         original discriminants for the constraint on the full view of the
2454         parent.
2455         (Complete_Private_Subtype): Do not create a subtype declaration if the
2456         subtype is an itype.
2457
2458         * gnat_rm.texi: Added section on implementation of discriminated
2459         records with default values for discriminants.
2460
2461 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
2462
2463         PR ada/15601
2464         * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
2465         the second operand is overloaded.
2466
2467 2004-08-10  Richard Henderson  <rth@redhat.com>
2468
2469         * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
2470         add __builtin_alloca.
2471
2472 2004-08-10  Richard Henderson  <rth@redhat.com>
2473
2474         * config-lang.in (boot_language): Yes.
2475
2476 2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
2477
2478         * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
2479         from complaining on potential uninitialized reference.
2480         Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
2481         new specification and test explicitly for non-zero return value.
2482
2483         * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
2484         returning C.int, to avoid using a derived boolean type.
2485
2486         * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
2487         Duplicate_Subexpr_No_Checks in preference to direct use of
2488         Remove_Side_Effects and New_Copy_Tree.
2489         Clear Comes_From_Source on prefix of 'Size attribute reference.
2490
2491         * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
2492         g-socthi-vxworks.adb: Change calls to
2493         GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
2494         and test explicitly for non-zero return value.
2495
2496         * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
2497         (Is_Socket_In_Set): Declare imported function as returning C.int, to
2498         avoid using a derived boolean type.
2499
2500 2004-08-09  Albert Lee  <lee@gnat.com>
2501
2502         * system-irix-n32.ads: Refine tasking priority constants for IRIX.
2503
2504 2004-08-09  Pascal Obry  <obry@gnat.com>
2505
2506         * gnat_ugn.texi: Document new way to build DLLs on Windows using
2507         GCC's -shared option.
2508
2509         * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
2510         Options_2 parameter (options put after object files).
2511
2512 2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
2513
2514         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
2515         ignore overflows on low and high bounds of an index to also account for
2516         differences in signedness between sizetype and gnu_index_subtype.
2517         These are as legitimate as the ones caused by a lower TYPE_PRECISION
2518         on sizetype.
2519
2520 2004-08-09  Robert Dewar  <dewar@gnat.com>
2521
2522         * s-solita.ads, s-solita.adb: Minor reformatting
2523
2524         * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
2525         Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
2526         obsolescent section
2527         Add note that No_Implicit_Conditionals does not suppress
2528         run time constraint checks.
2529
2530         * vms_conv.ads: Minor reformatting
2531
2532         * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
2533         and necessary for following change).
2534         (Mark): Return new format Mark_Id containing sec stack address
2535         (Release): Use sec stack address from Mark_Id avoiding Self call
2536
2537         * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
2538         pointer (cleanup and necessary for following change).
2539         Define Mark_Id as record containing address of secondary stack, that way
2540         Release does not need to find the stack again, decreasing the number of
2541         calls to Self and improving efficiency.
2542
2543         * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
2544
2545         * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
2546         case variable into the individual case branches when possible.
2547
2548         * sem_ch11.adb: Minor reformatting
2549
2550         * prj.ads: Correct spelling of suffixs
2551
2552         * prj-nmsc.adb: Minor reformatting
2553         Correct spelling suffixs throughout (also in identifiers)
2554
2555         * freeze.adb: Minor spelling correction
2556
2557         * exp_ch2.adb: Cleanups to handling of Current_Value
2558         (no functional effect).
2559
2560         * bld.adb: Correct spelling of suffixs
2561
2562         * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
2563
2564 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
2565
2566         PR ada/15408
2567
2568         * sem_ch7.adb (Install_Private_Declarations): In the body of the
2569         package or of a child, private entities are both immediately_visible
2570         and not hidden.
2571
2572 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
2573
2574         * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
2575         there are no range checks on the value of the literal.
2576
2577         * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
2578         wrapped is the triggering alternative of an asynchronous select, action
2579         statements mustbe inserted before the select itself.
2580
2581         * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
2582         case where the prefix is a protected function call.
2583         (Resolve_Attribute, case 'Access): The attribute reference on a
2584         subprogram is legal in a generic body if the subprogram is declared
2585         elsewhere.
2586
2587 2004-08-09  Vincent Celier  <celier@gnat.com>
2588
2589         * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
2590         languages, otherwise building the library may fail with unresolved
2591         symbols.
2592         (Compile_Sources): Do not build libraries if -c switch is used
2593
2594         * gnatlink.adb (Process_Args): New switches -M and -Mmap
2595         (Write_Usage): If map file creation is supported, output new switches
2596         -M and -Mmap.
2597         (Gnatlink): When -M is specified, add the necessary switch(es) to the
2598         gcc call, when supported.
2599
2600         * Makefile.in: Added indepsw.o to the object list for gnatlink
2601         Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
2602
2603         * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
2604         indepsw.adb, indepsw.ads: New files.
2605
2606 2004-08-09  Bernard Banner  <banner@gnat.com>
2607
2608         * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
2609
2610         * Makefile.in: add section for vxworks x86
2611
2612 2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
2613
2614         * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
2615         per-object constrained components where the discriminant is of an
2616         Access type.
2617         (Build_Record_Init_Proc): Add condition to prevent the inheritance of
2618         the parent initialization procedure for derived Unchecked_Unions.
2619         Instead, derived Unchecked_Unions build their own initialization
2620         procedure.
2621         (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
2622         Check the body of the subprogram for details.
2623         (Freeze_Record_Type): Prevent the inheritance of discriminant checking
2624         functions for derived Unchecked_Union types by introducing a condition.
2625         Allow the creation of TSS equality functions for Unchecked_Unions.
2626         (Make_Eq_Case): Rename formal parameter Node to E in function signature.
2627         Add formal parameter Discr to function signature. Discr is used to
2628         control the generated case statement for Unchecked_Union types.
2629         (Make_Eq_If): Rename formal parameter Node to E in function signature.
2630
2631         * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
2632         Unchecked_Unions.
2633         Check the body of the subprogram for details.
2634         (Expand_Composite_Equality): Augment composite type equality to include
2635         correct handling of Unchecked_Union components.
2636         (Expand_N_In): Add condition to detect illegal membership tests when the
2637         subtype mark is a constrained Unchecked_Union and the expression lacks
2638         inferable discriminants, and build a Raise_Program_Error node.
2639         (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
2640         to detect types that contain components of unconstrained Unchecked_Union
2641         subtype. Add condition to detect equality between types that have an
2642         unconstrained Unchecked_Union component, and build a Raise_Program_Error
2643         node. Add condition to detect equality between Unchecked_Union types
2644         that lack inferable discriminants, and build a Raise_Program_Error node.
2645         Otherwise build a TSS equality function call.
2646         (Expand_N_Type_Conversion): Add condition to detect illegal conversions
2647         from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
2648         with the operand lacking inferable discriminants, and build a Raise_
2649         Program_Error node.
2650         (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
2651         composite equality.
2652         (Has_Inferable_Discriminants): Implement new predicate for objects and
2653         expressions of Unchecked_Union type. Check the body of subprogram for
2654         details.
2655         (Has_Unconstrained_UU_Components): Add function
2656         Component_Is_Unconstrained_UU. It is used to detect whether a single
2657         component is of an unconstrained Unchecked_Union subtype. Add function
2658         Variant_Is_Unconstrained_UU. It is used to detect whether a single
2659         component inside a variant is of an unconstrained Unchecked_Union type.
2660
2661         * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
2662         inferred discriminant values. Add condition to generate a case
2663         statement with an inferred discriminant as the switch.
2664         (Make_Component_List_Assign): Introduce a Boolean flag that determines
2665         the behaviour of the subprogram in the presence of an Unchecked_Union.
2666         Add condition to trigger the usage of the inferred discriminant value
2667         as the generated case statement switch.
2668         (Make_Field_Assign): Introduce a Boolean flag that determines the
2669         behaviour of the subprogram in the presence of an Unchecked_Union. Add
2670         condition to trigger the usage of the inferred discriminant value as
2671         the right-hand side of the generated assignment.
2672
2673         * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
2674         parameter generation when dealing with Unchecked_Unions.
2675
2676         * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
2677         checks for Unchecked_Unions.
2678
2679         * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
2680
2681         * exp_attr.adb (Expand_N_Attribute_Reference): Produce
2682         Raise_Program_Error nodes for the execution of Read and Write
2683         attributes of Unchecked_Union types and the execution of Input and
2684         Output attributes of Unchecked_Union types that lack default
2685         discriminant values.
2686
2687         * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
2688         Unchecked_Union. Add procedure Check_Component. It is used to inspect
2689         per-object constrained components of Unchecked_Unions for being
2690         Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
2691         check individual components withing a variant.
2692
2693         * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
2694         comparison of Unchecked_Unions.
2695         (Resolve_Equality_OP): Remove guard that prevents equality between
2696         Unchecked_Unions.
2697
2698         * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
2699         of component subtypes for Unchecked_Union components.
2700         (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
2701         since it is the actual subtype.
2702
2703         * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
2704         pass of Unchecked_Union subtypes as generic actuals to formal types
2705         that lack known_discriminant_parts or that are derived Unchecked_Union
2706         types, and do nothing. In any other case, produce an error message.
2707
2708         * sem_ch3.adb (Analyze_Component_Declaration): Add function
2709         Contains_POC. It determines whether a constraint uses the discriminant
2710         of an enclosing record type.
2711         Add condition to detect per-object constrained component and set the
2712         appropriate flag.
2713         (Derived_Type_Declaration): Remove guard that prevents derivation from
2714         Unchecked_Union types.
2715         (Process_Subtype): Remove quard that prevents the creation of Unchecked_
2716         Union subtypes.
2717
2718         * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
2719         references to Unchecked_Union discriminants.
2720
2721         * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
2722         formal generation when dealing with Unchecked_Unions.
2723         (Set_Actual_Subtypes): Add condition to prevent generation of actual
2724         subtypes for Unchecked_Unions.
2725
2726         * sem_ch7.adb (Analyze_Package_Specification): Add procedure
2727         Inspect_Unchecked_Union_Completion. It is used to detect incorrect
2728         completions of discriminated partial views by Unchecked_Unions and
2729         produce an error message.
2730
2731 2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2732
2733         * trans.c (struct stmt_group): New field, GLOBAL.
2734         (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
2735         (struct elab_info): New struct.
2736         (elab_info_list, gnu_elab_proc_stack): New variables.
2737         (Compilation_Unit_to_gnu): New procedure.
2738         (gigi): Call it and also handle elaboration procs we've saved.
2739         (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
2740         global field from parent.
2741         (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
2742         (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
2743         (start_stmt_group): Initialize global field from parent.
2744         (add_decl_expr): Set to global for current statement group.
2745         (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
2746         post.
2747
2748         * utils.c (global_bindings_p): True when no current_function_decl; no
2749         longer check current_binding_level.
2750
2751 2004-08-09  Ben Brosgol  <brosgol@gnat.com>
2752
2753         * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
2754         choice.
2755
2756         * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
2757
2758 2004-08-06  Andreas Schwab  <schwab@suse.de>
2759
2760         * utils.c (gnat_define_builtin): Remove second parameter of
2761         make_decl_rtl.
2762         (begin_subprog_body): Likewise.
2763
2764 2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
2765
2766         * sem_util.adb (Requires_Transient_Scope): Temporarily disable
2767         optimization, not supported by the tree-ssa back-end.
2768
2769 2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
2770
2771         * s-mastop-irix.adb: Update comments.
2772
2773         * a-except.adb (Exception_Information): Raise Constraint_Error if
2774         exception Id is Null_Id.
2775         This is required behavior, which is more reliably and clearly checked
2776         at the top level interface level.
2777
2778 2004-07-26  Javier Miranda  <miranda@gnat.com>
2779
2780         * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
2781         call if a component has no default_expression and the box is used.
2782
2783         * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
2784         default_expression and you use box, it behaves as if you had declared a
2785         stand-alone object.
2786         (Resolve_Record_Aggregate): If a component has no default_expression and
2787         you use box, it behaves as if you had declared a stand-alone object.
2788
2789         * sem_ch10.adb (Install_Siblings): Do not make visible the private
2790         entities of private-with siblings.
2791
2792 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
2793
2794         * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
2795         for a component of an itype, set the parent pointer for analysis,
2796         there is no list in which to insert it.
2797
2798         * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
2799         bona-fide renamings, not for inherited operations.
2800
2801         * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
2802         actual for a formal that is an access parameter, create local
2803         finalization list even if the expression is not an aggregate.
2804
2805 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
2806
2807         PR ada/16213
2808         * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
2809         Diagnose properly illegal subprogram renamings that are library units.
2810
2811 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
2812
2813         PR ada/15588
2814         * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
2815         conversion rewritten as an unchecked conversion, check that original
2816         expression is a variable.
2817
2818         * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
2819         unchecked_conversion, create new node rather than rewriting in place,
2820         to preserve original construct.
2821
2822 2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2823
2824         * gigi.h (gnat_expand_body): Deleted.
2825
2826         * Make-lang.in: (trans.o): Depends on function.h.
2827
2828         * misc.c: (gnat_expand_body): Moved to here.
2829
2830         * trans.c (gnat_expand_body_1): Deleted.
2831         (gnat_expand_body): Moved from here.
2832         (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
2833         (add_stmt): Check for marked visited with global_bindings_p.
2834         (gnat_gimplify_expr, case COMPONENT_REF): New case.
2835         (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
2836
2837         * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
2838         VIEW_CONVERT_EXPR if not operation type.
2839
2840         * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
2841         fat pointer.
2842
2843         * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
2844         changes: reformatting of negation operators, removing unneeded
2845         inequality comparison with zero, converting equality comparisons with
2846         zero to negations, changing int/0/1 to bool/false/true, replace calls
2847         to gigi_abort with abort, and various other similar changes.
2848
2849 2004-07-26  Vincent Celier  <celier@gnat.com>
2850
2851         * gnatcmd.adb (GNATCmd): Add processing for new built-in command
2852         "setup".
2853
2854         * make.adb (Gnatmake): Fail when a library is not present and there is
2855         no object directory.
2856
2857         * mlib-prj.adb (Check_Library): No need to check if the library needs
2858         to be rebuilt if there is no object directory, hence no object files
2859         to build the library.
2860
2861         * opt.ads (Setup_Projects): New Boolean flag.
2862
2863         * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
2864         Location.
2865         Create directory when Kind /= "" and in "gnat setup". Report error if
2866         directory cannot be created.
2867         (Ada_Check): Create library interface copy dir if it does not exist
2868         and we are in "gnat setup".
2869         (Find_Sources): No error if in "gnat setup" and no Ada sources were
2870         found.
2871         (Language_Independent_Check): Create object directory, exec directory
2872         and/or library directory if they do not exist and we are in
2873         "gnat setup".
2874
2875         * vms_conv.ads: (Command_Type): New command Setup.
2876
2877         * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
2878
2879         * vms_data.ads: Add qualifiers/switches for new built-in command
2880         "setup".
2881
2882 2004-07-25  Richard Henderson  <rth@redhat.com>
2883
2884         * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
2885         DECL_IGNORED_P on RESULT_DECL.
2886
2887 2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
2888
2889         * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
2890         allocation and potentially overflowing update with
2891         Tailored_Exception_Information. Use the sec-stack free procedural
2892         interface to output Exception_Information instead.
2893
2894         * a-except.adb (To_Stderr): New subprogram for character, and string
2895         version moved from a-exextr to be visible from other separate units.
2896         (Tailored_Exception_Information): Remove the procedural version,
2897         previously used by the default Last_Chance_Handler and not any more.
2898         Adjust various comments.
2899
2900         * a-exexda.adb: Generalize the exception information procedural
2901         interface, to minimize the use of secondary stack and the need for
2902         local buffers when the info is to be output to stderr:
2903         (Address_Image): Removed.
2904         (Append_Info_Character): New subprogram, checking for overflows and
2905         outputing to stderr if buffer to fill is of length 0.
2906         (Append_Info_String): Output to stderr if buffer to fill is of length 0.
2907         (Append_Info_Address, Append_Info_Exception_Name,
2908         Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
2909         Append_Info_Basic_Exception_Traceback,
2910         Append_Info_Exception_Information): New subprograms.
2911         (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
2912         (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
2913         Exception_Info_Maxlength, Exception_Name_Length,
2914         Exception_Message_Length): New subprograms.
2915         (Exception_Information): Use Append_Info_Exception_Information.
2916         (Tailored_Exception_Information): Use
2917         Append_Info_Basic_Exception_Information.
2918         Export services for the default Last_Chance_Handler.
2919
2920         * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
2921         other separate units.
2922
2923 2004-07-20  Vincent Celier  <celier@gnat.com>
2924
2925         * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
2926
2927 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
2928
2929         * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
2930         emit itype references for the designated types of component types that
2931         are declared outside of the full record declaration, and that may
2932         denote a partial view of that record type.
2933
2934 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
2935
2936         PR ada/15607
2937         * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
2938         which is the designated type in an access component declaration, to the
2939         list of incomplete dependents of the parent type, to avoid elaboration
2940         issues with out-of-scope subtypes.
2941         (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
2942         full view of the parent.
2943
2944 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
2945
2946         PR ada/15610
2947         * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
2948         entities that are hidden, such as references to generic actuals
2949         outside an instance.
2950
2951 2004-07-20  Javier Miranda  <miranda@gnat.com>
2952
2953         * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
2954         support to the new notation.
2955         (Analyze_Selected_Component): Add call to Try_Object_Operation.
2956
2957 2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
2958
2959         * s-taprob.adb: Adding the elaboration code required for initializing
2960         the tasking soft links that are common to the full and the restricted
2961         run times.
2962
2963         * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
2964         restricted run time has been moved to the package
2965         System.Soft_Links.Tasking.
2966
2967         * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
2968         restricted run time has been moved to the package
2969         System.Soft_Links.Tasking.
2970
2971         * Makefile.rtl: Add entry for s-solita.o in run-time library list.
2972
2973         * s-solita.ads, s-solita.adb: New files.
2974
2975 2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2976
2977         * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
2978         Case_Statement_to_gnu): Split off from gnat_to_gnu.
2979         (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
2980         Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
2981         Exception_Handler_to_gnu_zcx): Likewise.
2982
2983 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
2984
2985         * gigi.h (builtin_function): Declare.
2986
2987 2004-07-15  Robert Dewar  <dewar@gnat.com>
2988
2989         * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
2990         reformatting
2991
2992         * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
2993         access values as an example of a warning.
2994
2995         * gnat_rm.texi: Document new attribute Has_Access_Values
2996
2997         * gnat-style.texi: Document that box comments belong on nested
2998         subprograms
2999
3000         * sem_util.ads (Has_Access_Values): Improved documentation
3001
3002         * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
3003
3004         * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
3005         (Process_Interface_Name): Call to this new procedure
3006         (Set_Extended_Import_Export_External_Name): Call to this new procedure
3007
3008         * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
3009
3010         * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
3011
3012         * einfo.ads: Minor comment typo fixed
3013
3014 2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
3015
3016         * snames.adb: Add _atcb.
3017
3018         * snames.ads: Add Name_uATCB.
3019
3020         * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
3021         (in the expanded code) when using the restricted run time.
3022
3023         * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
3024         a in parameter in order to allow ATCBs to be preallocated (in the
3025         expanded code).
3026
3027         * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
3028         order to allow ATCBs to be preallocated. In case of error, the ATCB is
3029         deallocated in System.Tasking.Stages.
3030
3031         * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
3032         order to allow ATCBs to be preallocated.
3033
3034         * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
3035         here. It was previously done in Initialize_ATCB.
3036
3037         * rtsfind.ads: Make the Ada_Task_Control_Block visible.
3038
3039         * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
3040         Restricted run time.
3041
3042         * exp_ch3.adb: When using the Restricted run time, pass the
3043         preallocated Ada_Task_Control_Block when creating a task.
3044
3045 2004-07-15  Ed Schonberg  <schonberg@gnat.com>
3046
3047         * sem_util.adb (Normalize_Actuals): If there are no actuals on a
3048         function call that is itself an actual in an enclosing call, diagnose
3049         problem here rather than assuming that resolution will catch it.
3050
3051         * sem_ch7.adb (Analyze_Package_Specification): If the specification is
3052         the local copy of a generic unit for a formal package, and the generic
3053         is a child unit, install private part of ancestors before compiling
3054         private part of spec.
3055
3056         * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
3057         use scope entities rather than tree structures, to handle properly
3058         parent units that are instances rewritten as bodies for inlining
3059         purposes.
3060
3061         * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
3062         Remove_Parents): Handle properly a parent unit that is an
3063         instantiation, when the unit has been rewritten as a body for inlining
3064         purposes.
3065
3066         * par.adb (Goto_List): Global variable to collect goto statements in a
3067         given unit, for use in detecting natural loops.
3068
3069         * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
3070         use in detecting natural loops.
3071
3072         * par-labl.adb (Find_Natural_Loops): Recognize loops create by
3073         backwards goto's, and rewrite as a infinite loop, to improve locality
3074         of temporaries.
3075
3076         * exp_util.adb (Force_Evaluation): Recognize a left-hand side
3077         subcomponent that includes an indexed reference, to prevent the
3078         generation of copies that would miscompile the desired assignment
3079         statement.
3080         (Build_Task_Image_Decls): Add a numeric suffix to
3081         generated name for string variable, to avoid spurious conflicts with
3082         the name of the type of a single protected object.
3083
3084         * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
3085         loop with an explicit exit statement, to avoid generating an
3086         out-of-range value with 'Succ leading to spurious constraint_errors
3087         when compiling with -gnatVo.
3088
3089 2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
3090
3091         * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
3092         might not be analyzed yet, even if its Etype is already set (case of an
3093         unchecked conversion built using Unchecked_Convert_To, for example).
3094         If the prefix has already been analyzed, this will be a nop anyway.
3095
3096         * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
3097         controller type, or an assignment of a record type with controlled
3098         components, copy only user data, and leave the finalization chain
3099         pointers untouched.
3100
3101 2004-07-15  Vincent Celier  <celier@gnat.com>
3102
3103         * make.adb (Collect_Arguments): Improve error message when attempting
3104         to compile a source not part of any project, when -x is not used.
3105
3106         * prj.ads: (Defined_Variable_Kind): New subtype
3107
3108         * prj-attr.adb (Register_New_Package): Two new procedures to register
3109         a package with or without its attributes.
3110         (Register_New_Attribute): Mew procedure to register a new attribute in a
3111         package.
3112         New attribute oriented subprograms: Attribute_Node_Id_Of,
3113         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
3114         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
3115         Next_Attribute.
3116         New package oriented subprograms: Package_Node_Id_Of,
3117         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
3118
3119         * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
3120         type.
3121         (Package_Node_Id): Now a private, self initialized type
3122         (Register_New_Package): New procedure to register a package with its
3123         attributes.
3124         New attribute oriented subprograms: Attribute_Node_Id_Of,
3125         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
3126         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
3127         Next_Attribute.
3128         New package oriented subprograms: Package_Node_Id_Of,
3129         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
3130
3131         * prj-dect.adb (Parse_Attribute_Declaration,
3132         Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
3133
3134         * prj-makr.adb (Make): Parse existing project file before creating
3135         other files. Fail if there was an error during parsing.
3136
3137         * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
3138         new spec of Prj.Attr.
3139
3140         * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
3141         to new spec of Prj.Attr.
3142
3143 2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3144
3145         * utils2.c: Fix typo in comment.
3146
3147 2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3148
3149         * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
3150         * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
3151
3152 2004-07-14  Andreas Schwab  <schwab@suse.de>
3153
3154         * trans.c (gnat_init_stmt_group): Remove duplicate definition.
3155
3156 2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3157
3158         * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
3159         object type.
3160         (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
3161         TYPE_STUB_DECL.
3162
3163         * misc.c (gnat_types_compatible_p): New function.
3164         (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
3165         (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
3166
3167         * trans.c (gigi): Move processing of main N_Compilation_Unit here.
3168         (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
3169         (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
3170         (mark_visited): Don't mark dummy type.
3171         (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
3172         parameter, we must remove any LJM building from GNU_NAME.
3173         (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
3174         (pos_to_constructor): Use int_const_binop.
3175         (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
3176         PARM_DECL.
3177
3178         * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
3179         (gnat_pushlevel): Set TREE_USE on BLOCK node.
3180         (gnat_install_builtins): Add __builtin_memset.
3181
3182 2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
3183
3184         * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
3185         for a renaming, stabilize the initialization expression if we are at a
3186         local level.  At the local level, uses of the renaming may be performed
3187         by a direct dereference of the initializing expression, and we don't
3188         want possible variables there to be evaluated for every use.
3189
3190         * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
3191         Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
3192         them on the way.  Account for the fact that we may introduce side
3193         effects in the process.
3194
3195 2004-07-13  Richard Henderson  <rth@redhat.com>
3196
3197         * misc.c (default_pass_by_ref): Use pass_by_reference.
3198
3199 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
3200
3201         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
3202         LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
3203
3204 2004-07-08  Richard Henderson  <rth@redhat.com>
3205
3206         * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
3207         commentary.
3208
3209 2004-07-06  Vincent Celier  <celier@gnat.com>
3210
3211         * vms_conv.ads: Minor reformatting.
3212         Alphabetical order for enumerated values of type Command_Type, to have
3213         the command in alphabetical order for the usage.
3214
3215         * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
3216         the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
3217
3218         * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
3219
3220         * makegpr.adb (Global_Archive_Exists): New global Boolean variable
3221         (Add_Archive_Path): Only add the global archive if there is one.
3222         (Build_Global_Archive): Set Global_Archive_Exists depending if there is
3223         or not any object file to put in the global archive, and don't build
3224         a global archive if there is none.
3225         (X_Switches): New table
3226         (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
3227         in the X_Switches table, if any.
3228         (Initialize): Make sure the X_Switches table is empty
3229         (Scan_Arg): Record -X switches in table X_Switches
3230
3231         * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
3232
3233         * make.adb: Minor comment fix
3234
3235         * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
3236         invoked with directory information, add the directory in front of the
3237         path.
3238
3239         * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
3240         invoked with directory information, add the directory in front of the
3241         path.
3242
3243         * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
3244         when Keep_Temporary_Files is False.
3245         (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
3246         directory information, add the directory in front of the path.
3247         When not on VMS, handle new switch -dn before the command to set
3248         Keep_Temporary_Files to True.
3249         (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
3250         everywhere.
3251
3252         * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
3253         invoked with directory information, add the directory in front of the
3254         path.
3255
3256 2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
3257
3258         * snames.ads, snames.adb (Name_Stub): New name for the distributed
3259         systems annex.
3260
3261         * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
3262         New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
3263
3264         * g-socket.adb (To_Timeval): Fix incorrect conversion of
3265         Selector_Duration to Timeval for the case of 0.0.
3266
3267         * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
3268         documentation from Evolve_And_Then.
3269
3270 2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
3271
3272         * s-taprop-tru64.adb, s-taprop-os2.adb,
3273         s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
3274
3275 2004-07-06  Robert Dewar  <dewar@gnat.com>
3276
3277         * s-osinte-hpux.ads, s-osinte-freebsd.ads,
3278         s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
3279         s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
3280         s-interr-sigaction.adb, s-taprop-irix-athread.adb,
3281         s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
3282         s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
3283         s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
3284         s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
3285         a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
3286         a-tags.ads, bindgen.ads, checks.adb, checks.adb,
3287         csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
3288         exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
3289         g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
3290         i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
3291         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
3292         sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
3293         sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
3294         s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
3295         s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
3296         s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
3297         vms_data.ads: Minor reformatting,
3298         Fix bad box comment format.
3299
3300         * gnat_rm.texi: Fix minor grammatical error
3301
3302         * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
3303
3304         * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
3305         more cases of discriminated records to be recognized as not needing a
3306         secondary stack.
3307         (Has_Access_Values): New function.
3308
3309         * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
3310
3311         * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
3312         Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
3313         with LRM terminology).
3314         Change terminology in comments primitive type => elementary type.
3315
3316 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
3317
3318         PR ada/15602
3319         * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
3320         parameters do not impose any requirements on the presence of a body.
3321
3322 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
3323
3324         PR ada/15593
3325         * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
3326         compilation unit and is in an open scope at the point of instantiation,
3327         assume that a body may be present later.
3328
3329 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
3330
3331         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
3332         Improve error message when specified size is not supported.
3333
3334         * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
3335         is never a primitive operation.
3336
3337 2004-07-05  Andreas Schwab  <schwab@suse.de>
3338
3339         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
3340         RECORD_OR_UNION_CHECK.
3341         (TYPE_CONTAINS_TEMPLATE_P): Likewise.
3342
3343 2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
3344
3345         * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
3346         dependency on xgnatugn, instead build it via a submake.
3347         (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
3348
3349 2004-07-04  Richard Henderson  <rth@redhat.com>
3350
3351         * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
3352
3353 2004-07-01  Richard Henderson  <rth@redhat.com>
3354
3355         * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
3356         * utils.c (max_size): Likewise.
3357
3358 2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3359
3360         * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
3361         and rest_of_type_compilation; add arg to create_*_decl.
3362         (annotate_decl_with_node): Deleted.
3363         (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
3364         * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
3365         (get_current_block_context, gnat_pushdecl): New declarations.
3366         (gnat_init_stmt_group): Likewise.
3367         (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
3368         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
3369         (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
3370         (gnat_init): Call gnat_init_stmt_group.
3371         * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
3372         (gnu_pending_elaboration_list): Deleted.
3373         (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
3374         (gigi): Rearrange initialization calls and move some to last above.
3375         (gnat_to_gnu): If statement and not in procedure, go into elab proc.
3376         Delete calls to add_decl_expr; add arg to create_*_decl.
3377         (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
3378         (gnat_to_gnu, case N_Subprogram_Body): Move some code to
3379         begin_subprog_body and call it.
3380         Don't push and pop ggc context.
3381         (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
3382         (add_stmt): Remove handling of DECL_EXPR from here.
3383         If not in function, mark visited.
3384         (add_decl_expr): Put global at top level.
3385         Check for cases of DECL_INITIAL we have to handle here.
3386         (process_type): Add extra arg to create_type_decl.
3387         (build_unit_elab): Rework to just gimplify.
3388         * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
3389         (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
3390         (get_pending_elaborations, pending_elaborations_p): Likewise.
3391         (push_pending_elaborations, pop_pending_elaborations): Likewise.
3392         (get_elaboration_location, insert_elaboration_list): Likewise.
3393         (gnat_binding_level): Renamed from ada_binding_level.
3394         (init_gnat_to_gnu): Don't clear pending_elaborations.
3395         (global_bindings_p): Treat as global if no current_binding_level.
3396         (set_current_block_context): New function.
3397         (gnat_pushdecl): Renamed from pushdecl; major rework.
3398         All callers changed.
3399         (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
3400         (finish_record_type): Call call pushdecl for stub decl.
3401         (function_nesting_depth): Deleted.
3402         (begin_subprog_body): Delete obsolete code.
3403         * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
3404
3405 2004-06-28  Robert Dewar  <dewar@gnat.com>
3406
3407         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
3408         mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
3409         mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
3410         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
3411         a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
3412
3413         * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
3414         deal with problem of inefficient slices on machines with strict
3415         alignment, when the slice is a component of a composite.
3416
3417         * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
3418         machines, we need the check there as well.
3419
3420 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
3421
3422         * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
3423         determine safe copying direction for overlapping slice assignments
3424         when component is controlled.
3425
3426         * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
3427         formal derived type in the actual for a formal package are visible in
3428         the enclosing instance.
3429
3430 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
3431
3432         PR ada/15600
3433         * sem_util.adb (Trace_Components): Diagnose properly an illegal
3434         circularity involving a private type whose completion includes a
3435         self-referential component.
3436         (Enter_Name): Use Is_Inherited_Operation to distinguish a source
3437         renaming or an instantiation from an implicit derived operation.
3438
3439 2004-06-28  Pascal Obry  <obry@gnat.com>
3440
3441         * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
3442         DLL.
3443         (Library_File_Name_For): Idem.
3444
3445 2004-06-28  Matthew Gingell  <gingell@gnat.com>
3446
3447         * g-traceb.ads: Add explanatory note on the format of addresses
3448         expected by addr2line.
3449
3450 2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
3451
3452         * Makefile.in: Force debugging information on s-tasdeb.adb,
3453         a-except.adb and s-assert.adb needed by the debugger.
3454
3455 2004-06-28  Vincent Celier  <celier@gnat.com>
3456
3457         * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
3458         Need_To_Build_Lib.
3459         (Gnatmake): Ditto.
3460
3461         * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
3462
3463         * prj.adb: Minor reformatting
3464         (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
3465
3466         * prj.ads: Comment updates
3467         Minor reformatting
3468         (Project_Data): Change Flag1 to Need_To_Build_Lib.
3469         Remove Flag2: not used.
3470
3471         * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
3472         declaration.
3473
3474         * gnat_ugn.texi: Put a "null;" declaration in one project file example
3475
3476         * gnat_rm.texi: Document Empty declarations "null;".
3477
3478         * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
3479         front of the linker options.
3480         (Link_Foreign): Put the global archives and the libraries in front of
3481         the linker options.
3482
3483 2004-06-28  Javier Miranda  <miranda@gnat.com>
3484
3485         * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
3486         (RTU_Loaded): Code cleanup
3487         (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
3488         withed predefined units.
3489
3490         * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
3491         explicitly withed predefined units.
3492         Fix typo in comment
3493
3494         * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
3495         explicitly withed predefined units.
3496
3497 2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3498
3499         * ada-tree.def (DECL_STMT): Deleted.
3500         * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
3501         (DECL_STMT_VAR): Deleted.
3502         * decl.c: add_decl_stmt now add_decl_expr.
3503         * gigi.h: Likewise.
3504         * trans.c: Likewise.
3505         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
3506         (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
3507         (add_stmt): Only handle padded type here.
3508         (add_stmt_with_node): Allow gnat_node to not be present.
3509         (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
3510         (gnat_gimplify_stmt, case DECL_STMT): Deleted.
3511         (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
3512         make a SAVE_EXPR for the entire fat pointer.
3513         * utils.c (pushdecl): Walk a DECL_EXPR in global case.
3514         (create_index_type): Make a DECL_EXPR.
3515         (end_subprog_body): Don't call allocate_struct_function here but
3516         do clear cfun.
3517
3518 2004-06-25  Pascal Obry  <obry@gnat.com>
3519
3520         * makegpr.adb (Build_Library): Remove parameter Lib_Address and
3521         Relocatable from Build_Dynamic_Library call.
3522
3523         * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
3524         Relocatable are now synonym.
3525
3526         * Makefile.in: Use s-parame-mingw.adb on MingW platform.
3527
3528         * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
3529         Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
3530         call.
3531
3532         * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
3533         Lib_Address and Relocatable.
3534         (Default_DLL_Address): Removed.
3535
3536         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
3537         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
3538         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
3539         (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
3540         (Default_DLL_Address): Removed.
3541
3542         * mlib-tgt-mingw.adb: Ditto.
3543         (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
3544
3545         * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
3546         the initial thread stack size.
3547
3548         * a-strmap.ads: Move package L to private part as it is not used in
3549         the spec. Found while reading code.
3550
3551 2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
3552
3553         * tracebak.c: Introduce support for a GCC infrastructure based
3554         implementation of __gnat_backtrace.
3555
3556         * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
3557         any more. Use accessors instead. This eases maintenance and relaxes
3558         some alignment constraints.
3559         (_GNAT_Exception structure): Remove the Ada specific fields
3560         (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
3561         a-exexpr.adb.
3562         (is_handled_by, __gnat_eh_personality): Replace component references to
3563         exception structure by use of the new accessors.
3564
3565         * init.c (__gnat_initialize): Adjust comments to match the just
3566         reverted meaning of the -static link-time option.
3567
3568         * adaint.c (convert_addresses): Arrange not to define a stub for
3569         mips-irix any more, as we now want to rely on a real version from a
3570         recent libaddr2line.
3571
3572         * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
3573         the personality routine can use them and not have to rely on a C
3574         counterpart of the record anymore. This simplifies maintenance and
3575         relaxes the constraint of having Standard'Maximum_Alignment match
3576         BIGGEST_ALIGNMENT.
3577         Update comments, and add a section on the common header alignment issue.
3578
3579 2004-06-25  Geert Bosch  <bosch@gnat.com>
3580
3581         * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
3582         polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
3583
3584 2004-06-25  Robert Dewar  <dewar@gnat.com>
3585
3586         * gnat_rm.texi: Fix section on component clauses to indicate that the
3587         restriction on byte boundary placement still applies for bit packed
3588         arrays.
3589         Add comment on stack usage from Initialize_Scalars
3590
3591         * gnat_ugn.texi: Add documentation for -gnatyLnnn
3592
3593         * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
3594         limiting nesting level.
3595
3596         * usage.adb: Add line for -gnatyLnnn switch
3597
3598         * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
3599         sem_ch13.adb, exp_aggr.adb: Minor reformatting
3600
3601         * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
3602         type as well as on the subtype. This corrects a problem in freeze in
3603         setting alignments of atomic types.
3604
3605         * sem_eval.ads: Minor comment typo fixed
3606
3607         * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
3608         level.  Minor reformatting.
3609
3610         * fname.adb (Is_Predefined_File_Name): Require a letter after the
3611         minus sign. This means that file names like a--b.adb will not be
3612         considered predefined.
3613
3614         * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
3615         record Test new flag and give diagnostic for bad component clause.
3616         (Freeze_Entity): Set alignment of array from component alignment in
3617         cases where this is safe to do.
3618
3619         * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
3620         arrays.
3621
3622         * cstand.adb: (Create_Standard): Set alignment of String to 1
3623
3624         * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
3625
3626         * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
3627         code in the common constrained array cases.
3628
3629         * a-storio.adb: Change implementation to avoid possible alignment
3630         problems on machines requiring strict alignment (data should be moved
3631         as type Buffer, not type Elmt).
3632
3633         * checks.adb (Apply_Array_Size_Check): Improve these checks by
3634         killing the overflow checks which we really do not need (64-bits is
3635         enough).
3636
3637 2004-06-25  Vincent Celier  <celier@gnat.com>
3638
3639         * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
3640         (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
3641         inconditionally for the main project.
3642         (Recursive_Add_Archives.Add_Archive_Path): New procedure
3643         (Link_Executables.Check_Time_Stamps): New procedure
3644         (Link_Executables.Link_Foreign): New procedure
3645         Changes made to reduce nesting level of this package
3646         (Check): New procedure
3647         (Add_Switches): When not in quiet output, check that a switch is not
3648         the concatenation of several valid switches. If it is, issue a warning.
3649         (Build_Global_Archive): If the global archive is rebuilt, linking need
3650         to be done.
3651         (Compile_Sources): Rebuilding a library archive does not imply
3652         rebuilding the global archive.
3653         (Build_Global_Archive): New procedure
3654         (Build_Library): New name for Build_Archive, now only for library
3655         project
3656         (Check_Archive_Builder): New procedure
3657         (Create_Global_Archive_Dependency_File): New procedure
3658         (Gprmake): Call Build_Global_Archive before linking
3659         * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
3660         throughout.
3661         (Scan_Arg): Display the Copyright notice when -v is used
3662
3663         * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
3664         for gnatls.
3665
3666         * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
3667         COMPILE.
3668         Add new GNAT LIST qualifier /FILES=
3669         Added qualifier /DIRECTORY= to GNAT METRIC
3670         Added qualifier /FILES= to GNAT METRIC
3671         Added qualifier /FILES to GNAT PRETTY
3672
3673         * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
3674         to take into account both versions of the switch.
3675
3676         * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
3677         always be the last switch to the gcc driver. Disable switch storing so
3678         that switches automatically added by the gcc driver are not put in the
3679         ALI file.
3680
3681         * prj.adb (Project_Empty): Take into account changes in components of
3682         Project_Data.
3683
3684         * prj.ads (Languages_Processed): New enumaration value All_Languages.
3685
3686         * prj.ads (Project_Data): Remove component Lib_Elaboration: never
3687         used. Split Boolean component Ada_Sources_Present in two Boolean
3688         components Ada_Sources_Present and Other_Sources_Present.
3689         Minor reformatting
3690
3691         * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
3692         instead of Sources_Present.
3693         (Set_Ada_Paths.Add.Recursive_Add): Ditto
3694
3695         * prj-nmsc.adb: Minor reformatting
3696         (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
3697         (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
3698         Check_Ada_Naming_Scheme.
3699         Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
3700         throughout.
3701
3702         * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
3703         In_Limited.
3704         Make sure that all cycles where there is at least one "limited with"
3705         are detected.
3706         (Parse_Single_Project): New Boolean parameter In_Limited
3707
3708         * prj-proc.adb (Recursive_Check): When Process_Languages is
3709         All_Languages, call first Prj.Nmsc.Ada_Check, then
3710         Prj.Nmsc.Other_Languages_Check.
3711
3712         * prj-proc.adb (Process): Use Ada_Sources_Present or
3713         Other_Sources_Present (instead of Sources_Present) depending on
3714         Process_Languages.
3715
3716         * lang-specs.h: Keep -g and -m switches in the same order, and as the
3717         last switches.
3718
3719         * lib.adb (Switch_Storing_Enabled): New global Boolean flag
3720         (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
3721         False.
3722         (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
3723         False.
3724
3725         * lib.ads (Disable_Switch_Storing): New procedure.
3726
3727         * make.adb: Modifications to reduce nesting level of this package.
3728         (Check_Standard_Library): New procedure
3729         (Gnatmake.Check_Mains): New procedure
3730         (Gnatmake.Create_Binder_Mapping_File): New procedure
3731         (Compile_Sources.Compile): Add switch -gnatez as the last option
3732         (Display): Never display -gnatez
3733
3734         * Makefile.generic:
3735         When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
3736
3737         * gnatcmd.adb (Check_Project): New function
3738         (Process_Link): New procedure to reduce nesting depth
3739         (Check_Files): New procedure to reduce the nesting depth.
3740         For GNAT METRIC, include the inherited sources in extending projects.
3741         (GNATCmd): When GNAT LS is invoked with a project file and no files,
3742         add the list of files from the sources of the project file. If this list
3743         is too long, put it in a temp text files and use switch -files=
3744         (Delete_Temp_Config_Files): Delete the temp text file that contains
3745         a list of source for gnatpp or gnatmetric, if one has been created.
3746         (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
3747         in the project file is too large, create a temporary text file that
3748         list them and pass it to the tool with "-files=<temp text file>".
3749         (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
3750
3751         * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
3752         generated file is in not in Ada.
3753
3754         * gnatls.adb: Remove all parameters And_Save that are no longer used.
3755         (Scan_Ls_Arg): Add processing for -files=
3756         (Usage): Add line for -files=
3757
3758         * g-os_lib.adb (On_Windows): New global constant Boolean flag
3759         (Normalize_Pathname): When on Windows and the path starts with a
3760         directory separator, make sure that the resulting path will start with
3761         a drive letter.
3762
3763         * clean.adb (Clean_Archive): New procedure
3764         (Clean_Project): When there is non-Ada code, delete the global archive,
3765         the archive dependency files, the object files and their dependency
3766         files, if they exist.
3767         (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
3768
3769 2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
3770
3771         * sinfo.ads: Fix typo in comment.
3772
3773         * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
3774         the TSS for remote access-to-subprogram types, since these TSS are
3775         always present once the type has been analyzed.
3776         (RAS_E_Dereference): Same.
3777
3778         * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
3779         reference raises Bad_Attribute, mark the reference as analyzed so the
3780         node (and any children resulting from rewrites that could have occurred
3781         during the analysis that ultimately failed) is not analyzed again.
3782
3783         * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
3784
3785         * exp_dist.adb: Minor comment fix.
3786
3787         * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
3788         type is an anonymous access type, no unchecked deallocation of the
3789         allocated object can occur. If the object is controlled, attach it with
3790         a count of 1. This allows attachment to the Global_Final_List, if
3791         no other relevant list is available.
3792         (Get_Allocator_Final_List): For an anonymous access type that is
3793         the type of a discriminant or record component, the corresponding
3794         finalisation list is the one of the scope of the type.
3795
3796 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
3797
3798         * sem_ch3.adb (Replace_Type): When computing the signature of an
3799         inherited subprogram, use the first subtype if the derived type
3800         declaration has no constraint.
3801
3802         * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
3803         before applying previous optimization. Minor code cleanup.
3804
3805         * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
3806         placed at the beginning of an unpacked record without explicit
3807         alignment, a slice of it will be aligned and does not need a copy when
3808         used as an actual.
3809
3810 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
3811
3812         PR ada/15591
3813         PR ada/15592
3814         * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
3815         reference is written with expressions mimicking parameters.
3816
3817 2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
3818
3819         PR ada/15589
3820         * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
3821         STEP 2a. The constraints of a full type declaration of a derived record
3822         type are checked for conformance with those declared in the
3823         corresponding private extension declaration. The message
3824         "not conformant with previous declaration" is emitted if an error is
3825         detected.
3826
3827 2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
3828
3829         * g-traceb.ads: Document the need for -E binder switch in the spec.
3830
3831         * g-trasym.ads: Document the need for -E binder switch in the spec.
3832
3833 2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
3834
3835         * sem_prag.adb: Add handling of pragma Detect_Blocking.
3836
3837         * snames.h, snames.ads, snames.adb: Add entry for pragma
3838         Detect_Blocking.
3839
3840         * s-rident.ads: Change reference to pragma Detect_Blocking.
3841
3842         * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
3843         system.ads.
3844
3845         * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
3846         to indicate whether pragma Detect_Blocking is active.
3847
3848         * par-prag.adb: Add entry for pragma Detect_Blocking.
3849
3850         * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
3851         of not handling WITH.
3852         Note that this replaces the previous update which was incorrect.
3853
3854 2004-06-25  Javier Miranda  <miranda@gnat.com>
3855
3856         * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
3857         use-clauses to have a clean environment.
3858
3859         * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
3860         the installation of the use-clauses to stablish a clean environment in
3861         case of compilation of a separate unit; otherwise the call to
3862         use_one_package is protected by the barrier Applicable_Use.
3863
3864         * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
3865         the installation of the use-clauses to stablish a clean environment in
3866         case of compilation of a separate unit.
3867         (End_Use_Clauses): Minor comment cleanup.
3868
3869 2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
3870
3871         * gnat_ugn.texi: Add description of the gnatpp 'files' switch
3872
3873 2004-06-23  Richard Henderson  <rth@redhat.com>
3874
3875         * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
3876
3877 2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3878
3879         * decl.c (elaborate_expression, elaborate_expression_1): Arguments
3880         now bool instead of int.
3881         (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
3882         * trans.c (gnu_switch_label_stack): New function.
3883         (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
3884         elaboration of renamed entity returns.
3885         (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
3886         (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
3887         (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
3888         (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
3889         DECL_SIZE_UNIT and simplify variable-sized case.
3890         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
3891         Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
3892         (gnat_stabilize_reference): Add arg to COMPONENT_REF.
3893         (build_unit_elab): Disable for now.
3894         * utils.c (mark_visited): New function.
3895         (pushdecl): Walk tree to call it for global decl.
3896         (update_pointer_to): Update all variants of pointer and ref types.
3897         Add arg to COMPONENT_REF.
3898         (convert): Likewise.
3899         Move check for converting between variants lower down.
3900         * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
3901         (build_allocator): Don't force type of MODIFY_EXPR.
3902         (gnat_mark_addressable, case VAR_DECL): Unconditionally call
3903         put_var_into_stack.
3904
3905 2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3906
3907         * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
3908         * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
3909         * decl.c (gnat_to_gnu_entity): Also set force_global for imported
3910         subprograms.
3911         * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
3912         all callers changed.
3913         (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
3914         the way that EXIT_STMT finds the loop label.
3915         (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
3916         (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
3917         (add_stmt): Use annotate_with_locus insted of setting directly.
3918         (pos_to_construct): Set TREE_PURPOSE of each entry to index.
3919         (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
3920         * utils.c (gnat_install_builtins): Install __builtin_memcmp.
3921         (build_vms_descriptor): Add extra args to ARRAY_REF.
3922         (convert): Use VIEW_CONVERT_EXPR between aggregate types.
3923         * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
3924         New cases.
3925         (build_binary_op): Don't make explicit CONVERT_EXPR.
3926         Add extra rgs to ARRAY_REF.
3927
3928 2004-06-14  Pascal Obry  <obry@gnat.com>
3929
3930         * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
3931         Windows.  Fix minor typo.
3932
3933         * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
3934         which is now supported on Windows. With this implementation using the
3935         Library Project feature is no different on Windows than on UNIX.
3936
3937 2004-06-14  Vincent Celier  <celier@gnat.com>
3938
3939         * makegpr.adb (Compile_Sources): Nothing to do when there are no
3940         non-Ada sources.
3941
3942         * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
3943
3944         * prj-part.adb (Parse_Single_Project): When a duplicate project name is
3945         found, show the project name and the path of the previously parsed
3946         project file.
3947
3948 2004-06-14  Ed Schonberg  <schonberg@gnat.com>
3949
3950         * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
3951         array, avoid copying the actual before the call.
3952
3953 2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
3954
3955         * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
3956         Instead, allocate memory on worst-case alignment assumptions, and then
3957         return an aligned address within the allocated zone.
3958
3959 2004-06-14  Robert Dewar  <dewar@gnat.com>
3960
3961         * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
3962         elab entities in predefined units in No_Run_Time_Mode.
3963         (Gen_Adainit_C): Same fix
3964         (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
3965         units in No_Run_Time_Mode
3966         (Gen_Elab_Calls_C): Same fix
3967
3968         * symbols-vms-alpha.adb: Minor reformatting
3969
3970         * g-debpoo.ads: Minor reformatting
3971
3972         * lib.adb (In_Same_Extended_Unit): Version working on node id's
3973
3974         * lib.ads (In_Same_Extended_Unit): Version working on node id's
3975
3976         * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
3977         working on nodes.
3978
3979         * make.adb: Minor reformatting
3980
3981         * par-ch12.adb: Minor reformatting
3982
3983         * par-prag.adb: Add dummy entry for pragma Profile_Warnings
3984
3985         * prj-strt.adb: Minor reformatting
3986
3987         * restrict.ads, restrict.adb: Redo handling of profile restrictions to
3988         be more general.
3989
3990         * sem_attr.adb: Minor reformatting
3991
3992         * sem_ch7.adb: Minor reformatting
3993
3994         * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
3995         for type in the same unit as the object declaration.
3996
3997         * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
3998         static string expressions and not just string literals.
3999         Minor reformatting
4000         (Set_Warning): Reset restriction warning flag for restriction pragma
4001         Implement pragma Profile_Warnings
4002         Implement pragma Profile (Restricted)
4003         Give obolescent messages for old restrictions and pragmas
4004
4005         * snames.h, snames.ads, snames.adb: Add new entry for pragma
4006         Profile_Warnings.
4007
4008         * s-rident.ads: Add declarations for restrictions required by profile
4009         Restricted and profile Ravenscar.
4010
4011         * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
4012
4013         * gnat_ugn.texi: Correct some missing entries in the list of GNAT
4014         configuration pragmas.
4015
4016 2004-06-11  Vincent Celier  <celier@gnat.com>
4017
4018         * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
4019         gnatsym, when symbol policy is Restricted.
4020
4021         * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
4022         gnatsym, when symbol policy is Restricted.
4023
4024         * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
4025         read the symbol file.
4026         (Finalize): Fail in symbol policy Restricted if a symbol in the original
4027         symbol file is not in the object files. Do not create a new symbol file
4028         when symbol policy is Restricted.
4029
4030         * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
4031         in Scng.
4032
4033         * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
4034         Restricted.
4035         (Usage): Line for new switch -R
4036
4037         * make.adb (Initialize): When the platform is not VMS, add the
4038         directory where gnatmake is invoked in the front of the path, if
4039         gnatmake is invoked with directory information.  Change the Scan_Args
4040         while loop to a for loop.
4041         (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
4042         if Depth is equal or greater than the proposed depth, there is nothing
4043         to do.
4044         (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
4045         instead of 0.
4046
4047         * prj.ads: Add new symbol policy Restricted.
4048
4049         * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
4050         with the new parameters Check_All_Labels and Case_Location.
4051
4052         * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
4053         (Library_Symbol_File needs to be defined).
4054
4055         * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
4056         and Case_Location If Check_All_Labels is True, check that all values of
4057         the string type are used, and output warning(s) if they are not.
4058
4059         * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
4060         and Case_Location.
4061
4062         * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
4063
4064         * gnat_ugn.texi: Update documentation about the library directory in
4065         Library Projects.
4066
4067         * makegpr.adb (Display_Command): In verbose mode, also display the
4068         value of the CPATH env var, when the compiler is gcc.
4069         (Initialize): Change the Scan_Args while loop to a for loop
4070         (Compile_Individual_Sources): Change directory to object directory
4071         before compilations.
4072
4073         * symbols.ads: New symbol policy Restricted.
4074
4075 2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
4076
4077         * a-except.adb (Raise_After_Setup family): Remove. The responsibility
4078         is now taken care of internally in the Exception_Propagation package
4079         and does not require clients assistance any more.
4080
4081         * a-exexpr.adb (Is_Setup_And_Not_Propagated,
4082         Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
4083         functions. Helpers to maintain a predicate required in the handling of
4084         occurrence transfer between tasks.
4085         This is now handled internally and does not require clients assistance
4086         for the setup/propagate separation anymore.
4087         (Setup_Exception, Propagate_Exception): Simplify the Private_Data
4088         allocation strategy, handle the Setup_And_Not_Propagated predicate and
4089         document.
4090
4091         * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
4092         raise_after_setup, now that everything is handled internally within the
4093         setup/propagation engine.
4094
4095 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
4096
4097         * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
4098         Add additional conditions for the case of an actual being a simple
4099         name or literal. Improve inlining by preventing the generation
4100         of temporaries with a short lifetime (one use).
4101
4102 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
4103
4104         PR ada/15587
4105
4106         * einfo.ads: Minor comment updates for Has_Completion and
4107         E_Constant list of flags.
4108
4109         * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
4110         and constant redeclarations now set the Has_Completion flag of their
4111         defining identifiers.
4112
4113         * sem_ch7.adb (Analyze_Package_Spec): Add procedure
4114         Inspect_Deferred_Constant_Completion.
4115         Used to detect private deferred constants that have not been completed
4116         either by a constant redeclaration or pragma Import. Emits error message
4117         "constant declaration requires initialization expression".
4118
4119         * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
4120         completes a deferred constant.
4121
4122 2004-06-11  Geert Bosch  <bosch@gnat.com>
4123
4124         * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
4125
4126         * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
4127         calculating exponent for scaling denormal numbers.
4128         (Leading_Part): Properly raise Constraint_Error for zero or negative
4129         Adjustment.
4130         (Remainder): Properly raise Constraint_Error for zero divisor.
4131
4132 2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
4133
4134         * sem_util.adb: Minor reformatting.
4135
4136         * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
4137         dereference when accessing the entry parameter record.
4138         (Check_Array_Type): Always check for possible implicit dereference.
4139         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
4140         Abort if a pointer is still present (denoting that an implicit
4141         dereference was left in the tree by the front-end).
4142
4143         * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
4144         dereference when accessing the entry parameter record.
4145         (Check_Array_Type): Always check for possible implicit dereference.
4146         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
4147         Abort if a pointer is still present (denoting that an implicit
4148         dereference was left in the tree by the front-end).
4149
4150 2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
4151
4152         * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
4153         message, like the compiler itself does. Easier to parse the output.
4154
4155         * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
4156
4157         * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
4158         be base names, and not includes directories.
4159
4160 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
4161
4162         * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
4163         so that dependencies are properly taken into account by make.
4164
4165 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
4166
4167         PR ada/15622
4168         * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
4169         exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
4170
4171 2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
4172
4173         * Makefile.in (install-gnatlib): install target-specific run-time files.
4174
4175         * Make-lang.in: Remove obsolete targets.
4176
4177 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
4178
4179         * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
4180         specification, to catch misuses of program unit names.
4181
4182         * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
4183         superfluous conversions in an instance.
4184
4185 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
4186
4187         PR ada/15403
4188
4189         * sem_ch12.adb (Save_References): If operator node has been folded to
4190         enumeration literal, associated_node must be discarded.
4191
4192 2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
4193
4194         * s-stchop-vxworks.adb: Add required pragma Convention to
4195         Task_Descriptor because it is updated by a C function.
4196
4197 2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
4198
4199         PR ada/15568
4200
4201         * Makefile.in: Remove target specific SO_OPT on IRIX
4202
4203 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4204
4205         * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
4206         (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
4207         (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
4208         (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
4209         (STMT_STMT, USE_STMT): New statement codes.
4210         (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
4211         * ada-tree.h: Reflect above changes.
4212         (struct tree_loop_id): Deleted.
4213         (union lang_tree_node, struct lang_decl, struct lang_type):
4214         Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
4215         and DECL_LANGUAGE_SPECIFIC to reflect these changes.
4216         (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
4217         (IS_ADA_STMT): New macro.
4218         * decl.c (annotate_decl_with_node): New function.
4219         (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
4220         (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
4221         Call add_stmt_with_node to do needed assignments.
4222         Add call to update setjmp buffer directly, not via EXPR_STMT.
4223         (maybe_variable): Argment GNAT_NODE deleted.
4224         * gigi.h (maybe_variable): Likewise.
4225         (make_transform, add_stmt_with_node, set_block_for_group): New.
4226         (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
4227         (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
4228         (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
4229         (set_lineno, set_lineno_from_sloc): Likewise.
4230         (record_code_position, insert_code_for): Likewise.
4231         (gnat_poplevel): Now returns void.
4232         (end_subprog_body): Now takes argument.
4233         * misc.c (cgraph.h, tree-inline.h): New includes.
4234         (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
4235         (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
4236         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
4237         (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
4238         (gnat_parse_file): Don't set immediate_size_expand.
4239         Call cgraph functions.
4240         (gnat_expand_expr): Remove most cases.
4241         (record_code_position, insert_code_for): Remove from here.
4242         * trans.c (toplev.h, tree-gimple.h): Now included.
4243         (discard_file_names): Deleted.
4244         (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
4245         (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
4246         (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
4247         (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
4248         (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
4249         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
4250         (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
4251         (set_block_for_group, add_stmt_list): Likewise.
4252         (start_stmt_group): Renamed from start_block_stmt.
4253         (end_stmt_group): Likewise, from end_block_stmt.
4254         (build_stmt_group): Likewise, from build_block_stmt, also add arg.
4255         (gigi): Don't set discard_file_names or call set_lineno.
4256         Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
4257         (tree_transform): Deleted, now renamed to be gnat_to_gnu.
4258         Numerous changes throughout to reflect new names and complete
4259         function-at-a-time implementation.
4260         (gnat_expand_stmt): Delete or comment out all cases.
4261         (process_inlined_subprograms): Use add_stmt.
4262         (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
4263         call set_lineno; also remove unneeded block handling.
4264         (process_type): Remove unneeded block handling.
4265         (build_unit_elab): Remove calls to deleted functions.
4266         * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
4267         (tree-dump.h): Likewise.
4268         (struct ada_binding_level): Add field jmpbuf_decl.
4269         (gnat_define_builtin, gnat_install_builtins): New.
4270         (gnat_gimplify_function, gnat_finalize): Likewise.
4271         (gnat_poplevel): No longer return BLOCK, set it instead.
4272         Remove code dealing with nested functions.
4273         (gnat_init_decl_processing): Also set size_type_node.
4274         Call gnat_install_builtins.
4275         (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
4276         (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
4277         Remove special-case for "main".
4278         (end_subprog_body): Add arg and rework for tree-ssa.
4279         (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
4280         Add case for BOOLEAN_TYPE.
4281         * utils2.c (rtl.h): Now include.
4282         (build_call_raise): Test Debug_Flag_NN directly.
4283         (build_call_alloc_dealloc): Don't use local stack allocation for now.
4284         (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
4285         (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
4286
4287 2004-06-07  Robert Dewar  <dewar@gnat.com>
4288
4289         * a-direct.ads, einfo.ads: Minor comment updates
4290
4291         * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
4292         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
4293         s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
4294         s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
4295         s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
4296
4297         * s-interr-sigaction.adb: Remove unreferenced variable
4298         (Attached_Interrupts).  Minor reformatting.
4299         Avoid use of variable I (replace by J).
4300
4301         * par-ch10.adb: Fix text of one error message
4302
4303         * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
4304         exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
4305         exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
4306         opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
4307         par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
4308         par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
4309         sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
4310         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
4311         sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
4312         sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
4313         snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
4314         2005 support.
4315
4316 2004-06-07  Doug Rupp  <rupp@gnat.com>
4317
4318         * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
4319
4320         * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
4321
4322         * mlib-tgt-vms-ia64.adb: New file.
4323
4324         * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
4325         Add mlib-tgt-vms-ia64.adb
4326         Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
4327         Move to alpha specific ifeq section.
4328         Add VMS specific versions of symbols.adb
4329         Renaming of 5q vms files.
4330
4331         * 5qsystem.ads renamed to system-vms_64.ads.
4332
4333 2004-06-07  Vincent Celier  <celier@gnat.com>
4334
4335         * a-calend.ads: Add a GNAT Note comment after function Time_Of to
4336         explain that when a time of day corresponding to the non existing hour
4337         on the day switching to DST is specified, Split may return a different
4338         value for Seconds.
4339
4340         * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
4341         to GNAT PRETTY.
4342
4343         * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
4344         (Normalize_Pathname): Only resolve VMS logical names when on VMS.
4345
4346         * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
4347         to False.
4348         If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
4349         the linking options.
4350         (Build_Library.Check_Libs): On VMS, if there is a dependency on
4351         g-trasym.ads, set Gtrasymobj_Needed to True.
4352
4353         * prj-attr.adb: Add new package Metrics for gnatmetric
4354
4355         * prj-nmsc.adb (Record_Other_Sources): Put source file names in
4356         canonical case to take into account files with upper case characters on
4357         Windows.
4358         (Ada_Check): Load the reference symbol file name in the name buffer to
4359         check it, not the symbol file name.
4360
4361         * snames.ads, snames.adb: Add standard name Metrics (name of project
4362         file package for gnatmetric).
4363
4364         * vms_conv.ads: Add Metric to Comment_Type
4365
4366         * vms_conv.adb (Initialize): Add component dor Metric in Command_List
4367
4368         * vms_data.ads: Add qualifiers for GNAT METRIC
4369
4370         * makegpr.adb (Link_Executables): Take into account the switches
4371         specified in package Linker of the main project.
4372
4373 2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
4374
4375         * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
4376         the index of the last element is Units.Last, not Units.Table'Last
4377         (which is usually not a valid index within the actually allocated
4378         storage for the table).
4379
4380         * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
4381         determines whether to generate a call to a checked storage pool
4382         Dereference action.
4383         Generate such a call only for a dereference that either comes from
4384         source, or is the result of rewriting a dereference that comes from
4385         source.
4386
4387 2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
4388
4389         * bindgen.adb (Gen_Output_File): Add support for GAP builds.
4390
4391 2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
4392
4393         (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
4394         file level, elaborate the stride for inner dimensions in alignment
4395         units, not bytes.
4396
4397         * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
4398         in a comment.
4399
4400 2004-06-07  Javier Miranda  <miranda@gnat.com>
4401
4402         * exp_ch6.adb: Correct wrong modification in previous patch
4403
4404 2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
4405
4406         * g-trasym.ads: Corrected comment to properly reflect level of support
4407         on VMS.
4408
4409 2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
4410
4411         * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
4412         includes case of a variable referenced on the left hand side of an
4413         assignment, therefore remove redundant code. Variables and prefixes of
4414         indexed or selected components are now marked as referenced on left
4415         hand side. Warnings are now properly emitted when variables or prefixes
4416         are assigned but not read.
4417
4418         * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
4419         left hand side referenced variables. Private access types do not
4420         produce the warning "variable ... is assigned but never read".
4421         Add also additional checks to left hand side referenced variables.
4422         Aliased, renamed objects and access types do not produce the warning
4423         "variable ... is assigned but never read" since other entities may read
4424         the memory location.
4425
4426 2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
4427
4428         * Makefile.in: In the powerpc/vxworks-specific section, restore
4429         EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
4430         by mistake).
4431
4432 2004-06-07  Ed Schonberg  <schonberg@gnat.com>
4433
4434         * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
4435         predefined operators.
4436         Removes spurious type errors from g-trasym-vms.adb.
4437
4438         * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
4439         distinct from the operator appearing in the source, call appropriate
4440         routine to insert conversions when needed, and complete resolution of
4441         node.
4442         (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
4443         interpretations for rewritten right operand.
4444         (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
4445         the other operand is overloaded and the context is a type conversion.
4446
4447 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4448
4449         * ada-tree.def (BLOCK_STMT): Now has two operands.
4450         (BREAK_STMT): New.
4451
4452         * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
4453
4454         * gigi.h: (gnat_poplevel): Now returns a tree.
4455
4456         * trans.c (end_block_stmt): Add arg; all callers changed.
4457         (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
4458         (start_block_stmt): Clear BLOCK_STMT_BLOCK.
4459         (add_stmt): Set TREE_TYPE.
4460         (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
4461         (gnat_expand_stmt, case BREAK_STMT): New case.
4462
4463         * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
4464
4465 2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
4466
4467         * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
4468         procedure Set_Stack_Size that is not needed.
4469
4470 2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
4471
4472         * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
4473         used for gnatpp input file and for the files upon which it depends
4474
4475 2004-06-07  Ben Brosgol  <brosgol@gnat.com>
4476
4477         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
4478
4479 2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
4480
4481         * gnatvsn.ads: Bump version numbers appropriately.
4482         Add new build type.
4483
4484 2004-06-07  Pascal Obry  <obry@gnat.com>
4485
4486         * gnat_ugn.texi: Improve comments about imported names and link names
4487         on Windows. Add a note about the requirement to use -k gnatdll's option
4488         when working with a DLL which has stripped stdcall symbols (no @nn
4489         suffix).
4490
4491 2004-05-27  Vincent Celier  <celier@gnat.com>
4492
4493         * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
4494         COMMENTS_LAYOUT=UNTOUCHED
4495
4496         * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
4497         symbols-vms-alpha.adb
4498
4499 2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
4500
4501         * sem.ads: Clarify documentation on checks suppression.
4502
4503         * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
4504
4505 2004-05-27  Ed Schonberg  <schonberg@gnat.com>
4506
4507         * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
4508         the case of multiple derivations.
4509         (Is_Object_Reference): For a selected component, verify that the prefix
4510         is itself an object and not a value.
4511
4512         * sem_ch12.adb (Same_Instantiated_Constant): New name for
4513         Same_Instantiated_Entity.
4514         (Same_Instantiated_Variable): Subsidiary to
4515         Check_Formal_Package_Instance, to recognize actuals for in-out generic
4516         formals that are obtained from a previous formal package.
4517         (Instantiate_Subprogram_Body): Emit proper error when
4518         generating code and the proper body of a stub is missing.
4519
4520         * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
4521         has a universal interpretation, do the disambiguation here.
4522
4523         * exp_ch4.adb (Expand_N_Type_Conversion,
4524         Expand_N_Unchecked_Type_Conversion): Special handling when target type
4525         is Address, to avoid typing anomalies when Address is a visible integer
4526         type.
4527
4528         * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
4529         to determine whether a subprogram should not be marked Pure, even when
4530         declared in a pure package.
4531
4532 2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
4533
4534         * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
4535
4536         * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
4537         Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
4538         Update the documentation about the Ravenscar profile, following the
4539         definition found in AI-249.
4540
4541         * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
4542         setting the Profile (Ravenscar). This must be done in addition to
4543         setting the required restrictions.
4544
4545         * rtsfind.ads: Add the set of operations defined in package
4546         Ada.Interrupts.
4547
4548         * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
4549         restriction.
4550
4551 2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
4552
4553         lang-specs.h: Always require -c or -S and always redirect to /dev/null
4554         if -gnatc or -gnats is passed.
4555
4556 2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
4557
4558         * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
4559         a significant reference. Warnings are now properly emitted when a
4560         discriminated type is not referenced.
4561
4562         * lib-xref.adb (Generate_Reference): A deferred constant completion,
4563         record representation clause or record type discriminant does not
4564         produce a reference to its corresponding entity. Warnings are now
4565         properly emitted when deferred constants and record types are not
4566         referenced.
4567
4568 2004-05-27  Geert Bosch  <bosch@gnat.com>
4569
4570         * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
4571         Fixes ACATS Annex G tests.
4572
4573 2004-05-27  Robert Dewar  <dewar@gnat.com>
4574
4575         * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
4576         handling WITH
4577
4578 2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
4579
4580         * s-interr.adb (Server_Task): Take into account case of early return
4581         from sigwait under e.g. linux.
4582
4583 2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
4584
4585         * gnat_ugn.texi: Add description for the new gnatpp options:
4586          -rnb - replace the original source without creating its backup copy
4587          -c0 - do not format comments
4588
4589 2004-05-24  Geert Bosch  <bosch@gnat.com>
4590
4591         * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
4592         with 192 bits of precision, sufficient to reduce a double-extended
4593         arguments X with a maximum relative error of T'Machine_Epsilon, for X
4594         in -2.0**32 .. 2.0**32.
4595         (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
4596         reduction by the processor, which only uses a 68-bit approximation of
4597         Pi.
4598         (Tan): Always reduce arguments and compute function either using
4599         the processor's fptan instruction, or by dividing sin and cos as needed.
4600
4601 2004-05-24  Doug Rupp  <rupp@gnat.com>
4602
4603         * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
4604         gcc error on 32/64 bit VMS.
4605
4606 2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
4607
4608         * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
4609         since this is what we get for stack overflows although not documented
4610         as such.
4611         Document the issues which may require adjustments to our signal
4612         handlers.
4613
4614 2004-05-24  Ed Schonberg  <schonberg@gnat.com>
4615
4616         * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
4617         enclosing dynamic scope if the instantiation is within a generic unit.
4618
4619 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
4620
4621         * exp_dbug.ads: Fix typo.
4622
4623         * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
4624         Rename it to its proper name: system-linux-ia64.ads
4625         (stamp-gnatlib1): Remove extra target specific run time files when
4626         setting up the rts directory.
4627
4628 2004-05-24  Javier Miranda  <miranda@gnat.com>
4629
4630         * einfo.ads, einfo.adb (Limited_Views): Removed.
4631         (Limited_View): New attribute that replaces the previous one. It is
4632         now a bona fide package with the limited-view list through the
4633         first_entity and first_private attributes.
4634
4635         * sem_ch10.adb (Install_Private_With_Clauses): Give support to
4636         limited-private-with clause.
4637         (Install_Limited_Withed_Unit): Install the private declarations of a
4638         limited-private-withed package. Update the installation of the shadow
4639         entities according to the new structure (see Build_Limited_Views)
4640         (Build_Limited_Views): Replace the previous implementation of the
4641         limited view by a package entity that references the first shadow
4642         entity plus the first shadow private entity (required for limited-
4643         private-with clause)
4644         (New_Internal_Shadow_Entity): Code cleanup.
4645         (Remove_Limited_With_Clause): Update the implementation to undo the
4646         new work carried out by Build_Limited_Views.
4647         (Build_Chain): Complete documentation.
4648         Replace Ada0Y by Ada 0Y in comments
4649         Minor reformating
4650
4651         * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
4652         types the level of accessibility depends on the enclosing type
4653         declaration.
4654
4655         * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
4656         entities. Complete documentation of previous change.
4657
4658 2004-05-24  Robert Dewar  <dewar@gnat.com>
4659
4660         * namet.adb: Minor reformatting
4661         Avoid use of name I (replace by J)
4662         Minor code restructuring
4663
4664         * sem_ch6.adb: Minor reformatting
4665
4666         * lib-writ.adb: Do not set restriction as active if this is a
4667         Restriction_Warning case.
4668
4669         * sem_prag.adb: Reset restriction warning flag if real pragma
4670         restriction encountered.
4671
4672         * s-htable.adb: Minor reformatting
4673         Change rotate count to 3 in Hash (improves hash for small strings)
4674
4675         * 5qsystem.ads: Add comments for type Address (no literals allowed).
4676
4677         * gnat_ugn.texi: Add new section of documentation "Code Generation
4678         Control", which describes the use of -m switches.
4679
4680 2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
4681
4682         trans.c (tree_transform) <N_Identifier>: Do the dereference directly
4683         through the DECL_INITIAL for renamed variables.
4684
4685 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
4686
4687         * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
4688
4689 2004-05-19  Joel Brobecker  <brobecker@gnat.com>
4690
4691         * exp_dbug.ads: Correct comments concerning handling of overloading,
4692         since we no longer use $ anymore.
4693
4694 2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
4695
4696         * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
4697         ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
4698         with illegal subunits.
4699
4700 2004-05-19  Ed Schonberg  <schonberg@gnat.com>
4701
4702         * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
4703         body with front-end inlining enabled, check whether an inline pragma
4704         appears immediately after the body and applies to it.
4705
4706         * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
4707         enabled and the pragma appears after the body of the subprogram.
4708
4709 2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4710
4711         Part of function-at-a-time conversion
4712
4713         * misc.c (adjust_decl_rtl): Deleted.
4714         (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
4715         Define.
4716
4717         * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
4718         (add_decl_stmt, add_stmt, block_has_vars): New functions.
4719         (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
4720
4721         * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
4722         when making a decl.
4723         (gnat_to_gnu_entity): Likewise.
4724         Use add_stmt to update setjmp buffer.
4725         Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
4726         flush_addressof.
4727         No longer call adjust_decl_rtl.
4728         (DECL_INIT_BY_ASSIGN_P): New macro.
4729         (DECL_STMT_VAR): Likewise.
4730
4731         * trans.c (gigi): Call start_block_stmt to make the outermost
4732         BLOCK_STMT.
4733         (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
4734         Call start_block_stmt and end_block_stmt temporarily.
4735         Use gnat_expand_stmt instead of expand_expr_stmt.
4736         (add_decl_stmt): New function.
4737         (tree_transform): Call it.
4738         (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
4739         (end_block_stmt): Set type and NULL_STMT.
4740         (gnat_expand_stmt): Make recursize call instead of calling
4741         expand_expr_stmt.
4742         (gnat_expand_stmt, case DECL_STMT): New case.
4743         (set_lineno_from_sloc): Do nothing if global.
4744         (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
4745         (start_block_stmt, add_stmt, end_block_stmt): New functions.
4746         (build_block_stmt): Call them.
4747         (gnat_to_code): Don't expand NULL_STMT.
4748         (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
4749         args.
4750         (tree_transform): Likewise.
4751         (tree_transform, case N_Null_Statement): Return NULL_STMT.
4752         (gnat_expand_stmt, case NULL_STMT): New case.
4753         (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
4754         IF_STMT_TRUE.
4755
4756         * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
4757         TREE_ADDRESSABLE.
4758
4759         * utils.c (create_var_decl): Do not call expand_decl or
4760         expand_decl_init.
4761         Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
4762         Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
4763         here.
4764         (struct e_stack): Add chain_next to GTY.
4765         (struct binding_level): Deleted.
4766         (struct ada_binding_level): New struct.
4767         (free_block_chain): New.
4768         (global_binding_level, clear_binding_level): Deleted.
4769         (global_bindings_p): Rework to see if no chain.
4770         (kept_level_p, set_block): Deleted.
4771         (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
4772         new data structure and work directly on BLOCK node.
4773         (gnat_poplevel): Similarly.
4774         (get_decls): Look at BLOCK_VARS.
4775         (insert_block): Work directly on BLOCK node.
4776         (block_has_var): New function.
4777         (pushdecl): Rework for new binding structures.
4778         (gnat_init_decl_processing): Rename and rework calls to pushlevel and
4779         poplevel.
4780         (build_subprog_body): Likewise.
4781         (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
4782
4783         * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
4784
4785         * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
4786         (DECL_STMT_VAR): Likewise.
4787
4788 2004-05-17  Robert Dewar  <dewar@gnat.com>
4789
4790         * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
4791         procedure
4792
4793         * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
4794         of restriction synonyums by using
4795         Restrict.Process_Restriction_Synonyms.
4796
4797         * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
4798
4799         * s-restri.ads (Tasking_Allowed): Correct missing comment
4800
4801         * s-rident.ads: Add entries for restriction synonyms
4802
4803         * ali.adb: Fix some problems with badly formatted ALI files that can
4804         result in infinite loops.
4805
4806         * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
4807         s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
4808         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
4809         s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
4810         s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
4811         s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
4812         s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
4813         s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
4814         s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
4815         a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
4816         exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
4817         s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
4818         s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
4819         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
4820         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
4821         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
4822         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
4823         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
4824         s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
4825         s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
4826         to Task_Id (minor cleanup).
4827
4828 2004-05-17  Vincent Celier  <celier@gnat.com>
4829
4830         * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
4831         directory separator.
4832
4833         * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
4834         project being extended, if Languages is not declared in extending
4835         project.
4836
4837 2004-05-17  Javier Miranda  <miranda@gnat.com>
4838
4839         * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
4840         limited view of a visible sibling.
4841
4842 2004-05-14  Robert Dewar  <dewar@gnat.com>
4843
4844         * gnat_ugn.texi: Minor change to -gnatS documentation
4845
4846         * sprint.adb: Remove some instances of Assert (False) and for this
4847         purpose replace them by output of a ??? string.
4848
4849         * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
4850         Assert (False).
4851
4852         * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
4853         flag processing. This was suppressing required dependencies in
4854         No_Run_Time mode and is not needed since the binder does not generate
4855         references for things in libgnat anyway.
4856
4857         * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
4858         warning.
4859
4860 2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
4861
4862         * gnat_ugn.texi: Document AIX-specific issue with initialization of
4863         resolver library.
4864
4865         * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
4866         action for the case of an actual parameter in an init proc call.
4867
4868 2004-05-14  Ed Schonberg  <schonberg@gnat.com>
4869
4870         * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
4871         subtype, check visible entities in base type.
4872
4873         * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
4874         actions if the object is a renaming.
4875
4876         * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
4877         Check_Formal_Package_Instance, to determine more precisely when the
4878         formal and the actual denote the same entity.
4879
4880 2004-05-14  Javier Miranda  <miranda@gnat.com>
4881
4882         * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
4883
4884         * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
4885         corresponding to a private_with must be removed from visibility; it
4886         will be made visible later, just before we analyze the private part of
4887         the package.
4888         (Check_Private_Child_Unit): Allow private_with clauses in public
4889         siblings.
4890         (Install_Siblings): Make visible the private entities of private-withed
4891         siblings.
4892         (Install_Withed_Unit): Do not install the private withed unit if we
4893         are compiling a package declaration and the Private_With_OK flag was
4894         not set by the caller. These declarations will be installed later,
4895         just before we analyze the private part of the package.
4896
4897         * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
4898         during the evaluation of the expression that initializes the object,
4899         decorate it with the expected type to avoid cascade errors.
4900         Code cleanup.
4901
4902         * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
4903         subprogram we have to install the private_with clauses after its
4904         specification has been analyzed (as documented in AI-262.TXT).
4905
4906         * sem_ch8.adb (Has_Private_With): New function. Determines if the
4907         current compilation unit has a private with on a given entity.
4908         (Find_Direct_Name): Detect the Beaujolais problem described in
4909         AI-262.TXT
4910
4911         * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
4912         provides the functionality of the function Is_Ancestor that was
4913         previously available in sem_ch10. It has been renamed to avoid
4914         overloading.
4915
4916         * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
4917
4918 2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4919
4920         * utils.c (build_vms_descriptor): Use SImode pointers.
4921
4922 2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
4923
4924         * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
4925
4926 2004-05-14  GNAT Script  <nobody@gnat.com>
4927
4928         * Make-lang.in: Makefile automatically updated
4929
4930 2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
4931
4932         Renaming of target specific files for clarity
4933
4934         * Makefile.in: Rename GNAT target specific files.
4935
4936         * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
4937         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
4938         3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
4939         3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
4940         3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
4941         3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
4942         42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
4943         4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
4944         4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
4945         4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
4946         4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
4947         4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
4948         51osinte.adb, 51osinte.ads, 51system.ads,
4949         52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
4950         55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
4951         56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
4952         56tpopsp.adb, 57system.ads, 58system.ads,
4953         5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
4954         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
4955         5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
4956         5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
4957         5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
4958         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
4959         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
4960         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
4961         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
4962         5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
4963         5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
4964         5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
4965         5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
4966         5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
4967         5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
4968         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
4969         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
4970         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
4971         5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
4972         5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
4973         5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
4974         5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
4975         5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
4976         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
4977         5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
4978         5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
4979         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
4980         5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
4981         5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
4982         5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
4983         5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
4984         5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
4985         5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
4986         5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
4987         5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
4988         5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
4989         7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
4990         7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
4991         7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
4992         7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
4993
4994         * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
4995         a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
4996         a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
4997         a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
4998         a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
4999         a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
5000         a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
5001         a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
5002         a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
5003         a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
5004         g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
5005         g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
5006         g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
5007         g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
5008         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
5009         g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
5010         g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
5011         g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
5012         interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
5013         mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
5014         mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
5015         mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
5016         s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
5017         s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
5018         s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
5019         s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
5020         s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
5021         s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
5022         s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
5023         s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
5024         s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
5025         s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
5026         s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
5027         s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
5028         s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
5029         s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
5030         s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
5031         s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
5032         s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
5033         s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
5034         s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
5035         s-osinte-vms.ads, s-osinte-vxworks.adb,
5036         s-osinte-vxworks.ads, s-osprim-mingw.adb,
5037         s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
5038         s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
5039         s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
5040         s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
5041         s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
5042         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
5043         s-stchop-vxworks.adb, s-taprop-dummy.adb,
5044         s-taprop-hpux-dce.adb, s-taprop-irix.adb,
5045         s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
5046         s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
5047         s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
5048         s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
5049         s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
5050         s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
5051         s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
5052         s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
5053         s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
5054         s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
5055         s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
5056         s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
5057         s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
5058         s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
5059         s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
5060         s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
5061         s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
5062         symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
5063         system-hpux.ads, system-interix.ads, system-irix-n32.ads,
5064         system-irix-o32.ads, system-linux-x86_64.ads,
5065         system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
5066         system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
5067         system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
5068         system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
5069         system-vxworks-alpha.ads, system-vxworks-m68k.ads,
5070         system-vxworks-mips.ads, system-vxworks-ppc.ads,
5071         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
5072         above.
5073
5074 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
5075
5076         * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
5077
5078 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
5079
5080         Merge from tree-ssa-20020619-branch.
5081
5082         * config-lang.in (boot_language, build_by_default): Set
5083         to no.
5084         * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
5085         (max_size): Add static chain op for call_expr.
5086
5087 2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
5088
5089         PR target/15331
5090         * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
5091
5092 2004-05-11  Roger Sayle  <roger@eyesopen.com>
5093
5094         * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
5095         COND_EXPR.
5096
5097 2004-05-10  Doug Rupp  <rupp@gnat.com>
5098
5099         * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
5100         system.aux_dec.
5101
5102         * s-auxdec.ads: Add Short_Address subtype (moved here from System).
5103
5104         * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
5105
5106         * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
5107         Fixes undefined symbols in IA64 gnatlib.
5108
5109         * 5vinmaop.adb: Reference s-auxdec for Short_Address.
5110
5111         * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
5112         Short_Address). This will be moved to system.auxdec.
5113
5114 2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
5115
5116         * sem_util.adb: Replace test for presence of a node that is always
5117         present with a call to Discard_Node.
5118
5119         * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
5120         Analyze on the library unit node after generation of distribution stub
5121         constructs.  The call was a no-op because Unit_Node has already been
5122         Analyzed, and the tree fragments for the distribution stubs are
5123         analyzed as they are inserted in Exp_Dist.
5124         Update comment regarding to distribution stubs to reflect that we
5125         do not generate stub in separate files anymore.
5126
5127         * einfo.ads: Clarify the fact that a tagged private type has the
5128         E_Record_Type_With_Private Ekind.
5129
5130         * erroutc.adb: Minor reformatting
5131
5132         * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
5133         values if line length is increased using -gnatyM (noticed during code
5134         reading).
5135
5136         * eval_fat.adb: Minor reformatting
5137         Put spaces around exponentiation operator
5138
5139 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
5140
5141         PR ada/15005
5142         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
5143         has been rewritten as an explicit dereference, retrieve type of
5144         original node to check for possibly unconstrained record type.
5145
5146 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
5147
5148         * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
5149         overriding, use the operation of the parent unconditionally.
5150
5151         * sem_ch4.adb (Remove_Address_Interpretations): Remove address
5152         operation when either operand is a literal, to avoid further
5153         ambiguities.
5154
5155         * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
5156         overridden by a previous explicit declaration, mark the previous entity
5157         as overriding.
5158
5159         * sem_disp.adb (Check_Dispatching_Operation): New predicate
5160         Is_Visibly_Controlled, to determine whether a declaration of a
5161         primitive control operation for a derived type overrides an inherited
5162         one. Add warning if the explicit declaration does not override.
5163
5164 2004-05-10  Vincent Celier  <celier@gnat.com>
5165
5166         * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
5167         some cases when the sources are no longer present.
5168
5169         * make.adb (Collect_Arguments): Fail if an external source, not part
5170         of any project need to be compiled, when switch -x has not been
5171         specified.
5172
5173         * makeusg.adb: Document new switch -x
5174
5175         * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
5176         defaulted to False.
5177
5178         * switch-m.adb (Scan_Make_Switches): New switch -x
5179
5180         * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
5181         gnatmake switch -x.
5182
5183         * gnat_ugn.texi: Document new gnatmake switch -x
5184
5185 2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
5186
5187         * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
5188
5189         * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
5190         (process_attributes): Likewise.
5191
5192 2004-05-10  Joel Brobecker  <brobecker@gnat.com>
5193
5194         * s-inmaop.ads: Fix spelling mistake in one of the comments.
5195
5196 2004-05-10  Robert Dewar  <dewar@gnat.com>
5197
5198         * gnat_ugn.texi: Document that for config pragma files, the maximum
5199         line length is always 32767.
5200
5201         * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
5202         literals is now allowed.
5203
5204         * gnat-style.texi: Remove statement about splitting long lines before
5205         an operator rather than after, since we do not follow this rule at all.
5206         Clarify rule (really lack of rule) for spaces around exponentiation
5207
5208         * sem_elim.adb: Allow concatenation of string literals as well as a
5209         single string literal for pragma arguments.
5210
5211         * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
5212
5213         * a-textio.adb (Terminate_Line): Do not add line feed if nothing
5214         written for append case.
5215
5216         * frontend.adb: Changes to avoid checking max line length in config
5217         pragma files.
5218
5219         * g-os_lib.ads: Minor reformatting
5220
5221         * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
5222         wrong in any case. Instead use standard value. Noticed during code
5223         reading.
5224
5225         * opt.ads (Max_Line_Length): New field, used to implement removal of
5226         limitation on length of lines when scanning config pragma files.
5227
5228         * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
5229         makeutl.ads, makeutl.adb: Minor reformatting
5230
5231         * scn.adb: Do not check line length while scanning config pragma files
5232         Do not check line length while scanning out license information
5233
5234         * scng.adb: Changes to avoid line length checks while parsing config
5235         pragma files.
5236
5237 2004-05-10  GNAT Script  <nobody@gnat.com>
5238
5239         * Make-lang.in: Makefile automatically updated
5240
5241 2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
5242
5243         * osint.adb (Find_Program_Name): Fix handling of VMS version
5244         number.
5245
5246 2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
5247
5248         * g-os_lib.ads (Invalid_Time): New constant
5249
5250         * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
5251         return OS_Time instead of time_t to match what is imported by Ada.
5252         Now return -1 if the file doesn't exist, instead of a random value
5253
5254 2004-05-05  Robert Dewar  <dewar@gnat.com>
5255
5256         * usage.adb: Add line for -gnatR?s switch
5257
5258         * sem_ch13.adb, exp_ch2.adb: Minor reformatting
5259
5260         * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
5261         and for Match (Data_First, Data_last)
5262
5263         * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
5264         written when we are dealing with multi-unit files.
5265
5266 2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
5267
5268         * Makefile.in: Remove unused targets and variables.
5269
5270 2004-05-05  Vincent Celier  <celier@gnat.com>
5271
5272         * switch-m.adb: New gnatmake switch -eI
5273
5274         * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
5275         of new gnatmake switch -eInnn.
5276
5277         * makegpr.adb: Take into account new parameters Index and Src_Index in
5278         Prj.Util.
5279
5280         * clean.adb: Implement support for multi-unit sources, including new
5281         switch -i.
5282
5283         * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
5284         Src_Index.
5285
5286         * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
5287         (Extract_From_Q): New out parameter Index
5288         (Mark, Is_Marked): Subprograms moved to Makeutl
5289         (Switches_Of): New parameter Source_Index
5290         (Add_Switch): New parameter Index
5291         (Check): New parameter Source_Index
5292         (Collect_Arguments): New parameter Source_Index
5293         (Collect_Arguments_And_Compile): New parameter Source_Index
5294         (Compile): New parameter Source_Index
5295         Put subprograms in alphabetical order
5296         Add support for multi-source sources, including in project files.
5297
5298         * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
5299         (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
5300         Make.
5301
5302         * makeusg.adb: New gnatmake switch -eInnn
5303
5304         * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
5305         Prj.Util.Value_Of.
5306
5307         * opt.ads (Main_Index): New variable, defaulted to 0.
5308
5309         * osint.ads, osinte.adb (Add_File): New parameter Index
5310         (Current_Source_Index): New function
5311
5312         * prj.adb: Take into account new components Index and Src_Index
5313
5314         * prj.ads (String_Element): New component Index
5315         (Variable_Value): New component Index
5316         (Array_Element): New component Src_Index
5317
5318         * prj-attr.adb: Indicate that optional index may be specified for
5319         attributes Main, Executable, Spec, Body and some of Switches.
5320
5321         * prj-attr.ads (Attribute_Kind): New values for optional indexes
5322         (Attribute_Record): New component Optional_Index
5323
5324         * prj-com.ads (File_Name_Data): New component Index
5325
5326         * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
5327
5328         * prj-env.adb (Put): Output optional index
5329
5330         * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
5331         attributes Spec and Body.
5332
5333         * prj-nmsc.adb: Process optional indexes
5334
5335         * prj-pp.adb: Ouput "at" for optional indexes
5336
5337         * prj-proc.adb: Take into account optional indexes
5338
5339         * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
5340         Optional_Index. For string literal,
5341         process optional index when Optional_Index is True.
5342         (Parse_Expresion): New Boolean parameter Optional_Index
5343
5344         * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
5345         (Set_Source_Index_Of): New procedure
5346
5347         * prj-util.adb (Executable_Of, Value_Of): Take into account optional
5348         index.
5349
5350         * prj-util.ads (Executable_Of): New parameter Index
5351         (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
5352         New parameter Src_Index, defaulted to 0.
5353
5354 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
5355
5356         PR ada/15257
5357         * sem_ch3.adb (Access_Definition): If this is an access parameter
5358         whose designated type is imported through a limited_with clause, do
5359         not add the enclosing subprogram to the list of private dependents of
5360         the type.
5361
5362 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
5363
5364         PR ada/15258
5365         * sem_ch6.adb (Base_Types_Match): True if one type is imported through
5366         a limited_with clause, and the other is its non-limited view.
5367
5368 2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
5369
5370         * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
5371
5372         * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
5373         exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
5374         Stand.Boolean_Literals to produce references to entities
5375         Standard_False and Standard_True from compile-time computed boolean
5376         values.
5377
5378         * stand.ads (Boolean_Literals): New variable, provides the entity
5379         values for False and True, for use by the expander.
5380
5381 2004-05-05  Doug Rupp  <rupp@gnat.com>
5382
5383         * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
5384         5vinmaop.adb: Unchecked convert Short_Address vice Address
5385
5386         * adaint.c, raise.c: Caste CRTL function return value
5387         to avoid gcc error on 32/64 bit IVMS.
5388
5389         * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
5390         target = IA64/VMS.
5391
5392         * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
5393
5394         * 5qsystem.ads (Address): Declare as Long_Integer
5395         (Short_Address): Declare as 32 bit subtype of Address
5396         Declare  abstract address operations to avoid gratuitous ambiguities.
5397
5398 2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
5399
5400         * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
5401         instead of the old Boolean_Entry_Barriers.
5402         Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
5403
5404 2004-05-05  GNAT Script  <nobody@gnat.com>
5405
5406         * Make-lang.in: Makefile automatically updated
5407
5408 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
5409
5410         * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
5411
5412 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
5413
5414         PR ada/15152
5415
5416         * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
5417         alone. Replacing object references by literals is inappropriate in a
5418         so low level context.
5419
5420 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
5421
5422         * a-exexpr.adb: Add comments
5423
5424 2004-05-03  Joel Brobecker  <brobecker@gnat.com>
5425
5426         * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
5427         declare the Ancestor_Tags array in Type_Specific_Data with a small size
5428         without risking a bounds check error when accessing one of its
5429         components.
5430         (Type_Specific_Data): Define Ancestor_Tags as a small array.
5431         This prevents us from hitting a limitation during the debug info
5432         generation when using stabs.
5433
5434         * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
5435         small array.
5436         This prevents us from hitting a limitation during the debug info
5437         generation when using stabs.
5438
5439 2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
5440
5441         lang-specs.h: Remove -gnatz* from specs.
5442
5443 2004-05-03  Vincent Celier  <celier@gnat.com>
5444
5445         * gprmake.adb, makegpr.ads, makegpr.adb: New files.
5446
5447         * Make-lang.in, Makefile.in: Add gprmake
5448
5449 2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
5450
5451         * sem_aggr.adb: Fix typo in comment.
5452
5453 2004-05-03  Robert Dewar  <dewar@gnat.com>
5454
5455         * make.adb: Minor reformatting
5456
5457         * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
5458
5459         * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
5460         so that it works when address is not a private type.
5461
5462         * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
5463         properly with rewritten unchecked conversions. This prevents
5464         order-of-elaboration issues that can otherwise arise.
5465         (Minimum_Size): Don't check size of access types under VMS
5466
5467         * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
5468         interpretations of integer literals as type System.Address.
5469
5470         * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
5471         (Is_Descendent_Of): New function
5472
5473 2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
5474
5475         * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
5476         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
5477         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
5478
5479         * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
5480         of the old Max_Entry_Queue_Depth.
5481
5482         * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
5483         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
5484         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
5485
5486         * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
5487         New entry for proper handling of Max_Entry_Queue_Depth.
5488         New entry for proper handling of No_Dynamic_Interrupts.
5489
5490         * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
5491         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
5492         Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
5493         the GNAT specific restriction Max_Entry_Queue_Depth.
5494         Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
5495         the GNAT specific restriction No_Dynamic_Interrupts.
5496
5497         * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
5498         instead of the old Boolean_Entry_Barriers.
5499         Use the new restriction No_Dynamic_Attachment instead of the old
5500         No_Dynamic_Interrupts.
5501
5502         * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
5503         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
5504
5505         * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
5506         of the old Max_Entry_Queue_Depth.
5507
5508 2004-05-03  GNAT Script  <nobody@gnat.com>
5509
5510         * Make-lang.in: Makefile automatically updated
5511
5512 2004-04-29  Ed Schonberg  <schonberg@gnat.com>
5513
5514         * checks.adb (Enable_Range_Check): If the prefix of an index component
5515         is an access to an unconstrained array, perform check unconditionally.
5516
5517 2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5518
5519         * decl.c (gnat_to_gnu_field): Also call make_packable_type if
5520         Component_Clause.
5521
5522 2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
5523
5524         * init.c (__gnat_install_handler, __gnat_error_handler): Remove
5525         alternate stack setting. There was no support for the tasking cases
5526         and the changes eventually caused a number of side-effect failures in
5527         the non-tasking case too.
5528
5529 2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
5530
5531         lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
5532         -gnats is passed.
5533
5534 2004-04-29  Vincent Celier  <celier@gnat.com>
5535
5536         * make.adb (Gnatmake): Increase max size of argument array for
5537         gnatbind for the potential addition of -F.
5538         If there are Stand-Alone Library projects, invoke gnatbind with -F to
5539         be sure that elaboration flags will be checked.
5540
5541         * switch-c.adb: Correct call to Scan_Pos for -gnateI
5542
5543 2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
5544
5545         * sem_warn.adb (Check_References): Move '<access-variable> may be
5546         null' warning out of under Warn_On_No_Value_Assigned.
5547
5548 2004-04-29  Ed Falis  <falis@gnat.com>
5549
5550         * gnat_ugn.texi: Fixed texi error
5551
5552 2004-04-29  Robert Dewar  <dewar@gnat.com>
5553
5554         * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
5555         abstract operations if they come from predefined files.
5556
5557         * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
5558         Dynamic, not RM).
5559
5560         * s-addope.adb: Correct obvious error in mod function
5561
5562 2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
5563
5564         * Makefile.in: Add target pairs for powerpc darwin*
5565         tasking support.
5566
5567         * a-intnam-darwin.ads, s-osinte-darwin.adb,
5568         s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
5569
5570 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
5571
5572         * Makefile.in: Add target macro definitions for s390*-linux*.
5573         * system-linux-s390.ads: New file.
5574         * system-linux-s390x.ads: New file.
5575
5576 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
5577
5578         * gnat_ugn.texi: Correct argument to @setfilename.
5579
5580 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
5581
5582         * a-exexpr.adb (Unwind_Word): New data type.
5583         (Unwind_Exception): Use it as type of Private1 and Private2.
5584
5585         * raise.c (db_action_for): Fix debug printf.
5586
5587 2004-04-27  Ed Schonberg  <schonberg@gnat.com>
5588
5589         * a-wtmoio.ads: Formal type must be a modular type, not a signed
5590         integer type.
5591
5592 2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5593
5594         * decl.c (gnat_to_gnu_entity, case object): Call
5595         __builtin_update_setjmp_buf.
5596
5597         * gigi.h (update_setjmp_buf): Deleted.
5598         (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
5599
5600         * misc.c: (update_setjmp_buf): Deleted.
5601
5602         * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
5603         around block of RTL.
5604
5605         * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
5606
5607 2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
5608
5609         * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
5610         subprogram for which no pragma All_Calls_Remote applies, store the
5611         address of the real subprogram in the underlying record type, so local
5612         dereferences do not go through the PCS.
5613
5614 2004-04-26  Robert Dewar  <dewar@gnat.com>
5615
5616         * i-c.ads: Add some type qualifications to avoid ambiguities when
5617         compiling with s-auxdec.ads and a non-private address type.
5618
5619 2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
5620
5621         * Makefile.rtl: Fix error in previous check-in:
5622         Add s-addope.o to non tasking object list (rather than tasking object
5623         list).
5624
5625 2004-04-26  Javier Miranda  <miranda@gnat.com>
5626
5627         * sem_aggr.adb: Fix typo in comments
5628         (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
5629         Required to check the null-exclusion attribute.
5630
5631         * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
5632         case of anonymous access types in record and array components. For a
5633         component definition the level is the same of the enclosing composite
5634         type.
5635
5636         * sem_ch3.adb (Analyze_Component_Declaration): In case of components
5637         that are anonymous access types the level of accessibility depends on
5638         the enclosing type declaration. In order to have this information, set
5639         the scope of the anonymous access type to the enclosing record type
5640         declaration.
5641         (Array_Type_Declaration): In case of components that are anonymous
5642         access types the level of accessibility depends on the enclosing type
5643         declaration. In order to have this information, set the scope of the
5644         anonymous access type to the enclosing array type declaration.
5645
5646         * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
5647         access type.
5648
5649         * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
5650         renaming of anonymous access-to-constant types allowed if and only if
5651         the renamed object is access-to-constant.
5652
5653         * sem_util.adb (Type_Access_Level): In case of anonymous access types
5654         that are component_definition or discriminants of a nonlimited type,
5655         the level is the same as that of the enclosing component type.
5656
5657 2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
5658
5659         * sem_elim.adb: Some minor code reorganization from code reading. Fix
5660         misprint in the function name (File_Name_Match).
5661
5662 2004-04-23  Laurent GUERBY <laurent@guerby.net>
5663
5664         * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
5665         install.
5666
5667 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5668
5669         * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
5670
5671 2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
5672
5673         * adaint.c (__gnat_try_lock): No longer requires that the parent
5674         directory be writable, the directory itself is enough.
5675         (gnat_is_absolute_path): Change profile, so that the call from
5676         GNAT.OS_Lib can be made more efficient.
5677
5678         * adaint.h (gnat_is_absolute_path): Change profile, so that the call
5679         from GNAT.OS_Lib can be made more efficient.
5680
5681         * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
5682         one copy of the file name. Found by code reading.
5683
5684 2004-04-23  Vincent Celier  <celier@gnat.com>
5685
5686         * gnat_ugn.texi: Add documentation for gnatmake switch -eL
5687         Correct documentation on gnatmake switches transmitted to the compiler
5688
5689         * ali.ads: Minor comment fix
5690
5691 2004-04-23  Javier Miranda  <miranda@gnat.com>
5692
5693         * sem_ch6.adb: (Confirming Types): Code cleanup
5694
5695         * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
5696         subprogram types: E_Anonymous_Access_Subprogram_Type and
5697         E_Anonymous_Access_Protected_Subprogram_Type.
5698
5699 2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
5700
5701         * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
5702         whether a pragma All_Calls_Remote applies to the subprogram on which
5703         'Access is taken.
5704         No functional change is introduced by this revision; the new parameter
5705         will be used to allow calls to local RCI subprograms to be optimized
5706         to not use the PCS in the case where no pragma All_Calls_Remote applies,
5707         as is already done in the PolyORB implementation of the DSA.
5708
5709         * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
5710         whether a pragma All_Calls_Remote applies to the subprogram on which
5711         'Access is taken.
5712         No functional change is introduced by this revision; the new parameter
5713         will be used to allow calls to local RCI subprograms to be optimized
5714         to not use the PCS in the case where no pragma All_Calls_Remote applies,
5715         as is already done in the PolyORB implementation of the DSA.
5716
5717 2004-04-23  Robert Dewar  <dewar@gnat.com>
5718
5719         * Makefile.rtl: Add entry for s-addope.o in run time library list
5720         * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
5721         * s-addope.ads, s-addope.adb: New files.
5722
5723         * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
5724         s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
5725         s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
5726         System.Address to be non-private and signed.
5727
5728         * sem_elim.adb: Minor reformatting (fairly extensive)
5729         Some minor code reorganization from code reading
5730         Add a couple of ??? comments
5731
5732 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5733
5734         * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
5735         (tree_transform, case N_If_Statement): Remove non-determinism.
5736
5737         * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
5738
5739 2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
5740
5741         * gnat_rm.texi: Small fixes in the changes made in the 'pragma
5742         Eliminate' section.
5743
5744         * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
5745         no longer used as a parameter name for Eliminate pragma).
5746
5747 2004-04-22  Laurent GUERBY <laurent@guerby.net>
5748
5749         PR optimization/14984
5750         PR optimization/14985
5751         * trans.c (gigi): Fix non determinism leading to bootstrap
5752         comparison failures.
5753
5754 2004-04-21  Pascal Obry  <obry@gnat.com>
5755
5756         * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
5757         passed to spawnvp() to properly handle program pathname with spaces on
5758         Win32.
5759
5760 2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
5761
5762         * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
5763         (Allocate, Deallocate, Free_Physically): Make sure the tasks are
5764         unlocked in case of exceptions.
5765
5766 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
5767
5768         * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
5769         This function does not exist anymore.
5770
5771 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
5772
5773         * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
5774
5775         * link.c: Move variables to the __gnat name space.
5776
5777         * Makefile.in: list link.o explicitly when needed.
5778
5779         * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
5780
5781 2004-04-21  Javier Miranda  <miranda@gnat.com>
5782
5783         * einfo.adb (Original_Access_Type): New subprogram
5784         (Set_Original_Access_Type): New subprogram
5785         (Write_Field21_Name): Write the name of the new field
5786
5787         * einfo.ads (Original_Access_Type): New field present in access to
5788         subprogram types.
5789         Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
5790         E_Anonymous_Access_Protected_Subprogram_Type.
5791
5792         * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
5793         subprogram types.
5794
5795         * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
5796         to anonymous access to subprogram types.
5797
5798         * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
5799         to subprogram types.
5800
5801         * sem_ch3.adb (Access_Definition): Complete decoration of entities
5802         corresponding to anonymous access to subprogram types.
5803         (Analyze_Component_Declaration): Add new actual to the call to
5804         subprogram replace_anonymous_access_to_protected_subprogram.
5805         (Array_Type_Declaration): Add new actual to the call to subprogram
5806         replace_anonymous_access_to_protected_subprogram.
5807         (Process_Discriminants): Add new actual to the call to subprogram
5808         replace_anonymous_access_to_protected_subprogram.
5809         (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
5810
5811         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
5812         formal.
5813
5814         * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
5815         access to subprogram types.
5816
5817         * sem_util.adb (Has_Declarations): Addition of package_specification
5818         nodes.
5819
5820 2004-04-21  Ed Schonberg  <schonberg@gnat.com>
5821
5822         * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
5823         inlined flags to renamed entity only if in current unit.
5824
5825 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
5826
5827         * s-parint.ads: Add DSA implementation marker.
5828
5829         * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
5830         value of System.Partition_Interface.DSA_Implementation to determine
5831         what version of the distributed systems annex is available (no
5832         implementation, GLADE, or PolyORB).
5833
5834 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
5835
5836         * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
5837
5838 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5839
5840         * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
5841         with new type if alias sets differ.
5842         Fixes ACATS c41103b.
5843
5844 2004-04-21  Vincent Celier  <celier@gnat.com>
5845
5846         * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
5847         Add array Lang_Args for the language specific compiling argument
5848         switches.
5849
5850         * gnat_ugn.texi: Explain in more details when a library is rebuilt.
5851
5852 2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
5853
5854         * gnat_rm.texi: Update the descripton of the Eliminate pragma
5855         according to the recent changes in the format of the parameters of the
5856         pragma (replacing Homonym_Number with Source_Location).
5857
5858 2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
5859
5860         * 5isystem.ads: Removed, unused.
5861
5862         * gnat_rm.texi: Redo 1.13 change.
5863
5864 2004-04-19  Robert Dewar  <dewar@gnat.com>
5865
5866         * s-stoele.ads: Clean up definition of Storage_Offset (the new
5867         definition is cleaner, avoids the kludge of explicit Standard operator
5868         references, and also is consistent with a visible System.Address with
5869         no visible operations.
5870
5871         * s-geveop.adb: Add declarations to avoid assumption of visible
5872         operations on type System.Address (since these might not be available
5873         if Address is a non-private type for which the operations
5874         are made abstract).
5875
5876         * sem_eval.adb: Minor reformatting
5877
5878         * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
5879         s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
5880         reformatting (new function spec format).
5881
5882         * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
5883         s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
5884         s-caun64.adb: Add declarations to avoid assumption of visible
5885         operations on type System.Address (since these might not be available
5886         if Address is a non-private type for which the operations are made
5887         abstract).
5888
5889         * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
5890
5891         * exp_intr.adb: Minor comment update
5892
5893         * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
5894
5895         * 5omastop.adb: Add declarations to avoid assumption of visible
5896         operations on type System.Address (since these might not be available
5897         if Address is a non-private type for which the operations
5898         are made abstract).
5899
5900 2004-04-19  Vincent Celier  <celier@gnat.com>
5901
5902         * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
5903
5904         * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
5905         defaulted to Ada.
5906
5907         * prj-proc.adb (Process): New Boolean parameter Process_Languages,
5908         defaulted to Ada.
5909         Call Check with Process_Languages.
5910         (Check): New Boolean parameter Process_Languages. Call Recursive_Check
5911         with Process_Languages.
5912         (Recursive_Check): New Boolean parameter Process_Languages. Call
5913         Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
5914         Process_Languages.
5915
5916         * prj-proc.ads (Process): New Boolean parameter Process_Languages,
5917
5918         * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
5919         parameter Ada_Main, defaulted to True.
5920         Check for Ada specific characteristics only when Ada_Main is True.
5921
5922         * opt.ads: (Follow_Links): New Boolean flag for gnatmake
5923
5924         * prj.adb: (Project_Empty): Add new Project_Data components.
5925
5926         * prj.ads: New types and tables for non Ada languages.
5927         (Project_Data): New components Languages, Impl_Suffixes,
5928         First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
5929         Include_Path, Include_Data_Set.
5930
5931         * prj-env.ads, prj-env.adb: Minor reformatting
5932
5933         * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
5934         Put subprograms in alphabetical order
5935
5936         * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
5937         defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
5938         Opt.Follow_Links.
5939
5940         * mlib-prj.adb: Back out modification in last version, as they are
5941         incorrect.
5942         (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
5943
5944         * make.adb: (Mains): Moved to package Makeutl
5945         (Linker_Opts): Moved to package Makeutl
5946         (Is_External_Assignment): Moved to package Makeutl
5947         (Test_If_Relative_Path): Moved to package Makeutl
5948         (Gnatmake): Move sorting of linker options to function
5949         Makeutl.Linker_Options_Switches.
5950
5951         * makeutl.ads, makeutl.adb: New files.
5952
5953         * Makefile.in: Add makeutl.o to the object files for gnatmake
5954
5955         * makeusg.adb: Add line for new switch -eL.
5956
5957         * gnatls.adb (Image): New function.
5958         (Output_Unit): If in verbose mode, output the list of restrictions
5959         specified by pragmas Restrictions.
5960
5961         * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
5962         Text_IO.
5963
5964         * a-calend.adb (Split): Shift the date by multiple of 56 years, if
5965         needed, to put it in the range 1970 (included) - 2026 (excluded).
5966         (Time_Of): Do not shift Unix_Min_Year (1970).
5967         Shift the date by multiple of 56 years, if needed, to put it in the
5968         range 1970 (included) - 2026 (excluded).
5969
5970         * adaint.h, adaint.c (__gnat_set_executable): New function.
5971
5972 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5973
5974         * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
5975         and pop GC context.
5976         (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
5977         (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
5978         (tree_transform, case N_Procedure_Call_Statement): Build a tree.
5979         (tree_transform, case N_Code_Statement): Likewise.
5980         (gnat_expand_stmt, case LABEL_STMT): Don't look at
5981         LABEL_STMT_FIRST_IN_EH.
5982         (gnat_expand_stmt, case ASM_STMT): New case.
5983
5984         * utils2.c (build_unary_op): Properly set TREE_READONLY of
5985         UNCONSTRAINED_ARRAY_REF.
5986
5987         * utils.c (poplevel): Temporarily push/pop GC context around inline
5988         function expansion.
5989
5990         * decl.c (maybe_variable): Properly set TREE_READONLY of
5991         UNCONSTRAINED_ARRAY_REF.
5992         (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
5993
5994         * ada-tree.def: (ASM_STMT): New.
5995
5996         * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
5997         (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
5998         ASM_STMT_INPUT): New.
5999         (ASM_STMT_CLOBBER): Likewise.
6000
6001 2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
6002
6003         * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
6004         general rcheck mechanism to raise Program_Error for E.4(18), instead
6005         of a custom raiser in System.Partition_Interface.
6006         Part of general cleanup work before PolyORB integration.
6007
6008         * snames.ads, snames.adb: Add new runtime library entities and names
6009         for PolyORB DSA.
6010
6011         * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
6012         exp_dist.
6013         (Build_Subprogram_Id): New subprogram provided by exp_dist
6014         Code reorganisation in preparation for PolyORB integration.
6015
6016         * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
6017         exp_dist.
6018         (Build_Subprogram_Id): New subprogram provided by exp_dist
6019
6020         * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
6021         actual parameter types for call to dereference of an
6022         access-to-subprogram type.
6023
6024         * rtsfind.ads: Add new runtime library entities and names for PolyORB
6025         DSA.
6026
6027         * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
6028         instead, which has the same behaviour here since we never pass it a
6029         NULL pointer.
6030
6031         * link.c (run_path_option, Solaris case): Use -Wl, as for other
6032         platforms.
6033
6034         * Makefile.in: adjust object file lists for gnatlink and gnatmake
6035         to account for new dependency upon Interfaces.C.Strings + link.o
6036         For x86 FreeBSD, use 86numaux.
6037
6038         * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
6039         from Mlib.Tgt to Mlib.
6040
6041         * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
6042         target-independent.
6043
6044         * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
6045         target-specific versions of this subprogram, now implemented as a
6046         target-independent function in Mlib.
6047
6048         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
6049         5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
6050         (Linker_Library_Path_Option): Remove target-specific versions of this
6051         subprogram, now implemented as a target-independent function in Mlib.
6052
6053         * atree.adb: (Allocate_Initialize_Node): New subprogram.
6054         Factors out node table slots allocation.
6055         (Fix_Parents): New subprogram.
6056         Encapsulate the pattern of fixing up parent pointers for syntactic
6057         children of a rewritten node.
6058         (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
6059         (Rewrite): Use New_Copy when creating saved copy of original node.
6060         (Replace): Use Copy_Node to copy nodes.
6061
6062 2004-04-19  Javier Miranda  <miranda@gnat.com>
6063
6064         * sprint.adb (Sprint_Node_Actual): Give support to the new
6065         Access_To_Subprogram node available in Access_Definition nodes. In
6066         addition, give support to the AI-231 node fields: null-exclusion,
6067         all-present, constant-present.
6068
6069         * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
6070
6071         * sinfo.ads, sinfo.adb:
6072         New field Access_To_Subprogram_Definition in Access_Definition nodes
6073
6074         * sem_ch6.adb (Process_Formals): Move here the code that creates and
6075         decorates internal subtype declaration corresponding to the
6076         null-excluding formal. This code was previously in Set_Actual_Subtypes.
6077         In addition, carry out some code cleanup on this code. In case of
6078         access to protected subprogram call
6079         Replace_Anonymous_Access_To_Protected_Subprogram.
6080         (Set_Actual_Subtypes): Code cleanup.
6081
6082         * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
6083         Find_Type in case of anonymous access renamings. Add warning in case of
6084         null-excluding attribute used in anonymous access renaming.
6085
6086         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
6087         subprogram
6088
6089         * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
6090         subprogram.
6091         (Access_Definition): In case of anonymous access to subprograms call
6092         the corresponding semantic routine to decorate the node.
6093         (Access_Subprogram_Declaration): Addition of some comments indicating
6094         some code that probably should be added here. Detected by comparison
6095         with the access_definition subprogram.
6096         (Analyze_Component_Declaration): In case of access to protected
6097         subprogram call Replace_Anonymous_Access_To_Protected.
6098         (Array_Type_Declaration): In case of access to protected subprogram call
6099         Replace_Anonymous_Access_To_Protected_Subprogram.
6100         (Process_Discriminants): In case of access to protected subprogram call
6101         Replace_Anonymous_Access_To_Protected_Subprogram.
6102
6103         * par.adb (P_Access_Definition): New formal that indicates if the
6104         null-exclusion part was present.
6105         (P_Access_Type_Definition): New formal that indicates if the caller has
6106         already parsed the null-excluding part.
6107
6108         * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
6109         (P_Identifier_Declarations): Code cleanup and give support to renamings
6110         of anonymous access to subprogram types.
6111         (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
6112         (P_Array_Type_Definition): Give support to AI-254.
6113         (P_Component_Items): Give support to AI-254.
6114         (P_Access_Definition): New formal that indicates if the header was
6115         already parsed by the caller.
6116         (P_Access_Type_Definition): New formal that indicates if the caller has
6117         already parsed the null-excluding part.
6118
6119         * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
6120         call to P_Access_Definition.
6121
6122 2004-04-19  Geert Bosch  <bosch@gnat.com>
6123
6124         * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
6125         the delicate semantics of floating-point to integer conversion.
6126         (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
6127
6128         * eval_fat.adb (Machine_Mantissa): Moved to spec.
6129         (Machine_Radix): New function.
6130
6131         * eval_fat.ads (Machine_Mantissa): Moved from body for use in
6132         conversion checks.
6133         (Machine_Radix): New function also for use in conversion checks.
6134
6135 2004-04-19  Ed Schonberg  <schonberg@gnat.com>
6136
6137         * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
6138
6139         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
6140         to decorate the access-to-protected subprogram and the equivalent type.
6141
6142         * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
6143         to anonymous access to subprogram types.
6144
6145         * exp_ch4.adb (Expand_N_In): Preserve Static flag before
6146         constant-folding, for legality checks in contexts that require an RM
6147         static expression.
6148
6149         * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
6150         temporary but stack checking is not enabled, increment serial number
6151         to so that symbol generation is consistent with and without stack
6152         checking.
6153
6154         * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
6155         independent on whether stack checking is enabled, caller must check
6156         the corresponding flag.
6157
6158         * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
6159         range checks.
6160         (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
6161         parent if it has discriminants.
6162         (Build_Derived_Private_Type): Constructed full view does
6163         not come from source.
6164         (Process_Discriminants): Default discriminants on a tagged type are
6165         legal if this is the internal completion of a private untagged
6166         derivation.
6167
6168         * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
6169         no constraint checks, because it corresponds to an existing object.
6170
6171         * sem_prag.adb (Process_Convention): Pragma applies
6172         only to subprograms in the same declarative part, i.e. the same unit,
6173         not the same scope.
6174
6175         * sem_res.adb (Valid_Conversion): In an instance or inlined body,
6176         ignore type mismatch on a numeric conversion if expression comes from
6177         expansion.
6178
6179 2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
6180
6181         * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
6182         Homonym_Number parameter, add processing for Source_Location parameter
6183         corresponding.
6184         (Check_Eliminated): Remove the check for homonym numbers, add the check
6185         for source location traces.
6186
6187         * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
6188         with Arg_Source_Location corresponding to the changes in the format of
6189         the pragma.
6190
6191         * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
6192         Eliminate pragma corresponding to the changes in the format of the
6193         pragma: Homonym_Number is replaced with Source_Location, two ways of
6194         distinguishing homonyms are mutially-exclusive.
6195
6196 2004-04-19  Joel Brobecker  <brobecker@gnat.com>
6197
6198         * get_targ.ads (Get_No_Dollar_In_Label): Remove.
6199
6200         * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
6201         No_Dollar_In_Label, no longer necessary, as it is always True.
6202         (Strip_Suffixes): Likewise.
6203
6204 2004-04-19  Gary Dismukes  <dismukes@gnat.com>
6205
6206         * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
6207         modulus for compatibility with size clause on targets with 16-bit
6208         Integer.
6209
6210         * layout.adb (Discrimify): In the case of private types, set Vtyp to
6211         full type to fix type mismatches on calls to size functions for
6212         discriminant-dependent array components.
6213
6214 2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
6215
6216         * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
6217         lib.
6218
6219 2004-04-19  Pascal Obry  <obry@gnat.com>
6220
6221         * mdll-utl.adb (Locate): New version is idempotent.
6222
6223 2004-04-17  Laurent Guerby <laurent@guerby.net>
6224
6225         PR ada/14988 (partial)
6226         * impunit.adb: Fix typo.
6227
6228 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
6229
6230         * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
6231         and install-rts-cert targets.  Remove all gnatlib and gnattools
6232         targets and all other rts-* targets (moved to libada).  Remove (now)
6233         unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
6234         TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
6235
6236 2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6237
6238         * trans.c (tree_transform): Shortcut returning error_mark_node for
6239         statements in annotate_only_mode.
6240         (tree_transform, case N_Label, case N_Return_Statement,
6241         N_Goto_Statement): Make statement tree instead of generating code.
6242         (tree_transform, case N_Assignment_Statement): No longer check
6243         type_annotate_only.
6244         (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
6245         RETURN_STMT): New.
6246         (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
6247         New fcns.
6248         (gnat_to_gnu): Collect any RTL generated and deal with it.
6249         (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
6250         (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
6251         (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
6252
6253         * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
6254
6255         * ada-tree.def (EXPR_STMT): Fix typo in name.
6256         (BLOCK_STMT, IF_STMT): New nodes.
6257
6258         * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
6259         LABEL_STMT_FIRST_IN_EH): New macros.
6260         (RETURN_STMT_EXPR): Likewise.
6261
6262         * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
6263         IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
6264
6265 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
6266
6267         * atree.ads: Correct documentation on extended nodes.
6268
6269         * link.c: Set run_path_option for FreeBSD.
6270
6271 2004-04-08  Vincent Celier  <celier@gnat.com>
6272
6273         * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
6274         one of the ALI file, do not link with DEC lib.
6275
6276         * par.adb Remove the last two characters ("%s" or "%b") when checking
6277         if a language defined unit may be recompiled.
6278
6279 2004-04-08  Ed Schonberg  <schonberg@gnat.com>
6280
6281         * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
6282         removal of abstract operation leaves no possible interpretation for
6283         expression.
6284
6285         * sem_eval.adb (Eval_Qualified_Expression): Use
6286         Set_Raises_Constraint_Error on node when needed, so that it does not
6287         get optimized away by subsequent optimizations.
6288
6289         * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
6290         operands even when they are not wrapped in a type conversion.
6291
6292 2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
6293
6294         * sem_prag.adb (Set_Exported): Warn about making static as result of
6295         export only when the export is coming from source. This may be not
6296         be true e.g. on VMS where we expand export pragmas for exception codes
6297         together with imported or exported exceptions, and we don't want the
6298         user to be warned about something he didn't write.
6299
6300 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
6301
6302         * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
6303         duplication between normal entities and those declared as renamings.
6304         No functional change.
6305
6306         * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
6307         inline functions returning an unconstrained result.
6308
6309 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
6310
6311         * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
6312         conform to what other front-ends do.
6313
6314 2004-04-08  Doug Rupp  <rupp@gnat.com>
6315
6316         * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
6317         libraries.
6318
6319 2004-04-06  Pascal Obry  <obry@gnat.com>
6320
6321         * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
6322
6323         * osint.adb (Program_Name): Do not look past a directory separator.
6324
6325 2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
6326
6327         * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
6328
6329         * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
6330         requirement for preserving a copy of the original assignment node.
6331
6332         * sinfo.ads: Update comment (Original_Tree -> Original_Node).
6333
6334 2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
6335
6336         (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
6337         when supported.
6338
6339 2004-04-06  Ed Schonberg  <schonberg@gnat.com>
6340
6341         * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
6342         operator calls in functional notation, and apply
6343         Universal_Interpretation to operands, not to their type.
6344
6345 2004-04-06  Robert Dewar  <dewar@gnat.com>
6346
6347         * 5wdirval.adb: Minor reformatting
6348
6349 2004-04-06  Ed Falis  <falis@gnat.com>
6350
6351         * gnat_rm.texi: Improve a reference to the GCC manual
6352
6353 2004-04-05  Vincent Celier  <celier@gnat.com>
6354
6355         * adaint.h, adaint.c: Add function __gnat_named_file_length
6356
6357         * impunit.adb: Add Ada.Directories to the list
6358
6359         * Makefile.in: Add VMS and Windows versions of
6360         Ada.Directories.Validity package body.
6361
6362         * Makefile.rtl: Add a-direct and a-dirval
6363
6364         * mlib-tgt.ads: Minor comment update.
6365
6366         * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
6367         a-direct.ads, a-direct.adb: New files.
6368
6369 2004-04-05  Vincent Celier  <celier@gnat.com>
6370
6371         PR ada/13620
6372         * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
6373         just to the compiler.
6374
6375 2004-04-05  Robert Dewar  <dewar@gnat.com>
6376
6377         * a-except.adb (Exception_Name_Simple): Make sure lower bound of
6378         returned string is 1.
6379
6380         * ali-util.adb: Use proper specific form for Warnings (Off, entity)
6381
6382         * eval_fat.ads: Minor reformatting
6383
6384         * g-curexc.ads: Document that lower bound of returned string values
6385         is always one.
6386
6387         * gnatlink.adb: Add ??? comment for previous change
6388         (need to document why this is VMS specific)
6389
6390         * s-stoele.ads: Minor reformatting
6391
6392         * tbuild.ads: Minor reformatting throughout (new function specs)
6393
6394         * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
6395         after WITH.
6396
6397         * scng.adb: Minor reformatting
6398
6399 2004-04-05  Geert Bosch  <bosch@gnat.com>
6400
6401         * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
6402         (Leading_Part): Still perform truncation to machine number if the
6403         specified radix_digits is greater or equal to machine_mantissa.
6404
6405 2004-04-05  Javier Miranda  <miranda@gnat.com>
6406
6407         * par-ch3.adb: Complete documentation of previous change
6408         Correct wrong syntax documentation of the OBJECT_DECLARATION rule
6409         (aliased must appear before constant).
6410
6411         * par-ch4.adb: Complete documentation of previous change.
6412
6413         * par-ch6.adb: Complete documentation of previous change.
6414
6415         * sinfo.ads: Fix typo in commment.
6416
6417 2004-04-05  Ed Schonberg  <schonberg@gnat.com>
6418
6419         * sem_ch3.adb (Inherit_Components): If derived type is private and has
6420         stored discriminants, use its discriminants to constrain parent type,
6421         as is done for non-private derived record types.
6422
6423         * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
6424         Ada 2005 AI-310: an abstract non-dispatching operation is not a
6425         candidate interpretation in an overloaded call.
6426
6427         * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
6428         expression is Null and target type is not an access type (e.g. a
6429         non-private address type).
6430
6431 2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
6432
6433         * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
6434         statement whose right-hand side is an inlined call, save a copy of the
6435         original assignment subtree to preserve enough consistency for
6436         Analyze_Assignment to proceed.
6437
6438         * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
6439         complete assignment subtree which is now unnecessary, as the expansion
6440         of inlined call has been improved to preserve a consistent assignment
6441         tree.  Note_Possible_Modification must be called only
6442         after checks have been applied, or else unnecessary checks will
6443         be generated.
6444
6445         * sem_util.adb (Note_Possible_Modification): Reorganise the handling
6446         of explicit dereferences that do not Come_From_Source:
6447          - be selective on cases where we must go back to the dereferenced
6448            pointer (an assignment to an implicit dereference must not be
6449            recorded as modifying the pointer);
6450          - do not rely on Original_Node being present (Analyze_Assignment
6451            calls Note_Possible_Modification on a copied tree).
6452
6453         * sem_warn.adb (Check_References): When an unset reference to a pointer
6454         that is never assigned is encountered, prefer '<pointer> may be null'
6455         warning over '<pointer> is never assigned a value'.
6456
6457 2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
6458
6459         * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
6460         the ABI.
6461
6462 2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
6463
6464         * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
6465         libexc. We currently don't reference anything in this library and
6466         linking it in triggers linker warnings we don't want to see.
6467
6468         * init.c: Update comments.
6469
6470 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6471
6472         * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
6473         * utils.c (create_field_decl): Likewise.
6474         * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
6475
6476 2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
6477
6478         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
6479         Replace ifinfo by ifnottex, to make makeinfo --html happy again.
6480         Add info directory entry and category.
6481
6482 2004-04-02  Jan Hubicka  <jh@suse.cz>
6483
6484         * utils.c: Include function.h
6485         (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
6486
6487 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
6488
6489         PR ada/14150
6490         * Make-lang.in: Clean up generation of documentation
6491
6492         * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
6493
6494         * xgnatug.adb: Removed, replaced by xgnatugn.adb
6495
6496         * xgnatugn.adb: Replaces xgnatug.adb
6497
6498         * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
6499
6500         * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
6501
6502         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
6503         gnat_ug_wnt.texi: Removed.
6504
6505 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
6506
6507         * utils2.c: Update copyright notice.
6508
6509 2004-04-01  Robert Dewar  <dewar@gnat.com>
6510
6511         * checks.adb: Minor reformatting throughout
6512         Note that prev checkin added RM reference to alignment warning
6513
6514 2004-04-01  Ed Schonberg  <schonberg@gnat.com>
6515
6516         * exp_aggr.adb (Get_Component_Val): Treat a string literal as
6517         non-static when building aggregate for bit-packed array.
6518
6519         * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
6520         function call that is itself the actual in a procedure call, build
6521         temporary for it.
6522
6523         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
6524         a string literal, create a temporary for it, constant folding only
6525         handles scalars here.
6526
6527 2004-04-01  Vincent Celier  <celier@gnat.com>
6528
6529         * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
6530         Error_Msg_SP): New empty procedures to instantiate the Scanner.
6531         (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
6532         tokens.
6533         (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
6534         (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
6535         and get the checksum.
6536
6537         * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
6538         already in the Q.
6539         Increase the Marking_Label at the end of the Multiple_Main_Loop,
6540         instead of at the beginning.
6541
6542         * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
6543         directly.
6544         (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
6545         on VMS.
6546
6547         * osint.ads (Multi_Unit_Index_Character): New Character global variable
6548
6549         * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
6550         not '~' directly.
6551
6552         * par.adb: Remove test on file name to detect language defined units.
6553         Add test on unit name, after parsing, to detect language defined units
6554         that are not compiled with -gnatg (except System.RPC and its children)
6555
6556         * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
6557         following units without style checking.
6558
6559         * switch-c.adb: Change -gnatC to -gnateI
6560
6561         * usage.adb: Document new switch -gnateInnn
6562
6563         * scng.adb (Accumulate_Token_Checksum): New procedure
6564         (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
6565         word or literal number.
6566         (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
6567         numbers.
6568
6569 2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
6570
6571         * a-tasatt.adb,
6572         g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
6573         switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
6574         5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
6575         5vtpopde.adb: Add missing 'constant' keywords.
6576
6577 2004-04-01  Javier Miranda  <miranda@gnat.com>
6578
6579         * par-ch4.adb: (P_Allocator): Code cleanup
6580
6581         * sem_ch3.adb (Access_Definition): Properly set the null-excluding
6582         attribute.
6583
6584         * sinfo.ads: Complete documentation of previous change
6585
6586 2004-04-01  Pascal Obry  <obry@gnat.com>
6587
6588         * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
6589         only on VMS.  This special handling was done because an old GNU/ld bug
6590         on Windows which has been fixed.
6591
6592 2004-04-01  GNAT Script  <nobody@gnat.com>
6593
6594         * Make-lang.in: Makefile automatically updated
6595
6596 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6597
6598         * decl.c (gnat_to_gnu_entity, make_type_from_size):
6599         Use TYPE_UNSIGNED, not TREE_UNSIGNED.
6600         * trans.c (tree_transform, convert_with_check): Likewise.
6601         * utils.c (gnat_signed_or_unsigned_type): Likewise.
6602         (build_vms_descriptor, unchecked_convert): Likewise.
6603         * utils2.c (nonbinary_modular_operation): Likewise.
6604
6605 2004-03-29  Javier Miranda  <miranda@gnat.com>
6606
6607         * checks.adb (Null_Exclusion_Static_Checks): New subprogram
6608         (Install_Null_Excluding_Check): Local subprogram that determines whether
6609         an access node requires a runtime access check and if so inserts the
6610         appropriate run-time check.
6611         (Apply_Access_Check): Call Install_Null_Excluding check if required
6612         (Apply_Constraint_Check): Call Install_Null_Excluding check if required
6613
6614         * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
6615
6616         * einfo.ads: Fix typo in comment
6617
6618         * exp_ch3.adb (Build_Assignment): Generate conversion to the
6619         null-excluding type to force the corresponding run-time check.
6620         (Expand_N_Object_Declaration): Generate conversion to the null-excluding
6621         type to force the corresponding run-time check.
6622
6623         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
6624         the null-excluding type to force the corresponding run-time check.
6625
6626         * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
6627         case of access types unless they have the null-excluding attribute.
6628
6629         * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
6630         part.
6631
6632         * exp_util.ads: Fix typo in comment
6633
6634         * par.adb (P_Null_Exclusion): New subprogram
6635         (P_Subtype_Indication): New formal that indicates if the null-excluding
6636         part has been scanned-out and it was present
6637
6638         * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
6639
6640         * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
6641         (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
6642         type to force the corresponding run-time check
6643         (Resolve_Aggregate): Propagate the null-excluding attribute to the array
6644         components
6645         (Resolve_Array_Aggregate): Carry out some static checks
6646         (Resolve_Record_Aggregate.Get_Value): Carry out some static check
6647
6648         * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
6649         attribute must be set only if specified by means of the null-excluding
6650         part. In addition, we must also propagate the access-constant attribute
6651         if present.
6652         (Access_Subprogram_Declaration, Access_Type_Declaration,
6653         Analyze_Component_Declaration, Analyze_Object_Declaration,
6654         Array_Type_Declaration, Process_Discriminants,
6655         Analyze_Subtype_Declaration): Propagate the null-excluding attribute
6656         and carry out some static checks.
6657         (Build_Derived_Access_Type): Set the null-excluding attribute
6658         (Derived_Type_Declaration, Process_Subtype): Carry out some static
6659         checks.
6660
6661         * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
6662
6663         * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
6664
6665         * sem_ch6.adb (Process_Formals): Carry out some static checks.
6666         (Set_Actual_Subtypes): Generate null-excluding subtype if the
6667         null-excluding part was present; it is not required to be done here in
6668         case of anonymous access types.
6669         (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
6670         value.
6671
6672         * sem_res.adb (Resolve_Actuals): Carry out some static check
6673         (Resolve_Null): Allow null in anonymous access
6674
6675         * sinfo.adb: New subprogram Null_Exclusion_Present
6676         All_Present and Constant_Present available on access_definition nodes
6677
6678         * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
6679         object_declaration, derived_type_definition, component_definition,
6680         discriminant_specification, access_to_object_definition,
6681         access_function_definition, allocator, access_procedure_definition,
6682         access_definition, parameter_specification, All_Present and
6683         Constant_Present flags available on access_definition nodes.
6684
6685 2004-03-29  Robert Dewar  <dewar@gnat.com>
6686
6687         * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
6688         gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
6689         opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
6690         par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
6691         sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
6692         sem_prag.adb: Updates to handle multiple units/file
6693
6694         * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
6695
6696         * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
6697         sem_util.adb: Minor reformatting
6698
6699         * sem_ch12.adb: Add comment for previous change
6700
6701 2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
6702
6703         * osint.adb (Executable_Prefix): Set Exec_Name to the current
6704         executable name when not initialized. Otherwise, use its current value.
6705
6706         * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
6707         initialize it to another executable name than the current one. This
6708         allows to configure paths for an executable name (gnatmake) different
6709         from the current one (gnatdist).
6710
6711 2004-03-29  Ed Schonberg  <schonberg@gnat.com>
6712
6713         * exp_ch6.adb (Expand_Call): A call to a function declared in the
6714         current unit cannot be inlined if it appears in the body of a withed
6715         unit, to avoid order of elaboration problems in gigi.
6716
6717         * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
6718         information for protected (wrapper) operation as well, to simplify gdb
6719         use.
6720
6721         * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
6722         protected body, indicate that the entity for the generated spec comes
6723         from source, to ensure that references are properly generated for it.
6724         (Build_Body_To_Inline): Do not inline a function that returns a
6725         controlled type.
6726
6727         * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
6728         apply convention to homonyms that are declared explicitly.
6729
6730         * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
6731         that renames an equality operator and the operands are overloaded,
6732         resolve them with the declared formal types, before rewriting as an
6733         operator.
6734
6735 2004-03-29  GNAT Script  <nobody@gnat.com>
6736
6737         * Make-lang.in: Makefile automatically updated
6738
6739 2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
6740
6741         * memtrack.adb: Log realloc calls, which are treated as free followed
6742         by alloc.
6743
6744 2004-03-25  Vincent Celier  <celier@gnat.com>
6745
6746         * prj-makr.adb (Process_Directories): Detect when a file contains
6747         several units. Do not include such files in the config pragmas or
6748         in the naming scheme.
6749
6750         * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
6751         Resolve links only when not in Trusted_Mode.
6752         (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
6753         Do not resolve links for the display names.
6754
6755         * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
6756         resolve links when computing the display names.
6757
6758 2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
6759
6760         * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
6761         attribute reference does not denote a subtype, it can be any
6762         expression that has a classwide type, potentially after an implicit
6763         dereference.  In particular, the prefix can be a view conversion for
6764         a classwide type (for which Is_Object_Reference holds), but it can
6765         also be a value conversion for an access-to-classwide type. In the
6766         latter case, there is an implicit dereference, and the original node
6767         for the prefix does not verify Is_Object_Reference.
6768
6769         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
6770         conversion of a discriminant-dependent component of a mutable object
6771         is one itself.
6772
6773 2004-03-25  Ed Schonberg  <schonberg@gnat.com>
6774
6775         * freeze.adb (Freeze_Entity): When an inherited subprogram is
6776         inherited, has convention C, and has unconstrained array parameters,
6777         place the corresponding warning on the derived type declaration rather
6778         than the original subprogram.
6779
6780         * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
6781         indication on renaming declaration, if formal has a box and actual
6782         is absent.
6783
6784         * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
6785         determine whether to generate an implicit or explicit reference to
6786         the renamed entity.
6787
6788         * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
6789         subprogram renaming comes from a defaulted formal subprogram in an
6790         instance.
6791
6792 2004-03-25  Gary Dismukes  <dismukes@gnat.com>
6793
6794         * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
6795         value expressions to ensure that calls within a component definition
6796         will be checked (since those are evaluated during the record type's
6797         elaboration).
6798
6799 2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
6800
6801         * s-tpobop.adb: Code clean up:
6802         (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
6803         code.
6804         (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
6805
6806 2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
6807
6808         * Makefile.in: Clean up in the ravenscar run time.
6809
6810 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6811
6812         * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
6813         of No_Strict_Aliasing to build_pointer_type_for_mode.
6814         * utils.c (update_pointer_to): Walk pointer and ref chains.
6815
6816 2004-03-22  Cyrille Comar  <comar@act-europe.fr>
6817
6818         * ali.ads: Fix Comment about Dynamic_Elab.
6819
6820         * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
6821         Has_RACW, Is_Generic, etc.)
6822         (Output_Object, Gnatls): Take into account ALI files not attached to
6823         an object.
6824
6825 2004-03-22  Vincent Celier  <celier@gnat.com>
6826
6827         * gprep.adb: Change all String_Access to Name_Id
6828         (Is_ASCII_Letter): new function
6829         (Double_File_Name_Buffer): New procedure
6830         (Preprocess_Infile_Name): New procedure
6831         (Process_Files): New procedure
6832         (Gnatprep): Check if output and input are existing directories.
6833         Call Process_Files to do the real job.
6834
6835 2004-03-22  Robert Dewar  <dewar@gnat.com>
6836
6837         * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
6838         s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
6839
6840 2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
6841
6842         * scn.adb (Contains): Add check for EOF, is needed for a degenerated
6843         case when the source contains only comments.
6844
6845 2004-03-22  Ed Schonberg  <schonberg@gnat.com>
6846
6847         * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
6848         declaration for a child subprogram body that acts as a spec, indicate
6849         that the entity in the declaration needs debugging information.
6850
6851         * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
6852         full view if the subtype is created for a constrained record component;
6853         gigi has enough information to construct the record, and there is no
6854         place in the tree for the declaration.
6855
6856         * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
6857         serial number for the dummy body that is built for analysis, to avoid
6858         inconsistencies in the generation of internal names when compiling
6859         with -gnatN.
6860
6861 2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
6862
6863         * sem_util.adb (Is_Object_Reference): A view conversion denotes an
6864         object.
6865
6866 2004-03-22  GNAT Script  <nobody@gnat.com>
6867
6868         * Make-lang.in: Makefile automatically updated
6869
6870 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6871
6872         * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
6873         * trans.c (tree_transform, emit_index_check): Likewise.
6874         * utils.c (build_template): Likewise.
6875         (max_size, convert): Remove handling of WITH_RECORD_EXPR.
6876         (maybe_unconstrained_array, unchecked_convert): Likewise.
6877         * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
6878         (build_unary_op): Likewise.
6879         (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
6880         (fill_vms_descriptor): Likewise.
6881         (build_call_alloc_dealloc): Likewise.
6882         ALIGN is unsigned.
6883         * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
6884
6885 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
6886
6887         PR other/14630
6888         * gnat_ug.texi: Add info directory category and entry.
6889         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
6890         gnat_ug_wnt.texi: Regenerate.
6891
6892 2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
6893
6894         * ada-tree.h: Update copyright notice.
6895         Minor reformatting.
6896
6897 2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
6898
6899         * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
6900         as regular exception objects and not as mere integers representing the
6901         condition code.  The latter approach required some dynamics to mask off
6902         severity bits, which did not fit well into the GCC table based model.
6903         (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
6904         exception data objects. We don't it and it would conflict with the other
6905         external symbol we have to generate for such exceptions.
6906
6907         * trans.c (tree_transform, case N_Exception_Handler): Remove part of
6908         the special code for VMS exceptions, since these are now represented
6909         as regular exceptions objects.
6910
6911 2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6912
6913         * decl.c (debug_no_type_hash): Remove.
6914         (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
6915         * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
6916
6917 2004-03-19  Laurent Guerby <laurent@guerby.net>
6918
6919         * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
6920         aggregate, allows bootstrap from 3.3 on powerpc-darwin.
6921
6922 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6923
6924         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
6925         (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
6926         (TYPE_RM_SIZE_INT): Directly use type.values.
6927         (TREE_LOOP_ID): Clean up check.
6928         * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
6929         TYPE_VALUES, not TYPE_FIELDS.
6930         * trans.c (convert_with_check): Delay access of bounds of basetype
6931         until sure is numeric.
6932
6933 2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
6934
6935         * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
6936
6937         Code clean up:
6938         * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
6939         5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
6940         Specific.Set instead of direct call to e.g pthread_setspecific.
6941
6942 2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
6943
6944         * adaint.c: Update comments.
6945
6946         * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
6947         GNATLIB_SHARED for FreeBSD.
6948
6949 2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
6950
6951         * init.c [VxWorks]: Do not fix the stack size for the environment task.
6952         When needed (stack checking) the stack size is retrieved
6953         from the VxWorks kernel.
6954
6955         * Makefile.in: Flag -nostdinc is required when building the run time
6956         for avoiding looking for files in the base compiler.
6957         Add the VxWorks specific version of the package body for
6958         System.Stack_checking.Operations (5zstchop.adb).
6959
6960         * Make-lang.in: Add the object file for
6961         System.Stack_Checking.Operations.
6962
6963         * Makefile.rtl: Add object file for the package
6964         System.Stack_Checking.Operations.
6965
6966         * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
6967
6968         * s-stache.ads, s-stache.adb: Move the operations related to stack
6969         checking from this package to package System.Stack_Checking.Operations.
6970         This way, stack checking operations are only linked in the final
6971         executable when using the -fstack-check flag.
6972
6973 2004-03-18  Doug Rupp  <rupp@gnat.com>
6974
6975         * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
6976         Reorganize ifeq's.
6977
6978         * 5qsystem.ads, 5xcrtl.ads: New files.
6979
6980 2004-03-18  Vincent Celier  <celier@gnat.com>
6981
6982         * prj.adb (Reset): Reset hash table Files_Htable
6983
6984         * prj-env.adb (Source_Paths, Object_Paths): New tables.
6985         (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
6986         the procedures Add_To_Path_File.
6987         (Set_Ada_Paths): Accumulate source and object dirs in the tables,
6988         making sure that each directory is present only once and, for object
6989         dirs, when a directory already present is added, the duplicate is
6990         removed and the directory is always put as the last in the table.
6991         Write the path files at the end of these accumulations.
6992
6993         * prj-nmsc.adb (Record_Source): Add source file name in hash table
6994         Files_Htable for all sources.
6995
6996         * prj-proc.adb (Process): Remove restrictions between not directly
6997         related extending projects.
6998
6999 2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
7000
7001         * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
7002         (Find_Sources): Minor speed optimization.
7003
7004         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
7005         parameter Trusted_Mode.
7006
7007 2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
7008
7009         * scn.adb (Determine_License): Take into account a degenerated case
7010         when the source contains only comments.
7011
7012 2004-03-18  Ed Schonberg  <schonberg@gnat.com>
7013
7014         * sem_warn.adb (Check_References): For a warning on a selected
7015         component that does not come from source, locate an uninitialized
7016         component of the record type to produce a more precise error message.
7017
7018 2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
7019
7020         * 3zsoccon.ads: Fix multicast options.
7021
7022         * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
7023         in the spec.
7024
7025 2004-03-15  Robert Dewar  <dewar@gnat.com>
7026
7027         * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
7028         pragma used for a private type.
7029
7030         * lib-xref.adb (Generate_Reference): Do not generate warning if
7031         reference is in a different unit from the pragma Unreferenced.
7032
7033         * 5vtpopde.adb: Minor reformatting
7034         Fix casing of To_Task_ID
7035
7036         * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
7037         flag if we have an unchecked conversion to an access type in the same
7038         unit.
7039
7040 2004-03-15  Geert Bosch  <bosch@gnat.com>
7041
7042         * a-ngcoty.adb (Modulus): In alternate formula for large real or
7043         imaginary parts, use Double precision throughout.
7044
7045         * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
7046         we want to be able to compile run-time with -gnata for testing, but
7047         this may also be instantiated in user code that is compiled with -gnata.
7048
7049 2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
7050
7051         * s-stalib.ads (Exception_Code): New type, to represent Import/Export
7052         codes. Having a separate type for this is useful to enforce consistency
7053         throughout the various run-time units.
7054         (Exception_Data): Use Exception_Code for Import_Code.
7055
7056         * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
7057         Natural and Integer in various places.
7058         (Register_VMS_Exception): Use Base_Code_In to compute the exception code
7059         with the severity bits masked off.
7060         (Register_VMS_Exception): Handle the additional exception data pointer
7061         argument.
7062
7063         * raise.c (_GNAT_Exception structure): Remove the handled_by_others
7064         component, now reflected by an exported accessor.
7065         (is_handled_by): New routine to compute whether the propagated
7066         occurrence matches some handler choice specification. Extracted out of
7067         get_action_description_for, and expanded to take care of the VMS
7068         specifities.
7069         (get_action_description_for): Use is_handled_by instead of an explicit
7070         complex condition to decide if the current choice at hand catches the
7071         propagated occurrence.
7072
7073         * raise.h (Exception_Code): New type for C.
7074
7075         * rtsfind.ads (RE_Id, RE_Unit_Table): Add
7076         System.Standard_Library.Exception_Code, to allow references from the
7077         pragma import/export expander.
7078
7079         * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
7080         New accessors to allow easy access to GNAT exception data
7081         characteristics.
7082         (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
7083         redundant Handled_By_Others component, helper for the personality
7084         routine which will now be able to call the appropriate exception data
7085         accessor instead.
7086
7087         * cstand.adb (Create_Standard): Adjust the type of the Import_Code
7088         component of Standard_Exception_Type to be the closest possible to
7089         Exception_Code in System.Standard_Library, that we cannot get at this
7090         point. Expand a ??? comment to notify that this type node should
7091         probably be rewritten later on.
7092
7093         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
7094         registration call to include a pointer to the exception object in the
7095         arguments.
7096
7097         * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
7098         instead of int and explicit bitmasks.
7099
7100 2004-03-15  Vincent Celier  <celier@gnat.com>
7101
7102         * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
7103         equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
7104
7105         * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
7106         longer needed now that it is in the spec of
7107         System.Tasking.Task_Attributes.
7108
7109         * adaint.h, adaint.c: (__gnat_create_output_file): New function
7110
7111         * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
7112
7113         * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
7114
7115         * make.adb (Gnatmake): Do not check the executable suffix; it is being
7116         taken care of in Scan_Make_Arg.
7117         (Scan_Make_Arg): Add the executable suffix only if the argument
7118         following -o, in canonical case, does not end with the executable
7119         suffix.  When in verbose mode and executable file name does not end
7120         with executable suffix, output the executable name, in canonical case.
7121
7122         * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
7123         to avoid warnings when instantiating Ada.Task_Attributes.
7124         Minor reformating.
7125
7126         * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
7127         in the correct order.
7128
7129         * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
7130         redirect standard output and error to a file for the invocation of the
7131         compiler, then read the file.
7132
7133         * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
7134         directory, instead of the Value.
7135         (Find_Source_Dirs): Remove useless code & comments.
7136
7137 2004-03-15  Ed Schonberg  <schonberg@gnat.com>
7138
7139         * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
7140         tagged type is inherited, and the parent operation is not frozen yet,
7141         force generation of a freeze node for the inherited operation, so the
7142         corresponding dispatch entry is properly initialized.
7143         (Make_Predefined_Primitive_Specs): Check that return type is Boolean
7144         when looking for user-defined equality operation.
7145
7146         * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
7147         boolean when locating primitive equality of tagged component.
7148
7149         * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
7150         bit-aligned field and the right-hand side a string literal, introduce
7151         a temporary before expanding assignment into a loop.
7152
7153         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
7154         priority in full, to ensure that any expanded subepxressions of it are
7155         elaborated in the scope of the init_proc.
7156
7157         * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
7158         after object declaration, skipping over code that may have been
7159         generated for validity checks.
7160
7161         * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
7162         discriminants, ignore the known discriminants of its full view, if
7163         any, to check legality.
7164
7165         * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
7166         component if type has unknown discriminants.
7167         (Analyze_Private_Extension_Declaration): Discriminant constraint is
7168         null if type has unknown discriminants.
7169
7170         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
7171         for end label when present.
7172
7173         * s-fileio.adb (Open): When called with a C_Stream, use given name for
7174         temporary file, rather than an empty string.
7175
7176 2004-03-15  Ed Falis  <falis@gnat.com>
7177
7178         * s-thread.adb: Removed, no longer used.
7179
7180 2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7181
7182         * decl.c (target.h): Now include.
7183         (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
7184         in new build_pointer_from_mode calls for non-fat/non-thin pointer.
7185         (validate_size): For POINTER_TYPE, get smallest size permitted on
7186         machine.
7187
7188         * fe.h: Sort Einfo decls and add Set_Mechanism.
7189
7190         * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
7191         (ada/decl.o): Depends on target.h.
7192
7193         * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
7194         FUNCTION_BOUNDARY; always use TYPE_ALIGN.
7195
7196 2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
7197
7198         * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
7199
7200         * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
7201         Insert_Dereference_Action when rewriting an implicit dereference into
7202         an explicit one, this will be taken care of during expansion of the
7203         explicit dereference.
7204         (Expand_N_Slice): Same. Always do the rewriting, even for the case
7205         of non-packed slices, since the dereference action generated by
7206         expansion of the explicit dereference is needed in any case.
7207         (Expand_N_Selected_Component): When rewriting an implicit dereference,
7208         analyze and resolve the rewritten explicit dereference so it is seen
7209         by the expander.
7210         (Insert_Dereference_Action): This procedure is now called only for the
7211         expansion of an N_Explcit_Dereference_Node. Do insert a check even for
7212         dereferences that do not come from source (including explicit
7213         dereferences resulting from rewriting implicit ones), but do not
7214         recursively insert a check for the dereference nodes contained within
7215         the check.
7216         (Insert_Dereference_Action): Clarify and correct comment.
7217
7218 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
7219
7220         PR ada/14131
7221         Move language detection to the top level.
7222         * config-lang.in: Build by default.
7223
7224 2004-03-05  Robert Dewar  <dewar@gnat.com>
7225
7226         * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
7227
7228         * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
7229         i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
7230         5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
7231         5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
7232         unchecked conversion to spec to avoid warnings.
7233
7234         * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
7235         to Task_ID
7236
7237         * 7stpopsp.adb: Correct casing in To_Task_ID call
7238
7239         * a-strsea.ads, a-strsea.adb: Minor reformatting
7240
7241         * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
7242
7243         * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
7244         Adjust Max_Msg_Length to be clearly large enough.
7245
7246         * fe.h: Define In_Same_Source_Unit
7247
7248         * osint.adb: Add pragma Warnings Off to suppress warnings
7249         * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
7250         aliasing warnings.
7251
7252         * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
7253
7254         * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
7255
7256         * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
7257
7258         * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
7259
7260         * sem_prag.adb: Implement pragma No_Strict_Aliasing.
7261
7262         * sinfo.ads: Remove obsolete comment on validate unchecked conversion
7263         node. We now do generate them for gcc back end.
7264
7265         * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
7266         warning.
7267
7268         * sinput-c.adb: Fix bad name in header.
7269         Add pragma Warnings Off to suppress aliasing warning.
7270
7271         * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
7272
7273         * snames.h, snames.ads, snames.adb: Add entry for pragma
7274         No_Strict_Aliasing.
7275
7276 2004-03-05  Vincent Celier  <celier@gnat.com>
7277
7278         * prj-com.ads: Add hash table Files_Htable to check when a file name
7279         is already a source of another project.
7280
7281         * prj-nmsc.adb (Record_Source): Before recording a new source, check
7282         if its file name is not already a source of another project. Report an
7283         error if it is.
7284
7285         * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
7286         source file name, call gnatpp with all the sources of the main project.
7287
7288         * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
7289         of file names.
7290
7291         * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
7292         NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
7293         /RUNTIME_SYSTEM=, converted to --RTS=
7294         /NOTABS, converted to -notabs
7295
7296 2004-03-05  Pascal Obry  <obry@gnat.com>
7297
7298         * make.adb: Minor reformatting.
7299
7300 2004-03-05  Ed Schonberg  <schonberg@gnat.com>
7301
7302         Part of implemention of AI-262.
7303         * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
7304
7305         * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
7306         procedure.
7307
7308         * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
7309         when component type is a partially constrained class-wide subtype.
7310         (Constrain_Discriminated_Type): If parent type has unknown
7311         discriminants, a constraint is illegal, even if full view has
7312         discriminants.
7313         (Build_Derived_Record_Type): Inherit discriminants when deriving a type
7314         with unknown discriminants whose full view is a discriminated record.
7315
7316         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
7317         flag, to handle properly derivations of tagged types with unknown
7318         discriminants.
7319         (Analyze_Package_Spec, Analyze_Package_Body): Install
7320         Private_With_Clauses before analyzing private part or body.
7321
7322         * einfo.ads: Indicate that both Has_Unknown_Discriminants and
7323         Has_Discriminants can be true for a given type (documentation).
7324
7325 2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
7326
7327         * s-restri.ads: Fix license (GPL->GMGPL).
7328
7329         * s-tassta.adb: Minor reformatting.
7330
7331         * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
7332         by calls to Exit_One_ATC_Level, since additional clean up is performed
7333         by this function.
7334
7335         * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
7336         by calls to Exit_One_ATC_Level, since additional clean up is performed
7337         by this function.
7338
7339 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7340
7341         * trans.c: Reflect GCC changes to fix bootstrap problem.
7342         Add warning for suspicious aliasing unchecked conversion.
7343
7344 2004-03-05  GNAT Script  <nobody@gnat.com>
7345
7346         * Make-lang.in: Makefile automatically updated
7347
7348 2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
7349
7350         * ali.adb (Read_Instantiation_Instance): Do not modify the
7351         current_file_num when reading information about instantiations, since
7352         this corrupts files in later references.
7353
7354 2004-03-02  Vincent Celier  <celier@gnat.com>
7355
7356         * bcheck.adb (Check_Consistency): Get the full path of an ALI file
7357         before checking if it is read-only.
7358
7359         * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
7360         of SRC_DIRS and eliminate duplicates.
7361
7362         * gprcmd.adb: Replace command "path" with command "path_sep" to return
7363         the path separator.
7364         (Usage): Document path_sep
7365
7366         * Makefile.generic: For Ada and GNU C++ cases, link directly with the
7367         C++ compiler. No need for a script.
7368         Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
7369         Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
7370         subst.
7371
7372         * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
7373         where there are Ada sources.
7374         (Set_Ada_Paths): Only add to the include path the source dirs of project
7375         with Ada sources.
7376         (Add_To_Path): Add the Display_Values of the directories, not their
7377         Values.
7378
7379         * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
7380         data.
7381
7382         * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
7383         is not No_Name.
7384         (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
7385         Value is canonicalized.
7386         (Language_Independent_Check): Do not copy Value to Display_Value when
7387         canonicalizing Value.
7388
7389         * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
7390         path to find limited with cycles.
7391         (Parse_Single_Project): Use canonical cased path to find the end of a
7392         with cycle.
7393
7394 2004-03-02  Ed Schonberg  <schonberg@gnat.com>
7395
7396         * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
7397         and not a child unit.
7398
7399         * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
7400         appear in a with_clause.
7401
7402         * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
7403         only happen in type_annotate mode, do not try to elaborate it.
7404
7405         * exp_util.adb (Force_Evaluation): If expression is a selected
7406         component on the left of an assignment, use a renaming rather than a
7407         temporary to remove side effects.
7408
7409         * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
7410         inlined instance body, which is analyzed before the end of the
7411         enclosing scope.
7412
7413 2004-03-02  Robert Dewar  <dewar@gnat.com>
7414
7415         * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
7416         sem_ch4.adb: Use new feature for substitution of keywords in VMS
7417
7418         * errout.ads, errout.adb: Implement new circuit for substitution of
7419         keywords in VMS.
7420
7421         * sem_case.adb (Analyze_Choices): Place message properly when case is
7422         a subtype reference rather than an explicit range.
7423
7424         * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
7425
7426 2004-03-02  Doug Rupp  <rupp@gnat.com>
7427
7428         * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
7429
7430 2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
7431
7432         * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
7433
7434 2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7435
7436         * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
7437         BLKmode bitfield.
7438
7439 2004-02-25  Robert Dewar  <dewar@gnat.com>
7440
7441         * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
7442         55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
7443         5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
7444         5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
7445         5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
7446         5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
7447         the defining instance of the type to avoid aliasing problems.
7448         Fix copyright header.  Fix bad comments in package header.
7449
7450         * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
7451
7452 2004-02-25  Ed Schonberg  <schonberg@gnat.com>
7453
7454         * exp_ch2.adb (Param_Entity): Handle properly formals that have been
7455         rewritten as references when aliased through an address clause.
7456
7457         * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
7458         whether call can be interpreted as an indirect call to the result of a
7459         parameterless function call returning an access subprogram.
7460
7461 2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
7462
7463         Code clean up:
7464         * exp_ch7.adb (Make_Clean): Remove generation of calls to
7465         Unlock[_Entries], since this is now done by Service_Entries directly.
7466
7467         * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
7468
7469         * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
7470         Requeue_Call for better code readability. Change spec and update calls:
7471         PO_Service_Entries now unlock the PO on exit.
7472         (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
7473         PO_Service_Entries.
7474
7475         * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
7476
7477         * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
7478
7479 2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
7480
7481         * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
7482         protected subprogram call and analyzing the result of such expanding
7483         in case when the called protected subprogram is eliminated.
7484
7485         * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
7486         names.
7487
7488 2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
7489
7490         * Makefile.in: Clean ups.
7491
7492 2004-02-23  Ed Schonberg  <schonberg@gnat.com>
7493
7494         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
7495         protected operations if original subprogram is flagged as eliminated.
7496         (Expand_N_Subprogram_Body): For a protected operation, create
7497         discriminals for next operation before checking whether the operation
7498         is eliminated.
7499
7500         * exp_ch9.adb (Expand_N_Protected_Body,
7501         Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
7502         for internal protected operations if the original subprogram is
7503         eliminated.
7504
7505         * sem_elim.adb (Check_Eliminated): Handle properly protected operations
7506         declared in a single protected object.
7507
7508 2004-02-23  Vincent Celier  <celier@gnat.com>
7509
7510         * prj-attr.adb: Make attribute Builder'Executable an associative array,
7511         case insensitive if file names are case insensitive, instead of a
7512         standard associative array.
7513
7514         * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
7515         them as case insensitive on platforms where the file names are case
7516         sensitive.
7517
7518         * prj-part.adb (Parse_Single_Project): Make sure, when checking if
7519         project file has already been parsed that canonical path are compared.
7520
7521 2004-02-23  Robert Dewar  <dewar@gnat.com>
7522
7523         * sinput-c.ads: Correct bad unit title in header
7524
7525         * freeze.adb: Minor reformatting
7526
7527 2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7528
7529         * trans.c (tree_transform, case N_Procedure_Call_Statement): For
7530         nonaddressable COMPONENT_REF that is removing padding that we are
7531         taking the address of, take the address of the padded record instead
7532         if item is variable size.
7533
7534 2004-02-20  Robert Dewar  <dewar@gnat.com>
7535
7536         * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
7537
7538 2004-02-20  Ed Schonberg  <schonberg@gnat.com>
7539
7540         * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
7541         itype references for the constrained designated type of a component
7542         whose base type is already frozen.
7543
7544 2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
7545
7546         * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
7547         avoid GCC warnings.
7548
7549 2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
7550
7551         * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
7552         identifier for a phantom package that rewrites the formal package
7553         declaration with a box. The Add semantic decorations for the defining
7554         identifier from the original node (that represents the formal package).
7555
7556 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
7557
7558         * Make-lang.in (ada/stamp-sdefault): Use the top level
7559         move-if-change.
7560
7561 2004-02-19  Richard Henderson  <rth@redhat.com>
7562
7563         * misc.c (record_code_position): Add third build arg for RTL_EXPR.
7564
7565 2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
7566
7567         * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
7568         Scan_ALI can be used for multiple ALI files without reinitializing
7569         between calls.
7570
7571 2004-02-18  Robert Dewar  <dewar@gnat.com>
7572
7573         * debug.adb: Minor reformatting.
7574
7575 2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7576
7577         * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
7578         to zero if there is an address clause.
7579
7580 2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
7581
7582         * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
7583
7584 2004-02-18  Gary Dismukes  <dismukes@gnat.com>
7585
7586         * layout.adb (Layout_Component_List): Revise generation of call to
7587         discriminant-checking function to pass selections of all of the type's
7588         discriminants rather than just the variant-controlling discriminant.
7589
7590 2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
7591
7592         * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
7593         fail in the current setup and triggers spurious system error messages.
7594         Pretend it occurred and failed instead.
7595
7596 2004-02-18  Vincent Celier  <celier@gnat.com>
7597
7598         * bld.adb: Mark FLDFLAGS as saved
7599         (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
7600         it is not the root project.  Put each directory to be
7601         extended between double quotes to prevent it to be expanded on Windows.
7602         (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
7603         the project file. Set them back to their initial values if they have not
7604         been set in the project file.
7605
7606         * gprcmd.adb: (Gprdebug, Debug): New global variables
7607         (Display_Command): New procedure
7608         (Usage): Document new command "linkopts"
7609         Call Display_Command when env var GPRDEBUG has the value "TRUE"
7610         Implement new command "linkopts"
7611         Remove quotes that may be around arguments for "extend"
7612         Always call Normalize_Pathname with arguments formatted for the platform
7613
7614         * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
7615         Change @echo to @$(display) in target clean to be able to clean silently
7616
7617         * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
7618
7619         * prj-part.adb (Project_Path_Name_Of): Do not put final result in
7620         canonical case.
7621
7622         * prj-part.adb (Parse_Single_Project): Always call with From_Extended
7623         = Extending_All when current project is an extending all project.
7624
7625         * vms_conv.adb (Output_File_Expected): New Boolean global variable,
7626         set to True only for LINK command, after Unix switch -o.
7627         (Process_Arguments): Set Output_File_Expected to True for LINK command
7628         after Unix switch -o. When Output_File_Expected is True, never add an
7629         extension to a file name.
7630
7631         * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
7632         option file name, only to the --for-linker= switch.
7633         (Option_File_Name): If option file name do not end with ".opt", append
7634         "/OPTIONS".
7635
7636 2004-02-18  GNAT Script  <nobody@gnat.com>
7637
7638         * Make-lang.in: Makefile automatically updated
7639
7640 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
7641
7642         * Make-lang.in (stamp-sdefault): Do not depend on
7643         move-if-change.
7644
7645 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
7646
7647         * config-lang.in: Disable Ada by default until probe logic for
7648         a bootstrap Ada compiler can be moved to the top level configure
7649         script.
7650
7651 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
7652
7653         * decl.c (components_to_record): Don't claim that the internal fields
7654         we make to hold the variant parts are semantically addressable, because
7655         they are not.
7656
7657         * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
7658         adjust the comment describing the modular type form when we can use it.
7659         (Install_PAT): Account for the Esiz renaming.
7660
7661         * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
7662         sc_onstack context indication before raising the exception to which
7663         the signal is mapped. Allows better handling of later signals possibly
7664         triggered by the resumed user code if the exception is handled.
7665
7666 2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
7667
7668         * 5zinit.adb: Removed, no longer used.
7669
7670 2004-02-12  Robert Dewar  <dewar@gnat.com>
7671
7672         * ali.adb: Remove separating space between parameters on R line. Makes
7673         format consistent with format used by the binder for Set_Globals call.
7674
7675         * atree.ads, atree.adb: Minor reformatting (new function header format)
7676
7677         * bindgen.adb: Add Run-Time Globals documentation section containing
7678         detailed documentation of the globals passed from the binder file to
7679         the run time.
7680
7681         * gnatls.adb: Minor reformatting
7682
7683         * init.c (__gnat_set_globals): Add note pointing to documentation in
7684         bindgen.
7685
7686         * lib-writ.ads, lib-writ.adb: Remove separating space between
7687         parameters on R line.
7688         Makes format consistent with format used by the binder for Set_Globals
7689         call.
7690
7691         * osint.ads: Add 2004 to copyright notice
7692         Minor reformatting
7693
7694         * snames.ads: Correct capitalization of FIFO_Within_Priorities
7695         Noticed during code reading, documentation issue only
7696
7697         * usage.adb: Remove junk line for obsolete C switch
7698         Noticed during code reading
7699
7700 2004-02-12  Vincent Celier  <celier@gnat.com>
7701
7702         * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
7703         extend for each directory, so that multiple /** directories are
7704         extended individually.
7705         (Recursive_Process): Set the default for LANGUAGES to ada
7706
7707         * gprcmd.adb: Define new command "ignore", to do nothing.
7708         Implement new comment "path".
7709
7710         * Makefile.generic: Suppress output when SILENT is set
7711         Make sure that when compiler for C/C++ is gcc, the correct -x switch is
7712         used, so that the correct compiler is invoked.
7713         When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
7714         CXX_INCLUDE_PATH, to avoid failure with too long command lines.
7715
7716 2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
7717
7718         * Makefile.in: Clean ups and remove obsolete targets.
7719
7720 2004-02-12  Ed Schonberg  <schonberg@gnat.com>
7721
7722         * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
7723         predicate declared in exp_util.
7724
7725         * exp_util.adb: Add comments.
7726
7727         * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
7728         visibility before compiling context of the subunit.
7729
7730         * sem_res.adb (Check_Parameterless_Call): If the context expects a
7731         value but the name is a procedure, do not attempt to analyze as a call,
7732         in order to obtain more telling diagnostics.
7733
7734         * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
7735         'Access on parameterless function calls.
7736         (Normalize_Actuals): For a parameterless function call with missing
7737         actuals, defer diagnostic until resolution of enclosing call.
7738
7739         * sem_util.adb (Wrong_Type): If the context type is an access to
7740         subprogram and the expression is a procedure name, suggest a missing
7741         'attribute.
7742
7743 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
7744             Nathanael Nerode  <neroden@gcc.gnu.org>
7745
7746         PR ada/6637, PR ada/5911
7747         Merge with libada-branch:
7748         * config-lang.in: Build libada only when ada is built.
7749
7750 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
7751
7752         * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
7753         for a tagged type, verify that both formals have the same type.
7754
7755         * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
7756         temporary when the formal is an in-parameter and the actual a possibly
7757         unaligned slice.
7758
7759         * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
7760         when expansion is disabled, to ensure proper name capture with
7761         overloaded literals.  Condition can be of any boolean type, resolve
7762         accordingly.
7763
7764         * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
7765         renaming is for a formal subprogram with a default operator name, and
7766         there is a usable operator that is visible at the point of
7767         instantiation.
7768
7769 2004-02-09  Robert Dewar  <dewar@gnat.com>
7770
7771         * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
7772         rewrite to ignore errors in ali files, intended to allow tools downward
7773         compatibility with new versions of ali files.
7774
7775         * ali.ads: Add new parameter Ignore_Errors
7776
7777         * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
7778         duplicating the error message giving the file with restrictions.
7779
7780         * debug.adb: Add debug flag I for gnatbind
7781
7782         * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
7783         operators for the case where the operator is a defining operator.
7784
7785         * exp_ch3.adb: Minor reformatting (new function spec format).
7786
7787         * exp_ch4.adb: Add comment for previous change, and make minor
7788         adjustment to loop to always check for improper loop termination.
7789         Minor reformatting throughout (new function spec format).
7790
7791         * gnatbind.adb: Implement -di debug flag for gnatbind
7792
7793         * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
7794
7795         * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
7796
7797         * lib-load.adb: Fix bad assertion.
7798         Found by testing and code reading.
7799         Minor reformatting.
7800
7801         * lib-load.ads: Minor reformatting.
7802
7803         * lib-writ.adb: There is only one R line now.
7804
7805         * lib-writ.ads: Add documentation on making downward compatible changes
7806         to ali files so old tools work with new ali files.
7807         There is only one R line now.
7808         Add documentation on format incompatibilities (with special GPS note)
7809
7810         * namet.ads, namet.adb: (Is_Operator_Name): New procedure
7811
7812         * par-load.adb: Minor reformatting
7813
7814         * sem_ch8.adb: Fix to error message from last update
7815         Minor reformatting and restructuring of code from last update
7816
7817         * par-prag.adb, snames.adb, snames.ads, snames.h,
7818         sem_prag.adb: Implement pragma Profile.
7819
7820         * stylesw.adb: Implement -gnatyN switch to turn off all style check
7821         options.
7822
7823         * usage.adb: Add line for -gnatyN switch
7824
7825         * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
7826
7827 2004-02-09  Albert Lee  <lee@gnat.com>
7828
7829         * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
7830
7831 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
7832
7833         * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
7834         slices.
7835
7836         * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
7837         is nested in an instance that is not frozen yet, to avoid
7838         order-of-elaboration problems in gigi.
7839
7840         * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
7841         body the attribute is legal.
7842
7843 2004-02-09  Robert Dewar  <dewar@gnat.com>
7844
7845         * s-rident.ads: Minor comment correction
7846
7847         * targparm.adb: Remove dependence on uintp completely. There was
7848         always a bug in Make in that it called Targparm before initializing
7849         the Uint package. The old code appeared to get away with this, but
7850         the new code did not! This caused an assertion error in gnatmake.
7851
7852         * targparm.ads: Fix bad comment, restriction pragmas with parameters
7853         are indeed fully supported.
7854
7855 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
7856
7857         * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
7858
7859 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
7860
7861         * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
7862         with targetm.calls.promote_prototypes.
7863
7864 2004-02-04  Robert Dewar  <dewar@gnat.com>
7865
7866         * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
7867         ali.ads, gprcmd.adb: Minor reformatting
7868
7869         * bindgen.adb: Output restrictions string for new style restrictions
7870         handling
7871
7872         * impunit.adb: Add s-rident.ads (System.Rident) and
7873         s-restri (System.Restrictions)
7874
7875         * lib-writ.adb: Fix bug in writing restrictions string (last few
7876         entries wrong)
7877
7878         * s-restri.ads, s-restri.adb: Change name Restrictions to
7879         Run_Time_Restrictions to avoid conflict with package name.
7880         Add circuit to read and acquire run time restrictions.
7881
7882 2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
7883
7884         * restrict.ads, restrict.adb: Use the new restriction
7885         No_Task_Attributes_Package instead of the old No_Task_Attributes.
7886
7887         * sem_prag.adb: No_Task_Attributes is a synonym of
7888         No_Task_Attributes_Package.
7889
7890         * snames.ads, snames.adb: New entry for proper handling of
7891         No_Task_Attributes.
7892
7893         * s-rident.ads: Adding restriction No_Task_Attributes_Package
7894         (AI-00249) that supersedes the GNAT specific restriction
7895         No_Task_Attributes.
7896
7897 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
7898
7899         * sem_prag.adb:
7900         (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
7901          body, an identifier may be wrapped in an unchecked conversion.
7902
7903 2004-02-04  Vincent Celier  <celier@gnat.com>
7904
7905         * lib-writ.ads: Comment update for the W lines
7906
7907         * bld.adb: (Expression): An empty string list is static
7908
7909         * fname-uf.adb: Minor comment update
7910
7911         * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
7912
7913         * gnatbind.adb: Initialize Cumulative_Restrictions with the
7914         restrictions on the target.
7915
7916 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
7917
7918         * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
7919         gen_rtx.
7920
7921 2004-02-02  Arnaud Charlet  <charlet@gnat.com>
7922
7923         * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
7924
7925 2004-02-02  Vincent Celier  <celier@gnat.com>
7926
7927         * gprcmd.adb (Check_Args): If condition is false, print the invoked
7928         comment before the usage.
7929         Gprcmd: Fail when command is not recognized.
7930         (Usage): Document command "prefix"
7931
7932         * g-md5.adb (Digest): Process last block.
7933         (Update): Do not process last block. Store remaining characters and
7934         length in Context.
7935
7936         * g-md5.ads (Update): Document that several call to update are
7937         equivalent to one call with the concatenated string.
7938         (Context): Add fields to allow new Update behaviour.
7939
7940         * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
7941         defaulted to False.
7942         When May_Fail is True and no existing file can be found, return No_File.
7943
7944         * 6vcstrea.adb: Inlined functions are now wrappers to implementation
7945         functions.
7946
7947         * lib-writ.adb (Write_With_Lines): When body file does not exist, use
7948         spec file name instead on the W line.
7949
7950 2004-02-02  Robert Dewar  <dewar@gnat.com>
7951
7952         * ali.adb: Read and acquire info from new format restrictions lines
7953
7954         * bcheck.adb: Add circuits for checking restrictions with parameters
7955
7956         * bindgen.adb: Output dummy restrictions data
7957         To be changed later
7958
7959         * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
7960         exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
7961         freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
7962         sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
7963         sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
7964
7965         * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
7966         the warning message on access to possibly uninitialized variable S)
7967         Minor changes for new restrictions handling.
7968
7969         * gnatbind.adb: Minor reformatting
7970         Minor changes for new restrictions handling
7971         Move circuit for -r processing here from bcheck (cleaner)
7972
7973         * gnatcmd.adb, gnatlink.adb: Minor reformatting
7974
7975         * lib-writ.adb: Output new format restrictions lines
7976
7977         * lib-writ.ads: Document new R format lines for new restrictions
7978         handling.
7979
7980         * s-restri.ads/adb: New files
7981
7982         * Makefile.rtl: Add entry for s-restri.ads/adb
7983
7984         * par-ch3.adb: Fix bad error messages starting with upper case letter
7985         Minor reformatting
7986
7987         * restrict.adb: Major rewrite throughout for new restrictions handling
7988         Major point is to handle restrictions with parameters
7989
7990         * restrict.ads: Major changes in interface to handle restrictions with
7991         parameters. Also generally simplifies setting of restrictions.
7992
7993         * snames.ads/adb: New entry for proper handling of No_Requeue
7994
7995         * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
7996         restriction counting.
7997         Other minor changes for new restrictions handling
7998
7999         * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
8000         Restriction_Warnings now allows full parameter notation
8001         Major rewrite of Restrictions for new restrictions handling
8002
8003 2004-02-02  Javier Miranda  <miranda@gnat.com>
8004
8005         * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
8006         syntax rule for object renaming declarations.
8007         (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
8008         component definitions.
8009
8010         * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
8011         components.
8012         (Array_Type_Declaration): Give support to access components. In addition
8013         it was also modified to reflect the name of the object in anonymous
8014         array types. The old code did not take into account that it is possible
8015         to have an unconstrained anonymous array with an initial value.
8016         (Check_Or_Process_Discriminants): Allow access discriminant in
8017         non-limited types.
8018         (Process_Discriminants): Allow access discriminant in non-limited types
8019         Initialize the new Access_Definition field in N_Object_Renaming_Decl
8020         node.  Change Ada0Y to Ada 0Y in comments
8021
8022         * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
8023         equality operators.
8024         Change Ada0Y to Ada 0Y in comments
8025
8026         * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
8027         renamings Change Ada0Y to Ada 0Y in comments
8028
8029         * sem_type.adb (Find_Unique_Type): Give support to the equality
8030         operators for universal access types
8031         Change Ada0Y to Ada 0Y in comments
8032
8033         * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
8034
8035         * sinfo.ads (N_Component_Definition): Addition of Access_Definition
8036         field.
8037         (N_Object_Renaming_Declaration): Addition of Access_Definition field
8038         Change Ada0Y to Ada 0Y in comments
8039
8040         * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
8041         component definition and object renaming nodes
8042         Change Ada0Y to Ada 0Y in comments
8043
8044 2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
8045
8046         * restrict.adb: Use the new restriction identifier
8047         No_Requeue_Statements instead of the old No_Requeue for defining the
8048         restricted profile.
8049
8050         * sem_ch9.adb (Analyze_Requeue): Check the new restriction
8051         No_Requeue_Statements.
8052
8053         * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
8054         that supersedes the GNAT specific restriction No_Requeue. The later is
8055         kept for backward compatibility.
8056
8057 2004-02-02  Ed Schonberg  <schonberg@gnat.com>
8058
8059         * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
8060         5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
8061         pragma and fix incorrect ones.
8062
8063         * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
8064         warning if the pragma is redundant.
8065
8066 2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
8067
8068         * 5staprop.adb: Add missing 'constant' keywords.
8069
8070         * Makefile.in: use consistent value for SYMLIB on
8071         platforms where libaddr2line is supported.
8072
8073 2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8074
8075         * utils.c (end_subprog_body): Do not call rest_of_compilation if just
8076         annotating types.
8077
8078 2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
8079
8080         * init.c (__gnat_install_handler): Setup an alternate stack for signal
8081         handlers in the environment thread. This allows proper propagation of
8082         an exception on stack overflows in this thread even when the builtin
8083         ABI stack-checking scheme is used without support for a stack reserve
8084         region.
8085
8086         * utils.c (create_field_decl): Augment the head comment about bitfield
8087         creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
8088         here, because the former is not accurate enough at this point.
8089         Let finish_record_type decide instead.
8090         Don't make a bitfield if the field is to be addressable.
8091         Always set a size for the field if the record is packed, to ensure the
8092         checks for bitfield creation are triggered.
8093         (finish_record_type): During last pass over the fields, clear
8094         DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
8095         not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
8096         from DECL_BIT_FIELD.
8097
8098 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
8099
8100         * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
8101         (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
8102         (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
8103
8104 2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8105
8106         * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
8107
8108         * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
8109         (ZCX_By_Default): Likewise.
8110         (Front_End_ZCX_Support): Likewise.
8111
8112         * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
8113         (Initialize_Lock): Mark Level unreferenced.
8114         (Sleep): Mark Reason unreferenced.
8115         (Timed_Sleep): Likewise.
8116         (Wakeup): Likewise.
8117         (Exit_Task): Use Result.
8118         (Check_No_Locks): Mark Self_ID unreferenced.
8119
8120         * 5gtasinf.adb (New_Sproc): Make Attr constant.
8121         (Bound_Thread_Attributes): Make Sproc constant.
8122         (New_Bound_Thread_Attributes): Likewise.
8123
8124 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
8125
8126         * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
8127         one-dimensional array an slice assignments, when component type is
8128         controlled.
8129
8130         * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
8131         component type is controlled, and control_actions are in effect, use
8132         TSS procedure rather than generating inline code.
8133
8134         * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
8135         arrays with controlled components.
8136
8137 2004-01-26  Vincent Celier  <celier@gnat.com>
8138
8139         * gnatcmd.adb (GNATCmd): Add specification of argument file on the
8140         command line for the non VMS case.
8141
8142         * gnatlink.adb (Process_Binder_File): When building object file, if
8143         GNU linker is used, put all object paths between quotes, to prevent ld
8144         error when there are unusual characters (such as '!') in the paths.
8145
8146         * Makefile.generic: When there are sources in Ada and the main is in
8147         C/C++, invoke gnatmake with -B, instead of -z.
8148
8149         * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
8150         from VMS_Conversion.
8151         (Process_Argument): New procedure, extracted from VMS_Conversion. Add
8152         specification of argument file on the command line.
8153
8154 2004-01-26  Bernard Banner  <banner@gnat.com>
8155
8156         * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
8157
8158 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
8159
8160         * snames.adb: Update copyright notice.
8161         Add info on slice assignment for controlled arrays.
8162
8163 2004-01-23  Robert Dewar  <dewar@gnat.com>
8164
8165         * exp_aggr.adb: Minor reformatting
8166
8167         * exp_ch9.adb: Minor code clean up
8168         Minor reformatting
8169         Fix bad character in comment
8170
8171         PR ada/13471
8172         * targparm.adb (Get_Target_Parameters): Give clean abort error on
8173         unexpected end of file, along with more detailed message.
8174
8175 2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8176
8177         * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
8178         PAT.
8179
8180         * decl.c (copy_alias_set): New function.
8181         (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
8182
8183 2004-01-23  Doug Rupp  <rupp@gnat.com>
8184
8185         * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
8186         lib$${file} in case subsequent character is not a separator.
8187
8188 2004-01-23  Vincent Celier  <celier@gnat.com>
8189
8190         * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
8191         when the GCC version is at least 3.
8192
8193         * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
8194         Remove all "Opt.", to prepare for opt split
8195
8196         * prj-part.adb (Parse_Single_Project): New Boolean out parameter
8197         Extends_All. Set to True when the project parsed is an extending all
8198         project. Fails for importing an extending all project only when the
8199         imported project is an extending all project.
8200         (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
8201         depending on the value of Extends_All returned.
8202
8203         * prj-proc.adb (Process): Check that no project shares its object
8204         directory with a project that extends it, directly or indirectly,
8205         including a virtual project.
8206         Check that no project extended by another project shares its object
8207         directory with another also extended project.
8208
8209         * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
8210         Kind = N_With_Clause
8211
8212         * prj-tree.ads: Minor reformatting
8213         Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
8214
8215 2004-01-23  Ed Schonberg  <schonberg@gnat.com>
8216
8217         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
8218         applies to a type with an incomplete view, use full view in Name of
8219         clause, for consistency with uses of Get_Attribute_Definition_Clause.
8220
8221 2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
8222
8223         * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
8224         SCHED_RR, since other values are not supported by this policy.
8225         (Initialize): Move initialization of mutex attribute to package
8226         elaboration, to prevent early access to this variable.
8227
8228         * Makefile.in: Remove mention of Makefile.adalib, unused.
8229
8230         * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
8231         1ssecsta.ads: Removed, unused.
8232
8233 2004-01-21  Javier Miranda  <miranda@gnat.com>
8234
8235         * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
8236         entity if already built in the current scope.
8237
8238         * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
8239         reminder in internal scopes. Required for nested limited aggregates.
8240
8241 2004-01-21  Doug Rupp  <rupp@gnat.com>
8242
8243         * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
8244         VMS. Replace all occurences of libgnat- and libgnarl- with
8245         libgnat$(hyphen) and libgnarl$(hyphen).
8246         Fixed shared library build problem on VMS.
8247
8248 2004-01-21  Robert Dewar  <dewar@gnat.com>
8249
8250         * mlib-prj.adb: Minor reformatting
8251
8252 2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
8253
8254         * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
8255         'constant' keywords for declaration of pointers that are not modified.
8256
8257         * exp_pakd.adb: Fix English in comment.
8258
8259 2004-01-21  Ed Schonberg  <schonberg@gnat.com>
8260
8261         PR ada/10889
8262         * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
8263         copy all attributes of the parent, including the foreign language
8264         convention.
8265
8266 2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
8267
8268         PR ada/10565
8269         * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
8270         for 'delay until' statement.
8271
8272 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
8273
8274         * Make-lang.in: Replace $(docdir) with doc.
8275         (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
8276         doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
8277         to use consistent MAKEINFO rule.
8278         (ada.man, ada.srcman): Dummy entry.
8279         (ADA_INFOFILES): Define.
8280         (ada.info, ada.srcinfo): New rules.
8281
8282 2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
8283
8284         * utils.c: Update copyright notice, missed in previous change.
8285
8286 2004-01-19  Vincent Celier  <celier@gnat.com>
8287
8288         * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
8289         args if Bind is True. Set First_ALI, if not already done.
8290         (Build_Library): For Stand Alone Libraries, extract from one ALI file
8291         an eventual --RTS switch, for gnatbind, and all backend switches +
8292         --RTS, for linking.
8293
8294 2004-01-19  Robert Dewar  <dewar@gnat.com>
8295
8296         * sem_attr.adb, memtrack.adb: Minor reformatting
8297
8298 2004-01-19  Ed Schonberg  <schonberg@gnat.com>
8299
8300         * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
8301         that rename enumeration literals. This is properly done in sem_eval.
8302
8303         * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
8304         to functions that rename enumeration literals.
8305
8306         * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
8307         functions that rename enumeration literals.
8308
8309 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
8310
8311         * Make-lang.in (utils.o): Depend on target.h.
8312         * utils.c: Include target.h.
8313         (process_attributes): Use targetm.have_named_sections instead
8314         of ASM_OUTPUT_SECTION_NAME.
8315
8316 2004-01-16  Andreas Jaeger  <aj@suse.de>
8317
8318         * Makefile.in: Add $(DESTDIR).
8319
8320 2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
8321
8322         * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
8323         also when not defining if a Size clause applies. That information is
8324         not to be ignored.
8325
8326 2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
8327
8328         * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
8329         symbolic links for the shared gnat run time when needed.
8330
8331 2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
8332
8333         * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
8334         for writing, and terminate with an error message if not.
8335
8336 2004-01-15  Ed Schonberg  <schonberg@gnat.com>
8337
8338         * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
8339         warning on an access to subprogram in an instance, when the target
8340         type is declared in the same generic unit.
8341         (Eval_Attribute): If 'access is known to fail accessibility check,
8342         rewrite as a raise statement.
8343
8344 2004-01-15  GNAT Script  <nobody@gnat.com>
8345
8346         * Make-lang.in: Makefile automatically updated
8347
8348 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
8349
8350         * Make-lang.in (ada.srcextra): Dummy entry.
8351
8352 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
8353
8354         * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
8355
8356 2004-01-13  Ed Schonberg  <schonberg@gnat.com>
8357
8358         * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
8359         components that are initialized with aggregates.
8360
8361 2004-01-13  Vincent Celier  <celier@gnat.com>
8362
8363         * gnatlink.adb (Process_Binder_File): To find directory of shared
8364         libgcc, if "gcc-lib" is not a subdirectory, look for the last
8365         subdirectory "lib" in the path of the shared libgnat or libgnarl.
8366
8367         * make.adb (Gnatmake): If GCC version is at least 3, link with
8368         -shared-libgcc, when there is at least one shared library project.
8369
8370         * opt.ads (GCC_Version): New integer constant.
8371
8372         * adaint.c (get_gcc_version): New function.
8373
8374 2004-01-13  Robert Dewar  <dewar@gnat.com>
8375
8376         * sem_dist.adb, sem_res.adb, sem_util.adb,
8377         sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
8378         exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
8379
8380 2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
8381
8382         * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
8383         g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
8384         declarations.
8385
8386 2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
8387
8388         * misc.c: Remove trailing spaces.
8389         Update copyright notice missed in previous change.
8390
8391         PR ada/13572
8392         * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
8393         prefix/share/make
8394
8395         * Makefile.generic: Update copyright.
8396         Add license notice.
8397
8398         * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
8399         of prefix/share/make.
8400
8401         * Makefile.prolog: Update copyright.
8402         Add license notice.
8403
8404 2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
8405
8406         * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
8407         3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
8408         g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
8409         instead of String.
8410
8411         * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
8412         signature.
8413
8414 2004-01-12  Javier Miranda  <miranda@gnat.com>
8415
8416         * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
8417         exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
8418         sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
8419         sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
8420         Component_Definition node.
8421
8422 2004-01-12  Ed Falis  <falis@gnat.com>
8423
8424         * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
8425
8426 2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
8427
8428         * link.c: Change default libgnat kind to STATIC for FreeBSD.
8429
8430 2004-01-12  Bernard Banner  <banner@gnat.com>
8431
8432         * Makefile.in: map 86numaux to a-numaux for x86_64
8433
8434 2004-01-12  Ed Schonberg  <schonberg@gnat.com>
8435
8436         * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
8437         generated to rename a generic actual, go to the actual itself, the
8438         subtype is not a user-visible entity.
8439
8440         * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
8441         part is a private subtype, reset the visibility of its full view, if
8442         any, to be consistent.
8443
8444         PR ada/13417
8445         * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
8446         to use a generic package G as a formal package for another generic
8447         declared within G.
8448
8449 2004-01-12  Robert Dewar  <dewar@gnat.com>
8450
8451         * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
8452
8453         * usage.adb: Remove mention of obsolete -gnatwb switch
8454         Noticed during code reading
8455
8456 2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
8457
8458         * 1ssecsta.adb: Minor changes for -gnatwa warnings
8459
8460 2004-01-12  GNAT Script  <nobody@gnat.com>
8461
8462         * Make-lang.in: Makefile automatically updated
8463
8464 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
8465
8466         * misc.c (gnat_expand_expr): Add alt_rtl parameter.
8467
8468 2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8469
8470         * link.c [sgi] (shared_libgnat_default): Change to STATIC.
8471
8472 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
8473
8474         * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
8475         Update comment and copyright date.
8476         * stamp-xgnatug: Delete.
8477
8478 2004-01-05  Robert Dewar  <dewar@gnat.com>
8479
8480         * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
8481         be modified by the binder generated main program if the -D switch is
8482         used.
8483
8484         * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
8485         imported functions (since now we expect this to be done for imported
8486         functions)
8487
8488         * 5vtaprop.adb: Add several ??? for sections requiring more comments
8489         Minor reformatting throughout
8490
8491         * 5zinit.adb: Minor reformatting
8492         Add 2004 to copyright date
8493         Minor changes to avoid -gnatwa warnings
8494         Correct some instances of using OR instead of OR ELSE (noted while
8495         doing reformatting)
8496
8497         * sprint.adb: Minor updates to avoid -gnatwa warnings
8498
8499         * s-secsta.ads, s-secsta.adb:
8500         (SS_Get_Max): New function to obtain high water mark for ss stack
8501         Default_Secondary_Stack is not a constant since it may be modified by
8502         the binder generated main program if the -D switch is used.
8503
8504         * switch-b.adb: New -Dnnn switch for binder
8505
8506         * switch-c.adb:
8507         Make -gnatg imply all warnings currently in -gnatwa
8508
8509         * vms_conv.adb: Minor reformatting
8510         Add 2004 to copyright notice
8511         Add 2004 to printed copyright notice
8512
8513         * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
8514         3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
8515         5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
8516         5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
8517         5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
8518         5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
8519         5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
8520         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
8521         5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
8522         5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
8523         6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
8524         vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
8525         xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
8526         sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
8527         checks.adb, clean.adb, cstand.adb, einfo.ads,
8528         einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
8529         exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
8530         prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
8531         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
8532         g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
8533         lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
8534         Minor reformatting and code clean ups.
8535         Minor changes to prevent -gnatwa warnings
8536
8537         * ali.adb: Minor reformatting and cleanup of code
8538         Acquire new SS indication of secondary stack use from ali files
8539
8540         * a-numaux.ads: Add Pure_Function pragmas for all imported functions
8541         (since now we expect this to be done for imported functions)
8542
8543         * bindgen.adb: Generate call to modify default secondary stack size if
8544         -Dnnn switch given
8545
8546         * bindusg.adb: Add line for new -D switch
8547
8548         * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
8549         replacement name for Type_May_Have_Non_Bit_Aligned_Components!
8550         Add circuitry for both records and arrays to avoid gigi
8551         processing if the type involved has non-bit-aligned components
8552
8553         * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
8554         N_String_Literal node always references an E_String_Literal_Subtype
8555         entity. This may not be true in the future.
8556         (Possible_Bit_Aligned_Component): Move processing of
8557         Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
8558
8559         * exp_ch6.adb (Expand_Thread_Body): Pick up
8560         Default_Secondary_Stack_Size as variable so that we get value modified
8561         by possible -Dnnn binder parameter.
8562
8563         * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
8564         (Type_May_Have_Bit_Aligned_Components): New function.
8565
8566         * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
8567         (Type_May_Have_Bit_Aligned_Components): New function.
8568
8569         * fe.h: (Set_Identifier_Casing): Fix prototype.
8570         Add declaration for Sem_Elim.Eliminate_Error_Msg.
8571         Minor reformatting.
8572
8573         * freeze.adb (Freeze_Entity): Add RM reference to error message about
8574         importing constant atomic/volatile objects.
8575         (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
8576         unless explicit Pure_Function pragma given, to avoid insidious bug of
8577         call to non-pure imported function getting eliminated.
8578
8579         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
8580         gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
8581         gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
8582         Add 2004 to printed copyright notice
8583
8584         * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
8585         stack used.
8586
8587         * Makefile.rtl: Add entry for g-sestin.o
8588         g-sestin.ads: New file.
8589
8590         * mdll.adb: Minor changes to avoid -gnatwa warnings
8591
8592         * mlib-tgt.adb: Minor reformatting
8593
8594         * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
8595         New switch Sec_Stack_Used (GNAT, GNATBIND)
8596         Make Default_Secondary_Stack_Size a variable instead of a constant,
8597         so that it can be modified by the new -Dnnn bind switch.
8598
8599         * rtsfind.adb (Load_Fail): Give full error message in configurable
8600         run-time mode if all_errors mode is set. This was not done in the case
8601         of a file not found, which was an oversight.
8602         Note if secondary stack unit is used by compiler.
8603
8604         * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
8605         ineffective elaborate all pragmas on non-visible packages (this
8606         happened when a renamed subprogram was called). Now the elaborate all
8607         always goes on the package containing the renaming rather than the one
8608         containing the renamed subprogram.
8609
8610         * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
8611         (Process_Eliminate_Pragma): Add parameter to capture pragma location.
8612
8613         * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
8614         has an Etype that references an E_String_Literal.
8615         (Eval_String_Literal): Avoid assumption that N_String_Literal node
8616         always references an E_String_Literal_Subtype entity. This may not
8617         be true in the future.
8618
8619         * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
8620         pragma location.
8621
8622         * sem_res.adb (Resolve): Specialize msg for function name used in proc
8623         call.
8624
8625 2004-01-05  Ed Falis  <falis@gnat.com>
8626
8627         * g-debuti.adb: Replaced direct boolean operator with short-circuit
8628         form.
8629
8630 2004-01-05  Vincent Celier  <celier@gnat.com>
8631
8632         * bld.adb: Minor comment updates
8633         (Process_Declarative_Items): Correct incorrect name (Index_Name instead
8634         of Item_Name).
8635
8636         * make.adb (Gnatmake): Special process for files to compile/check when
8637         -B is specified. Fail when there are only foreign mains in attribute
8638         Main of the project file and -B is not specified. Do not skip bind/link
8639         steps when -B is specified.
8640
8641         * makeusg.adb: Document new switch -B
8642
8643         * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
8644
8645         * switch-m.adb: (Scan_Make_Switches): Process -B switch
8646
8647         * vms_data.ads: Add new GNAT PRETTY qualifier
8648         /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
8649
8650 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8651
8652         * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
8653         case.
8654
8655         * misc.c (gnat_printable_name): If VERBOSITY is 2, call
8656         Set_Identifier_Casing.
8657
8658         * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
8659         has size that overflows.
8660
8661 2004-01-05  Gary Dismukes  <dismukes@gnat.com>
8662
8663         * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
8664         -gnatwa warning on static condition.
8665
8666 2004-01-05  Doug Rupp  <rupp@gnat.com>
8667
8668         * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
8669
8670 2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
8671
8672         * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
8673         all attributes, including read-only attribute.
8674
8675 2004-01-05  Pascal Obry  <obry@gnat.com>
8676
8677         * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
8678         library naming scheme.
8679
8680         * mlib-prj.adb (Build_Library): Generate different names for the static
8681         or dynamic version of the GNAT runtime. This is needed to support the
8682         new shared library naming scheme.
8683         (Process_Binder_File): Add detection of shared library in binder file
8684         based on the new naming scheme.
8685
8686         * gnatlink.adb (Process_Binder_File): Properly detect the new naming
8687         scheme for the shared runtime libraries.
8688
8689         * Makefile.in:
8690         (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
8691         scheme.
8692         (install-gnatlib): Do not create symlinks for shared libraries.
8693         (gnatlib-shared-default): Idem.
8694         (gnatlib-shared-dual-win32): New target. Not used for now as the
8695         auto-import feature does not support arrays/records.
8696         (gnatlib-shared-win32): Do not create copy for the shared libraries.
8697         (gnatlib-shared-vms): Fix shared runtime libraries names.
8698
8699         * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
8700         dependent runtime shared library name.
8701
8702 2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
8703
8704         * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
8705         than the object.
8706
8707 2004-01-05  Ed Schonberg  <schonberg@gnat.com>
8708
8709         * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
8710         protected objects when allocator has a subtype indication, not a
8711         qualified expression. Note that qualified expressions may have to be
8712         checked when limited aggregates are implemented.
8713
8714         * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
8715         pure, emit warning.
8716         (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
8717         subprogram is imported, remove warning.
8718
8719 2004-01-05  Geert Bosch  <bosch@gnat.com>
8720
8721         * s-poosiz.adb: Update copyright notice.
8722         (Allocate): Use Task_Lock to protect against concurrent access.
8723         (Deallocate): Likewise.
8724
8725 2004-01-05  Joel Brobecker  <brobecker@gnat.com>
8726
8727         * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
8728         comment.
8729
8730 2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
8731
8732         * gnat_ug.texi: Force a CVS commit by updating copyright.
8733         * gnat_ug_vxw.texi: Regenerate.
8734         * gnat_ug_wnt.texi: Regenerate.
8735         * gnat_ug_vms.texi: Regenerate.
8736         * gnat_ug_unx.texi: Regenerate.
8737
8738 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
8739
8740         * trans.c: Remove uses of "register" specifier in
8741         declarations of local variables.
8742
8743 2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
8744
8745         * stamp-xgnatug: New stamp file.
8746         * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
8747         (ada/doctools/xgnatug): Add $(build_exeext).
8748         (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
8749         ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
8750
8751 2003-12-17  Ed Falis  <falis@gnat.com>
8752
8753         * a-elchha.adb (Tailored_Exception_Information): made Info constant to
8754         eliminate warning.
8755
8756         * a-exextr.adb: Add context clause for
8757         Ada.Exceptions.Last_Chance_Handler.
8758
8759 2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
8760
8761         * cstand.adb (Create_Standard): Change the way how the declaration of
8762         the Duration type is created (making it the same way as it is for all
8763         the other standard types).
8764
8765 2003-12-17  Robert Dewar  <dewar@gnat.com>
8766
8767         * s-crtl.ads: Fix header format
8768         Change Pure to Preelaborate
8769
8770 2003-12-17  Ed Schonberg  <schonberg@gnat.com>
8771
8772         * checks.adb (Selected_Length_Checks): Generate an Itype reference for
8773         the expression type only if it is declared in the current unit.
8774
8775         * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
8776         are universal and already analyzed, as can occur in constrained
8777         subcomponents that depend on discriminants, when one constraint is a
8778         subtype mark.
8779
8780         * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
8781         type Any_Fixed is legal as the argument of a conversion, if only one
8782         fixed-point type is in context.
8783
8784 2003-12-17  GNAT Script  <nobody@gnat.com>
8785
8786         * Make-lang.in: Makefile automatically updated
8787
8788 2003-12-15  Robert Dewar  <dewar@gnat.com>
8789
8790         * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
8791         sec stack size.
8792
8793 2003-12-15  Vincent Celier  <celier@gnat.com>
8794
8795         * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
8796         (Gnatchop): Do not set failure status when reporting the number of
8797         warnings.
8798
8799 2003-12-15  Doug Rupp  <rupp@gnat.com>
8800
8801         * s-ctrl.ads: New file.
8802
8803         * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
8804
8805         * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
8806         (GNATBIND_OBJS): Add ada/s-crtl.o.
8807
8808         * Makefile.in [VMS]: Clean up ifeq rules.
8809
8810         * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
8811         a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
8812         g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
8813         s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
8814         s-tasdeb.adb: Update copyright.
8815         Import System.CRTL.
8816         Make minor modifications to use System.CRTL declared functions instead
8817         of importing locally.
8818
8819 2003-12-15  GNAT Script  <nobody@gnat.com>
8820
8821         * Make-lang.in: Makefile automatically updated
8822
8823 2003-12-11  Ed Falis  <falis@gnat.com>
8824
8825         * 5zinit.adb: Clean up.
8826
8827         * 5zintman.adb (Notify_Exception): replaced case statement with a call
8828         to __gnat_map_signal, imported from init.c to support
8829         signal -> exception mappings that depend on the vxWorks version.
8830
8831         * init.c:
8832         Created and exported __gnat_map_signal to support signal -> exception
8833         mapping that is dependent on the VxWorks version.
8834         Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
8835
8836 2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
8837
8838         * 5wosinte.ads: Link with -mthreads switch.
8839
8840 2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
8841
8842         * init.c (__gnat_install_handler [NetBSD]): Set
8843         __gnat_handler_installed, as done on all other platforms.
8844         Remove duplicated code.
8845
8846 2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
8847
8848         * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
8849
8850 2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
8851
8852         * sinfo.ads: Fix inconsistent example code in comment.
8853
8854 2003-12-11  Robert Dewar  <dewar@gnat.com>
8855
8856         * a-tiinau.adb: Add a couple of comments
8857
8858         * sem_ch3.adb: Minor reformatting
8859
8860         * sem_prag.adb:
8861         Fix bad prototype of Same_Base_Type in body (code reading cleanup)
8862         Minor reformatting throughout
8863
8864 2003-12-11  Ed Schonberg  <schonberg@gnat.com>
8865
8866         * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
8867         bounds of a loop, create a separate block in order to generate proper
8868         cleanup actions to prevent memory leaks.
8869
8870         * sem_res.adb (Resolve_Call): After a call to
8871         Establish_Transient_Scope, the call may be rewritten and relocated, in
8872         which case no further processing is needed.
8873
8874         * sem_util.adb: (Wrong_Type): Refine previous fix.
8875          Fixes ACATS regressions.
8876
8877         PR ada/13353
8878
8879         * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
8880         be inlined.
8881
8882 2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
8883
8884         * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
8885         i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
8886         obsolete files.
8887
8888         * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
8889         (rts-zfp): Ditto.
8890
8891 2003-12-08  Robert Dewar  <dewar@gnat.com>
8892
8893         * 7sintman.adb: Minor reformatting
8894
8895         * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
8896         standard linker options to get standard libraries linked. We now plan
8897         to provide dummy versions of these libraries to match the appropriate
8898         configurable run-time (e.g. if a library is not needed at all, provide
8899         a dummy empty library).
8900
8901         * targparm.ads: Configurable_Run_Time mode no longer affects linker
8902         options (-L parameters and standard libraries). What we plan to do is
8903         to provide dummy libraries where the libraries are not required.
8904
8905         * gnatbind.adb: Minor comment improvement
8906
8907 2003-12-08  Javier Miranda  <miranda@gnat.com>
8908
8909         * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
8910         aggregate in the parent. Otherwise constants with limited aggregates
8911         are not supported. Add new formal to pass the component type (Ctype).
8912         It is required to call the corresponding IP subprogram in case of
8913         default initialized components.
8914         (Gen_Assign): In case of default-initialized component, generate a
8915         call to the IP subprogram associated with the component.
8916         (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
8917         of aggregate with default initialized components.
8918         (Has_Default_Init_Comps): Improve implementation to recursively check
8919         all the present expressions.
8920
8921         * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
8922         to indicate that the initialization call corresponds to a
8923         default-initialized component of an aggregate.
8924         In case of default initialized aggregate with tasks this parameter is
8925         used to generate a null string (this is just a workaround that must be
8926         improved later). In case of discriminants, this parameter is used to
8927         generate a selected component node that gives access to the discriminant
8928         value.
8929
8930         * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
8931         subprogram, based on Build_Task_Allocate_Block, but adapted to expand
8932         allocated aggregates with default-initialized components.
8933
8934         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
8935         the box notation is used in positional aggregates.
8936
8937 2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
8938
8939         * lib.ads: Fix typo in comment
8940
8941 2003-12-08  Vincent Celier  <celier@gnat.com>
8942
8943         * prj.adb (Project_Empty): New component Unkept_Comments
8944         (Scan): Remove procedure; moved to Prj.Err.
8945
8946         * prj.ads (Project_Data): New Boolean component Unkept_Comments
8947         (Scan): Remove procedure; moved to Prj.Err.
8948
8949         * prj-dect.adb: Manage comments for the different declarations.
8950
8951         * prj-part.adb (With_Record): New component Node
8952         (Parse): New Boolean parameter Store_Comments, defaulted to False.
8953         Set the scanner to return ends of line and comments as tokens, if
8954         Store_Comments is True.
8955         (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
8956         comments are associated with these nodes. Store the node IDs in the
8957         With_Records.
8958         (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
8959         With_Records.
8960         (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
8961         the N_Project node. Call Tree.Save and Tree.Reset before scanning the
8962         current project. Call Tree.Restore afterwards. Set the various nodes
8963         for comment storage (Next_End, End_Of_Line, Previous_Line,
8964         Previous_End).
8965
8966         * prj-part.ads (Parse): New Boolean parameter Store_Comments,
8967         defaulted to False.
8968
8969         * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
8970         to False. When Truncated is True, truncate the string, never go to the
8971         next line.
8972         (Write_End_Of_Line_Comment): New procedure
8973         (Print): Process comments for nodes N_With_Clause,
8974         N_Package_Declaration, N_String_Type_Declaration,
8975         N_Attribute_Declaration, N_Typed_Variable_Declaration,
8976         N_Variable_Declaration, N_Case_Construction, N_Case_Item.
8977         Process nodes N_Comment.
8978
8979         * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
8980         without comments and there are some comments, set the flag
8981         Unkept_Comments to True.
8982         (Scan): If there are comments, set the flag Unkept_Comments to True and
8983         clear the comments.
8984         (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
8985         (Next_End_Nodes: New table
8986         (Comment_Zones_Of): New function
8987         (Scan): New procedure; moved from Prj. Accumulate comments in the
8988         Comments table and set end of line comments, comments after, after end
8989         and before end.
8990         (Add_Comments): New procedure
8991         (Save, Restore, Seset_State): New procedures
8992         (There_Are_Unkept_Comments): New function
8993         (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
8994         (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
8995         procedures.
8996         (First_Comment_After, First_Comment_After_End): New functions
8997         (First_Comment_Before, First_Comment_Before_End): New functions
8998         (Next_Comment): New function
8999         (End_Of_Line_Comment, Follows_Empty_Line,
9000         Is_Followed_By_Empty_Line): New functions
9001         (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
9002         (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
9003         (Set_Next_Comment): New procedure
9004         (Default_Project_Node): Associate comment before if the node can store
9005         comments.
9006
9007         * scans.ads (Token_Type): New enumeration value Tok_Comment
9008         (Comment_Id): New global variable
9009
9010         * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
9011         defaulted to False.
9012         (Scan): Store position of start of comment. If comments are tokens, set
9013         Comment_Id and set Token to Tok_Comment when scanning a comment.
9014         (Set_Comment_As_Token): New procedure
9015
9016         * sinput-p.adb: Update Copyright notice
9017         (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
9018         that no longer exists.
9019
9020 2003-12-08  Javier Miranda  <miranda@gnat.com>
9021
9022         * sem_aggr.adb: Add dependence on Exp_Tss package
9023         Correct typo in comment
9024         (Resolve_Aggregate): In case of array aggregates set the estimated
9025         type of the aggregate before calling resolve. This is needed to know
9026         the name of the corresponding IP in case of limited array aggregates.
9027         (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
9028         in case of default initialized array components.
9029
9030         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
9031         types. Required to give support to limited aggregates in generic
9032         formals.
9033
9034 2003-12-08  Ed Schonberg  <schonberg@gnat.com>
9035
9036         * sem_ch3.adb (Check_Initialization): For legality purposes, an
9037         inlined body functions like an instantiation.
9038         (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
9039         until bounds are analyzed, to diagnose premature use of type.
9040
9041         * sem_util.adb (Wrong_Type): Improve error message when the type of
9042         the expression is used prematurely.
9043
9044 2003-12-08  GNAT Script  <nobody@gnat.com>
9045
9046         * Make-lang.in: Makefile automatically updated
9047
9048 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
9049
9050         * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
9051         they are automatically generated by Make-lang.in and cause nothing but
9052         maintenance troubles.
9053
9054 2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
9055
9056         * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
9057         version of this unit).
9058
9059 2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
9060
9061         * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
9062         5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
9063         5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
9064         the body of System.Interrupt_Management common to several targets.
9065         Update copyright notice when appropriate.
9066
9067         * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
9068         constant.
9069
9070         * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
9071         to ensure that the kernel fills in the interrupted context structure
9072         before calling a signal handler, which is necessary to be able to
9073         unwind past it. Update the copyright notice.
9074
9075 2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
9076
9077         * a-elchha.ads: New file.
9078
9079         * a-elchha.adb: New default last chance handler. Contents taken from
9080         Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
9081
9082         * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
9083         is moved to a-elchha.adb to provide a target-independent default last
9084         chance handler.
9085
9086         * Makefile.rtl: Add a-elchha.o
9087
9088         * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
9089
9090 2003-12-05  Ed Schonberg  <schonberg@gnat.com>
9091
9092         * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
9093         declared in an instance, do not inline the call if the instance is not
9094         frozen yet, to prevent order of elaboration problems.
9095
9096         * sem_prag.adb: Add comments for previous fix.
9097
9098 2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
9099
9100         * g-table.adb: Use the right variable in Set_Item.
9101         Update copyright notice.
9102
9103 2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
9104
9105         * Makefile.in: Remove unused rules.
9106
9107 2003-12-05  Vincent Celier  <celier@gnat.com>
9108
9109         * switch-c.adb (Scan_Front_End_Switches): Remove processing of
9110         -nostdlib. Not needed here after all.
9111
9112 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
9113
9114         PR ada/11724
9115
9116         * adaint.h, adaint.c, g-os_lib.ads:
9117         Do not assume that the offset argument to lseek(2) is a 32 bit integer,
9118         on some platforms (including FreeBSD), it is a 64 bit value.
9119         Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
9120
9121 2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
9122
9123         * gnatvsn.ads (Library_Version): Now contain only the relevant
9124         version info.
9125         (Verbose_Library_Version): New constant.
9126
9127         * g-spipat.adb, g-awk.adb, g-debpoo.adb,
9128         g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
9129         s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
9130
9131         * gnatlbr.adb: Clean up: replace Library_Version by
9132         Verbose_Library_Version.
9133
9134         * make.adb, lib-writ.adb, exp_attr.adb:
9135         Clean up: replace Library_Version by Verbose_Library_Version.
9136
9137         * 5lintman.adb: Removed.
9138
9139         * Makefile.in:
9140         Update and simplify computation of LIBRARY_VERSION.
9141         Fix computation of GSMATCH_VERSION.
9142         5lintman.adb is no longer used: replaced by 7sintman.adb.
9143
9144 2003-12-03  Robert Dewar  <dewar@gnat.com>
9145
9146         * exp_ch5.adb:
9147         (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
9148         name. Modified to consider small non-bit-packed arrays as troublesome
9149         and in need of component-by-component assigment expansion.
9150
9151 2003-12-03  Vincent Celier  <celier@gnat.com>
9152
9153         * lang-specs.h: Process nostdlib as nostdinc
9154
9155         * back_end.adb: Update Copyright notice
9156         (Scan_Compiler_Arguments): Process -nostdlib directly.
9157
9158 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
9159
9160         * Makefile.in:
9161         When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
9162         redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
9163         included in HIE_NONE_TARGET_PAIRS.
9164
9165 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
9166
9167         * sem_attr.adb:
9168         (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
9169         is legal in an instance, because legality is cheched in the template.
9170
9171         * sem_prag.adb:
9172         (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
9173         appplied to an unchecked conversion of a formal parameter.
9174
9175         * sem_warn.adb:
9176         (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
9177         variables.
9178
9179 2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
9180
9181         * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
9182         routines. The second one is new functionality to deal with backtracing
9183         through signal handlers.
9184         (unwind): Split into the two separate subroutines above.
9185         Update the documentation, and deal properly with sizeof (REG) different
9186         from sizeof (void*).
9187
9188 2003-12-01  Nicolas Setton  <setton@act-europe.fr>
9189
9190         * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
9191         so that the debugger can reliably access the value of the parameter,
9192         and therefore is able to display the exception name when an exception
9193         breakpoint is reached.
9194
9195 2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
9196
9197         * fmap.adb: Fix typo in warning message.
9198
9199         * g-socket.ads, g-socket.adb: Make Free a visible instance of
9200         Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
9201
9202 2003-12-01  Vincent Celier  <celier@gnat.com>
9203
9204         * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
9205         ther is no Afile.
9206         (Build_Library): Get the switches only if Default_Switches is declared
9207         in package Binder.
9208
9209 2003-12-01  Ed Schonberg  <schonberg@gnat.com>
9210
9211         * exp_ch6.adb (Expand_Actuals): When applying validity checks to
9212         actuals that are indexed components, reanalyze actual to ensure that
9213         packed array references are properly expanded.
9214
9215         * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
9216         attempted assignment to a discriminant.
9217
9218 2003-12-01  Robert Dewar  <dewar@gnat.com>
9219
9220         * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
9221         reformatting.
9222
9223         * switch-c.adb: Minor reformatting of comments
9224
9225 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
9226
9227         * Makefile.in: Clean ups.
9228
9229 2003-12-01  GNAT Script  <nobody@gnat.com>
9230
9231         * Make-lang.in: Makefile automatically updated
9232
9233 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
9234
9235         * 5wsystem.ads: Disable zero cost exception, not ready yet.
9236
9237 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
9238
9239         * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
9240         to force serialization.
9241
9242 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
9243
9244         * g-socket.ads, g-socket.adb:
9245         Clarify documentation of function Stream. Introduce a Free procedure
9246         to release the returned Stream once it becomes unused.
9247
9248         * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
9249
9250 2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
9251
9252         (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
9253         since NT 4 cannot handle timeout values that are too large,
9254         e.g. DWORD'Last - 1.
9255
9256 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
9257
9258         * exp_ch4.adb:
9259         (Expand_N_Slice): Recognize all cases of slices that appear as actuals
9260         in procedure calls and whose expansion must be deferred.
9261
9262         * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
9263         is in exp_ch4.
9264
9265         * sem_ch3.adb:
9266         (Build_Derived_Array_Type): Create operator for unconstrained type
9267         if ancestor is unconstrained.
9268
9269 2003-11-26  Vincent Celier  <celier@gnat.com>
9270
9271         * make.adb (Project_Object_Directory): New global variable
9272         (Change_To_Object_Directory): New procedure
9273         (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
9274         of Change_Dir directly. Do not change working directory to object
9275         directory of main project after each compilation.
9276         (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
9277         directly.
9278         Change to object directory of main project before binding step.
9279         (Initialize): Initialize Project_Object_Directory to No_Project
9280
9281         * mlib-prj.adb:
9282         (Build_Library): Take into account Builder'Default_Switches ("Ada") when
9283         binding a Stand-Alone Library.
9284
9285         * output.adb: Update Copyright notice
9286         (Write_Char): Output buffer when full
9287
9288 2003-11-26  Robert Dewar  <dewar@gnat.com>
9289
9290         * sem_ch13.adb: (Check_Size): Reset size if size is too small
9291
9292         * sem_ch13.ads:
9293         (Check_Size): Fix documentation to include bit-packed array case
9294
9295         * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
9296
9297         * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
9298
9299         * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
9300
9301 2003-11-24  Arnaud Charlet <charlet@act-europe.fr>
9302
9303         PR ada/13142
9304         * utils.c (init_gigi_decls): Change name of built-in setjmp to
9305         __builtin_setjmp, since this is apparently needed by recent
9306         non Ada changes.
9307
9308 2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9309
9310         * adadecode.c: Only include ctype.h if not IN_GCC.
9311         (__gnat_decode): Use ISDIGIT from safe-ctype.h.
9312
9313 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
9314
9315         * Makefile.in:
9316         Use 5zintman.ads for VxWorks targets. This file avoid confusion between
9317         signals and interrupts.
9318
9319         * 5zintman.ads: New File.
9320
9321         * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
9322         add exception signals to the set of unmasked signals.
9323
9324         * 5ztaprop.adb:
9325         Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
9326         between signals and interrupts.
9327         Add to Unblocked_Signal_Mask the set of signals that are in
9328         Keep_Unmasked.
9329
9330         * 7sinmaop.adb:
9331         Adding a check to see whether the Interrupt_ID we want to unmask is in
9332         the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
9333         reason is that the index type of the Keep_Unmasked array is not always
9334         Interrupt_ID; it may be a subtype of Interrupt_ID.
9335
9336 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
9337
9338         * exp_util.adb:
9339         (Remove_Side_Effects): Condition constantness of object created for a
9340          an unchecked type conversion on the constantness of the expression
9341          to ensure the correct value for 'Constrained when passing components
9342          of view-converted class-wide objects.
9343
9344 2003-11-24  Robert Dewar  <dewar@gnat.com>
9345
9346         * par-load.adb (Load): Improve handling of misspelled and missing units
9347         Removes several cases of compilation abandoned messages
9348
9349         * lib.adb: (Remove_Unit): New procedure
9350
9351         * lib.ads: (Remove_Unit): New procedure
9352
9353         * lib-load.adb: Minor reformatting
9354
9355 2003-11-24  Vincent Celier  <celier@gnat.com>
9356
9357         * make.adb:
9358         (Gnatmake, Initialize): Call Usage instead of Makeusg directly
9359         (Marking_Label): Label to mark processed source files. Incremented for
9360         each executable.
9361         (Gnatmake): Increase Marking_Labet for each executable
9362         (Is_Marked): Compare against marking label
9363         (Mark): Mark with marking label
9364
9365 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
9366
9367         * s-thread.ads:
9368         Move the declaration of the TSD for System.Threads to System.Soft_Links.
9369         Add some comments.
9370
9371         * Makefile.in: Added target pair for s-thread.adb for cert runtime.
9372         (rts-cert): build a single relocatable object for the run-time lib.
9373         Fix perms.
9374
9375 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
9376
9377         * Make-lang.in:
9378         Use gnatls rather than gcc to obtain the location of GNAT RTL for
9379         crosstools build.
9380
9381 2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
9382
9383         * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
9384         can not use it as before (that is, as a variable) when dumping it into
9385         the tree file. Add a local variable to store the result of this
9386         function and to be used as the string to be written into the tree.
9387
9388         * scn.adb (Initialize_Scanner): Add comments explaining the recent
9389         changes.
9390
9391         * sinput.adb (Source_First, Source_Last): In case of
9392         Internal_Source_File, replace returning attributes of
9393         Internal_Source_Ptr (which is wrong) with returning attributes of
9394         Internal_Source.
9395
9396 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
9397
9398         * sem_ch3.adb:
9399         (New_Concatenation_Op): Proper name for New_Binary_Operator, only
9400         used for implicit concatenation operators.
9401         Code cleanup.
9402
9403         * sem_elab.adb:
9404         (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
9405         task bodies that are in the scope of a Suppress pragma.
9406         (Check_A Call): Use the flag to prevent spurious elaboration checks.
9407
9408         * sinfo.ads, sinfo.adb:
9409         New flag No_Elaboration_Check on function/procedure calls, to properly
9410         suppress checks on calls in task bodies that are within a local suppress
9411         pragma.
9412
9413         * exp_ch4.adb:
9414         (Expand_Concatenate_Other): Use the proper integer type for the
9415         expression for the upper bound, to avoid universal_integer computations
9416         when possible.
9417
9418 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
9419
9420         * .cvsignore: Delete.
9421
9422 2003-11-21  Andreas Schwab  <schwab@suse.de>
9423
9424         * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
9425
9426 2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
9427
9428         * 5wsystem.ads: Enable zero cost exception.
9429
9430 2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
9431
9432         * 5ztiitho.adb: Remove an unreferenced variable.
9433
9434 2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
9435
9436         * adaint.c: For FreeBSD, use mkstemp.
9437
9438 2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
9439
9440         * gnatlbr.adb: Now reference Gnat_Static_Version_String.
9441
9442 2003-11-21  Robert Dewar  <dewar@gnat.com>
9443
9444         * bld.adb: Remove useless USE of gnatvsn
9445
9446         * gnatchop.adb: Minor reformatting
9447         Clean up version handling to be more consistent
9448
9449         * gnatxref.adb: Minor reformatting
9450
9451         * gprcmd.adb: Minor reformatting
9452         Fix output of copyright to be more consistent with other tools
9453
9454 2003-11-21  Vincent Celier  <celier@gnat.com>
9455
9456         * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
9457
9458 2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
9459
9460         * atree.adb (Initialize): Add initializations for global variables
9461         used in New_Copy_Tree.
9462
9463         * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
9464         Internal_Source_File as the actual).
9465         Put the set of statements creating Any_Character before the set of
9466         statements creating Any_Array to have Any_Character fully initialized
9467         when it is used in creating Any_Array.
9468
9469         * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
9470         not call Scan in case if the actual is Internal_Source_File
9471         Add 2003 to copyright note.
9472
9473         * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
9474         processing Internal_Source_File.
9475
9476         * types.ads: Add the constant Internal_Source_File representing the
9477         source buffer for artificial source-code-like strings created within
9478         the compiler (the definition of Source_File_Index is changed).
9479
9480 2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
9481
9482         * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
9483         56system.ads: New file, FreeBSD version.
9484
9485 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
9486
9487         * Make-lang.in (ada.extraclean): Delete.
9488
9489 2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
9490
9491         * gnatmem.adb: Clean up verbose output.
9492
9493         * gprcmd.adb: Change copyright to FSF.
9494
9495 2003-11-19  Vincent Celier  <celier@gnat.com>
9496
9497         * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
9498         and Version (ignored).
9499
9500         * symbols.ads: (Policy): New type
9501         (Initialize): New parameter Reference, Symbol_Policy and
9502         Library_Version.
9503         Remove parameter Force.
9504         Minor reformatting.
9505
9506         * snames.ads, snames.adbadb: New standard names
9507         Library_Reference_Symbol_File and Library_Symbol_Policy
9508
9509         * mlib-prj.adb:
9510         (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
9511         project.
9512
9513         * mlib-tgt.adb:
9514         (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
9515
9516         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
9517
9518         * prj.adb: (Project_Empty): New component Symbol_Data
9519
9520         * prj.ads: (Policy, Symbol_Record): New types
9521         (Project_Data): New component Symbol_Data
9522
9523         * prj-attr.adb:
9524         New attributes Library_Symbol_File, Library_Symbol_Policy and
9525         Library_Reference_Symbol_File.
9526
9527         * prj-nmsc.adb:
9528         (Ada_Check): When project is a Stand-Alone library project, process
9529         attribute Library_Symbol_File, Library_Symbol_Policy and
9530         Library_Reference_Symbol_File.
9531
9532         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
9533         5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
9534         5sml-tgt.adb (Build_Dynamic_Library): New parameter
9535         Symbol_Data (ignored).
9536
9537         * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
9538         (Build_Dynamic_Library): New parameter Symbol_Data. New internal
9539         functions Option_File_Name and Version_String. Set new options of
9540         gnatsym related to symbol file, symbol policy and reference symbol
9541         file.
9542
9543         * 5vsymbol.adb:
9544         Extensive modifications to take into account the reference symbol file,
9545         the symbol policy, the library version and to put in the symbol file the
9546         minor and major IDs.
9547
9548         * bld.adb (Process_Declarative_Items): Put second argument of
9549         gprcmd to_absolute between single quotes, to avoid problems with
9550         Windows.
9551
9552         * bld-io.adb: Update Copyright notice.
9553         (Flush): Remove last character of a line, if it is a back slash, to
9554         avoid make problems.
9555
9556         * gnatsym.adb:
9557         Implement new scheme with reference symbol file and symbol policy.
9558
9559         * g-os_lib.ads: (Is_Directory): Clarify comment
9560
9561 2003-11-19  Robert Dewar  <dewar@gnat.com>
9562
9563         * atree.adb: Move New_Copy_Tree global variables to head of package
9564
9565         * errout.adb: Minor reformatting
9566
9567 2003-11-19  Javier Miranda  <miranda@gnat.com>
9568
9569         * sem_ch4.adb: (Diagnose_Call): Improve error message.
9570         Add reference to Ada0Y (AI-50217)
9571
9572         * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
9573         sem_util.adb: Add reference to AI-50217
9574
9575         * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
9576
9577         * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
9578
9579         * sem_aggr.adb: Complete documentation of AI-287 changes
9580
9581         * par-ch4.adb: Document previous changes.
9582
9583         * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
9584         sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
9585         Ada0Y (AI-50217)
9586
9587         * exp_aggr.adb: Add references to AI-287 in previous changes
9588
9589 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
9590
9591         * exp_ch6.adb:
9592         (Add_Call_By_Copy_Node): Do not original node of rewritten expression
9593         in the rewriting is the result of an inlined call.
9594
9595         * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
9596         parameter is a type conversion, use original node to construct the
9597         post-call assignment, because expression may have been rewritten, e.g.
9598         if it is a packed array.
9599
9600         * sem_attr.adb:
9601         (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
9602         body, just as it is in an instance.
9603         Categorization routines
9604
9605         * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
9606         Instantiate_Object): Set proper sloc reference for message on missing
9607         actual.
9608
9609 2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
9610
9611         * Makefile.in: Add FreeBSD libgnat pairs.
9612
9613         * usage.adb: Fix typo in usage message.
9614
9615 2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
9616
9617         * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
9618         s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
9619         pragma Thread_Body.
9620         Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
9621
9622         * s-thread.adb: This file is now a dummy implementation of
9623         System.Thread.
9624
9625 2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
9626
9627         * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
9628
9629 2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
9630
9631         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
9632         instanciation references in the parent type description.
9633
9634 2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9635
9636         * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
9637
9638         * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
9639         TYPE_PRECISION directly from esize.
9640
9641 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
9642
9643         * cstreams.c:
9644         Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
9645
9646         * init.c: Initialization routines for FreeBSD
9647
9648         * link.c: Link info for FreeBSD
9649
9650         * sysdep.c: Add the case of FreeBSD
9651
9652 2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
9653
9654         * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
9655         already called in System.Threads.
9656
9657         * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
9658         environment task, as it has been moved to System.Threads.Initialization.
9659
9660 2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
9661
9662         * adaint.c (__gnatlib_install_locks): Only reference
9663         __gnat_install_locks on VMS, since other platforms can avoid using
9664         --enable-threads=gnat
9665
9666 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9667
9668         * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
9669
9670         * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
9671         TYPE_PACKED_ARRAY_TYPE_P.
9672         (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
9673
9674         Part of PR ada/12806
9675         * utils.c (float_type_for_precision): Renamed from float_type_for_size.
9676         Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
9677
9678 2003-11-17  Vincent Celier  <celier@gnat.com>
9679
9680         * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
9681         to False.
9682         Do not set exit status to Failure when Warning is True.
9683         (Gnatchop): Make errors "no compilation units found" and
9684         "no source files written" warnings only.
9685
9686         * make.adb (Gnatmake): When using a project file, set
9687         Look_In_Primary_Dir to False.
9688         (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
9689         and Local_Configuration_Pragmas in the project where they are declared
9690         not an extending project which might have inherited them.
9691
9692         * osint.adb (Locate_File): If Name is already an absolute path, do not
9693         look for a directory.
9694
9695         * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
9696         -gnats (Check_Syntax) is used, issue only a warning, not an error.
9697
9698         * prj.adb (Register_Default_Naming_Scheme): Add new component Project
9699         in objects of type Variable_Value.
9700
9701         * prj.ads: (Variable_Value): New component Project
9702
9703         * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
9704         is in a project extended by Project.
9705
9706         * prj-proc.adb (Add_Attributes): New parameter Project. Set component
9707         Project of Variable_Values to this new parameter value.
9708         (Expression): Set component Project of Variable_Values.
9709         (Process_Declarative_Items): Call Add_Attributes with parameter Project.
9710         Set the component Project in array elements.
9711
9712 2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
9713
9714         * errout.adb: (Initialize): Add initialization for error nodes.
9715
9716         * sem_ch12.adb (Initialize): Add missing initializations for
9717         Exchanged_Views and Hidden_Entities.
9718
9719 2003-11-17  Ed Schonberg  <schonberg@gnat.com>
9720
9721         * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
9722         already instantiated tree for use in subsequent inlining.
9723         (Analyze_Associations, Instantiate_Formal_Subprogram,
9724         Instantiate_Object): improve error message for mismatch in
9725         instantiations.
9726
9727         * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
9728         instantiations of subprograms declared in instances.
9729
9730 2003-11-17  Javier Miranda  <miranda@gnat.com>
9731
9732         * sem_ch4.adb (Analyze_Allocator): Previous modification must be
9733         executed only under the Extensions_Allowed flag.
9734
9735 2003-11-17  Robert Dewar  <dewar@gnat.com>
9736
9737         * a-exexda.adb (Address_Image): Fix documentation to indicate leading
9738         zeroes suppressed.
9739         (Address_Image): Fix bug of returning 0x instead of 0x0
9740         Minor reformatting (function specs).
9741
9742         * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
9743         (missed case of 33-63)
9744
9745         * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
9746
9747         * s-thread.adb: Add comments for pragma Restriction
9748
9749         * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
9750         sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
9751
9752 2003-11-17  Ed Falis  <falis@gnat.com>
9753
9754         * s-thread.adb: Added No_Tasking restriction for this implementation.
9755
9756 2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
9757
9758         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
9759         instanciation references in the parent type description.
9760
9761 2003-11-17  GNAT Script  <nobody@gnat.com>
9762
9763         * Make-lang.in: Makefile automatically updated
9764
9765 2003-11-16  Jason Merrill  <jason@redhat.com>
9766
9767         * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
9768         and TAGS files that include them for each front end.
9769
9770 2003-11-14  Andreas Jaeger  <aj@suse.de>
9771
9772         * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
9773         is the canonical version.
9774         * misc.c (gnat_handle_option): Likewise.
9775
9776         * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
9777
9778         * 5nsystem.ads: New file for x86_64-linux-gnu.
9779
9780 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
9781
9782         * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
9783
9784         * comperr.adb: Fix logic in previous change.
9785
9786 2003-11-13  Vincent Celier  <celier@gnat.com>
9787
9788         * 5bml-tgt.adb (Build_Dynamic_Library): Use
9789         Osint.Include_Dir_Default_Prefix instead of
9790         Sdefault.Include_Dir_Default_Name.
9791
9792         * gnatlbr.adb: Update Copyright notice
9793         (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
9794         Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
9795         instead of Sdefault.Object_Dir_Default_Name
9796
9797         * gnatlink.adb:
9798         (Process_Binder_File): Never suppress the option following -Xlinker
9799
9800         * mdll-utl.adb:
9801         (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
9802         Sdefault.Object_Dir_Default_Name.
9803
9804         * osint.ads, osint.adb:
9805         (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
9806         Minor reformatting.
9807
9808         * vms_conv.ads: Minor reformating
9809         Remove GNAT STANDARD and GNAT PSTA
9810
9811         * vms_conv.adb:
9812         Allow GNAT MAKE to have several files on the command line.
9813         (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
9814         Sdefault.Object_Dir_Default_Name.
9815         Minor Reformating
9816         Remove data for GNAT STANDARD
9817
9818         * vms_data.ads:
9819         Add new compiler qualifier /PRINT_STANDARD (-gnatS)
9820         Remove data for GNAT STANDARD
9821         Remove options and documentation for -gnatwb/-gnatwB: these warning
9822         options no longer exist.
9823
9824 2003-11-13  Ed Falis  <falis@gnat.com>
9825
9826         * 5zthrini.adb: (Init_RTS): Made visible
9827
9828         * 5zthrini.adb:
9829         (Register): Removed unnecessary call to taskVarGet that checked whether
9830          an ATSD was already set as a task var for the argument thread.
9831
9832         * s-thread.adb:
9833         Updated comment to reflect that this is a VxWorks version
9834         Added context clause for System.Threads.Initialization
9835         Added call to System.Threads.Initialization.Init_RTS
9836
9837 2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
9838
9839         * 5zthrini.adb:
9840         (Init_RTS): New procedure, for the initialization of the run-time lib.
9841
9842         * s-thread.adb:
9843         Remove dependancy on System.Init, so that this file can be used in the
9844         AE653 sequential run-time lib.
9845
9846 2003-11-13  Robert Dewar  <dewar@gnat.com>
9847
9848         * bindgen.adb: Minor reformatting
9849
9850 2003-11-13  Ed Schonberg  <schonberg@gnat.com>
9851
9852         * checks.adb:
9853         (Apply_Discriminant_Check): Do no apply check if target type is derived
9854         from source type with no applicable constraint.
9855
9856         * lib-writ.adb:
9857         (Ensure_System_Dependency): Do not apply the style checks that may have
9858         been specified for the main unit.
9859
9860         * sem_ch8.adb:
9861         (Find_Selected_Component): Further improvement in error message, with
9862         RM reference.
9863
9864         * sem_res.adb:
9865         (Resolve): Handle properly the case of an illegal overloaded protected
9866         procedure.
9867
9868 2003-11-13  Javier Miranda  <miranda@gnat.com>
9869
9870         * exp_aggr.adb:
9871         (Has_Default_Init_Comps): New function to check the presence of
9872         default initialization in an aggregate.
9873         (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
9874         extension aggregate of a limited record. In addition, a new formal
9875         was added to do not initialize the record controller (if any) during
9876         this recursive expansion of ancestors.
9877         (Init_Controller): Add support for limited record components.
9878         (Expand_Record_Aggregate): In case of default initialized components
9879         convert the aggregate into a set of assignments.
9880
9881         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
9882         describing the new syntax.
9883         Nothing else needed to be done because this subprogram delegates part of
9884         its work to P_Precord_Or_Array_Component_Association.
9885         (P_Record_Or_Array_Component_Association): Give support to the new
9886         syntax for default initialization of components.
9887
9888         * sem_aggr.adb:
9889         (Resolve_Aggregate): Relax the strictness of the frontend in case of
9890         limited aggregates.
9891         (Resolve_Record_Aggregate): Give support to default initialized
9892         components.
9893         (Get_Value): In case of default initialized components, duplicate
9894         the corresponding default expression (from the record type
9895         declaration). In case of default initialization in the *others*
9896         choice, do not check that all components have the same type.
9897         (Resolve_Extension_Aggregate): Give support to limited extension
9898         aggregates.
9899
9900         * sem_ch3.adb:
9901         (Check_Initialization): Relax the strictness of the front-end in case
9902         of aggregate and extension aggregates. This test is now done in
9903         Get_Value in a per-component manner.
9904
9905         * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
9906         expression corresponds to a limited aggregate. This test is now done
9907         in Get_Value.
9908
9909         * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
9910         Box_Present flag.
9911
9912         * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
9913         present in an N_Component_Association node
9914
9915 2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
9916
9917         * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
9918         type-conformant entry only if they are homographs.
9919
9920 2003-11-13  GNAT Script  <nobody@gnat.com>
9921
9922         * Make-lang.in: Makefile automatically updated
9923
9924 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9925
9926         * adadecode.c: Use <> form of include for ctype.h.
9927         * sysdep.c [IN_RTS]: Use <> form of include for time.h.
9928
9929 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9930
9931         * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
9932         Works around PR middle-end/6552.
9933
9934 2003-11-10  Ed Falis  <falis@gnat.com>
9935
9936         * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
9937
9938         * 5zinit.adb: (Install_Handler): Moved back to spec
9939         (Install_Signal_Handlers): Deleted
9940
9941         * 5zthrini.adb: Added context clause for System.Storage_Elements
9942         (Register): Only handles creation of taskVar; initialization moved to
9943         Thread_Body_Enter.
9944         (Reset_TSD): Deleted; replaced by Thread_Body_Enter
9945         Added declaration of environment task secondary stack and
9946         initialization.
9947
9948         * s-thread.adb: Implement bodies for thread body processing
9949
9950         * s-thread.ads:
9951         Added comment identifying supported targets for pragma Thread_Body.
9952
9953 2003-11-10  Pascal Obry  <obry@gnat.com>
9954
9955         * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
9956         GNAT_MAX_PATH_LEN.
9957
9958         * s-fileio.adb:
9959         (Open): Properly check for string length before copying into the buffer.
9960         Raises Name_Error if buffer is too small. Note that this was a potential
9961         buffer overflow.
9962
9963 2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
9964
9965         * bindgen.adb, comperr.adb: Code clean ups.
9966         * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
9967
9968 2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
9969
9970         * gnat1drv.adb: Add call to Sem_Elim.Initialize.
9971
9972 2003-11-10  Vincent Celier  <celier@gnat.com>
9973
9974         * gprcmd.adb:
9975         (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
9976         installation.
9977
9978         * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
9979
9980         * prj.adb: (Project_Empty): Add new boolean component Virtual
9981
9982         * prj.ads: (Virtual_Prefix): New constant string
9983         (Project_Data): New boolean component Virtual
9984
9985         * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
9986         a library project is extended by a virtual extending project.
9987
9988         * prj-part.adb:
9989         Modifications throughout to implement extending-all project, including:
9990         (Virtual_Hash, Processed_Hash): New hash tables
9991         (Create_Virtual_Extending_Project): New procedure
9992         (Look_For_Virtual_Projects_For): New procedure
9993
9994         * prj-proc.adb:
9995         (Process): After checking the projects, if main project is an
9996         extending-all project, set the object directory of all virtual extending
9997         project to the object directory of the main project.
9998         Adjust error message when a virtual extending project has the same
9999         object directory as an project being extended.
10000         (Recursive_Process): If name starts with the virtual prefix, set Virtual
10001         to True in the project data.
10002
10003         * prj-tree.adb:
10004         (Default_Project_Node): Add new boolean component Extending_All
10005         (Is_Extending_All): New function
10006         (Set_Is_Extending_All): New procedure
10007
10008         * prj-tree.ads: (Is_Extending_All): New function
10009         (Set_Is_Extending_All): New procedure
10010         (Project_Node_Record): New boolean component Extending_All
10011
10012         * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
10013
10014         * vms_data.ads:
10015         Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
10016
10017         * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
10018         "gprcmd prefix" to define it.
10019
10020 2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
10021
10022         * einfo.ads: Fix a typo and remove an extraneous word in comments.
10023
10024         * lib-load.adb:
10025         (Create_Dummy_Package_Unit): Set the scope of the entity for the
10026         created dummy package to Standard_Standard, not to itself, to
10027         defend other parts of the front-end against encoutering a cycle in
10028         the scope chain.
10029
10030         * sem_ch10.adb:
10031         (Analyze_With_Clause): When setting the entities for the successive
10032         N_Expanded_Names that constitute the name of a child unit, do not
10033         attempt to go further than Standard_Standard in the chain of scopes.
10034         This case arises from the placeholder units created by
10035         Create_Dummy_Package_Unit in the case of a with_clause for a
10036         nonexistent child unit.
10037
10038 2003-11-10  Ed Schonberg  <schonberg@gnat.com>
10039
10040         * exp_ch6.adb:
10041         (Expand_Thread_Body): Place subprogram on scope stack, so that new
10042         declarations are given the proper scope.
10043
10044         * sem_ch13.adb:
10045         (Check_Expr_Constants): Reject an expression that contains a constant
10046         created during expansion, and that appears after the object to which
10047         the address clause applies.
10048
10049         * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
10050         Analyze_Iteration_Scheme, to rewrite a loop parameter specification
10051         that uses 'Range of a function call with controlled components, so
10052         that the function result can be finalized before starting the loop.
10053
10054         * sem_ch8.adb:
10055         (Find_Selected_Component): Improve error message when prefix is
10056         an implicit dereference of an incomplete type.
10057
10058 2003-11-10  Robert Dewar  <dewar@gnat.com>
10059
10060         * opt.ads: New Print_Standard flag for -gnatS switch
10061
10062         * sem_ch13.adb: Remove some additional checks for unaligned arrays
10063
10064         * cstand.adb (Create_Standard): Print out package standard if -gnatS
10065         switch set
10066
10067         * debug.adb: Update doc for -gnatds to discuss relationship with new
10068         -gnatS flag
10069
10070         * sinfo.adb: Add new field Entity_Or_Associated_Node
10071
10072         * sinfo.ads: Add new field Entity_Or_Associated_Node
10073         Update documentation for Associated_Node and Entity fields to clarify
10074         relationship and usage.
10075
10076         * sprint.adb:
10077         (Write_Id): Properly process Associated_Node field in generic template
10078
10079         * switch-c.adb:
10080         Recognize new -gnatS switch for printing package Standard
10081         This replaces gnatpsta
10082
10083         * usage.adb:
10084         Add line for  new -gnatS switch for printing package Standard
10085         This replaces gnatpsta
10086
10087 2003-11-10  Andreas Jaeger  <aj@suse.de>
10088
10089         * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
10090         integer.
10091
10092 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
10093
10094         * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
10095         by gnat1.
10096
10097 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
10098
10099         * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
10100         no longer needed.
10101
10102         * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
10103
10104         * sysdep.c: Add handling of cygwin.
10105
10106 2003-11-10  GNAT Script  <nobody@gnat.com>
10107
10108         * Make-lang.in: Makefile automatically updated
10109
10110 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
10111
10112         PR 12950
10113         * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
10114         functions. Used to handle dynamic prefix relocation, via set_std_prefix.
10115         Replace GNAT_ROOT by GCC_ROOT.
10116
10117         * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
10118
10119 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
10120
10121         * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
10122         and update for changed meaning of GET_MODE_BITSIZE.
10123
10124 2003-11-04  Doug Rupp  <rupp@gnat.com>
10125
10126         * sysdep.c: Problem discovered during IA64 VMS port.
10127         [VMS] #include <unixio.h> to get proper prototypes.
10128
10129         * adaint.c:
10130         Issues discovered/problems fixed during IA64 VMS port.
10131         [VMS] #define _POSIX_EXIT for proper semantics.
10132         [VMS] #include <unixio.h> for proper prototypes.
10133         [VMS] (fork): #define IA64 version.
10134         (__gnat_os_exit): Remove unnecessary VMS specific code.
10135
10136 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10137
10138         Part of PR ada/12806
10139
10140         * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
10141         tree, not integer.
10142
10143         * decl.c:
10144         (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
10145         not integer.
10146
10147         * targtyps.c, decl.c, misc.c,
10148         gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
10149         routines to work around change in FP sizing semantics in GCC.
10150
10151         * utils.c:
10152         (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
10153
10154         * gigi.h: (enumerate_modes): New function.
10155
10156         * Make-lang.in: (ada/misc.o): Add real.h.
10157
10158         * misc.c: (enumerate_modes): New function.
10159
10160 2003-11-04  Robert Dewar  <dewar@gnat.com>
10161
10162         * 3vtrasym.adb: Minor reformatting
10163         Use terminology encoded/decoded name, rather than C++ specific notion
10164         of mangling (this is the terminology used throughout GNAT).
10165
10166         * einfo.h: Regenerated
10167
10168         * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
10169
10170         * exp_ch6.adb:
10171         (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
10172
10173         * par-prag.adb: Add dummy entry for Thread_Body pragma
10174
10175         * rtsfind.ads:
10176         Add entries for System.Threads entities for thread body processing
10177
10178         * sem_attr.adb:
10179         (Analyze_Pragma, Access attributes): Check these are not applied to a
10180         thread body, since this is not permitted
10181
10182         * sem_prag.adb: Add processing for Thread_Body pragma.
10183         Minor comment fix.
10184
10185         * sem_res.adb:
10186         (Resolve_Call): Check for incorrect attempt to call a thread body
10187          procedure with a direct call.
10188
10189         * snames.ads, snames.adb: Add entry for Thread_Body pragma
10190         Add names associated with thread body expansion
10191
10192         * snames.h: Add entry for Thread_Body pragma
10193
10194         * s-thread.adb: Add entries for thread body processing
10195         These are dummy bodies so far
10196
10197         * s-thread.ads: Add documentation on thread body handling.
10198         Add entries for thread body processing.
10199
10200 2003-11-04  Javier Miranda  <miranda@gnat.com>
10201
10202         * sem_ch10.adb:
10203         (Build_Limited_Views): Return after posting an error in case of limited
10204         with_clause on subprograms, generics, instances or generic renamings
10205         (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
10206         on subprograms, generics, instances or generic renamings
10207
10208 2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
10209
10210         * raise.c (setup_to_install): Correct mistake in last revision; two
10211         arguments out of order.
10212
10213         * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
10214         gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
10215         notice, missed in previous change.
10216         Remove trailing blanks and other style errors introduced in previous
10217         change.
10218
10219 2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
10220
10221         * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
10222         rid of the wrapper for a LJM type, ensuring we don't do that if the
10223         field is addressable.  This avoids potential low level type view
10224         mismatches later on, for instance in a by-reference argument passing
10225         process.
10226
10227 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10228
10229         * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
10230         aligned at byte boundary.
10231
10232 2003-11-04  Joel Brobecker  <brobecker@gnat.com>
10233
10234         * decl.c (components_to_record): Do not delete the empty variants from
10235         the end of the union type.
10236
10237 2003-11-04  Ed Schonberg  <schonberg@gnat.com>
10238
10239         * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
10240         operation for a derived type, an explicit declaration may use a local
10241         subtype of Boolean.
10242
10243 2003-11-04  Vincent Celier  <celier@gnat.com>
10244
10245         * make.adb (Gnatmake): Allow main sources on the command line with a
10246         library project when it is only for compilation (no binding or
10247         linking).
10248
10249 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10250
10251         * Makefile.in: Remove many duplicate variables.
10252
10253 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
10254
10255         * Make-lang.in (dvi): Move targets to $(docobjdir).
10256         (gnat_ug_vms.dvi): Simplify rule and adjust target.
10257         (gnat_ug_wnt.dvi): Likewise.
10258         (gnat_ug_unx.dvi): Likewise.
10259         (gnat_ug_vxw.dvi): Likewise.
10260         (gnat_rm.dvi): Likewise.
10261         (gnat-style.dvi): Likewise.
10262
10263 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
10264
10265         * gigi.h: Missed commit from update for C90.
10266
10267 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
10268
10269         * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
10270
10271 2003-10-31  Andreas Schwab  <schwab@suse.de>
10272
10273         * raise.c (get_action_description_for): Fix typo in last change.
10274
10275 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
10276
10277         PR ada/12761
10278         * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
10279         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
10280
10281 2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
10282
10283         * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
10284         ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
10285         gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
10286         sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
10287         trans.c, utils.c, utils2.c: Convert function prototypes to C90.
10288
10289 2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
10290
10291         * 3vtrasym.adb:
10292         Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
10293         numbers when symbol name is too long.
10294
10295 2003-10-30  Ed Falis  <falis@gnat.com>
10296
10297         * g-signal.ads, g-signal.adb: New files
10298
10299         * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
10300
10301         * Makefile.rtl: Introduce GNAT.Signals
10302
10303 2003-10-30  Robert Dewar  <dewar@gnat.com>
10304
10305         * freeze.adb: Minor reformatting
10306
10307         * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
10308
10309         * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
10310         par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
10311         New handling of Id_Check parameter to improve recognition of keywords
10312         used as identifiers.
10313         Update copyright notice to include 2003
10314
10315 2003-10-29  Robert Dewar  <dewar@gnat.com>
10316
10317         * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
10318         sem_ch10.adb: Minor reformatting
10319
10320         * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
10321         (Expand_Assign_Record): Test right hand side for bit unaligned as well
10322
10323 2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
10324
10325         * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
10326         Support for TBK$SYMBOLIZE-based symbolic traceback.
10327
10328 2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
10329
10330         * exp_disp.adb:
10331         Revert previous change, that did not work well when pragma No_Run_Time
10332         was used in conjunction with a run-time other than ZFP.
10333
10334 2003-10-29  Vincent Celier  <celier@gnat.com>
10335
10336         * make.adb:
10337         (Gnatmake): When there are no Ada mains in attribute Main, disable the
10338          bind and link steps only is switch -z is not used.
10339
10340 2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
10341
10342         * Makefile.generic: Remove duplicated setting of CC.
10343
10344         * Makefile.prolog: Set CC to gcc by default, to override make's
10345         default (cc).
10346
10347         * einfo.h: Regenerated.
10348
10349 2003-10-29  Ed Schonberg  <schonberg@gnat.com>
10350
10351         * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
10352         current body, after compiling subunit.
10353
10354         * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
10355         when in deleted code, because gigi needs properly ordered freeze
10356         actions to annotate types.
10357
10358         * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
10359         prevent the premature freezing of record type that contains
10360         subcomponents with a private type that does not yet have a completion.
10361
10362 2003-10-29  Javier Miranda  <miranda@gnat.com>
10363
10364         * sem_ch12.adb:
10365         (Analyze_Package_Instantiation): Check that instances can not be used in
10366         limited with_clauses.
10367
10368         * sem_ch8.adb:
10369         (Analyze_Package_Renaming): Check that limited withed packages cannot
10370         be renamed. Improve text on error messages related to limited
10371         with_clauses.
10372
10373         * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
10374
10375         * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
10376         Update copyright notice.
10377
10378         * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
10379         (Install_Limited_Context_Clauses): New subprogram that isolates all the
10380         checks required for limited context_clauses and installs the limited
10381         view.
10382         (Install_Limited_Withed_Unit): Complete its documentation.
10383         (Analyze_Context): Check that limited with_clauses are only allowed in
10384         package specs.
10385         (Install_Context): Call Install_Limited_Context_Clauses after the
10386         parents have been installed.
10387         (Install_Limited_Withed_Unit): Add documentation. Mark the installed
10388         package as 'From_With_Type'; this mark indicates that the limited view
10389         is installed. Used to check bad usages of limited with_clauses.
10390         (Build_Limited_Views): Do not add shadow entities to the scope's list
10391         of entities. Do not add real entities to the Non_Limited_Views chain.
10392         Improve error notification.
10393         (Remove_Context_Clauses): Remove context clauses in two phases:
10394         limited views first and regular views later (to maintain the
10395         stack model).
10396         (Remove_Limited_With_Clause): If the package is analyzed then reinstall
10397         its visible entities.
10398
10399 2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
10400
10401         * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
10402         with any type that Is_Fixed_Point_Type.
10403
10404         * sinfo.ads: Fix documentation for Associated_Node attribute.
10405
10406 2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
10407
10408         * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
10409         both '-gnatc' and '-gnatt' are specified.
10410
10411         * atree.adb (Initialize): Add initialization for Node_Count (set to
10412         zero).
10413
10414 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10415
10416         * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
10417         do not consider as Pure.
10418
10419         Part of implementation of function-at-a-time:
10420
10421         * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
10422         (tree_transform): Add new argument to build_component_ref.
10423         (tree_transform, case N_Assignment_Statement): Make and return an
10424         EXPR_STMT.
10425         (tree_transform): If result IS_STMT, set flags and return it.
10426         (gnat_expand_stmt, set_lineno_from_sloc): New functions.
10427
10428         * utils2.c (build_simple_component_ref, build_component_ref): Add new
10429         arg, NO_FOLD_P.
10430         (build_binary_op, case EQ_EXPR): Pass additional arg to it.
10431         (build_allocator): Likewise.
10432
10433         * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
10434         Add new arg to build_component_ref.
10435         (maybe_unconstrained_array, unchecked_convert): Likewise.
10436
10437         * ada-tree.def (EXPR_STMT): New code.
10438
10439         * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
10440
10441         * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
10442         build_component_ref calls.
10443
10444         * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
10445
10446         * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
10447         (build_component_ref): Add new argument, NO_FOLD_P.
10448
10449 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
10450
10451         * Makefile.generic: Add missing substitution on object_deps handling.
10452
10453         PR ada/5909:
10454         * Make-lang.in (check-ada): Enable ACATS test suite.
10455
10456 2003-10-27  Robert Dewar  <dewar@gnat.com>
10457
10458         * exp_ch3.adb:
10459         (Freeze_Array_Type): We do not need an initialization routine for types
10460         derived from String or Wide_String. They should be treated the same
10461         as String and Wide_String themselves. This caused problems with the
10462         use of Initialize_Scalars.
10463
10464         * exp_ch5.adb:
10465         (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
10466         composites. This allows use of component clauses that are not byte
10467         aligned.
10468
10469         * sem_prag.adb:
10470         (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
10471         is an attempt to pack an array of atomic objects.
10472
10473         * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
10474
10475 2003-10-27  Pascal Obry  <obry@gnat.com>
10476
10477         * g-dirope.adb:
10478         (Basename): Check for drive letters in a pathname only on DOS based OS.
10479
10480 2003-10-27  Vincent Celier  <celier@gnat.com>
10481
10482         * make.adb:
10483         (Gnatmake): When unable to change dir to the object dir, display the
10484         content of the parent dir of the obj dir, to try to understand why this
10485         happens.
10486
10487 2003-10-27  GNAT Script  <nobody@gnat.com>
10488
10489         * Make-lang.in: Makefile automatically updated
10490
10491 2003-10-27  Ed Schonberg  <schonberg@gnat.com>
10492
10493         * sem_ch12.adb:
10494         (Inline_Instance_Body): Indicate that the save/restore of use_clauses
10495         should not be done in Save/Restore_Scope_Stack, because it is performed
10496         locally.
10497
10498         * sem_ch8.adb:
10499         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
10500         whether use clauses should be removed/restored.
10501
10502         * sem_ch8.ads:
10503         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
10504         whether use clauses should be removed/restored.
10505
10506 2003-10-26  Andreas Jaeger  <aj@suse.de>
10507
10508         * Makefile.in: Remove duplicated lines.
10509
10510 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
10511
10512         * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
10513         minimize the differences with ACT tree.
10514
10515         * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
10516         gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
10517         Gnatvsn.Gnat_Static_Version_String to reduce differences between
10518         ACT and FSF trees.
10519
10520 2003-10-24  Pascal Obry  <obry@gnat.com>
10521
10522         * adadecode.c (ostrcpy): New function.
10523         (__gnat_decode): Use ostrcpy of strcpy.
10524         (has_prefix): Set first parameter a const.
10525         (has_suffix): Set first parameter a const.
10526         Update copyright notice. Fix source name in header.
10527         Removes a trailing space.
10528         PR ada/12014.
10529
10530 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
10531
10532         * exp_disp.adb:
10533         Remove the test against being in No_Run_Time_Mode before generating a
10534         call to Register_Tag. It is redundant with the test against the
10535         availability of the function Register_Tag.
10536
10537 2003-10-24  Vincent Celier  <celier@gnat.com>
10538
10539         * g-catiio.adb: (Month_Name): Correct spelling of February
10540
10541         * make.adb: (Mains): New package
10542         (Initialize): Call Mains.Delete
10543         (Gnatmake): Check that each main on the command line is a source of a
10544         project file and, if there are several mains, each of them is a source
10545         of the same project file.
10546         (Gnatmake): When a foreign language is specified in attribute Languages,
10547         no main is specified on the command line and attribute Mains is not
10548         empty, only build the Ada main. If there is no Ada main, just compile
10549         the Ada sources and their closure.
10550         (Gnatmake): If a main is specified on the command line with directory
10551         information, check that the source exists and, if it does, that the path
10552         is the actual path of a source of a project.
10553
10554         * prj-env.adb:
10555         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
10556         Full_Path is True, return the full path instead of the simple file name.
10557         (Project_Of): New function
10558
10559         * prj-env.ads:
10560         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
10561         defaulted to False.
10562         (Project_Of): New function
10563
10564 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
10565
10566         * Makefile.generic:
10567         Ensure objects of main project are always checked and rebuilt if needed.
10568         Set CC to gcc by default.
10569         Prepare new handling of link by creating a global archive (not activated
10570         yet).
10571
10572         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
10573         stringt.h: Update copyright notice. Remove trailing blanks.
10574         Fix source name in header.
10575
10576 2003-10-24  Robert Dewar  <dewar@gnat.com>
10577
10578         * sem_ch12.adb: Minor reformatting
10579
10580         * sem_ch3.adb:
10581         Minor reformatting (including new function return style throughout)
10582
10583         * sem_ch3.ads:
10584         Minor reformatting (including new function return style throughout)
10585
10586 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
10587
10588         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
10589         stringt.h: Update copyright notice. Remove trailing blanks.
10590         Fix source name in header.
10591
10592 2003-10-24  GNAT Script  <nobody@gnat.com>
10593
10594         * Make-lang.in: Makefile automatically updated
10595
10596 2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
10597
10598         * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
10599         stringt.h: Convert to ISO C90 declarations and definitions.
10600
10601 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
10602
10603         PR ada/11978:
10604         * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
10605         External_Tag attribute definition clauses.
10606
10607 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
10608
10609         PR ada/7613:
10610         * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
10611         child unit, generate a fully qualified name to avoid spurious errors
10612         when the context contains renamings of different child units with
10613         the same simple name.
10614
10615         * exp_dbug.ads: Add documentation on name qualification for renamings
10616         of child units.
10617
10618 2003-10-23  Robert Dewar  <dewar@gnat.com>
10619
10620         * g-regpat.ads, g-regpat.adb: Minor reformatting
10621
10622 2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
10623
10624         * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
10625
10626 2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10627
10628         * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
10629         Machine call.
10630
10631         * urealp.h: (Machine): Update to proper definition.
10632
10633 2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
10634
10635         * init.c, adaint.c: Minor reformatting.
10636
10637 2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
10638
10639         * adaint.c (w32_epoch_offset): Define static const at file level.
10640         (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
10641         rather than t_create, t_access in call to GetFileTime. Use union
10642         to convert between FILETIME and  unsigned long long.
10643         (__gnat_file_time_name): Test for invalid file handle.
10644         (__gnat_set_filetime_name): Support win32 targets using
10645         w32api SetFileTime.
10646
10647 2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
10648
10649         * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
10650
10651         * ctrl_c.c (__gnat_int_handler): Remove declaration.
10652
10653         * decl.c (creat_concat_name):  Const-ify prefix.
10654
10655         * adaint.c: Include ctype.h if __MINGW32__.
10656         (__gnat_readlink): Mark arguments as possibly unused.
10657         (__gnat_symlink): Likewise.
10658         (__gnat_is_symbolic_link): Likewise.
10659         (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
10660         declaration
10661         (__gnat_file_time_name): Don't declare struct stat statbuf when
10662         not needed.
10663         (__gnat_is_absolute_path): Add parenthesis around condition of
10664         'if' statement to avoid warning.
10665         (__gnat_plist_init): Specify void as parameter.
10666         (plist_enter): Likewise.
10667         (plist_leave): Likewise.
10668         (remove_handle): Make static. Initialize prev.
10669
10670 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
10671
10672         * Makefile.in: Disable build of gnatpsta. PR ada/10110.
10673         * cstreams.c (__gnat_full_name): Minor improvements and clean up
10674         of previous change.
10675
10676 2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10677
10678         * tracebak.c (MAX): Avoid redefinition warning.
10679
10680         * init.c [sgi] (__gnat_error_handler): Remove i, unused.
10681         Change msg to const char *.
10682         (__gnat_install_handler): Remove ss, unused.
10683         [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
10684         to const char *.
10685         * cstreams.c (__gnat_full_name): Declare p only when used.
10686         (__gnat_full_name) [sgi] Return buffer.
10687
10688 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
10689
10690         * mingw32.h: New file.
10691         * gnat_wrapper.adb: New file.
10692
10693 2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
10694
10695         * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
10696         string match a pre compiled regular expression (the corresponding
10697         version of the function working on a raw regular expression)
10698         Fix typos in various comments
10699         Update copyright notice in spec
10700
10701 2003-10-21  Gary Dismukes  <dismukes@gnat.com>
10702
10703         * exp_ch3.adb:
10704         (Component_Needs_Simple_Initialization): Return False when the type is a
10705         packed bit array. Revise spec comments to document this case.
10706
10707         * exp_prag.adb:
10708         (Expand_Pragma_Import): Set any expression on the imported object to
10709         empty to avoid initializing imported objects (in particular this
10710         covers the case of zero-initialization of bit arrays).
10711         Update copyright notice.
10712
10713 2003-10-21  Ed Schonberg  <schonberg@gnat.com>
10714
10715         * sem_ch12.adb:
10716         (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
10717         a subunit is missing.
10718         (Instantiate_Subprogram_Body): If body of function is missing, set type
10719         of return expression explicitly in dummy body, to prevent cascaded
10720         errors when a subunit is missing.
10721         Fixes PR 5677.
10722
10723         * sem_ch3.adb:
10724         (Access_Subprogram_Declaration): Verify that return type is valid.
10725         Fixes PR 8693.
10726
10727         * sem_elab.adb:
10728         (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
10729         generic.
10730         Fixes PR 12318.
10731
10732         * sem_util.adb:
10733         (Corresponding_Discriminant): If the scope of the discriminant is a
10734         private type without discriminant, use its full view.
10735         Fixes PR 8247.
10736
10737 2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
10738
10739         * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
10740         3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
10741         3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
10742         55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
10743         56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
10744         59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
10745         5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
10746         5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
10747         5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
10748         5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
10749         5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
10750         5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
10751         5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
10752         5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
10753         7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
10754         a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
10755         a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
10756         a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
10757         bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
10758         erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
10759         err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
10760         g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
10761         g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
10762         g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
10763         g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
10764         g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
10765         g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
10766         gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
10767         g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
10768         g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
10769         i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
10770         prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
10771         prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
10772         s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
10773         s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
10774         s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
10775         s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
10776         s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
10777         s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
10778         s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
10779         s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
10780         socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
10781         s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
10782         s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
10783         s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
10784         styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
10785         s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
10786         tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
10787         vms_conv.ads, vms_conv.adb, vms_data.ads,
10788         vxaddr2line.adb: Files added. Merge with ACT tree.
10789
10790         * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
10791         5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
10792         5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
10793         5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
10794         g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
10795         s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
10796         s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
10797         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
10798         s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
10799         s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
10800
10801         * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
10802         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
10803         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
10804         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
10805         4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
10806         4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
10807         4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
10808         4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
10809         51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
10810         53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
10811         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
10812         5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
10813         5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
10814         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
10815         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
10816         5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
10817         5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
10818         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
10819         5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
10820         5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
10821         5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
10822         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
10823         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
10824         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
10825         5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
10826         5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
10827         5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
10828         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
10829         5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
10830         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
10831         5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
10832         5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
10833         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
10834         5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
10835         6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
10836         7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
10837         7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
10838         a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
10839         a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
10840         a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
10841         a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
10842         a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
10843         ali.adb, ali.ads, ali-util.adb, ali-util.ads,
10844         a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
10845         a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
10846         a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
10847         a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
10848         a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
10849         a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
10850         a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
10851         a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
10852         a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
10853         a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
10854         a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
10855         a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
10856         atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
10857         a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
10858         a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
10859         bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
10860         checks.adb, checks.ads, cio.c, comperr.adb,
10861         comperr.ads, csets.adb, cstand.adb, cstreams.c,
10862         debug_a.adb, debug_a.ads, debug.adb, decl.c,
10863         einfo.adb, einfo.ads, errout.adb, errout.ads,
10864         eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
10865         expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
10866         exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
10867         exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
10868         exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
10869         exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
10870         exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
10871         exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
10872         exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
10873         fe.h, fmap.adb, fmap.ads, fname.adb,
10874         fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
10875         freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
10876         g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
10877         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
10878         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
10879         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
10880         g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
10881         g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
10882         g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
10883         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
10884         g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
10885         g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
10886         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
10887         g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
10888         gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
10889         gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
10890         gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
10891         gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
10892         gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
10893         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
10894         g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
10895         g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
10896         g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
10897         g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
10898         g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
10899         g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
10900         g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
10901         i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
10902         i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
10903         inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
10904         itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
10905         layout.adb, lib.adb, lib.ads, lib-list.adb,
10906         lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
10907         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
10908         link.c, live.adb, make.adb, make.ads,
10909         Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
10910         mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
10911         mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
10912         misc.c, mkdir.c, mlib.adb, mlib.ads,
10913         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
10914         mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
10915         namet.adb, namet.ads, namet.h, nlists.ads,
10916         nlists.h, nmake.adt, opt.adb, opt.ads,
10917         osint.adb, osint.ads, osint-b.adb, osint-c.adb,
10918         par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
10919         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
10920         par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
10921         par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
10922         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
10923         prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
10924         prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
10925         prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
10926         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
10927         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
10928         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
10929         prj-util.adb, prj-util.ads, raise.c, raise.h,
10930         repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
10931         rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
10932         s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
10933         s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
10934         scans.ads, scn.adb, scn.ads, s-crc32.adb,
10935         s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
10936         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
10937         sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
10938         sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
10939         sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
10940         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
10941         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
10942         sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
10943         sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
10944         sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
10945         sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
10946         sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
10947         s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
10948         s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
10949         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
10950         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
10951         s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
10952         s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
10953         s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
10954         sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
10955         sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
10956         sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
10957         s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
10958         s-memory.adb, s-memory.ads, snames.adb, snames.ads,
10959         snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
10960         s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
10961         s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
10962         s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
10963         s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
10964         s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
10965         s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
10966         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
10967         s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
10968         s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
10969         s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
10970         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
10971         s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
10972         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
10973         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
10974         s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
10975         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
10976         stringt.adb, stringt.ads, stringt.h, style.ads,
10977         stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
10978         s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
10979         s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
10980         switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
10981         s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
10982         table.adb, table.ads, targparm.adb, targparm.ads,
10983         targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
10984         trans.c, tree_io.adb, treepr.adb, treeprs.adt,
10985         ttypes.ads, types.ads, types.h, uintp.adb,
10986         uintp.ads, uintp.h, uname.adb, urealp.adb,
10987         urealp.ads, urealp.h, usage.adb, utils2.c,
10988         utils.c, validsw.adb, validsw.ads, widechar.adb,
10989         xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
10990         xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
10991         einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
10992         gnatvsn.ads: Merge with ACT tree.
10993
10994         * gnatvsn.adb: Rewritten in a simpler and more efficient way.
10995
10996 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
10997
10998         * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
10999         (gnat_ug_vmx.info): Likewise.
11000         (gnat_ug_vxw.info): Likewise.
11001         (gnat_ug_wnt.info): Likewise.
11002         (gnat_rm.info): Likewise.
11003         (gnat-style.info): Likewise.
11004
11005         * Make-lang.in (ada.install-info): Remove target.
11006         (info): New target.
11007         (install-info): Likewise.
11008         (gnat_ug_unx.info): Simplify rule.
11009         (gnat_ug_vmx.info): Likewise.
11010         (gnat_ug_vxw.info): Likewise.
11011         (gnat_ug_wnt.info): Likewise.
11012         (gnat_rm.info): Likewise.
11013         (gnat-style.info): Likewise.
11014
11015 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
11016
11017         * Make-lang.in: Replace uses of $(target_alias) with
11018         $(target_noncanonical).
11019         * ada/Makefile.in: Remove unused mention of $(target_alias).
11020
11021 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
11022
11023         * Make-lang.in (ada.info): Replace with ...
11024         (info): ... this.
11025         (ada.dvi): Replace with ...
11026         (dvi): ... this.
11027
11028 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
11029
11030         * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
11031         initialize dconstp5 and dconstmp5.
11032
11033 2003-09-28  Richard Henderson  <rth@redhat.com>
11034
11035         * trans.c (tree_transform): Update call to expand_asm_operands.
11036
11037 2003-09-21  Richard Henderson  <rth@redhat.com>
11038
11039         * trans.c, utils.c: Revert.
11040
11041 2003-09-21  Richard Henderson  <rth@redhat.com>
11042
11043         * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
11044         change to const.
11045
11046 2003-09-04  Michael Matz  <matz@suse.de>
11047
11048         * misc.c: Include "target.h".
11049         * Make-lang.in (misc.o): Add dependency on target.h.
11050
11051 2003-09-03  DJ Delorie  <dj@redhat.com>
11052
11053         * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
11054         hook.
11055
11056 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
11057
11058         * Makefile.in: Update substitutions to match changes to
11059         configure.  Use include directives instead of @-insertions
11060         to read in host and target fragments.  Add a rule to
11061         regenerate ada/Makefile.
11062
11063 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
11064
11065         * lang-options.h: Remove.
11066         * lang.opt: Add help text.
11067
11068 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
11069
11070         * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
11071         calls.
11072
11073 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
11074
11075         * misc.c (gnat_handle_option): Don't handle filenames.
11076
11077 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
11078
11079         * Make-lang.in: Replace PWD with PWD_COMMAND.
11080         * Makefile.adalib: Likewise.
11081         * Makefile.in: Likewise.
11082
11083 2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
11084
11085         * misc.c (gnat_argv): Revert last change.
11086         (gnat_handle_option, gnat_init_options): Copy arguments.
11087
11088 2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
11089
11090         * misc.c (gnat_argv): Make const.
11091
11092 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
11093
11094         * misc.c (save_argc, save_argv): Keep non-static!
11095
11096 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
11097
11098         * misc.c (save_argc, save_argv): Make static.
11099         (gnat_init_options): New prototype.
11100         (gnat_init_options): Update.
11101
11102 2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
11103
11104         * gnat_ug.texi: Remove unlikely characters from @vars.
11105         * gnat_ug_vms.texi: Regenerate.
11106
11107 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
11108
11109         * misc.c (record_code_position): Adjust emit_note call.
11110
11111 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
11112
11113         * misc.c (gnat_handle_option): Don't check for missing arguments.
11114
11115 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
11116
11117         * utils.c (end_subprog_body): Adjust expand_function_end call.
11118
11119 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
11120
11121         * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
11122         Bind_Main_Program.
11123
11124 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
11125
11126         * lang.opt: Declare Ada.
11127         * misc.c (gnat_init_options): Update.
11128
11129 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
11130
11131         * utils.c (begin_subprog_body): Adjust init_function_start call.
11132
11133 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
11134
11135         * Make-lang.in: Update to use options.c and options.h.
11136         * misc.c: Include options.h not aoptions.h.
11137         (gnat_handle_option): Abort on unrecognized switch.
11138         (gnat_init_options): Request Ada switches.
11139
11140 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
11141
11142         * lang.opt: Add -Wall.
11143         * misc.c (gnat_handle_option): Handle it.
11144
11145 2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
11146
11147         * misc.c (gnat_handle_option): Fix warnings.
11148
11149 2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
11150
11151         * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
11152
11153 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
11154
11155         * Make-lang.in: Update to handle command-line options.
11156         * lang.opt: New file.
11157         * misc.c: Include aoptions.h.
11158         (cl_options_count, cl_options): Remove.
11159         (gnat_handle_option): New.
11160         (gnat_decode_option): Remove.
11161         (LANG_HOOKS_DECODE_OPTION): Remove.
11162         (LANG_HOOKS_HANDLE_OPTION): Override.
11163
11164 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
11165
11166         * init.c, misc.c, trans.c, utils.c: Remove dead code.
11167
11168 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
11169
11170         * Makefile.in: Replace "host_canonical" with "host" for autoconf
11171         substitution.
11172
11173 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
11174
11175         * Make-lang.in: Update.
11176         * misc.c: Include opts.h. Define cl_options_count and cl_options.
11177
11178 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
11179
11180         * misc.c (gnat_init_options): Update.
11181
11182 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
11183
11184         * Make-lang.in (ada/b_gnatb.o-warn): Remove.
11185         * bindgen.adb (Gen_Main_C): Mark ensure_reference with
11186         __attribute__ ((__unused__)).
11187
11188 2003-06-05  Jan Hubicka  <jh@suse.cz>
11189
11190         * Make-lang.in:  Add support for stageprofile and stagefeedback
11191
11192 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
11193
11194         * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
11195         (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
11196
11197 2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
11198
11199         * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
11200         Remove non-VMS directive.
11201         (Switches for gnatlbr, Optimization Levels): Remove non-VMS
11202         alternatives.
11203         (Examples of gnatls Usage): Remove VMS alternative.
11204
11205 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
11206
11207         PR ada/9953:
11208         * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
11209         and turn ZCX_By_Default back to False since the underlying support
11210         is not quite there yet.
11211
11212 2003-06-01  Andreas Jaeger  <aj@suse.de>
11213
11214         * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
11215         and ROUND_TYPE_SIZE_UNIT.
11216
11217 2003-05-22   Geert Bosch <bosch@gnat.com>
11218
11219         * gnat_rm.texi : Remove reference to Ada Core Technologies.
11220
11221 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
11222
11223         * trans.c (tree_transform): Use location_t and input_location
11224         directly.
11225         (build_unit_elab): Likewise.
11226         * utils.c (create_label_decl): Likewise.
11227
11228 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
11229
11230         * trans.c (tree_transform, build_unit_elab,
11231         set_lineno): Rename lineno to input_line.
11232         * utils.c (pushdecl, create_label_decl, begin_subprog_body,
11233         end_subprog_body): Likewise.
11234         * utils2.c (build_call_raise): Likewise.
11235
11236 2003-05-01  Laurent Guerby <guerby@acm.org>
11237
11238         PR ada/10546
11239         * 5iosinte.ads: Increase pthread_cond_t size to match recent
11240         LinuxThread and NPTL version, merge from ACT.
11241
11242 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
11243
11244         * utils.c (convert): No need to clear TREE_CST_RTL.
11245
11246 2003-04-23   Geert Bosch <bosch@gnat.com>
11247
11248         * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
11249         1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
11250         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
11251         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
11252         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
11253         4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
11254         4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
11255         4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
11256         4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
11257         4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
11258         4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
11259         4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
11260         52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
11261         5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
11262         5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
11263         5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
11264         5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
11265         5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
11266         5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
11267         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
11268         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
11269         5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
11270         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
11271         5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
11272         5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
11273         5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
11274         5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
11275         5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
11276         5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
11277         5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
11278         5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
11279         5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
11280         5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
11281         5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
11282         5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
11283         5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
11284         5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
11285         5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
11286         5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
11287         5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
11288         5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
11289         5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
11290         5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
11291         5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
11292         6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
11293         7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
11294         7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
11295         9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
11296         a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
11297         a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
11298         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
11299         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
11300         a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
11301         a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
11302         a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
11303         a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
11304         a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
11305         a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
11306         a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
11307         a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
11308         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
11309         a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
11310         a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
11311         a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
11312         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
11313         a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
11314         a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
11315         a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
11316         a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
11317         a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
11318         a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
11319         a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
11320         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
11321         a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
11322         a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
11323         a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
11324         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
11325         a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
11326         a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
11327         a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
11328         a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
11329         a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
11330         a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
11331         a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
11332         a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
11333         a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
11334         a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
11335         a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
11336         a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
11337         a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
11338         a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
11339         a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
11340         a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
11341         a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
11342         a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
11343         a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
11344         a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
11345         a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
11346         a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
11347         a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
11348         a-wttest.ads, ada-tree.h, ada.ads, ada.h,
11349         adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
11350         ali.adb, ali.ads, alloc.ads, argv.c,
11351         atree.adb, atree.ads, atree.h, aux-io.c,
11352         back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
11353         binde.adb, binde.ads, binderr.adb, binderr.ads,
11354         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
11355         butil.adb, butil.ads, cal.c, calendar.ads,
11356         casing.adb, casing.ads, ceinfo.adb, checks.adb,
11357         checks.ads, cio.c, comperr.adb, comperr.ads,
11358         config-lang.in, csets.adb, csets.ads, csinfo.adb,
11359         cstand.adb, cstand.ads, cuintp.c, debug.adb,
11360         debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
11361         dec-io.ads, dec.ads, deftarg.c, directio.ads,
11362         einfo.adb, einfo.ads, elists.adb, elists.ads,
11363         elists.h, errno.c, errout.adb, errout.ads,
11364         eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
11365         exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
11366         exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
11367         exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
11368         exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
11369         exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
11370         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
11371         exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
11372         exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
11373         exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
11374         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
11375         exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
11376         exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
11377         exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
11378         exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
11379         fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
11380         fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
11381         freeze.adb, freeze.ads, frontend.adb, frontend.ads,
11382         g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
11383         g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
11384         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
11385         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
11386         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
11387         g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
11388         g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
11389         g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
11390         g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
11391         g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
11392         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
11393         g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
11394         g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
11395         g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
11396         g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
11397         g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
11398         g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
11399         g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
11400         g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
11401         g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
11402         g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
11403         g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
11404         get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
11405         gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
11406         gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
11407         gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
11408         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
11409         gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
11410         gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
11411         gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
11412         hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
11413         i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
11414         i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
11415         i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
11416         i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
11417         i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
11418         i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
11419         inline.adb, inline.ads, interfac.ads, ioexcept.ads,
11420         itypes.adb, itypes.ads, krunch.adb, krunch.ads,
11421         layout.adb, layout.ads, lib-list.adb, lib-load.adb,
11422         lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
11423         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
11424         lib.adb, lib.ads, live.adb, live.ads,
11425         machcode.ads, make.adb, make.ads, makeusg.adb,
11426         makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
11427         mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
11428         memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
11429         mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
11430         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
11431         mlib.ads, namet.adb, namet.ads, nlists.adb,
11432         nlists.ads, opt.adb, opt.ads, osint-b.adb,
11433         osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
11434         osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
11435         osint.ads, output.adb, output.ads, par-ch10.adb,
11436         par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
11437         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
11438         par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
11439         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
11440         par-tchk.adb, par-util.adb, par.adb, par.ads,
11441         prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
11442         prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
11443         prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
11444         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
11445         prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
11446         prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
11447         prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
11448         prj.adb, prj.ads, repinfo.adb, repinfo.ads,
11449         restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
11450         rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
11451         s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
11452         s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
11453         s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
11454         s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
11455         s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
11456         s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
11457         s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
11458         s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
11459         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
11460         s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
11461         s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
11462         s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
11463         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
11464         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
11465         s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
11466         s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
11467         s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
11468         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
11469         s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
11470         s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
11471         s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
11472         s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
11473         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
11474         s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
11475         s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
11476         s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
11477         s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
11478         s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
11479         s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
11480         s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
11481         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
11482         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
11483         s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
11484         s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
11485         s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
11486         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
11487         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
11488         s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
11489         s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
11490         s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
11491         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
11492         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
11493         s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
11494         s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
11495         s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
11496         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
11497         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
11498         s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
11499         s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
11500         s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
11501         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
11502         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
11503         s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
11504         s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
11505         s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
11506         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
11507         s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
11508         s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
11509         s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
11510         s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
11511         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
11512         s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
11513         s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
11514         s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
11515         s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
11516         s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
11517         s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
11518         s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
11519         s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
11520         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
11521         s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
11522         s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
11523         s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
11524         s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
11525         s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
11526         s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
11527         s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
11528         s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
11529         s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
11530         s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
11531         s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
11532         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
11533         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
11534         s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
11535         s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
11536         s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
11537         s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
11538         s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
11539         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
11540         s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
11541         s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
11542         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
11543         s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
11544         scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
11545         sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
11546         sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
11547         sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
11548         sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
11549         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
11550         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
11551         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
11552         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
11553         sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
11554         sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
11555         sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
11556         sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
11557         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
11558         sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
11559         sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
11560         sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
11561         sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
11562         sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
11563         sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
11564         sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
11565         snames.ads, sprint.adb, sprint.ads, stand.adb,
11566         stand.ads, stringt.adb, stringt.ads, style.adb,
11567         style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
11568         switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
11569         switch-m.ads, switch.adb, switch.ads, system.ads,
11570         table.adb, table.ads, targparm.adb, targparm.ads,
11571         tbuild.adb, tbuild.ads, text_io.ads, trans.c,
11572         tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
11573         tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
11574         ttypef.ads, ttypes.ads, types.adb, types.ads,
11575         uintp.adb, uintp.ads, uname.adb, uname.ads,
11576         unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
11577         usage.adb, usage.ads, validsw.adb, validsw.ads,
11578         widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
11579         xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
11580         xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
11581         formatting and other trivial changes from ACT.
11582
11583 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
11584
11585         * gigi.h, utils2.c (build_constructor):
11586         Rename gnat_build_constructor. Use build_constructor.
11587         * decl.c (gnat_to_gnu_entity)
11588         * trans.c (tree_transform, pos_to_constructor, extract_values)
11589         * ada/utils.c (build_template, convert_to_fat_pointer, convert)
11590         (unchecked_convert)
11591         * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
11592         (fill_vms_descriptor):
11593         Update to match.
11594
11595 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
11596
11597         * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
11598         * misc.c (gnat_tree_size): New function.
11599         (LANG_HOOKS_TREE_SIZE): Override.
11600
11601 2003-04-03  Jason Merrill  <jason@redhat.com>
11602
11603         * misc.c (gnat_adjust_rli): #if 0.
11604
11605 2003-03-31   Geert Bosch <bosch@gnat.com>
11606
11607         PR ada/10020
11608         * link.c : Fix misspelled "const" keyword
11609
11610 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
11611
11612         PR c++/7086
11613         * utils2.c: Adjust calls to put_var_into_stack.
11614
11615 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
11616
11617         * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
11618
11619 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
11620
11621         * misc.c (gnat_init): Update for new prototype.
11622
11623 2003-03-05  Olivier Hainque  <hainque@gnat.com>
11624
11625         ada/9961
11626         * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
11627         warning, and fix return type for the IN_RTS && !SJLJ case.
11628
11629 2003-03-04  Tom Tromey  <tromey@redhat.com>
11630
11631         * Make-lang.in (ada.tags): New target.
11632
11633 2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
11634
11635         ada/9911
11636         * a-except.adb (Unwind_RaiseException): Import a GNAT specific
11637         wrapper, which name remains constant whatever underlying GCC
11638         scheme.
11639
11640         * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
11641         the stable interface needed for a-except.
11642
11643 2003-03-02  Andreas Jaeger  <aj@suse.de>
11644
11645         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
11646         gnat_ug_wnt.texi: Regenerate.
11647
11648 2003-03-02  Laurent Guerby <guerby@acm.org>
11649
11650         * Makefile.in (install-gnatlib): Match previous change there
11651         so it works.
11652
11653 2003-02-28  Andreas Schwab  <schwab@suse.de>
11654
11655         * Make-lang.in (install-gnatlib): Change to ada directory before
11656         running make instead of using ada/Makefile directly.
11657
11658 2003-02-18  Ben Elliston  <bje@redhat.com>
11659
11660         Part of fix for PR ada/9406
11661         * gnat_ug.texi (Binder output file): Grammar fix.
11662
11663 2003-02-18  Ben Elliston  <bje@redhat.com>
11664
11665         PR other/7350
11666         * 5qtaprop.adb (Sleep): Fix typo in comment.
11667
11668 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
11669
11670         * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
11671         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
11672         gnat_ug_wnt.texi: Regenerate.
11673
11674 2003-02-03  Christian Cornelssen <ccorn@cs.tu-berlin.de>
11675
11676         * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
11677         be created if necessary.
11678         (ada.install-common): Let $(DESTDIR)$(bindir) be created
11679         if necessary.  Remove erroneous and redundant gnatchop
11680         installation commands.  Test for gnatdll before attempting
11681         to install it.
11682         (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
11683         and gnatdll from all plausible locations.
11684
11685 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
11686
11687         * utils2.c (build_unary_op): Don't check flag_volatile.
11688         * gnat_ug.texi: Remove -fvolatile from example.
11689         * gnat_ug_vxw.texi: Likewise.
11690
11691 2003-01-29  Laurent Guerby <guerby@acm.org>
11692
11693         PR ada/8344
11694         * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
11695         * Makefile.in: match previous change.
11696         * Make-lang.in: match previous change.
11697
11698 2003-01-29      Joel Sherrill <joel@OARcorp.com>
11699
11700         * 5rosinte.ads: Add SIGXCPU.
11701         * 5rtpopsp.adb: New file.
11702         * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
11703         * Makefile.in: Recognize more RTEMS targets and add the RTEMS
11704         specific file 5rtpopsp.adb.
11705         * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
11706         is likely needed for all newlib targets.
11707         * init.c: Add RTEMS specific version of __gnat_initialize().
11708
11709 2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11710
11711         * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
11712
11713 2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11714
11715         * init.c (__gnat_error_handler): Make msg const.
11716
11717         * gmem.c (convert_addresses): Move declaration ...
11718         * adaint.h: ... here.
11719         * adaint.c (convert_addresses): Adapt addrs type to match
11720         prototype.
11721
11722         * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
11723
11724 2003-01-24  Andreas Schwab  <schwab@suse.de>
11725
11726         * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
11727         size_t to avoid warning.
11728
11729 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
11730
11731         * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
11732
11733 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
11734
11735         * gnat_rm.texi: Remove RCS version number.
11736
11737         * ada-tree.h (union lang_tree_node): Add chain_next option.
11738
11739 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
11740
11741         * Make-lang.in (ada.install-info, ada.install-common,
11742         ada.uninstall): Prepend $(DESTDIR) to the destination
11743         directory in all (un)installation commands.
11744         * Makefile.in (install-gnatlib, install-rts): Ditto.
11745
11746 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
11747
11748         * gnat_rm.texi, gnat_ug.texi: Use @copying.
11749         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
11750         gnat_ug_wnt.texi: Regenerate.
11751
11752 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
11753
11754         * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
11755         only.
11756         * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
11757         $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
11758         $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
11759         ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
11760         ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
11761         $(srcdir)/doc/include/gcc-common.texi.
11762
11763 2002-12-15   Geert Bosch <bosch@gnat.com>
11764
11765         * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
11766
11767 2002-12-14   Geert Bosch <bosch@gnat.com>
11768
11769         * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
11770         case of a body created for a Renaming_As_Body, on which
11771         conformance checks are not performed. Fixes PR ada/5690.
11772
11773 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
11774
11775         * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
11776         utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
11777         not already included.
11778         * Make-lang.in: Update dependencies.
11779
11780 2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
11781         * adaint.c (__gnat_tmp_name): Better, but good enough for now,
11782         solution to buffer overflow bug on GNU/Linux.
11783
11784 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
11785         Closes PR ada/5856 and PR ada/6919 !
11786         * bindgen.adb: Remove all references to Public_Version.
11787         * comperr.adb: Remove all references to Public_Version and
11788         GNATPRO_Version; correct bug reporting instructions.
11789         * comperr.ads: Change to match bug box.
11790         * gnatvsn.ads: Remove all references to Public version and
11791         GNATPRO version.
11792
11793 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
11794         PR ada/6919
11795         * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
11796         GNU/Linux.
11797
11798         PR ada/6558
11799         * config-lang.in: Remove diff_excludes.
11800
11801 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
11802         PR ada/8358
11803         * trans.c (gnu_pending_elaboration_lists): New GC root.
11804         (build_unit_elab): Use..
11805
11806 2002-10-30   Geert Bosch <bosch@gnat.com>
11807         PR ada/6558
11808         * misc.c : Include optabs.h
11809
11810         * Make-lang.in (misc.o): Add dependency on optabs.h
11811
11812 2002-10-29   Geert Bosch <bosch@gnat.com>
11813         PR ada/6558
11814         * Make-lang.in (gnatbind): Depend on CONFIG_H
11815
11816 2002-10-29  Geert bosch  <bosch@gnat.com>
11817         PR ada/6558
11818         * misc.c: Unrevert misc.c (1.13)
11819
11820 2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
11821
11822         * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
11823         maintainership comments.
11824
11825 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
11826         PR ada/5904
11827         * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
11828         5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
11829         5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
11830         7staprop.adb: Correct statements in comments about
11831         maintainership of GNAT.
11832
11833         PR ada/5904
11834         * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
11835         gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
11836         osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
11837         osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
11838         s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
11839         s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
11840         sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
11841         switch-c.ads switch-m.adb switch-m.ads: Correct statements in
11842         comments about maintainership of GNAT.
11843
11844         PR ada/6919 (forward port of patch for PR ada/5904)
11845         * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
11846         4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
11847         4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
11848         4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
11849         4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
11850         4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
11851         4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
11852         52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
11853         5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
11854         5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
11855         5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
11856         5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
11857         5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
11858         5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
11859         5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
11860         5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
11861         5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
11862         5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
11863         5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
11864         5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
11865         5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
11866         5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
11867         5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
11868         5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
11869         5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
11870         5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
11871         5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
11872         5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
11873         7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
11874         a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
11875         a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
11876         a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
11877         a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
11878         a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
11879         a-except.adb a-except.ads a-excpol.adb a-exctra.adb
11880         a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
11881         a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
11882         a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
11883         a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
11884         a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
11885         a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
11886         a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
11887         a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
11888         a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
11889         a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
11890         a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
11891         a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
11892         a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
11893         a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
11894         a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
11895         a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
11896         a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
11897         a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
11898         a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
11899         a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
11900         a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
11901         a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
11902         a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
11903         a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
11904         a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
11905         a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
11906         a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
11907         a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
11908         a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
11909         a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
11910         a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
11911         a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
11912         a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
11913         adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
11914         alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
11915         back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
11916         binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
11917         bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
11918         ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
11919         csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
11920         cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
11921         debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
11922         einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
11923         errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
11924         exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
11925         exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
11926         exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
11927         exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
11928         exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
11929         exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
11930         exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
11931         exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
11932         exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
11933         exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
11934         exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
11935         exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
11936         exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
11937         final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
11938         fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
11939         freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
11940         g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
11941         g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
11942         gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
11943         gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
11944         gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
11945         gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
11946         gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
11947         gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
11948         i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
11949         i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
11950         i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
11951         i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
11952         impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
11953         itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
11954         lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
11955         lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
11956         lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
11957         lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
11958         makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
11959         namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
11960         nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
11961         osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
11962         par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
11963         par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
11964         par-endh.adb par-labl.adb par-load.adb par-prag.adb
11965         par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
11966         prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
11967         prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
11968         prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
11969         prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
11970         prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
11971         prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
11972         repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
11973         rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
11974         s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
11975         s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
11976         s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
11977         s-direio.adb s-direio.ads s-except.ads s-exctab.adb
11978         s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
11979         s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
11980         s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
11981         s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
11982         s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
11983         s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
11984         s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
11985         s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
11986         s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
11987         s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
11988         s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
11989         s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
11990         s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
11991         s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
11992         s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
11993         s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
11994         s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
11995         s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
11996         s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
11997         s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
11998         s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
11999         s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
12000         s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
12001         s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
12002         s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
12003         s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
12004         s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
12005         s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
12006         s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
12007         s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
12008         s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
12009         s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
12010         s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
12011         s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
12012         s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
12013         s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
12014         s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
12015         s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
12016         s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
12017         s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
12018         s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
12019         s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
12020         s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
12021         s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
12022         s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
12023         s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
12024         s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
12025         s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
12026         s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
12027         s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
12028         s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
12029         s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
12030         s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
12031         s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
12032         s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
12033         s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
12034         s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
12035         s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
12036         s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
12037         s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
12038         s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
12039         s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
12040         s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
12041         s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
12042         s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
12043         s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
12044         s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
12045         s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
12046         s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
12047         s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
12048         s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
12049         s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
12050         s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
12051         s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
12052         s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
12053         s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
12054         s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
12055         s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
12056         scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
12057         sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
12058         sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
12059         sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
12060         sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
12061         sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
12062         sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
12063         sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
12064         sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
12065         sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
12066         sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
12067         sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
12068         sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
12069         sem_type.adb sem_type.ads sem_util.adb sem_util.ads
12070         sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
12071         sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
12072         sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
12073         sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
12074         snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
12075         stringt.ads stringt.h style.adb style.ads stylesw.adb
12076         stylesw.ads switch.adb switch.ads sysdep.c system.ads
12077         table.adb table.ads targparm.adb targparm.ads targtyps.c
12078         tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
12079         tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
12080         treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
12081         types.adb types.ads types.h uintp.adb uintp.ads uintp.h
12082         uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
12083         usage.ads utils.c utils2.c validsw.adb validsw.ads
12084         widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
12085         xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
12086         xtreeprs.adb: Correct statements in comments about maintainership
12087         of GNAT.
12088
12089 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
12090
12091         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
12092         * Makefile.in (TOOLS_LIBS): Add ../../version.o.
12093         * gnatvsn.ads: Gnat_Version_String is now a function.
12094         * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
12095         copy the C version_string into a String and return it.
12096         * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
12097         gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
12098         Remove pragma Ident (Gnat_Version_String).  If this was the
12099         sole use of package Gnatvsn, remove the with statement too.
12100         * gnat1drv.adb: Tweak -gnatv output.
12101
12102 2002-09-17  Richard Henderson  <rth@redhat.com>
12103
12104         * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
12105         * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
12106         * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
12107         (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
12108         * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
12109         and real_2expN instead of a loop.
12110         * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
12111         (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
12112
12113 2002-08-25  Andre Leis <a.leis@gmx.net>
12114             David Billinghurst (David.Billinghurst@riotinto.com>
12115
12116         * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
12117
12118 2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12119
12120         * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
12121         Remove $(CONFIG_H) dependency.
12122
12123 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
12124
12125         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
12126
12127 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12128
12129         * adadecode.c (ada_demangle): Use xstrdup in lieu of
12130         xmalloc/strcpy.
12131         * misc.c (gnat_decode_option): Likewise.
12132
12133 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
12134
12135         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
12136         function approach did not work well because of a side effect (the
12137         function call could reallocate the table which was being indexed
12138         using its result). Fixes ada/4851. [RESURRECTED]
12139
12140 2002-07-01  Roger Sayle  <roger@eyesopen.com>
12141
12142         * ada/utils.c (builtin_function): Accept an additional parameter.
12143
12144 2002-06-28  Andreas Jaeger  <aj@suse.de>
12145
12146         PR ada/7144
12147         * Makefile.in: Fix typo in comment, patch by Adrian Knoth
12148         <adi@thur.de>.
12149
12150 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12151
12152         * Makefile.in (SHELL): Set to @SHELL@.
12153
12154 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12155
12156         * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
12157         array size calculation.
12158
12159 2002-06-04  Andreas Jaeger  <aj@suse.de>
12160
12161         * Make-lang.in (gnatbind): Readd rule that has been lost in last
12162         patch.
12163
12164 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
12165
12166         Merge from pch-branch:
12167
12168         * config-lang.in (gtfiles): Add ada-tree.h.
12169         * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
12170         (SET_TYPE_MODULUS): New.
12171         (SET_TYPE_INDEX): New.
12172         (SET_TYPE_DIGITS_VALUE): New.
12173         (SET_TYPE_RM_SIZE): New.
12174         (SET_TYPE_UNCONSTRAINED_ARRAY): New.
12175         (SET_TYPE_ADA_SIZE): New.
12176         (SET_TYPE_ACTUAL_BOUNDS): New.
12177         (SET_DECL_CONST_CORRESPONDING_VAR): New.
12178         (SET_DECL_ORIGINAL_FIELD): New.
12179         (TREE_LOOP_ID): Correct typo.
12180         * decl.c: Use new macros.
12181         * utils.c: Include debug.h, use new macros.
12182         * utils2.c: Use new macros.
12183
12184         * ada-tree.h: Update all macros for new tree description.
12185         (struct tree_loop_id): New.
12186         (union lang_tree_node): New.
12187         (struct lang_decl): New.
12188         (struct lang_type): New.
12189         * misc.c (gnat_mark_tree): Delete.
12190         (LANG_HOOKS_MARK_TREE): Delete.
12191         * trans.c (tree_transform): No longer any need to cast
12192         for TREE_LOOP_ID.
12193
12194         * utils.c (struct language_function): New dummy structure.
12195
12196         * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
12197         (misc.o): Likewise.
12198         (utils.o): Likewise; also gtype-ada.h.
12199         * Make-lang.in (gnat1): Add dependency on s-gtype.
12200         (gnatbind): Add dependency on $(CONFIG_H).
12201         * utils.c: Correct last #include.
12202         (stuct e_stack): Remove unnecessary 'static'.
12203         (mark_e_stack): Remove unused prototype.
12204
12205         * scn-nlit.adb: Remove whitespace after version number to
12206         keep lines under 80 chars.
12207         * snames.adb: Likewise.
12208         * treepr.ads: Likewise.
12209
12210         * Makefile.in (decl.o): Include gt-ada-<filename>.h.
12211         (misc.o): Likewise.
12212         (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
12213         * config-lang.in (gtfiles): New.
12214         * decl.c: Use gengtype for roots.
12215         * gigi.h: Use gengtype for roots.
12216         * trans.c: Use gengtype for roots.
12217         * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
12218
12219 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
12220
12221         * misc.c (gnat_init): Adjust setting of internal_error_function.
12222
12223 2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
12224
12225         * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
12226         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
12227         gnat_ug_wnt.texi: Regenerate.
12228
12229 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
12230
12231         * 5ntaprop.adb (with System.OS_Primitives): Remove.
12232
12233         * cstreams.c (max_path_len): Move from here ...
12234         * adaint.c (__gnat_max_path_len): ... to here.
12235         * adaint.c (__gnat_max_path_len): Declare.
12236         * g-dirope.adb (Max_Path): Adjust.
12237         * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
12238         * i-cstrea.ads (max_path_len): Adjust.
12239         * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
12240         * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
12241
12242         * Makefile.in, Make-lang.in: Documentation is now built in
12243         Make-lang.in.  Store Info and generated Texinfo files in the
12244         source directory.
12245         * gnat_ug.texi: Remove CVS keywords, correct version number.
12246         Set file name correctly.
12247
12248         * gnat_ug_*.texi: Add.
12249         * .cvsignore: Ignore generated Texinfo files.
12250
12251 2002-05-30  Zack Weinberg  <zack@codesourcery.com>
12252
12253         * ada.h: Add MI guard macro.
12254         (SUBTYPE): Define constants with an anonymous enum, not static
12255         const variables.
12256         (IN): Cast constants to appropriate type before use.
12257
12258 2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
12259
12260         * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
12261         (experimental)".
12262
12263 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12264
12265         * Make-lang.in (CP, ECHO): Copy from Makefile.in.
12266         (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
12267         (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
12268         (ALL_ADA_CFLAGS): Likewise.
12269         (ADA_INCLUDES): Likewise.
12270         Adapt for new working dir.
12271         (GNATBIND): Use Makefile.in version.
12272         (.SUFFIXES): Copy from Makefile.in.
12273         (ada-warn): Define.
12274         (.adb.o, .ads.o): Copy from Makefile.in.
12275         Added $(OUTPUT_OPTION).
12276         (GNAT1_C_OBJS): Moved from Makefile.in.
12277         Prefix with ada subdir.
12278         (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
12279         (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
12280         Adapt for new working dir.
12281         (EXTRA_GNATBIND_OBJS): Likewise.
12282         (ADA_BACKEND): Moved from Makefile.in.
12283         Renamed to avoid conflict with global BACKEND.
12284         Use that one.
12285         (TARGET_ADA_SRCS): Moved from Makefile.in.
12286         (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
12287         Use ADA_BACKEND.
12288         (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
12289         (ada_extra_files): Moved from Makefile.in.
12290         Prefix with ada subdir.
12291         (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
12292         (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
12293         (ada/nmake.ads): Likewise.
12294         (update-sources): Moved from Makefile.in.
12295         Prefix with ada subdir.
12296         (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
12297         (ADA_TREE_H): Likewise.
12298         (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
12299         (ada/memtrack.o): Likewise.
12300         (ada/adadecode.o): Likewise.
12301         Update dependencies.
12302         (ada/adaint.o): New.
12303         (ada/argv.o): Moved from Makefile.in.
12304         Prefix with ada subdir.
12305         Update dependencies.
12306         (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
12307         (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
12308         (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
12309         Prefix with ada subdir.
12310         (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
12311         (GNAT DEPENDENCIES): Regenerate.
12312         * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
12313         toplevel Makefile.in.
12314         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
12315         (TARGET_ADA_SRCS): Removed.
12316         (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
12317         (GNATBIND_OBJS): Likewise.
12318         (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
12319         (BACKEND): Removed.
12320         (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
12321         (TREE_H): Likewise.
12322         (ada_extra_files): Likewise.
12323         (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
12324         (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
12325         (update-sources): Likewise.
12326         (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
12327         (ADA_TREE_H): Likewise.
12328         (adadecoce.o): Likewise.
12329         (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
12330         (GNAT DEPENDENCIES): Likewise.
12331
12332 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12333
12334         * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
12335         * Makefile.in: Likewise.
12336
12337 2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12338
12339         * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
12340         Restore $(CONFIG_H) and prefix.o dependencies.
12341         (ada.stage[1-4]): Depend on stage?-start.
12342
12343         * Makefile.in (b_gnatb.c): Depend on interfac.o.
12344
12345 2002-05-02  Jim Wilson  <wilson@redhat.com>
12346
12347         * utils.c (finish_record_type): Change record_size to record_type.
12348
12349 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12350
12351         * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
12352         (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
12353         ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
12354
12355 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
12356
12357         * misc.c (gnat_parse_file): Update.
12358
12359 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
12360
12361         * misc.c (gnat_init): Don't set lang_attribute_common.
12362
12363 2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
12364
12365         * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
12366
12367 2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
12368
12369         * gnat_ug.texi: New file.
12370
12371         * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
12372         instead of gfdl.texi
12373
12374         * xgnatug.adb, ug_words: New files.
12375
12376         * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
12377         gnat_rm and gnat-style manuals.
12378
12379 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
12380
12381         * gigi.h (incomplete_type_error): Remove.
12382         * utils.c (incomplete_type_error): Remove.
12383
12384 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
12385
12386         * trans.c (tree_transform): Add has_scope argument to
12387         expand_start_stmt_expr.
12388
12389 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
12390
12391         * gigi.h (truthvalue_conversion): Rename.
12392         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
12393         * trans.c (tree_transform): Update.
12394         * utils2.c (truthvalue_conversion): Rename, update.
12395         (build_binary_op, build_unary_op): Update.
12396
12397 2002-04-04  Laurent Guerby  <guerby@acm.org>
12398
12399         * make.adb: Implement -margs, remove restriction about file name placement.
12400         * makeusg.adb: Documentation update.
12401         * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
12402         * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
12403
12404 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
12405
12406         * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
12407         (builtin_function): Similarly.
12408
12409 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
12410
12411         * decl.c (gnat_to_gnu_entity): Update.
12412         * gigi.h (mark_addressable): Rename.
12413         * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
12414         * trans.c (tree_transform): Update.
12415         * utils.c (create_var_decl): Update.
12416         * util2.c (build_binary_op, build_unary_op,
12417         fill_vms_descriptor): Update.
12418         (mark_addressable): Rename, update.
12419
12420 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
12421
12422         * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
12423         Rename.
12424         * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
12425         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
12426         * trans.c (tree_transform, convert_with_check): Update.
12427         * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
12428         Rename.
12429
12430 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
12431
12432         * gigi.h (finish_incomplete_decl): Rename.
12433         * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
12434         * utils.c (gnat_init_decl_processing): Don't set hook.
12435         (finish_incomplete_decl): Rename.
12436
12437 2002-03-29  Andreas Schwab  <schwab@suse.de>
12438
12439         * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
12440         directory.
12441
12442 2001-03-28  Robert Dewar <dewar@gnat.com>
12443
12444         * checks.ads:
12445         (Remove_Checks): New procedure
12446
12447         * checks.adb:
12448         (Remove_Checks): New procedure
12449
12450         * exp_util.adb:
12451         Use new Duplicate_Subexpr functions
12452         (Duplicate_Subexpr_No_Checks): New procedure
12453         (Duplicate_Subexpr_No_Checks_Orig): New procedure
12454         (Duplicate_Subexpr): Restore original form (checks duplicated)
12455         (Duplicate_Subexpr): Call Remove_Checks
12456
12457         * exp_util.ads:
12458         (Duplicate_Subexpr_No_Checks): New procedure
12459         (Duplicate_Subexpr_No_Checks_Orig): New procedure
12460         Add 2002 to copyright notice
12461
12462         * sem_util.adb: Use new Duplicate_Subexpr functions
12463
12464         * sem_eval.adb:
12465         (Eval_Indexed_Component): This is the place to call
12466         Constant_Array_Ref and to replace the value. We simply merge
12467         the code of this function in here, since it is now no longer
12468         used elsewhere. This fixes the problem of the back end not
12469         realizing we were clever enough to see that this was
12470         constant.
12471         (Expr_Val): Remove call to Constant_Array_Ref
12472         (Expr_Rep_Val): Remove call to Constant_Array_Ref
12473         Minor reformatting
12474         (Constant_Array_Ref): Deal with string literals (patch
12475         suggested by Zack Weinberg on the gcc list)
12476
12477 2001-03-28  Ed Schonberg <schonber@gnat.com>
12478
12479         * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
12480         Duplicate_Subexpr_Move_Checks.
12481
12482         * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
12483         Duplicate_Subexpr_Move_Checks.
12484
12485         * sem_eval.adb: (Constant_Array_Ref): Verify that constant
12486         value of array exists before retrieving it (it may a private
12487         protected component in a function).
12488
12489 2002-03-28   Geert Bosch <bosch@gnat.com>
12490
12491         * prj-pp.adb : New file.
12492
12493         * prj-pp.ads : New file.
12494
12495 2002-03-28  Andreas Jaeger  <aj@suse.de>
12496
12497         * Makefile.in (stamp-sdefault): Fix path for Makefile.
12498
12499 2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
12500
12501         * misc.c (gnat_expand_expr): Move prototype.
12502
12503 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
12504
12505         * misc.c (insert_default_attributes): Remove.
12506
12507 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
12508
12509         * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
12510         (gnat_init): Don't set hook.
12511         (gnat_expand_expr): Fix prototype.
12512
12513 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
12514
12515         * misc.c (ggc_p): Remove.
12516
12517 2002-03-27  Geert Bosch  <bosch@gnat.com>
12518
12519         * prj-makr.ads, prj-makr.adb : New files.
12520
12521 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
12522
12523         * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
12524         (lang_mark_tree): Make static, rename.
12525
12526 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
12527
12528         * misc.c (maybe_build_cleanup): Remove.
12529
12530 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
12531
12532         * gigi.h (yyparse): Remove.
12533
12534 2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
12535
12536         * gnat_rm.texi: Sync with ACT version.
12537           (From Ben Brosgol <brosgol@gnat.com>)
12538
12539 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
12540
12541         * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
12542         (gnat_init): Remove old hook.
12543
12544 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
12545
12546         * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
12547         (yyparse): Rename gnat_parse_file.
12548
12549 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
12550
12551         Delete all lines containing "$Revision:".
12552         * xeinfo.adb: Don't look for revision numbers.
12553         * xnmake.adb: Likewise.
12554         * xsinfo.adb: Likewise.
12555         * xsnames.adb: Likewise.
12556         * xtreeprs.adb: Likewise.
12557
12558 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12559
12560         * misc.c (gnat_tree_code_type, gnat_tree_code_length,
12561         gnat_tree_code_name): Delete.
12562         (tree_code_type, tree_code_length, tree_code_name): Define.
12563         (gnat_init): Don't try to copy into the various tree_code
12564         arrays.
12565
12566 2002-03-11  Richard Henderson  <rth@redhat.com>
12567
12568         * Makefile.in (.NOTPARALLEL): Add fake tag.
12569
12570 2002-03-07  Geert Bosch  <bosch@gnat.com>
12571
12572         * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
12573         s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
12574         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
12575         switch-m.adb, switch-m.ads : New files.
12576
12577 2002-03-07  Geert Bosch  <bosch@gnat.com>
12578
12579         * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
12580         4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
12581         4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
12582         4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
12583         5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
12584         5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
12585         5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
12586         5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
12587         5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
12588         5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
12589         5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
12590         5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
12591         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
12592         5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
12593         5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
12594         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
12595         5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
12596         5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
12597         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
12598         5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
12599         7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
12600         Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
12601         a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
12602         a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
12603         a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
12604         a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
12605         a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
12606         a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
12607         a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
12608         adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
12609         atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
12610         bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
12611         csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
12612         einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
12613         eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
12614         exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
12615         exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
12616         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
12617         exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
12618         exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
12619         expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
12620         freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
12621         g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
12622         g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
12623         g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
12624         g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
12625         g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
12626         g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
12627         gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
12628         gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
12629         gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
12630         i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
12631         impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
12632         lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
12633         lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
12634         memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
12635         mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
12636         nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
12637         output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
12638         par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
12639         prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
12640         prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
12641         prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
12642         rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
12643         s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
12644         s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
12645         s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
12646         s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
12647         s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
12648         s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
12649         s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
12650         s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
12651         s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
12652         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
12653         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
12654         s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
12655         s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
12656         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
12657         s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
12658         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
12659         sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
12660         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
12661         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
12662         sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
12663         sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
12664         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
12665         sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
12666         sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
12667         sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
12668         snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
12669         stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
12670         table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
12671         tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
12672         treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
12673         types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
12674         utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
12675         xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
12676
12677         * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
12678         g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
12679         mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
12680         osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
12681
12682         * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
12683         5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
12684
12685         * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
12686         to mdll-fil.ad[bs] and mdll-util.ad[bs]
12687
12688         * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
12689         from mdllfile.ad[bs] and mdlltool.ad[bs]
12690
12691 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12692
12693         * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
12694         lieu of explicit sizeof/sizeof.
12695
12696 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
12697
12698         * misc.c (copy_lang_decl): Remove.
12699
12700 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
12701
12702         * misc.c: Delete traditional-mode-related code copied from the
12703         C front end but not used, or used only to permit the compiler
12704         to link.
12705
12706 2002-02-07  Richard Henderson  <rth@redhat.com>
12707
12708         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
12709         * adaint.h (__gnat_to_gm_time): Update prototype.
12710
12711 2002-01-30  Richard Henderson  <rth@redhat.com>
12712
12713         * trans.c (tree_transform) [N_Loop_Statement]: Use
12714         expand_exit_loop_top_cond.
12715
12716 2001-12-23  Richard Henderson  <rth@redhat.com>
12717
12718         * utils.c (end_subprog_body): Push GC context around
12719         rest_of_compilation for nested functions.
12720
12721 2001-12-23  Richard Henderson  <rth@redhat.com>
12722
12723         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
12724
12725 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
12726
12727         * gnat-style.texi (Declarations and Types): Remove ancient style
12728         rule which was mandated by code generation issues.
12729
12730         * gnat-style.texi (header): Add @dircategory, @direntry.
12731         (title page): Remove date.
12732         (general) Add @./@: where approriate, and two spaces after the
12733         full stop at the end of a sentence.  Use @samp markup when
12734         referring concrete lexical entities (keywords, attribute names
12735         etc.), and @syntax for ARM grammar elements. Use @r for English
12736         text in comments.  Use @emph for emphasis.  Change "if-statements"
12737         etc. to "if statements" (without @samp). Break long lines.  Make
12738         casing of section names consistent.
12739         (Identifiers): Use @samp markup for variable names.
12740         (Comments): Use @samp markup for comment characters. Line-end
12741         comments may follow any Ada code, not just statements.  Fix
12742         misspelling of "Integer" as "integer".
12743         (Loop statements): Do not use variable name "I", use "J".
12744         (Subprogram Declarations): Document alignment.
12745         (Subprogram Bodies, Block statements): Document empty line before
12746         "begin".
12747
12748 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
12749
12750         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
12751         function approach did not work well because of a side effect (the
12752         function call could reallocate the table which was being indexed
12753         using its result). Fixes ada/4851.
12754
12755 2001-12-19  Robert Dewar <dewar@gnat.com>
12756
12757         * bindgen.adb: Minor reformatting
12758
12759         * cstand.adb: Minor reformatting
12760
12761         * fmap.adb: Minor reformatting
12762         Change name from Add for Add_To_File_Map (Add is much too generic)
12763         Change Path_Name_Of to Mapped_Path_Name
12764         Change File_Name_Of to Mapped_File_Name
12765         Fix copyright dates in header
12766
12767         * fmap.ads:
12768         Change name from Add for Add_To_File_Map (Add is much too generic)
12769         Change Path_Name_Of to Mapped_Path_Name
12770         Change File_Name_Of to Mapped_File_Name
12771         Fix copyright dates in header
12772
12773         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
12774         Add use clause for Fmap.
12775
12776         * make.adb: Minor reformatting
12777
12778         * osint.adb: Minor reformatting.  Change of names in Fmap.
12779         Add use clause for Fmap.
12780
12781         * prj-env.adb: Minor reformatting
12782
12783         * prj-env.ads: Minor reformatting
12784
12785         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
12786         error found (there were odd exceptions to this general rule in
12787         -gnatec/-gnatem processing)
12788
12789 2001-12-19  Olivier Hainque <hainque@gnat.com>
12790
12791         * raise.c (__gnat_eh_personality): Exception handling personality
12792         routine for Ada.  Still in rough state, inspired from the C++ version
12793         and still containing a bunch of debugging artifacts.
12794         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
12795         inspired from the C++ library.
12796
12797         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
12798         exception handling integration.
12799
12800 2001-12-19  Arnaud Charlet <charlet@gnat.com>
12801
12802         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
12803         (HIE_SOURCES): Add s-secsta.ad{s,b}.
12804         (HIE_OBJS): Add s-fat*.o
12805         (RAVEN_SOURCES): Remove files that are no longer required. Add
12806         interrupt handling files.
12807         (RAVEN_MOD): Removed, no longer needed.
12808
12809 2001-12-19  Robert Dewar <dewar@gnat.com>
12810
12811         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
12812         Add 2001 to copyright date
12813
12814         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
12815         need to force universal inlining for these cases.
12816
12817 2001-12-19  Arnaud Charlet <charlet@gnat.com>
12818
12819         * s-taprob.adb: Minor clean ups so that this unit can be used in
12820         Ravenscar HI.
12821
12822         * exp_ch7.adb: Allow use of secondary stack in HI mode.
12823         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
12824
12825 2001-12-19  Vincent Celier <celier@gnat.com>
12826
12827         * prj-tree.ads (Project_Node_Record): Add comments for components
12828         Pkg_Id and Case_Insensitive.
12829
12830 2001-12-19  Pascal Obry <obry@gnat.com>
12831
12832         * g-socket.adb: Minor reformatting. Found while reading code.
12833
12834 2001-12-19  Robert Dewar <dewar@gnat.com>
12835
12836         * prj-tree.ads: Minor reformatting
12837
12838 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
12839
12840         * config-lang.in (diff_excludes): Remove.
12841
12842 2001-12-17  Ed Schonberg <schonber@gnat.com>
12843
12844         * sem_res.adb (Resolve_Selected_Component): do not generate a
12845         discriminant check if the selected component is a component of
12846         the argument of an initialization procedure.
12847
12848         * trans.c (tree_transform, case of arithmetic operators): If result
12849         type is private, the gnu_type is the base type of the full view,
12850         given that the full view itself may be a subtype.
12851
12852 2001-12-17  Robert Dewar <dewar@gnat.com>
12853
12854         * sem_res.adb: Minor reformatting
12855
12856         * trans.c (tree_transform, case N_Real_Literal): Add missing third
12857         parameter in call to Machine (unknown horrible effects from this
12858         omission).
12859
12860         * urealp.h: Add definition of Round_Even for call to Machine
12861         Add third parameter for Machine
12862
12863 2001-12-17  Ed Schonberg <schonber@gnat.com>
12864
12865         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
12866         predefined units in No_Run_Time mode.
12867
12868 2001-12-17  Richard Kenner <kenner@gnat.com>
12869
12870         * misc.c (insn-codes.h): Now include.
12871
12872 2001-12-17  Olivier Hainque <hainque@gnat.com>
12873
12874         * a-except.adb: Preparation work for future integration of the GCC 3
12875         exception handling mechanism
12876         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
12877         to factorize previous code sequences and make them externally callable,
12878         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
12879         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
12880         Use the new notification routines.
12881
12882 2001-12-17  Emmanuel Briot <briot@gnat.com>
12883
12884         * prj-tree.ads (First_Choice_Of): Document the when others case
12885
12886 2001-12-17  Arnaud Charlet <charlet@gnat.com>
12887
12888         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
12889         HI-E mode, in order to support Ravenscar profile properly.
12890
12891         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
12892         mode on 32 bits targets.
12893
12894 2001-12-17  Vincent Celier <celier@gnat.com>
12895
12896         * fmap.adb: Initial version.
12897
12898         * fmap.ads: Initial version.
12899
12900         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
12901         If search is successfully done, add to mapping.
12902
12903         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
12904
12905         * make.adb:
12906         (Gnatmake): Add new local variable Mapping_File_Name.
12907          Create mapping file when using project file(s).
12908          Delete mapping file before exiting.
12909
12910         * opt.ads (Mapping_File_Name): New variable
12911
12912         * osint.adb (Find_File): Use path name found in mapping, if any.
12913
12914         * prj-env.adb (Create_Mapping_File): New procedure
12915
12916         * prj-env.ads (Create_Mapping_File): New procedure.
12917
12918         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
12919         (Mapping_File)
12920
12921         * usage.adb: Add entry for new switch -gnatem.
12922
12923         * Makefile.in: Add dependencies for fmap.o.
12924
12925 2001-12-17  Ed Schonberg <schonber@gnat.com>
12926
12927         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
12928         is a package instantiation rewritten as a package body.
12929         (Install_Withed_Unit): Undo previous change, now redundant.
12930
12931 2001-12-17  Gary Dismukes <dismukes@gnat.com>
12932
12933         * layout.adb:
12934         (Compute_Length): Move conversion to Unsigned to callers.
12935         (Get_Max_Size): Convert Len expression to Unsigned after calls to
12936         Compute_Length and Determine_Range.
12937         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
12938         Compute_Length and Determine_Range.
12939         Above changes fix problem with length computation for supernull arrays
12940         where Max (Len, 0) wasn't getting applied due to the Unsigned
12941         conversion used by Compute_Length.
12942
12943 2001-12-17  Arnaud Charlet <charlet@gnat.com>
12944
12945         * rtsfind.ads:
12946         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
12947          System.Secondary_Stack.
12948         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
12949          in HI-E mode.
12950         Remove unused entity RE_Exception_Data.
12951
12952         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
12953
12954         * rident.ads (No_Secondary_Stack): New restriction.
12955
12956 2001-12-17  Joel Brobecker <brobecke@gnat.com>
12957
12958         * gnat_rm.texi: Fix minor typos. Found while reading the section
12959         regarding "Bit_Order Clauses" that was sent to a customer.
12960         Very interesting documentation!
12961
12962 2001-12-17  Robert Dewar <dewar@gnat.com>
12963
12964         * sem_case.adb (Choice_Image): Avoid creating improper character
12965         literal names by using the routine Set_Character_Literal_Name. This
12966         fixes bombs in certain error message cases.
12967
12968 2001-12-17  Arnaud Charlet <charlet@gnat.com>
12969
12970         * a-reatim.adb: Minor reformatting.
12971
12972 2001-12-17  Ed Schonberg <schonber@gnat.com>
12973
12974         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
12975         case where the formal is an extension of another formal in the current
12976         unit or in a parent generic unit.
12977
12978 2001-12-17  Arnaud Charlet <charlet@gnat.com>
12979
12980         * s-tposen.adb: Update comments.  Minor reformatting.
12981         Minor code clean up.
12982
12983         * s-tarest.adb: Update comments.  Minor code reorganization.
12984
12985 2001-12-17  Gary Dismukes <dismukes@gnat.com>
12986
12987         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
12988         when Java_VM.
12989
12990 2001-12-17  Robert Dewar <dewar@gnat.com>
12991
12992         * exp_attr.adb: Minor reformatting
12993
12994 2001-12-17  Ed Schonberg <schonber@gnat.com>
12995
12996         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
12997         derivations nested within a child unit: verify that the parent
12998         type is declared in an outer scope.
12999
13000 2001-12-17  Robert Dewar <dewar@gnat.com>
13001
13002         * sem_ch12.adb: Minor reformatting
13003
13004 2001-12-17  Ed Schonberg <schonber@gnat.com>
13005
13006         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
13007         warning if current unit is a predefined one, from which bodies may
13008         have been deleted.
13009
13010 2001-12-17  Robert Dewar <dewar@gnat.com>
13011
13012         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
13013         Fix header format. Add 2001 to copyright date.
13014
13015         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
13016         which caused CE during compilation if checks were enabled.
13017
13018 2001-12-17  Vincent Celier <celier@gnat.com>
13019
13020         * make.adb:
13021         (Switches_Of): New function
13022         (Test_If_Relative_Path): New procedure
13023         (Add_Switches): Use new function Switches_Of
13024         (Collect_Arguments_And_Compile): Use new function Switches_Of.
13025         When using a project file, test if there are any relative
13026         search path. Fail if there are any.
13027         (Gnatmake): Only add switches for the primary directory when not using
13028         a project file. When using a project file, change directory to the
13029         object directory of the main project file. When using a project file,
13030         test if there are any relative search path. Fail if there are any.
13031         When using a project file, fail if specified executable is relative
13032         path with directory information, and prepend executable, if not
13033         specified as an absolute path, with the exec directory.  Make sure
13034         that only one -o switch is transmitted to the linker.
13035
13036         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
13037
13038         * prj-nmsc.adb:
13039         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
13040         when using a non standard naming scheme.
13041         (Check_Ada_Naming_Scheme): Make sure that error messages
13042         do not raise exceptions.
13043         (Is_Illegal_Append): Return True if there is no dot in the suffix.
13044         (Language_Independent_Check): Check the exec directory.
13045
13046         * prj.adb (Project_Empty): Add new component Exec_Directory
13047
13048         * prj.ads:
13049         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
13050         (Project_Data): Add component Exec_Directory
13051
13052         * snames.adb: Updated to match snames.ads revision 1.215
13053
13054         * snames.ads: Added Exec_Dir
13055
13056 2001-12-17  Robert Dewar <dewar@gnat.com>
13057
13058         * make.adb: Minor reformatting
13059
13060         * prj-nmsc.adb: Minor reformatting
13061
13062         * snames.adb: Updated to match snames.ads
13063
13064         * snames.ads: Alphebetize entries for project file
13065
13066 2001-12-17  Ed Schonberg <schonber@gnat.com>
13067
13068         * trans.c (process_freeze_entity): Do nothing if the entity is a
13069         subprogram that was already elaborated.
13070
13071 2001-12-17  Richard Kenner <kenner@gnat.com>
13072
13073         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
13074         and Esize if object is referenced via pointer.
13075
13076 2001-12-17  Ed Schonberg <schonber@gnat.com>
13077
13078         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
13079         is discrete before analyzing choices.
13080
13081 2001-12-17  Joel Brobecker <brobecke@gnat.com>
13082
13083         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
13084         containing the name of the Ada Main Program. This string is mainly
13085         intended for the debugger.
13086         (Gen_Output_File_C): Do the equivalent change when generating a C file.
13087
13088 2001-12-17  Robert Dewar <dewar@gnat.com>
13089
13090         * ali.adb: Set new Dummy_Entry field in dependency entry
13091
13092         * ali.ads: Add Dummy_Entry field to source dependency table
13093
13094         * bcheck.adb (Check_Consistency): Ignore dummy D lines
13095
13096         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
13097
13098         * lib-writ.ads: Document dummy D lines for missing files.
13099
13100         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
13101
13102 2001-12-17  Robert Dewar <dewar@gnat.com>
13103
13104         * ali.adb: Type reference does not reset current file.
13105
13106         * ali.adb: Recognize and scan renaming reference
13107
13108         * ali.ads: Add spec for storing renaming references.
13109
13110         * lib-xref.ads: Add documentation for handling of renaming references
13111
13112         * lib-xref.adb: Implement output of renaming reference.
13113
13114         * checks.adb:
13115         (Determine_Range): Document local variables
13116         (Determine_Range): Make sure Hbound is initialized. It looks as though
13117          there could be a real problem here with an uninitialized reference
13118          to Hbound, but no actual example of failure has been found.
13119
13120 2001-12-17  Laurent Pautet <pautet@gnat.com>
13121
13122         * g-socket.ads:
13123         Fix comment of Shutdown_Socket and Close_Socket. These functions
13124         should not fail silently because if they are called twice, this
13125         probably means that there is a race condition in the user program.
13126         Anyway, this behaviour is consistent with the rest of this unit.
13127         When an error occurs, an exception is raised with the error message
13128         as exception message.
13129
13130 2001-12-17  Robert Dewar <dewar@gnat.com>
13131
13132         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
13133         that it happens before modification of Sloc values for -gnatD.
13134
13135         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
13136         so that it happens before modification of Sloc values for -gnatD.
13137
13138         * switch.adb: Minor reformatting
13139
13140 2001-12-15  Richard Henderson  <rth@redhat.com>
13141
13142         * sem_ch7.adb: Wrap comment.
13143
13144 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
13145
13146         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
13147         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
13148         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
13149         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
13150         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
13151         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
13152         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
13153         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
13154         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
13155         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
13156         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
13157         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
13158         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
13159         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
13160         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
13161         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
13162         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
13163         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
13164         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
13165         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
13166         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
13167         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
13168         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
13169         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
13170         spelling errors.
13171
13172 2001-12-14  Vincent Celier <celier@gnat.com>
13173
13174         * osint.adb(Create_Debug_File): When an object file is specified,
13175         put the .dg file in the same directory as the object file.
13176
13177 2001-12-14  Robert Dewar <dewar@gnat.com>
13178
13179         * osint.adb: Minor reformatting
13180
13181         * lib-xref.adb (Output_Instantiation): New procedure to generate
13182         instantiation references.
13183
13184         * lib-xref.ads: Add documentation of handling of generic references.
13185
13186         * ali.adb (Read_Instantiation_Ref): New procedure to read
13187         instantiation references
13188
13189         * ali.ads: Add spec for storing instantiation references
13190
13191         * bindusg.adb: Minor reformatting
13192
13193         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
13194
13195         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
13196
13197         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
13198
13199         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
13200
13201         * csets.ads:
13202         Fix header format
13203         Add 2001 to copyright date
13204         Add entry for Latin-5 (Cyrillic ISO-8859-5)
13205
13206 2001-12-14  Matt Gingell <gingell@gnat.com>
13207
13208         * adaint.c: mktemp is a macro on Lynx and can not be used as an
13209         expression.
13210
13211 2001-12-14  Richard Kenner <kenner@gnat.com>
13212
13213         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
13214         if operand is CONSTRUCTOR.
13215
13216 2001-12-14  Ed Schonberg <schonber@gnat.com>
13217
13218         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
13219         before emiting check on right-hand side, so that exception information
13220         is correct.
13221
13222 2001-12-14  Richard Kenner <kenner@gnat.com>
13223
13224         * utils.c (create_var_decl): Throw away initializing expression
13225         if just annotating types and non-constant.
13226
13227 2001-12-14  Vincent Celier <celier@gnat.com>
13228
13229         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
13230         Default_Ada_...
13231
13232         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
13233         Remove functions.
13234         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
13235
13236         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
13237         Remove functions.
13238         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
13239
13240 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
13241
13242         * ChangeLog: Remove piece of diff output.
13243
13244 2001-12-14  Geert Bosch <bosch@gnat.com>
13245
13246         * config-lang.in: Update copyright notice
13247
13248         * layout.adb: Remove commented out code.
13249
13250         * mdllfile.ads: Update copyright notice. Fix header format.
13251
13252         * sem_case.ads: Likewise.
13253
13254         * sem_ch3.adb: Minor reformatting.
13255
13256 2001-12-12  Geert Bosch <bosch@gnat.com>
13257
13258         * freeze.ads: Update copyright date.
13259
13260         * g-comlin.ads: Minor reformatting.
13261
13262         * gnat-style.texi: Fix typo.
13263
13264 2001-12-12  Geert Bosch <bosch@gnat.com>
13265
13266         *  einfo.h: Regenerate.
13267
13268 2001-12-12  Ed Schonberg <schonber@gnat.com>
13269
13270         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
13271         on known node types, rather than untyped fields. Further cleanups.
13272
13273 2001-12-12  Robert Dewar <dewar@gnat.com>
13274
13275         * sem_ch12.adb:
13276         (Save_Entity_Descendant): Minor comment update.
13277         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
13278          of an N_Attribute_Reference node. As per note below, this does not
13279         eliminate need for Associated_Node in attribute ref nodes.
13280         (Associated_Node): Documentation explicitly mentions attribute
13281         reference nodes, since this field is used in such nodes.
13282
13283         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
13284
13285 2001-12-12  Robert Dewar <dewar@gnat.com>
13286
13287         * s-stalib.adb: Add more comments on with statements being needed
13288
13289         * par-ch12.adb: Minor reformatting
13290
13291         * prj-dect.ads: Fix copyright header
13292
13293         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
13294         inputs fit in 32 bits, but the result still overflows.
13295
13296         * s-fatgen.ads: Minor comment improvement
13297
13298 2001-12-12  Ed Schonberg <schonber@gnat.com>
13299
13300         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
13301         formal derived type, look for an inherited component from the full
13302         view of the parent, if any.
13303
13304 2001-12-12  Robert Dewar <dewar@gnat.com>
13305
13306         * checks.ads (Apply_Alignment_Check): New procedure.
13307
13308         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
13309         ensure that the alignment of objects with address clauses is
13310         appropriate, and raise PE if not.
13311
13312         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
13313         Exp_Pakd.Known_Aligned_Enough
13314
13315         * mdllfile.ads: Minor reformatting
13316
13317         * mlib-fil.ads: Minor reformatting
13318
13319 2001-12-12  Ed Schonberg <schonber@gnat.com>
13320
13321         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
13322         fix to any component reference if enclosing record has non-standard
13323         representation.
13324
13325 2001-12-12  Vincent Celier <celier@gnat.com>
13326
13327         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
13328         Iteration
13329
13330 2001-12-12  Ed Schonberg <schonber@gnat.com>
13331
13332         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
13333         sem_attr.
13334
13335 2001-12-12  Robert Dewar <dewar@gnat.com>
13336
13337         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
13338
13339 2001-12-12  Emmanuel Briot <briot@gnat.com>
13340
13341         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
13342         and it adds dependencies to system.io.
13343
13344 2001-12-12  Pascal Obry <obry@gnat.com>
13345
13346         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
13347         variable name.
13348
13349 2001-12-11  Ed Schonberg <schonber@gnat.com>
13350
13351         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
13352         that is the parent of other generics, the instance body replaces the
13353         instance node.  Retrieve the instance of the spec, which is the one
13354         that is visible in clients and within the body.
13355
13356 2001-12-11  Vincent Celier <celier@gnat.com>
13357
13358         * gnatmain.adb: Initial version.
13359
13360         * gnatmain.ads: Initial version.
13361
13362         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
13363
13364         * snames.adb: Updated to match snames.ads.
13365
13366         * snames.ads: Added Gnatstub.
13367
13368 2001-12-11  Vincent Celier <celier@gnat.com>
13369
13370         * prj-attr.adb (Initialization_Data): Change name from
13371         Initialisation_Data.
13372
13373 2001-12-11  Emmanuel Briot <briot@gnat.com>
13374
13375         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
13376         + and * applied to backslashed expressions like \r.
13377
13378 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
13379
13380         * g-os_lib.ads: String_List type added, Argument_List type is now
13381         subtype of String_List.
13382
13383 2001-12-11  Robert Dewar <dewar@gnat.com>
13384
13385         * g-os_lib.ads: Change copyright to FSF
13386         Add comments for String_List type
13387
13388 2001-12-11  Vincent Celier <celier@gnat.com>
13389
13390         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
13391         string to the buffer).
13392
13393 2001-12-11  Ed Schonberg <schonber@gnat.com>
13394
13395         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
13396         sem_attr.
13397
13398         * sem_attr.adb: Simplify previous fix for Address.
13399         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
13400         to avoid anomalies where the bound of the type appears to raise
13401         constraint error.
13402
13403 2001-12-11  Robert Dewar <dewar@gnat.com>
13404
13405         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
13406         handled.
13407
13408 2001-12-11  Ed Schonberg <schonber@gnat.com>
13409
13410         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
13411         renamed unit before checking for recursive instantiations.
13412
13413 2001-12-11  Emmanuel Briot <briot@gnat.com>
13414
13415         * prj.ads: Add comments for some of the fields.
13416
13417 2001-12-11  Robert Dewar <dewar@gnat.com>
13418
13419         * lib-xref.adb (Output_Refs): Don't output type references outside
13420         the main unit if they are not otherwise referenced.
13421
13422 2001-12-11  Ed Schonberg <schonber@gnat.com>
13423
13424         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
13425         code and diagnose additional illegal uses
13426
13427         * sem_util.adb (Is_Object_Reference): An indexed component is an
13428         object only if the prefix is.
13429
13430 2001-12-11  Vincent Celier <celier@gnat.com>
13431
13432         * g-diopit.adb: Initial version.
13433
13434         * g-diopit.ads: Initial version.
13435
13436         * g-dirope.adb:
13437         (Expand_Path): Avoid use of Unbounded_String
13438         (Find, Wildcard_Iterator): Moved to child package Iteration
13439
13440         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
13441
13442 2001-12-11  Robert Dewar <dewar@gnat.com>
13443
13444         * sem_attr.adb: Minor reformatting
13445
13446 2001-12-11  Ed Schonberg <schonber@gnat.com>
13447
13448         * sem_ch3.adb: Clarify some ???.
13449
13450 2001-12-11  Robert Dewar <dewar@gnat.com>
13451
13452         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
13453         Exp_Pakd.Known_Aligned_Enough
13454
13455         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
13456         version is moved to Exp_Ch13.
13457
13458 2001-12-11  Robert Dewar <dewar@gnat.com>
13459
13460         * einfo.ads: Minor reformatting
13461
13462         * exp_ch5.adb: Add comment for previous.change
13463
13464         * ali.adb: New interface for extended typeref stuff.
13465
13466         * ali.ads: New interface for typeref stuff.
13467
13468         * checks.adb (Apply_Alignment_Check): New procedure.
13469
13470         * debug.adb: Add -gnatdM for modified ALI output
13471
13472         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
13473
13474         * lib-xref.adb: Extend generation of <..> notation to cover
13475         subtype/object types. Note that this is a complete rewrite,
13476         getting rid of the very nasty quadratic algorithm previously
13477         used for derived type output.
13478
13479         * lib-xref.ads: Extend description of <..> notation to cover
13480         subtype/object types. Uses {..} for these other cases.
13481         Also use (..) for pointer types.
13482
13483         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
13484
13485         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
13486         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
13487
13488 2001-12-11  Vincent Celier <celier@gnat.com>
13489
13490         * gnatcmd.adb:
13491         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
13492         Changed /BIND_ONLY to /ACTIONS=BIND
13493         Changed /LINK_ONLY to /ACTIONS=LINK
13494
13495 2001-12-11  Ed Schonberg  <schonber@gnat.com>
13496
13497         * sem_ch8.adb (Find_Selected_Component): improved search for a
13498         candidate package in case of error.
13499
13500         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
13501         chain back on scope stack before reinstalling use clauses.
13502
13503         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
13504         is enabled, do not kill the code for the condition, to preserve
13505         warning.
13506
13507 2001-12-11  Robert Dewar <dewar@gnat.com>
13508
13509         * checks.adb (Insert_Valid_Check): Apply validity check to expression
13510         of conversion, not to result of conversion.
13511
13512 2001-12-11  Ed Schonberg <schonber@gnat.com>
13513
13514         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
13515         before freezing parent. If the declarations are mutually recursive,
13516         an access to the current record type may be frozen before the
13517         derivation is complete.
13518
13519 2001-12-05  Vincent Celier <celier@gnat.com>
13520
13521         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
13522         -c /COMPILE_ONLY, -l /LINK_ONLY
13523
13524         * opt.ads:
13525         (Bind_Only): New Flag
13526         (Link_Only): New flag
13527
13528         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
13529         and -l (Link_Only)
13530
13531         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
13532
13533         * make.adb:
13534         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
13535         (Gnatmake): Set the step flags. Only perform a step if the
13536         corresponding step flag is True.
13537         (Scan_Make_Arg): Reset the bind and link step flags when -u
13538         or -gnatc has been specified.
13539
13540 2001-12-05  Ed Schonberg <schonber@gnat.com>
13541
13542         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
13543         get bounds from right operand.
13544
13545         * sem_eval.adb: Minor reformatting
13546
13547         * exp_util.adb (Make_Literal_Range): use bound of literal rather
13548         than Index'First, its lower bound may be different from 1.
13549
13550         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
13551         and C48009J
13552
13553 2001-12-05  Vincent Celier <celier@gnat.com>
13554
13555         * prj-nmsc.adb Minor reformatting
13556
13557         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
13558         set and libraries are not supported.
13559
13560 2001-12-05  Ed Schonberg <schonber@gnat.com>
13561
13562         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
13563         private view explicitly, so the back-end can treat as a global
13564         when appropriate.
13565
13566 2001-12-05  Ed Schonberg <schonber@gnat.com>
13567
13568         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
13569          unit, always replace instance node with new body, for ASIS use.
13570
13571 2001-12-05  Vincent Celier <celier@gnat.com>
13572
13573         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
13574         libraries are not supported and both attributes Library_Name and
13575         Library_Dir are specified.
13576
13577         * prj-proc.adb (Expression): Set location of Result to location of
13578         first term.
13579
13580         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
13581         (prj-nmsc is now importing MLib.Tgt)
13582
13583         * prj-proc.adb: Put the change indicated above that was forgotten.
13584
13585 2001-12-05  Robert Dewar <dewar@gnat.com>
13586
13587         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
13588
13589 2001-12-05  Ed Schonberg <schonber@gnat.com>
13590
13591         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
13592         constraint, introduce explicit subtype declaration and derive from it.
13593
13594         * sem_ch3.adb: Minor reformatting
13595
13596 2001-12-05  Robert Dewar <dewar@gnat.com>
13597
13598         * checks.adb (Determine_Range): Increase cache size for checks.
13599         Minor reformatting
13600
13601         * exp_ch6.adb: Minor reformatting
13602         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
13603         a parameter whose root type is System.Address, since treating such
13604         subprograms as pure in the code generator is almost surely a mistake
13605         that will lead to unexpected results.
13606
13607         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
13608         change handling of conversions.
13609
13610         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
13611
13612 2001-12-05  Ed Schonberg <schonber@gnat.com>
13613
13614         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
13615         aggregate with static wrong size, attach generated Raise node to
13616         declaration.
13617
13618 2001-12-05  Robert Dewar <dewar@gnat.com>
13619
13620         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
13621         Fixes compilation abandoned bomb in B24009B.
13622
13623 2001-12-05  Ed Schonberg <schonber@gnat.com>
13624
13625         * sem_ch12.adb:
13626         Document use of Associated_Node on Selected_Components.
13627         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
13628         to clarify use of untyped descendant fields.
13629
13630 2001-12-05  Robert Dewar <dewar@gnat.com>
13631
13632         * prj-dect.ads: Add ??? comment
13633         Add 2001 to copyright notice (was not done in after all)
13634
13635         * prj-part.adb: Minor reformatting. Reword one awkward error message.
13636
13637         * prj.ads: Minor reformatting throughout, and add some ??? comments
13638
13639         * snames.ads: Minor reformatting
13640
13641 2001-12-05  Geert Bosch <bosch@gnat.com>
13642
13643         * snames.adb: Autoupdate
13644
13645 2001-12-05  Vincent Celier <celier@gnat.com>
13646
13647         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
13648
13649         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
13650
13651         * prj-env.adb: Minor comment changes (modifying -> extends).
13652
13653         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
13654
13655         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
13656         Tok_Extends.
13657
13658         * prj.adb (Initialize): Change Modifying to Extends.
13659
13660         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
13661
13662         * prj.ads: Minor comment change (Modifying -> extending).
13663
13664         * snames.ads: Change modifying to extends.
13665
13666 2001-12-05  Robert Dewar <dewar@gnat.com>
13667
13668         * sem_warn.adb: Remove stuff for conditionals, we are not going to
13669         do this after all.
13670
13671         * sem_warn.ads: Remove stuff for conditionals, we are not going to
13672         do this after all.  Add 2001 to copyright notice
13673
13674 2001-12-04  Geert Bosch <bosch@gnat.com>
13675
13676         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
13677
13678 2001-12-04  Robert Dewar <dewar@gnat.com>
13679
13680         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
13681         location if we already have errors. Stops some cases of cascaded
13682         errors.
13683
13684         * errout.adb: Improve comment.
13685
13686 2001-12-04  Robert Dewar <dewar@gnat.com>
13687
13688         * sem_ch12.adb:
13689         (Analyze_Formal_Type_Definition): Defend against Error.
13690         (Analyze_Formal_Subprogram): Defend against Error.
13691
13692         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
13693         remove following semicolon if present. Removes cascaded error.
13694
13695 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
13696
13697         * bindgen.adb:
13698         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
13699          exceptions equals 0.
13700         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
13701         Fixes PIWG E tests (which have to be run with -gnatL).
13702
13703 2001-12-04  Robert Dewar <dewar@gnat.com>
13704
13705         * einfo.ads: Minor reformatting
13706
13707 2001-12-04  Ed Schonberg <schonber@gnat.com>
13708
13709         * einfo.ads: Block_Node points to the identifier of the block, not to
13710         the block node itself, to preserve the link when the block is
13711         rewritten, e.g. within an if-statement with a static condition.
13712
13713         * inline.adb (Cleanup_Scopes): recover block statement from block
13714         entity using new meaning of Block_Node.
13715
13716         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
13717         identifier of block node, rather than to node itself.
13718
13719 2001-12-04  Gary Dismukes <dismukes@gnat.com>
13720
13721         * layout.adb:
13722         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
13723         (Discrimify): Go back to setting the Etypes of the selected component
13724         because the Vname component does not exist at this point and will
13725         fail name resolution. Also set Analyzed.
13726         Remove with and use of Sem_Res.
13727
13728 2001-12-04  Arnaud Charlet <charlet@gnat.com>
13729
13730         * Makefile.in: (HIE_SOURCES): add s-fat*.
13731
13732 2001-12-04  Robert Dewar <dewar@gnat.com>
13733
13734         * sem_attr.adb:
13735         (Compile_Time_Known_Attribute): New procedure.
13736         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
13737          proper range check.
13738
13739 2001-12-04  Ed Schonberg <schonber@gnat.com>
13740
13741         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
13742         processing discriminants to diagnose illegal default values.
13743
13744 2001-12-04  Ed Schonberg <schonber@gnat.com>
13745
13746         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
13747         access discriminant within a type extension that constrains its
13748         parent discriminants.
13749
13750 2001-12-04  Ed Schonberg <schonber@gnat.com>
13751
13752         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
13753         is malformed, use instance of Any_Id to allow analysis to proceed.
13754
13755         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
13756         type definition is illegal.
13757         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
13758         misplaced.
13759
13760 2001-12-04  Ed Schonberg <schonber@gnat.com>
13761
13762         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
13763         constants.
13764
13765 2001-12-04  Robert Dewar <dewar@gnat.com>
13766
13767         * errout.adb: Minor reformatting
13768
13769 2001-12-04  Robert Dewar <dewar@gnat.com>
13770
13771         * exp_util.adb: Minor reformatting from last change
13772
13773         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
13774         which is a rewriting of an expression, traverse the original
13775         expression to remove warnings that may have been posted on it.
13776
13777 2001-12-04  Ed Schonberg <schonber@gnat.com>
13778
13779         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
13780         record that has other packed components.
13781
13782 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
13783
13784         * adaint.c: Minor cleanups.
13785
13786 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
13787
13788         * adaint.c: Do not use utime.h on vxworks.
13789
13790 2001-12-04  Arnaud Charlet <charlet@gnat.com>
13791
13792         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
13793         more confusion than it solves.
13794
13795 2001-12-04  Geert bosch <bosch@gnat.com>
13796
13797         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
13798
13799 2001-12-04  Geert Bosch  <bosch@gnat.com>
13800
13801         * Makefile.in (update-sources): New target.
13802         For use by gcc_release script.
13803
13804 2001-12-04  Ed Schonberg <schonber@gnat.com>
13805
13806         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
13807         a configuration pragma, it is now legal wherever a pragma can appear.
13808
13809 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
13810
13811         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
13812         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
13813         is now @CROSS@ -DIN_GCC; update comment.
13814
13815 2001-12-04  Robert Dewar <dewar@gnat.com>
13816
13817         * einfo.adb (Has_Pragma_Pure_Function): New flag.
13818         Fix problem that stopped ceinfo from working
13819
13820         * einfo.ads (Has_Pragma_Pure_Function): New flag.
13821
13822         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
13823
13824 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
13825
13826         * gnatchop.adb:
13827         (File_Time_Stamp): New procedure.
13828         (Preserve_Mode): New boolean.
13829         (Write_Unit): Pass time stamp.
13830         Implement -p switch (preserve time stamps).
13831
13832         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
13833
13834         * gnatchop.adb: Do usage info for -p switch
13835
13836         * adaint.h (__gnat_set_file_time_name): New function
13837
13838         * adaint.c (__gnat_set_file_time_name): Implement
13839
13840         * adaint.h: Fix typo
13841
13842 2001-12-03  Robert Dewar <dewar@gnat.com>
13843
13844         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
13845         have Associated_Node.
13846
13847 2001-12-03  Robert Dewar <dewar@gnat.com>
13848
13849         * prj-proc.adb: Minor reformatting
13850
13851         * make.adb: Minor reformatting
13852
13853 2001-12-03  Geert Bosch <bosch@gnat.com>
13854
13855         * make.adb: Minor reformatting.
13856
13857 2001-12-03 Robert Dewar  <dewar@gnat.com>
13858
13859         * sem_ch12.adb: Minor reformatting
13860
13861 2001-12-03  Ed Schonberg <schonber@gnat.com>
13862
13863         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
13864         push Standard on the stack before analyzing the instance body,
13865         in order to have a clean visibility environment.
13866
13867         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
13868
13869 2001-12-03  Ed Schonberg <schonber@gnat.com>
13870
13871         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
13872         instantiation of a body that contains an inlined body.
13873
13874 2001-12-03  Ed Schonberg <schonber@gnat.com>
13875
13876         * sem_ch12.adb:
13877         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
13878         to prevent freezing within formal packages.
13879         (Freeze_Subprogram_Body): If body comes from another instance that
13880         appeared before its own body, place freeze node at end of current
13881         declarative part, to prevent a back-end crash.
13882         (Inline_Instance_Body): Handle properly a package instance within
13883         a subprogram instance that is a child unit.
13884
13885 2001-12-01  Graham Stott  <grahams@redhat.com>
13886
13887         * Makefile.in (misc.o): Add missing $(srcdir) prefix
13888         and add optabs.h dependency.
13889
13890         * misc.c: Include optabs.h
13891         (gnat_tree_code_type): Make static and const.
13892         (gnat_tree_code_length): Likewise.
13893         (gnat_tree_code_name): Likewise.
13894         (update_setjmp_buf): Obtain operands mode from insn_data.
13895
13896 2001-11-29  Richard Henderson  <rth@redhat.com>
13897
13898         * init.c: Remove obsolete dwarf2 frame.h section.
13899
13900 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
13901
13902         * Make-lang.in (ada.generated-manpages): New dummy target.
13903
13904 2001-11-29  Ed Schonberg <schonber@gnat.com>
13905
13906         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
13907         into Command, an array conversion is illegal here. Uncovered by
13908         ACATS B460005.
13909
13910 2001/11/28  Geert Bosch <bosch@gnat.com>
13911
13912         * init.c: Minor whitespace changes.
13913
13914 2001-11-28  Doug Rupp <rupp@gnat.com>
13915
13916         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
13917         signal stack.
13918
13919 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
13920
13921         * misc.c (gnat_expand_constant): Move declaration above
13922         definition of lang_hooks.
13923         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
13924         (gnat_init): lang_expand_constant no longer exists.
13925
13926         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
13927         always have vprintf.
13928         (gnat_init): Always call set_internal_error_function.
13929
13930 2001-11-27  Andreas Jaeger  <aj@suse.de>
13931
13932         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
13933
13934 2001-11-27  Laurent Guerby  <guerby@acm.org>
13935
13936         * Makefile.in: Regenerate Ada dependencies.
13937
13938 2001-11-26  Richard Henderson  <rth@redhat.com>
13939
13940         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
13941         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
13942         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
13943
13944 2001-11-25  Laurent Guerby  <guerby@acm.org>
13945
13946         * sysdep.c (rts_get_*): Fix style.
13947
13948 2001-11-19  Laurent Guerby  <guerby@acm.org>
13949
13950         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
13951         since it is of no apparent use and cause warnings.
13952
13953 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
13954
13955         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
13956         static too.
13957         (gnat_init): Don't return NULL.
13958         (finish_parse): Remove.
13959
13960 2001-11-17  Laurent Guerby  <guerby@acm.org>
13961
13962         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
13963         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
13964         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
13965         * lang-spec.h: Add missing struct field to silence warnings.
13966         * sysdep.c (rts_get_*): Provide K&R prototype.
13967         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
13968         * traceback.c (Unlock_Task, Lock_Task): Likewise.
13969         * tracebak.c (__gnat_backtrace): Remove unused variable.
13970         * utils.c (end_subprog_body): Move to K&R style.
13971
13972 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13973
13974         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
13975
13976 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
13977
13978         * misc.c (gnat_init): Change prototype.  Include the
13979         functionality of the old init_parse and init_decl_processing.
13980         (gnat_init_decl_processing): New prototype.
13981         (init_parse): Remove.
13982         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
13983
13984 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
13985
13986         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
13987         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
13988         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
13989         set_yydebug): Remove.
13990
13991 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
13992
13993         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
13994         (struct lang_hooks): Constify.
13995         (language_string, lang_identify): Remove.
13996         * utils.c (init_decl_processing): Update.
13997
13998 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13999
14000         * misc.c: Include langhooks-def.h.
14001         * Makefile.in: Update.
14002
14003 2001-10-30  Robert Dewar <dewar@gnat.com>
14004
14005         * style.adb:
14006         (Check_Identifier): Rewrite circuit to be compatible with use of letters
14007         in the upper half of ASCII.
14008         (Check_Identifier): Minor reformatting
14009
14010 2001-10-30  Geert Bosch <bosch@gnat.com>
14011
14012         * (Associated_Node, Set_Associated_Node): Do not check for
14013         Freeze_Entity.
14014
14015 2001-10-30  Robert Dewar <dewar@gnat.com>
14016
14017         * a-reatim.ads: Minor reformatting
14018
14019 2001-10-30  Robert Dewar <dewar@gnat.com>
14020
14021         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
14022         undocumented declarations.
14023
14024 2001-10-30  Pascal Obry <obry@gnat.com>
14025
14026         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
14027         to the binder and linker.
14028         Minor style fix.
14029
14030         * mdll.ads: Fix layout.  Update copyright notice.
14031
14032         * mdll.adb: Fix layout.  Update copyright notice.
14033
14034 2001-10-30  Robert Dewar <dewar@gnat.com>
14035
14036         * usage.adb: Minor fix to output for -gnaty.
14037
14038 2001-10-30  Ed Schonberg <schonber@gnat.com>
14039
14040         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
14041         to accommodate all its possible values.
14042
14043         * a-reatim.adb (Split): Special-case handling of Time_Span_First
14044         and of small absolute values of T.
14045
14046 2001-10-30  Richard Kenner <kenner@gnat.com>
14047
14048         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
14049         set_mem_attributes since not needed and wrong if RESULT if a REG;
14050         fixes ACATS failures.
14051
14052 2001-10-30  Geert Bosch <bosch@gnat.com>
14053
14054         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
14055         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
14056
14057 2001-10-30  Robert Dewar <dewar@gnat.com>
14058
14059         * bindusg.adb: Undocument -f switch.
14060
14061         * gnatcmd.adb: Remove /FULL_ELABORATION.
14062
14063         * opt.ads (Force_RM_Elaboration_Order): Document that this is
14064         obsolescent.
14065
14066         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
14067
14068         * gnatbind.adb: Minor update of warning msg.
14069
14070 2001-10-30  Vincent Celier <celier@gnat.com>
14071
14072         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
14073         for project file switches (-P (/PROJECT_FILE=),
14074          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
14075         or MEDIUM or HIGH)
14076
14077 2001-10-30  Geert Bosch <bosch@gnat.com>
14078
14079         * decl.c: Minor whitespace fixes.
14080
14081 2001-10-30  Richard Kenner <kenner@gnat.com>
14082
14083         * utils2.c (build_allocator): Test for SIZE overflow in array case too
14084
14085 2001-10-30  Geert Bosch <bosch@gnat.com>
14086
14087         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
14088         Found due to GCC 3.0 warning of using uninitialized value.
14089
14090         * layout.adb:
14091         (Get_Max_Size): Use variant record for tracking value/expression.
14092          Makes logic clearer and prevents warnings for uninitialized variables.
14093         (Layout_Array_Type): Use variant record for tracking value/expression.
14094          Makes logic clearer and prevents warnings for uninitialized variables.
14095
14096 2001-10-30  Robert Dewar <dewar@gnat.com>
14097
14098         * lib.adb: Minor reformatting
14099
14100         * s-taprop.ads: Minor reformatting
14101
14102 2001-10-29  Laurent Guerby  <guerby@acm.org>
14103
14104         * init.c:
14105         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
14106         const.
14107         (_gnat_error_handler): Make MSG const.
14108
14109 2001-10-29  Richard Kenner <kenner@gnat.com>
14110
14111         * sysdep.c: Fix localtime_r problem on LynxOS.
14112         Also remove #elif to avoid warnings.
14113
14114         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
14115         used by this.
14116
14117         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
14118
14119 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
14120
14121         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
14122         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
14123         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
14124         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
14125         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
14126         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
14127         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
14128         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
14129         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
14130         types.ads, urealp.adb: Fix spelling errors.
14131
14132 2001-10-27  Laurent Guerby <guerby@acm.org>
14133
14134         * trans.c (gigi): Fix non determinism leading to bootstrap
14135         comparison failures for debugging information.
14136
14137 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
14138
14139         * gnat_rm.texi: Use @./@: where appropriate.
14140
14141 2001-10-26  Robert Dewar <dewar@gnat.com>
14142
14143         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
14144
14145 2001-10-26  Richard Kenner <kenner@gnat.com>
14146
14147         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
14148
14149 2001-10-26  Richard Kenner <kenner@gnat.com>
14150
14151         * decl.c (validate_size): Modify message for bad size to avoid
14152         implication that compiler is modifying the size.
14153
14154 2001-10-26  Robert Dewar <dewar@gnat.com>
14155
14156         * prj-util.adb: Minor reformatting. Fix bad header format.
14157
14158 2001-10-26  Robert Dewar <dewar@gnat.com>
14159
14160         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
14161
14162         * sinfo.ads: Clarify use of Associated_Node (documentation only).
14163
14164         * sem_ch12.adb: Change Node4 to Associated_Node. Change
14165         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
14166         much more narrowly in places where needed. These are cleanups.
14167
14168 2001-10-26  Joel Brobecker <brobecke@gnat.com>
14169
14170         * 5zosinte.ads (null_pthread): new constant.
14171
14172         * 5ztaprop.adb:
14173         (Initialize_TCB): Initialize thread ID to null, to be able to verify
14174          later that this field has been set.
14175         (Finalize_TCB): ditto.
14176         (Suspend_Task): Verify that the thread ID is not null before using it.
14177         (Resume_Task): ditto.
14178
14179         * s-tasdeb.adb:
14180         (Resume_All_Tasks): Lock the tasks list before using it.
14181         (Suspend_All_Tasks): ditto.
14182
14183 2001-10-26  Richard Kenner <kenner@gnat.com>
14184
14185         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
14186         Make constant variant of designated type for Is_Access_Constant.
14187         Call update_pointer_to with main variant.
14188
14189         * trans.c (process_freeze_entity, process_type):
14190         Call update_pointer_to on main variant.
14191
14192         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
14193         If main variant, update all other variants.
14194
14195         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
14196         TREE_STATIC.
14197
14198 2001-10-26  Robert Dewar <dewar@gnat.com>
14199
14200         * prj-util.adb: Minor reformatting
14201
14202 2001-10-26  Robert Dewar <dewar@gnat.com>
14203
14204         * prj-util.adb: Minor reformatting
14205
14206 2001-10-26  Robert Dewar <dewar@gnat.com>
14207
14208         * prj-attr.adb: Minor reformatting throughout
14209
14210 2001-10-26  Robert Dewar <dewar@gnat.com>
14211
14212         * prj-attr.ads: Minor reformatting
14213         Add ??? comment (this whole spec has almost no comments)
14214
14215 2001-10-26  Vincent Celier <celier@gnat.com>
14216
14217         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
14218         ("//") that precede the drive letter on Interix.
14219
14220 2001-10-26  Geert Bosch <bosch@gnat.com>
14221
14222         * gnat_rm.texi: Add GNAT Reference Manual.
14223
14224 2001-10-25  Robert Dewar <dewar@gnat.com>
14225
14226         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
14227         is Error. Similar change for other renaming cases.
14228
14229 2001-10-25  Robert Dewar <dewar@gnat.com>
14230
14231         * s-atacco.ads: Add pragma Inline_Always for functions.
14232         Fix header format. Add copyright 2001
14233
14234 2001-10-25  Ed Schonberg <schonber@gnat.com>
14235
14236         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
14237         return Error rather than Empty so that analysis can proceed.
14238
14239 2001-10-25  Ed Schonberg <schonber@gnat.com>
14240
14241         * sem_util.adb (Enter_Name): better handling of cascaded error
14242         messages when a unit appears in its own context.
14243
14244 2001-10-25  Ed Schonberg <schonber@gnat.com>
14245
14246         * sem_util.adb (Defining_Entity): in case of error, attach created
14247         entity to specification, so that semantic analysis can proceed.
14248
14249 2001-10-25  Robert Dewar <dewar@gnat.com>
14250
14251         * sem_util.adb
14252         (Defining_Entity): Deal with Error.
14253         (Process_End_Label): Deal with bad end label for.
14254
14255 2001-10-25  Ed Schonberg <schonber@gnat.com>
14256
14257         * sem_elab.adb (Check_A_Call): refine message when call is in an
14258         instance but callee is not declared in the generic unit.
14259
14260 2001-10-25  Ed Schonberg <schonber@gnat.com>
14261
14262         * sem_elab.adb (Check_A_Call): check for renaming before finding the
14263         enclosing unit, which may already be different from the calling unit.
14264
14265 2001-10-25  Geert Bosch <bosch@gnat.com>
14266
14267         * 4gintnam.ads: fix header format.
14268
14269 2001-10-25  Ed Schonberg <schonber@gnat.com>
14270
14271         * sem_res.adb (Resolve_Call): if the call is actually an indexing
14272         operation on the result of a parameterless call, perform elaboration
14273         check after the node has been properly rewritten.
14274
14275         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
14276         inlined within the generic tree, the defining identifier is not a
14277         compilation_unit.
14278
14279 2001-10-25  Ed Schonberg <schonber@gnat.com>
14280
14281         * sem_res.adb (Resolve): special-case resolution of Null in an
14282          instance or an inlined body to avoid view conflicts.
14283
14284         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
14285          compatibility by retrieving the access type of the generic copy.
14286
14287 2001-10-25  Robert Dewar <dewar@gnat.com>
14288
14289         * sem_ch3.adb:
14290         (Analyze_Number_Declaration): Handle error expression.
14291         (Signed_Integer_Type_Declaration): Handle error bound.
14292         (Analyze_Subtype_Indication): Handle error range.
14293
14294         * sem_util.adb (Get_Index_Bounds): Check for Error.
14295
14296 2001-10-25  Robert Dewar <dewar@gnat.com>
14297
14298         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
14299         in no run time mode.
14300
14301 2001-10-25  Pascal Obry <obry@gnat.com>
14302
14303         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
14304         mode case for ALLOC case.
14305
14306         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
14307         all platforms. Improvement of last change.
14308
14309 2001-10-25  Robert Dewar <dewar@gnat.com>
14310
14311         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
14312
14313 2001-10-25  Geert Bosch  <bosch@gnat.com>
14314
14315         * osint.adb (Is_Relative): Remove duplicate.
14316
14317 2001-10-25  Pascal Obry <obry@gnat.com>
14318
14319         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
14320         pathnames in UNIX and DOS style with drive letter.
14321         (Is_Relative): new routine.
14322
14323         * osint.adb: Minor reformatting
14324
14325         * osint.adb (Is_Relative): implementation using
14326         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
14327
14328 2001-10-25  Pascal Obry <obry@gnat.com>
14329
14330         * g-dirope.adb (Basename): correctly compute offset between the
14331         original Path and the translated one.
14332
14333         * g-dirope.adb: (Base_Name): add some comments.
14334
14335 2001-10-25  Robert Dewar <dewar@gnat.com>
14336
14337         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
14338         in HIE mode, avoids compilation abandoned message
14339
14340         * exp_imgv.adb: Correct typo in previous change
14341
14342         * exp_imgv.adb: Correct typo in previous change (not my day!)
14343
14344 2001-10-25  Robert Dewar <dewar@gnat.com>
14345
14346         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
14347
14348 2001-10-25  Pascal Obry <obry@gnat.com>
14349
14350         * g-awk.ads: Move all pragma inlines next to the routine
14351          declarations. This is more uniform with other GNAT spec.
14352
14353 2001-10-22  Geert Bosch  <bosch@gnat.com>
14354
14355         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
14356
14357 2001-10-19  Geert Bosch  <bosch@gnat.com>
14358
14359         * Makefile.in (tools, gnattools): Remove gnatmem.
14360
14361 2001-10-17  Richard Henderson  <rth@redhat.com>
14362
14363         * Makefile.in (misc.o): Depend on langhooks.h.
14364         * misc.c: Include it.
14365         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
14366         (LANG_HOOKS_DECODE_OPTION): New.
14367         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
14368
14369 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
14370
14371         * trans.c (tree_transform): Adjust to recent change in
14372         expand_asm_operands to implement named asm operands.
14373
14374 2001-10-11  Ed Schonberg  <schonber@gnat.com>
14375
14376         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
14377         renaming of discriminant for mutable record type.
14378
14379 2001-10-11  Robert Dewar  <dewar@gnat.com>
14380
14381         * validsw.adb: Properly save -gnatVn status.
14382
14383 2001-10-11  Robert Dewar <dewar@gnat.com>
14384
14385         * usage.adb: Add lines for V switch.
14386
14387         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
14388         (/VALIDITY_CHECKING).
14389
14390 2001-10-11  Ed Schonberg <schonber@gnat.com>
14391
14392         * sem_type.adb (Add_One_Interp): an operator for a type declared in
14393         an extension of System is known to be visible.
14394
14395 2001-10-11  Ed Schonberg <schonber@gnat.com>
14396
14397         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
14398         properly. Fixes regression on ACATS C34005G.
14399
14400 2001-10-11  Robert Dewar <dewar@gnat.com>
14401
14402         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
14403         loop in generic instance, since this is likely not very useful.
14404
14405 2001-10-11  Robert Dewar <dewar@gnat.com>
14406
14407         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
14408         the error message for high integrity mode.
14409
14410         * rtsfind.adb (RTE): Give message if we try to find an entity that
14411         is not available in high integrity mode.
14412
14413         * rtsfind.ads:
14414         (OK_To_Use_In_HIE_Mode): New array.
14415         (RTE): May return Empty in high integrity mode.
14416
14417         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
14418         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
14419
14420         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
14421         unit if not inlined always and in no runtime mode. Fixes problem
14422         caused by new Rtsfind changes.
14423
14424         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
14425         body is deleted.
14426
14427         * rtsfind.adb (RTE): Make sure we do not try to load unit after
14428         giving message for entity not available in high integrity mode.
14429
14430 2001-10-11  Pascal Obry <obry@gnat.com>
14431
14432         * impunit.adb: Add GNAT.CRC32.
14433
14434 2001-10-11  Ed Schonberg <schonber@gnat.com>
14435
14436         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
14437         properly the case where one universal operand in a non-static
14438         exponentiation of a real literal.
14439
14440 2001-10-11  Ed Schonberg <schonber@gnat.com>
14441
14442         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
14443         clause, return the gobal finalization list, for lack of anthing else.
14444
14445 2001-10-11  Ed Schonberg <schonber@gnat.com>
14446
14447         * exp_ch7.adb (Make_Transient_Block): if statement is within
14448         exception handler, always use new transient scope to place Clean
14449         procedure.
14450
14451 2001-10-11  Pascal Obry <obry@gnat.com>
14452
14453         * Makefile.in:
14454         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
14455         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
14456         (GNATLS_RTL_OBJS): add g-crc32.o
14457         (GNATMAKE_RTL_OBJS): add g-crc32.o
14458
14459         * ali-util.adb:
14460         (CRC_Match): new function.
14461         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
14462         instead of the previous simple checksum algorithm.
14463         (Time_Stamp_Mismatch): use CRC_Match for comparison.
14464         (Set_Source_Table): idem.
14465
14466         * ali-util.ads:
14467         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
14468         instead of simple checksum.
14469         (CRC_Match): new function.
14470         (CRC_Error): new constant.
14471
14472         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
14473         a CRC now and not a simple checksum. A CRC uses lower-case hex
14474         letters, fixes ambiguity in parsing.
14475
14476         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
14477         is what this variable will store.
14478
14479         * bcheck.adb: Change reference to chechsum in comments by CRC.
14480         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
14481         rename All_Checksum_Match to All_CRC_Match. Change due to API
14482         renaming since now GNAT does not use a simple checksum but a
14483         CRC using GNAT.CRC32.
14484
14485         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
14486         now and not anymore a simple checksum.
14487
14488         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
14489         places.
14490
14491         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
14492
14493         * scans.adb:
14494         (Restore_Scan_State): rename Checksum to CRC.
14495         (Save_Scan_State): idem.
14496
14497         * scans.ads:
14498         With GNAT.CRC32.
14499         (Checksum): rename to CRC.
14500         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
14501
14502         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
14503         GNAT.CRC32).  Update copyright notice.
14504
14505         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
14506         GNAT.CRC32).  Update copyright notice.
14507
14508         * scn.adb:
14509         (Accumulate_Checksum): removed.
14510         (Update): new procedure. Add a wide-character into the CRC.
14511
14512         * sinput-l.adb:
14513         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
14514         (Load_File): fix initialization of S (change Source_Checksum to
14515         Source_CRC)
14516
14517         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
14518         Source_CRC in S initialization.
14519
14520         * sinput.adb (Source_Checksum): renamed to Source_CRC.
14521
14522         * sinput.ads (Source_Checksum): renamed to Source_CRC.
14523         Update comments for the CRC.
14524
14525         * types.adb (Hex): Use lowercase for the letter part.
14526
14527         * types.ads (Get_Hex_String): Returns the hexadecimal representation
14528         for a word. This is currently used only for CRC. In previous version,
14529         the checksum was using a representation with all letter being
14530         upper-case. With the new implementation (using CRC) we do not remove
14531         the 32th bit of the CRC, so we can have an upper-case starting letter
14532         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
14533         It is ambigous since the CRC was optional and could be followed by
14534         options like EB, EE. So now this routines uses lower-case letter for
14535         the hexadecimal representation. Strange enough only lower case letters
14536         where checked in Scan_ALI (even if this was not a possible case).
14537
14538         * gnatvsn.ads (Library_Version): changed to 3.15a.
14539
14540         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
14541         for the compiler.
14542
14543         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
14544         for the compiler.
14545
14546         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
14547         Add 2001 to copyright notice
14548         (Accumulate_Checksum): Modify to use System.CRC32.
14549
14550         * ali-util.ads: Redo changes of previous revision to continue to use
14551         the word Checksum. Add 2001 to copyright notice.
14552
14553         * ali.adb: Undo some of previous changes, not needed.
14554         Keep the change for lower case letters in the checksum.
14555
14556         * ali.ads: Undo previous change not needed.
14557
14558         * bcheck.adb: Undo most of previous change, not needed.
14559         But do use Checksums_Match for checksum comparison.
14560
14561         * gnatls.adb: Undo most of previous change, not needed.
14562         But do use Checksums_Match for comparing checksums.
14563
14564         * lib-load.adb: Undo previous change, not needed.
14565
14566         * lib-writ.adb: Undo previous change, not needed.
14567
14568         * lib-writ.ads: Document that checksums use lower case,
14569         not upper case letters.
14570
14571         * scans.adb: Undo previous change, not needed
14572
14573         * scans.ads: Undo previous change, not needed.
14574
14575         * scn-nlit.adb: Undo previous changes, not needed.
14576
14577         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
14578
14579         * scn.adb:
14580         (Accumulate_Checksum): Use System.CRC32.
14581         (Initialize_Checksum): New procedure.
14582         Remove other changes of previous revision.
14583
14584         * sinput-p.adb: Undo previous change, not needed.
14585
14586         * sinput.adb: Undo previous change, not needed.
14587
14588         * sinput-l.adb: Undo previous change, not needed.
14589
14590         * sinput.ads: Undo previous change, not needed.  Keep only comment
14591         on new checksum algorithm
14592
14593         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
14594         Also remove a-tags and a-stream from GNAT sources.
14595
14596         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
14597
14598         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
14599
14600 2001-10-11  Geert Bosch  <bosch@gnat.com>
14601
14602         * einfo.h: Regenerate.
14603
14604         * nmake.ads: Regenerate.
14605
14606         * nmake.adb: Regenerate.
14607
14608         * sinfo.h: Regenerate.
14609
14610         * treeprs.adb: Regenerate.
14611
14612 2001-10-10  Geert Bosch  <bosch@gnat.com>
14613
14614         * gnat-style.texi: New file describing coding guidelines for Ada.
14615
14616 2001-10-10  Ed Schonberg <schonber@gnat.com>
14617
14618         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
14619         is Flag174.
14620
14621 2001-10-10  Geert Bosch  <bosch@gnat.com>
14622
14623         * snames.ads: Add new names for project facility.
14624
14625         * snames.adb: Update to reflect snames.ads changes.
14626
14627         * snames.h: Update to reflect snames.ads changes.
14628
14629 2001-10-10  Vincent Celier <celier@gnat.com>
14630
14631         * make.adb:
14632         (Add_Switches): reflect the changes for the switches attributes
14633         Default_Switches indexed by the programming language,
14634         Switches indexed by the file name.
14635         (Collect_Arguments_And_Compile): Idem.
14636         Reflect the attribute name changes.
14637
14638         * prj-attr.adb:
14639         (Initialisation_Data): Change the names of some packages and
14640         attributes.
14641         (Initialize): process case insensitive associative arrays.
14642
14643         * prj-attr.ads:
14644         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
14645
14646         * prj-dect.adb:
14647         (Parse_Attribute_Declaration): For case insensitive associative
14648          arrays, set the index string to lower case.
14649
14650         * prj-env.adb:
14651         Reflect the changes of the project attributes.
14652
14653         * prj-nmsc.adb:
14654         Replace Check_Naming_Scheme by Ada_Check and
14655         Language_Independent_Check.
14656
14657         * prj-nmsc.ads:
14658         Replaced Check_Naming_Scheme by 2 procedures:
14659         Ada_Check and Language_Independent_Check.
14660
14661         * prj-proc.adb:
14662         (Process_Declarative_Items): For case-insensitive associative
14663         arrays, set the index string to lower case.
14664         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
14665         Prj.Nmsc.Check_Naming_Scheme.
14666
14667         * prj-tree.adb:
14668         (Case_Insensitive): New function
14669         (Set_Case_Insensitive): New procedure
14670
14671         * prj-tree.ads:
14672         (Case_Insensitive): New function
14673         (Set_Case_Insensitive): New procedure
14674         (Project_Node_Record): New flag Case_Insensitive.
14675
14676         * prj-util.adb:
14677         (Value_Of): new function to get the string value of a single
14678         string variable or attribute.
14679
14680         * prj-util.ads:
14681         (Value_Of): new function to get the string value of a single
14682         string variable or attribute.
14683
14684         * prj.adb:
14685         (Ada_Default_Spec_Suffix): New function
14686         (Ada_Default_Impl_Suffix): New function
14687         Change definitions of several constants to reflect
14688         new components of record types.
14689
14690         * prj.ads:
14691         (Naming_Data): Change several components to reflect new
14692         elements of naming schemes.
14693         (Project_Data): New flags Sources_Present and
14694         Language_Independent_Checked.
14695         (Ada_Default_Spec_Suffix): New function.
14696         (Ada_Default_Impl_Suffix): New function.
14697
14698         * snames.ads:
14699         Modification of predefined names for project manager: added
14700         Implementation, Specification_Exceptions, Implementation_Exceptions,
14701         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
14702         Default_Switches, _Languages, Builder, Cross_Reference,
14703         Finder. Removed Body_Part, Specification_Append, Body_Append,
14704         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
14705         Gnatlink.
14706
14707         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
14708         Add comments.
14709
14710         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
14711         not that it is Nil_Variable_Value.
14712
14713         * prj.ads: Add ??? for uncommented declarations
14714
14715 2001-10-10  Ed Schonberg <schonber@gnat.com>
14716
14717         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
14718         constant, do not indicate possible modification, so that gigi can
14719         treat it as a bona fide constant.
14720
14721 2001-10-10  Robert Dewar <dewar@gnat.com>
14722
14723         * sem_prag.adb: Add processing for pragma External.
14724
14725         * snames.ads: Add entry for pragma External.
14726
14727         * par-prag.adb: Add pragma External.
14728
14729         * snames.adb: Updated to match snames.ads.
14730
14731 2001-10-10  Ed Schonberg <schonber@gnat.com>
14732
14733         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
14734         a dynamic task if the allocator appears in an indexed assignment
14735         or selected component assignment.
14736
14737         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
14738         For a dynamic task in an assignment statement, use target of
14739         assignment to generate meaningful name.
14740
14741 2001-10-10  Ed Schonberg <schonber@gnat.com>
14742
14743         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
14744         a generic package.
14745
14746         * einfo.ads: Body_Entity is also defined for generic package.
14747         Documentation change only
14748
14749         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
14750         others_choice for a discriminated component initialization,
14751         convert discriminant references into the corresponding discriminals.
14752
14753         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
14754         only if original type is private and expression has to be wrapped
14755         in a conversion.
14756
14757         * checks.adb:
14758         (Apply_Constraint_Check): Do not perform length check
14759         if expression is an aggregate with only an others_choice.
14760         (Length_N_Cond): two references to the same in_parameter
14761         (typically the discriminal in an init_proc) denote the same value.
14762         Two useful optimization uncovered by bugfixes above.
14763
14764 2001-10-10  Robert Dewar <dewar@gnat.com>
14765
14766         * xeinfo.adb: Change int to char in translation of enumeration types.
14767         This fixes a problem in the C representation of component alignment.
14768         Add 2001 to copyright notice
14769
14770 2001-10-10  Richard Kenner <kenner@gnat.com>
14771
14772         * decl.c: (validate_size): Do check size of object of integral type
14773         if it is a packed array type.
14774
14775 2001-10-10  Richard Kenner <kenner@gnat.com>
14776
14777         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
14778         VAR_DECL for constant if not Is_Public but -O0.
14779
14780 2001-10-10  Richard Kenner  <kenner@gnat.com>
14781
14782         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
14783
14784 2001-10-10  Geert Bosch  <bosch@gnat.com>
14785
14786         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
14787         use '/' as switch character, allowing for absolute file names.
14788
14789 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
14790
14791         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
14792         FSF address.
14793
14794 2001-10-08  Geert Bosch  <bosch@gnat.com>
14795
14796         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
14797         Automatically build utilities when files need to be regenerated.
14798
14799 2001-10-08  Geert Bosch  <bosch@gnat.com>
14800
14801         * xsnames.adb: New utility for updating snames.ads and snames.adb
14802
14803 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
14804
14805         * Make-lang.in (ADAFLAGS): Add -W -Wall.
14806         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
14807         (gnat1): Also depend on attribs.o.
14808         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
14809         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
14810         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
14811         (ADAFLAGS): Add -W -Wall.
14812         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
14813         take out CFLAGS.
14814
14815         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
14816         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
14817         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
14818         Use $(ADAC), not $(CC), as compilation command.
14819
14820         (gnattools): Depend directly on tools to build, don't use
14821         recursive make.
14822         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
14823
14824         * einfo.h, sinfo.h: New files (autogenerated).
14825
14826 2001-10-08  Richard Henderson  <rth@redhat.com>
14827
14828         * comperr.adb (Abort_In_Progress): New.
14829         (Compiler_Abort): Use it to prevent recursion.
14830
14831 2001-10-08  Robert Dewar <dewar@gnat.com>
14832
14833         * atree.adb: Set Error_Posted in Error node, helps error recovery.
14834
14835         * par-endh.adb (Output_End_Expected): We should also not test
14836         Error_Posted on the Error node, since now it is always set.
14837
14838         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
14839         to help error recovery. Part of general work on 9407-004.
14840
14841         * par.adb: Add ??? for misuse of error
14842
14843         * sem_res.adb:
14844         (Resolve): Defend against Error, fixes 9407-003.
14845         (Resolve_Discrete_Subtype_Indication): Defend against Error.
14846
14847         * sinfo.ads (N_Error): Now has Etype field (which will be set
14848         to Any_Type to help error recovery).
14849
14850 2001-10-08  Richard Kenner (kenner@gnat.com)
14851
14852         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
14853         Consistently set MEM attributes from expression; fixes
14854         bootstrap failure on x86.
14855
14856 2001-10-08  Geert Bosch  (bosch@gnat.com)
14857
14858         * 5oosinte.adb: Add 2001 to copyright notice.
14859
14860 2001-10-08  Geert Bosch  (bosch@gnat.com)
14861
14862         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
14863
14864         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
14865
14866 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
14867
14868         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
14869
14870 2001-10-05  Geert Bosch  (bosch@gnat.com)
14871
14872         * adaint.h: Small formatting fix.
14873
14874 2001-10-04  Geert Bosch  <bosch@gnat.com>
14875
14876         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
14877         Arg is int, not FILE *, in dummy version of functions.
14878
14879         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
14880         Arg is int, not FILE *.
14881
14882 2001-10-04  Geert Bosch  <bosch@gnat.com>
14883
14884         * 3lsoccon.ads: Added file, missed with initial check ins.
14885
14886         * 4lintnam.ads: Fix header format.
14887         Change Linux to GNU/Linux.
14888
14889         * 5iosinte.adb: Change Linux to GNU/Linux.
14890
14891         * 5iosinte.ads: Change Linux to GNU/Linux.
14892
14893         * 5itaprop.adb: Change Linux to GNU/Linux.
14894
14895         * 5itaspri.ads: Change Linux to GNU/Linux.
14896         Update copyright notice.
14897
14898         * 5lintman.adb: Change Linux to GNU/Linux.
14899
14900         * 5lml-tgt.adb: Change Linux to GNU/Linux.
14901
14902         * 5losinte.ads: Change Linux to GNU/Linux.
14903
14904         * 5lsystem.ads: Change Linux to GNU/Linux.
14905
14906         * 5qosinte.adb: Change Linux to GNU/Linux.
14907
14908         * 5qosinte.ads: Change Linux to GNU/Linux.
14909
14910         * 5qparame.ads: Change Linux to GNU/Linux.
14911
14912         * 5qtaprop.adb: Change Linux to GNU/Linux.
14913
14914         * 5qtaspri.ads: Change Linux to GNU/Linux.
14915         Add 2001 to copyright notice.
14916
14917         * 5vintman.ads: Change Linux to GNU/Linux.
14918         Fix header format.  Add 2001 to copyright notice.
14919
14920         * g-soccon.ads: Change Linux to GNU/Linux.
14921
14922         * g-trasym.ads: Change Linux to GNU/Linux.
14923         Add 2001 to copyright notice.
14924
14925         * memtrack.adb: Change Linux to GNU/Linux.
14926
14927         * s-intman.ads: Change Linux to GNU/Linux.
14928         Add 2001 to copyright notice.  Fix header format.
14929
14930         * s-stache.adb: Change Linux to GNU/Linux.
14931
14932         * adaint.c: Change Linux to GNU/Linux.
14933
14934         * cio.c: Change Linux to GNU/Linux.
14935
14936         * cstreams.c: Change Linux to GNU/Linux.
14937
14938         * init.c: Change Linux to GNU/Linux.
14939
14940         * gmem.c: Change Linux to GNU/Linux.
14941
14942         * tracebak.c: Change Linux to GNU/Linux.
14943
14944
14945 2001-10-02  Geert Bosch  <bosch@gnat.com>
14946
14947         * misc.c (insert_default_attributes): Add dummy version.