OSDN Git Service

99ec072897071657ab4f82684a24bd55006851d4
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2005-11-18  Laurent GUERBY  <laurent@guerby.net>
2
3         PR ada/24857
4         * Makefile.in: Use s-auxdec-empty for RTEMS.
5
6 2005-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7
8         PR ada/22333
9         * trans.c (gnat_gimplify_expr, case ADDR_EXPR): Always make
10         a temporary if taking the address of something that is neither
11         reference, declaration, or constant, since the gimplifier
12         can't handle that case.
13
14 2005-11-17  Laurent GUERBY  <laurent@guerby.net>
15
16         PR ada/24857
17         * s-auxdec-empty.ads, s-auxdec-empty.adb: New files.
18         
19 2005-11-16  Richard Guenther  <rguenther@suse.de>
20
21         * Makefile.in: Add EH_MECHANISM=-gcc to s390(x) linux.
22
23 2005-11-16  Joel Sherrill <joel.sherrill@oarcorp.com>
24
25         PR ada/24855
26         * raise-gcc.c: Add missing stdarg.h include.
27  
28 2005-11-16  Richard Guenther  <rguenther@suse.de>
29
30         * Make-lang.in (ada/decl.o): Add $(EXPR_H) dependency.
31         (ada/misc.o): Likewise.
32
33 2005-11-14  Thomas Quinot  <quinot@adacore.com>
34
35         * g-soccon.ads: Minor reformatting. Update comments.
36
37         * gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
38         gain visibility on the declaration of struct timeval.
39
40         * g-soccon-freebsd.ads,
41         g-soccon-darwin.ads,
42         g-soccon-tru64.ads,
43         g-soccon-aix.ads,
44         g-soccon-irix.ads,
45         g-soccon-hpux.ads,
46         g-soccon-solaris.ads,
47         g-soccon-vms.ads,
48         g-soccon-mingw.ads,
49         g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.
50
51         * g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
52         g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
53         g-soccon-linux-x86.ads: New files.
54
55         * g-socthi-mingw.adb: 
56         (Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants
57
58         * g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
59         (time_t, suseconds_t): New types constructed to match the tv_sec
60         and tv_usec fields of C struct timeval.
61         (Timeval): Construct structure in terms of the new types.
62         (Host_Errno): New function (imported from socket.c), returns last hosts
63         database error.
64
65         * g-socthi-vxworks.adb:  Add error handling circuitry.
66
67         * g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
68         components of struct timeval.
69         (Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
70         (Check_Selector): In error conditions, clear internal socket sets to
71         avoid a memory leak.
72         (Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
73         Send_Timeout, Receive_Timeout.
74
75         * g-socthi.ads (time_t, suseconds_t): New types constructed to match
76         the tv_sec and tv_usec fields of C struct timeval.
77         (Timeval): Construct structure in terms of the new types.
78         (Host_Errno): New function (imported from socket.c), returns last hosts
79         database error.
80
81         * socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
82         hosts database last error code.
83
84         * gen-soccon.c: Complete value expansion should not be performed on
85         TARGET, as it has the form of a math expression, and some components
86         may be platform-defined macros.
87         For VxWorks, generate the OK and ERROR values.
88         New constants giving the sizes of the components of C struct timeval.
89
90 2005-11-14  Robert Dewar  <dewar@adacore.com>
91             Ed Schonberg  <schonberg@adacore.com>
92
93         PR ada/18434
94
95         * types.ads: Include All_Checks in Suppress_Array
96
97         * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
98         not(a=b), since we no longer do this rewriting, and hence it is not
99         needed.
100         (Elaboration_Checks_Suppressed): Add special casing to
101         deal with different cases of static and dynamic elaboration checks (all
102         checks does not count in the first case, but does in the second).
103         (Expr_Known_Valid): Do not assume that the result of any arbitrary
104         function call is valid, since this is not the case.
105         (Ensure_Valid): Do not apply validity check to a real literal
106         in a universal or fixed context
107
108         * exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
109         elementary types using the operator in standard. It is cleaner not to
110         modify the programmers intent, especially in the case of floating-point.
111         (Rewrite_Comparison): Fix handling of /= (this was always wrong, but
112         it did not matter because we always rewrote a/=b to not(a=b).
113         (Expand_Allocator_Expression): For an allocator expression whose nominal
114         subtype is an unconstrained packed type, convert the expression to its
115         actual constrained subtype.
116         Implement warning for <= or >= where < or > not possible
117         Fix to Vax_Float tests (too early in many routines, causing premature
118         Vax_Float expansions.
119
120         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
121         to be used with packages and generic packages as well as with
122         subprograms.
123         (Suppress): Set All_Checks, but not Elaboration_Check, for case
124         of pragma Suppress (All_Checks)
125         (Analyze_Pragma, case Warnings): Implement first argument allowed to be
126         a string literal for precise control over warnings.
127         Avoid raise of pragma in case of unrecognized pragma and just return
128         instead.
129
130         * sem_prag.ads: Minor reformatting
131
132         * switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
133         with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
134         Switch. Do not handle any exception.
135         Include -gnatwx as part of -gnatg (warn on redundant parens)
136         Allow optional = after -gnatm
137         (Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
138         longer sets Elaboration_Checks.
139         Code to set warning mode moved to Sem_Warn
140         so that it can be shared by pragma processing.
141
142         * s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
143         statement.
144
145         * s-taprop-solaris.adb: 
146         Change some <= to =, to avoid new warning
147
148         * a-exexda.adb, prj-proc.adb: 
149         Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
150         Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)
151
152 2005-11-14  Robert Dewar  <dewar@adacore.com>
153
154         * exp_vfpt.adb: Handle /= case
155         (Expand_Vax_Conversion): Properly recognize Conversion_OK flag
156         so that we do not get duplicate scaling for fixed point conversions.
157
158         * s-vaflop.ads, s-vaflop.adb: (Ne_F): New function
159
160 2005-11-14  Matthew Gingell  <gingell@adacore.com>
161
162         * system-lynxos-ppc.ads, system-lynxos-x86.ads: 
163         Increase default priority on Lynx from 15 to 17, and meet the Ada
164         requirement that Default_Priority be ((Priority'First +
165         Priority'Last) / 2) by increasing the range of Interrupt_Priority.
166
167 2005-11-14  Vincent Celier  <celier@adacore.com>
168
169         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
170         mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
171         mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
172         mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
173         mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
174         mlib-tgt-lynxos.adb (DLL_Prefix): New function
175
176 2005-11-14  Doug Rupp  <rupp@adacore.com>
177
178         * system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
179         private part.
180
181 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
182
183         * s-traces-default.adb, s-trafor-default.ads,
184         s-tratas-default.adb: Fix compilation errors.
185
186 2005-11-14  Jose Ruiz  <ruiz@adacore.com>
187
188         * s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
189         raising the exception so the memory used is freed.
190
191 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
192
193         * adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
194         (Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
195         (convert_address): Update comments and list of platforms using this.
196
197         * s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
198         no longer used.
199
200 2005-11-14  Pascal Obry  <obry@adacore.com>
201             Vincent Celier  <celier@adacore.com>
202
203         * gnatdll.adb (Parse_Command_Line): Remove redundant use of
204         GNAT.Command_Line.
205
206         * memroot.adb: Remove redundant with/use clause on
207         System.Storage_Elements.
208
209 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
210
211         * a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
212         (builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
213         related code to a-exexpr.adb
214         (Save_Occurrence_And_Private): Move GCC EH related code to
215         a-exexpr-gcc.adb
216         (Raise_Current_Excep): Add new variable Id with pragma
217         volatile, to ensure that the variable lives on stack.
218
219         * a-exexpr-gcc.adb, raise-gcc.c: New file.
220
221         * a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
222         from a-except.adb.
223         Move GCC EH related code to a-exexpr-gcc.adb
224
225         * Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
226         64-bit Solaris
227         Split the Linux version of g-soccon into separate variants for 32 and 64
228         bit platforms.
229         (gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
230         vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
231         install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
232         of host variable $(RANLIB_FLAGS).
233         (alpha64-dec-*vms*): Fix translations for 64 bit compiler.
234         Code clean up: remove unused/obsolete targets.
235         (EH_MECHANISM): New variable introduced to differenciate between the
236         two EH mechanisms statically.
237         (gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
238         (LIBGNAT_OBJS): Add raise-gcc.o
239         (LIBGNAT_TARGET_PAIRS for ppc-vxworks): Use an specialized version of
240         s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
241         supports VxWorks 6 RTPs.
242         (EXTRA_GNATRTL_NONTASKING_OBJS for ppc-vxworks): Remove the use of
243         i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
244
245         * raise.c: Move all GCC EH-related routines to raise-gcc.c
246
247 2005-11-14  Jose Ruiz  <ruiz@adacore.com>
248
249         * s-tassta.adb (Create_Task): Move the code in charge of resetting the
250         deferral level, when abort is not allowed, to a later stage (the
251         Task_Wrapper).
252         (Task_Wrapper): If Abort is not allowed, reset the deferral level since
253         it will not get changed by the generated code. It was previously done
254         in Create_Task.
255
256 2005-11-14  Thomas Quinot  <quinot@adacore.com>
257             Olivier Hainque  <hainque@adacore.com>
258             Eric Botcazou  <ebotcazou@adacore.com>
259
260         * decl.c:
261         Factor common code to build a storage type for an unconstrained object
262         from a fat or thin pointer type and a constrained object type.
263         (annotate_value): Handle BIT_AND_EXPR.
264         (annotate_rep): Don't restrict the back annotation of inherited
265         components to the type_annotate_only case.
266         (gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
267         we are not defining the type.
268         <E_Record_Type>: Likewise.
269         (gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
270         to get advantage of the new maybe_stabilize_reference interface, to
271         ensure that what we reference is indeed stabilized instead of relying
272         on assumptions on what the stabilizer does.
273         (gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
274         type imported through a limited_with clause, use its non-limited view.
275         (Has_Stdcall_Convention): New macro, to centralize the Windows vs others
276         differentiation.
277         (gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
278         of #if sections + explicit comparisons of convention identifiers.
279         (gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
280         before early-returning for certain types when code generation is
281         disabled.
282         (gnat_to_gnu_entity) <object>: Adjust comment attached to the
283         nullification of gnu_expr we do for objects with address clause and
284         that we are not defining.
285         (elaborate_expression_1): Do not create constants when creating
286         variables needed by the debug info: the dwarf2 writer considers that
287         CONST_DECLs is used only to represent enumeration constants, and emits
288         nothing for them.
289         (gnat_to_gnu_entity) <object>: When turning a non-definition of an
290         object with an address clause into an indirect reference, drop the
291         initializing expression.
292         Include "expr.h".
293         (STACK_CHECK_BUILTIN): Delete.
294         (STACK_CHECK_PROBE_INTERVAL): Likewise.
295         (STACK_CHECK_MAX_FRAME_SIZE): Likewise.
296         (STACK_CHECK_MAX_VAR_SIZE): Likewise.
297         (gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
298         corresponding to the renamed object as ignored for debugging purposes.
299
300         * trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
301         related): For a prefix that is a dereference of a fat or thin pointer,
302         if there is an actual subtype provided by the front-end, use that
303         subtype to build an actual type with bounds template.
304         (tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
305         is provided by the front-end, use that subtype to compute the size of
306         the deallocated object.
307         (gnat_to_gnu): When adding a statement into an elaboration procedure,
308         check for a potential violation of a No_Elaboration_Code restriction.
309         (maybe_stabilize_reference): New function, like gnat_stabilize_reference
310         with extra arguments to control whether to recurse through non-values
311         and to let the caller know if the stabilization has succeeded.
312         (gnat_stabilize_reference): Now a simple wrapper around
313         maybe_stabilize, for common uses without restriction on lvalues and
314         without need to check for the success indication.
315         (gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
316         pass false instead of 0 as the FORCE argument which is a bool.
317         (Identifier_to_gnu): Remove checks ensuring that an renamed object
318         attached to a renaming pointer has been properly stabilized, as no such
319         object is attached otherwise.
320         (call_to_gnu): Invoke create_var_decl to create the temporary when the
321         function uses the "target pointer" return mechanism.
322         Reinstate conversion of the actual to the type of the formal
323         parameter before any other specific treatment based on the passing
324         mechanism. This turns out to be necessary in order for PLACEHOLDER
325         substitution to work properly when the latter type is unconstrained.
326
327         * gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
328         common pattern.
329         (maybe_stabilize_reference): New function, like gnat_stabilize_reference
330         with extra arguments to control whether to recurse through non-values
331         and to let the caller know if the stabilization has succeeded.
332
333         * utils2.c (gnat_build_constructor): Only sort the fields for possible
334         static output of record constructor if all the components are constant.
335         (gnat_build_constructor): For a record type, sort the list of field
336         initializers in increasing bit position order.
337         Factor common code to build a storage type for an unconstrained object
338         from a fat or thin pointer type and a constrained object type.
339         (build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
340         types variants, and process special cases of VIEW_CONVERT expressions
341         as their NOP_EXPR counterpart to ensure we get to the
342         CORRESPONDING_VARs associated with CONST_DECls.
343         (build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
344         on the right-hand side.
345
346         * utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
347         a common pattern.
348         (convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
349         are converting back to its original type.
350         (convert) <JM input>: Fallthrough regular conversion code instead of
351         extracting the object if converting to a type variant.
352         (create_var_decl): When a variable has an initializer requiring code
353         generation and we are at the top level, check for a potential violation
354         of a No_Elaboration_Code restriction.
355         (create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
356         SIZE and SIZE_UNIT which we need for later back-annotations.
357         * utils.c: (convert) <STRING_CST>: Remove obsolete code.
358         <VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
359         is an unchecked union.
360         (pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
361         (convert) <VIEW_CONVERT_EXPR>: When the types have the same
362         main variant, just replace the VIEW_CONVERT_EXPR.
363         <UNION_TYPE>: Revert 2005-03-02 change.
364
365         * repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.
366
367         * repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.
368
369 2005-11-14  Matthew Heaney  <heaney@adacore.com>
370
371         * a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-convec.ads, 
372         a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohama.ads, a-cohama.adb, 
373         a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-cidlli.ads, 
374         a-cidlli.adb, a-cdlili.ads, a-cdlili.adb, a-coormu.adb, a-ciormu.adb, 
375         a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads, 
376         a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorma.adb, a-coorma.adb: 
377         Compiles against the spec for ordered maps described in sections
378         A.18.6 of the most recent (August 2005) AI-302 draft.
379
380 2005-11-14  Olivier Hainque  <hainque@adacore.com>
381
382         * cuintp.c (UI_To_gnu): Use a proper type for intermediate computations
383         to ensure bias adjustments take place when need be and to prevent
384         occurrences of intermediate overflows.
385
386 2005-11-14  Matthew Gingell  <gingell@adacore.com>
387             Olivier Hainque  <hainque@adacore.com>
388
389         * tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on
390         ia64 HP-UX.
391
392         * tracebak.c (ia64 configuration): Enable _Unwind_Backtrace driven
393         tracebacks on ia64 HP-UX and provide explanatory comment.
394         Enable backtraces on ia64 GNU/Linux.
395         (x86 configuration): Bump FRAME_LEVEL to 1 to ensure we retrieve a real
396         base pointer from builtin_frame_address. Adjust BASE_SKIP accordingly.
397
398 2005-11-14  Hristian Kirtchev  <kirtchev@adacore.com>
399             Javier Miranda  <miranda@adacore.com>
400
401         * rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
402         exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
403         exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
404         einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.
405
406         * a-tags.ads, a-tags.adb: Major rewrite and additions to implement
407         properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
408         assertions).
409
410         * exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
411         subprogram that generates the external name associated with a
412         secondary dispatch table.
413         (Get_Secondary_DT_External_Name): New subprogram that generates the
414         external name associated with a secondary dispatch table.
415
416 2005-11-14  Emmanuel Briot  <briot@adacore.com>
417
418         * xref_lib.adb (Parse_Identifier_Info): It is possible for an entity
419         line in the ALI file to include both an instantiation reference, and a
420         returned value.
421
422 2005-11-14  Vincent Celier  <celier@adacore.com>
423
424         * clean.adb (Check_Project): Look for Ada code in extending project,
425         even if Ada is not specified as a language.
426         Use new function DLL_Prefix for DLL_Name
427         (Clean_Interface_Copy_Directory): New procedure
428         (Clean_Library_Directory): New procedure
429         (Clean_Directory): Remove procedure, no longer used
430         (Clean_Project): Do not delete any file in an externally built project
431
432         * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object
433         directory of an extending project, even when there are no Ada source
434         present.
435         (Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path
436         (Set_Ada_Paths.Add.Recursive_Add): Ditto
437
438         * mlib-prj.adb (Check_Library): For all library projects, get the
439         library file timestamp.
440         (Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir
441         (Build_Library): Use new function DLL_Prefix for the DLL_Name
442         (Clean): Remove procedure, no longer used
443         (Ultimate_Extension_Of): New function
444         (Build_Library): When cleaning the library directory, only remove an
445         existing library file and any ALI file of a source of the project.
446         When cleaning the interface copy directory, remove any source that
447         could be a source of the project.
448
449         * prj.ads, prj.adb (Project_Empty): Add values of new components
450         Library_TS and All_Imported_Projects.
451         (Project_Empty): Add values for new components of Project_Data:
452         Library_ALI_Dir and Display_Library_ALI_Dir
453
454         * prj-attr.adb: New project level attribute name Library_ALI_Dir
455
456         * prj-nmsc.adb (Check_Library_Attributes): Take into account new
457         attribute Library_ALI_Dir.
458         (Check_Library_Attributes): The library directory cannot be the same as
459         any source directory of the project tree.
460         (Check_Stand_Alone_Library): The interface copy directory cannot be
461         the same as any source directory of the project tree.
462
463         * mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete
464         all temporary files.
465
466 2005-11-14  Robert Dewar  <dewar@adacore.com>
467             Ed Schonberg  <schonberg@adacore.com>
468
469         * sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
470         (Check_Elab_Call): A call within a protected body is never an
471         elaboration call, and does not require checking.
472         (Same_Elaboration_Scope): Take into account protected types for both
473         entities.
474         (Activate_Elaborate_All_Desirable): New procedure
475
476         * ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
477         desirable
478
479         * binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
480         (Elab_Error_Msg): Use -da to include internal unit links, not -de.
481
482         * lib-writ.ads, lib-writ.adb: 
483         Implement new AD/ED for Elaborate_All/Elaborate desirable
484         Use new Elaborate_All_Desirable flag in N_With_Clause node
485
486         * sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
487         N_Free_Statement nodes.
488         Define new class N_Subprogram_Instantiation
489         Add Elaborate_Desirable flag to N_With_Clause node
490         Add N_Delay_Statement (covering two kinds of delay)
491
492         * debug.adb: Introduce d.f flag for compiler
493         Add -da switch for binder
494
495 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
496             Cyrille Comar  <comar@adacore.com>
497
498         * exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity
499         for task component, in the case of a limited aggregate. The enclosed
500         object declaration will create it earlier. Otherwise, in the case of a
501         nested aggregate, the object may appear in the wrong scope.
502         (Convert_Aggr_In_Object_Decl): Create a transient scope when needed.
503         (Gen_Assign): If the component being assigned is an array type and the
504         expression is itself an aggregate, wrap the assignment in a block to
505         force finalization actions on the temporary created for each row of the
506         enclosing object.
507         (Build_Record_Aggr_Code): Significant rewrite insuring that ctrl
508         structures are initialized after all discriminants are set so that
509         they can be accessed even when their offset is dynamic.
510
511 2005-11-14  Robert Dewar  <dewar@adacore.com>
512             Hristian Kirtchev  <kirtchev@adacore.com>
513
514         * sem_attr.adb: Implement Machine_Rounding attribute
515         (Analyze_Access_Attribute): The access attribute may appear within an
516         aggregate that has been expanded into a loop.
517         (Check_Task_Prefix): Add semantic check for attribute 'Callable and
518         'Terminated whenever the prefix is of a task interface class-wide type.
519         (Analyze_Attribute): Add semantic check for attribute 'Identity whenever
520         the prefix is of a task interface class-wide type.
521
522         * s-vaflop-vms-alpha.adb: Valid_D, Valid_F, Valid_G: Make Val constant
523         to avoid warnings.
524
525         * s-fatgen.ads, s-fatgen.adb (Machine_Rounding): New function
526         Remove pragma Inline for [Unaligned_]Valid.
527         Add comments that Valid routines do not work for Vax_Float
528
529         * exp_attr.adb: Implement Machine_Rounding attribute
530
531         * snames.h: Add entry for Machine_Rounding attribute
532
533 2005-11-14  Javier Miranda  <miranda@adacore.com>
534             Robert Dewar  <dewar@adacore.com>
535             Hristian Kirtchev  <kirtchev@adacore.com>
536
537         * exp_attr.adb (Expand_N_Attribute_Reference, cases of Attribute_Size
538         and related): For a prefix that is an explicit dereference of an
539         access to unconstrained packed array type, annotate the dereference
540         with an actual subtype so GIGI can make a correct size computation.
541         (Expand_N_Attribute_Reference): In case of 'Unchecked_Access and
542         'Unrestricted_Access, if the designated type is an interface we
543         add a type conversion to force the displacement of the pointer
544         to the secondary dispatch table.
545         Use Universal_Real instead of Long_Long_Float when we need a high
546         precision float type for the generated code (prevents gratuitous
547         Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
548         (Expand_N_Attribute_Reference): Add support for attribute 'Callable and
549         'Terminated for task interface class-wide objects. Generate a call to
550         the predefined dispatching routine used to retrieve the _task_id from
551         a task corresponding record.
552         (Expand_Fpt_Attribute): Major change to properly handle Vax_Float
553
554         * sem_disp.adb: Change name Is_Package to Is_Package_Or_Generic_Package
555         (Check_Dispatching_Operation): Protect the frontend againts
556         previously detected errors.
557
558         * Makefile.rtl: Add new instantiations of system.fat_gen
559
560         * s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads: 
561         Change name of instantiated package for better consistency
562         with newly added system.fat_gen instantiations.
563
564         * s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads,
565         s-fvagfl.ads: New files.
566
567 2005-11-14  Cyrille Comar  <comar@adacore.com>
568             Thomas Quinot  <quinot@adacore.com>
569
570         * exp_ch5.adb (Expand_N_Assignment_Statement, Tagged_Case): For an
571         assignment of a value of a tagged type that has been rewritten to a
572         block statement, it is known by construction that no checks are
573         necessary for the statements within the block: analyze it with checks
574         suppressed.
575         (Expand_N_If_Statement): When killing a dead then-branch in an
576         if-statement that has elsif_parts, recompute the Current_Value node
577         for any entity whose value is known from the condition of the first
578         elsif_part.
579         (Expand_N_Return_Statement): When returning a mutable record, convert
580         the return value into its actual subtype in order to help the backend
581         to return the actual size instead of the maximum. This is another
582         aftermath of not returning mutable records on the sec-stack anymore.
583
584         * sem_ch5.ads, sem_ch5.adb (Analyze_Iteration_Scheme): Minor change to
585         handling of error msg for suspicious reverse range iteration.
586         (Check_Possible_Current_Value_Condition): Move declaration from body to
587         spec, to allow this subprogram to be called from exp_ch5.
588
589 2005-11-14  Thomas Quinot  <quinot@adacore.com>
590
591         * exp_dist.adb (Append_Array_Traversal): Modify constrained case to
592         generate a set of nested array aggregates instead of a single flat
593         aggregate for multi-dimensional arrays.
594
595 2005-11-14  Pascal Obry  <obry@adacore.com>
596
597         * expect.c (__gnat_kill) [Win32]: Fix implementation, the pid returned
598         by spawnve is a process handle, no need to convert. Add a parameter
599         close to control wether the process handle must be closed.
600         (__gnat_waitpid): Fix implementation, the pid returned by spawnve is
601         a process handle, not need to convert.
602         (__gnat_kill) [*]: Add dummy parameter close to match the Win32 spec.
603
604         * g-expect.adb: (Kill): Document the new close parameter.
605         (Close): Do not release the process handle in the kill there as
606         waitpid() is using it.
607         (Send_Signal): Release the process handle.
608
609 2005-11-14  Robert Dewar  <dewar@adacore.com>
610
611         * exp_fixd.adb: Use Universal_Real instead of Long_Long_Float when we
612         need a high precision float type for the generated code (prevents
613         gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
614         used).
615
616         * exp_imgv.adb: Use Universal_Real instead of Long_Long_Float when we
617         need a high precision float type for the generated code (prevents
618         gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
619         used).
620         (Expand_Width_Attribute): In configurable run-time, the attribute is not
621         allowed on non-static enumeration subtypes. Force a load error to emit
622         the correct diagnostic.
623
624 2005-11-14  Thomas Quinot  <quinot@adacore.com>
625             Robert Dewar  <dewar@adacore.com>
626             Ed Schonberg  <schonberg@adacore.com>
627
628         * exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual
629         subtype to compute the size of the designated object at run-time,
630         create such a subtype and store it in the Actual_Designated_Subtype
631         attribute of the N_Free_Statement.
632         Generate itype for classwide designated object in both cases of
633         user-specified storage pool: specific and class-wide, not only in the
634         specific case.
635         Raise CE when trying to set a not null access type object to null.
636         (Expand_Dispatching_Constructor_Call): Retrieve subprogram actual with
637         an explicit loop, because freeze nodes make its position variable.
638
639         * sem_intr.adb (Check_Intrinsic_Call): Given warning for freeing not
640         null object.
641
642 2005-11-14  Javier Miranda  <miranda@adacore.com>
643
644         * exp_strm.adb (Build_Stream_Attr_Profile, Build_Stream_Function,
645         Build_Stream_Procedure): Add the null-excluding attribute to the first
646         formal.
647         This has no semantic meaning under Ada95 mode but it is a
648         requirement under Ada05 mode.
649
650         * par-ch3.adb (P_Access_Definition): Addition of warning message if
651         the null exclusion is used under Ada95 mode
652         (P_Null_Exclusion): The qualifier has no semantic meaning in Ada 95.
653         (P_Access_Definition): Remove assertion that forbids the use of
654         the null-exclusion feature in Ada95.
655
656 2005-11-14  Robert Dewar  <dewar@adacore.com>
657
658         * impunit.adb: Exclude container helper units not intended for use by
659         users.
660
661 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
662
663         * freeze.adb (Freeze_Entity): For an access formal that is an access
664         to subprogram, freeze the anonymous subprogram type at the same time,
665         to prevent later freezing in the wrong scope, such as the enclosing
666         subprogram body.
667         (Freeze_Entity): Freeze the equivalent_type of an access_to_protected_
668         subprogram whenever available.
669
670 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
671
672         PR ada/23732
673         * gnatvsn.ads (Library_Version): Bump to 4.1
674
675 2005-11-14  Robert Dewar  <dewar@adacore.com>
676
677         * g-debpoo.adb (Set_Valid): Use Integer_Address instead of
678         Storage_Offset to avoid wrap around causing invalid results.
679
680 2005-11-14  Pascal Obry  <obry@adacore.com>
681
682         * gnatbind.adb (Is_Cross_Compiler): New function returning True for
683         cross-compiler.
684         (Scan_Bind_Arg): Fail with an error message if -M option is used
685         on a native compiler.
686
687 2005-11-14  Robert Dewar  <dewar@adacore.com>
688             Vincent Celier  <celier@adacore.com>
689
690         * gprep.adb: Implement -C switch to scan comments
691
692         * scng.adb: Scan comment symbol separately if Replace_In_Comments set
693
694         * scans.ads: Comment updates (including new use of Tok_Comment in
695         preprocessing)
696
697         * opt.ads: Add documentation for flags that are used by gprmake,
698         currently and in the next version of gprmake.
699         (Verbosity_Level): New variable
700         Add Replace_In_Comments switch
701
702         * vms_data.ads: Add VMS equivalent for new gnatmake switches -vl, -vm
703         and -vm.
704         Add /REPLACE_IN_COMMENTS for gnatprep -C switch
705
706 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
707
708         * g-regpat.adb (Fail): raise Expression_Error including the diagnostic
709         message, friendlier.
710
711 2005-11-14  Robert Dewar  <dewar@adacore.com>
712
713         * g-spitbo.adb: (Hash): Rotate by 3 instead of 1
714
715 2005-11-14  Doug Rupp  <rupp@adacore.com>
716
717         * init.c [VMS]: Don't install __gnat_error_handler if DBG$TDBG defined.
718
719 2005-11-14  Robert Dewar  <dewar@adacore.com>
720
721         * interfac.ads: Change declarations of IEEE float types so that we no
722         longer need a separate version of this package for VMS.
723
724 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
725
726         * lib-xref.adb (Generate_Definition, Generate_Reference): Treat the
727         internal entity created for the declaration of a child subprogram body
728         with no spec as coming from source, to generate proper cross-reference
729         information.
730
731 2005-11-14  Vincent Celier  <celier@adacore.com>
732
733         * make.adb (Compile_Sources): Change verbose message to minimum
734         verbosity level High for "is in an Ada library", "is a read-only
735         library" and "is an internal library",
736         (Create_Binder_Mapping_File): Path name of ALI file for library project
737         must include the library directory, not the object directory.
738         (Scan_Make_Arg): Make sure that Switch.M.Scan_Make_Switches is called
739         for new switches -vl, -vm and -vh.
740         (Verbose_Msg): Add new defaulted parameter Minimum_Verbosity
741         (Check): Use minimum verbosity Medium for some Verbose_Msg calls
742         (Compile_Sources): Do not attempt to compile if an ALI file is missing
743         in a project that is externally built.
744         (Compute_All_Imported_Projects): New procedure
745         (Gnatmake): Check if importing libraries should be regenerated because
746         at least an imported library is more recent.
747         (Initialize): For each project compute the list of the projects it
748         imports directly or indirectly.
749         (Add_Library_Search_Dir): New procedure, used in place of
750         Add_Lib_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
751         put in the search paths.
752         (Add_Source_Search_Dir): New procedure, used in place of
753         Add_Src_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
754         put in the search paths.
755         (Mark_Directory): Resolve the absolute path the directory before marking
756         it.
757
758         * switch-m.adb (Scan_Make_Switches): Replace "raise Bad_Switch;" with
759         call to new procedure Bad_Switch. Call Scan_Pos with new parameter
760         Switch. Do not handle any exception.
761         (Scan_Make_Switches): Increment Ptr for new switches -vl, -vm and -vh
762         so that the switch is recognized as valid.
763         (Scan_Make_Switches): Implement new switches -vl, -vm and -vh.
764
765 2005-11-14  GNAT Script  <nobody@adacore.com>
766
767         * Make-lang.in: Makefile automatically updated
768
769 2005-11-14  Pascal Obry  <obry@adacore.com>
770
771         * mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is
772         used.
773         (Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used.
774         In both cases the last argument was dropped.
775
776 2005-11-14  Eric Botcazou  <ebotcazou@adacore.com>
777
778         * namet.h: (Column_Numbe): New type.
779         (Get_Column_Number): Define to sinput__get_column_number.
780         (Instantiation): Define to sinput__instantiation.
781         (Get_Column_Number): Declare.
782         (Instantiation): Likewise.
783
784 2005-11-14  Robert Dewar  <dewar@adacore.com>
785
786         * par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit
787         syntax, which could cause compiler hangs.
788
789 2005-11-14  Vincent Celier  <celier@adacore.com>
790
791         * prj-ext.adb: Take into account new environment variable
792         GPR_PROJECT_PATH. Warn if both GPR_PROJECT_PATH and ADA_PROJECT_PATH
793         are defined.
794         (Prj.Ext elaboration): For each directory in the ADA_PROJECT_PATH,
795         normalize its path name, making it absolute and resolving symbolic
796         links, and replace the original if resolved path is different.
797
798 2005-11-14  Vincent Celier  <celier@adacore.com>
799
800         * prj-part.adb (Create_Virtual_Extending_Project): Put virtual project
801         into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS.
802
803 2005-11-14  Emmanuel Briot  <briot@adacore.com>
804
805         * prj-pp.adb (Print): Do not output the with statement if the
806         associated name is empty, which happens for virtual extending projects.
807         (Print): Preserve the "extends all" attribute when printing the project.
808
809         * prj-tree.ads (String_Value_Of): Add comment about returned value for
810         a virtual extending project.
811
812 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
813
814         * sem_aggr.adb (Resolve_Aggregate): An others choice is legal on the
815         rhs of an assignment even if the type is unconstrained, when the
816         context is non-expanding.
817         In an inlined body, if the context type is private,
818         resolve with its full view, which must be a composite type.
819
820 2005-11-14  Robert Dewar  <dewar@adacore.com>
821             Ed Schonberg  <schonberg@adacore.com>
822
823         * sem_ch10.adb: Change name Is_Package to Is_Package_Or_Generic_Package
824         Do not give obsolescent warning on with of subprogram (since we
825         diagnose calls)
826         (Analyze_With_Clause): Add test for obsolescent package
827         (Install_Context_Clauses): If the unit is the body of a child unit, do
828         not install twice the private declarations of the parents, to prevent
829         circular lists of Use_Clauses in a parent.
830         (Implicit_With_On_Parent): Do add duplicate with_clause on parent when
831         compiling body of child unit.
832         Use new class N_Subprogram_Instantiation
833         (Expand_With_Clause): If this is a private with_clause for a child unit,
834         appearing in the context of a package declaration, then the implicit
835         with_clauses generated for parent units are private as well.
836         (License_Check): Do not generate message if with'ed unit is internal
837
838 2005-11-14  Gary Dismukes  <dismukes@adacore.com>
839             Ed Schonberg  <schonberg@adacore.com>
840             Thomas Quinot  <quinot@adacore.com>
841
842         * sem_ch12.ads, sem_ch12.adb (Map_Entities): Exclude entities whose
843         names are internal, because they will not have a corresponding partner
844         in the actual package.
845         (Analyze_Formal_Package): Move the setting of the formal package spec's
846         Generic_Parent field so that it occurs prior to analyzing the package,
847         to allow proper operation of Install_Parent_Private_Declarations.
848         (Analyze_Package_Instantiation): Set the instantiated package entity's
849         Package_Instantiation field.
850         (Get_Package_Instantiation_Node): Move declaration to package spec.
851         Retrieve the N_Package_Instantiation node when the Package_Instantiation
852         field is present.
853         (Check_Generic_Child_Unit): Within an inlined call, the only possible
854         instantiation is Unchecked_Conversion, for which no parents are needed.
855         (Inline_Instance_Body): Deinstall and record the use_clauses for all
856         parent scopes of a scope being removed prior to inlining an instance
857         body.
858         (Analyze_Package_Instantiation): Do not perform front-end inlining when
859         the current context is itself an instance within a non-instance child
860         unit, to prevent scope stack errors.
861         (Save_References): If the node is an aggregate that is an actual in a
862         call, rewrite as a qualified expression to preserve some type
863         information, to resolve possible ambiguities in the instance.
864         (Instance_Parent_Unit): New global variable to record the ultimate
865         parent unit associated with a generic child unit instance (associated
866         with the existing Parent_Unit_Visible flag).
867         (type Instance_Env): New component Instance_Parent_Unit for stacking
868         parents recorded in the global Instance_Parent_Unit.
869         (Init_Env): Save value of Instance_Parent_Unit in the Instance_Env
870         stack.
871         (Install_Spec): Save the parent unit entity in Instance_Parent_Unit when
872         it's not a top-level unit, and only do this if Instance_Parent_Unit is
873         not already set. Replace test of Is_Child_Unit with test of parent's
874         scope against package Standard. Add comments and a ??? comment.
875         (Remove_Parent): Revise condition for resetting Is_Immediately_Visible
876         on a child instance parent to test that the parent equals
877         Instance_Parent rather than simply checking that the unit is not a
878         child unit.
879         (Restore_Env): Restore value of Instance_Parent_Unit from Instance_Env.
880         (Validate_Derived_Interface_Type_Instance): Verify that all ancestors of
881         a formal interface are ancestors of the corresponding actual.
882         (Validate_Formal_Interface_Type): Additional legality checks.
883         (Analyze_Formal_Derived_Interface_Type): New procedure to handle formal
884         interface types with ancestors.
885         (Analyze_Formal_Package): If formal is a renaming, use renamed entity
886         to diagnose attempts to use generic within its own declaration.
887
888 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
889             Javier Miranda  <miranda@adacore.com>
890
891         * sem_ch3.ads, sem_ch3.adb (Build_Discriminal): Add link to original
892         discriminant.
893         (Build_Private_Derived_Type): The entity of the created full view of the
894         derived type does not come from source. If after installing the private
895         declarations of the parent scope the parent is still private, use its
896         full view to construct the full declaration of the derived type.
897         (Build_Derived_Record_Type): Relax the condition that controls the
898         execution of the check that verifies that the partial view and
899         the full view agree in the set of implemented interfaces. In
900         addition, this test now only takes into account the progenitors.
901         (Derive_Interface_Subprograms): No need to derive subprograms
902         of ancestors that are interfaces.
903         (Derive_Subprograms): Remove formal No_Predefined_Prims and the
904         associated code.
905         Change name Is_Package to Is_Package_Or_Generic_Package
906         (Complete_Subprograms_Derivation): Handle the case in which the full
907         view is a transitive derivation of the ancestor of the partial view.
908         (Process_Full_View): Rename local subprogram Find_Interface_In_
909         Descendant to Find_Ancestor_Interface to leave the code more clear.
910         Remove wrong code that avoids the generation of an error message
911         when the immediate ancestor of the partial view is an interface.
912         In addition some minor reorganization of the code has been done to
913         leave it more clear.
914         (Analyze_Type_Declaration): If type has previous incomplete tagged
915         partial view, inherit properly its primitive operations.
916         (Collect_Interfaces): Make public, for analysis of formal
917         interfaces.
918         (Analyze_Interface_Declaration): New procedure for use for regular and
919         formal interface declarations.
920         (Build_Derived_Record_Type): Add support for private types to the code
921         that checks if a tagged type implements abstract interfaces.
922         (Check_Aliased_Component_Type): The test applies in the spec of an
923         instance as well.
924         (Access_Type_Declaration): Clean up declaration of malformed type
925         declared as an access to its own classwide type, to prevent cascaded
926         crash.
927         (Collect_Interfaces): For private extensions and for derived task types
928         and derived protected types, the parent may be an interface that must
929         be included in the interface list.
930         (Access_Definition): If the designated type is an interface that may
931         contain tasks, create Master_Id for it before analyzing the expression
932         of the declaration, which may be an allocator.
933         (Record_Type_Declaration): Set properly the interface kind, for use
934         in allocators, the creation of master id's for task interfaces, etc.
935
936 2005-11-14  Javier Miranda  <miranda@adacore.com>
937             Ed Schonberg  <schonberg@adacore.com>
938
939         * sem_ch6.adb (Check_Conformance): The null-exclusion feature can be
940         omitted in case of stream attribute subprograms.
941         (Check_Inline_Pragma): Handle Inline and Inline_Always pragmas that
942         appear immediately after a subprogram body, when there is no previous
943         subprogram declaration.
944         Change name Is_Package to Is_Package_Or_Generic_Package
945         (Process_Formals): A non null qualifier on a non null named access
946         type is not an error, and is a warning only if Redundant_Constructs
947         are flagged.
948
949 2005-11-14  Gary Dismukes  <dismukes@adacore.com>
950             Ed Schonberg  <schonberg@adacore.com>
951
952         * sem_ch7.adb (Install_Parent_Private_Declarations): New procedure
953         nested within Analyze_Package_Specification to install the private
954         declarations and use clauses within each of the parent units of a
955         package instance of a generic child package.
956         (Analyze_Package_Specification): When entering a private part of a
957         package associated with a generic instance or formal package, the
958         private declarations of the parent must be installed (by calling new
959         procedure Install_Parent_Private_Declarations).
960         Change name Is_Package to Is_Package_Or_Generic_Package
961         (Preserve_Full_Attributes): For a synchronized type, the corresponding
962         record is absent in a generic context, which does not indicate a
963         compiler error.
964
965 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
966
967         * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic context, do
968         not try to rewrite a renamed stream attribute, because the operations
969         on the type may not have been generated.
970         Handle properly a renaming_as_body generated for a stream operation
971         whose default is abstract because the object type itself is abstract.
972         (Find_Type): If the type is incomplete and appears as the prefix of a
973         'Class reference, it is tagged, and its list of primitive operations
974         must be initialized properly.
975         (Chain_Use_Clauses): When chaining the use clauses that appear in the
976         private declaration of a parent unit, prior to compiling the private
977         part of a child unit, find on the scope stack the proper parent entity
978         on which to link the use clause.
979         (Note_Redundant_Use): Emit a warning when a redundant use clause is
980         detected.
981         (Analyze_Object_Renaming): An attribute reference is not a legal object
982         if it is not a function call.
983
984 2005-11-14  Robert Dewar  <dewar@adacore.com>
985             Ed Schonberg  <schonberg@adacore.com>
986
987         * sem_eval.adb: Implement d.f flag
988         (Subtype_Statically_Match): A generic actual type has unknown
989         discriminants when the corresponding actual has a similar partial view.
990         If the routine is called to validate the signature of an inherited
991         operation in a child instance, the generic actual matches the full view,
992
993 2005-11-14  Hristian Kirtchev  <kirtchev@adacore.com>
994             Ed Schonberg  <schonberg@adacore.com>
995             Robert Dewar  <dewar@adacore.com>
996             Thomas Quinot  <quinot@adacore.com>
997
998         * sem_res.adb (Resolve_Call): Provide a better error message whenever
999         a procedure call is used as a select statement trigger and is not an
1000         entry renaming or a primitive of a limited interface.
1001         (Valid_Conversion): If the operand has a single interpretation do not
1002         remove address operations.
1003         (Check_Infinite_Recursion): Skip freeze nodes when looking for a raise
1004         statement to inhibit warning.
1005         (Resolve_Unary_Op): Do not produce a warning when
1006         processing an expression of the form -(A mod B)
1007         Use Universal_Real instead of Long_Long_Float when we need a high
1008         precision float type for the generated code (prevents gratuitous
1009         Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
1010         (Resolve_Concatenation_Arg): Improve error message when argument is an
1011         ambiguous call to a function that returns an array.
1012         (Make_Call_Into_Operator, Operand_Type_In_Scope): Do not check that
1013         there is an implicit operator in the given scope if we are within an
1014         instance: legality check has been performed on the generic.
1015         (Resolve_Unary_Op): Apply warnings checks on argument of Abs operator
1016         after resolving operand, to avoid false warnings on overloaded calls.
1017
1018 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
1019             Javier Miranda  <miranda@adacore.com>
1020
1021         PR ada/15604
1022
1023         * sem_type.adb (Covers): In an inlined body, a composite type matches
1024         a private type whose full view is a composite type.
1025         (Interface_Present_In_Ancestor): Protect the frontend against
1026         previously detected errors to ensure that its compilation
1027         with assertions enabled gives the same output that its
1028         compilation without assertions.
1029         (Interface_Present_In_Ancestor): Add support for private types.
1030         Change name In_Actual to In_Generic_Actual (clean up)
1031         (Disambiguate): New predicate In_Actual, to recognize expressions that
1032         appear in the renaming declaration generated for generic actuals, and
1033         which must be resolved in the outer context.
1034
1035 2005-11-14  Robert Dewar  <dewar@adacore.com>
1036             Thomas Quinot  <quinot@adacore.com>
1037             Hristian Kirtchev  <kirtchev@adacore.com>
1038             Ed Schonberg  <schonberg@adacore.com>
1039
1040         * sem_util.ads, sem_util.adb: Change name Is_Package to
1041         Is_Package_Or_Generic_Package.
1042         (Check_Obsolescent): New procedure.
1043         (Set_Is_Public): Remove obsolete junk test.
1044         (Set_Public_Status): Do not set Is_Public on an object whose declaration
1045         occurs within a handled_sequence_of_statemets.
1046         (Is_Controlling_Limited_Procedure): Factor some of the logic, account
1047         for a parameterless procedure.
1048         (Enter_Name): Recognize renaming declarations created for private
1049         component of a protected type within protected operations, so that
1050         the source name of the component can be used in the debugger.
1051
1052 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
1053             Robert Dewar  <dewar@adacore.com>
1054
1055         * sem_warn.ads, sem_warn.adb (Publicly_Referenceable): Generic formals
1056         of a generic subprogram are not visible outside the body.
1057         (Set_Warning_Switch): New procedure (code to set warning mode moved
1058         here from Switch.C so that it can be shared by pragma processing.
1059         (Check_References): Special case warning for non-modified non-imported
1060         volatile objects.
1061         * par-prag.adb: Modify processing of pragma Warnings to accomodate new
1062         form with a string literal argument
1063
1064 2005-11-14  Javier Miranda  <miranda@adacore.com>
1065
1066         * s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the
1067         anonymous access.
1068         (Write): Addition of "not null" to the anonymous access.
1069         (Read): Addition of "not null" to the anonymous access.
1070         (Write): Addition of "not null" to the anonymous access.
1071
1072         * s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F,
1073         I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU,
1074         I_SU, I_U, I_WC): Addition of "not null" to the anonymous access.
1075         (W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU,
1076         W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of
1077         "not null" to the anonymous access.
1078
1079 2005-11-14  Robert Dewar  <dewar@adacore.com>
1080
1081         * s-stoele.adb: Fix code for Address mod Storage_Offset for negative
1082         offset values
1083
1084 2005-11-14  Vincent Celier  <celier@adacore.com>
1085
1086         * switch.adb (Bad_Switch): New procedure
1087         (Scan_Nat, Scan_Pos): Directly call Osint.Fail with the appropriate
1088         message when in error.
1089
1090         * switch.ads (Bad_Switch, Bad_Switch_Value, Missing_Switch_Value,
1091         Too_Many_Output_Files): Remove declarations, no longer used.
1092         (Scan_Nat): New parameter Switch
1093         (Scan_Pos): Ditto
1094         (Bad_Switch): New procedure
1095
1096         * switch-b.adb (Scan_Binder_Switches): Replace "raise Bad_Switch;"
1097         with call to new procedure Bad_Switch. Call Scan_Pos and Scan_Natwith
1098         new parameter Switch. Replace "raise Too_Many_Output_Files;" with call
1099         to Osint.Fail. Do not handle any exception.
1100
1101 2005-11-14  Vincent Celier  <celier@adacore.com>
1102
1103         * tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it
1104         designates a non existent directory.
1105
1106 2005-11-14  Robert Dewar  <dewar@adacore.com>
1107
1108         * xgnatugn.adb: Replace invalid membership test by 'Valid
1109
1110 2005-11-14  Vincent Celier  <celier@adacore.com>
1111
1112         * makegpr.adb (Gprmake): Do not attempt to build the global archive if
1113         there is no object directory.
1114
1115 2005-11-14  Robert Dewar  <dewar@adacore.com>
1116
1117         * usage.adb: Minor adjustment to output format, use nn instead of nnn
1118         (so that -gnateInnn does not run into next column)
1119
1120 2005-11-14  Ed Falis  <falis@adacore.com>
1121
1122         * s-bitops.adb (Bits_Array): corrected comment: "unconstrained" =>
1123         "constrained"
1124
1125 2005-11-14  Cyrille Comar  <comar@adacore.com>
1126
1127         * s-chepoo.ads: Add comments on Dereference.
1128         Remove unnecessary inherited abstract primitives.
1129         Cosmetic cleanup.
1130
1131 2005-11-14  Robert Dewar  <dewar@adacore.com>
1132
1133         * sem_cat.ads (Validate_Access_Type_Declaration): Remove declaration
1134         node parameter, not needed, since it is available as Declaration_Node.
1135
1136 2005-11-14  Geert Bosch  <bosch@adacore.com>
1137
1138         * s-exnllf.adb (Exn_LLF): Fix comment to be more precise and
1139         grammatically correct.
1140
1141 2005-11-14  Vincent Celier  <celier@adacore.com>
1142
1143         * s-fileio.ads: Correct spelling error in comment
1144
1145 2005-11-14  Cyrille Comar  <comar@adacore.com>
1146             Robert Dewar  <dewar@adacore.com>
1147             Vincent Celier  <celier@adacore.com>
1148             Ben Brosgol  <brosgol@adacore.com>
1149             Jose Ruiz  <ruiz@adacore.com>
1150             Pascal Obry  <obry@adacore.com>
1151
1152         * gnat_ugn.texi: 
1153         Document that -fstack-check is needed for strict compliance with the
1154         Ada 95 Reference Manual.
1155         Correct reference to VAX systems to meet HP guidelines
1156         Add documentation for new gnatmake switches -vl, -vm and -vh
1157         Replace DEC Ada by HP Ada
1158         Replace DIGITAL by HP
1159         Remove empty section on tools in compatibility section
1160         Clarify the Windows convention semantics.
1161         Document the Win32 calling convention.
1162         The Stdcall, Win32 and DLL convention are synonyms.
1163         Add a note in -gnatR description about zero size record components
1164         Note on new >= and <= warnings for -gnatwc
1165         Document that equal sign after -gnatm is optional.
1166         Note that strip is working fine on DLL built with a Library
1167         Project. The restriction apply only to DLL built with gnatdll.
1168         Update section about the way to debug a DLL.
1169         Update information about the DLL convention.
1170         Document -C switch for gnatprep
1171         Document new attribute Library_ALI_Dir
1172         Update elaboration doc to include implicit Elaborate pragmas now
1173         generated for subprogram instantiations.
1174         Document limitation on executable names that include spaces for --GCC,
1175         --GNATBIND, and --GNATLINK switches.
1176         Document that -w causes -gnatws to be added at start of gcc switches
1177
1178         * gnat_rm.texi: Document that -mieee is needed for generating infinite
1179         and NaN values in case of overflow on machines that are not fully
1180         compliant with the IEEE floating-point standard.
1181         Create a section describing the set of compiler options needed for
1182         strict compliance with the Ada 95 Reference Manual.
1183         Add documentation for pragma Obsolescent applied to a package
1184         Clarify potential issues of mixed language programs related to the
1185         I/O buffering enabling in the elaboration of the GNAT runtime.
1186         Add extra documentation for pragma Restrictions (No_Elaboration_Code)
1187         This documentation only patch adds extra documentsion for pragma
1188         Restrictions (No_Elaboration_Code), explaining why it is not possible
1189         to document this restriction in terms of allowed source constructs.
1190         Document string literal form of pragma Warnings
1191         Document new attribute Library_ALI_Dir
1192         Add documentation on stable attributes in project files that was missing
1193
1194         * gnat-style.texi: Indicate that paragraphs within a single comment
1195         should be separated by empty comment lines
1196
1197         * ug_words: Added replacements for -gnat95 and -gnat05 (/95 and
1198         /05 respectively)
1199
1200         * bindusg.adb: Minor cleanup, put -m before -M for consistency
1201
1202 2005-11-14  Robert Dewar  <dewar@adacore.com>
1203
1204         * a-secain.adb, a-slcain.adb, a-shcain.adb, a-chtgke.ads, a-chtgke.adb,
1205         a-stwiha.adb, a-strhas.adb, a-chzla1.ads, a-chzla9.ads, a-stzbou.adb,
1206         a-stzbou.ads, a-stzfix.adb, a-stzhas.adb, a-stzmap.adb, a-stzmap.ads,
1207         a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads, a-stzunb.adb,
1208         a-stzunb.ads, a-szuzha.adb, a-szuzha.ads, a-szuzti.adb, a-szuzti.ads,
1209         a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb, a-ztcstr.adb, a-ztcstr.ads,
1210         a-ztdeau.adb, a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
1211         a-ztedit.ads, a-ztenau.ads, a-ztenio.adb, a-ztenio.ads, a-ztexio.adb,
1212         a-ztexio.ads, a-ztfiio.adb, a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads,
1213         a-ztflio.adb, a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
1214         a-ztinau.ads, a-ztinio.adb, a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads,
1215         a-zttest.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-alpha.adb,
1216         g-enblsp-vms-ia64.adb, g-enblsp-vms-ia64.adb, system-linux-hppa.ads,
1217         a-chacon.adb, a-chacon.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
1218         a-zchuni.ads, g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb,
1219         system-hpux-ia64.ads, g-soccon-unixware.ads, g-soliop-unixware.ads,
1220         g-soccon-interix.ads, g-soliop-solaris.ads, g-eacodu-vms.adb,
1221         g-expect-vms.adb, g-socthi-vms.adb, g-soliop-mingw.ads,
1222         a-intnam-unixware.ads, a-intnam-lynxos.ads, a-intnam-tru64.ads,
1223         a-intnam-aix.ads, a-intnam-linux.ads, a-intnam-linux.ads,
1224         a-intnam-dummy.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
1225         a-intnam-solaris.ads, a-calend-vms.adb, a-calend-vms.ads,
1226         a-intnam-vms.ads, a-calend-mingw.adb, a-intnam-mingw.ads,
1227         a-intnam-vxworks.ads, a-numaux-vxworks.ads, system-unixware.ads,
1228         system-linux-ia64.ads, a-intnam-freebsd.ads, system-freebsd-x86.ads,
1229         system-lynxos-ppc.ads, system-linux-x86_64.ads, a-stunha.adb,
1230         a-cgaaso.ads, a-cgaaso.adb, a-chtgop.adb, a-cgcaso.adb, a-cgarso.adb,
1231         a-cohata.ads, a-crbtgk.adb, a-crbltr.ads, a-coprnu.adb, a-rbtgso.adb,
1232         a-intnam-darwin.ads, system-darwin-ppc.ads, gprmake.adb, makegpr.ads,
1233         system-tru64.ads, system-aix.ads, system-solaris-x86.ads,
1234         system-irix-o32.ads, s-interr-sigaction.adb, system-irix-n32.ads,
1235         s-parame-mingw.adb, system-hpux.ads, s-traceb-hpux.adb,
1236         system-linux-x86.ads, s-inmaop-dummy.adb, system-os2.ads,
1237         system-interix.ads, system-solaris-sparc.ads,
1238         system-solaris-sparcv9.ads, s-inmaop-vms.adb,
1239         s-mastop-vms.adb, expander.adb, expander.ads, s-gloloc-mingw.adb,
1240         system-mingw.ads, system-vms-zcx.ads, s-osinte-fsu.adb,
1241         s-traceb-mastop.adb, a-exextr.adb, a-exstat.adb, a-filico.ads,
1242         a-finali.ads, a-interr.ads, a-intsig.adb, a-intsig.ads,
1243         a-except.ads, a-numaux-x86.ads, a-astaco.adb, a-calend.adb,
1244         a-calend.ads, a-chahan.adb, a-chahan.ads, a-chlat9.ads,
1245         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
1246         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
1247         a-elchha.adb, a-decima.adb, a-decima.ads, a-diocst.ads,
1248         a-direio.adb, a-direio.ads, a-excach.adb, a-excach.adb,
1249         a-exctra.ads, ali-util.adb, a-ngcefu.adb, a-ngcoty.adb,
1250         a-ngcoty.ads, a-nudira.adb, a-nudira.ads, a-nuflra.adb,
1251         a-numaux.ads, a-reatim.ads, a-sequio.adb, a-sequio.ads,
1252         a-siocst.ads, a-ssicst.ads, a-stmaco.ads, a-storio.adb,
1253         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
1254         a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads,
1255         a-strsup.adb, a-strsup.ads, a-strunb.adb, a-strunb.ads,
1256         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb,
1257         a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwisu.adb,
1258         a-stwisu.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb,
1259         a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads,
1260         a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
1261         a-taside.ads, a-teioed.adb, a-textio.adb, a-textio.ads,
1262         a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tideau.adb,
1263         a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
1264         a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
1265         a-tiinio.adb, a-timoau.adb, a-timoio.adb, a-timoio.ads,
1266         a-tiocst.ads, a-titest.adb, atree.adb, a-witeio.adb,
1267         a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb,
1268         a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtedit.adb,
1269         a-wtedit.ads, a-wtenau.adb, a-wtenio.adb, a-wtfiio.adb,
1270         a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
1271         a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, back_end.adb,
1272         bindgen.adb, butil.adb, butil.ads, checks.ads, cio.c, comperr.adb,
1273         csets.ads, cstand.adb, debug.ads, elists.ads, errno.c, errout.adb,
1274         errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
1275         errutil.ads, err_vars.ads, eval_fat.adb, exp_ch11.adb, exp_ch11.ads,
1276         exp_ch2.adb, exp_ch7.ads, exp_imgv.ads, exp_pakd.adb, exp_prag.adb,
1277         exp_prag.ads, exp_tss.adb, exp_tss.ads, exp_vfpt.ads, fe.h, fmap.adb,
1278         freeze.ads, frontend.adb, frontend.ads, g-arrspl.adb, g-arrspl.ads,
1279         g-awk.adb, g-awk.ads, g-boumai.ads, g-calend.adb, g-calend.ads,
1280         g-catiio.adb, g-comlin.adb, g-comlin.ads, g-comlin.ads, g-comlin.ads,
1281         g-comver.adb, g-crc32.adb, g-crc32.ads, g-ctrl_c.ads, g-curexc.ads,
1282         g-debpoo.ads, g-debuti.adb, g-diopit.adb, g-diopit.ads, g-dirope.adb,
1283         g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-excact.adb, g-excact.ads,
1284         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.ads, g-flocon.ads,
1285         g-hesorg.ads, g-io.adb, g-locfil.ads, g-md5.adb, g-md5.ads, g-md5.ads,
1286         g-moreex.adb, g-signal.ads, g-signal.adb, gnatbind.ads, gnatchop.adb,
1287         gnatcmd.adb, gnatfind.adb, gnatlbr.adb, gnatmake.ads, gnatmem.adb,
1288         gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, g-os_lib.adb,
1289         g-os_lib.ads, g-pehage.adb, g-pehage.ads, gprep.ads, g-regexp.adb,
1290         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.ads, g-semaph.adb,
1291         g-socthi.adb, g-soliop.ads, g-spipat.adb, g-spipat.ads, g-sptabo.ads,
1292         g-sptain.ads, g-sptavs.ads, g-string.ads, g-tasloc.adb, g-tasloc.ads,
1293         g-trasym.adb, g-trasym.ads, i-fortra.adb, i-fortra.ads, inline.adb,
1294         layout.adb, live.adb, make.ads, makeutl.ads, makeutl.adb, mdll-fil.adb,
1295         mdll-fil.ads, mdll-utl.ads, memroot.ads, memtrack.adb, mlib.ads,
1296         mlib-fil.adb, mlib-fil.ads, mlib-prj.ads, mlib-utl.adb, mlib-utl.ads,
1297         nlists.adb, nlists.ads, osint.adb, osint.ads, osint-c.adb, osint-l.adb,
1298         osint-l.ads, osint-m.ads, output.adb, par.adb, par.adb, par.ads,
1299         par-ch11.adb, par-ch12.adb, par-ch2.adb, par-ch4.adb, par-ch5.adb,
1300         par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
1301         par-tchk.adb, prep.adb, prepcomp.adb, prepcomp.ads, prj-attr.ads,
1302         prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.ads, prj-err.ads,
1303         prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.ads, prj-pars.adb,
1304         prj-pars.ads, prj-part.ads, prj-pp.ads, prj-proc.ads, prj-strt.adb,
1305         prj-strt.ads, prj-tree.adb, prj-util.adb, prj-util.ads, rtsfind.adb,
1306         sem.adb, sem.ads, sem_case.adb, sem_case.ads, sem_ch11.adb,
1307         sem_ch4.adb, sem_ch6.ads, sem_ch7.ads, sem_dist.ads, sem_elab.ads,
1308         sem_elim.ads, sem_eval.ads, sem_intr.ads, sem_maps.adb, sem_maps.ads,
1309         sem_maps.ads, sem_res.ads, sem_type.ads, sfn_scan.adb, sfn_scan.ads,
1310         s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, sinput.adb,
1311         sinput.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads,
1312         s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb,
1313         s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
1314         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb,
1315         s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads,
1316         s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb,
1317         s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
1318         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb,
1319         s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads,
1320         s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb,
1321         s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
1322         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb,
1323         s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads,
1324         s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb,
1325         s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
1326         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb,
1327         s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads,
1328         s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb,
1329         s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
1330         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb,
1331         s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads,
1332         s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.adb, s-pack60.ads,
1333         s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb,
1334         s-pack63.ads, s-parint.adb, s-parint.adb, s-parint.ads, sprint.ads,
1335         s-purexc.ads, s-restri.ads, s-restri.adb, s-scaval.adb, s-scaval.ads,
1336         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, stand.ads,
1337         s-tasuti.adb, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads,
1338         styleg.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads,
1339         s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-valint.ads,
1340         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb,
1341         s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads,
1342         s-valuti.adb, s-valuti.ads, s-valwch.ads, s-veboop.adb, s-veboop.ads,
1343         s-vercon.adb, s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads,
1344         s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.adb, s-wchstw.ads,
1345         s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb,
1346         s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads,
1347         s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
1348         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, symbols.adb, symbols.ads,
1349         table.ads, targparm.adb, targparm.ads, tb-alvms.c, tb-alvxw.c,
1350         tbuild.adb, tree_io.ads, treepr.adb, treeprs.adt, ttypef.ads,
1351         ttypes.ads, types.adb, uintp.adb, uintp.ads, uname.ads, urealp.ads,
1352         usage.ads, validsw.ads, vxaddr2line.adb, widechar.adb, widechar.ads,
1353         xeinfo.adb, xnmake.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads,
1354         xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb,
1355         a-dirval.ads, a-dirval.adb, a-dirval-mingw.adb, a-direct.ads,
1356         a-direct.adb, indepsw.ads, prj-attr-pm.ads, system-linux-ppc.ads,
1357         a-numaux-darwin.ads, a-numaux-darwin.adb,
1358         a-swuwha.ads, a-stunha.ads: Minor reformatting
1359
1360 2005-11-14  Robert Dewar  <dewar@adacore.com>
1361
1362         PR ada/18434
1363         * osint-m.adb: Add pragma Elaborate_All for Osint
1364
1365 2005-11-10  Eric Botcazou  <ebotcazou@adacore.com>
1366
1367         PR ada/23995
1368         * trans.c (call_to_gnu): Restore statement lost in translation.
1369
1370 2005-11-08  Eric Botcazou  <ebotcazou@adacore.com>
1371
1372         * init.c: Use the Linux-specific section for the IA-64/Linux target.
1373         (__gnat_adjust_context_for_raise): Add conditional code so that the
1374         IA-64 is also supported.
1375
1376 2005-11-03  James E Wilson  <wilson@specifix.com>
1377
1378         PR ada/23427
1379         * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
1380         TREE_OVERFLOW check.
1381
1382 2005-09-21  Olivier Hainque  <hainque@adacore.com>
1383
1384         PR ada/22418
1385         * decl.c (maybe_pad_type): Use proper bitsizetype for XVZ objects,
1386         as we create them to store a size in bits.
1387
1388 2005-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1389
1390         PR ada/21937
1391         PR ada/22328
1392         PR ada/22381
1393         PR ada/22383
1394         PR ada/22419
1395         PR ada/22420
1396         * utils2.c (build_return_expr): New helper function.
1397         * gigi.h (build_return_expr): Declare it.
1398         * trans.c (Subprogram_Body_to_gnu): Use build_return_expr instead
1399         of manually building the RETURN_EXPR tree.
1400         (call_to_gnu): Pass MODIFY_EXPR through build_binary_op.
1401         (gnat_to_gnu) <N_Return_Statement>: Pass MODIFY_EXPR through
1402         build_binary_op for the "target pointer" case.  Use build_return_expr
1403         instead of manually building the RETURN_EXPR tree.
1404
1405 2005-09-16  Laurent GUERBY  <laurent@guerby.net>
1406
1407         PR ada/23788
1408         * s-tpinop.ads: Make this unit Preelaborate.
1409
1410 2005-09-16  Andreas Jaeger  <aj@suse.de>
1411
1412         * socket.c: Add string.h for memcpy.
1413
1414 2005-09-05  Arnaud Charlet  <charlet@adacore.com>
1415
1416         * dec-io.ads, dec-io.adb: Removed, no longer used.
1417
1418 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
1419
1420         * a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
1421
1422         * s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
1423         s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
1424         s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
1425         s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
1426         dependent units are Preelaborate.
1427         (Initialize): Call Interrupt_Managemeent.Initialize and
1428         OS_Primitives.Initialize to ensure proper initialization of this unit.
1429         Remove use of System.Soft_Links
1430         Make this unit Preelaborate.
1431
1432         * s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
1433         s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
1434         s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
1435         s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
1436         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
1437         s-tratas.ads, s-tasinf.ads: Minor reformatting.
1438         Add pragma Preelaborate, since these packages are suitable for this
1439         categorization.
1440         Update comments.
1441
1442         * s-traent-vms.ads, s-intman-dummy.adb,
1443         s-taprop-dummy.adb: Make this unit Preelaborate.
1444
1445         * s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
1446         s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
1447         s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
1448         s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
1449         s-intman-solaris.adb, s-intman-irix-athread.adb,
1450         s-intman-irix.adb: Mark this unit Preelaborate.
1451         (Initialize): New procedure.
1452         Update comments.
1453
1454         * s-taspri-linux.ads: Removed.
1455
1456         * s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
1457         as done by other implementations (e.g. posix).
1458
1459         * s-taprop.ads (Timed_Delay): Update spec since the caller now is
1460         responsible for deferring abort.
1461         Mark this unit Preelaborate.
1462
1463         * s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
1464         proper initialization of the tasking run-time.
1465
1466         * s-tasdeb.ads: Mark this unit Preelaborate.
1467         (Known_Tasks): Add explicit default value to avoid elaboration code.
1468
1469         * s-inmaop-vms.adb (Elaboration code): Add call to
1470         Interrupt_Management.Initialize since the elaboration code depends on
1471         proper initialization of this package.
1472
1473         * s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
1474         s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
1475         s-osprim-posix.adb: Make this unit Preelaborate.
1476
1477         * a-calend.adb: Add call to OS_Primitives.Initialize
1478
1479         * a-elchha.adb: Update use of Except.Id.Full_Name.
1480         Minor reformatting.
1481         Remove use of Ada.Exceptions.Traceback when possible, cleaner.
1482
1483         * a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
1484         Move with clauses outside Warnings Off now that dependent units are
1485         Preelaborate.
1486         Use raise xxx with "..."; Ada 2005 form.
1487
1488         * a-taside.ads, a-taside.adb:
1489         Remove some dependencies, to make it easier to make this unit truly
1490         Preelaborate.
1491         Rewrite some code to be conformant with Preelaborate rules.
1492
1493         * g-os_lib.adb: Remove non-preelaborate code so that this unit can be
1494         marked Preelaborate in the future.
1495
1496         * s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
1497         these units Preelaborate.
1498
1499         * s-exctab.adb: Update use of Except.Id.Full_Name.
1500
1501         * s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
1502         (Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
1503         Set_Exc_Stack_Addr): Removed, no longer used.
1504         Remove reference to *Machine_State_Addr*, no longer needed.
1505
1506         * s-stalib.ads: Mark this unit as Preelaborate[_05].
1507         (Exception_Data): Full_Name is now a System.Address so that this unit
1508         can be made Preelaborate.
1509         Clean up/simplify code thanks to Full_Name being a System.Address.
1510         Remove obsolete pragma Suppress (All_Checks), no longer needed.
1511
1512         * s-taskin.ads, s-taskin.adb:
1513         Move with clauses outside Warnings Off now that dependent units are
1514         Preelaborate.
1515         Make this unit Preelaborate.
1516         (Initialize): New proceduure, replace elaboration code and makes the
1517         set up of the tasking run-time cleaner.
1518         (Detect_Blocking): Now a function instead of a deferred boolean, to
1519         obey Preelaborate rules.
1520
1521         * s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
1522         soft links, no longer used.
1523
1524         * s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
1525         packages are suitable for this categorization.
1526
1527         * s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
1528         since we compile run-time sources in Ada 2005 mode.
1529         (Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
1530         avoid having s-taprop*.adb depend on s-soflin and to avoid code
1531         duplication.
1532         Remove reference to *Machine_State_Addr*, no longer needed.
1533
1534 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
1535
1536         * s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
1537         (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
1538         Remove reference to System.Exceptions.
1539
1540         * s-mastop-x86.adb: Removed, no longer used.
1541
1542         * s-traceb-mastop.adb: Adjust calls to Pop_Frame.
1543
1544         * a-excach.adb: Minor reformatting.
1545
1546         * a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
1547         instead fix new warnings that were hidden by this change.
1548         (AAA, ZZZ): Removed, replaced by...
1549         (Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
1550         are used instead of constants, to help make Ada.Exception truly
1551         preelaborate.
1552         (Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
1553         Raise_Storage_Error): File is now a System.Address, to simplify code.
1554         (Elab code): Removed, no longer used.
1555         (Null_Occurrence): Remove Warnings Off and make this construct
1556         preelaborate.
1557         Remove code related to front-end zero cost exception handling, since
1558         it is no longer used.
1559         Remove -gnatL/-gnatZ switches.
1560
1561         * a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
1562         Update use of Except.Msg.
1563
1564         * gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
1565         freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
1566         to front-end zero cost exception handling, since it is no longer used.
1567         Remove -gnatL/-gnatZ switches.
1568
1569         * lib-writ.ads: Minor reformatting
1570         Remove doc of UX
1571
1572         * Makefile.rtl: Remove references to s-except*, s-mastop-x86*
1573
1574         * Make-lang.in: Remove references to s-except.ads
1575
1576         * s-except.ads: Removed, no longer used.
1577
1578         * s-mastop.ads, s-mastop.adb:
1579         (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
1580         Remove reference to System.Exceptions.
1581
1582         * raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
1583         switch-b.adb: Remove code related to front-end zero cost exception
1584         handling, since it is no longer used.
1585         Remove -gnatL/-gnatZ switches.
1586
1587 2005-09-01  Robert Dewar  <dewar@adacore.com>
1588             Gary Dismukes  <dismukes@adacore.com>
1589             Javier Miranda  <miranda@adacore.com>
1590
1591         * exp_ch4.adb (Expand_N_In): Replace test of expression in its own
1592         type by valid test and generate warning.
1593         (Tagged_Membership): Generate call to the run-time
1594         subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
1595         Change formal name Subtype_Mark to Result_Definition in several calls to
1596         Make_Function_Specification.
1597         (Expand_Allocator_Expression): Add tests for suppression of the AI-344
1598         check for proper accessibility of the operand of a class-wide allocator.
1599         The check can be left out if checks are suppressed or if the expression
1600         has a specific tagged type whose level is known to be safe.
1601
1602         * exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
1603         generates the run-time check associated with null-excluding entities.
1604         (Expand_N_Return_Statement): Add tests to determine if the accessibility
1605         check on the level of the return expression of a class-wide function
1606         can be elided. The check usually isn't needed if the expression has a
1607         specific type (unless it's a conversion or a formal parameter). Also
1608         add a test for whether accessibility checks are suppressed. Augment
1609         the comments to describe the conditions for performing the check.
1610
1611 2005-09-01  Hristian Kirtchev  <kirtchev@adacore.com>
1612             Javier Miranda  <miranda@adacore.com>
1613             Gary Dismukes  <dismukes@adacore.com>
1614             Ed Schonberg  <schonberg@adacore.com>
1615
1616         * a-tags.adb (IW_Membership): Give support to
1617         "Iface_CW_Typ in T'Class". For this purpose the functionality of this
1618         subprogram has been extended to look for the tag in the ancestors tag
1619         table.
1620         Update the structure of the GNAT Dispatch Table to reflect the
1621         additional two tables used in dispatching selects.
1622         Introduce appropriate array types and record components in
1623         Type_Specific_Data to reflect the two tables.
1624         (Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
1625         the TSD of a tag, indexed by position.
1626         (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
1627         operation kind in the TSD of a tag, indexed by position.
1628
1629         * a-tags.ads: Introduce an enumeration type to capture different
1630         primitive operation kinds. Define a constant reflecting the number of
1631         predefined primitive operations.
1632         (Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
1633         of an entry wrapper.
1634         (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
1635         callable entity of a primitive operation.
1636
1637         * exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
1638         primitive operations used in dispatching selects for limited
1639         interfaces, limited tagged, task and protected types what implement a
1640         limited interface.
1641         (Freeze_Type): Generate the bodies of the primitive operations used in
1642         dispatching selects for limited tagged, task and protected types that
1643         implement a limited interface. Generate statements to populate the two
1644         auxiliary tables used for dispatching in select statements.
1645         (Freeze_Record_Type): Add call to initialize the dispatch table entries
1646         associated with predefined interface primitive operations.
1647         (Build_Dcheck_Function): Change Set_Subtype_Mark to
1648         Set_Result_Definition.
1649         (Build_Variant_Record_Equality): Change Subtype_Mark to
1650         Result_Definition.
1651         (Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
1652         (Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
1653         (Build_Assignment): Simplify the code that adds the run-time-check.
1654         (Expand_N_Object_Declaration): Code cleanup.
1655
1656         * exp_ch7.adb (Make_Clean): Select the appropriate type for locking
1657         entries when there is a protected type that implements a limited
1658         interface.
1659
1660         * exp_ch9.adb: Add package Select_Expansion_Utilities that contains
1661         common routines used in expansion of dispatching selects.
1662         (Add_Private_Declarations): Select the appropriate protection type when
1663         there is a protected type that implements a limited interface.
1664         (Build_Parameter_Block): Generate a wrapped parameter block.
1665         (Build_Protected_Subprogram_Body): Select the appropriate type for
1666         locking entries when there is a protected type that implements a
1667         limited interface.
1668         (Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
1669         classified as entry wrappers.
1670         (Expand_N_Asynchronous_Select): Add support for expansion of dispatching
1671         asynchronous selects.
1672         (Expand_N_Conditional_Entry_Call): Add support for expansion of
1673         dispatching conditional selects.
1674         (Expand_N_Protected_Type_Declaration): Select the appropriate type for
1675         protection when there is a protected type that implements limited
1676         interfaces.
1677         (Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
1678         timed selects.
1679         (Extract_Dispatching_Call): Extract the entity of the name of a
1680         dispatching call, the object parameter, actual parameters and
1681         corresponding formals.
1682         (Make_Initialize_Protection): Correct logic of protection initialization
1683         when there is a protected type that implements a limited interface.
1684         (Parameter_Block_Pack): Populate a wrapped parameter block with the
1685         values of actual parameters.
1686         (Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
1687         block and assign them to the original actual parameters.
1688
1689         * exp_ch9.ads (Subprogram_Protection_Mode): New type.
1690         (Build_Protected_Sub_Specification): Change the type and name of the
1691         last formal to account for the increased variety of protection modes.
1692
1693         * einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
1694         entities. Used to save the value of the Is_Hidden attribute when the
1695         limited-view is installed.
1696         (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
1697         the attribute of procedures classified as entry wrappers.
1698         (Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
1699         entity of a primitive wrapper.
1700         (Write_Entity_Flags): Output the name and value of the
1701         Is_Primitive_Wrapper attribute.
1702         (Write_Field27_Name): Output the name and entity of the field Wrapped_
1703         Entity.
1704         (Underlying_Type): If we have an incomplete entity that comes from
1705         the limited view then we return the Underlying_Type of its non-limited
1706         view if it is already available.
1707         (Abstract_Interface_Alias): Flag applies to all subrogram kinds,
1708         including operators.
1709         (Write_Field26_Name): Add entry for Overridden_Operation
1710         (Overridden_Operation): New attribute of functions and procedures.
1711
1712         * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
1713         predefined position in the dispatch table for the primitive operations
1714         used in dispatching selects.
1715         (Init_Predefined_Interface_Primitives): Remove the hardcoded number of
1716         predefined primitive operations and replace it with
1717         Default_Prim_Op_Count.
1718         (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
1719         Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
1720         the names of the generated primitive operations used in dispatching
1721         selects.
1722         (Init_Predefined_Interface_Primitives): No need to inherit primitives in
1723         case of abstract interface types. They will be inherit by the objects
1724         implementing the interface.
1725         (Make_DT): There is no need to inherit the dispatch table of the
1726         ancestor interface for the elaboration of abstract interface types.
1727         The dispatch table will be inherited by the object implementing the
1728         interface.
1729         (Copy_Secondary_DTs): Add documentation.
1730         (Validate_Position): Improve this static check in case of
1731         aliased subprograms because aliased subprograms must have
1732         the same position.
1733         (Init_Predefined_Interface_Primitives): New subprogram that initializes
1734         the entries associated with predefined primitives of all the secondary
1735         dispatch tables.
1736         (Build_Anonymous_Access_Type): Removed.
1737         (Expand_Interface_Actuals): With the previous cleanup there is no need
1738         to build an anonymous access type. This allows further cleanup in the
1739         code generated by the expander.
1740         (Expand_Interface_Conversion): If the actual is an access type then
1741         build an internal function to handle the displacement. If the actual
1742         is null this function returns null because no displacement is
1743         required; otherwise performs a type conversion that will be
1744         expanded in the code that returns the value of the displaced actual.
1745         (Expand_Interface_Actuals): Avoid the generation of unnecessary type
1746         conversions that have no effect in the generated code because no
1747         displacement is required. Code cleanup; use local variables to
1748         avoid repeated calls to the subprogram directly_designated_type().
1749
1750         * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
1751         Classify the primitive operations used in dispatching selects as
1752         predefined.
1753         (Implements_Limited_Interface): Determine whether some type either
1754         directly implements a limited interface or extends a type that
1755         implements a limited interface.
1756         (Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
1757         (Expand_Subtype_From_Expr): Do not build actual subtype if the
1758         expression is limited.
1759         (Find_Interface_Tag): Add code to handle class-wide types and
1760         entities from the limited-view.
1761
1762         * rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
1763         Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
1764         POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
1765         POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
1766         Set_Prim_Op_Kind.
1767
1768         * sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
1769         of procedure name or prefix that appears as a trigger in a triggering
1770         alternative.
1771
1772         * uintp.ads: Introduce constants Uint_11 and Uint_13.
1773
1774 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
1775
1776         * s-tataat.adb, a-tasatt.adb:
1777         Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
1778
1779         * s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
1780         these procedures to body, and renamed Abort_Defer, Abort_Undefer.
1781         (Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
1782         longer used.
1783
1784 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
1785             Jose Ruiz  <ruiz@adacore.com>
1786
1787         * s-taprop-vxworks.adb:
1788         Move with clauses outside Warnings Off now that dependent units are
1789         Preelaborate.
1790         (Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
1791         initialization of this unit.
1792         (Specific): Add new procedures Initialize and Delete so that this
1793         package can be used for VxWorks 5.x and 6.x
1794         (ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
1795         differences between VxWorks 5.x and 6.x
1796         Minor reformatting.
1797         (Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
1798         caller.
1799         Use only Preelaborate-compatible constructs.
1800
1801         * s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
1802         Primitives.Operations.
1803         (Delete, Initialize): New procedures.
1804
1805         * s-osinte-vxworks.adb: Body used to handle differences between
1806         VxWorks 5.x and 6.x
1807         (kill, Set_Time_Slice, VX_FP_TASK): New functions.
1808
1809         * s-osinte-vxworks.ads: Minor reformatting.
1810         Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
1811         (VX_FP_TASK): Now a function, to handle differences between VxWorks 5
1812         and 6.
1813         (Set_Time_Slice): New function, replacing kerneltimeSlice to share code
1814         between Vxworks 5 and 6.
1815         (taskLock, taskUnlock): Removeed, no longer used.
1816
1817         * adaint.c: The wait.h header is not located in the sys directory on
1818         VxWorks when using RTPs.
1819         (__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
1820         using RTPs.
1821         (__gnat_dup): dup is available on Vxworks when using RTPs.
1822         (__gnat_dup2): dup2 is available on Vxworks when using RTPs.
1823
1824         * cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.
1825
1826         * expect.c: The wait.h header is not located in the sys directory on
1827         VxWorks when using RTPs.
1828
1829 2005-09-01  Thomas Quinot  <quinot@adacore.com>
1830
1831         * g-soccon-vms.adb: Renamed to g-soccon-vms.ads
1832
1833         * g-soccon-vms.ads: Renamed from g-soccon-vms.adb
1834
1835         * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
1836         g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
1837         g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
1838         g-soccon-freebsd.ads: Add new constants:
1839          IP_MULTICAST_IF
1840          SO_RCVTIMEO/SO_SNDTIMEO
1841          IOV_MAX
1842
1843         * gen-soccon.c:
1844         Move all target-specific file inclusions and macro definitions to
1845         gsocket.h, in order to ensure that any C code in socket.c will see a
1846         set of constants that is consistent with the contents of g-soccon.ads.
1847
1848         * gsocket.h: Code imported from gen-soccon.c:
1849         Move all target-specific file inclusions and macro definitions to
1850         gsocket.h, in order to ensure that any C code in socket.c will see a set
1851         of constants that is consistent with the contents of g-soccon.ads.
1852         This change also makes gen-soccon self-contained (removing dependencies
1853         upon GCC internal headers).
1854
1855         * g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
1856         iovecs at a time.
1857         (To_Inet_Addr): Now a procedure instead of a function, more efficient.
1858
1859         * socket.c: Minor reformatting.
1860
1861 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
1862             Thomas Quinot  <quinot@adacore.com>
1863
1864         * fname-sf.adb, mlib-tgt.ads,
1865         back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
1866         g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
1867         osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
1868         prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
1869         prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
1870         prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
1871         sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
1872         makegpr.adb: Remove redundant use_clauses.
1873
1874 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
1875
1876         * s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
1877         s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
1878         s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
1879         s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
1880         s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
1881         s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
1882         s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
1883         table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
1884         s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
1885         s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
1886         a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
1887         a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
1888         a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
1889         a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
1890         system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
1891         system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
1892         s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
1893         system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
1894         s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
1895         s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
1896         s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
1897         s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
1898         system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
1899         s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
1900         system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
1901         s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
1902         a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
1903         a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
1904         a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
1905         a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
1906         a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
1907         a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
1908         a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
1909         a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
1910         a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
1911         a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
1912         csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
1913         g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
1914         a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
1915         a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
1916         a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
1917         a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
1918         g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
1919         i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
1920         interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
1921         i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
1922         s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
1923         s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
1924         s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
1925         s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
1926         s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
1927         s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
1928         s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
1929         s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
1930         s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
1931         s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
1932         s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
1933         s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
1934         s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
1935         s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
1936         s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
1937         s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
1938         s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
1939         s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
1940         s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
1941         s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
1942         s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
1943         s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
1944         and always use the no parameter form for consistency.
1945
1946         * gnat-style.texi: Document rules about Preelaborate/Pure pragmas.
1947
1948 2005-09-01  Robert Dewar  <dewar@adacore.com>
1949
1950         * binde.adb: Minor reformatting
1951         (Find_Elab_Order): Output warning if -p used with static elab order
1952
1953 2005-09-01  Robert Dewar  <dewar@adacore.com>
1954
1955         * checks.adb (Check_Needed): New procedure, deals with removing checks
1956         based on analysis of short-circuited forms. Also generates warnings for
1957         improper use of non-short-circuited forms.
1958         Code clean ups.
1959
1960 2005-09-01  Robert Dewar  <dewar@adacore.com>
1961
1962         * a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
1963         with 'Valid tests.
1964
1965 2005-09-01  Robert Dewar  <dewar@adacore.com>
1966
1967         * errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
1968         spec.
1969         Implement new insertion char < (conditional warning)
1970         * errutil.adb, erroutc.adb: Implement new insertion char <
1971         (conditional warning).
1972         * sem_elab.adb, prj-dect.adb, erroutc.ads, err_vars.ads
1973         (Error_Msg_Warn): New variable for < insertion char.
1974         * prj-nmsc.adb: Implement new errout insertion char < (conditional
1975         warning).
1976         (Check_For_Source): Change value of Source_Id only after the current
1977         source has been dealt with.
1978
1979 2005-09-01  Robert Dewar  <dewar@adacore.com>
1980             Doug Rupp  <rupp@adacore.com>
1981
1982         * exp_attr.adb: Handle vax fpt for 'Valid attribute
1983         * exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
1984         * s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
1985         (Valid_D, Valid_F, Valid_G): New functions
1986
1987 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
1988             Hristian Kirtchev  <kirtchev@adacore.com>
1989             Javier Miranda  <miranda@adacore.com>
1990
1991         * exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
1992         from object notation, the original node is unanalyzed and carries no
1993         semantic information, so that accessiblity checks must be performed on
1994         the type of the actual itself.
1995         (Expand_N_Subprogram_Declaration): Change last actual parameter for
1996         compatibility with Build_Protected_Sub_Specification.
1997         (Check_Overriding_Inherited_Interfaces): Add suport to handle
1998         overloaded primitives.
1999         (Register_Interface_DT_Entry): Use the new name of the formal
2000         the the calls to Expand_Interface_Thunk
2001
2002         * exp_dbug.ads: Augment comments on encoding of protected types to
2003         include the generation of dispatching subprograms when the type
2004         implements at least one interface.
2005
2006         * lib.ads: Extend information in Load_Stack to include whether a given
2007         load comes from a Limited_With_Clause.
2008
2009         * lib-load.adb (From_Limited_With_Chain): New predicate to determine
2010         whether a potential circularity is harmless, because it includes units
2011         loaded through a limited_with clause. Extends previous treatment which
2012         did not handle properly arbitrary combinations of limited and
2013         non-limited clauses.
2014
2015 2005-09-01  Nicolas Setton  <setton@adacore.com>
2016
2017         * exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
2018         to be encoded as typ___XBLU_lowerbound__upperbound instead of
2019         typ___XB_lowerbound__upperbound.
2020
2021 2005-09-01  Thomas Quinot  <quinot@adacore.com>
2022
2023         * exp_dist.adb (Add_RACW_TypeCode, Add_RAS_TypeCode): Do not generate
2024         dummy access formal for RACW/RAS TypeCode TSS.
2025         (Build_TypeCode_Call): Do not generate dummy null access actual for
2026         calls to the TypeCode TSS.
2027
2028 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2029
2030         * exp_intr.adb (Expand_Source_Name): For Enclosing_Entity, generate
2031         fully qualified name, to distinguish instances with the same local name.
2032
2033         * g-souinf.ads (Enclosing_Entity): Document that entity name is now
2034         fully qualified.
2035
2036 2005-09-01  Robert Dewar  <dewar@adacore.com>
2037
2038         * exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
2039         packed arrays.
2040
2041 2005-09-01  Jerome Lambourg  <lambourg@adacore.com>
2042
2043         * g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
2044         (Free): New deallocation procedure for filter elements
2045         (Close): Deallocate any existing filter for the concerned connection
2046
2047 2005-09-01  Laurent Pautet  <pautet@adacore.com>
2048
2049         * g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
2050         position set is provided, we compute one in order to reduce the maximum
2051         length of the keys.  This computation first selects a character
2052         position between 1 and the minimum length of the keys in order to
2053         avoid reducing one of the keys to an empty string.
2054         (Initialize, Compute): When the ratio V to K is too low, the algorithm
2055         does not converge. The initialization procedure now comes with a
2056         maximum number of iterations such that when exceeded, an exception is
2057         raised in Compute. The user can initialize this ratio to another value
2058         and try again
2059         Reformating and updated headers.
2060
2061 2005-09-01  Javier Miranda  <miranda@adacore.com>
2062
2063         * itypes.ads, itypes.adb (Create_Null_Excluding_Itype): New subprogram
2064         that given an entity T creates and returns an Itype that duplicates the
2065         contents of T. The returned Itype has the null-exclusion
2066         attribute set to True, and its Etype attribute references T
2067         to keep the association between the two entities.
2068         Update copyright notice
2069
2070         * sem_aggr.adb (Check_Can_Never_Be_Null,
2071         Aggregate_Constraint_Checks, Resolve_Aggregate,
2072         Resolve_Array_Aggregate, Resolve_Record_Aggregate): Code cleanup.
2073
2074         * sem_ch5.adb (Analyze_Assignment): Code cleanup.
2075
2076 2005-09-01  Gary Dismukes  <dismukes@adacore.com>
2077             Robert Dewar  <dewar@adacore.com>
2078             Hristian Kirtchev  <kirtchev@adacore.com>
2079
2080         * layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to
2081         Result_Definition.
2082
2083         * par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
2084         function specs.
2085         Call Set_Result_Definition instead of Set_Subtype_Mark.
2086         (P_Subprogram_Specification): Add parsing of anonymous access result
2087         plus null exclusions. Call Set_Result_Definition instead of
2088         Set_Subtype_Mark.
2089
2090         * par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
2091         (P_Access_Type_Definition): Add parsing for an anonymous access result
2092         subtype, plus parsing for null exclusions. Call Set_Result_Definition
2093         instead of Set_Subtype_Mark.
2094
2095         * sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
2096         (Null_Exclusion_Present): Allow this flag for N_Function_Specification.
2097         (Result_Definition): New function for N_Function_Specifications.
2098         (Subtype_Mark): No longer allowed for N_Access_Function_Definition and
2099         N_Function_Specification.
2100         (Set_Null_Exclusion_Present): Allow this flag for
2101         N_Function_Specification.
2102         (Set_Result_Definition): New procedure for N_Function_Specifications.
2103         (Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
2104         and N_Function_Specification.
2105
2106         * sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
2107         Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
2108         Add support for LIMITED NEW for Ada 2005 AI-419
2109         Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
2110         syntax for anonymous access results.
2111         Replace Subtype_Mark field by Result_Definition in
2112         N_Function_Specification and N_Access_Definition specs.
2113         Add Null_Exclusion_Present to spec of N_Function_Specification.
2114         (Result_Definition): New function for N_Function_Specification and
2115         N_Access_Function_Definition.
2116         (Set_Result_Definition): New procedure for N_Function_Specification and
2117         N_Access_Function_Definition.
2118
2119         * sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
2120         Result_Definition for cases of N_Access_Function_Definition and
2121         N_Function_Specification.
2122         Print "not null" if Null_Exclusion_Present on N_Function_Specification.
2123
2124 2005-09-01  Vincent Celier  <celier@adacore.com>
2125
2126         * lib-writ.adb: Update Copyright notice
2127         (Write_With_Lines): On platforms where file names are case-insensitive,
2128         record the file names in lower case.
2129         (Write_ALI): For D lines, on platforms where file names are
2130         case-insensitive, record the file names in lower case.
2131
2132 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2133             Emmanuel Briot  <briot@adacore.com>
2134
2135         * lib-xref.adb (Output_Overridden_Op): Display information on
2136         overridden operation.
2137
2138         * lib-xref.ads: Add documentation on overridden operations.
2139
2140         * ali.ads (Xref_Entity_Record): Add support for storing the overriding
2141         information.
2142
2143         * ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
2144         overriding entity information.
2145
2146 2005-09-01  Vincent Celier  <celier@adacore.com>
2147
2148         * mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
2149         including those that are inherited.
2150
2151 2005-09-01  Robert Dewar  <dewar@adacore.com>
2152
2153         * opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
2154
2155         * par-prag.adb: Implement new pragma Debug_Policy
2156
2157         * sem_prag.adb Implement new pragma Debug_Policy
2158         (Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
2159         Component_Size attribute specification. Give warning for ignored pragma
2160         Pack.
2161
2162         * snames.h, snames.ads, snames.adb: Introduce entries in
2163         Preset_Names for Name_Disp_Asynchronous_Select,
2164         Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
2165         Name_Disp_Timed_Select.
2166         New pragma Debug_Policy
2167
2168         * switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
2169         explicitly.
2170         Switch -gnata also sets Debug_Pragmas_Enabled
2171
2172         * sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
2173         handle an explicit -gnata when compiling predefined files.
2174
2175 2005-09-01  Vincent Celier  <celier@adacore.com>
2176
2177         * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
2178         directories of projects that have no Ada sources.
2179
2180 2005-09-01  Robert Dewar  <dewar@adacore.com>
2181
2182         * scng.adb (Check_End_Of_Line): Count characters, rather than bytes
2183         (makes a difference for wide characters)
2184
2185         * widechar.adb, widechar.ads:
2186         Add Wide_Char_Byte_Count feature to count chars vs bytes
2187
2188 2005-09-01  Thomas Quinot  <quinot@adacore.com>
2189             Ed Schonberg  <schonberg@adacore.com>
2190             Robert Dewar  <dewar@adacore.com>
2191
2192         * sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
2193         'Address attribute reference with an overloaded prefix, use the
2194         location of the prefix (not the location of the attribute reference) as
2195         the error location.
2196         (Analyze_Attribute, case 'Size): The name of an enumeration literal, or
2197         a function renaming thereof, is a valid prefix for 'Size (where it is
2198         intepreted as a function call).
2199         (Statically_Denotes_Entity): New predicate to determine whether the
2200         prefix of an array attribute can be considered static.
2201
2202         PR ada/9087
2203         (Eval_Attr): Fix failure to evaluate Component_Size for
2204         unconstrained arrays (resulted in wrong value in packed case, since
2205         back end cannot handle this case)
2206
2207 2005-09-01  Robert Dewar  <dewar@adacore.com>
2208
2209         * sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
2210         error msgs for most common cases.
2211         Use new errout insertion char < (conditional warning)
2212
2213 2005-09-01  Javier Miranda  <miranda@adacore.com>
2214             Ed Schonberg  <schonberg@adacore.com>
2215
2216         * sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
2217         become local to the whole package.
2218         (Install_Limited_Withed_Unit): Instead of unchaining real entities if
2219         the package was already analyzed the new algorithm "replaces" the
2220         real entities by the shadow ones. This is required to ensure that
2221         the order of these entities in the homonym chains does not change;
2222         otherwise we can have undefined references at linking time because
2223         in case of conflicts the external name of the entities will have
2224         a suffix that depends on the order of the entities in the chain.
2225         (Remove_Limited_With_Clause): Complementary code that completes the
2226         new algorithm and replaces the shadow entities by the real ones.
2227         (Install_Limited_Withed_Unit): When unchaining entities before the
2228         installation of the shadow entities, only regular entities of the
2229         public part must be taken into account. This is required to
2230         keep this routine in synch with the work done by Remove_Limited_
2231         With_Clause
2232         (Install_Limited_With_Clause): Introduce implicit limited_with_clause
2233         even if unit is analyzed, because the analysis of the unit is
2234         idempotent in any case, and the limited view of the unit may have to
2235         be installed for proper visibility.
2236         (Expand_Limited_With_Clause): Even if the unit in the implicit
2237         with_clause has been analyzed already, a limited view of the package
2238         must be built for the current context, if it does not exist yet.
2239
2240 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2241             Javier Miranda  <miranda@adacore.com>
2242             Gary Dismukes  <dismukes@adacore.com>
2243
2244         * sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
2245         defining entity for the instance body, make a new defining identifier
2246         rather than copying the entity of the spec, to prevent accidental
2247         sharing of the entity list.
2248         (Check_Private_View): When exchanging views of private types, build the
2249         list of exchanged views as a stack, to ensure that on exit the exchanges
2250         are undone in the proper order.
2251         (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
2252         Restore the compilation environment in case of instantiation_error.
2253         (Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
2254         for an anonymous access result.
2255         (Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
2256         (Formal_Entity): Handle properly the case of a formal package that
2257         denotes a generic package renaming.
2258
2259 2005-09-01  Thomas Quinot  <quinot@adacore.com>
2260
2261         * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
2262         clause if the array aggregate is surrounded by parentheses.
2263
2264 2005-09-01  Cyrille Comar  <comar@adacore.com>
2265             Gary Dismukes  <dismukes@adacore.com>
2266             Ed Schonberg  <schonberg@adacore.com>
2267             Javier Miranda  <miranda@adacore.com>
2268
2269         * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
2270         underlying type
2271         to check if a type is Constrained in cases related to code generation
2272         (rather than semantic checking) since otherwise we do not generate
2273         similar code for mutable private types depending if their
2274         discriminants are visible or not.
2275         (Check_Abstract_Overriding): Do not complain about failure to override
2276         the primitive operations used in dispatching selects since they will
2277         always be overriden at the freeze point of the type.
2278         (Access_Definition): Separate out handling for resetting the scope
2279         of an anonymous access function result type. Retrieve the scope
2280         of the associated function rather than using Current_Scope, which
2281         does not have a consistent value (depends on whether we're in the
2282         middle of analyzing formal parameters). Add ??? comment about
2283         finding a cleaner way to handle the special cases of scope setting.
2284         (Process_Incomplete_Dependents): A protected operation is never a
2285         dispatching operation (only its wrapper may be).
2286         (Build_Derived_Record_Type): In case of tagged private types that
2287         implement interfaces add derivation of predefined primitive
2288         operations.
2289         (Derive_Subprograms): Replace the Is_Interface_Derivation parameter
2290         by two parameters that are used in case of derivation from abstract
2291         interface types: No_Predefined_Prims is used to avoid the derivation
2292         of predefined primitives from the interface, and Predefined
2293         Prims_Only is used to complete the derivation predefined primitives
2294         in case of private tagged types implementing interfaces.
2295         Fix typo in comments
2296         (Find_Interface_In_Descendant): Protect the frontend against
2297         wrong code with large circularity chains.
2298         (Is_Private_Overriding): Add support for entities overriding interface
2299         subprograms. The test failed because Entities associated with overriden
2300         interface subprograms are always marked as hidden (and used to build
2301         the secondary dispatch table); in this case the overriden entity is
2302         available through the field abstract_interface_alias (cf. override_
2303         dispatching_operation)
2304         (Access_Definition): Set the scope of the type to Current_Scope for the
2305         case of a function with an anonymous access result type.
2306         (Access_Subprogram_Declaration): Handle creation of the type entity for
2307         an access-to-function type with an anonymous access result.
2308         (Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
2309         in handling for N_Access_Function_Definition.
2310         (Analyze_Subtype_Declaration): Modify the text of error message.
2311         (Derived_Type_Declaration): Modify the text of error message.
2312         (Process_Subtype): Modify the text of error message plus cleanup
2313         of one redundant error message.
2314         (Analyze_Component_Declaration): Code cleanup.
2315         (Analyze_Object_Declaration): Code cleanup.
2316         (Analyze_Subtype_Declaration): Propagate the null-exclusion
2317         attribute in case of access types. Code cleanup.
2318         (Array_Type_Declaration): Code cleanup.
2319         (Process_Discriminants): Create the new null-excluding itype
2320         if required. Code cleanup.
2321         (Process_Subtype): Create the new null-excluding itype if
2322         required. Code cleanup.
2323         (Build_Derived_Record_Type): Code cleanup to avoid calling
2324         twice the subprogram derive_subprograms in case of private
2325         types that implement interfaces. In this particular case the
2326         subprogram Complete_Subprograms_Derivation already does the
2327         job associated with the second call.
2328
2329         * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
2330         conversion to the full view when generating an operation for a
2331         discriminant whose type may currently be private.
2332
2333 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2334             Javier Miranda  <miranda@adacore.com>
2335
2336         * sem_ch4.adb (Transform_Object_Operation): In a context off the form
2337         V (Obj.F), the rewriting does not involve the indexed component, but
2338         only the selected component itself.
2339         Do not apply the transformation if the analyzed node is an actual of a
2340         call to another subprogram.
2341         (Complete_Object_Operation): Retain the entity of the
2342         dispatching operation in the selector of the rewritten node. The
2343         entity will be used in the expansion of dispatching selects.
2344         (Analyze_One_Call): Improve location of the error message associated
2345         with interface.
2346         (Analyze_Selected_Component): No need to resolve prefix when it is a
2347         function call, resolution is done when parent node is resolved, as
2348         usual.
2349         (Analyze_One_Call): Add a flag to suppress analysis of the first actual,
2350         when attempting to resolve a call transformed from its object notation.
2351         (Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
2352         of the argument list for each interpretation of the operation.
2353         (Try_Object_Operation): The designated type of an access parameter may
2354         be an incomplete type obtained through a limited_with clause, in which
2355         case the primitive operations of the type are retrieved from its full
2356         view.
2357         (Analyze_Call): If this is an indirect call, and the return type of the
2358         access_to_subprogram is incomplete, use its full view if available.
2359
2360 2005-09-01  Javier Miranda  <miranda@adacore.com>
2361             Gary Dismukes  <dismukes@adacore.com>
2362
2363         * sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
2364         access types the null-exclusion and access-to-constant attributes must
2365         also match.
2366         (Analyze_Return_Statement): When the result type is an anonymous access
2367         type, apply a conversion of the return expression to the access type
2368         to ensure that appropriate accessibility checks are performed.
2369         (Analyze_Return_Type): For the case of an anonymous access result type,
2370         generate the Itype and set Is_Local_Anonymous_Access on the type.
2371         Add ??? placeholder for check to disallow returning a limited object
2372         in Ada 2005 unless it's an aggregate or a result of a function call.
2373         Change calls from Subtype_Mark to Result_Definition.
2374         (Analyze_Subprogram_Body): Change formal Subtype_Mark to
2375         Result_Definition in call to Make_Function_Specification.
2376         (Build_Body_To_Inline): Change Set_Subtype_Mark to
2377         Set_Result_Definition.
2378         (Make_Inequality_Operator): Change formal Subtype_Mark to
2379         Result_Definition in call to Make_Function_Specification.
2380         (Process_Formals): Create the new null-excluding itype if required.
2381         (New_Overloaded_Entity): For an entity overriding an interface primitive
2382         check if the entity also covers other abstract subprograms in the same
2383         scope. This is required to handle the general case, that is, overriding
2384         other interface primitives and overriding abstract subprograms inherited
2385         from some abstract ancestor type.
2386         (New_Overloaded_Entity): For an overriding entity that comes from
2387         source, note the operation that it overrides.
2388         (Check_Conformance, Type_Conformant): Addition of one new formal
2389         to skip controlling formals in the analysis. This is used to
2390         handle overloading of abstract interfaces.
2391         (Base_Types_Match): Add missing case for types imported from
2392         limited-with clauses
2393         (New_Overloaded_Entity): Add barrier to protect the use of
2394         the "alias" attribute.
2395
2396 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2397
2398         * sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
2399         verify that the procedure and the entry are mode conformant.
2400         (Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
2401         as a different operator, which is often a cut-and-paste error.
2402
2403 2005-09-01  Javier Miranda  <miranda@adacore.com>
2404             Ed Schonberg  <schonberg@adacore.com>
2405
2406         * sem_disp.adb (Check_Controlling_Formals): Anonymous access types
2407         used in controlling parameters exclude null because it is necessary to
2408         read the tag to dispatch, and null has no tag.
2409         (Override_Dispatching_Operation): If the previous operation is inherited
2410         from an interface, it becomes hidden  and does not participate in later
2411         name resolution.
2412
2413 2005-09-01  Javier Miranda  <miranda@adacore.com>
2414             Ed Schonberg  <schonberg@adacore.com>
2415             Gary Dismukes  <dismukes@adacore.com>
2416
2417         * sem_res.adb (Resolve_Membership_Op): In case of the membership test
2418         "Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
2419         the expander will generate the corresponding run-time check to evaluate
2420         the expression.
2421         (Resolve_Call): Check for legal type of procedure name or prefix that
2422         appears as a trigger in a triggering alternative.
2423         (Valid_Conversion): If expression is ambiguous and the context involves
2424         an extension of System, remove System.Address interpretations.
2425         (Resolve_Qualified_Expression): Reject the case of a specific-type
2426         qualification applied to a class-wide argument. Enhance comment
2427         to explain checking of Original_Node.
2428         (Resolve_Type_Conversion): The location of the error message was not
2429         general enough to handle the general case and hence it has been removed.
2430         In addition, this patch improves the text of the message.
2431         (Resolve_Type_Conversion): Add missing support for access to interface
2432         types.
2433         (Resolve_Type_Conversion): If the target is a class-wide interface type,
2434         do not expand if the expression is the actual in a call, because proper
2435         expansion will take place when the call itself is expanded.
2436         (Resolve_Allocator): If the context is an unchecked conversion, the
2437         allocator inherits its storage pool, if any, from the target type of
2438         the conversion.
2439
2440 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2441             Javier Miranda  <miranda@adacore.com>
2442
2443         * sem_type.adb (Add_One_Interp): If a candidate operation is an
2444         inherited interface operation that has an implementation, use the
2445         implementation to avoid spurious ambiguities.
2446         (Interface_Present_In_Ancestor): In case of concurrent types we can't
2447         use the Corresponding_Record_Typ attribute to look for the interface
2448         because it is set by the expander (and hence it is not always
2449         available). For this reason we traverse the list of interfaces
2450         (available in the parent of the concurrent type).
2451         (Interface_Present_In_Ancestor): Handle entities from the limited view
2452
2453 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2454
2455         * sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
2456         from the list of required components.
2457         (Is_Controlling_Limited_Procedure): Determine whether an entity is a
2458         primitive procedure of a limited interface with a controlling first
2459         parameter.
2460         (Is_Renamed_Entry): Determine whether an entry is a procedure renaming
2461         of an entry.
2462         (Safe_To_Capture_Value): A value (such as non_null) is not safe to
2463         capture if it is generated in the second operand of a short-circuit
2464         operation.
2465         Do not capture values for variables with address clauses.
2466         (Is_Object_Reference): Treat a function call as an object reference only
2467         if its type is not Standard_Void_Type.
2468
2469 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2470
2471         * sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
2472         to a variable that is statically known to be constant.
2473
2474 2005-09-01  Geert Bosch  <bosch@adacore.com>
2475             Robert Dewar  <dewar@adacore.com>
2476
2477         * ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
2478         (VAXGF_Safe_First): Idem.
2479
2480 2005-09-01  Robert Dewar  <dewar@adacore.com>
2481             Arnaud Charlet  <charlet@adacore.com>
2482
2483         * g-dirope.ads: Minor reformatting
2484         Document that bounds of result of Base_Name match the input index
2485         positions.
2486         Add documentation on environment variable syntax for Expand_Path
2487
2488         * gnat_ugn.texi: Update documentation to include mention of -m switches
2489         Document new treatment of wide characters in max line length
2490         style check.
2491         Remove -gnatL/-gnatZ switches, no longer used.
2492         Add note on pragmas Assertion_Policy and Debug_Policy in discussion
2493         of -gnata switch.
2494
2495         * gnat_rm.texi: Add doc for two argument form of pragma
2496         Float_Representation.
2497         Add documentation for pragma No_Strict_Aliasing
2498         Add note that explicit component clause overrides pragma Pack.
2499         Add documentation of pragma Debug_Policy
2500
2501 2005-09-01  Matthew Heaney  <heaney@adacore.com>
2502
2503         * a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
2504         a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
2505         a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
2506         a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
2507         draft (Draft 13, August 2005) of Ada Amendment 1.
2508
2509 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
2510
2511         * Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
2512         Note that the platform-specific version of g-soccon.ads for VMS is now
2513         named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
2514         really is a package spec).
2515         Replace s-taspri-linux.ads by s-taspri-posix.ads
2516         Remove references to s-mastop-x86.adb
2517
2518         * system-vxworks-xscale.ads: Removed, no longer used.
2519         * s-vxwork-xscale.ads: Removed, no longer used.
2520
2521 2005-09-01  Robert Dewar  <dewar@adacore.com>
2522
2523         * a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
2524         g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
2525         g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
2526         exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
2527         g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
2528         g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
2529         g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
2530         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
2531         g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
2532         g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
2533         sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
2534         a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
2535         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
2536         a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
2537         a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
2538         a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
2539         g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
2540         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
2541         g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
2542         i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
2543         a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting
2544
2545 2005-08-29  Arnaud Charlet  <charlet@adacore.com>
2546
2547         PR ada/23187
2548         * adaint.c
2549         (GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
2550
2551 2005-08-29  Arnaud Charlet  <charlet@adacore.com>
2552             Doug Rupp  <rupp@adacore.com>
2553
2554         * s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
2555         when needed.
2556         (Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
2557         this code in the GNAT run-time.
2558
2559         * decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
2560
2561         PR ada/21053
2562         * init.c (__gnat_error_handler [many]): Mark "msg" as const
2563         (__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
2564
2565         (__gnat_inside_elab_final_code): Moved here from
2566         Standard_Library and only defined for the compiler.
2567         __gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
2568         (__gnat_inum_to_ivec): Do not define this function on VxWorks when
2569         using RTPs because directly vectored Interrupt routines are not
2570         supported on this configuration.
2571         (getpid): Do not redefine this function on VxWorks when using RTPs
2572         because this primitive is well supported by the RTP libraries.
2573         (copy_msg): Correct the code that checks for buffer overflow.
2574         Discovered during code reading.
2575
2576 2005-08-29  Olivier Hainque  <hainque@adacore.com>
2577
2578         * decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
2579         a library level mutable variable with an initializer, tell
2580         build_allocator to ignore the initializer's size. It may not be large
2581         enough for all the values that might be assigned to the variable later
2582         on.
2583
2584 2005-08-29  Arnaud Charlet  <charlet@adacore.com>
2585             Eric Botcazou  <ebotcazou@adacore.com>
2586
2587         * trans.c: Protect < in error msg with quote
2588         Replace GCC_ZCX by Back_End_Exceptions.
2589         (addressable_p) <COMPONENT_REF>: Also return 1 if the field
2590         has been sufficiently aligned in the record.
2591
2592 2005-08-15  James E. Wilson  <wilson@specifix.com>
2593
2594         * system-linux-alpha.ads: Change ia64 to alpha.
2595
2596 2005-08-01  Kazu Hirata  <kazu@codesourcery.com>
2597
2598         * decl.c, utils.c: Fix comment typos.
2599
2600 2005-07-29  Kazu Hirata  <kazu@codesourcery.com>
2601
2602         * decl.c, init.c, initialize.c: Fix comment typos.
2603
2604 2005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
2605
2606         Make CONSTRUCTOR use VEC to store initializers.
2607         * decl.c (gnat_to_gnu_entity): Update to cope with VEC in
2608         CONSTRUCTOR_ELTS.
2609         * trans.c (extract_values): Likewise.
2610         * utils.c (convert, remove_conversions): Likewise.
2611         * utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
2612         gnat_build_constructor): Likewise.
2613
2614 2005-07-09  Andrew Pinski  <pinskia@physics.uc.edu>
2615
2616         * decl.c (components_to_record): Use DECL_FCONTEXT instead of
2617         DECL_SECTION_NAME.
2618         (compare_field_bitpos): Likewise.
2619
2620 2005-07-09  Andrew Pinski  <pinskia@physics.uc.edu>
2621
2622         * utils.c (create_var_decl): Only set DECL_COMMON on
2623         VAR_DECLs. Only set SET_DECL_ASSEMBLER_NAME on
2624         VAR_OR_FUNCTION_DECL_P.
2625
2626 2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
2627
2628         * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
2629         removed.
2630
2631 2005-07-07  Pascal Obry  <obry@adacore.com>
2632
2633         * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
2634         returned type on Windows.
2635
2636         * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
2637         routine.
2638
2639         * g-socket.adb (Inet_Addr): Check for empty Image and raises an
2640         exception in this case.
2641         Simplify the code as "Image (Image'Range)" = "Image".
2642
2643 2005-07-07  Vincent Celier  <celier@adacore.com>
2644
2645         * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
2646         the destructor/constructor attributes for <lib>final/<lib>init.
2647
2648         * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
2649
2650 2005-07-07  Eric Botcazou  <ebotcazou@adacore.com>
2651
2652         * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
2653         type if the parameter is not passed by copy but reference by default.
2654
2655 2005-07-07  Javier Miranda  <miranda@adacore.com>
2656
2657         * exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
2658         Reimplementation of the support for abstract interface types in order
2659         to leave the code more clear and easy to maintain.
2660
2661         * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
2662         abstract interface types in order to leave the code clearer and easier
2663         to maintain.
2664
2665         * exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
2666         is now implemented by the new subprogram Fill_Secondary_DT_Entry.
2667         (Fill_Secondary_DT_Entry): Generate the code necessary to fill the
2668         appropriate entry of the secondary dispatch table.
2669         (Make_DT): Add code to inherit the secondary dispatch tables of
2670         the ancestors.
2671
2672         * exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
2673         implementing both functionalities by means of a common routine, each
2674         routine has its own code.
2675
2676 2005-07-07  Javier Miranda  <miranda@adacore.com>
2677
2678         * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
2679
2680         * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
2681         types:
2682         --
2683           type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
2684         --
2685
2686         * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
2687         use of tag incomplete types.
2688
2689         * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
2690         give support to tagged incomplete types.
2691
2692         * sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
2693         expression is a discriminant reference and its type is private, as can
2694         happen within a stream operation for a mutable record, use the full
2695         view of the type to resolve the case alternatives.
2696         (Analyze_Assignment): Check wrong dereference of incomplete types.
2697
2698         * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
2699         types.
2700
2701         * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
2702         incomplete types.
2703
2704         * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
2705         N_Incomplete_Type_Declaration nodes.
2706
2707         * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
2708         Tag_Present to give support to tagged incomplete types:
2709         --
2710           type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
2711         --
2712
2713 2005-07-07  Olivier Hainque  <hainque@adacore.com>
2714
2715         PR ada/22301
2716
2717         * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
2718         definitions for the Unwind wrappers in the compiler case.
2719
2720 2005-07-07  Ed Schonberg  <schonberg@adacore.com>
2721             Javier Miranda  <miranda@adacore.com>
2722
2723         * par-load.adb (Load): If a child unit is loaded through a limited_with
2724         clause, each parent must be loaded as a limited unit as well.
2725
2726         * sem_ch10.adb (Previous_Withed_Unit): Better name for
2727         Check_Withed_Unit. Return true if there is a previous with_clause for
2728         this unit, whether limited or not.
2729         (Expand_Limited_With_Clause): Do not generate a limited_with_clause on
2730         the current unit.
2731         (Is_Visible_Through_Renamings): New local subprogram of install_limited
2732         _withed_unit that checks if some package installed through normal with
2733         clauses has a renaming declaration of package whose limited-view is
2734         ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
2735         of the current Draft document for Ada 2005.
2736         (Analyze_Context): Complete the list of compilation units that
2737         are allowed to contain limited-with clauses. It also contains
2738         checks that were previously done by Install_Limited_Context_Clauses.
2739         This makes the code more clear and easy to maintain.
2740         (Expand_Limited_With_Clause) It is now a local subprogram of
2741         Install_Limited_Context_Clauses, and contains the code that adds
2742         the implicit limited-with clauses for parents of child units.
2743         This functionality was prevously done by Analyze_Context.
2744
2745         * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
2746         incomplete type.
2747
2748         * sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
2749         been erroneously named in a limited-with clause of its own context.
2750         In this case the error has been previously notified by Analyze_Context.
2751
2752 2005-07-07  Ed Schonberg  <schonberg@adacore.com>
2753
2754         * sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
2755         generic package that contains local declarations with the same name.
2756         (Analyze_Object_Renaming): Check wrong renaming of incomplete type.
2757
2758 2005-07-07  Bernard Banner  <banner@adacore.com>
2759
2760         * tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
2761         ia64 platform only on platforms that you the GCC unwind library
2762         rather than the system unwind library.
2763
2764 2005-07-07  Thomas Quinot  <quinot@adacore.com>
2765
2766         * expect.c: Minor reformatting
2767
2768 2005-07-07  Sergey Rybin  <rybin@adacore.com>
2769
2770         * vms_data.ads: Add VMS qualifiers for new gnatpp switch
2771         --no-separate-is
2772
2773         * gnat_ugn.texi: Add description for new gnatpp option
2774         (--no-separate-is)
2775
2776 2005-07-04  Thomas Quinot  <quinot@adacore.com>
2777
2778         * g-expect-vms.adb, g-expect.ads, g-expect.adb
2779         (Get_Command_Output): New subprogram to launch a process and get its
2780         standard output as a string.
2781
2782 2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
2783             Olivier Hainque  <hainque@adacore.com>
2784
2785         * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
2786         fetch a code-range descriptor associated with the machine state. On
2787         failure set the machine state's PC to 0; on success, pass the
2788         descriptor to exc_virtual_unwind.
2789
2790         * init.c (Tru64 section): New function __gnat_set_code_loc.
2791
2792 2005-07-04  Vincent Celier  <celier@adacore.com>
2793
2794         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
2795         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
2796         mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
2797         Remove all auto-initialization code, as this is now done through the
2798         constructor mechanism.
2799
2800         * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
2801         __gnat_sals_init_using_constructors): New functions.
2802
2803         * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
2804         Linker_Constructor and Linker_Destructor when switch -a is used.
2805
2806         * bindusg.adb: Add line for new switch -a
2807
2808         * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
2809         (Gnatbind): When switch -a is used, check if it is allowed
2810
2811         * switch-b.adb (Scan_Binder_Switches): Process new switch -a
2812
2813 2005-07-04  Joel Brobecker  <brobecker@adacore.com>
2814
2815         * a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
2816         This prevents us from hitting a limitation during the debug info
2817         generation when using stabs.
2818         (Prims_Ptr): Likewise.
2819
2820 2005-07-04  Gary Dismukes  <dismukes@adacore.com>
2821             Ed Schonberg  <schonberg@adacore.com>
2822             Javier Miranda  <miranda@adacore.com>
2823
2824         * checks.adb (Null_Exclusion_Static_Checks): In the case of
2825         N_Object_Declaration, only perform the checks if the Object_Definition
2826         is not an Access_Definition.
2827
2828         * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
2829         where the parent of an the access definition is an N_Object_Declaration
2830         when determining the Associated_Node_For_Itype and scope of an
2831         anonymous access-to-subprogram type.
2832
2833         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
2834         Corresponding_Spec on the body created for a null procedure. Add ???
2835         comment. Remove New_Copy_Tree call on body argument to
2836         Set_Body_To_Inline.
2837
2838         * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
2839         discriminants, use the type of the actual as well, because the
2840         discriminants may be read by the called subprogram.
2841
2842         * sem_ch3.adb (Access_Type_Declaration): If the designated type is an
2843         access type we do not need to handle non-limited views.
2844         (Build_Derived_Record_Type): Additional check to check that in case of
2845         private types, interfaces are only allowed in private extensions.
2846
2847 2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
2848
2849         * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
2850         <Pragma_Linker_Destructor>: Likewise.
2851
2852         * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
2853         Pragma_Linker_Destructor.
2854
2855         * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
2856         ATTR_LINK_DESTRUCTOR.
2857         (static_ctors, static_dtors): New variables.
2858
2859         * misc.c (gnat_expand_body): Output current function as constructor
2860         and destructor if requested.
2861
2862         * par-prag.adb: Add processing for pragma Linker_Constructor and
2863         Linker_Destructor.
2864
2865         * sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
2866         extracted from Check_Interrupt_Or_Attach_Handler.
2867         (Check_Interrupt_Or_Attach_Handler): Invoke it.
2868         Implement pragma Linker_Constructor and Linker_Destructor with the
2869         help of Find_Unique_Parameterless_Procedure.
2870         Replace Name_Alias with Name_Target for pragma Linker_Alias.
2871
2872         * snames.h, snames.ads, snames.adb:
2873         Add Name_Linker_Constructor and Name_Linker_Destructor.
2874         Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
2875         * snames.adb: Remove Name_Alias.
2876
2877         * trans.c: Include cgraph.h.
2878         (build_global_cdtor): New function.
2879         (Compilation_Unit_to_gnu): Build global constructor and destructor if
2880         needed.
2881         (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
2882         of objects too.
2883         (addressable_p) <COMPONENT_REF>: Unconditionally test
2884         DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
2885
2886         * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
2887         variable if it is external.
2888
2889         (static_ctors, static_dtors): New global variables.
2890         (process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
2891         <ATTR_LINK_DESTRUCTOR>: Likewise.
2892         (end_subprog_body): Chain function as constructor and destructor
2893         if requested.
2894
2895         * exp_util.adb (Force_Evaluation): Unconditionally invoke
2896         Remove_Side_Effects with Variable_Ref set to true.
2897         (Remove_Side_Effects): Handle scalar types first. Use a renaming
2898         for non-scalar types even if Variable_Ref is true and for class-wide
2899         expressions.
2900
2901 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
2902
2903         * exp_attr.adb (Mod): Evaluate condition expression with checks off,
2904         to prevent spurious warnings.
2905
2906 2005-07-04  Thomas Quinot  <quinot@adacore.com>
2907
2908         * exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
2909         Itypes. Itypes are really unexpected there.
2910         (Build_TypeCode_Function): Generalise special processing for Itypes to
2911         handle the case of numeric implicit base types as well as enumerated
2912         ones.
2913
2914 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
2915
2916         * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
2917         controlled, indicate the expected type of the dereference that is
2918         created for the call to Deep_Finalize, to prevent spurious errors when
2919         the designated type is private and completed with a derivation from
2920         another private type.
2921
2922 2005-07-04  Vincent Celier  <celier@adacore.com>
2923
2924         * make.adb (Change_To_Object_Directory): When unable to change the
2925         current dir to the object directory, output the full path of the
2926         directory.
2927
2928 2005-07-04  Matthew Gingell  <gingell@adacore.com>
2929
2930         * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
2931
2932         * indepsw-linux.adb: Replace by...
2933
2934         * indepsw-gnu.adb: ...this new file
2935
2936 2005-07-04  Vincent Celier  <celier@adacore.com>
2937
2938         * mlib-prj.adb (Auto_Initialize): New constant String
2939         (SALs_Use_Constructors): New Boolean function
2940         (Build_Library): Call gnatbind with Auto_Initialize switch when
2941         SALs_Use_Constructors returns True.
2942
2943         * mlib-tgt.ads: Minor reformatting
2944
2945         * mlib-utl.ads: Minor reformatting
2946
2947         * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
2948
2949 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
2950
2951         * par-ch9.adb (P_Task, P_Protected): Indicate that single task and
2952         single protected declarations can have an interface list.
2953         (P_Entry_Declaration): Add handler for Error_Resync, which can be raised
2954         with seriously malformed entry declarations, and lead to compilation
2955         abandoned messages.
2956
2957 2005-07-04  Javier Miranda  <miranda@adacore.com>
2958
2959         * par-load.adb: Load the context items in two rounds.
2960
2961 2005-07-04  Robert Dewar  <dewar@adacore.com>
2962
2963         * scng.adb: Do not consider Mod used as an attribute to be a keyword
2964
2965 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
2966             Javier Miranda  <miranda@adacore.com>
2967
2968         * sem_ch10.adb (Build_Limited_Views): A type declared with a private
2969         type extension needs a limited view.
2970         Remove previous restriction on private types available through the
2971         limited-view (only tagged private types were previously allowed).
2972         (Install_Withed_Unit): In the code that implements the
2973         legality rule given in AI-377, exclude a child unit with the name
2974         Standard, because it is a homonym of the Standard environment package.
2975
2976 2005-07-04  Thomas Quinot  <quinot@adacore.com>
2977
2978         * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
2979         overloaded function call, carry interpretations from the original tree
2980         to the copy.
2981
2982 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
2983
2984         * sem_ch6.adb (Conforming_Types): If the types are anonymous access
2985         types check whether some designated type is a limited view, and use
2986         the non-limited view if available.
2987
2988 2005-07-04  Gary Dismukes  <dismukes@adacore.com>
2989
2990         * sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
2991         constraint of full view of a private view T1 if present, when T2 is a
2992         discriminated full view.
2993
2994 2005-07-04  Thomas Quinot  <quinot@adacore.com>
2995
2996         * sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
2997         actual that is a view conversion of a bit packed array reference.
2998
2999 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
3000
3001         * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
3002         present before checking whether an interface type covers a synchronized
3003         type.
3004
3005 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
3006
3007         * sem_util.adb (Is_Object_Reference): An indexed or selected component
3008         whose prefix is an implicit dereference is an object reference. Removes
3009         spurious errors when compiling with -gnatc.
3010
3011 2005-07-04  Robert Dewar  <dewar@adacore.com>
3012
3013         PR ada/22039
3014
3015         * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
3016
3017 2005-07-04  Matthew Gingell  <gingell@adacore.com>
3018
3019         * tracebak.c: Enable tracebacks on ia64 platforms
3020
3021 2005-07-04  Vincent Celier  <celier@adacore.com>
3022
3023         * vms_conv.adb (Initialize): Allow multiple ALI files to be given to
3024         the GNAT BIND command, as gnatbind accepts multiples ALI files with
3025         the -L or -n switches.
3026
3027 2005-07-04  Vincent Celier  <celier@adacore.com>
3028
3029         * makegpr.adb (Build_Global_Archive): Make sure the list of sources is
3030         correctly computed and the main project data is not modified while
3031         doing so.
3032         (Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
3033         (Choose_C_Plus_Plus_Link_Process): Do not generate shell script
3034         c++linker as this does not work on some platforms.
3035
3036 2005-07-04  Matthew Heaney  <heaney@adacore.com>
3037
3038         * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
3039         was changed.
3040         * a-coinve.adb: Perform constraint checks explicitly.
3041
3042 2005-07-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3043             Thomas Quinot  <quinot@adacore.com>
3044
3045         * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
3046         new target gen-soccon.
3047
3048 2005-07-04  Robert Dewar  <dewar@adacore.com>
3049
3050         * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
3051
3052 2005-07-04  Thomas Quinot  <quinot@adacore.com>
3053
3054         * g-socket.ads (Check_Selector): Minor rewording of comment.
3055
3056 2005-07-04  Vincent Celier  <celier@adacore.com>
3057
3058         * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
3059
3060 2005-07-04  Thomas Quinot  <quinot@adacore.com>
3061
3062         * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
3063
3064 2005-07-04  Sergey Rybin  <rybin@adacore.com>
3065
3066         * gnat_ugn.texi: Add description of --eol gnatpp option
3067
3068 2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
3069             Thomas Quinot  <quinot@adacore.com>
3070
3071         * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
3072         if the user wants all calls of a subprogram to be flagged,
3073         independently of whether they are made from within the same unit or
3074         another unit.
3075         Mention restriction for pragma Linker_Alias on some platforms.
3076         Document pragma Linker_Constructor and Linker_Destructor.
3077         Rewrite documentation of Weak_External, Linker_Section and
3078         Linker_Alias pragmas.
3079
3080 2005-07-04  Arnaud Charlet  <charlet@adacore.com>
3081
3082         * s-stausa.ads, s-stausa.adb: New files.
3083
3084 2005-06-30  Kelley Cook
3085
3086         * all files:  Update FSF address in copyright headers.
3087         * gen-soccon.co (main): Output new FSF address in generated files.
3088
3089 2005-06-28  Paul Brook  <paul@codesourcery.com>
3090
3091         * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
3092
3093 2005-06-14  Olivier Hainque  <hainque@adacore.com>
3094             Eric Botcazou  <ebotcazou@adacore.com>
3095
3096         * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
3097         exc_unwind, now that we are generating proper .debug_frame output for
3098         that target.
3099
3100         * tracebak.c: Remove the mips-irix section, as we are now using the
3101         s-mastop based unwinder again.
3102         Under SPARC/Solaris, take into account the stack bias to compute the
3103         frame offset.  The stack bias is 0 for the V8 ABI and 2047 for the V9
3104         ABI.
3105
3106 2005-06-14  Doug Rupp  <rupp@adacore.com>
3107
3108         * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
3109
3110         * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
3111
3112 2005-06-14  Pascal Obry  <obry@adacore.com>
3113
3114         * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
3115         a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
3116         a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
3117         package name).
3118
3119         * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
3120         a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
3121         a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
3122         a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
3123         a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
3124         a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
3125         a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
3126         s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
3127         s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
3128         s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
3129         s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
3130         s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
3131         s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
3132         s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
3133         s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
3134         s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
3135         s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
3136         s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
3137         s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
3138         s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
3139         s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
3140         s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
3141         s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
3142         s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
3143         s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
3144         s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
3145         s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
3146         s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
3147         s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
3148         s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
3149         a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
3150         a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
3151         a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
3152         a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
3153         a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
3154         a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
3155         a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
3156         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
3157         a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
3158         a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
3159         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
3160         a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
3161         a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
3162         a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
3163         a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
3164         a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
3165         a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
3166         a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
3167         a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
3168         a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
3169         a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
3170         a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
3171         a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
3172         a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
3173         a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
3174         a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
3175         a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
3176         dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
3177         g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
3178         g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
3179         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
3180         g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
3181         g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
3182         gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
3183         g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
3184         i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
3185         s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
3186         s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
3187         s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
3188         s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
3189         s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
3190         s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
3191         s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
3192         s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
3193         s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
3194         s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
3195         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
3196         s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
3197         s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
3198         s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
3199         s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
3200         s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
3201         s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
3202         s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
3203         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
3204         s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
3205         s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
3206         s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
3207         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
3208         s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
3209         s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
3210         s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
3211         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
3212         s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
3213         s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
3214         s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
3215         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
3216         s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
3217         s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
3218         s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
3219         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
3220         s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
3221         s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
3222         s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
3223         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
3224         s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
3225         s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
3226         s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
3227         s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
3228         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
3229         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
3230         s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
3231         s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
3232         s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
3233         s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
3234         s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
3235         s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
3236         s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
3237         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
3238         s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
3239         s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
3240         s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
3241         s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
3242         a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
3243         a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
3244         a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
3245         a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
3246         a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
3247         a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
3248         a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
3249         a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
3250         a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
3251         "GNU Ada" to GNAT, use proper casing for RUN-TIME.
3252
3253 2005-06-14  Jose Ruiz  <ruiz@adacore.com>
3254             Arnaud Charlet  <charlet@adacore.com>
3255
3256         * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
3257         longer protected objects. They have been replaced by lower-level
3258         suspension objects made up by a mutex and a condition variable (or
3259         their equivalent given a particular OS) plus some internal data to
3260         reflect the state of the suspension object.
3261         (Initialize, Finalize): Add this initialization procedure for
3262         Suspension_Object, which is a controlled type.
3263         (Finalize): Add the finalization procedure for Suspension_Object,
3264         which is a controlled type.
3265
3266         * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
3267         Ada.Synchronous_Task_Control because there is no longer a need for a
3268         VxWorks specific version of this package. Target dependencies
3269         has been moved to System.Task_Primitives.Operations.
3270
3271         * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
3272         longer needed.
3273         (InitializeCriticalSection, EnterCriticalSection,
3274         LeaveCriticalSection, DeleteCriticalSection): Replace the type
3275         pCriticalSection by an anonymous access type so that we avoid problems
3276         of accessibility to local objects.
3277
3278         * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
3279         s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
3280         s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
3281         s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
3282         s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
3283         set the environment task mask here.
3284         (Current_State): Add this function that returns the state of the
3285         suspension object.
3286         (Set_False): Add this procedure that sets the state of the suspension
3287         object to False.
3288         (Set_True): Add this procedure that sets the state of the suspension
3289         object to True, releasing the task that was suspended, if any.
3290         (Suspend_Until_True): Add this procedure that blocks the calling task
3291         until the state of the object is True. Program_Error is raised if
3292         another task is already waiting on that suspension object.
3293         (Initialize): Add this procedure for initializing the suspension
3294         object. It initializes the mutex and the condition variable which are
3295         used for synchronization and queuing, and it sets the internal state
3296         to False.
3297         (Finalize): Add this procedure for finalizing the suspension object,
3298         destroying the mutex and the condition variable.
3299
3300         * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
3301         s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
3302         s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
3303         s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
3304         which provides a low-level abstraction (using operating system
3305         primitives) for Ada.Synchronous_Task_Control.
3306         This object is made up by a mutex (for ensuring mutual exclusion), a
3307         condition variable (for queuing threads until the condition is
3308         signaled), a Boolean (State) indicating whether the object is open,
3309         and a Boolean (Waiting) reflecting whether there is a task already
3310         suspended on this object.
3311
3312         * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
3313         s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
3314         s-intman-vms.ads, s-intman-mingw.adb,
3315         (Initialize_Interrupts): Removed, no longer used.
3316
3317         * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
3318         (Setup_Interrupt_Mask): New procedure.
3319
3320         * s-intman-vxworks.ads, s-intman-vxworks.adb:  Update comments.
3321
3322         * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
3323
3324         * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
3325         this is no longer done in the body of s-taprop
3326         (Server_Task): Explicitely test for Pending_Action in case
3327         System.Parameters.No_Abort is True.
3328
3329         * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
3330         is no longer done in the body of s-taprop
3331
3332 2005-06-14  Robert Dewar  <dewar@adacore.com>
3333
3334         * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
3335         system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
3336         system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
3337         system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
3338         system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
3339         system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
3340         system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
3341         system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
3342         system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
3343         system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
3344         system-linux-hppa.ads, system-vms_64.ads,
3345         system-vxworks-alpha.ads: Minor comment update for
3346         AI-362 (unit is Pure).
3347
3348         * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
3349         Add pragma Pure_05 for AI-362
3350         Make remaining conversion functions obsolescent in Ada 95
3351
3352         * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
3353         Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
3354         Add entries for a-wichun and a-zchuni
3355         Add a-widcha a-zchara for AI-395
3356         Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
3357
3358         * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
3359         Add entries for a-wichun.o and a-zchuni.o
3360         Entries for a-widcha.o and a-zchara.o
3361         Add entry for a-chacon.o
3362
3363         * a-ztenau.adb: Add with of Ada.Characters.Conversions
3364
3365         * a-chacon.ads, a-chacon.adb: New files.
3366
3367         * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
3368         categorization violations.
3369
3370         * a-strmap.ads: Add pragma Pure_05 for AI-362
3371         * a-strmap.ads: Add note on implicit categorization for AI-362
3372
3373         * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
3374
3375         * par-prag.adb: Dummy entry for pragma Persistent_BSS
3376         Set Ada_Version_Explicit, for implementation of AI-362
3377         Add processing for pragma Pure_05 and Preelaborate_05
3378         Add entry for Assertion_Policy pragma
3379
3380         * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
3381         when needed for proper processing of categorization stuff
3382
3383         * sem_cat.adb:
3384         For several cases, make errors in preealborate units warnings,
3385         instead of errors, if GNAT_Mode is set. For AI-362.
3386
3387         * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
3388         preelaborate unit is now warning if in GNAT mode
3389
3390         * s-stoele.ads: Document AI-362 for pragma preelaborate
3391
3392 2005-06-14  Doug Rupp  <rupp@adacore.com>
3393
3394         * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
3395         s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
3396         Default_Exception_Msg_Max_Length: new parameter.
3397
3398         * a-except.ads: (Exception_Msg_Max_Length): Set to
3399         System.Parameters.Default_Exception_Msg_Max_Length
3400         Add pragma Preelaborate_05 for AI-362
3401         Add warnings off to allow categorization violations for AI-362
3402
3403 2005-06-14  Vincent Celier  <celier@adacore.com>
3404
3405         * gnatsym.adb: Adapt to modification of package Symbols: procedure
3406         Process is now in package Processing.
3407
3408         * symbols.ads, symbols.adb:
3409         (Processing): New package, containing procedure Process
3410
3411         * symbols-vms-alpha.adb:
3412         Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
3413
3414         * symbols-vms.adb, symbols-processing-vms-alpha.adb,
3415         symbols-processing-vms-ia64.adb: New files.
3416
3417 2005-06-14  Pascal Obry  <obry@adacore.com>
3418
3419         * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
3420         implementation. This new version generates the proper DllMain routine
3421         to initialize the SAL. The DllMain is generated in Ada and compiled
3422         before being added as option to the library build command.
3423
3424 2005-06-14  Doug Rupp  <rupp@adacore.com>
3425             Pascal Obry  <obry@adacore.com>
3426
3427         * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
3428         call to decc$translate_vms.
3429         (__gnat_locate_regular_file): Check if the path_val contains quotes. We
3430         need to remove those quotes before catenating the filename.
3431         (__gnat_locate_exec_on_path): improvements to the Win32 section:
3432         * avoid allocating the memory twice for better efficiency;
3433         * allocate 32K buffer for environment expansion as suggested by MSDN;
3434         * prepend ".;" to the path so that current directory is searched too.
3435
3436 2005-06-14  Robert Dewar  <dewar@adacore.com>
3437
3438         * a-except.adb (Exception_Identity): return Null_Id for null occurrence
3439         instead of raising CE (AI-241)
3440         Add warnings off to allow categorization violations for AI-362
3441
3442 2005-06-14  Robert Dewar  <dewar@adacore.com>
3443
3444         * ali-util.adb, gnatbind.adb: Remove references to
3445         Force_RM_Elaboration_Order.
3446
3447         * switch-b.adb: Remove recognition of -f switch
3448
3449 2005-06-14  Pascal Obry  <obry@adacore.com>
3450
3451         * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
3452         implementation which is slightly more efficient.
3453
3454 2005-06-14  Gary Dismukes  <dismukes@adacore.com>
3455             Javier Miranda  <miranda@adacore.com>
3456             Ed Schonberg  <schonberg@adacore.com>
3457             Hristian Kirtchev  <kirtchev@adacore.com>
3458
3459         * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
3460         allocator's designated type is a class-wide type, and compiling for
3461         Ada 2005, emit a run-time check that the accessibility level of the
3462         type given in the allocator's expression is not deeper than the level
3463         of the allocator's access type.
3464
3465         (Tagged_Membership): Modified to gives support to abstract interface
3466         types.
3467
3468         * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
3469         Access_Level.
3470         (Descendant_Tag): New predefined function
3471         (Is_Descendant_At_Same_Level): New predefined function
3472         (Get_Access_Level): New private function
3473         (Set_Access_Level): New private procedure
3474         (IW_Membership): New function. Given the tag of an object and the tag
3475         associated with an interface, evaluate if the object implements the
3476         interface.
3477         (Register_Interface_Tag): New procedure used to initialize the table of
3478         interfaces used by the IW_Membership function.
3479         (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
3480         of the dispatch table.
3481         (Inherit_TSD): Modified to copy the table of ancestor tags plus the
3482         table of interfaces of the parent.
3483         (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
3484         (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
3485         (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
3486         and raise Tag_Error if the passed tag equalis No_Tag, to conform with
3487         Ada 2005 semantics for the new predefined function.
3488
3489         * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
3490         call to Descendant_Tag rather than Internal_Tag.
3491         (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
3492         the accessibility level of the attribute's Item parameter is not deeper
3493         than the level of the attribute's prefix type. Tag_Error is raised if
3494         the check fails. The check is only emitted for Ada_05.
3495         (Find_Stream_Subprogram): If a TSS exists on the type itself for the
3496         requested stream attribute, use it.
3497         (Expand_N_Attribute_Reference): If the designated type is an interface
3498         then rewrite the referenced object as a conversion to force the
3499         displacement of the pointer to the secondary dispatch table.
3500         (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
3501         is a dereference of an object with a constrained partial view.
3502
3503         * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
3504         type is a class-wide type, emit a run-time check that the accessibility
3505         level of the returned object is not deeper than the level of the
3506         function's master (only when compiling for Ada 2005).
3507
3508         * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
3509         Action_Nb_Arg): Add entries for new Get_Access_Level and
3510         Set_Access_Level routines in these tables.
3511         (Make_DT): Generate a call to set the accessibility level of the
3512         tagged type in its TSD.
3513         (Make_DT): Code cleanup. The functionality of generating all the
3514         secondary dispatch tables has been moved to freeze_record_type.
3515         (Make_Abstract_Interface_DT): Minor code cleanup.
3516         (Set_All_DT_Position): Code cleanup. As part of the code cleanup
3517         this subprogram implements a new algorithm that provides the
3518         same functionality and it is more clear in case of primitives
3519         associated with abstract interfaces.
3520         (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
3521         clean up, the functionality of this subprogram is now provided
3522         by Set_All_DT_Position.
3523         (Write_DT): New subprogram: a debugging procedure designed to be called
3524         within gdb to display the dispatch tables associated with a tagged
3525         type.
3526         (Collect_All_Interfaces): New subprogram that collects the whole list
3527         of interfaces that are directly or indirectly implemented by a tagged
3528         type.
3529         (Default_Prim_Op_Position): New subprogram that returns the fixed
3530         position in the dispatch table of the default primitive operations.
3531         (Expand_Interface_Actuals): New subprogram to generate code that
3532         displaces all the actuals corresponding to class-wide interfaces to
3533         reference the interface tag of the actual object.
3534         (Expand_Interface_Conversion): New subprogram. Reference the base of
3535         the object to give access to the interface tag associated with the
3536         secondary dispatch table.
3537         (Expand_Interface_Thunk): New subprogram that generates the code of the
3538         thunk. This is required for compatibility with the C+ ABI.
3539         (Make_Abstract_Interface_DT): New subprogram that generate the
3540         declarations for the secondary dispatch tables associated with an
3541         abstract interface.
3542         (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
3543         attribute for each primitive operation covering interface subprograms
3544         (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
3545         These subprograms were upgraded to give support to abstract interfaces
3546
3547         * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
3548         RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
3549         RE_Set_Access_Level.
3550         (RE_Unit_Table): Add entries for new Ada.Tags operations.
3551         Add support to call the followig new run-time subprograms:
3552         IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
3553
3554         * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
3555         match its full declaration when both have an access definition with
3556         statically matching designated subtypes.
3557         (Analyze_Component_Declaration): Delete commented out code that was
3558         incorrectly setting the scope of an anonymous access component's type.
3559         (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
3560         an access discriminant when the containing type is nonlimited.
3561         (Make_Incomplete_Type_Declaration): Create an incomplete type
3562         declaration for a record type that includes self-referential access
3563         components.
3564         (Check_Anonymous_Access_Types): Before full analysis of a record type
3565         declaration, create anonymous access types for each self-referential
3566         access component.
3567         (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
3568         an access component in this context is a Local_Anonymous_Access, for
3569         proper accessibility checks.
3570         (Access_Definition): Set properly the scope of the anonymous access type
3571         created for a stand-alone access object.
3572         (Find_Type_Of_Object): An object declaration may be given with an access
3573         definition.
3574         (Complete_Subprograms_Derivation): New subprogram used to complete
3575         type derivation of private tagged types implementing interfaces.
3576         In this case some interface primitives may have been overriden
3577         with the partial-view and, instead of re-calculating them, they
3578         are included in the list of primitive operations of the full-view.
3579         (Build_Derived_Record_Type): Modified to give support to private
3580         types implemening interfaces.
3581         (Access_Definition): Reject ALL on anonymous access types.
3582         (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
3583         type derivation to occur at a deeper accessibility level than the
3584         parent type.
3585         For the case of derivation within a generic body however, disallow the
3586         derivation if the derived type has an ancestor that is a formal type
3587         declared in the formal part of an enclosing generic.
3588         (Analyze_Object_Declaration): For protected objects, remove the check
3589         that they cannot contain interrupt handlers if not declared at library
3590         level.
3591         (Add_Interface_Tag_Components): New subprogram to add the tag components
3592         corresponding to all the abstract interface types implemented by a
3593         record type or a derived record type.
3594         (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
3595         Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
3596         Process_Full_View, Record_Type_Declaration): Modified to give
3597         support to abstract interface types
3598         (Collect_Interfaces): New subprogram that collects the list of
3599         interfaces that are not already implemented by the ancestors
3600         (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
3601         when partial view has no discriminants and full view has defaults.
3602         (Constrain_Access): Reject a constraint on a general access type
3603         if the discriminants of the designated type have defaults.
3604         (Access_Subprogram_Declaration): Associate the Itype node with the inner
3605         full-type declaration or subprogram spec. This is required to handle
3606         nested anonymous declarations.
3607         (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
3608         Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
3609         Process_Full_View, Record_Type_Declaration): Modified to give
3610         support to abstract interface types
3611         (Derive_Subprograms): Addition of a new formal to indicate if
3612         we are in the case of an abstact-interface derivation
3613         (Find_Type_Of_Subtype_Indic): Moved from the body of the package
3614         to the specification because it is requied to analyze all the
3615         identifiers found in a list of interfaces
3616
3617         * debug.adb: Complete documentation of flag "-gnatdZ"
3618
3619         * exp_ch3.adb: Implement config version of persistent_bss pragma
3620         (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
3621         testing for TSS presence to properly enforce visibility rules.
3622         (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
3623         Make_Abstract_Interfaces_DT to generate the secondary tables
3624         associated with abstract interfaces.
3625         (Build_Init_Procedure): Modified to initialize all the tags
3626         corresponding.
3627         (Component_Needs_Simple_Initialization): Similar to other tags,
3628         interface tags do not need initialization.
3629         (Freeze_Record_Type): Modified to give support to abstract interface
3630         types.
3631         (Expand_N_Object_Declaration): Do not generate an initialization for
3632         a scalar temporary marked as internal.
3633
3634         * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
3635         in-out parameter that is a component in an initialization procedure,
3636         whose constraint might depend on discriminants, and that may be
3637         misaligned because of packing or representation clauses.
3638         (Is_Legal_Copy): New predicate to determine whether a possibly
3639         misaligned in-out actual can actually be passed by copy/return. This
3640         is an error in case the type is by_reference, and a warning if this is
3641         the consequence of a DEC import pragma on the subprogram.
3642         (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
3643         interface types
3644         (Expand_Inlined_Call): Mark temporary generated for the return value as
3645         internal, so that no useless scalar normalization is generated for it.
3646         (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
3647         null procedure can always be inlined.
3648         (Expand_N_Subprogram_Declaration): If this is the declaration of a null
3649         procedure, generate an explicit empty body for it.
3650
3651         * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
3652         Given a type implementing an interface, returns the corresponding
3653         access_disp_table value.
3654         (Find_Interface_Tag): New subprogram. Given a type implementing an
3655         interface, returns the record component containing the tag of the
3656         interface.
3657         (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
3658         previous ones that return the corresponding tag and access_disp_table
3659         entities.
3660         (Is_Predefined_Dispatching_Operation): Determines if a subprogram
3661         is a predefined primitive operation.
3662         (Expand_Subtype_From_Expr): If the expression is a selected component
3663         within an initialization procedure, compute its actual subtype, because
3664         the component may depend on the discriminants of the enclosing record.
3665
3666         * i-cpp.ads, i-cpp.adb:
3667         This package has been left available for compatibility with previous
3668         versions of the frontend. As part of the new layout this is now a
3669         dummy package that uses declarations available at a-tags.ads
3670
3671         * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
3672         "constant access" and "aliased [constant] access" when not compiling
3673         with -gnat05.
3674         Suppress Ada 2005 keyword warning if -gnatwY used
3675         (P_Identifier_Declarations): Add support for object declarations with
3676         access definitions.
3677         (Private_Extension_Declaration): Complete the documentation
3678         (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
3679         attribute in case of private extension declaration
3680         (P_Type_Declaration): Mark as "abstract" the type declarations
3681         corresponding with protected, synchronized and task interfaces
3682         (P_Declarative_Items): "not" and "overriding" are overriding indicators
3683         for a subprogram or instance declaration.
3684
3685         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
3686         instantiation that is a dispatching operation has controlling access
3687         parameters that are null excluding.
3688         Save and restore Ada_Version_Explicit, for implementation of AI-362
3689         (Validate_Derived_Type_Instance): Add check for abstract interface
3690         types.
3691         (Analyze_Formal_Package): Establish Instantiation source for the copy of
3692         the generic that is created to represent the formal package.
3693         (Analyze_Package_Instantiation): Instantiate body immediately if the
3694         package is a predefined unit that contains inlined subprograms, and
3695         we are compiling for a Configurable_Run_Time.
3696         (Instantiate_Formal_Subprogram): Indicate that null default subprogram
3697         If the program has a null default, generate an empty body for it.
3698
3699         * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
3700         error message condition, null procedures are correctly detected now.
3701         (New_Overloaded_Entity): Bypass trivial overriding indicator check
3702         for subprograms in the context of protected types. Instead, the
3703         indicator is examined in Sem_Ch9 while analysing the subprogram
3704         declaration.
3705         (Check_Overriding_Indicator): Check consistency of overriding indicator
3706         on subprogram stubs as well.
3707         (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
3708         the library level.
3709         (Analize_Subprogram_Specification): When analyzing a subprogram in which
3710         the type of the first formal is a concurrent type, replace this type
3711         by the corresponding record type.
3712         (Analyze_Subprogram_Body): Undo the previous work.
3713         (Analyze_Procedure_Call): If the call has the form Object.Op, the
3714         analysis of the prefix ends up analyzing the call itself, after which
3715         we are done.
3716         (Has_Interface_Formals): New subprogram subsidiary to analyze
3717         subprogram_specification that returns true if some non
3718         class-wide interface subprogram is found
3719         (New_Overloaded_Entity): Modified to give support to abstract
3720         interface types
3721         (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
3722         access to subprograms must be recursive.
3723         (Is_Unchecked_Conversion): Improve the test that recognizes
3724         instantiations of Unchecked_Conversion, and allows them in bodies that
3725         are to be inlined by the front-end. When the body comes from an
3726         instantiation, a reference to Unchecked_Conversion will be an
3727         Expanded_Name, even though the body has not been analyzed yet.
3728         Replace Is_Overriding and Not_Overriding in subprogram_indication with
3729         Must_Override and Must_Not_Override, to better express intent of AI.
3730         (Analyze_Subprogram_Body): If an overriding indicator is given, check
3731         that it is consistent with the overrinding status of the subprogram
3732         at this point.
3733         (Analyze_Subprogram_Declaration): Indicate that a null procedure is
3734         always inlined.
3735         If the subprogram is a null procedure, indicate that it does not need
3736         a completion.
3737
3738         * sem_disp.adb (Check_Controlling_Type): Give support to entities
3739         available through limited-with clauses.
3740         (Check_Dispatching_Operation): A stub acts like a body, and therefore is
3741         allowed as the last primitive of a tagged type if it has no previous
3742         spec.
3743         (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
3744         to give support to abstract interface types
3745
3746         * sem_res.adb (Valid_Conversion): Perform an accessibility level check
3747         in the case where the target type is an anonymous access type of an
3748         object or component (that is, when Is_Local_Anonymous_Access is true).
3749         Prevent the special checks for conversions of access discriminants in
3750         the case where the discriminant belongs to a nonlimited type, since
3751         such discriminants have their accessibility level defined in the same
3752         way as a normal component of an anonymous access type.
3753         (Resolve_Allocator): When an allocator's designated type is a class-wide
3754         type, check that the accessibility level of type given in the
3755         allocator's expression or subtype indication is not statically deeper
3756         than the level of the allocator's access type.
3757         (Check_Discriminant_Use): Diagnose discriminant given by an expanded
3758         name in a discriminant constraint of a record component.
3759         (Resolve_Explicit_Dereference): Do not check whether the type is
3760         incomplete when the dereference is a use of an access discriminant in
3761         an initialization procedure.
3762         (Resolve_Type_Conversion): Handle conversions to abstract interface
3763         types.
3764         (Valid_Tagged_Conversion): The conversion of a tagged type to an
3765         abstract interface type is always valid.
3766         (Valid_Conversion): Modified to give support to abstract interface types
3767         (Resolve_Actuals): Enable full error reporting on view conversions
3768         between unrelated by_reference array types.
3769         The rule for view conversions of arrays with aliased components is
3770         weakened in Ada 2005.
3771         Call to obsolescent subprogram is now considered to be a violation of
3772         pragma Restrictions (No_Obsolescent_Features).
3773         (Check_Direct_Boolean_Operator): If the boolean operation has been
3774         constant-folded, there is nothing to check.
3775         (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
3776         check on possible violation of restriction No_Direct_Boolean_Operators
3777         until after expansion of operands, to prevent spurious errors when
3778         operation is constant-folded.
3779
3780         * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
3781         Has_Compatible_Type): Modified to give support to abstract interface
3782         types.
3783         (Interface_Present_In_Ancestor): New function to theck if some ancestor
3784         of a given type implements a given interface
3785
3786         * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
3787         prefix is a parameterless function that returns an access_to_procedure.
3788         (Transform_Object_Operation): Handle properly function calls of the
3789         form Obj.Op (X), which prior to analysis appear as indexed components.
3790         (Analyze_One_Call): Complete the error notification to help new Ada
3791         2005 users.
3792         (Analyze_Allocator): For an allocator without an initial value, where
3793         the designated type has a constrained partial view, a discriminant
3794         constraint is illegal.
3795
3796 2005-06-14  Robert Dewar  <dewar@adacore.com>
3797
3798         * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
3799         do with treatment of Set_Col when positioned at end of line character.
3800
3801 2005-06-14  Robert Dewar  <dewar@adacore.com>
3802
3803         * atree.adb: (Elist*): Protect against uninitialized field
3804
3805 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
3806
3807         * checks.adb (Install_Null_Excluding_Check): Do not generate checks
3808         for an attribute reference that returns an access type.
3809         (Apply_Discriminant_Check): No need for check if (designated) type has
3810         constrained partial view.
3811
3812         (Apply_Float_Conversion_Check): Generate a short-circuit expression for
3813         both bound checks, rather than a conjunction.
3814         (Insert_Valid_Check): If the expression is an actual that is an indexed
3815         component of a bit-packed array, force expansion of the packed element
3816         reference, because it is specifically inhibited elsewhere.
3817
3818 2005-06-14  Vincent Celier  <celier@adacore.com>
3819
3820         * clean.adb (Clean_Project): Correctly delete executable specified as
3821         absolute path names.
3822
3823         * make.adb (Gnatmake): Allow relative executable path names with
3824         directory information even when project files are used.
3825         (Change_To_Object_Directory): Fail gracefully when unable to change
3826         current working directory to object directory of a project.
3827         (Gnatmake): Remove exception handler that could no longer be exercized
3828         (Compile_Sources.Compile): Use deep copies of arguments, as some of them
3829         may be deallocated by Normalize_Arguments.
3830         (Collect_Arguments): Eliminate empty arguments
3831
3832         * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
3833         and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
3834         (Check_Project): Return False when Project is No_Project. Return True
3835         when All_Projects is True.
3836         (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
3837         All_Projects to True.
3838         Minor reformatting
3839
3840 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
3841             Javier Miranda  <miranda@adacore.com>
3842             Thomas Quinot  <quinot@adacore.com>
3843             Robert Dewar  <dewar@adacore.com>
3844             Hristian Kirtchev  <kirtchev@adacore.com>
3845             Gary Dismukes  <dismukes@adacore.com>
3846
3847         * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
3848         anonymous access types, to indicate that the accessibility level of
3849         the type is determined by that of the enclosing declaration.
3850         (Has_Persistent_BSS): New flag
3851         (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
3852         of this attribute with functions.
3853         (Is_Primitive_Wrapper): Remove the barrier.
3854         (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
3855         Has_Specified_Stream_Read, Has_Specified_Stream_Write):
3856         New subprograms.
3857         (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
3858         Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
3859         New subprograms.
3860         (Is_Pure_Unit_Access_Type): New flag
3861         (Abstract_Interfaces): Complete the assertion to cover all usages.
3862         (Set_Is_Interface): Complete the assertion to cover all usages.
3863         (Is_Primitive_Wrapper): New attribute.
3864         (Is_Obsolescent): Now applies to all entities (though it is only set
3865         for subprograms currently)
3866         New flag:  Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
3867         which solves various problems concerning access subtypes.
3868         (Has_Persistent_BSS): New flag
3869         (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
3870         Remove these subprograms because this attribute is currently
3871         not used.
3872         New entity flags:
3873         Has_Specified_Stream_Input (Flag190)
3874         Has_Specified_Stream_Output (Flag191)
3875         Has_Specified_Stream_Read (Flag192)
3876         Has_Specified_Stream_Write (Flag193)
3877         Present in all type and subtype entities. Set for a given view if the
3878         corresponding stream-oriented attribute has been defined by an
3879         attribute definition clause. When such a clause occurs, a TSS is set
3880         on the underlying full view; the flags are used to track visibility of
3881         the attribute definition clause for partial or incomplete views.
3882         (Is_Pure_Unit_Access_Type): New flag
3883         Clarify use of Is_Internal.
3884         (Is_Primitive_Wrapper): New attribute present in primitive subprograms
3885         internally generated to wrap the invocation of tasks and protected
3886         types that implement interfaces.
3887         (Implementation_Base_Type): Documentation correction
3888         (Is_Obsolescent): Now applies to all entities (though it is only set
3889         for subprograms currently)
3890         New flag:  Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
3891         which solves various problems concerning access subtypes.
3892
3893         * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
3894         for examined parameters. Identify unequal parameter list lengths as
3895         non-conformant parameters.
3896         (Overriding_Possible): Do not check for "All" qualifier in declaration
3897         of controlling access parameter, following prescription of AI-404.
3898         (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
3899         that build the procedure body that wraps an entry invocation
3900         (Build_Corresponding_Record, Build_Protected_Sub_Specification,
3901         Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
3902         Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
3903         give support to abstract interface types
3904
3905         * freeze.adb (Freeze_Entity): Issue error message if
3906         Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
3907         type has no storage pool (Ada 2005) AI-366.
3908         Also modified to give support to abstract interface types
3909         (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
3910         Inline_Always pragma.
3911
3912         * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
3913         now begin an entry declaration.
3914         (P_Entry_Or_Subprogram_With_Indicator): New procedure in
3915         P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
3916         a subprogram declaration preceded by an overriding indicator.
3917         (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
3918         declarations or subprogram declarations preceded by reserved words
3919         "not" or "overriding".
3920         (P_Entry_Declaration): Update comment. Parse and check overriding
3921         indicator, set semantic flags of entry declarations.
3922         (P_Task): New error message in case of private applied
3923         to a task type declaration.
3924         (P_Protected): New error message in case of private applied
3925         to a task type declaration.
3926
3927         * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
3928         in which the full view of a type implementing an interface is a
3929         concurrent type.
3930         (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
3931         Declare_Inherited_Private_Subprograms): If an explicit operation
3932         overrides an operation that is inherited in the private part, mark the
3933         explicit one as overriding, to enable overriding indicator checks.
3934         (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
3935         full view to partial view, to simplify handling in back-end.
3936
3937         * sprint.adb: Print interface lists where needed: derived types,
3938         protected types, task types.
3939         output "is null" for null procedures. Part of implementation of
3940
3941         * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
3942         relaxation of rules for access types in pure, shared passive partitions.
3943
3944         * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
3945         first read discriminants into temporary objects, performing checks on
3946         the read values, then possibly performing discriminant checks on the
3947         actual (if it is constrained), and only finally reading the components
3948         into a constrained temporary object.
3949         (Build_Elementary_Input_Call): Adjust the specific circuitry for the
3950         case of reading discriminants of a mutable record type to recognize
3951         the new form of the code generated by
3952         Build_Mutable_Record_Read_Procedure.
3953
3954         * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
3955         of a simple call to Make_TSS_Name.
3956         (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
3957         buffer, in order for Is_TSS to work correctly on local TSS names.
3958
3959         * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
3960         Is_Local_Anonymous_Access to check legaliy of attributes in the
3961         context of  access components and stand-alone access objects.
3962         (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
3963         treated as available for a limited private type if there is an
3964         attribute_definition_clause that applies to its full view, but not in
3965         other cases where the attribute is available for the full view
3966         (specifically, the sole fact that the full view is non-limited does not
3967         make the attribute available for the partial view).
3968         (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
3969         non-overloaded intrinsic subprogram.
3970         (Check_Stream_Attribute): Reject an attribute reference for an
3971         unavailable stream attribute even if the prefix is not a limited type
3972         (case of a 'Input attribute reference for an abstract, non-classwide
3973         type)
3974         (Stream_Attribute_Available): New function to determine whether a stream
3975         attribute is available at a place.
3976         (Check_Attribute): Use Stream_Attribute_Available instead of just
3977         testing for TSS presence on the implementation base type.
3978         (Analyze_Attribute): Modified to give support to task interfaces.
3979         (Analyze_Access_Attribute): Add error check for use of an Access (or
3980         Unrestricted_Access) attribute with a subprogram marked as
3981         Inline_Always.
3982         (Analyze_Attribute, case Attribute_Address): Add error check for use of
3983         an Address attribute with a subprogram marked as Inline_Always.
3984         Update Eval_Attribute to handle new value of Width from AI-395
3985
3986         * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
3987         (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
3988         Factor common code across the stream-oriented attribute circcuits into
3989         a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
3990         processing is functionally identical to the previous duplicated one,
3991         except that an expression that denotes an abstract subprogram will now
3992         be rejected, as mandated by AI-195 item 5.
3993
3994         * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
3995         Is_Local_Anonymous_Access to apply accessibility checks to access
3996         components and stand-alone access objects.
3997         (Has_Discriminant_Dependent_Constraint): Moved to spec for use
3998         elsewhere.
3999         (Is_Potentially_Persistent_Type): New function
4000         (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
4001         a heap-object whose type has a constrained partial view, the object is
4002         unconstrained and the component may depend on a discriminant, making its
4003         renaming illegal.
4004
4005         * sinfo.ads, sinfo.adb
4006         (Must_Not_Override): Flag applicable to N_Entry_Declaration.
4007         (Must_Override): Flag applicable to N_Entry_Declaration.
4008         Indicate that interface_list can appear in single task and single
4009         protected declarations.
4010         Replace Is_Overriding and Not_Overriding with Must_Override and
4011         Must_Not_Override, to better express intent of AI.
4012         Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
4013         of an overriding indicator in a subprogram or instance.
4014         Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
4015         Add the overriding indicator [[not] overriding] construct to the
4016         following grammar productions:
4017          ENTRY_DECLARATION
4018          GENERIC_INSTANTIATION
4019          SUBPROGRAM_SPECIFICATION
4020
4021         * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
4022         can start with an overriding indicator.
4023
4024         * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
4025         flags accordingly on subrogram specifications or instances.
4026
4027         * sem_ch8.adb:
4028         (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
4029         overriding_indicator, if present, is consistent with status of spec.
4030         Improve error message for null-excluding checks on controlling access
4031         parameters.
4032         (Check_In_Previous_With_Clause): Protect the frontend against
4033         previously reported critical errors in the context clauses.
4034         Save and restore Ada_Version_Explicit, for implementation of AI-362
4035         (Analyze_Subprogram_Renaming): If the new entity is a dispatching
4036         operation verify that controlling formals of the renamed entity that
4037         are access parameters are explicitly non-null.
4038         (Find_Expanded_Name): Improve error message when prefix is an illegal
4039         reference to a private child unit.
4040
4041         * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
4042         s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
4043         Rewrite to correspond to new wide character names in AI-395
4044
4045         * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
4046         default procedures.
4047
4048 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
4049             Robert Dewar  <dewar@adacore.com>
4050
4051         * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
4052         code, not on the bodies of predefined operations, to cut down on
4053         spurious noise.
4054
4055 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
4056
4057         * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
4058         be expanded in place. The size computation does not require a
4059         subtraction, which would raise an exception on a compiler built with
4060         assertions when the upper bound is Integer'first.
4061         (Flatten): For an array of composite components, take into account the
4062         size of the components to determine whether it is safe to expand the
4063         array into a purely positional representation.
4064
4065 2005-06-14  Thomas Quinot  <quinot@adacore.com>
4066
4067         * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
4068         denoting a formal parameter into account.
4069
4070 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
4071
4072         * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
4073         the entry_call alternative of a conditional entry call, wrap the
4074         conditional entry call itself.
4075
4076 2005-06-14  Nicolas Setton  <setton@adacore.com>
4077             Ed Schonberg  <schonberg@adacore.com>
4078
4079         * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
4080         the "simple_choice" member in a variant record, in accordance with the
4081         description in the package spec: the information output for a constant
4082         should be "S number", not "SS number".
4083         (Get_Encoded_Name): Return at once if not generating code. Avoids name
4084         overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
4085
4086 2005-06-14  Thomas Quinot  <quinot@adacore.com>
4087
4088         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
4089         RACW without any primitives, do not generate the if statement for
4090         dispatching by name in the PolyORB/DSA case, as it would be malformed
4091         (it would have an Elsif_Parts list that is not No_List, but with a
4092         length of 0).
4093
4094 2005-06-14  Robert Dewar  <dewar@adacore.com>
4095
4096         * exp_intr.adb, par-ch5.adb: Minor fix to error message text
4097
4098 2005-06-14  Jose Ruiz  <ruiz@adacore.com>
4099
4100         * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
4101         can determine whether pragma Suppress_Exception_Locations is in effect.
4102
4103         * utils2.c (build_call_raise): Do not pass the file name to the
4104         exception handler if pragma Suppress_Exception_Locations is in effect.
4105         (build_allocator): Add and process arg IGNORE_INIT_TYPE.
4106
4107 2005-06-14  Emmanuel Briot  <briot@adacore.com>
4108
4109         * g-debpoo.adb (Deallocate, Dereference): Improve output.
4110
4111 2005-06-14  Nicolas Roche  <roche@adacore.com>
4112
4113         * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
4114         to ""
4115         (Next_Level): Fix minor bug in handling of ../dir case
4116         (Read): Add dir separator to Directory name so that "" is understood as
4117          "/"
4118
4119 2005-06-14  Pascal Obry  <obry@adacore.com>
4120
4121         * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
4122         releasing the items.
4123
4124 2005-06-14  Vincent Celier  <celier@adacore.com>
4125             Cyrille Comar  <comar@adacore.com>
4126
4127         * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
4128         with output file descriptor and with output file name.
4129         (Dup, Dup2): Now global procedures as they are used by two subprograms
4130         (Copy): Allocate the 200K buffer on the heap rather than on the stack.
4131
4132 2005-06-14  Thomas Quinot  <quinot@adacore.com>
4133
4134         PR ada/6717
4135
4136         * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
4137         broadcast address.
4138         (Create_Selector): Bind listening socket used to create the signalling
4139         socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
4140         Set listen backlog to 1 to ensure that we detect socket theft by a
4141         failure of our own connect(2) call.
4142         (Check_Selector): Improve documentation of the selector mechanism.
4143         (Broadcast_Inet_Addr): New constant.
4144
4145 2005-06-14  Gary Dismukes  <dismukes@adacore.com>
4146
4147         * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
4148         type which turns out to be an incomplete and incorrect fix.
4149         (Layout_Array_Type): Use Underlying_Type when checking whether the scope
4150         of the type is declared in a record (for determination of insertion
4151         type).
4152         (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
4153         a private type and ensure that the primary entity is used for the type
4154         of the newly created function's V formal by taking the Etype of the
4155         view.
4156
4157 2005-06-14  Javier Miranda  <miranda@adacore.com>
4158             Jose Ruiz  <ruiz@adacore.com>
4159             Robert Dewar  <dewar@adacore.com>
4160             Ed Schonberg  <schonberg@adacore.com>
4161
4162         * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
4163         that indicates if we are parsing a compilation unit found in a
4164         limited-with clause.
4165         It is use to avoid the circularity check.
4166
4167         * par.ads, par.adb (Par): Addition of a new parameter to indicate if
4168         we are parsing a compilation unit found in a limited-with clause. This
4169         is use to avoid the circularity check.
4170
4171         * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
4172         unit as a consequence of parsing a limited-with clause. This is used
4173         to avoid the circularity check.
4174
4175         * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
4176         (Analyze_Context): Limited-with clauses are now allowed
4177         in more compilation units.
4178         (Analyze_Subunit_Context, Check_Parent): Protect the frontend
4179         againts previously reported critical errors in context clauses
4180         (Install_Limited_Withed_Unit): Code cleanup plus static detection
4181         of two further errors: renamed subprograms and renamed packages
4182         are not allowed in limited with clauses.
4183         (Install_Siblings): Do not install private_with_clauses on the package
4184         declaration for a non-private child unit.
4185         (Re_Install_Parents): When a parent of the subunit is reinstalled,
4186         reset visibility of child units properly.
4187         (Install_Withed_Unit): When a child unit appears in a with_clause of its
4188         parent, it is immediately visible.
4189
4190 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
4191             Emmanuel Briot  <briot@adacore.com>
4192
4193         * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
4194         declared within an inlined body as referenced, to prevent spurious
4195         warnings.
4196         (Output_One_Ref): If an entity renames an array component, indicate in
4197         the ALI file that this aliases (renames) the array. Capture as well
4198         function renamings that rename predefined operations.
4199         Add information about generic parent for package and subprogram
4200         instances.
4201         (Get_Type_Reference): For a subtype that is the renaming of an actual in
4202         an instantiation, use the first_subtype to ensure that we don't generate
4203         cross-reference information for internal types.
4204         For objects and parameters of a generic private type, retain the '*'
4205         indicator to distinguish such an entity from its type.
4206
4207         * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
4208         to store information about instantiated entities.
4209
4210         * ali.adb (Scan_ALI): Add support for parsing the reference to the
4211         generic parent
4212
4213         * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
4214         (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
4215         information.
4216
4217 2005-06-10  Doug Rupp  <rupp@adacore.com>
4218             Arnaud Charlet  <charlet@adacore.com>
4219             Olivier Hainque  <hainque@adacore.com>
4220             Jose Ruiz  <ruiz@adacore.com>
4221
4222         * Make-lang.in: Add initialize.o when needed.
4223         Remove obsolete references to RT_FLAGS.
4224         Add missing dependencies for sdefault.o
4225
4226         * initialize.c: New file.
4227
4228         * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
4229         [VMS] cond_signal_table: Fix problem in declaration.
4230         [VMS] __gnat_error_handler: rewrite.
4231         Move all __gnat_initialize() routines to initialize.c
4232         Specialize the former "hpux" section to "hppa hpux", as this is what the
4233         section really is here for and we now have other hpux ports that need
4234         different contents.
4235         (__gnat_adjust_context_for_raise) i386-linux: First version of this
4236         function for this target. Adjust PC by one in the machine context. This
4237         adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
4238         it is more reliable to do that in the signal handler itself.
4239         (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
4240         flags, so that the handler is passed the context structure to adjust
4241         prior to the raise.
4242         (__gnat_error_handler) i386-linux: Adjust the signature to match what a
4243         SA_SIGINFO sigaction should look like. Call
4244         __gnat_adjust_context_for_raise before actually raising. Cleanup unused
4245         Machine_State_Operations stuff.
4246         Add conditional code so that the x86_64 is also supported.
4247
4248 2005-06-14  Pascal Obry  <obry@adacore.com>
4249
4250         * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
4251         the library name.
4252
4253 2005-06-14  Robert Dewar  <dewar@adacore.com>
4254
4255         * opt.ads, opt.adb: New flags for persistent_bss mode
4256         Add Ada_Version_Explicit, for implementation of AI-362
4257         Add Assertions_Enabled_Config and associated handling
4258         Needed since setting can be changed with Assertion_Policy pragma
4259         Add new flag Warn_On_Ada_2005_Compatibility
4260
4261         * switch-c.adb: Recognize -gnatwy/Y
4262         Set Ada_Version_Explicit, for implementation of AI-362
4263         The -gnatg switch now includes -gnatyu
4264
4265         * usage.adb: Add -gnatwy/Y
4266         Remove wrong asterisk on -gnatwX line
4267         Add line for -gnatyu switch
4268
4269 2005-06-14  Vincent Celier  <celier@adacore.com>
4270
4271         * osint.adb (Add_Default_Search_Dirs): Put source and object
4272         directories of project files before directories coming from
4273         ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
4274
4275 2005-06-14  Robert Dewar  <dewar@adacore.com>
4276
4277         PR ada/15613
4278
4279         * par-ch2.adb (Scan_Pragma_Argument): New procedure
4280         (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
4281
4282 2005-06-14  Vincent Celier  <celier@adacore.com>
4283
4284         * prep.adb (Preprocess): Ignore error when scanning the first token of
4285         a line.
4286
4287 2005-06-14  Vincent Celier  <celier@adacore.com>
4288
4289         * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
4290         (Check_Stand_Alone_Library): If the specified reference symbol file does
4291         not exist, only issue a warning when the symbol policy is not
4292         Controlled. And, when symbol policy is Compliant, set the symbol
4293         policy to Autonomous.
4294
4295 2005-06-14  Vincent Celier  <celier@adacore.com>
4296
4297         * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
4298         when the project file in a with clause is not the last one, that is the
4299         project file name is followed by a comma.
4300         * prj-pp.adb: (First_With_In_List): New Boolean global variable
4301         (Print): Issue list of project files separated by commas in with clauses
4302         according to the values returned by Is_Not_Last_In_List.
4303         * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
4304         (Set_Is_Not_Last_In_List): New procedure
4305
4306 2005-06-14  Eric Botcazou  <ebotcazou@adacore.com>
4307
4308         * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
4309
4310 2005-06-14  Robert Dewar  <dewar@adacore.com>
4311
4312         * scng.adb: Add call to new Check_EOF routine
4313         (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
4314         Add some comments regarding wide character handling
4315
4316         * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
4317
4318         * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
4319
4320         * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
4321         characters are now considered graphic characters and hence yield false
4322         in this call.
4323
4324         * nmake.adt: Modify header so that xnmake does not generate output
4325         files with multiple blank lines.
4326
4327         * treeprs.adt: Remove a blank line so that output from xtreeprs does
4328         not have an extra blank line
4329
4330 2005-06-14  Gary Dismukes  <dismukes@adacore.com>
4331
4332         * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
4333         expression when the component type is an anonymous access type to
4334         ensure that appropriate accessibility checks are done.
4335
4336         * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
4337         expression of an assignment when the target object is of an anonymous
4338         access type. This ensures that required accessibility checks are done.
4339         (One_Bound): Move the check for type Universal_Integer to
4340         Process_Bounds.
4341         (Process_Bounds): Check whether the type of the preanalyzed range is
4342         Universal_Integer, and in that case set Typ to Integer_Type prior
4343         to setting the type of the original range and the calls to One_Bound.
4344
4345 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
4346
4347         * sem_case.adb (Expand_Others_Choice): Improve warning.
4348
4349 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
4350
4351         * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
4352         constraint of full view if present, when other type is discriminated.
4353         (Eval_Relational_Op): Recognize tests of pointer values against Null,
4354         when the pointer is known to be non-null, and emit appropriate warning.
4355
4356 2005-06-14  Robert Dewar  <dewar@adacore.com>
4357             Ed Schonberg  <schonberg@adacore.com>
4358
4359         PR ada/10671
4360
4361         * sem_prag.adb: Implement pragma Persistent_BSS
4362         Remove obsolete pragma Persistent_Data, Persistent_Object
4363         Set Ada_Version_Explicit, for implementation of AI-362
4364         Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
4365         Add processing for pragma Pure_05 and Preelaborate_05
4366         Add processing for Assertion_Policy pragma
4367         Add pragma identifiers for Assert
4368         (Analyze_Pragma, case Assert): Check number of arguments
4369         (Process_Inline): Additional guard against an illegal program, where the
4370         argument of the pragma is undefined, and warnings on redundant
4371         constructs are enabled.
4372         (Analyze_Pragma, case Obsolescent): Allow an optional second argument
4373         Ada_05 to this pragma, specifying that the pragma is only active in
4374         Ada_05 mode.
4375         (Check_Arg_Order): New procedure
4376         Add appropriate calls to this procedure throughout
4377         Also throughout, check entity name before doing any other checks
4378
4379         * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
4380         Remove obsolete pragma Persistent_Data, Persistent_Object
4381         Add entries for pragma Pure_05 and Preelaborate_05
4382         Add entries for Assertion_Policy pragma and associated names
4383         Add some names for pragma argument processing
4384
4385         * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
4386
4387 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
4388
4389         * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
4390         appears within a negation (either from source or as a rewriting of
4391         inequality) adjust text of warning accordingly.
4392
4393 2005-06-14  Thomas Quinot  <quinot@adacore.com>
4394
4395         * s-strxdr.adb: Follow AI95-00132
4396
4397 2005-06-14  Arnaud Charlet  <charlet@adacore.com>
4398
4399         * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
4400
4401 2005-06-14  Arnaud Charlet  <charlet@adacore.com>
4402             Jose Ruiz  <ruiz@adacore.com>
4403
4404         * s-tposen.adb, s-tpobop.adb
4405         (Exceptional_Complete_Rendezvous): Save the occurrence and not only
4406         the exception id.
4407         (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
4408         there is no violation of the Max_Entry_Queue_Length restriction (if it
4409         has been set); Program_Error is raised otherwise.
4410         (Requeue_Call): Before requeuing the task on the target entry queue we
4411         check that there is no violation of the Max_Entry_Queue_Length
4412         restriction (if it has been set); Program_Error is raised otherwise.
4413
4414 2005-06-14  Robert Dewar  <dewar@adacore.com>
4415
4416         * styleg.adb: Fix several remaining problems in -gnatyu switch
4417         Blank line count not reset at start
4418         Scanning outside source buffer in some cases
4419         Confusing message for blanks at end of file
4420         Non-empty blank lines not recognized
4421
4422         * nmake.adt: Modify header so that xnmake does not generate output
4423         files with multiple blank lines.
4424
4425         * treeprs.adt: Remove a blank line so that output from xtreeprs does
4426         not have an extra blank line
4427
4428 2005-06-14  Sergey Rybin  <rybin@adacore.com>
4429
4430         * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
4431
4432 2005-06-14  Doug Rupp  <rupp@adacore.com>
4433             Vincent Celier  <celier@adacore.com>
4434
4435         * vms_conv.ads, vms_conv.adb: Remove "Library" command.
4436         Update copyright.
4437
4438         * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
4439         Remove "Library" command.
4440         Change keyword for style check -gnatyd from NOCRLF to
4441         DOS_LINE_ENDINGS.
4442         Remove useless second style check keyword NONE
4443         Remove help documentation for inexistent style check keyword
4444         RM_COLUMN_LAYOUT.
4445         Add help documentation for style check keywords DOS_LINE_ENDINGS,
4446         UNNECESSARY_BLANK_LINES and XTRA_PARENS
4447         Add UNNECESSARY_BLANK_LINES for -gnatyu
4448         Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
4449
4450         * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
4451
4452 2005-06-14  Vincent Celier  <celier@adacore.com>
4453
4454         * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
4455         gprmake was invoked with -d.
4456         (Compile_Sources): If -d was used, output the "completed ..." message
4457         for each compilation.
4458         (Scan_Arg): Recognize new switch -d
4459         When -c and at least one main is specified, set
4460         Unique_Compile to True to guarantee that no other sources will be
4461         compiled.
4462
4463 2005-06-14  Matthew Heaney  <heaney@adacore.com>
4464
4465         * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
4466         * a-swuwha.ads, a-swuwha.adb: New files
4467
4468         * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
4469         * a-szuzha.ads, a-szuzha.adb: New files.
4470
4471         * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
4472         a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
4473         a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
4474         a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
4475         a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
4476         a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
4477         a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
4478         a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
4479         a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
4480         a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
4481         Ada 2005 RM.
4482
4483 2005-06-10  Eric Botcazou  <ebotcazou@adacore.com>
4484             Olivier Hainque  <hainque@adacore.com>
4485             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4486             Pascal Obry  <obry@adacore.com>
4487
4488         * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
4489
4490         * trans.c (call_to_gnu): Issue a warning for users of Starlet when
4491         making a temporary around a procedure call because of non-addressable
4492         actual parameter.
4493         (process_freeze_entity): If entity is a private type, capture size
4494         information that may have been computed for the full view.
4495         (tree_transform, case N_Allocator): If have initializing expression,
4496         check type for Has_Constrained_Partial_View and pass that to
4497         build_allocator.
4498         (tree_transform, case N_Return_Statement): Pass extra arg to
4499         build_allocator.
4500
4501         * decl.c (annotate_value): Remove early return if -gnatR is not
4502         specified.
4503         (gnat_to_gnu_field): Don't make a packable type for a component clause
4504         if the position is byte aligned, the field is aliased, and the clause
4505         size isn't a multiple of the packable alignment. It serves no useful
4506         purpose packing-wise and would be rejected later on.
4507         (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
4508
4509         PR ada/20515
4510         (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
4511         context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
4512         instead.
4513         (create_concat_name): Idem.
4514
4515 2005-06-10  Robert Dewar  <dewar@adacore.com>
4516             Eric Botcazou  <ebotcazou@adacore.com>
4517             Ben Brosgol  <brosgol@adacore.com>
4518             Cyrille Comar  <comar@adacore.com>
4519             Sergey Rybin  <rybin@adacore.com>
4520             Pascal Obry  <obry@adacore.com>
4521
4522         * gnat_rm.texi: Add documentation for pragma Persistent_BSS
4523         Document second argument (Ada_05) of pragma Obsolescent
4524         Add note that call to subprogram marked with pragma Obsolescent
4525         is now considered to be a violation of program Restrictions
4526         (No_Obsolescent_Features).
4527         (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
4528         that only machine-dependent attributes are supported.
4529
4530         * gnat_ugn.texi:
4531         Commented out menu lines and empty section for gnatclean examples
4532         Document -gnatwy/Y
4533         Fix some over long lines
4534         Clarify and enhance documentation of ADA_PROJECT_PATH.
4535         Rework section 2.11.2(3) about linking with a non-GNU compiler.
4536         Mention new switch -fcallgraph-info.
4537         Mention new switch -fstack-usage.
4538         For gnatpp, replace '-notab' with '-N' and add this option to Index
4539         Corrected VMS example.
4540         VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
4541         Minor reformatting
4542         Add documentation for -gnatyu switch (unnecessary blank lines)
4543         Document new switch -U for GNAT PRETTY and GNAT METRIC
4544         Add note about Stdcall being handled as C convention on non Windows OS.
4545         Remove some junk typo in description of gnatbind -S switch
4546         Remove reference to Extensions_Allowed pragma
4547         Document the new order of the directories to be searched (source and
4548         object directories of project files before directories in ADA_*_PATH
4549         environment variables.
4550
4551         * g-trasym.ads: Document that IRIX is supported
4552
4553 2005-06-10  Arnaud Charlet  <charlet@adacore.com>
4554
4555         * Makefile.in: Add initialize.o when needed.
4556         Adapt to new VMS package body Symbols and subunits
4557         No specialized version of a-sytaco is needed for VxWorks.
4558
4559         * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
4560         * a-zchara.ads, a-widcha.ads: New files.
4561
4562         * system-hpux-ia64.ads: New file.
4563
4564         * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
4565         is imported from the VxWorks kernel.
4566
4567 2005-06-14  Robert Dewar  <dewar@adacore.com>
4568
4569         * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
4570         fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
4571         a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
4572         s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
4573         a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
4574         g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
4575         i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
4576         namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
4577         sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
4578         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
4579         s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
4580         xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
4581
4582 2005-06-14  Thomas Quinot  <quinot@adacore.com>
4583
4584         * xeinfo.adb: Fix typo in comment
4585
4586 2005-06-14  Javier Miranda  <miranda@adacore.com>
4587
4588         * repinfo.ads: Fix typo in comment
4589
4590 2005-06-14  Gary Dismukes  <dismukes@adacore.com>
4591
4592         * s-finimp.adb (Parent_Tag): Delete this imported function (function
4593         Parent_Tag is now in the visible part of Ada.Tags).
4594         (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
4595         using imported function.
4596
4597 2005-06-14  Bernard Banner  <banner@adacore.com>
4598
4599         * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
4600         also apply for handling support for VxSim 653.
4601
4602 2005-06-14  Eric Botcazou  <ebotcazou@adacore.com>
4603
4604         * xsnames.adb: Add automatic generation of snames.h.
4605
4606 2005-06-14  Thomas Quinot  <quinot@adacore.com>
4607
4608         * gen-soccon.c: Add IP_MULTICAST_IF constant
4609         Minor reformatting and adjustments to prevent warnings.
4610
4611 2005-06-14  Pascal Obry  <obry@adacore.com>
4612
4613         * seh_init.c: Do not include <sys/stat.h>. This is not needed.
4614
4615 2005-06-03  Andrew Pinski  <pinskia@physics.uc.edu>
4616
4617         * trans.c (gnat_gimplify_expr): Call
4618         recompute_tree_invarant_for_addr_expr when we change
4619         the operand of the ADDR_EXPR.
4620
4621 2005-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4622
4623         * misc.c: Don't include errors.h.
4624
4625 2005-05-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4626
4627         * raise.c (db): Add ATTRIBUTE_PRINTF_2.
4628
4629 2005-05-29  Kazu Hirata  <kazu@cs.umass.edu>
4630
4631         * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
4632         comment typos.
4633         * gnat_rm.texi, gnat_ugn.texi: Fix typos.
4634
4635 2005-05-16  Nathanael Nerode <neroden@gcc.gnu.org>
4636
4637         PR ada/20270
4638         * Makefile.in: Make TGT_LIB behave correctly.
4639
4640 2005-04-23  DJ Delorie  <dj@redhat.com>
4641
4642         * misc.c: Adjust warning() callers.
4643
4644 2005-04-16  Laurent GUERBY  <laurent@guerby.net>
4645
4646         PR ada/18847
4647         * a-nudira.adb (Value): Check for valid string.
4648         * a-nuflra.adb (Value): Likewise.
4649
4650 2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
4651
4652         * lang.opt: Refer to the GCC internals documentation instead of c.opt.
4653
4654 2005-04-10  Kazu Hirata  <kazu@cs.umass.edu>
4655
4656         * adaint.c, init.c, tracebak.c: Fix comment typos.
4657         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
4658
4659 2005-04-07  Laurent GUERBY  <laurent@guerby.net>
4660             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4661
4662         * Makefile.in: Add make ifeq define for hppa linux tasking support.
4663         * system-hpux.ads: Define Signed_Zeros to be True.
4664         * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
4665
4666 2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
4667
4668         * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
4669         raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
4670         typos.
4671
4672 2005-03-30  Tom Tromey  <tromey@redhat.com>
4673
4674         * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
4675
4676 2005-03-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
4677
4678         * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
4679
4680 2005-03-29  Robert Dewar  <dewar@adacore.com>
4681
4682         * sem_res.adb (Resolve_Real_Literal): Generate warning if static
4683         fixed-point expression has value that is not a multiple of the Small
4684         value.
4685
4686         * opt.ads (Warn_On_Bad_Fixed_Value): New flag
4687
4688         * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
4689         nanoseconds.
4690
4691         * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
4692
4693 2005-03-29  Vincent Celier  <celier@adacore.com>
4694
4695         * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
4696         (Build_Dynamic_Library.Version_String): Return the empty string when
4697         Lib_Version is empty or when the symbol policy is not Autonomous.
4698
4699         * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
4700         a symbol is not in the reference symbol file, increase the Major ID
4701         and set the Minor ID to 0.
4702         Use gsmatch=lequal instead of gsmatch=equal
4703
4704 2005-03-29  Doug Rupp  <rupp@adacore.com>
4705
4706         * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
4707         name and translate.
4708
4709 2005-03-29  Javier Miranda  <miranda@adacore.com>
4710
4711         * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
4712         (Inherit_DT): The first formal has been redefined as a Tag.
4713         This allows us the removal of the subprogram Get_TSD.
4714         (TSD): Replace the call to Get_TSD by the actual code.
4715
4716         * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
4717         (Make_DT): Upgrade the call to Inherit_TSD according to the
4718         new interface: the first formal is now a Tag.
4719
4720         * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
4721         redefined as a Tag.
4722         This change allows us to remove the subprogram Get_TSD.
4723         (CPP_Get_TSD): Subprogram removed.
4724         (TSD): Replace the call to CPP_Get_TSD by the actual code.
4725
4726         * rtsfind.ads: Remove support to call the run-time
4727         subprogram Get_TSD
4728
4729 2005-03-29  Robert Dewar  <dewar@adacore.com>
4730
4731         * errutil.adb, errout.adb:
4732         Minor comment updates on Line_Terminator references
4733
4734         * par-ch10.adb: Add ??? comment about line terminator
4735
4736         * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
4737         (check dos line terminator).
4738         (Check_Line_Max_Length): New procedure, split off from the existing
4739         Check_Line_Terminator routine. Separating this out allows -gnatyf to
4740         be properly recognized.
4741
4742         * styleg.adb: Add ??? comment for line terminator reference
4743
4744         * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
4745         (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
4746
4747         * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
4748         (check dos line terminator).
4749         (Check_Line_Max_Length): New procedure, split off from the existing
4750         Check_Line_Terminator routine. Separating this out allows -gnatyf to
4751         be properly recognized.
4752
4753         * stylesw.ads, stylesw.adb:
4754         Add handling for new -gnatyd switch (check dos line terminator)
4755
4756         * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
4757         Recognize -gnatwb/-gnatwB switches
4758         Include Warn_On_Bad_Fixed_Value for -gnatg
4759
4760         * usage.adb:
4761         Add line for new -gnatyd switch (check dos line terminator)
4762
4763         * usage.adb: Add lines for -gnatwb/-gnatwB
4764
4765         * vms_data.ads: Add entry for NOCRLF (-gnatyd)
4766
4767         * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
4768
4769         * gnat_ugn.texi: Fix overlong lines
4770         Document new -gnatyd switch
4771         Document new -gnatwb/-gnatwB switches
4772
4773 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
4774
4775         * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
4776         order to retrieve the component list of the type, before examining
4777         individual components.
4778
4779         * sem_type.adb (Covers): Types are compatible if one is the base type
4780         of the other, even though their base types might differ when private
4781         views are involved.
4782
4783 2005-03-29  Thomas Quinot  <quinot@adacore.com>
4784
4785         * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
4786         To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
4787         of using Set_Renaming_TSS. This ensures that the TSS bodies are not
4788         analyzed if expansion is disabled (which could otherwise cause spurious
4789         error messages if expansion has been disabled due to previous
4790         (unrelated) errors).
4791
4792         * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
4793         is disabled, the entity denoted by the argument is the access type
4794         itself, not an underlying record type, so there is no need to go back
4795         to the Corresponding_Remote_Type.
4796
4797 2005-03-29  Gary Dismukes  <dismukes@adacore.com>
4798             Robert Dewar  <dewar@adacore.com>
4799
4800         * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
4801         expand a call to an instance of
4802         Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
4803         Constructor actual of the instance. A class-wide membership
4804         check is also generated, to ensure that the tag passed to the instance
4805         denotes a type in the class.
4806         (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
4807         of Name_Generic_Dispatching_Constructor.
4808
4809         * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
4810         05 unit for AI-260-02).
4811
4812         * a-tgdico.ads: New file.
4813
4814         * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
4815         predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
4816
4817         * snames.ads, snames.adb (Preset_Names): Add entry for
4818         Generic_Dispatching_Constructor.
4819
4820         PR ada/20300
4821
4822         * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
4823         character type cases.
4824         (Analyze_Subprogram_Renaming): Add special handling for
4825         the case of renaming of stream attributes when the renaming denotes a
4826         generic formal subprogram association for an abstract formal subprogram.
4827         Check that the attribute is a primitive stream attribute (and not
4828         a class-wide stream attribute) and then rewrite the attribute name
4829         as the name of the appropriate compiler-generated stream primitive.
4830
4831 2005-03-29  Robert Dewar  <dewar@adacore.com>
4832
4833         * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
4834         recursive calls.
4835         (Is_Possibly_Unaligned_Object): Correct typo that
4836         resulted in inaccurate result for unaligned scalars within records.
4837
4838 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
4839
4840         * freeze.adb (Freeze_Record_Type): If the type of the component is an
4841         itype whose parent is controlled and not yet frozen, do not create a
4842         freeze node for the itype if expansion is disabled.
4843
4844 2005-03-29  Vincent Celier  <celier@adacore.com>
4845
4846         * make.adb (Gnatmake): Don't fail if the main project file is declared
4847         as having no Ada sources. Do not display message "no sources to
4848         compile" in quiet output.
4849
4850 2005-03-29  Doug Rupp  <rupp@adacore.com>
4851
4852         * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
4853         extra tools.
4854
4855 2005-03-29  Robert Dewar  <dewar@adacore.com>
4856
4857         * par-ch12.adb (P_Generic): Give better msg for illegal private generic
4858         child.
4859
4860 2005-03-29  Robert Dewar  <dewar@adacore.com>
4861
4862         * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
4863         missing TYPE Improve the error message generated when compiling a
4864         limited interface in Ada83 or Ada95 mode.
4865
4866 2005-03-29  Robert Dewar  <dewar@adacore.com>
4867
4868         * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
4869         rather than proceed ahead using a junk attribute name.
4870
4871 2005-03-29  Vincent Celier  <celier@adacore.com>
4872
4873         * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
4874
4875         * prj-part.adb (Parse_Single_Project): Set the location of a project
4876         on its defining identifier, rather than on the reserved word "project".
4877
4878         * prj-proc.adb (Expression): Adapt to the fact that default of external
4879         references may be string expressions, not always literal strings.
4880         (Recursive_Process): Set Display_Name equal to Name
4881         when Location is No_Location, that is when there is no actual file.
4882         Get the Display_Name of the project from the source, when it is not a
4883         virtual project.
4884         (Process): Use the Display_Name in error messages
4885
4886         * prj-strt.adb (External_Reference): Allow default to be string
4887         expressions, not only literal strings.
4888
4889 2005-03-29  Vincent Celier  <celier@adacore.com>
4890
4891         * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
4892         file and the reference symbol file to be the same file.
4893
4894 2005-03-29  Thomas Quinot  <quinot@adacore.com>
4895
4896         * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
4897         forbid conversion of a local access-to-subprogram type to a remote one.
4898
4899         * sem_util.adb (Wrong_Type): For a record type that is the expanded
4900         equivalent type for a remote access-to-subprogram type, go back to the
4901         original RAS entity when displaying an error message, so the casing is
4902         the original source casing.
4903
4904 2005-03-29  Robert Dewar  <dewar@adacore.com>
4905
4906         * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
4907         on param update.
4908
4909 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
4910
4911         * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
4912         subtype if code is being pre-analyzed, to prevent un-expanded
4913         references to protected formals, among others.
4914         (Analyze_Explicit_Dereference): If the overloaded prefix includes some
4915         interpretation that can be a call, include the result of the call as a
4916         possible interpretation of the dereference.
4917
4918         * sem_ch5.adb (Process_Bounds): Determine type of range by
4919         pre-analyzing a copy of the original range, and then analyze the range
4920         with the expected type.
4921
4922         * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
4923         with an overloaded prefix where not all interpretations yield an
4924         access to subprogram, do not rewrite node as a call.
4925         (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
4926         the node as a call once the context identifies the interpretation of
4927         the prefix whose call yields the context type.
4928         (Valid_Conversion): For the case of a conversion between
4929         local access-to-subprogram types, check subtype conformance using
4930         Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
4931         detailed error message.
4932
4933 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
4934
4935         * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
4936         indicator, indicate that the formal can never be null.
4937         (Process_Formals): If a formal has a non_null indicator, insert the
4938         resulting subtype immediately before the enclosing subprogram decl,
4939         and not at the beginning of the corresponding declarative part, to
4940         prevent access before elaboration (Ada2005).
4941
4942 2005-03-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4943
4944         PR ada/19956
4945         * utils.c (finish_record_type): Use variable_size when setting sizes.
4946
4947 2005-03-29  Robert Dewar  <dewar@adacore.com>
4948
4949         * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
4950         guarantee Unix style line terminators for the output files, even when
4951         running on windows.
4952
4953 2005-03-29  Robert Dewar  <dewar@adacore.com>
4954
4955         * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
4956         buffer if an exception is raised.
4957
4958 2005-03-29  Ed Falis  <falis@adacore.com>
4959
4960         * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
4961         VxWorks 653 1.4
4962
4963 2005-03-29  Robert Dewar  <dewar@adacore.com>
4964
4965         * sem_util.ads: Minor reformatting
4966         * gnat_rm.texi: Minor editing.
4967
4968 2005-03-29  Eric Botcazou  <ebotcazou@adacore.com>
4969
4970         * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
4971         * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
4972
4973 2005-03-24  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
4974
4975         * adaint.c (__gnat_portable_spawn): Adjust cast.
4976
4977 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
4978
4979         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
4980
4981 2005-03-17  Pascal Obry  <obry@adacore.com>
4982
4983         * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
4984         used.
4985
4986         * expect.c (__gnat_waitpid): Moved here from adaint.c.
4987         Reimplement under Win32 using Win32 API.
4988
4989         (__gnat_kill) [Win32]: Properly close the process handle before leaving
4990         this routine.
4991
4992 2005-03-17  Eric Botcazou  <ebotcazou@adacore.com>
4993
4994         * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
4995         (DECL_RENAMED_OBJECT): New accessor macro.
4996         (SET_DECL_RENAMED_OBJECT): New setter macro.
4997
4998         * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
4999         object in all cases.  Attach the renamed object to the VAR_DECL.
5000         (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
5001         field is not prescribed.
5002
5003         * misc.c (gnat_handle_option): Handle -gnatO separately.
5004         (gnat_print_decl) <VAR_DECL>: New case.
5005         Print the DECL_RENAMED_OBJECT node.
5006
5007         * lang.opt:  Declare separate -gnatO option.
5008
5009         * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
5010         pointer, replace it with the renamed object.
5011         <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
5012         pointer type if the source is not a fat pointer type whose underlying
5013         array has the same non-zero alias set as that of the destination array.
5014
5015 2005-03-17  Javier Miranda  <miranda@adacore.com>
5016
5017         * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
5018         (Get_Inheritance_Depth): Removed.
5019         (Set_Inheritance_Depth): Removed.
5020
5021         * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
5022         subprogram Get_Expanded_Name because it is not referenced by the
5023         frontend.
5024
5025         * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
5026         (CPP_Get_Inheritance_Depth): Removed.
5027         (CPP_Set_Inheritance_Depth): Removed.
5028
5029         * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
5030
5031 2005-03-17  Robert Dewar  <dewar@adacore.com>
5032
5033         * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
5034         3, since we now expect GCC 3 to do all the work.
5035
5036 2005-03-17  Javier Miranda  <miranda@adacore.com>
5037
5038         * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
5039         of one barrier to avoid wrong usage of this attribute.
5040
5041         * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
5042         First_Private_Entity.
5043
5044         * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
5045         the subprogram against wrong usage.
5046         Adapt the code to traverse the entities in the
5047         scope of a record_type because in addition to its usage regarding
5048         packages, this subprogram is also called by Expand_N_Freeze_Entity
5049         to install the visible declarations of the enclosing scope of a
5050         record_type_with_private to establish the proper visibility before
5051         freezing the entity and related subprograms.
5052
5053 2005-03-17  Ed Schonberg  <schonberg@adacore.com>
5054
5055         * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
5056         entry formals.
5057
5058 2005-03-17  Thomas Quinot  <quinot@adacore.com>
5059
5060         * exp_ch3.adb (Check_Attr): New subprogram.
5061         (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
5062         into a new Check_Attr subprogram, in order to provide a more
5063         explanatory error message (including the name of the missing attribute).
5064         (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
5065         subprogram determines whether a default implementation exists for a
5066         given stream attribute.
5067         (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
5068         Determine whether to generate a default implementation for each stream
5069         attribute separately, as this depends on the specific attribute.
5070
5071         * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
5072         limited extension where a stream attribute is missing for a limited
5073         component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
5074         generate a bogus reference to the missing attribute to prevent
5075         cascaded errors. Instead, generate a null statement.
5076
5077         * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
5078         available for a limited type if it has been specified for an ancestor
5079         of the type.
5080
5081 2005-03-17  Ed Schonberg  <schonberg@adacore.com>
5082
5083         * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
5084         entity is an operator.
5085
5086 2005-03-17  Thomas Quinot  <quinot@adacore.com>
5087
5088         * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
5089         spec, to make this predicate available to other units.
5090
5091         * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
5092         reimplementing it.
5093
5094         * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
5095         when no distribution runtime library is available.
5096
5097         * sem_res.adb, sem_dist.adb: Disable expansion of remote
5098         access-to-subprogram types when no distribution runtime library is
5099         available.
5100         (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
5101         predicate available to other units.
5102
5103         * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
5104         spec, to make this predicate available to other units.
5105
5106 2005-03-17  Vincent Celier  <celier@adacore.com>
5107
5108         * make.adb (Insert_Project_Sources): Make sure the Q is always
5109         initialized.
5110
5111         * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
5112         the default for the tree, not the global default naming.
5113
5114         * prj-proc.adb (Recursive_Process): No need to put the default naming
5115         in the project data, it's already there.
5116
5117 2005-03-17  Doug Rupp  <rupp@adacore.com>
5118
5119         * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
5120
5121         * 5xcrtl.ads: Renamed to...
5122         * s-crtl-vms64.ads: ...this new file
5123
5124 2005-03-17  Robert Dewar  <dewar@adacore.com>
5125
5126         PR ada/19519
5127
5128         * namet.adb (Copy_One_Character): Set proper wide character encoding
5129         for upper half character if we have upper half encoding.
5130
5131 2005-03-17  Robert Dewar  <dewar@adacore.com>
5132
5133         * par.adb (Par): Improved msg for attempt to recompile predefined unit
5134
5135 2005-03-17  Thomas Quinot  <quinot@adacore.com>
5136
5137         * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
5138         tagged limited type, the TSS is a newly built renaming declaration:
5139         insert it using Set_TSS, not Copy_TSS.
5140
5141 2005-03-17  Javier Miranda  <miranda@adacore.com>
5142
5143         * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
5144         Try_Object_Operation): Analyze the object that is accessible
5145         through the prefix of the subprogram call before we apply
5146         the transformation of the object-operation notation.
5147
5148 2005-03-17  Jose Ruiz  <ruiz@adacore.com>
5149
5150         * s-taprob.adb (Initialize_Protection): Initialize the protected
5151         object's owner to Null_Task.
5152         (Lock): If pragma Detect_Blocking is in effect and the caller of this
5153         procedure is already the protected object's owner then Program_Error
5154         is raised. In addition the protected object's owner is updated.
5155         (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
5156         of this procedure is already the protected object's owner then
5157         Program_Error is raised.
5158         In addition the protected object's owner is updated.
5159         (Unlock): Remove the ownership of the protected object.
5160
5161         * s-taprob.ads (Protection): Add the field Owner, used to store the
5162         protected object's owner.
5163         This component is needed for detecting one type of potentially blocking
5164         operations (external calls on a protected subprogram with the same
5165         target object as that of the protected action). Document the rest of
5166         the components.
5167
5168         * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
5169         Initialize the protected object's owner to Null_Task.
5170         (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
5171         caller of this procedure is already the protected object's owner then
5172         Program_Error is raised.
5173         Do not raise Program_Error when this procedure is called from a
5174         protected action.
5175         (Unlock_Entries): Remove the ownership of the protected object.
5176         (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
5177         of this procedure is already the protected object's owner then
5178         Program_Error is raised.
5179         Do not raise Program_Error when this procedure is called from
5180         a protected action.
5181
5182         * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
5183         used to store the protected object's owner.
5184
5185         * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
5186         effect and this procedure (a potentially blocking operation) is called
5187         from whithin a protected action, Program_Error is raised.
5188         (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
5189         and this procedure (a potentially blocking operation) is called from
5190         whithin a protected action, Program_Error is raised.
5191
5192 2005-03-17  Vincent Celier  <celier@adacore.com>
5193             Nicolas Setton  <setton@adacore.com>
5194
5195         * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
5196         switch, not supported by the linker on Darwin. Add '_' before
5197         <library>init, as this character is added unconditionally by the
5198         compiler.
5199         (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
5200         correct one ".dylib". This fixes detection of the archive files when
5201         building library projects.
5202
5203 2005-03-17  Vincent Celier  <celier@adacore.com>
5204
5205         * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
5206         -gnat83, -gnat95 and -gnat05.
5207
5208 2005-03-17  Vasiliy Fofanov  <fofanov@adacore.com>
5209
5210         * gnat_ugn.texi: Document gnatmem restriction
5211
5212 2005-03-17  Thomas Quinot  <quinot@adacore.com>
5213
5214         * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
5215         cleanup
5216
5217 2005-03-17  Robert Dewar  <dewar@adacore.com>
5218
5219         * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
5220         a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
5221         s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
5222
5223         * casing.adb: Comment improvements
5224
5225 2005-03-17  Pascal Obry  <obry@adacore.com>
5226
5227         * g-expect.adb: Minor reformatting.
5228
5229 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
5230
5231         * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
5232         (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
5233         to dependencies.
5234
5235 2005-03-15  Vincent Celier  <celier@adacore.com>
5236
5237         * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
5238         Add new parameter In_Tree to specify the project tree: needed
5239         by the project manager. Adapt to changes in project manager
5240         using new parameter In_Tree.
5241
5242 2005-03-15  Jakub Jelinek  <jakub@redhat.com>
5243
5244         * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
5245         ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
5246         ada/bldtools to avoid make -jN failures.
5247
5248 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
5249
5250         * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
5251         to NULL_TREE on entry.
5252
5253 2005-03-15  Robert Dewar  <dewar@adacore.com>
5254
5255         * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
5256         system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
5257         system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
5258         system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
5259         system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
5260         system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
5261         system-interix.ads, system-solaris-sparc.ads,
5262         system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
5263         system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
5264         system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
5265         system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
5266         system-linux-s390.ads, system-linux-s390x.ads: Add line defining
5267         Compiler_System_Version to be False.
5268
5269         * opt.ads: Add new flag Opt.Address_Is_Private
5270
5271         * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
5272         Add new parameter Compiler_System_Version to avoid checking for
5273         completeness of parameters when compiler is compiling itself.
5274         Allows old versions of GNAT to be compiled with new compiler.
5275
5276 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
5277
5278         * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
5279         (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
5280         calling thread.
5281         (Stack_Base_Available): New flag.
5282         (Get_Page_Size): New overloaded functions imported from C.
5283         (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
5284         PROT_ON, PROT_OFF): New constants.
5285         (mprotect): New function imported from C.
5286         (pthread_teb_t): New record type.
5287
5288         * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
5289         (Create_Task): Account for the Yellow Zone and the guard page.
5290
5291 2005-03-15  Vincent Celier  <celier@adacore.com>
5292
5293         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
5294         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
5295         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
5296         mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
5297         Library_File_Name_For): Add new parameter In_Tree
5298         to specify the project tree: needed by the project manager.
5299         Adapt to changes in project manager using new parameter In_Tree.
5300         Remove local imports, use functions in System.CRTL.
5301
5302         * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
5303         to use the project manager.
5304
5305         * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
5306         In_Tree to designate the project tree. Adapt to changes in the project
5307         manager, using In_Tree.
5308
5309         * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
5310         Copy_Interface_Sources): Add new parameter In_Tree to specify the
5311         project tree: needed by the project manager.
5312         (Build_Library): Check that Arg'Length >= 6 before checking if it
5313         contains "--RTS=...".
5314
5315         * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
5316         Library_File_Name_For): Add new parameter In_Tree to specify the
5317         project tree: needed by the project manager.
5318
5319         * prj.ads, prj.adb: Major modifications to allow several project trees
5320         in memory at the same time.
5321         Change tables to dynamic tables and hash tables to dynamic hash
5322         tables. Move tables and hash tables from Prj.Com (in the visible part)
5323         and Prj.Env (in the private part). Move some constants from the visible
5324         part to the private part. Make other constants deferred.
5325         (Project_Empty): Make it a variable, not a function
5326         (Empty_Project): Add parameter Tree. Returns the data with the default
5327         naming data of the project tree Tree.
5328         (Initialize): After updating Std_Naming_Data, copy its value to the
5329         component Naming of Project Empty.
5330         (Register_Default_Naming_Scheme): Use and update the default naming
5331         component of the project tree, instead of the global variable
5332         Std_Naming_Data.
5333         (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
5334         Tree is not defaulted, return the default naming data of the Tree.
5335         (Initial_Buffer_Size): Constant moved from private part
5336         (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
5337         variables initialized in procedure Initialize.
5338         (Add_To_Buffer): Add two in out parameters to replace global variables
5339         Buffer and Buffer_Last.
5340         (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
5341         functions.
5342         Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
5343         hash tables.
5344         (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
5345         for the project tree.
5346         (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
5347         constant at the beginning of the package spec, so that they cane be used
5348         in subprograms before their full declarations.
5349         (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
5350         (Empty_Project): Add parameter of type Project_Node_Ref
5351         (Private_Project_Tree_Data): Add component Default_Naming of type
5352         Naming_Data.
5353         (Buffer, Buffer_Last): remove global variables
5354         (Add_To_Buffer): Add two in out parameters to replace global variables
5355         Buffer and Buffer_Last.
5356         (Current_Packages_To_Check): Remove global variable
5357         (Empty_Name): Move to private part
5358         (No-Symbols): Make it a constant
5359         (Private_Project_Tree_Data): New type for the private part of the
5360         project tree data.
5361         (Project_Tree_Data): New type for the data of a project tree
5362         (Project_Tree_Ref): New type to designate a project tree
5363         (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
5364         for the project tree.
5365
5366         * prj-attr.ads: Add with Table; needed, as package Prj no longer
5367         imports package Table.
5368
5369         * prj-com.adb: Remove empty, no longer needed body
5370
5371         * prj-com.ads: Move most of the content of this package to package Prj.
5372
5373         * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
5374         designate the project node tree and Packages_To_Check to replace
5375         global variable Current_Packages_To_Check.
5376         Add new parameters In_Tree and Packages_To_Check to local subprograms,
5377         when needed. Adapt to changes in project manager with project node tree
5378         In_Tree.
5379
5380         * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
5381         project tree to most subprograms. Move tables and hash tables to
5382         private part of package Prj.
5383         Adapt to changes in project manager using project tree In_Tree.
5384
5385         * prj-makr.adb (Tree): New constant to designate the project node tree
5386         Adapt to change in project manager using project node tree Tree
5387
5388         * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
5389         display the Library_Src_Dir and the Library_Dir.
5390         Add new parameter In_Tree to designate the project node tree to most
5391         subprograms. Adapt to changes in the project manager, using project tree
5392         In_Tree.
5393         (Check_Naming_Scheme): Do not alter the casing on platforms where
5394         the casing of file names is not significant.
5395         (Check): Add new parameter In_Tree to designate the
5396
5397         * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
5398         designate the project tree.
5399         Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
5400
5401         * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
5402         to replace those that were in the private part of package Prj.
5403         Add new parameter In__Tree to designate the project node tree to most
5404         subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
5405         (Post_Parse_Context_Clause): When specifying the project node of a with
5406         clause, indicate that it is a limited with only if there is "limited"
5407         in the with clause, not necessarily when In_Limited is True.
5408         (Parse): Add new parameter In_Tree to designate the project node tree
5409
5410         * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
5411         designate the project node tree. Adapt to change in Prj.Tree with
5412         project node tree In_Tree.
5413
5414         * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
5415         tree In_Tree in the call to function Empty_Process to give its initial
5416         value to the project data Processed_Data.
5417         Add new parameters In_Tree to designate the project tree and
5418         From_Project_Node_Tree to designate the project node tree to several
5419         subprograms. Adapt to change in project manager with project tree
5420         In_Tree and project node tree From_Project_Node_Tree.
5421
5422         * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
5423         to replace those that were in the private part of package Prj.
5424         Add new parameter In_Tree to designate the project node tree to most
5425         subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
5426
5427         * prj-tree.ads, prj-tree.adb: Add new parameter of type
5428         Project_Node_Tree_Ref to most subprograms.
5429         Use this new parameter to store project nodes in the designated project
5430         node tree.
5431         (Project_Node_Tree_Ref): New type to designate a project node tree
5432         (Tree_Private_Part): Change table to dynamic table and hash tables to
5433         dynamic hash tables.
5434
5435         * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
5436         the project tree to most subprograms. Adapt to changes in project
5437         manager using project tree In_Tree.
5438
5439         * makegpr.adb (Project_Tree): New constant needed to use project
5440         manager.
5441
5442 2005-03-15  Olivier Hainque  <hainque@adacore.com>
5443
5444         * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
5445         for sigactions with SA_SIGINFO set. Call
5446         __gnat_adjust_context_for_raise before raising, to perform the
5447         potentially required adjustments to the machine context for the GCC
5448         unwinder.
5449
5450         * raise.h (__gnat_adjust_context_for_raise): New prototype.
5451
5452         * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
5453         Adjust PC by one in the provided machine context.
5454         (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
5455         so that the handler is passed the context structure to adjust prior to
5456         the raise.
5457         (__gnat_error_handler) HPUX: Adjust the signature to match what an
5458         SA_SIGINFO sigaction should look like. Call
5459         __gnat_adjust_context_for_raise before actually raising.
5460         (__gnat_adjust_context_for_raise): Default noop to help PC
5461         adjustments before raise from signal handlers.
5462         (__gnat_error_handler): Indirectly call a predicate function to
5463         determine if a condition should be resignaled or not.
5464         (__gnat_set_resignal_predicate): User interface to modify the predicate.
5465         (__gnat_default_resignal_p): Default GNAT predicate.
5466
5467 2005-03-15  Doug Rupp  <rupp@adacore.com>
5468
5469         * adaint.c: Prefix #include of VMS system header files with vms/
5470         [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
5471         Do not define a dummy function "convert_addresses" under Darwin,
5472         not needed.
5473
5474         * tb-alvms.c, expect.c: Prefix #include of VMS system header files
5475         with vms/
5476
5477 2005-03-15  Nicolas Setton  <setton@adacore.com>
5478
5479         * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
5480         PPC/AIX.
5481
5482 2005-03-15  Robert Dewar  <dewar@adacore.com>
5483
5484         * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
5485         AI-386.
5486
5487         * a-retide.ads: Minor comment changes
5488
5489 2005-03-15  Robert Dewar  <dewar@adacore.com>
5490
5491         * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
5492         a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
5493         Realloc_For_Chunk to private part of package.
5494         New subprograms for AI-301
5495
5496         * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
5497         Get_Line procedure.
5498         Avoid unnecessary use of Get/Set_Wide_String
5499
5500 2005-03-15  Robert Dewar  <dewar@adacore.com>
5501
5502         PR ada/13470
5503
5504         * a-stunau.ads, a-stunau.adb:
5505         Change interface to allow efficient (and correct) implementation
5506         The previous changes to allow extra space in unbounded strings had
5507         left this interface a bit broken.
5508
5509         * a-suteio.adb: Avoid unnecessary use of Get/Set_String
5510
5511         * g-spipat.ads, g-spipat.adb: New interface for Get_String
5512         Minor reformatting (function specs)
5513
5514         * g-spitbo.adb: New interface for Get_String
5515
5516         * g-spitbo.ads: Minor reformatting
5517
5518         * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
5519
5520         * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
5521
5522 2005-03-15  Javier Miranda  <miranda@adacore.com>
5523             Robert Dewar  <dewar@adacore.com>
5524             Thomas Quinot  <quinot@adacore.com>
5525             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5526
5527         * atree.ads, atree.adb: Add support for Elist24 field
5528
5529         * atree.h: Fix wrong definition of Field27
5530         Add support for Elist16 field
5531         Add support for Elist24 field
5532
5533         * einfo.ads, einfo.adb (Abstract_Interfaces,
5534         Set_Abstract_Interfaces): New subprograms.
5535         (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
5536         subprograms.
5537         (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
5538         entities rather than a single node.
5539         (Is_Interface, Set_Is_Interface): New subprogram
5540         (First_Tag_Component): New syntesized attribute
5541         (Next_Tag_Component): New synthesized attribute
5542         (Write_Entity_Flags): Upgraded to write Is_Interface
5543         (Write_Field24_Name): Upgraded to write Abstract_Interfaces
5544         (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
5545         (Task_Body_Procedure): New subprogram to read this attribute.
5546         (Set_Task_Body_Procedure): New subprogram to set this attribute.
5547         (Has_Controlled_Component): Now applies to all entities.
5548         This is only a documentation change, since it always worked to apply
5549         this to other than composite types (yielding false), but now this is
5550         official.
5551         Update documentation on Must_Be_Byte_Aligned for new spec
5552
5553         * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
5554         exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
5555         uses of the Access_Disp_Table attribute to reference the first dispatch
5556         table associated with a tagged type. As
5557         part of the implementation of abstract interface types,
5558         Access_Disp_Table has been redefined to contain a list of dispatch
5559         tables (rather than a single dispatch table).
5560         Similarly, upgrade all the references to Tag_Component by the
5561         new attribute First_Tag_Component.
5562         (Find_Inherited_TSS): Moved to exp_tss.
5563         Clean up test in Expand_N_Object_Declaration for cases
5564         where we need to do a separate assignment of the initial value.
5565         (Expand_N_Object_Declaration): If the expression in the
5566         declaration of a tagged type is an aggregate, no need to generate an
5567         additional tag assignment.
5568         (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
5569         is to be deleted.
5570         Bit packed array ops are only called if operands are known to be
5571         aligned.
5572         (Component_Equality): When returning an N_Raise_Program_Error statement,
5573         ensure that its Etype is set to Empty to avoid confusing GIGI (which
5574         expects that only expressions have a bona fide type).
5575         (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
5576         determine the amount of data to be copied.
5577
5578         * par.adb (P_Interface_Type_Definition): New subprogram that parses the
5579         new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
5580             INTERFACE_TYPE_DEFINITION ::=
5581               [limited | task | protected | synchronized] interface
5582                 [AND interface_list]
5583
5584         * par-ch3.adb (P_Type_Declaration): Modified to give support to
5585         interfaces.
5586         (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
5587         interfaces.
5588         (P_Interface_Type_Definition): New subprogram that parses the new
5589         syntax rule of Ada 2005 interfaces
5590         (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
5591         messages by the correct RENAMES (quotes removed).
5592
5593         * sem_prag.adb: Upgrade all the references to Tag_Component by the new
5594         attribute First_Tag_Component.
5595
5596         * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
5597         (Interface_List, Set_Interface_List): New subprograms.
5598         (Interface_Present, Set_Interface_Present): New subprograms.
5599         (Limited_Present, Set_Limited_Present): Available also in derived
5600         type definition nodes.
5601         (Protected_Present, Set_Protected_Present): Available also in
5602         record type definition and
5603         derived type definition nodes.
5604         (Synchronized_Present, Set_Synchronized_Present): New subprograms.
5605         (Task_Present, Set_Task_Present): New subprogram.
5606         (Task_Body_Procedure): Removed.
5607         (Set_Task_Body_Procedure): Removed.
5608         These subprogram have been removed because the attribute
5609         Task_Body_Procedure has been moved to the corresponding task type
5610         or task subtype entity to leave a field free to store the list
5611         of interfaces implemented by a task (for AI-345)
5612         Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
5613         (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
5614         expression flag Do_Range_Check
5615         (Exception_Junk): Change to Flag7 to accomodate above change
5616         (Box_Present, Default_Name, Specification, Set_Box_Present,
5617         Set_Default_Name, Set_Specification): Expand the expression
5618         "X in N_Formal_Subprogram_Declaration" into the corresponding
5619         two comparisons. Required to use the csinfo tool.
5620
5621         * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
5622         "with string" given.
5623
5624         * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
5625         expression given.
5626
5627         * par-ch11.adb (P_Raise_Statement): Recognize with string expression
5628         in 2005 mode
5629
5630         * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
5631         attribute Task_Body_Procedure rather than the old semantic field that
5632         was available in the task_type_declaration node.
5633
5634         * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
5635         interface type definitions.
5636         (P_Formal_Derived_Type_Definition): Modified to handle the list of
5637         interfaces.
5638
5639         * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
5640         task type declaration.
5641         (P_Protected): Modified to handle the list of interfaces in a
5642         protected type declaration.
5643
5644 2005-03-15  Doug Rupp  <rupp@adacore.com>
5645             Vincent Celier  <celier@adacore.com>
5646
5647         * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
5648         (Gen_Output_File_C): Likewise.
5649         (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
5650
5651 2005-03-15  Thomas Quinot  <quinot@adacore.com>
5652
5653         * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
5654         is an N_Raise_Constraint_Error node, create a new copy of it without
5655         going through a call to Duplicate_Subexpr.
5656
5657 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
5658             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5659             Nicolas Setton  <setton@adacore.com>
5660             Ed Schonberg  <schonberg@adacore.com>
5661
5662         PR ada/19900
5663         PR ada/19408
5664         PR ada/19140
5665         PR ada/20255
5666
5667         * decl.c (gnat_to_gnu_field): Reject aliased components with a
5668         representation clause that prescribes a size not equal to the rounded
5669         size of their types.
5670         (gnat_to_gnu_entity, case E_Component): Always look at
5671         Original_Record_Component if Present and not the entity.
5672         (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
5673         of tagged extension types by not making field for components that are
5674         inside the parent.
5675         (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
5676         (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
5677         expression to the type of the object when the object is constant.
5678         Reverse defer_debug_incomplete_list before traversing it, so that trees
5679         are processed in the order at which they were added to the list. This
5680         order is important when using the stabs debug format.
5681         If we are deferring the output of debug information, also defer this
5682         output for a function return type.
5683         When adding fields to a record, prevent emitting debug information
5684         for incomplete records, emit the information only when the record is
5685         complete.
5686         (components_to_record): New parameter defer_debug.
5687         (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
5688         (gnat_to_gnu_field_decl): New function.
5689         (substitution_list, annotate_rep): Call it.
5690         (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
5691         (gnat_to_gnu_entity, case E_Record_Type): Likewise.
5692         No longer update discriminants to not be a COMPONENT_REF.
5693         (copy_alias_set): Strip padding from input type; also handle
5694         unconstrained arrays properly.
5695
5696         * gigi.h (write_record_type_debug_info): New function.
5697         Convert to use ANSI-style prototypes. Remove unused
5698         declarations for emit_stack_check, elab_all_gnat and
5699         set_second_error_entity.
5700         (gnat_to_gnu_field_decl): New decl.
5701
5702         * utils.c (write_record_type_debug_info): New function.
5703         (finish_record_type): Delegate generation of debug information to
5704         write_record_type_debug_info.
5705         (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
5706         (update_pointer_to): Fix pasto.
5707         (convert) <UNION_TYPE>: Accept slight type variations when
5708         converting to an unchecked union type.
5709
5710         * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
5711         replace the N_Freeze_Entity with a null statement.
5712
5713         * freeze.adb (Freeze_Expression): If the freeze nodes are generated
5714         within a constrained subcomponent of an enclosing record, place the
5715         freeze nodes in the scope stack entry for the enclosing record.
5716         (Undelay_Type): New Subprogram.
5717         (Set_Small_Size): Pass T, the type to modify; all callers changed.
5718         (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
5719         within records; allow them to have freeze nodes if their base types
5720         aren't frozen yet.
5721
5722         * exp_util.adb (Remove_Side_Effects): Properly test for
5723         Expansion_Delayed and handle case when it's inside an
5724         N_Qualified_Expression.
5725
5726         * sem_ch3.adb (Derived_Type_Declaration): New predicate
5727         Comes_From_Generic, to recognize accurately that the parent type in a
5728         derived type declaration can be traced back to a formal type, because
5729         it is one or is derived from one, or because its completion is derived
5730         from one.
5731         (Constrain_Component_Type): If component comes from source and has no
5732         explicit constraint, no need to constrain in in a subtype of the
5733         enclosing record.
5734         (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
5735         Minor change to propagate Is_Ada_2005 flag
5736
5737         * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
5738         Expansion_Delayed is False.
5739         (assoc_to_constructor): Ignore fields that have a
5740         Corresponding_Discriminant.
5741         (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
5742         function returns "by target", dereference the target pointer using the
5743         type of the actual return value.
5744         <all>: Be prepared for a null gnu_result.
5745         (processed_inline_subprograms): Check flag_really_no_inline
5746         instead of flag_no_inline.
5747         (set_second_error_entity): Remove unused function.
5748         (gnat_to_gnu, case N_Selected_Component): Call
5749         gnat_to_gnu_field_decl.
5750         (assoc_to_constructor): Likewise.
5751
5752 2005-03-15  Robert Dewar  <dewar@adacore.com>
5753             Ed Schonberg  <schonberg@adacore.com>
5754             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5755
5756         * exp_pakd.adb (Create_Packed_Array_Type): Do not set
5757         Must_Be_Byte_Aligned for cases where we do not need to use a
5758         System.Pack_nn unit.
5759
5760         * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
5761         as procedures.
5762         Needed now that we do some processing for IN parameters as well. This
5763         may well fix some unrelated errors.
5764         (Expand_Call): Handle case of unaligned objects (in particular those
5765         that come from packed arrays).
5766         (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
5767         renamed entity is an inherited operation, re-expand the call using the
5768         original operation, which is the one to call.
5769         Detect attempt to inline parameterless recursive subprogram.
5770         (Represented_As_Scalar): Fix to work properly with private types
5771         (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
5772         accurate estimate. Yields True in far fewer cases than before,
5773         improving the quality of code that depends on this test.
5774
5775         * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
5776         over both visible and private declarations to remove them from tree,
5777         and mark subprograms declared in package as eliminated, to prevent
5778         spurious use in subsequent compilation of generic units in the context.
5779
5780         * exp_util.ads: Minor cleanup in variable names
5781
5782         * sem_eval.ads, sem_eval.adb: Minor reformatting
5783         (Compile_Time_Known_Bounds): New function
5784
5785 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
5786
5787         * exp_ch7.adb (Convert_View): Use base types of underlying types when
5788         determining whether an unchecked conversion is needed for the argument
5789         of an initialization call.
5790
5791 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
5792
5793         * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
5794         that appears in the instantiation rather than the internal subtype
5795         generated in the wrapper package, to avoid anomalies in gigi when the
5796         target is derived from a private type whose full view is an access type.
5797
5798 2005-03-15  Robert Dewar  <dewar@adacore.com>
5799
5800         * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
5801         not needed.
5802         Add documentation to replace the use of this flag
5803         Fix kludge for Maximum_Alignment on x86 so that it does not apply to
5804         the x86_64.
5805
5806 2005-03-15  Thomas Quinot  <quinot@adacore.com>
5807
5808         * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
5809         here from exp_attr so it can be shared between exp_attr and exp_dist.
5810         (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
5811         all TSS names, not a subset thereof, and the previous name introduced
5812         an unnecessarily confusion that a distinction might exist between
5813         "OK" TSS names and some "not OK" TSS names.
5814
5815 2005-03-15  Doug Rupp  <rupp@adacore.com>
5816
5817         * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
5818         Command_Name.
5819
5820 2005-03-15  Pascal Obry  <obry@adacore.com>
5821             Eric Botcazou  <ebotcazou@adacore.com>
5822
5823         PR ada/20226
5824         PR ada/20344
5825
5826         * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
5827         when IN_RTS. This is to work around a bootstrap path problem.
5828
5829         * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
5830         table and pass it to __gnat_install_SEH_handler().
5831         (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
5832
5833         * lang.opt: Fix specification of -fRTS=.
5834
5835 2005-03-15  Doug Rupp  <rupp@adacore.com>
5836             Bernard Banner  <banner@adacore.com>
5837             Vincent Celier  <celier@adacore.com>
5838             Arnaud Charlet  <charlet@adacore.com>
5839
5840         PR ada/6852
5841         This change works fine when gnatlib is built from the gcc directory,
5842         but does not work when using the libada Makefile, since GCC_FOR_TARGET
5843         is not passed to ada/Makefile.in, so more work is needed by a
5844         Makefile/configure expert.
5845
5846         * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
5847         set GMEM_LIB on ia64 linux to add optional support for gnatmem.
5848         Setup gnatlink switch -M for x86_64 linux, as it is already setup
5849         for Linux x86.
5850         (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
5851         Run ranlib on libgccprefix.a
5852         Define PREFIX_OBJS for Darwin, to build libgccprefix.
5853         (ADA_INCLUDE_SRCS): Split Ada packages.
5854
5855 2005-03-15  Robert Dewar  <dewar@adacore.com>
5856
5857         * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
5858
5859         * impunit.adb: Add GNAT.UTF_32
5860
5861         * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
5862
5863         * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
5864         now uses GNAT.UTF_32).
5865
5866         * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
5867         capabilities for categorizing characters using Unicode categories
5868
5869 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
5870
5871         * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
5872         instantiation that has been rewritten as a package body, retrieve spec
5873         to generate proper name for implicit_with_clause.
5874         (Install_Parents): Recognize a parent that is an instantiation but has
5875         been rewritten as a package declaration during analysis.
5876
5877 2005-03-15  Javier Miranda  <miranda@adacore.com>
5878             Ed Schonberg  <schonberg@adacore.com>
5879
5880         * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
5881         parameter reported some error we immediately return. This improves the
5882         behaviour of the frontend in case of errors.
5883         (Install_Parent, Remove_Parent): Introduce new flag
5884         Parent_Unit_Visible, to preserve the proper visibility of the ultimate
5885         ancestor of a generic child unit, when the child is being instantiated.
5886         (Inline_Instance_Body): If we are compiling the private
5887         part or the body of a child unit, restore the proper visibility of the
5888         parents after compiling the instance body.
5889
5890 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
5891             Javier Miranda  <miranda@adacore.com>
5892
5893         PR ada/15608
5894         * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
5895         of a private type, in which case it is underlying_type that denotes
5896         the proper task. Also modified to use the new entity attribute
5897         that is directly available in the task type and task subtype entities
5898         (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
5899         arrays when other dimensions than the first are constrained by
5900         discriminants of an enclosing record.
5901         (Insert_Explicit_Dereference): If the prefix is an indexed component or
5902         a combination of indexed and selected components, find ultimate entity
5903         and generate the appropriate reference for it, to suppress spurious
5904         warnings.
5905         (Note_Possible_Modification): If an entity name has no entity, return.
5906         (Is_Variable): A function call never denotes a variable.
5907         (Requires_Transient_Scope): For record types, recurse only on
5908         components, not on internal subtypes that may have been generated for
5909         constrained components.
5910
5911 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
5912
5913         * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
5914         Eliminated as candidates for resolution. Both efficient, and avoids
5915         anomalies with operators declared in deleted code.
5916         (Process_Implicit_Dereference_Prefix): Use this procedure whenever
5917         expansion is disabled (as when compiling a generic) to prevent spurious
5918         warnings on prefixes of selected components.
5919
5920 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
5921
5922         * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
5923         attached to a list before checking whether it appears in the private
5924         declarations of the current package.
5925         (Make_Inequality_Operator): Insert declaration in proper declarative
5926         list rather than just setting the Parent field, so that
5927         Is_Private_Declaration can handle it properly.
5928
5929 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
5930
5931         * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
5932         a renaming a body, check that the renamed subprogram in not intrinsic.
5933         (Find_Direct_Name): If several use_visible entities hide
5934         each other, and the context is a predefined file compiled through
5935         rtsfind, keep only the entity that comes from a predefined file.
5936
5937 2005-03-15  Geert Bosch  <bosch@adacore.com>
5938
5939         * s-fatgen.adb (Valid): Extend special exceptions to account for long
5940         long float padding to also cover AMD64 and IA64.
5941
5942 2005-03-15  Gary Dismukes  <dismukes@adacore.com>
5943
5944         * s-imgwch.adb: Add with and use of Interfaces.
5945         (Img_Wide_Character): Change type of Val to Unsigned_16.
5946         (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
5947
5948 2005-03-15  Matthew Gingell  <gingell@adacore.com>
5949
5950         * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
5951
5952 2005-03-15  Robert Dewar  <dewar@adacore.com>
5953
5954         * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
5955
5956         * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
5957
5958         * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
5959
5960 2005-03-15  Robert Dewar  <dewar@adacore.com>
5961
5962         * s-bitops.adb, s-bitops.ads,
5963         s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
5964         s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
5965         tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
5966         s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
5967         s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
5968         s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
5969         s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
5970         s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
5971         reformatting.
5972
5973 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
5974
5975         * utils2.c (build_binary_op): Fix typo.
5976
5977 2005-03-15  Doug Rupp  <rupp@adacore.com>
5978
5979         * s-crtl.ads (popen,pclose): New imports.
5980
5981 2005-03-15  Cyrille Comar  <comar@adacore.com>
5982
5983         * comperr.adb (Compiler_Abort): remove references to obsolete
5984         procedures in the bug boxes for various GNAT builds.
5985
5986 2005-03-15  Vincent Celier  <celier@adacore.com>
5987
5988         * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
5989
5990 2005-03-15  Geert Bosch  <bosch@adacore.com>
5991             Arnaud Charlet  <charlet@adacore.com>
5992             Robert Dewar  <dewar@adacore.com>
5993             Cyrille Comar  <comar@adacore.com>
5994             Sergey Rybin  <rybin@adacore.com>
5995
5996         * gnat_ugn.texi: Remove extended inline assembly example, as it was far
5997         too specific and long-winded to be appropriate for the GNAT User's
5998         Guide.
5999         Warn about use of GCC switches not documented in the GNAT User's Guide,
6000         as these may cause generated code to not conform to Ada semantics.
6001         Remove mention of -gdwarf-2 for sparc64, since this is now the default.
6002         Add documentation for -gnat95 and -gnat05 switches
6003         Remove paragraph documenting obsolete way to refer to third party
6004         libraries.
6005         Add a few references to Ada_05 that were missing.
6006         Update documentation on -gnatZ/-gnatL.
6007         Document limitation when using -m64 under Solaris.
6008         Change the "Name Casing" subsection of the pretty-printer section
6009         according to the changes in the dictionary processing.
6010
6011         * gnat_rm.texi: Document the Ada_05 pragma.
6012         Section on record representation clauses describes the new more
6013         relaxed rules about placement of large packed bit array components.
6014         Add documentation of GNAT.UTF_32
6015
6016 2005-03-12  Daniel Berlin <dberlin@dberlin.org>
6017
6018         * misc.c (gnat_post_options): Turn off structural
6019         aliasing for now.
6020
6021 2005-03-08  Laurent Guerby <laurent@guerby.net>
6022
6023         * system-linux-sparc.ads: Fix typo in previous commit.
6024
6025 2005-03-07  James A. Morrison <phython@gcc.gnu.org>
6026             Laurent Guerby <laurent@guerby.net>
6027
6028         PR ada/20035
6029         * system-linux-sparc.ads: New.
6030         * Makefile.in: Add sparc linux entry.
6031
6032 2005-02-27  Danny Smith  <dannysmith@users.sourceforge.net>
6033
6034         * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
6035         parameters as unused.
6036
6037 2005-02-26  Nathanael Nerode  <neroden@gcc.gnu.org>
6038         Partial merge from libada-gnattools-branch:
6039
6040         2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
6041         * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
6042         into code in gnattools/Makefile.in.  Remove direct dependencies on
6043         stamp-tools by tools clauses.
6044         2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
6045         * config-lang.in: Add gnattools to $lang_dirs.
6046
6047 2005-02-13  Andrew Pinski  <pinskia@physics.uc.edu>
6048
6049         PR ada/19942
6050         * utils.c (gnat_type_for_mode): Return null instead of ICE because
6051         we asked for an unknown mode.
6052
6053 2005-02-12  Richard Henderson  <rth@redhat.com>
6054
6055         * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
6056         validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
6057
6058 2005-02-10  Andreas Jaeger  <aj@suse.de>
6059
6060         * init.c (__gnat_initialize): Mark parameter as unused.
6061
6062 2005-02-09  Doug Rupp  <rupp@adacore.com>
6063
6064         * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
6065         * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
6066
6067 2005-02-09  Doug Rupp  <rupp@adacore.com>
6068
6069         * gnatchop.adb (dup, dup2),
6070         g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
6071
6072         * gnatlbr.adb (mkdir),
6073         mlib-tgt-vms-ia64.adb (popen, plose):  Import with decc$ prefix.
6074
6075         * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
6076
6077 2005-02-09  Doug Rupp  <rupp@adacore.com>
6078
6079         * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
6080
6081 2005-02-09  Robert Dewar  <dewar@adacore.com>
6082             Thomas Quinot  <quinot@adacore.com>
6083             Javier Miranda  <miranda@adacore.com>
6084             Pascal Obry  <obry@adacore.com>
6085             Ed Schonberg  <schonberg@adacore.com>
6086             Doug Rupp  <rupp@adacore.com>
6087             Gary Dismukes  <dismukes@adacore.com>
6088             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6089
6090         * g-zstspl.ads: New file.
6091
6092         * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
6093
6094         * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
6095         Ada 95 mode
6096         Add definition of Wide_Wide_Space for AI-285
6097
6098         * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
6099         interface (to support Ada 95 and Ada 2005 units).
6100         Add Unbounded_IO files
6101         Add entries for Wide_Wide packages for AI-285
6102         Add list of containers packages to Ada 2005 unit list
6103
6104         * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
6105         support new Unbounded_IO package cleanly.
6106
6107         * g-utf_32.ads, g-utf_32.adb: New files.
6108
6109         * Makefile.rtl: Add entry for g-utf_32
6110         Add new files for Unbounded_IO
6111         Adjust make file for new AI-285 wide wide packages
6112         Add AI-302 containers to the run time.
6113
6114         * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
6115         a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
6116         subprograms for AI-301.
6117
6118         * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
6119
6120         * a-stunau.ads: Minor comment correction
6121
6122         * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
6123         etc.
6124         Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
6125         (Check_RPC): Update to match changes in expanded code.
6126         Clean up unused entity.
6127
6128         * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
6129         was not taken into account.
6130         This includes proper initialization with Normalize_Scalars.
6131         (Get_Simple_Init_Val): Major rewrite for initialize scalars and
6132         normalize scalars cases (particularly the latter) to do a better job
6133         of finding invalid representations.
6134
6135         * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
6136
6137         * s-strops.ads, s-strops.adb: Remove string normalize routines, never
6138         used
6139
6140         * exp_dist.adb: Add support for wide wide character type
6141         (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
6142         private part, generate stub bodies at the end of the private part,
6143         not the visible part.
6144         (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
6145         PolyORB support.
6146         (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
6147         generic wrapper to execute final processing after completing the
6148         expansion of the RPC receiver for an RACW.
6149
6150         * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
6151         packages and attributes.
6152         (Preset_Names): Addition of the new reserved words of Ada 2005,
6153         that is interface, overriding and synchronized.
6154         (Get_Pragma_Id): Give support to the use of the new reserved word
6155         "interface" as a pragma name.
6156         (Is_Pragma_Name): Give support to the use of the new reserved word
6157         "interface" as a pragma name.
6158         (Preset_Names): Add stream_size string for the Stream_Size Ada2005
6159         attribute implementation.
6160
6161         * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
6162         checks to entities that are output parameters of Asm operations.
6163         Handle the Stream_Size attribute.
6164         Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
6165
6166         * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
6167
6168         * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
6169         for second parameter being 0.0.
6170         Add support for wide wide character type.
6171         (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
6172
6173         * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
6174         s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
6175         s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
6176         s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
6177         for wide wide character cases.
6178
6179         * cstand.adb: Create entities for Wide_Wide_Character and
6180         Wide_Wide_String.
6181
6182         * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
6183         accordance with AI-258.
6184         Add new declarations for 16/32 bit C character types (Part of AI285)
6185
6186         * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
6187         (Obsolescent_Warning): New field
6188         (Rep_Clause): New local subprogram used to share code. Returns the rep
6189         clause for which the name is given in parameter.
6190         (Has_Stream_Size_Clause): New routine.
6191         (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
6192         (Address_Clause): Implementation is now using Rep_Clause.
6193         (Alignment_Clause): Idem.
6194         (Size_Clause): Idem.
6195
6196         * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
6197         entity in non-Ada 2005 mode and generate warning.
6198
6199         * par-prag.adb: Add handling of one argument form for pragma Ada_05.
6200         (Prag): Code cleanup. Remove old gnat pragma "overriding"
6201
6202         * sem_prag.adb: Add handling of one argument form for pragma Ada_05
6203         (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
6204         on the named unit if the pragma is not in the current compilation unit,
6205         so that elaboration calls in the current unit can set up an elaboration
6206         dependency on the named unit, as needed.
6207         (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
6208         subprogram as well as for subprograms declared within a package.
6209         (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
6210         pragma overriding.
6211
6212         * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
6213         to z) to avoid some instances of duplication for Wide_Wide packages.
6214
6215         * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
6216         characters.
6217
6218         * scn.adb: Char_Literal_Value field is now a Uint
6219
6220         * scng.adb: Significant rewrite to handle new Ada 2005 features
6221         allowing wide and wide wide characters in program text, e.g. for
6222         identifiers, as described in AI-285.
6223         (Set_Reserved): New procedure, makes setting up keywords cleaner.
6224         (Initialize_Scanner): Register the new reserved words of Ada 2005.
6225         (Scan): Give support to the new reserved words.
6226
6227         * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
6228         warning notifying that interface, overriding, and synchronized are
6229         new reserved words.
6230         (P_Pragma): Allow the use of the new reserved word "interface" as
6231         a pragma name.
6232
6233         * gnatls.adb, gnatbind.adb,
6234         ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
6235         identifiers named "interface" to "SAL_Interface".
6236
6237         * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
6238         (Structured Exception handling).
6239         (Gen_Main_C): Idem.
6240
6241         * bindgen.adb:
6242         (Gen_Main_Ada): Set the default exit code if specified.
6243         (Gen_Main_C): Likewise.
6244         Part of *DC20-006.
6245         (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
6246         Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
6247
6248         * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
6249         new -Xnnn switch.
6250
6251         * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
6252         has a collision with the new Ada 2005 "interface" reserved word.
6253
6254         * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
6255         generate a warning notifying that interface, overriding, and
6256         synchronized are new reserved words.
6257
6258         * scans.ads (Token_Type): Addition of the tokens corresponding to the
6259         new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
6260         and Tok_Synchronized.
6261
6262         * sem_res.adb (Resolve_Actuals): Change error messages to refer to
6263         "dispatching" rather than "primitive" operations, since dispatching
6264         calls are now allowed to abstract formal subprograms (which are not
6265         primitive).
6266         Char_Literal_Value field is now a Uint
6267         (Resolve_Slice): If the prefix is an access to an unconstrained array,
6268         compute the actual subtype of the designated object to impose the proper
6269         index constraints.
6270         (Resolve_Selected_Component): Do not insert an access check if the
6271         prefix is an access type: such a node is expanded into an explicit
6272         dereference, on which the access check is performed anyway. Removes
6273         expensive duplicate checks.
6274         (Resolve_Call): Use new flag Is_Obsolescent and field
6275         Obsolescent_Warning so that pragma Obsolescent works on library
6276         subprograms.
6277         Add support for wide wide character type
6278         (Resolve_Allocator): Replace the error message on wrong null-exclusion
6279         value by a warning message.
6280         (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
6281         as fixed-point, and one of the operands is non-static and universal, it
6282         can only be an illegal exponentiation operation, in which case there is
6283         no real value to retrieve.
6284
6285         * exp_strm.adb: Add support for wide wide character type
6286         (Build_Elementary_Input_Call): Compute the size of the stream element by
6287         querying the rep chain to find the Stream_Attribute attribute value.
6288         (Build_Elementary_Write_Call): Ditto.
6289
6290         * sem_aggr.adb: Char_Literal_Value field is now a Uint
6291         Add support for wide wide character type
6292         Replace the error messages on wrong null-exclusion value by warnings
6293         as described in Ada 2005.
6294         (Resolve_Extension_Aggregate): Document the fact that the error
6295         message on class-wide expressions in extensions aggregates.
6296
6297         * sem_case.adb: Add support for wide wide character type
6298
6299         * sem_ch13.adb: Add support for wide wide character type
6300         (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
6301
6302         * sem_ch3.adb: Add support for wide wide character type
6303         (Process_Subtype): If constraint is illegal for the type, set Ekind of
6304         now-useless Itype, to prevent cascaded errors on a compiler built
6305         without -gnatp.
6306
6307         * sem_ch8.adb: Add with and use of Sem_Disp.
6308         (Analyze_Subprogram_Renaming): Replace unclean uses of
6309         Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
6310         of Corresponding_Spec to Empty).
6311         (Attribute_Renaming): Replace use of Corresponding_Spec with
6312         Corresponding_ Formal_Spec and simplify condition.
6313         (Use_One_Package): Check that scope of homonym of identifier is defined,
6314         before checking whether it is a wrapper package.
6315         Add support for wide wide character type
6316
6317         * sem_eval.adb: Add support for wide wide character type.
6318         (Eval_Arithmetic_Op): Check for compile time known signed integer
6319         overflow in the non-static case.
6320         (Subtypes_Statically_Match): A formal scalar type and its base type do
6321         not statically match.
6322
6323         * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
6324         "not in" for test of N_Formal_Subprogram_Declaration (which is now a
6325         subtype).
6326         (Unit_Declaration_Node): Ditto.
6327         (Is_Variable_Prefix):  For the case of an indexed component whose prefix
6328         has a packed array type, the prefix has been rewritten into a type
6329         conversion. Determine variable-ness from the converted expression.
6330         Handle wide wide character cases.
6331
6332         * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
6333
6334         * stringt.ads, stringt.adb: Handle full UTF-32 range.
6335         Remove ["0A"] from comment, since it can look like a line terminator.
6336         Currently we don't permit this, but this is under discussion by the
6337         ARG, and it is easy enough to use a different example.
6338
6339         * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
6340         handling UTF-32 encoding for wide wide character.
6341         Implement new brackets coding ["hhhhhhhh"]
6342         Add UTF-8 encodings for full UTF-32 range
6343
6344         * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
6345
6346         * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
6347         bit range Add full UTF-32 support.
6348         (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
6349         notify that constraint error will be raised at run-time
6350         because a null value is assigned to a null-excluding object.
6351         Remove some obsolete declarations and make Char_Code
6352         unsigned.
6353
6354         * a-except.adb (Rcheck_30): New subprogram. Addition of the message
6355         corresponding to CE_Null_Not_Allowed, and adjust the output of all the
6356         Rcheck subprograms.
6357
6358         * checks.adb (Check_Null_Not_Allowed): Replace the error message on
6359         wrong null-exclusion value by a warning message.
6360         (Enable_Range_Check): Do range check if the prefix is an
6361         explicit dereference whose designated object is an unconstrained array.
6362         Current algorithm for removing duplicate checks is over-eager in this
6363         case.
6364
6365         * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
6366         null-exclusion value by a warning message
6367
6368         * atree.h, atree.ads, atree.adb: Remove Char_Code field support
6369         completely. Add support for Uint2 field
6370
6371         sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
6372         exp_prag.adb: Char_Literal_Value field is now a Uint.
6373
6374         * exp_util.adb (Insert_Actions): Replace
6375         N_Formal_Subprogram_Declaration by
6376         N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
6377         Char_Literal_Value field is now a Uint.
6378
6379         * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
6380         defined for subprogram renaming declarations. When set, the field
6381         indicates the defining entity of a corresponding formal subprogram
6382         when the renaming corresponds to a formal subprogram association in an
6383         instantiation.
6384         (Set_Corresponding_Formal_Spec): New procedure to return
6385         Corresponding_Formal_Spec field.
6386         Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
6387         (which is now a subtype).
6388         Char_Literal_Value field is now a Uint
6389
6390         * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
6391         pointer to the base of the dispatch table.
6392         Minor changes to comments.
6393         (Controlling_Type): New function for determining the tagged type
6394         associated with a tagged primitive subprogram.
6395         (Expand_Dispatching_Call): Add support for a controlling actual that is
6396         directly a value of type Ada.Tag rather than a tagged object.
6397
6398         * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
6399         describing the new layout.
6400         (Dispatch_Table): The expander computes the actual array size, allocates
6401         the Dispatch_Table record accordingly, and generates code that displaces
6402         the base of the record after the Typeinfo_Ptr component. The access to
6403         these components is done by means of local functions.
6404         (Offset_To_Top): New function.
6405         (Typeinfo_Ptr): New function.
6406         (Get_TSD): Modified to access the new position of the TSD.
6407         (Set_TSD): Modified to save the TSD in its new position.
6408
6409         * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
6410         case of formal abstract subprograms. Add check and message for -gnat05.
6411         Update comments.
6412
6413         * sem_ch12.adb: Add with and use for Sem_Disp.
6414         (Analyze_Associations): Minor change from "=" to "in" for use of
6415         N_Formal_Subtype_Declaration (which is now a subtype).
6416         (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
6417         N_Formal_Subtype_Declaration (which is now a subtype).
6418         (Analyze_Formal_Subprogram): Add handling for
6419         N_Formal_Abstract_Subprogram, marking the formal as abstract and
6420         dispatching, setting the controlling status of the formal parameters
6421         and result, and issuing an error if there is no controlling type for
6422         the formal subprogram.
6423         (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
6424         which is an unclean use of that field, we set the new field
6425         Corresponding_Formal_Spec to make the formal subprogram available to
6426         processing in Analyze_Subprogram_Declaration.
6427         (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
6428         Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
6429         Constrained, so that it is is does not statically match its anonymous
6430         base type.
6431
6432         * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
6433         abstract formal subprograms in error check for functions returning
6434         abstract types. Set scope of new designator for
6435         a parameterless subprogram, so that it is available when checking the
6436         body for nested subprograms, before full analysis of said body.
6437         (Analyze_Subprogram_Body): Warn on inlining bodies with nested
6438         subprogram only if inner one comes from source.
6439         (Analyze_Function_Call): If the call is given in object notation, the
6440         analysis of the name rewrites the node and analyzes it with the proper
6441         argument list. After analyzing the name, if the call has been rewritten
6442         and the result type is set, no further analysis is needed.
6443         (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
6444         mark in function specification, in a context where the formals are
6445         visible and hide outer homographs.
6446
6447         * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
6448         as the tagged type for the cases of abstract formal subprograms and
6449         renamings of those.  Clean up spec comments.
6450         (Check_Dispatching_Context): Add error message to indicate "abstract
6451         procedure", covering the case of a call to a formal abstract procedure
6452         that has statically tagged operands.
6453         (Check_Dispatching_Call): Check for the case of an actual given by
6454         a tag-indeterminate function call whose type is an ancestor of the
6455         containing call's associated tagged type. This situation can occur
6456         for inherited primitives with function defaults. In this case we
6457         use the tagged type's tag directly as the controlling argument for
6458         the calls.
6459         (Expand_Call): Name change on call to Expand_Dispatch_Call.
6460
6461         * sprint.adb (Sprint_Node_Actual): Split
6462         N_Formal_Subprogram_Declaration into two alternatives for the new
6463         cases N_Formal_Abstract_Subprogram_Declaration and
6464         N_Formal_Concrete_Subprogram_Declaration.
6465         Char_Literal_Value field is now a Uint.
6466
6467         * trans.c: Get rid of junk Uint2 reference.
6468         Char_Literal_Value field is now a Uint.
6469         (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
6470         (gigi): Correct third arg to gimplify_body.
6471
6472         * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
6473         (TYPE_LANG_FLAG_0): Check for record or union.
6474
6475         * treepr.adb: Char_Literal_Value field is now a Uint
6476
6477         * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
6478         UI_From_CC.
6479
6480         * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
6481         Add full UTF-32 support
6482         Char_Code is now 32 bits
6483
6484         * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
6485         wide character UTF_32 line terminators.
6486         Initialize Main_Source_File to avoid error when no main
6487         source is loaded.
6488
6489         * errout.adb (Finalize): Do not check Num_SRef_Pragmas
6490         (Main_Source_File) when no main source has been loaded, to avoid
6491         potential crash.
6492
6493 2005-02-09  Robert Dewar  <dewar@adacore.com>
6494
6495         * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
6496         Fix name of Set routine
6497
6498         * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
6499         fixed packages.
6500
6501         * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
6502         a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
6503         fixed packages
6504
6505         * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
6506         forms of Get_Line subprograms for AI-301.
6507
6508         * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
6509         a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
6510         a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
6511         a-stwima.ads: Minor reformatting.
6512
6513 2005-02-09  Doug Rupp  <rupp@adacore.com>
6514             Thomas Quinot  <quinot@adacore.com>
6515
6516         * adaint.c, adaint.h
6517         [VMS] (to_ptr32): New function.
6518         (MAYBE_TO_PTR32): New macro.
6519         (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
6520         for pointer size.
6521         [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
6522         [VMS] (#define fork()): Remove since unneccessary.
6523         (__gnat_set_close_on_exec): New routine to support
6524         GNAT.OS_Lib.Set_Close_On_Exec.
6525
6526         * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
6527         the parent side as close-on-exec so that they are not inherited by the
6528         child.
6529
6530         * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
6531         set or clear the FD_CLOEXEC flag on a file descriptor.
6532
6533 2005-02-09  Eric Botcazou  <ebotcazou@adacore.com>
6534             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6535
6536         Fix for c330001 - PR ada/19386
6537
6538         * decl.c:
6539         (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
6540         on the field if Pragma Component_Alignment (Storage_Unit).
6541         (gnat_to_gnu_entity, case object): Do not treat a renaming that has
6542         side-effects as if it were a constant; also make SAVE_EXPR to protect
6543         side-effects.
6544         (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
6545         UNION_TYPE.
6546         (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
6547         (components_to_record): Test it.
6548         Fix improper usage of REFERENCE_CLASS_P.
6549
6550         * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
6551         RECORD_TYPE.
6552
6553         * utils2.c: Minor reformatting.
6554
6555         * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
6556         handle other cases like RECORD_TYPE.
6557
6558         * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
6559
6560 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
6561
6562         * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
6563         component of an array of arrays in an assignment context, and the
6564         aggregate has component associations that require sliding on
6565         assignment, force reanalysis of the aggregate to generate a temporary
6566         before the assignment.
6567         (Must_Slide): Make global to the package, for use in Gen_Assign.
6568
6569 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
6570
6571         * exp_ch4.adb (Expand_Composite_Equality): If a component is an
6572         unchecked union with no inferable discriminants, return a
6573         Raise_Program_Error node, rather than inserting it at the point the
6574         type is frozen.
6575         (Expand_Record_Equality, Component_Equality): Handle properly the case
6576         where some subcomponent is an unchecked union whose generated equality
6577         code raises program error.
6578
6579 2005-02-09  Doug Rupp  <rupp@adacore.com>
6580
6581         * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
6582         [VMS] (#define exit hack): Remove.
6583
6584 2005-02-09  Pascal Obry  <obry@adacore.com>
6585             Arnaud Charlet <charlet@adacore.com>
6586
6587         * init.c (__gnat_initialize): Add a new parameter eh which contains the
6588         address of the exception registration. The Win32 version of this
6589         routine calls __gnat_install_SEH_handler() to initialize the SEH
6590         (Structured Exception Handling) handler.
6591         (__gnat_error_handler) [Win32]: Removed. Not needed as we use
6592         SEH (Structured Exception Handling) now.
6593         (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
6594         (__gnat_initialize for ppc-vxworks): Adjust comments and the
6595         preprocessor condition protecting the call to the extra eh setup
6596         subprogram, which is only available for the ppc target.
6597         (__gnat_clear_exception_count): replaced reference to
6598         variable taskIdCurrent by call to taskIdSelf(), cleaner.
6599
6600         * seh_init.c: New file.
6601
6602         * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
6603         (GNATBIND_OBJS): Idem.
6604
6605         * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
6606         routine takes a new parameter (a pointer to the exception registration
6607         for the SEH (Structured Exception Handling) support.
6608
6609         * raise.h: (__gnat_install_SEH_handler): New prototype.
6610         Update copyright notice.
6611
6612         * s-tassta.adb (Task_Wrapper): Declare the exception registration
6613         record and initialize it by calling __gnat_install_SEH_handler.
6614
6615 2005-02-09  Vincent Celier  <celier@adacore.com>
6616
6617         * make.adb (Gnatmake): Do not fail when the main project has no object
6618         directory.
6619
6620 2005-02-09  Doug Rupp  <rupp@adacore.com>
6621
6622         * Makefile.in [VMS] (LN,LN_S): Define as cp -p
6623         Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
6624         [VMS]: Add translations for g-enblsp.adb.
6625
6626         * s-asthan-vms.adb: Removed.
6627         * s-asthan-vms-alpha.adb: Added.
6628
6629 2005-02-09  Pascal Obry  <obry@adacore.com>
6630
6631         * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
6632         (LIBGNAT_OBJS): Add seh_init.o.
6633
6634 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
6635
6636         PR ada/16592
6637
6638         * Makefile.in: Link all gnat tools with -static-libgcc, since
6639         -shared-libgcc is now used by default on some systems (e.g. linux with
6640         recent binutils).
6641         Remove references to Makefile.prolog/generic, no longer used.
6642
6643 2005-02-09  Vincent Celier  <celier@adacore.com>
6644
6645         * prj-makr.adb (Process_Directory): Put file name in canonical case
6646         before matching against the patterns.
6647         If gnatname has been invoked as <prefix>-gnatname
6648         then invoke the compiler as <prefix>-gcc, not just "gcc".
6649
6650 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
6651
6652         * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
6653         with expansion disabled. The actual subtype is needed among other
6654         places when the selected component appears in the context of a loop
6655         bound, and denotes a packed array.
6656         (Operator_Check): Always use the first subtype in the
6657         error message, to avoid the appearance of internal base types.
6658         (Transform_Object_Operation): Copy each actual in full
6659         to the parameter associations of the constructed call, rather than
6660         using the shallow copy mechanism of New_Copy_List. This ensures that
6661         the chaining of named associations is done properly.
6662         (Complete_Object_Operation): Rewrite node, rather than
6663         replacing it, so that we can trace back to the original selected
6664         component.
6665
6666         * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
6667         and calls that use object notation, if the called function is not
6668         declared  in a withed unit, place the elaboration constraint on the
6669         unit in the context that makes the function accessible.
6670         (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
6671         imposes an elaboration constraint between two packages.
6672
6673 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
6674
6675         * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
6676         views of a private type after handling its private dependents, to
6677         maintain proper stack discipline between entry and exit from the
6678         package.
6679
6680 2005-02-09  Cyrille Comar  <comar@adacore.com>
6681
6682         * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
6683         Minor reformatting.
6684
6685 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
6686
6687         * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
6688         fields for foreign threads.
6689
6690 2005-02-09  Doug Rupp  <rupp@adacore.com>
6691
6692         * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
6693         recursion warnings when compiled with -gnatdm.
6694
6695 2005-02-09  Robert Dewar  <dewar@adacore.com>
6696
6697         * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
6698         Slight fix to documentation of -gnaty with no parameters
6699
6700         * xr_tabls.ads: Add ??? comment for missing overall comment
6701
6702         * xsinfo.adb: Make default file name be sinfo.h, since this is what
6703         we now use by default.
6704
6705         * xsnames.adb: Adjust end of file test to look for five space followed
6706         by '#' instead of six spaces. The format of xsnames.adb was modified
6707         in the last update.
6708
6709         * a-numeri.ads: Add reference to AI-388 for greek letter pi
6710         identifier.
6711
6712         * clean.adb: Minor reformatting.
6713
6714         * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
6715         gnatname.adb: Minor reformatting
6716         Add 2005 to copyright output when utility is run
6717
6718         * csets.adb: Eliminate obsolete comment
6719
6720         * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
6721         Update comments.
6722
6723         * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
6724
6725 2005-02-09  Sergey Rybin  <rybin@adacore.com>
6726
6727         * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
6728         the difference between compact and incompact layout and add the record
6729         representation clause to the example illustrating different layouts.
6730         Add the description of '-A5' gnatpp option ("align 'AT' keywords in
6731         component clauses").
6732
6733 2005-02-09  Florian Villoing  <villoing@adacore.com>
6734
6735         * gnat_ugn.texi: Fix typos.
6736         Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
6737         @file.
6738         Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
6739         in the generated documentation.
6740
6741 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
6742
6743         * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
6744         longer supported.
6745         Update linker wrapper when linking with non GNU C++.
6746
6747 2005-02-09  Pascal Obry  <obry@adacore.com>
6748
6749         * gnat_ugn.texi:
6750         Document the procedure to debug the DllMain routine on Windows.
6751         Add note about -funwind-tables and mixed Ada and C/C++ programming in
6752         ZCX mode.
6753         Document new BIND qualifer /RETURN_CODES=VMS.
6754
6755 2005-02-09  Ben Brosgol  <brosgol@adacore.com>
6756
6757         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
6758         Edited gnatmetric chapter
6759
6760 2005-02-09  Robert Dewar  <dewar@adacore.com>
6761
6762         * gnat_rm.texi:
6763         Changes to document new wide wide character support
6764         For AI-285
6765         Update documentation on Normalize_Scalars and Initialize_Scalars
6766
6767 2005-02-09  Pascal Obry  <obry@adacore.com>
6768
6769         * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
6770
6771 2005-02-09  Jose Ruiz  <ruiz@adacore.com>
6772
6773         * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
6774         from the VxWorks kernel) that is needed for getting the active
6775         priority of the different tasks.
6776
6777         * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
6778         Use a pragma Elaborate_Body in the spec file instead.
6779         Noticed by code reading.
6780
6781 2005-02-09  Thomas Quinot  <quinot@adacore.com>
6782
6783         * exp_util.ads: Minor correction in comment.
6784
6785 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
6786
6787         * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
6788         since this procedure is now too complex to be worth inlining.
6789
6790 2005-02-09  Richard Henderson  <rth@redhat.com>
6791
6792         * utils.c (gnat_define_builtin): Remove.
6793         (gnat_install_builtins): Use build_common_builtin_nodes.
6794
6795 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
6796
6797         * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
6798         a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
6799         a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
6800         a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
6801         a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
6802         a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
6803         a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
6804         a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
6805         a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
6806         a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
6807         a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
6808         a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
6809         a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
6810         a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
6811         a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
6812         a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
6813         a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
6814         a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
6815         a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
6816         a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
6817         a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
6818         a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
6819         a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
6820         a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
6821         a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
6822         a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
6823         a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
6824         a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
6825         a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
6826         a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
6827         a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
6828         a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
6829         a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
6830         a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
6831         library.
6832
6833 2005-01-27  Laurent GUERBY <laurent@guerby.net>
6834
6835         * Makefile.in: Fix a-intnam.ads from previous commit,
6836         add 2005 to copyright.
6837         * a-intman-rtems.ads: Renamed to...
6838         * a-intnam-rtems.ads:
6839
6840 2005-01-27  Laurent GUERBY <laurent@guerby.net>
6841
6842         * Makefile.in: Rename GNAT RTEMS specific files.
6843         * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
6844         5rosinte.ads, 5rparame.adb: Replaced by files below.
6845         * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
6846         s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
6847
6848 2005-01-27  Joel Sherrill <joel.sherrill@oarcorp.com>
6849             Laurent GUERBY <laurent@guerby.net>
6850
6851         PR ada/19488
6852         * 5rosinte.ads: Add No_Key constant.
6853         * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
6854         * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
6855
6856 2005-01-26  Laurent GUERBY <laurent@guerby.net>
6857
6858         PR ada/19414
6859         * i-cobol.adb (Valid_Numeric): Handle zero length case.
6860
6861 2005-01-20  Richard Henderson  <rth@redhat.com>
6862
6863         * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
6864         a-intnam-linux.ads and system-linux-alpha.ads.
6865         * a-intnam-linux-alpha.ads: Remove file.
6866         * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
6867         * system-linux-alpha.ads: New file.
6868
6869 2005-01-18  Jakub Jelinek  <jakub@redhat.com>
6870
6871         PR ada/13470
6872         * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
6873         set to the new string.
6874
6875 2005-01-18  Toon Moene  <toon@moene.indiv.nluug.nl>
6876
6877         * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
6878         to True.
6879
6880 2005-01-18  Richard Henderson  <rth@redhat.com>
6881
6882         * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
6883         THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
6884         for alpha-linux.
6885         * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
6886
6887 2005-01-14  Andrew Pinski  <pinskia@physics.uc.edu>
6888
6889         * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
6890         (GCC_ZCX_Support): Likewise.
6891
6892 2005-01-11  Bastian Blank  <waldi@debian.org>
6893
6894         * system-linux-s390.ads: Define Preallocated_Stacks.
6895         * system-linux-s390x.ads: Likewise.
6896
6897 2005-01-04  Arnaud Charlet  <charlet@adacore.com>
6898
6899         * gnat_ugn.texi: Fix texi errors with null variables.
6900
6901 2005-01-03  Thomas Quinot  <quinot@adacore.com>
6902
6903         * gen-soccon.c: New utility program to generate g-soccon.ads
6904         automatically.
6905
6906         * socket.c, gsocket.h: Split inclusion of system header files into a
6907         gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
6908
6909         * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
6910         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
6911         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
6912         g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
6913         should not be edited by hand anymore, but should be regenerated using
6914         gen-soccon.
6915
6916 2005-01-03  Robert Dewar  <dewar@adacore.com>
6917             Ed Schonberg  <schonberg@adacore.com>
6918             Vincent Celier  <celier@adacore.com>
6919
6920         * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
6921         on/off, since this is an obsolescent feature, for which we now generate
6922         a warning.
6923
6924         * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
6925         warning mode is set and obsolescent usage of this attribute occurs.
6926         (Resolve_Access, case 'Access): Note that GNAT uses the context type to
6927         disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
6928         predates, and partly motivates, the adoption of the AI.
6929         Implement new Ada 2005 attribute Mod
6930
6931         * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
6932         attribute Mod.
6933
6934         * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
6935
6936         * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
6937         pragma restrictions.
6938         New entry for Ada 2005 attribute Mod.
6939
6940         * par-prag.adb:
6941         Add recognition of new pragma Restrictions No_Dependence
6942         Recognize restriction No_Obsolescent_Features at parse time
6943
6944         * bcheck.adb: Add circuitry for checking for consistency of
6945         No_Dependence restrictions.
6946
6947         * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
6948         restrictions.
6949
6950         * restrict.ads, restrict.adb: Add subprograms to deal with
6951         No_Dependence restrictions.
6952
6953         * rtsfind.adb: Check that implicit with's do not violate No_Dependence
6954         restrictions.
6955
6956         * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
6957         sem_attr.adb: Add check for new restriction No_Obsolescent_Features
6958
6959         * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
6960         dummy parameter to scng instantiation.
6961         Needed for new restriction No_Obsolescent_Features
6962
6963         * scn.adb: (Obsolescent_Check): New procedure
6964         Needed for new restriction No_Obsolescent_Features
6965
6966         * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
6967         specified by AI-285, needed for implementation of AI-388 (adding greek
6968         pi to Ada.Numerics).
6969         Add new generic formal to scng, needed for new restriction
6970         No_Obsolescent_Features.
6971
6972         * s-rident.ads: Add new restriction No_Obsolescent_Features.
6973
6974         * ali.ads, ali.adb: Adjustments for reading new No_Dependence
6975         restrictions lines.
6976         (Scan_ALI): When finding an unexpected character on an R line, raise
6977         exception Bad_R_Line, instead of calling Fatal_Error, so that, when
6978         Ignore_Errors is True, default restrictions are set and scanning of the
6979         ALI file continues with the next line. Also, when Bad_R_Line is raised
6980         and Ignore_Errors is True, skip to the end of le line.
6981
6982         * sem_ch10.adb: Check that explicit with's do not violate
6983         No_Dependence restrictions.
6984         (Install_Withed_Unit): Add code to implement AI-377 and diagnose
6985         illegal context clauses containing child units of instance.
6986
6987         * sem_prag.adb: Processing and checking for new No_Dependence
6988         restrictions.
6989         (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
6990         analyze and check the External argument.
6991
6992         * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
6993
6994 2005-01-03  Robert Dewar  <dewar@adacore.com>
6995
6996         * atree.adb: Add a fifth component to entities
6997         This allows us to add 32 flags and four new fields
6998
6999         * atree.ads: Add a fifth component to entities
7000         This allows us to add 32 flags and four new fields
7001
7002         * einfo.ads, einfo.adb: Document new fields and new flags now available
7003         Add routines for printing new fields
7004
7005         * treepr.adb: Call routines to print out additional fields if present
7006
7007 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
7008
7009         * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
7010         gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
7011
7012         * Makefile.in: Add support to build shared Ada libraries on solaris x86
7013         Remove gpr2make, replaced by gprmake.
7014         Remove references to gnatmem and libaddr2line.
7015         Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
7016         (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
7017         Add support for specialized version of Ada.Numerics.Aux for Darwin: use
7018         a-numaux-darwin.ads and a-numaux-darwin.adb
7019         Enable mlib-tgt-lynxos.adb on lynxos.
7020
7021         * Make-lang.in: Remove rules for gpr2make.
7022         When generating sdefault.adb, do not call Relocate_Path
7023         on S3 for function Target_Name, as it is not a path.
7024         Remove references to gnatmem and libaddr2line.
7025
7026         * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
7027         files.
7028
7029 2005-01-03  Samuel Tardieu  <tardieu@adacore.com>
7030
7031         * checks.adb (Apply_Alignment_Check): Generate a warning if an object
7032         address is incompatible with its base type alignment constraints when
7033         this can be decided statically.
7034
7035 2005-01-03  Olivier Hainque  <hainque@adacore.com>
7036
7037         * decl.c (compatible_signatures_p): New function. The intended purpose
7038         is to check if two function signatures for a call-site and a callee are
7039         compatible enough for the call to be valid. The underlying purpose is
7040         to check if a call to a mapped builtin is using the right interface.
7041         The current code actually does not check antyhing - this a placeholder
7042         for future refinements.
7043         (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
7044         builtin calls for convention Intrinsic.
7045
7046         * gigi.h (builtin_decl_for): Declare (new function).
7047
7048         * utils.c (gnat_install_builtins): Install the target specific builtins.
7049         (builtin_decl_for): New function, provide a dummy body for now.
7050
7051 2005-01-03  Geert Bosch  <bosch@adacore.com>
7052
7053         * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
7054         (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
7055         (Pred): Implement in terms of Succ.
7056
7057         * trans.c (convert_with_check): Reimplement conversion of float to
7058         integer.
7059
7060 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
7061             Vincent Celier  <celier@adacore.com>
7062
7063         * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
7064         bounds can be negative, and must be declared Int, not Nat.
7065
7066         * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
7067         array is checked after using the index in the array.
7068
7069         * makegpr.adb (Add_Switches): Check if there is a package for the
7070         processor. If there is no package, do not look for switches.
7071
7072 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
7073
7074         * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
7075         generation of predefined stream operations (specs and bodies) should
7076         proceed. Under various restrictions these subprograms must not be
7077         generated.
7078
7079 2005-01-03  Thomas Quinot  <quinot@adacore.com>
7080
7081         * exp_dist.adb:
7082         Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
7083         amount of PCS-specific code in RACW stubs generation.
7084         (Copy_Specification): Set Etype on copied formal parameter entities, as
7085         this information is needed for PolyORB stubs generation.
7086         (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
7087         variable Dynamic_Async.
7088         (Build_Subprogram_Receiving_Stubs): Make PCS-specific
7089         (Build_RPC_Receiver_Specification): Make generic again, as recent
7090         changes have allowed RPC receivers to have the same profile for both
7091         variants of the PCS.
7092         Reorganise RPC receiver generation to reduce differences between the
7093         structure of GARLIC and PolyORB RPC receivers.
7094         (Add_Receiving_Stubs_To_Declarations): Make this subprogram
7095         PCS-specific.
7096         Simplify elaboration code for RCI packages.
7097
7098         * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
7099         generation to reduce differences between the structure of GARLIC and
7100         PolyORB RPC receivers.
7101
7102         * s-stratt.adb: Fix typo in comment.
7103
7104 2005-01-03  Thomas Quinot  <quinot@adacore.com>
7105
7106         * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
7107         copied from Make_Init_Call).
7108
7109         * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
7110         reads and assignments on a temporary variable declared with appropriate
7111         discriminants.
7112
7113 2005-01-03  Robert Dewar  <dewar@adacore.com>
7114
7115         * i-c.adb (To_C): Raise CE if string is null and Append_Null
7116
7117 2005-01-03  Robert Dewar  <dewar@adacore.com>
7118
7119         * i-cstrin.adb (Update): Do not append a null in form called with a
7120         String. This avoids unintended behavior.
7121
7122 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
7123
7124         PR ada/17527
7125         * init.c: Fix warnings on Free BSD section.
7126
7127 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
7128
7129         PR ada/16949
7130         * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
7131         xsinfo.adb).
7132
7133 2005-01-03  Vincent Celier  <celier@adacore.com>
7134
7135         * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
7136         libraries when Unique_Compile is True (-u switch).
7137         (Gnatmake): ditto.
7138
7139 2005-01-03  Robert Dewar  <dewar@adacore.com>
7140
7141         * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
7142         upper case letter or underscore after W, as allowed by spec.
7143
7144 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
7145
7146         * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
7147         darwin port by using proper type definitions from header files.
7148         Use SIGTERM instead of SIGABRT for SIGADAABORT.
7149
7150 2005-01-03  Robert Dewar  <dewar@adacore.com>
7151
7152         * par.adb: Enhance error message handling for configuration file
7153         pragmas.
7154
7155 2005-01-03  Robert Dewar  <dewar@adacore.com>
7156
7157         * s-arit64.adb (Double_Divide): Put back changes that got accidentally
7158         removed during the previous update (test properly for case of dividing
7159         largest negative number by -1, which generates overflow).
7160
7161 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
7162             Sergey Rybin  <rybin@adacore.com>
7163
7164         * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
7165         to use as the defining identifier for a formal package.
7166         (Remove_Parent): If the instance takes place within (an instance of)
7167         a sibling, preserve private declarations of common parent.
7168
7169 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
7170
7171         * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
7172         to determine whether one of the operands is a fixed-point type for
7173         which a user-defined multiplication or division operation might be
7174         defined.
7175
7176         * sem_res.adb (Valid_Conversion): The legality rules for conversions
7177         of access types are symmetric in Ada 2005: either designated type can
7178         be unconstrained.
7179
7180 2005-01-03  Vincent Celier  <celier@adacore.com>
7181
7182         * s-fileio.adb (Temp_File_Record): Change length of string component
7183         Name from L_tmpnam + 1 to max_path_len + 1.
7184
7185 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
7186
7187         * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
7188         Self_Id.Deferral_Level = 0.
7189         (Do_Pending_Action): Move this function to the spec.
7190
7191         * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
7192         Do_Pending_Action explicitely when needed, in case we're using
7193         No_Abort restrictions.
7194
7195         * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
7196         deferral level since it will not get changed by the generated code.
7197         Keeping a default value of 1 would prevent some operations (e.g.
7198         select or delay) to proceed successfully.
7199
7200 2005-01-03  Ben Brosgol  <brosgol@adacore.com>
7201             Robert Dewar  <dewar@adacore.com>
7202             Cyrille Comar  <comar@adacore.com>
7203
7204         * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
7205         porting guide chapter (vms version).
7206         Revised doc title (removed "for native platforms") and subtitle.
7207         Add discussion on warning flag for obsolescent features. First we
7208         note that it applies to obsolete GNAT features, which was previously
7209         omitted. Second we contrast the behavior with that of the new
7210         Ada 2005 AI-368 restriction No_Obsolescent_Features.
7211         Preliminary rewriting of GNAT & libraries chapter in order to take
7212         into account default project locations & new project manager
7213         capabilities.
7214
7215 2005-01-03  Robert Dewar  <dewar@adacore.com>
7216
7217         * cstand.adb (Create_Operators): Clean up format and documentation of
7218         unary and binary operator result tables. No change in code, just
7219         reformatting and addition of comments.
7220
7221         * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
7222         sem_ch2.adb: Minor reformatting
7223
7224         * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
7225         sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
7226         comments for Tree_Read and Tree_Write.
7227
7228 2005-01-03  Pascal Obry  <obry@adacore.com>
7229
7230         * exp_attr.ads: Minor reformatting.
7231
7232 2005-01-03  Romain Berrendonner  <berrendo@adacore.com>
7233
7234         * comperr.adb (Compiler_Abort): Add specialized message for GAP
7235         versions.
7236
7237 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
7238
7239         * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
7240         whether the ancestor type is private, as may be the case with nested
7241         instantiations.
7242
7243 2004-12-30  Sohail Somani <sohail@sohailsomani.com>
7244
7245         PR ada/19128
7246         * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
7247
7248 2004-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
7249
7250         * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
7251         * utils2.c (build_unary_op): Likewise.
7252
7253 2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7254
7255         * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
7256
7257 2004-12-19  Richard Henderson  <rth@redhat.com>
7258
7259         * trans.c (gigi): Update gimplify_body call.
7260
7261 2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
7262
7263         * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
7264
7265 2004-12-07  Ed Falis  <falis@adacore.com>
7266
7267         * s-intman-vxworks.adb (Notify_Exception): removed useless check for
7268         current task being suspended.
7269
7270         * init.c (__gnat_clear_exception): added to reset VxWorks exception
7271         count.
7272         (__gnat_map_signal): removed test for current task being suspended.
7273
7274 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
7275
7276         * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
7277         from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
7278         targets (such as AAMP).
7279
7280 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
7281
7282         * atree.adb (Visit_Itype): Create a new name for the generated itype,
7283         because the back-end may otherwise treat it as a redefinition of the
7284         old symbol.
7285
7286 2004-12-07  Eric Botcazou  <ebotcazou@adacore.com>
7287
7288         * back_end.adb (Scan_Back_End_Switches): Accept --param.
7289
7290         * lang-specs.h: Accept --param.
7291
7292 2004-12-07  Vincent Celier  <celier@adacore.com>
7293
7294         * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
7295         package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
7296         Current_Body_Suffix => Ada_Body_Suffix).
7297         Take into account Externally_Built attribute.
7298
7299         * clean.adb (In_Extension_Chain): Always return False when one of the
7300         parameter is No_Project.
7301         (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
7302         Ada_Language_Index).
7303         (Gnatclean): Adapt to change in package Prj.Pars (no parameter
7304         Process_Languages for procedure Parse).
7305
7306         * gnatcmd.adb (Carg_Switches): New table.
7307         (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
7308         Adapt to name changes in package Prj (Current_Spec_Suffix =>
7309         Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
7310
7311         * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
7312         Header_Num and function Hash are now declared in package Prj,
7313         not Prj.Com.
7314
7315         * prj.adb (Suffix_Of): New function.
7316         (Set (Suffix)): New procedure.
7317         (Hash): One function moved from Prj.Com
7318         (Is_Present, Language_Processing_Data_Of): New functions
7319         (Set): Two new procedures
7320         (Add_Language_Name, Display_Language_Name): New procedures
7321
7322         * prj.ads: (Suffix_Of): New function
7323         (Set (Suffix)): New procedure
7324         Add several types and tables for multi-language support.
7325         (Header_Num): Type moved from Prj.Com
7326         (Hash): Two functions moved from Prj.Com
7327         (Is_Present, Language_Processing_Data_Of): New functions
7328         (Set): Two new procedures
7329         (Add_Language_Name, Display_Language_Name): New procedures
7330         (Naming): Component name changes:
7331         Current_Spec_Suffix => Ada_Spec_Suffix,
7332         Current_Body_Suffix => Ada_Body_Suffix. Add new components:
7333         Impl_Suffixes, Supp_Suffixes.
7334         (Project_Data): New components: Externally_Built, Supp_Languages,
7335         First_Language_Processing, Supp_Language_Processing, Default_Linker,
7336         Default_Linker_Path.
7337
7338         * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
7339         new package Language_Processing with its attributes (Compiler_Driver,
7340         Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
7341         Binder_Driver, Default_Linker).
7342
7343         * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
7344         (Header_Num): Type moved to package Prj
7345
7346         * prj-env.adb: Adapt to name changes in package Prj
7347         (Current_Spec_Suffix => Ada_Spec_Suffix,
7348         Current_Body_Suffix => Ada_Body_Suffix).
7349
7350         * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
7351         default to the project path, except the "-" is one of the directories
7352         in env var ADA_PROJECT_PATH.
7353         (Current_Project_Path): Global variable, replacing Project_Path
7354         that was in the body of Prj.Part.
7355         (Project_Path): New function
7356         (Set_Project_Path): New procedure
7357         Initialize Current_Project_Path during elaboration of the package
7358         Remove dependency on Prj.Com, no longer needed
7359
7360         * prj-ext.ads (Project_Path): New function
7361         (Set_Project_Path): New procedure
7362
7363         * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
7364         suffix is defined for language <lang>.
7365         (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
7366         accessing directly the components of Naming.
7367         (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
7368         Reorganise of this package.
7369         Break procedure Check in several procedures.
7370
7371         * prj-nmsc.ads: Replace all procedures (Ada_Check,
7372         Other_Languages_Check and Language_Independent_Check) with a single
7373         procedure Check.
7374
7375         * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
7376         Process_Languages, no longer needed.
7377
7378         * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
7379         Current_Project_Path.
7380         Remove elaboration code, moved to the body of Prj.Ext
7381         Use new function Prj.Ext.Project_Path instead of old variable
7382         Project_Path.
7383         (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
7384         When comparing with project paths on the stack, first put the resolved
7385         path in canonical case.
7386         (Parse_Single_Project): Set the path name of the project file in the
7387         tree to the normalized path.
7388
7389         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
7390         parameter Process_Languages, no longer needed.
7391         (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
7392         Other_Languages_Check.
7393
7394         * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
7395         to store the resolved canonical path of the project file.
7396         Remove dependency to Prj.Com, no longer needed
7397
7398         * prj-util.adb: Adapt to name changes in package Prj
7399         (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
7400         Ada_Body_Suffix).
7401
7402         * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
7403         Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
7404         Externally_Built, Include_Option, Language_Processing.
7405
7406         * makegpr.adb: Numerous changes due to changes in packages
7407         Prj and Prj.Nmsc.
7408
7409         * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
7410         default to the project path, except whe "-" is one of the directories
7411         in env var ADA_PROJECT_PATH.
7412         (Gnatls): In verbose mode, add the new section "Project Search Path:"
7413
7414 2004-12-07  Robert Dewar  <dewar@adacore.com>
7415
7416         * debug.adb: Document that -gnatdA automatically sets -gnatR3m
7417
7418         * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
7419         set -gnatR3m mode.
7420
7421         * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
7422         flag. No longer needed now that we handle this in gnat1drv.adb.
7423
7424         * repinfo.ads: Minor reformatting
7425
7426 2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7427             Olivier Hainque  <hainque@adacore.com>
7428             Eric Botcazou  <ebotcazou@adacore.com>
7429
7430         * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
7431         TYPE_SIZE_UNIT of result type if SIZE is not specified.
7432         (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
7433         of a bitfield, which we know is useless and causes trouble because of
7434         alignment implications.
7435
7436         * utils.c (create_var_decl): Set DECL_COMMON again on targets without
7437         BSS sections.
7438         (process_attributes): Clear DECL_COMMON again when a section attribute
7439         is present.
7440         (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
7441         SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
7442         (create_field_decl): Special case ADDRESSABLE negative to mean
7443         "no bitfield creation", to be used by make_aligning_type. Don't
7444         restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
7445         fields claimed addressable still have to be bitfields. Use
7446         value_factor_p instead of a raw binop construction to check for the
7447         position's alignment.
7448
7449 2004-12-07  Geert Bosch  <bosch@adacore.com>
7450
7451         * eval_fat.adb: Revert previous change.
7452
7453 2004-12-07  Thomas Quinot  <quinot@adacore.com>
7454             Ed Schonberg  <schonberg@adacore.com>
7455
7456         * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
7457         with an implicit dereference as its prefix, use
7458         Insert_Explicit_Dereference instead of merely rewriting the prefix into
7459         an explicit dereference. This ensures that a reference to the original
7460         prefix is generated, if appropriate.
7461
7462         * sem_util.adb (Insert_Explicit_Dereference): When an implicit
7463         dereference is rewritten to an explicit one, generate a reference to
7464         the entity denoted by its prefix using the original prefix node, so
7465         the dereference can be properly recorded as a read of the denoted
7466         access value, if appropriate.
7467
7468         * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
7469         emitting 'assigned but never read' warning on a variable on the basis
7470         that it has an access type.
7471         (Check_References): Emit unreferenced warning when the scope is a
7472         subprogram body.
7473
7474 2004-12-07  Robert Dewar  <dewar@adacore.com>
7475             Ed Schonberg  <schonberg@adacore.com>
7476
7477         * exp_ch6.adb (Expand_Call): Add comment on handling of back end
7478         intrinsic
7479
7480         * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
7481         leaving call unchanged.
7482         This deals with the case where the pragma Import specified
7483         an external name, to be handled by the back end.
7484
7485         * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
7486         subprogram which is Imported with convention Intrinsic if an
7487         External_Name argument is specified.
7488         (Process_Import_Or_Interface): Properly diagnose link name argument.
7489         (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
7490         with Sem_Ch6.Cannot_Inline.
7491         (Process_Inline): Provide separate warning for inapplicable inline
7492         pragma.
7493         (Cannot_Inline): Reject subprograms that have an at_end handler, so that
7494         treatment is uniform on different targets.
7495
7496 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
7497
7498         * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
7499         construct is rewritten, preserve end label to permit source navigation.
7500
7501 2004-12-07  Thomas Quinot  <quinot@adacore.com>
7502
7503         * exp_dist.adb (Specific_Build_General_Calling_Stubs,
7504         Specific_Build_Stub_Target): New subprograms.
7505         (Build_Subprogram_Calling_Stubs): Make this procedure independent from
7506         the PCS implementation used, using the above PCS-customized subprograms.
7507         Minor reformatting.
7508         (PolyORB_Support.Helpers): New subunit containing supporting subprograms
7509         for generation of DSA code targeted to the PolyORB PCS.
7510         (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
7511         implementation of the partition communication subsystem in ancillary
7512         subprograms.
7513         (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
7514         PolyORB_Support.Build_Stub_Type): New subrograms containing the
7515         PCS-specific part of Add_Stub_Type.
7516         (Insert_Partition_Check): Use runtime library function to perform
7517         E.4(19) check.
7518
7519         * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
7520         (RE_Same_Partition): New entity, from s-parint.
7521
7522         * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
7523
7524 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
7525
7526         * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
7527         Output the copyright message on a separate line from the version
7528         message.
7529
7530 2004-12-07  Joel Brobecker  <brobecker@adacore.com>
7531
7532         * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
7533         compile-time warning.
7534
7535 2004-12-07  Robert Dewar  <dewar@adacore.com>
7536
7537         * g-regpat.adb: (Match): Change a misuse of or to or else
7538
7539 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
7540
7541         * lib-xref.adb:
7542         (Generate_Reference): Handle properly a reference to an entry formal,
7543          when an accept statement has a pragma Unreferenced for it.
7544
7545         * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
7546         and the Has_Pragma_Unreferenced flag for each formal before analyzing
7547         the body, to ensure that warnings are properly emitted for each accept
7548         statement of a given task entry.
7549
7550 2004-12-07  Vasiliy Fofanov  <fofanov@adacore.com>
7551
7552         * Makefile.in: Add support for foreign threads on VMS.
7553
7554 2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7555
7556         * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
7557         Remove.
7558         (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
7559
7560         * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
7561
7562         * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
7563         exception.
7564         (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
7565
7566 2004-12-07  Robert Dewar  <dewar@adacore.com>
7567
7568         * nlists.adb (Prepend_Debug): Remove parameters and nest within
7569         Prepend.
7570         (Remove_Next_Debug): Same fix
7571
7572         * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
7573         maintain back pointers now, though we did not used to, and comments
7574         were out of date).
7575         (Prepend): Remove pragma Inline.
7576         (Remove_Next): Same cleanup
7577
7578 2004-12-07  Thomas Quinot  <quinot@adacore.com>
7579
7580         * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
7581         used to record an implicit dereference as a read operation on its
7582         prefix when operating under -gnatc. Necessary to avoid spurious
7583         'variable assigned but never read' warnings in that mode.
7584         (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
7585         is a non-overloaded implicit dereference, call the above subprogram to
7586         ensure proper recording of references.
7587
7588 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
7589
7590         * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
7591         to be resolved later as part of Analyze_Iteration_Scheme's call to
7592         Make_Index.
7593
7594 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
7595
7596         * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
7597         prefix is not a scalar type, place error message on prefix, not on
7598         type entity.
7599
7600 2004-12-07  Bernard Banner  <banner@adacore.com>
7601
7602         * vxaddr2line.adb: Add support for x86 vxworks
7603
7604 2004-12-07  Thomas Quinot  <quinot@adacore.com>
7605
7606         * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
7607         documentation of the behaviour of these functions when passed an IP
7608         address that has no record in the system hosts database and no reverse
7609         record in the DNS.
7610
7611         * cstand.adb, a-tags.ads: Fix typos in comment.
7612
7613 2004-12-07  Robert Dewar  <dewar@adacore.com>
7614
7615         * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
7616         exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
7617         sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
7618         s-poosiz.ads: Minor reformatting
7619
7620         * make.adb: Minor reformatting
7621         Add some ??? comments asking for more comments
7622
7623         * s-poosiz.adb: Minor reformatting
7624         Add comments on alignment requirement
7625
7626         * sinfo.ads: Remove obsolete comment and fix typo.
7627
7628 2004-12-07  Vincent Celier  <celier@adacore.com>
7629             Sergey Rybin  <rybin@adacore.com>
7630
7631         * gnat_ugn.texi: Update the section "The GNAT Driver and Project
7632         Files" with the new tool and package names.
7633         Reformatting to suppress most of the warnings for line too long
7634         Document the new section "Project Search Path:" in the output of
7635         gnatls -v.
7636         Add gnatmetric section
7637
7638 2004-12-07  Vincent Celier  <celier@adacore.com>
7639
7640         * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
7641         -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
7642         and -eit to -ept. Added qualifier
7643         /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
7644
7645 2004-11-27  Andreas Schwab  <schwab@suse.de>
7646
7647         * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
7648
7649 2004-11-25  Arnaud Charlet  <charlet@adacore.com>
7650
7651         * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
7652         internal implementation unit GNAT.Sockets.Thin,
7653         as their usage for sockets is non-portable (using the read and write
7654         functions from the system runtime library is fine on UNIX but won't
7655         work under Windows).
7656
7657         * mingw32.h: Update copyright notice.
7658
7659 2004-11-25  Arnaud Charlet  <charlet@adacore.com>
7660
7661         * ada-tree.h: Minor reformatting of previous change to avoid lines
7662         longer than 79 characters.
7663
7664 2004-11-25  Olivier Hainque  <hainque@adacore.com>
7665
7666         * tb-gcc.c: GCC infrastructure based implementation of
7667         __gnat_backtrace.
7668
7669 2004-11-24  Steven Bosscher  <stevenb@suse.de>
7670
7671         * misc.c (gnat_post_options): Don't clear
7672         flag_inline_functions.
7673
7674 2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
7675
7676         PR ada/17986
7677         * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
7678         tree.
7679
7680 2004-11-21  Andreas Jaeger  <aj@suse.de>
7681
7682         * stylesw.adb: Change Style_Check_Subprogram_Order to
7683         Style_Check_Order_Subprograms.
7684
7685 2004-11-18  Arnaud Charlet  <charlet@adacore.com>
7686
7687         * adaint.h, adaint.c
7688         (__gnat_portable_spawn): Fix cast of spawnvp third parameter
7689         to avoid warnings.
7690         Add also a cast to kill another warning.
7691         (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
7692         parameter with the priority class of the parent process instead of
7693         always using the NORMAL_PRIORITY_CLASS.
7694         (__gnat_dup): New function.
7695         (__gnat_dup2): New function.
7696         (__gnat_is_symbolic_link): Enable the effective body of this
7697         function when __APPLE__ is defined.
7698
7699         * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
7700         Update comments.
7701
7702 2004-11-18  Olivier Hainque  <hainque@adacore.com>
7703
7704         * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
7705         address of which may be used to represent "others" and "all others"
7706         choices in exception tables, instead of the current harcoded
7707         (void *)0 and (void *)1.
7708         (Setup_Exception): Do nothing in the GNAT SJLJ case.
7709
7710         * gigi.h (others_decl, all_others_decl): New decls representing the
7711         new Others_Value and All_Others_Value objects.
7712         (struct attrib): Rename "arg" component as "args", since GCC expects a
7713         list of arguments in there.
7714
7715         * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
7716         corresponding objects exported by a-exexpr, instead of hardcoded dummy
7717         addresses.
7718
7719         * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
7720         others_decl and all_others_decl instead of hardcoded dummy addresses
7721         to represent "others" and "all others" choices, which is cleaner and
7722         more flexible with respect to the possible eh pointer encoding policies.
7723
7724         * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
7725         (process_attributes): Account for the naming change of the "args"
7726         attribute list entry component.
7727
7728         * decl.c (build_attr_list): Rename into prepend_attributes to allow
7729         cumulating attributes for different entities into a single list.
7730         (gnat_to_gnu_entity): Use prepend_attributes to build the list of
7731         attributes for the current entity and propagate first subtype
7732         attributes to other subtypes.
7733         <E_Procedure>: Attribute arguments are attr->args and not
7734         attr->arg any more.
7735         (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
7736         argument provided, as this is what GCC expects. Use NULL_TREE instead
7737         of 0 for trees.
7738
7739 2004-11-18  Robert Dewar  <dewar@adacore.com>
7740
7741         * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
7742         Minor reformatting througout (including new function specs)
7743         Add ??? comments asking for clarification.
7744
7745 2004-11-18  Thomas Quinot  <quinot@adacore.com>
7746
7747         * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
7748         incomplete duplicate implementation of this subprogram from butil.
7749
7750 2004-11-18  Thomas Quinot  <quinot@adacore.com>
7751
7752         * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
7753         procedures factors the common processing for building an RPC receiver
7754         for an RCI package or an RACW type.
7755         Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
7756         Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
7757         (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
7758         in use.
7759         (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
7760         Add_RACW_Features.
7761         (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
7762         Add_RAST_Features.
7763         (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
7764         distribution subprogram identifiers that are either subprogram numbers
7765         or strings.
7766         (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
7767         string distribution identifiers assigned to a given subprogram.
7768         (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
7769         (Add_RAS_Dereference_TSS): Add comments.
7770         (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
7771         is not referenced yet because it will be used by the PolyORB DSA
7772         implementation.
7773         (Insert_Partition_Check): Remove fossile code.
7774         (First_RCI_Subprogram_Id): Document this constant.
7775         (Add_RAS_Access_TSS): Correct the setting of the Etype of the
7776         RAS_Access TSS.
7777         (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
7778         replaced with calls to Get_Library_Unit_Name_String. Previously there
7779         were several instances of the same code in different locations in the
7780         compiler; this checkin completes the replacement of all of these
7781         instances with calls to a common subprogram.
7782         Minor reformatting.
7783
7784         * sem_dist.adb: Remove comment noting that RPC receiver generation
7785         should be disabled for RACWs that implement RASs.
7786         (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
7787
7788         * sem_util.ads, sem_util.adb (Has_Stream): New function
7789         (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
7790         qualified name of a library unit into the name buffer.
7791         (Note_Possible_Modification): Generate a reference only
7792         if the context comes from source.
7793
7794         * snames.ads (PCS_Names): New subtype corresponding to names of
7795         supported implementations of the Partition Communication Subsystem
7796         (PCS) (i.e. the runtime library support modules for the distributed
7797         systems annex).
7798
7799 2004-11-18  Robert Dewar  <dewar@adacore.com>
7800             Ed Schonberg  <schonberg@adacore.com>
7801
7802         * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
7803         (Has_Rep_Pragma): New function
7804         (Has_Attribute_Definition_Clause): New function
7805         (Record_Rep_Pragma): Moved here from sem_ch13.adb
7806         (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
7807
7808         * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
7809
7810         * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
7811         (Expand_Pragma_Psect_Object): New procedure
7812         These procedures contain the revised and cleaned up processing for
7813         these two pragmas. This processing was formerly in Sem_Prag, but
7814         is more appropriately moved here. The cleanup involves making sure
7815         that the pragmas are properly attached to the tree, and that no
7816         nodes are improperly shared.
7817
7818         * sem_prag.adb: Move expansion of Common_Object and Psect_Object
7819         pragmas to Exp_Prag, which is more appropriate.
7820         Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
7821         check for duplicates Remove use of Is_Psected flag, no longer needed.
7822         Use new Make_String_Literal function with string.
7823
7824         * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
7825         that are functions return universal values, that have to be converted
7826         to the context type.
7827         Use new Make_String_Literal function with string.
7828         (Get_Stream_Convert_Pragma): New function, replaces the use of
7829         Get_Rep_Pragma, which had to be kludged to work in this case.
7830
7831         * freeze.adb: Use new Has_Rep_Pragma function
7832
7833         * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
7834         function with string.
7835         Use new Has_Rep_Pragma function.
7836
7837         * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
7838         string argument.
7839
7840 2004-11-18  Robert Dewar  <dewar@adacore.com>
7841
7842         * errout.ads, errout.adb: (First_Sloc): New function
7843
7844         * par-ch5.adb (P_Condition): Check for redundant parens is now a style
7845         check (-gnatyx) instead of being included as a redundant construct
7846         warning.
7847
7848         * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
7849         Style_Check_Order_Subprograms.
7850
7851         * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
7852         stylesw.adb: Add Style_Check_Xtra_Parens
7853
7854         * usage.adb: Add line for -gnatyx (check extra parens)
7855
7856         * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
7857
7858 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
7859             Robert Dewar  <dewar@adacore.com>
7860
7861         * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
7862         discriminant of a constrained subtype, analyze the copy of the
7863         corresponding constraint, because in some cases it may be only
7864         partially analyzed.
7865         Removes long-lived ??? comments.
7866
7867         * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
7868         handled controlled or secondary-stack expressions within the
7869         iteration_scheme of a loop.
7870
7871         * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
7872         bounds that may contain functions calls, to prevent memory leaks when
7873         the bound contains a call to a function that uses the secondary stack.
7874         (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
7875         generate temporaries for loop bounds that might contain function calls
7876         that require secondary stack and/or finalization actions.
7877
7878         * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
7879         selected component and the selector is overloadable (not just a
7880         function) treat as function call, Analyze_Call will disambiguate if
7881         necessary.
7882         (Analyze_Selected_Component): Do not generate an actual subtype for the
7883         selected component if expansion is disabled. The actual subtype is only
7884         needed for constraint checks.
7885         (Analyze_Allocator): If restriction No_Streams is set, then do
7886         not permit objects to be declared of a stream type, or of a
7887         composite type containing a stream.
7888
7889         * restrict.ads: Remove the a-stream entry from Unit_Array, since
7890         No_Streams no longer prohibits with'ing this package.
7891
7892         * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
7893         discriminants, but the parent base has unknown discriminants, there is
7894         no discriminant constraint to inherit. Such a discrepancy can arise
7895         when the actual for a formal type with unknown discriminants is a
7896         similar private type whose full view has discriminants.
7897         (Analyze_Object_Declaration): If restriction No_Streams is set, then
7898         do not permit objects to be declared of a stream type, or of a
7899         composite type containing a stream.
7900
7901 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
7902
7903         * exp_dbug.ads: Update documentation to reflect simpler encoding for
7904         protected operations.
7905
7906         * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
7907         generated name, it complicates decoding in gdb and hinders debugging
7908         of protected operations.
7909         (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
7910         flag for the protected entry barrier function.
7911         (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
7912         flag for the protected entry function.
7913
7914 2004-11-18  Nicolas Setton  <setton@adacore.com>
7915
7916         * expect.c: Define __unix__ when __APPLE__ is defined.
7917
7918         * Makefile.in: Inform the value of the variable GMEM_LIB in the
7919         Darwin-specific section.
7920
7921         * lang-specs.h: Change the placement of the %1 marker.
7922         Works around the fact that gcc adds -fPIC by default under Darwin.
7923
7924 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
7925
7926         * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
7927         type of the object with the packed array type, set the Analyzed flag
7928         on the object if it is an entity or simple indexed component, to avoid
7929         spurious type errors.
7930
7931 2004-11-18  Gary Dismukes  <dismukes@adacore.com>
7932
7933         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
7934         gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
7935         separate line from the version message.
7936
7937 2004-11-18  Ed Falis  <falis@adacore.com>
7938
7939         * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
7940         vthreads.
7941         (init_float): Eliminate initialization of floating point status for
7942         AE653. The instructions have no effect for vThreads.
7943
7944 2004-11-18  Vincent Celier  <celier@adacore.com>
7945
7946         * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
7947         gnatbind is invoked with -shared.
7948
7949 2004-11-18  Jose Ruiz  <ruiz@adacore.com>
7950
7951         * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
7952         for Detect_Blocking which is redundant with the check done within the
7953         procedure Protected_Single_Entry_Call.
7954         (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
7955         Detect_Blocking which is redundant with the check done within the
7956         procedure Protected_Single_Entry_Call.
7957
7958 2004-11-18  Vincent Celier  <celier@adacore.com>
7959
7960         * makegpr.adb (Compile): Put the compiling switches (in package
7961         Compiler and on the command line) immediately after "-c", instead of
7962         at the end of the command line invocation of the compiler, when
7963         compiling a non-Ada file.
7964         (Build_Global_Archive): When there is no need to rebuild the archive,
7965         set Global_Archive_Exists, so that the archive is passed to the linker
7966         if one is needed.
7967
7968 2004-11-18  Robert Dewar  <dewar@adacore.com>
7969             Sergey Rybin  <rybin@adacore.com>
7970
7971         * gnat_ugn.texi:
7972         Remove extra paren check from list of checks for redundant constructs
7973         Add documentation of new -gnatyx style check (check extra parens)
7974         Remove paragraph about gnatelim debug options.
7975
7976         * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
7977         objects rather than forbidding dependencies on the package Ada.Streams.
7978
7979         * sinfo.ads: Add ??? note that we should document pragmas passed to
7980         back end.
7981
7982         * g-expect.ads: Fix a few typos in the comments.
7983
7984 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
7985
7986         * misc.c (gnat_handle_option): Use %< and %> for quoting in
7987         warning message.
7988
7989 2004-11-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7990
7991         * a-numaux-x86.adb (Tan): Fix fdivp syntax.
7992
7993 2004-11-07  Andreas Schwab  <schwab@suse.de>
7994
7995         * Makefile.in (install-gnatlib): Remove spurious hyphen.
7996
7997 2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
7998
7999         PR ada/18228
8000         * Makefile.in (darwin): Set soext to .dylib.
8001
8002 2004-10-26  Vincent Celier  <celier@gnat.com>
8003             Thomas Quinot   <quinot@act-europe.fr>
8004
8005         * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
8006         (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
8007         there is no use of GNAT.Sockets.Constants.
8008         Remove remaining pragma Import for C_Write
8009         Remove C_Read and C_Write from internal implementation unit
8010         GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
8011         the read and write functions from the system runtime library is fine
8012         on UNIX but won't work under Windows).
8013
8014         * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
8015         (Check_Selector): Use C_Recv instead of C_Read.
8016         Selectors are the GNAT.Sockets abstraction to perform a select()
8017         call on a set of descriptors. To allow abortion of an ongoing
8018         select operation, some data is written to a dedicated socket that
8019         is always monitored.
8020         Under Windows, the write and read library functions cannot operate
8021         on sockets, so we need to use send and recv instead, which is portable
8022         across all supported platforms.
8023
8024         * g-socthi.ads: Remove C_Read and C_Write from internal implementation
8025         unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
8026         (using the read and write functions from the system runtime library is
8027         fine on UNIX but won't work under Windows).
8028
8029 2004-10-26  Nicolas Setton  <setton@act-europe.fr>
8030
8031         * mlib-tgt-darwin.adb: New file.
8032
8033         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
8034         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
8035         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
8036         mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
8037         subprogram body.
8038
8039         * Makefile.in: Add support for building shared libraries under Darwin.
8040         (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
8041         the low level EH init subprogram to be called from __gnat_initialize.
8042
8043         * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
8044         indicates which options to pass to the archive indexer.
8045
8046         * mlib-utl.adb: Add support for calling ranlib with additional
8047         options. This is needed for instance under Mac OS X.
8048         (Ranlib_Options): New global variable, used to store the potential
8049         options to pass to ranlib.
8050         (Ar): Use Ranlib_Options when spawning ranlib.
8051         (Initialize): Set the value of ranlib option.
8052
8053 2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
8054
8055         * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
8056         instead of 8K, to reflect the real potential needs for stack-checking
8057         in the ZCX case.
8058
8059 2004-10-26  Pascal Obry  <obry@gnat.com>
8060
8061         * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
8062
8063         * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
8064         Windows only the initial thread stack size can be set so it is good to
8065         start we a low stack size.
8066         The OS will adjust the size as needed.
8067
8068 2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
8069             Nicolas Setton  <setton@act-europe.fr>
8070
8071         * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
8072         "__unix__" instead of "unix".
8073         The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
8074         sections were just mistakenly ignored. The former is
8075         implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
8076         Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
8077         of hpux. This prevents an unwanted definition of the symbol
8078         convert_addresses in adaint.o.
8079
8080 2004-10-26  Gary Dismukes  <dismukes@gnat.com>
8081
8082         * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
8083         compatibility with type Unwind_Word on 16-bit targets such as AAMP.
8084
8085 2004-10-26  Cyrille Comar  <comar@act-europe.fr>
8086
8087         * a-filico.ads, a-filico.adb: fix incorrect header.
8088
8089 2004-10-26  Javier Miranda  <miranda@gnat.com>
8090
8091         * a-ststio.ads: Fix typo in identifier
8092
8093 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
8094
8095         * sem_ch4.adb: Minor reformatting.
8096
8097 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8098
8099         * checks.adb (Expr_Known_Valid): If floating-point validity checks are
8100         enabled, check the result of unary and binary operations when the
8101         expression is the right-hand side of an assignment.
8102
8103 2004-10-26  Vincent Celier  <celier@gnat.com>
8104
8105         * clean.adb (Delete): Do not output warnings when in quiet output and
8106         not in verbose mode.
8107         (Force_Deletions): New Boolean flag, defaulted to False
8108         (Delete): Only delete a file if it is writable, and when
8109         Force_Deletions is True.
8110         (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
8111         (Usage): Line for new switch -f
8112         (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
8113         own.
8114
8115 2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
8116
8117         * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
8118         JM type only if its size matches that of the wrapper.  When a size is
8119         prescribed and the field is not aliased, remove the wrapper of a JM
8120         type only if the size is not greater than that of the packed array.
8121         (gnat_to_gnu_entity): Change the extension of packed array wrappers
8122         from LJM to JM.
8123
8124 2004-10-26  Geert Bosch  <bosch@gnat.com>
8125
8126         * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
8127         (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
8128         (Pred): Implement in terms of Succ.
8129
8130 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8131
8132         * exp_aggr.adb (Safe_Component): An aggregate component that is an
8133         unchecked conversion is safe for in-place use if the expression of the
8134         conversion is safe.
8135         (Expand_Array_Aggregate): An aggregate that initializes an allocator may
8136         be expandable in place even if the aggregate does not come from source.
8137         (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
8138         designated object of an allocator in place, rather than building it
8139         first on the stack. The previous scheme forces a full copy of the array,
8140         and may be altogether unsusable if the size of the array is too large
8141         for stack allocation.
8142
8143 2004-10-26  Robert Dewar  <dewar@gnat.com>
8144
8145         * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
8146         compares if the component is atomic.
8147
8148         * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
8149         array assignment if the component type is atomic.
8150
8151 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8152             Eric Botcazou  <ebotcazou@act-europe.fr>
8153
8154         * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
8155         is aliased and is a by_reference type, do not pass by copy.
8156         (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
8157         detect whether the call is in the right side of an assignment or
8158         the expression of an object declaration.  Recurse on component
8159         association within aggregates.
8160         Call it in the condition that determines whether the temporary is
8161         necessary for correct stack-checking.
8162
8163 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
8164
8165         * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
8166         RACW_Type, used in the PolyORB version.
8167         Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
8168         version and the GARLIC version.
8169
8170         * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
8171         Rename RCI_Info to RCI_Locator for better consistency between the
8172         GARLIC and PolyORB versions of the distributed systems annex.
8173         (DSA_Implementation_Name): This enumeration lists the possible
8174         implementations of the Partition Communication Subsystem for the
8175         Distributed Systems Annex (DSA). The three available implementations
8176         are the dummy stub implementation (No_DSA), and two versions based on
8177         two different distribution runtime libraries: GARLIC and PolyORB. Both
8178         the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
8179         technology.
8180         Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
8181         that organization.
8182
8183         * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
8184         between the GARLIC and PolyORB versions of the distributed systems
8185         annex.
8186         Remove RE_Unbounded_Reclaim_Pool since it is unused.
8187
8188 2004-10-26  Gary Dismukes  <dismukes@gnat.com>
8189
8190         * gnat1drv.adb: Suppress calling the back end when
8191         Frontend_Layout_On_Target is true.
8192
8193 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
8194
8195         * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
8196         Set_Read_Only): New subprograms.
8197         These new routines allow the user to set or unset the Owner execute
8198         and Owner write permission flags on a file.
8199
8200         * makegpr.adb, mlib.adb, mlib-prj.adb: Use
8201         GNAT.OS_Lib.Set_Executable instead of rolling our own.
8202
8203 2004-10-26  Matthew Gingell  <gingell@gnat.com>
8204
8205         * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
8206
8207 2004-10-26  Pascal Obry  <obry@gnat.com>
8208
8209         * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
8210         memory before the faulting page we properly test the process read
8211         access for this address using appropriate Win32 routine.
8212         (HPUX sections): guard with "__hpux__" instead of "hpux".
8213
8214 2004-10-26  Robert Dewar  <dewar@gnat.com>
8215
8216         * lib-xref.adb (Generate_Reference): Don't complain about reference to
8217         entry parameter if pragma Unreferenced set, since we do not properly
8218         handle the case of multiple parameters.
8219
8220 2004-10-26  Vincent Celier  <celier@gnat.com>
8221
8222         * prj-env.adb: (Contains_ALI_Files): New Boolean function
8223         (Ada_Objects_Path.Add): For a library project, add to the object path
8224         the library directory only if there is no object directory or if the
8225         library directory contains ALI files.
8226         (Set_Ada_Paths.Add.Recursive_Add): Ditto
8227
8228 2004-10-26  Vincent Celier  <celier@gnat.com>
8229
8230         * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
8231         extension of library projects.
8232
8233         * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
8234         path defaults to ".:<prefix>/lib/gnat".
8235         (Parse): For an extending all project, allow direct import of a project
8236         that is virtually extended.
8237
8238         * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
8239         the specified name is directly imported, return its ID. Otherwise, if
8240         an extension of this project is imported, return the ID of the
8241         extension.
8242
8243 2004-10-26  Robert Dewar  <dewar@gnat.com>
8244
8245         * s-arit64.adb: (Le3): New function, used by Scaled_Divide
8246         (Sub3): New procedure, used by Scaled_Divide
8247         (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
8248         correct more than one instance of failure to propagate carries
8249         correctly.
8250         (Double_Divide): Handle overflow case of largest negative number
8251         divided by minus one.
8252
8253         * s-arit64.ads (Double_Divide): Document that overflow can occur in
8254         the case of a quotient value out of range.
8255         Fix comments.
8256
8257 2004-10-26  Robert Dewar  <dewar@gnat.com>
8258
8259         * s-bitops.adb (Bit_Eq): Remove redundant check.
8260
8261         * s-bitops.ads: Minor comment updates
8262         Change some occurrences of Address to System.Address
8263
8264         * s-carsi8.ads: Fix minor cut-and-paste error in comments
8265
8266 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8267
8268         * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
8269         accessibility check to prefix that is a protected operation.
8270
8271 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8272
8273         * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
8274         empty, post message on stub.
8275
8276 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8277             Javier Miranda  <miranda@gnat.com>
8278
8279         * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
8280         current instance appears within a unit that is directly in the context
8281         of the main unit.
8282         Used to determine whether the body of the instance should be analyzed
8283         immediately after its spec, to make its subprogram bodies available
8284         for front-end inlining.
8285         (Analyze_Formal_Array_Type): Cleanup condition that checks that range
8286         constraint is not allowed on the component type (AARM 12.5.3(3))
8287
8288 2004-10-26  Cyrille Comar  <comar@act-europe.fr>
8289
8290         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
8291         'Storage_Pool): enhance, document & limit detection of non-sharable
8292         internal pools.
8293
8294         * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
8295
8296         * s-pooglo.ads: Add more documentation now that this pool is properly
8297         documented.
8298
8299 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8300
8301         * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
8302         or protected type with discriminants, do not constrain the
8303         corresponding record type if the subtype declaration has no
8304         discriminant constraints. This can be the case in source code, or in
8305         the subtype declaration created to rename an actual type within an
8306         instantiation.
8307
8308 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8309
8310         * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
8311         different kind of stub (possibly wrong name for file), do not check
8312         for conformance.
8313         (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
8314         includes call to some function that returns an unconstrained type, do
8315         not inline.
8316
8317 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8318
8319         * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
8320         appear in the code for the main unit. Dependencies among units in the
8321         context of the main unit are established when those other units are
8322         compiled. Otherwise spurious elaboration constraints can generate
8323         incorrect elaboration circularities.
8324
8325 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
8326             Ed Schonberg   <schonberg@gnat.com>
8327
8328         * sem_util.adb (Is_Aliased_View): Defend against the case where this
8329         subprogram is called with a parameter that is not an object name. This
8330         situation arises for some cases of illegal code, which is diagnosed
8331         later, and in this case it is wrong to call Is_Aliased, as that might
8332         cause a compiler crash.
8333         (Explain_Limited_Type): Refine previous fix to include
8334         inherited components of derived types, to provide complete information.
8335
8336         * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
8337         is the prival for a protected object.
8338         It is necessary to mark this entity as a variable, in addition to
8339         flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
8340         modified to avoid checking the Aliased flag on entities that are not
8341         objects. (Checking that flag for non-objects is erroneous and could
8342         lead to a compiler crash).
8343
8344 2004-10-26  Robert Dewar  <dewar@gnat.com>
8345
8346         * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
8347         X_Frac = 0.5, then we know that the number X must be positive.
8348         (Succ): Remove the same redundant test, and also fix the primary test
8349         to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
8350         Minor reformatting
8351         (Decompose): Add fuller comments to spec
8352
8353 2004-10-26  Pascal Obry  <obry@gnat.com>
8354
8355         * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
8356         validity (process must have read access). Set to 0 in all other cases.
8357         (STOP_FRAME): Now check for ptr validity to avoid a segmentation
8358         violation on Win32.
8359         (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
8360         segmentation violation.
8361
8362 2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
8363
8364         * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
8365         whose type is a constructed subtype of an aliased object with an
8366         unconstrained nominal subtype, convert the actual to the constructed
8367         subtype before taking its address.
8368
8369 2004-10-26  Vincent Celier  <celier@gnat.com>
8370
8371         * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
8372         (Is_Path_Name_Case_Sensitive): New function
8373
8374         * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
8375         (Base_Name, Simple_Name, Current_Directory, Compose,
8376         Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
8377         the result.
8378
8379 2004-10-26  Cyrille Comar    <comar@act-europe.fr>
8380             Vasiliy Fofanov  <fofanov@act-europe.fr>
8381             Vincent Celier   <celier@gnat.com>
8382
8383         * gnat_ugn.texi: Generalize "finding memory problems" section into a
8384         "memory management issues" section and document some of the useful
8385         memory pools provided as part of the GNAT library.
8386         Remove "virtual" from declaration of A::method2 in
8387         the simple example of Ada/C++ mixed system.
8388         Library Projects may be virtually extended: their virtual extensions
8389         are not Library Projects.
8390         Added section on extending project hierarchies.
8391
8392 2004-10-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
8393
8394         * adaint.c (__gnat_get_libraries_from_registry): Cast value
8395         to LPBYTE.
8396         (__gnat_portable_spawn): Remove const.
8397
8398         * mingw32.h (MAXPATHLEN): Check for previous definition.
8399
8400 2004-10-17  Matthias Klose  <doko@debian.org>
8401
8402         * gnatvsn.ads: Set gnat library version to 4.0.
8403
8404 2004-10-05  Vincent Celier  <celier@gnat.com>
8405
8406         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
8407
8408 2004-10-04  Laurent GUERBY <laurent@guerby.net>
8409
8410         PR ada/15156
8411         * Makefile.in: Define and use RANLIB_FLAGS.
8412
8413 2004-10-04  Pascal Obry  <obry@gnat.com>
8414
8415         * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
8416         other x86 platforms).
8417
8418 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
8419
8420         * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
8421         in general and triggers stack alignment adjustment for thread entry
8422         points on targets where this is necessary.
8423
8424 2004-10-04  Bernard Banner  <banner@gnat.com>
8425
8426         PR ada/13897
8427
8428         * Makefile.in: Add section for powerpc linux
8429         Add variant i-vxwork-x86.ads
8430
8431         * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
8432
8433 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
8434
8435         * init.c (__gnat_initialize): Call an Ada subprogram to perform the
8436         table registration calls when need be. Ensures no reference to the crt
8437         ctors symbol are issued in the SJLJ case, which avoids possible
8438         undefined symbol errors in the case of modules to be statically linked
8439         with the kernel.
8440
8441 2004-10-04  Javier Miranda  <miranda@gnat.com>
8442
8443         * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
8444         in-line the code corresponding to subprogram Analyze_Actuals. In
8445         addition, analyze the actuals only in case of subprogram call.
8446
8447 2004-10-04  Ed Falis  <falis@gnat.com>
8448
8449         * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
8450
8451 2004-10-04  Sergey Rybin  <rybin@act-europe.fr>
8452
8453         * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
8454         in the documentation.
8455
8456 2004-10-04  Robert Dewar  <dewar@gnat.com>
8457
8458         * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
8459         IF and CASE.
8460         (Analyze_Block_Statement): Add circuitry to detect following dead code
8461         (Check_Unreachable_Code): Handle case of block exit
8462
8463 2004-10-04  Robert Dewar  <dewar@gnat.com>
8464
8465         * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
8466         (XMatchD): Avoid warning for Logic_Error call
8467
8468 2004-10-04  Robert Dewar  <dewar@gnat.com>
8469
8470         * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
8471         consider expressions buried within a procedure actual to be an actual.
8472         This caused some blowups with uses of packed slices within a procedure
8473         actual.
8474
8475 2004-10-04  Robert Dewar  <dewar@gnat.com>
8476
8477         * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
8478         longer need to be initialized to zero.
8479         (Get_Simple_Init_Val): Modular packed arrays no longer need to be
8480         initialized to zero.
8481
8482         * checks.adb (Expr_Known_Valid): Packed arrays are now always
8483         considered valid, even if the representation is modular. That's correct
8484         now that we no longer initialize packed modular arrays to zero.
8485
8486         * exp_dbug.ads: Clarify documentation on handling of PAD and JM
8487         suffixes. These are now documented as the only cases in which the
8488         debugger ignores outer records.
8489         Previously, the spec allowed arbitrary suffixes for this purpose.
8490         Change name of LJM to JM for packed array pad records
8491         Create separate section on packed array handling, and add a whole new
8492         set of comments to this section describing the situation with packed
8493         modular types and justification requirements depending on endianness.
8494
8495 2004-10-04  Robert Dewar  <dewar@gnat.com>
8496
8497         * a-except.adb: Add a comment for last change
8498
8499         * einfo.ads: Minor spelling correction in comment
8500
8501         * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
8502
8503         * sem_ch11.adb: Fix a case of using | instead of \ for continuation
8504         messages.
8505
8506         * sem_util.ads: Minor comment update
8507
8508 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
8509
8510         * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
8511         Inline_Always when in Configurable_Run_Time mode.
8512
8513         * sem_prag.adb (Process_Convention): If entity is an inherited
8514         subprogram, apply convention to parent subprogram if in same scope.
8515         (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
8516         when in Configurable_Run_Time mode.
8517
8518 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
8519
8520         * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
8521         class_wide type after component list has been inherited.
8522
8523 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
8524
8525         * sem_ch12.adb (Check_Generic_Actuals): New predicate
8526         Denotes_Previous_Actual, to handle properly the case of a private
8527         actual that is also the component type of a subsequent array actual.
8528         The visibility status of the first actual is not affected when the
8529         second is installed.
8530         (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
8531         make fully recursive the treatment of formals of packages declared
8532         with a box.
8533         (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
8534         the above on exit from an instantiation.
8535         (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
8536         current instantiation which is now complete.
8537         (Analyze_Package_Instantiation): No instantiated body is needed if the
8538         main unit is generic. Efficient, and avoid anomalies when a instance
8539         appears in a package accessed through rtsfind.
8540
8541 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
8542
8543         * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
8544         do not generate a declaration for a temporary if the call is part of a
8545         library-level instantiation.
8546
8547 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
8548
8549         * sem_util.adb (Explain_Limited_Type): Ignore internal components when
8550         searching for a limited component to flag.
8551
8552         * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
8553         expansion of Input, to account for the fact that the implicit call
8554         generated by the attribute reference must freeze the user-defined
8555         stream subprogram. This is only relevant to 'Input, because it can
8556         appear in an object declaration, prior to the body of the subprogram.
8557
8558         * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
8559         expansion can proceed and further errors uncovered.
8560         (Minor clean up): Fix cases of using | instead of \ for continuation
8561         messages.
8562
8563 2004-10-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8564
8565         * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
8566
8567         * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
8568         (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
8569         Use gcc_assert and gcc_unreachable.
8570
8571         * decl.c (gnat_to_gnu_entity, case object): Check and process a
8572         specified alignment before validating size.
8573         (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
8574         stripped-down declaration for the type of the inner field when making
8575         a JM type.
8576
8577         * utils.c (finish_record_type): Do not compute the size in units
8578         incrementally. Instead compute it once for the rep clause case.
8579         Use gcc_assert and gcc_unreachable.
8580
8581 2004-10-04  Vincent Celier  <celier@gnat.com>
8582
8583         * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
8584         in file name.
8585         (Is_Valid_Path_Name): Take '/' as a directory separator.
8586
8587 2004-10-04  Vincent Celier  <celier@gnat.com>
8588
8589         * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
8590         (Extended_Project) only if Extended_Project is defined, to avoid
8591         assertion error.
8592         (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
8593         resolved path.
8594         (Parse_Single_Project): Ditto.
8595
8596         * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
8597         Add_To_Project_Path for virtual projects.
8598
8599 2004-10-04  Vincent Celier  <celier@gnat.com>
8600
8601         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
8602         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
8603         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
8604         mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
8605         parameter Options_2.
8606
8607         * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
8608         Build_Dynamic_Library with an empty Options_2.
8609
8610         * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
8611         default anymore.
8612
8613         * makegpr.adb (Get_Imported_Directories.add): Remove trailing
8614         directory separator, if any.
8615         (Gprmake): Do not allow mains on the command line for library projects.
8616         Do not attempt to link when the project is a library project.
8617         (Library_Opts): New table to store Library_Options.
8618         (Build_Library): If Library_Options is specified, pass these options
8619         when building a shared library.
8620
8621 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
8622
8623         * s-tposen.adb (Service_Entry): The object must be always unlocked at
8624         the end of this procedure now that the unlock operation was inserted
8625         by the expander.
8626
8627 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
8628
8629         * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
8630         corresponding to the Preallocated_Stacks flags in System.
8631         (Get_Target_Parameters): Including the processing for
8632         Preallocated_Stacks.
8633
8634         * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
8635         system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
8636         system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
8637         system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
8638         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
8639         system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
8640         system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
8641         system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
8642         system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
8643         system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
8644         system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
8645         used to signal whether the compiler creates the required stacks and
8646         descriptors for the different tasks (when True) or it is done by the
8647         underlying operating system at run time (when False).
8648         It is initially set to False in all targets.
8649
8650         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
8651         if it is supported by the target.
8652         (Make_Task_Create_Call): Pass the stack address if it has been
8653         previously created. Otherwise pass a Null_Address.
8654
8655         * snames.adb: Add _stack.
8656
8657         * snames.ads: Add Name_uStack. Required to allow the expander to
8658         statically allocated task stacks.
8659
8660         * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
8661         Stack_Address argument.
8662         Check that its value is equal to Null_Address because this target does
8663         not support the static stack allocation.
8664
8665 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
8666
8667         * usage.adb: Change "pragma inline" to "pragma Inline" in information
8668         and error messages
8669
8670 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
8671
8672         * exp_dist.adb: Split declaration of asynchronous flag out of
8673         Add_RACW_Read_Attribute.
8674         Minor reformatting for better alignment with PolyORB version.
8675         Store the entity for the asynchronous flag of an RACW, rather than the
8676         expression, in the asynchronous flags table. This will allow this flag
8677         to be used in other subprograms beside Add_RACW_Read_Attribute.
8678
8679 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
8680
8681         * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
8682         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
8683         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
8684         g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
8685         g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads:  Add new
8686         sockets constant MSG_NOSIGNAL (Linux-specific).
8687         Add new sockets constant MSG_Forced_Flags, list of flags to be set on
8688         all Send operations.
8689         For Linux, set MSG_NOSIGNAL on all send operations to prevent them
8690         from trigerring SIGPIPE.
8691         Rename components to avoid clash with Ada 2005 possible reserved
8692         word 'interface'.
8693         (Check_Selector): When the select system call returns with an error
8694         condition, propagate Socket_Error to the caller.
8695
8696 2004-10-01  Jan Hubicka  <jh@suse.cz>
8697
8698         * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
8699
8700 2004-09-23  Robert Dewar  <dewar@gnat.com>
8701
8702         PR ada/17540
8703
8704         * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
8705         instead do this at freeze time (we won't do it if there is an address
8706         clause).
8707         Change "pragma inline" to "pragma Inline" in information and error
8708         messages.
8709         Minor reformatting.
8710
8711         * freeze.adb (Check_Address_Clause): Remove previous change, not the
8712         right way of doing things after all.
8713         (Freeze_Entity): For object, set Is_Public for imported entities
8714         unless there is an address clause present.
8715
8716 2004-09-21  Olivier Hainque  <hainque@act-europe.fr>
8717
8718         * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
8719         dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
8720         ensures proper handling of types with rep clauses, which might have
8721         their TYPE_SIZE set already.
8722
8723 2004-09-21  Robert Dewar  <dewar@gnat.com>
8724
8725         * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
8726         packed array types in both little- and big-endian cases. This change
8727         ensures that we no longer count on the unused bits being initialized
8728         for such types (and in particular ensures that equality testing will
8729         only read the relevant bits).
8730         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
8731         These changes mean that we no longer need to initialize small packed
8732         arrays.
8733         (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
8734         optimization to an LJM field as to its parent field.
8735
8736         * ada-tree.h, trans.c, utils.c, utils2.c:
8737         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
8738
8739 2004-09-20  Jan Hubicka  <jh@suse.cz>
8740
8741         * utils.c (gnat_finalize): Remove.
8742         (end_subprog_body): Directly call cgraph_finalize_function;
8743         do not lower the nested functions.
8744
8745 2004-09-20  Robert Dewar  <dewar@gnat.com>
8746
8747         PR ada/17540
8748
8749         * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
8750         if an address clause is present, since that means that the Import
8751         should be ignored.
8752
8753 2004-09-20  Arnaud Charlet  <charlet@act-europe.fr>
8754
8755         * 5tsystem.ads: Removed, no longer used.
8756
8757 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
8758             Zack Weinberg  <zack@codesourcery.com>
8759
8760         * ada-tree.def: Use tree_code_class enumeration constants
8761         instead of code letters.
8762         * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
8763         Update for new tree-class enumeration constants.
8764
8765 2004-09-17  Vincent Celier  <celier@gnat.com>
8766
8767         * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
8768         capabilities of the general project manager.
8769
8770 2004-09-09  Vincent Celier  <celier@gnat.com>
8771
8772         * a-direct.ads: Add pragma Ada_05
8773         (Directory_Entry_Type): Give default value to component Kind to avoid
8774         not initialized warnings.
8775
8776         * a-direct.adb (Current_Directory): Remove directory separator at the
8777         end.
8778         (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
8779         an existing directory.
8780         (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
8781         (Size (String)): Function C_Size returns Long_Integer, not File_Size.
8782         Convert the result to File_Size.
8783
8784         * prj.ads: (Project_Error): New exception
8785
8786         * prj-attr.adb: Except in procedure Initialize, Fail comes from
8787         Prj.Com, not from Osint.
8788         (Attrs, Package_Attributes): Tables moved to private part of spec
8789         (Add_Attribute, Add_Unknown_Package): Moved to new child package
8790         Prj.Attr.PM.
8791         (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
8792         Prj.Project_Error after call to Fail.
8793         (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
8794         Fail. Check that package name is not already in use.
8795
8796         * prj-attr.ads: Comment updates to indicate that all subprograms may be
8797         used by tools, not only by the project manager, and to indicate that
8798         exception Prj.Prj_Error may be raised in case of problem.
8799         (Add_Unknown_Package, Add_Attribute): Moved to new child package
8800         Prj.Attr.PM.
8801         (Attrs, Package_Attributes): Table instantiations moved from the body to
8802         the private part to be accessible from Prj.Attr.PM body.
8803
8804         * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
8805         from new package Prj.Attr.PM.
8806         (Parse_Attribute_Declaration): Call Add_Attribute from new package
8807         Prj.Attr.PM.
8808
8809         * Makefile.in: Add prj-attr-pm.o to gnatmake object list
8810
8811         * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
8812         instead of Elaboration_Checks).
8813
8814         * a-calend.adb: Minor reformatting
8815
8816 2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8817
8818         * gigi.h (maybe_pad_type): New declaration.
8819         (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
8820
8821         * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
8822
8823         * cuintp.c: Convert to use buildN.
8824
8825         * decl.c (maybe_pad_type): No longer static.
8826         (gnat_to_gnu_entity, case E_Function): Handle case of returning by
8827         target pointer.
8828         Convert to use buildN.
8829
8830         * trans.c (call_to_gnu): Add arg GNU_TARGET; support
8831         TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
8832         (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
8833         RHS.
8834         (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
8835         (gnat_gimplify_expr, case ADDR_EXPR): New case.
8836         Convert to use buildN.
8837
8838         * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
8839         TREE_READONLY for const.
8840         Convert to use buildN.
8841
8842         * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
8843         (create_var_decl): Refine when TREE_STATIC is set.
8844         Convert to use buildN.
8845
8846 2004-09-09  Gary Dismukes  <dismukes@gnat.com>
8847
8848         * gnat_ugn.texi: Delete text relating to checking of ali and object
8849         consistency.
8850
8851         * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
8852         routines.
8853
8854 2004-09-09  Jose Ruiz  <ruiz@act-europe.fr>
8855
8856         * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
8857         pragmas recognized by GNAT.
8858
8859         * gnat_rm.texi: Document pragma Detect_Blocking.
8860
8861         * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
8862         raise Program_Error if called from a protected operation.
8863
8864         * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
8865         the protected action nesting level.
8866         (Lock_Read_Only): When pragma Detect_Blocking is active increase the
8867         protected action nesting level.
8868         (Unlock): When pragma Detect_Blocking is active decrease the protected
8869         action nesting level.
8870
8871         * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
8872         Protected_Action_Nesting.
8873
8874         * s-taskin.ads: Adding the field Protected_Action_Nesting to the
8875         Common_ATCB record. It contains the dynamic level of protected action
8876         nesting for each task. It is needed for checking whether potentially
8877         blocking operations are called from protected operations.
8878         (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
8879         Detect_Blocking is active or not in the partition.
8880
8881         * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
8882         raise Program_Error if called from a protected operation.
8883         (Task_Entry_Call): When pragma Detect_Blocking is active, raise
8884         Program_Error if called from a protected operation.
8885         (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
8886         Program_Error if called from a protected operation.
8887
8888         * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
8889         raise Program_Error if called from a protected operation.
8890
8891         * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
8892         raise Program_Error if called from a protected operation, and increase
8893         the protected action nesting level.
8894         (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
8895         Program_Error if called from a protected operation, and increase the
8896         protected action nesting level.
8897         (Unlock_Entries): When pragma Detect_Blocking is active decrease the
8898         protected action nesting level.
8899
8900         * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
8901         raise Program_Error if called from a protected operation, and increase
8902         the protected action nesting level.
8903         (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
8904         Program_Error if called from a protected operation, and increase the
8905         protected action nesting level.
8906         (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
8907         raise Program_Error if called from a protected operation.
8908         (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
8909         active, raise Program_Error if called from a protected operation.
8910         (Unlock_Entry): When pragma Detect_Blocking is active decrease the
8911         protected action nesting level.
8912
8913         * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
8914         insertion of the statement raising Program_Error. The run time
8915         contains the required machinery for handling that.
8916
8917         * sem_util.ads: Change comment associated to procedure
8918         Check_Potentially_Blocking_Operation.
8919         This procedure does not insert a call for raising the exception because
8920         that is currently done by the run time.
8921
8922         * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
8923
8924         * init.c: Add the global variable __gl_detect_blocking that indicates
8925         whether pragma Detect_Blocking is active (1) or not (0). Needed for
8926         making the pragma available at run time.
8927         (__gnat_set_globals): Pass and update the detect_blocking parameter.
8928
8929         * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
8930         pragma Detect_Blocking is active.
8931
8932         * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
8933
8934         * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
8935         DB is found in the ali file. Any unit compiled with pragma
8936         Detect_Blocking active forces its effect in the whole partition.
8937
8938         * a-retide.adb (Delay_Until): Raise Program_Error if pragma
8939         Detect_Blocking is active and delay is called from a protected
8940         operation.
8941
8942         * bindgen.adb (Gen_Adainit_Ada): When generating the call to
8943         __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
8944         Detect_Blocking is active (0 otherwise).
8945         (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
8946         as Detect_Blocking parameter if pragma Detect_Blocking is active (0
8947         otherwise).
8948
8949 2004-09-09  Thomas Quinot  <quinot@act-europe.fr>
8950
8951         * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
8952         GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
8953         package.
8954
8955         * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
8956         (Register_Receiving_Stub): Add Subp_Info formal parameter.
8957         Update API in placeholder implemetation of s-parint to reflect changes
8958         in distribution runtime library.
8959
8960         * sem_ch3.adb (Expand_Derived_Record): Rename to
8961         Expand_Record_Extension.
8962
8963         * sem_disp.adb (Check_Controlling_Formals): Improve error message for
8964         primitive operations of potentially distributed object types that have
8965         non-controlling anonymous access formals.
8966
8967         * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
8968         subprogram.
8969         New implementation of expansion for remote access-to-subprogram types,
8970         based on the RACW infrastructure.
8971         This version of sem_dist is compatible with PolyORB/DSA as well as
8972         GLADE.
8973
8974         * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
8975         Asynchrronous that applies to a remote access-to-subprogram type, mark
8976         the underlying RACW type as asynchronous.
8977
8978         * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
8979          __gnat_using_gnu_linker to 1.
8980
8981         * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
8982         g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
8983         GNAT.Perfect_Hash_Generators, and remove the empty
8984         GNAT.Perfect_Hash package.
8985
8986         * atree.adb: Minor reformatting
8987
8988         * exp_ch3.adb (Expand_Derived_Record): Rename to
8989         Expand_Record_Extension.
8990         (Build_Record_Init_Proc.Build_Assignment): The default expression in
8991         a component declaration must remain attached at that point in the
8992         tree so New_Copy_Tree copies it if the enclosing record type is derived.
8993         It is therefore necessary to take a copy of the expression when building
8994         the corresponding assignment statement in the init proc.
8995         As a side effect, in the case of a derived record type, we now see the
8996         original expression, without any rewriting that could have occurred
8997         during expansion of the ancestor type's init proc, and we do not need
8998         to go back to Original_Node.
8999
9000         * exp_ch3.ads (Expand_Derived_Record): Rename to
9001         Expand_Record_Extension.
9002
9003         * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
9004         Returns the RACW type used to implement a remote access-to-subprogram
9005         type.
9006         (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
9007         New subprograms. Used to create a proxy tagged object for a remote
9008         subprogram. The proxy object is used as the designated object
9009         for RAS values on the same partition (unless All_Calls_Remote applies).
9010         (Build_Get_Unique_RP_Call): New subprogram. Build a call to
9011         System.Partition_Interface.Get_Unique_Remote_Pointer.
9012         (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
9013         Renamed from Add_RAS_*_Attribute.
9014         (Add_Receiving_Stubs_To_Declarations): Generate a table of local
9015         subprograms.
9016         New implementation of expansion for remote access-to-subprogram types,
9017         based on the RACW infrastructure.
9018
9019         * exp_dist.ads (Copy_Specification): Update comment to note that this
9020         function can copy the specification from either a subprogram
9021         specification or an access-to-subprogram type definition.
9022
9023 2004-09-09  Ed Schonberg  <schonberg@gnat.com>
9024
9025         * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
9026         in an instance, between an explicit subprogram an one inherited from a
9027         type derived from an actual.
9028
9029         * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
9030         add a polling call if the subprogram is to be inlined by the back-end,
9031         to avoid repeated calls with multiple inlinings.
9032
9033         * checks.adb (Apply_Alignment_Check): If the expression in the address
9034         clause is a call whose name is not a static entity (e.g. a dispatching
9035         call), treat as dynamic.
9036
9037 2004-09-09  Robert Dewar  <dewar@gnat.com>
9038
9039         * g-trasym.ads: Minor reformatting
9040
9041         * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
9042         packed arrays, since unused bits are expected to be zero for a
9043         comparison.
9044
9045 2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>
9046
9047         * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
9048         comment.
9049
9050 2004-09-09  Pascal Obry  <obry@gnat.com>
9051
9052         * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
9053         enable map file generation. Add the right option to generate the map
9054         file if Map_File is set to True.
9055
9056         * gnatdll.adb (Gen_Map_File): New variable.
9057         (Syntax): Add info about new -m (Map_File) option.
9058         (Parse_Command_Line): Add support for -m option.
9059         (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
9060         Minor reformatting.
9061
9062 2004-09-09  Laurent Pautet  <pautet@act-europe.fr>
9063
9064         * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
9065         new gnatdist implementation.
9066         Define a subpackage isolating the output routines specific to this
9067         verbose mode.
9068
9069 2004-09-09  Joel Brobecker  <brobecker@gnat.com>
9070
9071         * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
9072
9073         * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
9074
9075 2004-09-09  Cyrille Comar  <comar@act-europe.fr>
9076
9077         * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
9078         internal unit.
9079
9080         * opt.ads: Add Ada_Version_Runtime constant used to decide which
9081         version of the language is used to compile the run time.
9082
9083 2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>
9084
9085         * sem_util.adb (Requires_Transient_Scope): Re-enable handling
9086         of variable length temporaries for function return now that the
9087         back-end and gigi support it.
9088
9089 2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9090
9091         * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
9092
9093         * trans.c (struct stmt_group): Delete field GLOBAL.
9094         (gnat_init_stmt_group): Do not initialize it.
9095         (call_to_gnu): Use save_expr, not protect_multiple_eval.
9096         (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
9097         (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
9098         (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
9099         (start_stmt_group): Likewise.
9100         (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
9101
9102         * utils2.c (ggc.h): Include.
9103         (build_call_raise): Call build_int_cst, not build_int_2.
9104
9105         * utils.c (gnat_init_decl_processing): Fix arg to
9106         build_common_tree_nodes.
9107         (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
9108         (gnat_define_builtin): Set built_in_decls.
9109         (init_gigi_decls): Call build_int_cst, not build_int_2.
9110
9111         * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
9112         (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
9113         (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
9114         (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
9115         SET_TYPE_MODULE): Use them.
9116         (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
9117         (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
9118         (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
9119         SET_TYPE_ADA_SIZE): Likewise.
9120         (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
9121         (DECL_CONST_CORRESPONDING_VAR,
9122         SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
9123         (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
9124         (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
9125         (TYPE_RM_SIZE_NUM): New macro.
9126         (TYPE_RM_SIZE): Modified to use above.
9127
9128         * cuintp.c: (build_cst_from_int): New function.
9129         (UI_To_gnu): Use it.
9130
9131         * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
9132         (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
9133         (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
9134         MIN_EXPR for the size, copy it into new.
9135
9136 2004-09-01  Robert Dewar  <dewar@gnat.com>
9137
9138         * exp_ch6.adb (Expand_Call): Properly handle validity checks for
9139         packed indexed component where array is an IN OUT formal. This
9140         generated garbage code previously.
9141
9142         * gnat_ugn.texi: Document -fverbose-asm
9143
9144         * gnat-style.texi: Minor updates (note that boolean constants and
9145         variables are joined with AND/OR rather than short circuit forms).
9146
9147 2004-09-01  Ed Schonberg  <schonberg@gnat.com>
9148
9149         * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
9150         it is an upward conversion of an untagged type with no representation
9151         change.
9152
9153 2004-09-01  Thomas Quinot  <quinot@act-europe.fr>
9154
9155         * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
9156         System.Partition_Interface.
9157
9158         * checks.adb (Apply_Access_Checks): Do not generate checks when
9159         expander is not active (but check for unset reference to prefix of
9160         dereference).
9161
9162         * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
9163         pragma Debug as an if statement with a constant condition, for
9164         consistent treatment of entity references contained within the
9165         enclosed procedure call.
9166
9167 2004-09-01  Vincent Celier  <celier@gnat.com>
9168
9169         * bindgen.adb: (Set_EA_Last): New procedure
9170         (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
9171         Set_EA_Last.
9172         (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
9173         (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
9174         linked without errors.
9175         (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
9176         ST and EA.
9177         (Gen_Exception_Table_C): Correct same bugs
9178
9179         * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
9180
9181         * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
9182         on Windows, make sure that the drive letter is in upper case.
9183
9184         * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
9185         Windows, when the drive letter is added and Case_Sensitive is True, the
9186         drive letter is forced to upper case.
9187
9188         * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
9189         to Options_2 for the call to MLib.Utl.Gcc.
9190
9191         * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
9192         directory separator when defining BASE_DIR.
9193
9194 2004-09-01  Pascal Obry  <obry@gnat.com>
9195
9196         * gprcmd.adb (Extend): Do not output trailing directory separator. This
9197         is not needed and it confuses Windows GNU/make which does not report
9198         directory terminated by a slash as a directory.
9199         (gprcmd): Idem for "pwd" internal command.
9200
9201         * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
9202         target names rewrite to fix regressions with recent version of
9203         GNU/make. Starting with GNU/make 3.80 the pipe character was not
9204         handled properly anymore.
9205
9206 2004-09-01  Andreas Schwab  <schwab@suse.de>
9207
9208         * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
9209         * raise.c [!IN_RTS]: Undef abort.
9210
9211 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
9212
9213         * utils2.c (build_allocator): Use ssize_int.
9214
9215         * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
9216
9217 2004-08-27  Andreas Schwab  <schwab@suse.de>
9218
9219         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
9220
9221 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
9222             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9223
9224         * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
9225
9226 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
9227
9228         * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
9229         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
9230         * utils.c (init_gigi_decls): Likewise.
9231         * utils2.c (build_call_raise, build_allocator): Likewise.
9232
9233 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
9234
9235         * utils.c (gnat_init_decl_processing): Adjust
9236         build_common_tree_nodes call.
9237
9238 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
9239
9240         * utils2.c (build_allocator): Use build_int_cst for negative
9241         size types.
9242
9243 2004-08-18  Richard Henderson  <rth@redhat.com>
9244
9245         * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
9246
9247 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
9248
9249         * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
9250         call.s
9251         * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
9252         (gnat_to_gnu): Likewise.
9253
9254 2004-08-16  Pascal Obry  <obry@gnat.com>
9255
9256         * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
9257         backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
9258         option and not mdll anymore. Update comment.
9259
9260 2004-08-16  Pascal Obry  <obry@gnat.com>
9261
9262         * bld.adb (Put_Include_Project): Properly handle directory separators
9263         on Windows.
9264
9265 2004-08-16  Ed Schonberg  <schonberg@gnat.com>
9266
9267         * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
9268         decreasing the number of allocated junk nodes while searching for the
9269         appropriate subprogram.
9270
9271 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
9272
9273         * cuintp.c (UI_To_gnu): Use build_int_cst..
9274         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
9275         * utils.c (init_gigi_decls): Likewise.
9276         * utils2.c (build_call_raise): Likewise.
9277
9278 2004-08-13  Olivier Hainque  <hainque@act-europe.fr>
9279
9280         * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
9281         for a global aliased object with a variable size and an unconstrained
9282         nominal subtype, pretend there is no initializer if the one we have is
9283         incomplete, and avoid referencing an inexistant component in there. The
9284         part we have will be rebuilt anyway and the reference may confuse
9285         further operations.
9286
9287 2004-08-13  Thomas Quinot  <quinot@act-europe.fr>
9288
9289         * einfo.ads: Minor reformatting
9290
9291         * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
9292         restrictions in the ALI if we only want to warn about violations.
9293
9294 2004-08-13  Vincent Celier  <celier@gnat.com>
9295
9296         * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
9297         when creating a new Unit_Record in table Units.
9298
9299         * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
9300         that are violated, if any.
9301
9302         * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
9303         add directory separator if path already ends with a directory separator.
9304
9305 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
9306
9307         * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
9308         unit, this is an attempt to inline a construct that is not available in
9309         the current restricted mode, so abort rather than trying to continue.
9310
9311         * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
9312         discriminants that rename those of the parent, recover names of
9313         original discriminants for the constraint on the full view of the
9314         parent.
9315         (Complete_Private_Subtype): Do not create a subtype declaration if the
9316         subtype is an itype.
9317
9318         * gnat_rm.texi: Added section on implementation of discriminated
9319         records with default values for discriminants.
9320
9321 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
9322
9323         PR ada/15601
9324         * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
9325         the second operand is overloaded.
9326
9327 2004-08-10  Richard Henderson  <rth@redhat.com>
9328
9329         * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
9330         add __builtin_alloca.
9331
9332 2004-08-10  Richard Henderson  <rth@redhat.com>
9333
9334         * config-lang.in (boot_language): Yes.
9335
9336 2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
9337
9338         * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
9339         from complaining on potential uninitialized reference.
9340         Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
9341         new specification and test explicitly for non-zero return value.
9342
9343         * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
9344         returning C.int, to avoid using a derived boolean type.
9345
9346         * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
9347         Duplicate_Subexpr_No_Checks in preference to direct use of
9348         Remove_Side_Effects and New_Copy_Tree.
9349         Clear Comes_From_Source on prefix of 'Size attribute reference.
9350
9351         * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
9352         g-socthi-vxworks.adb: Change calls to
9353         GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
9354         and test explicitly for non-zero return value.
9355
9356         * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
9357         (Is_Socket_In_Set): Declare imported function as returning C.int, to
9358         avoid using a derived boolean type.
9359
9360 2004-08-09  Albert Lee  <lee@gnat.com>
9361
9362         * system-irix-n32.ads: Refine tasking priority constants for IRIX.
9363
9364 2004-08-09  Pascal Obry  <obry@gnat.com>
9365
9366         * gnat_ugn.texi: Document new way to build DLLs on Windows using
9367         GCC's -shared option.
9368
9369         * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
9370         Options_2 parameter (options put after object files).
9371
9372 2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
9373
9374         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
9375         ignore overflows on low and high bounds of an index to also account for
9376         differences in signedness between sizetype and gnu_index_subtype.
9377         These are as legitimate as the ones caused by a lower TYPE_PRECISION
9378         on sizetype.
9379
9380 2004-08-09  Robert Dewar  <dewar@gnat.com>
9381
9382         * s-solita.ads, s-solita.adb: Minor reformatting
9383
9384         * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
9385         Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
9386         obsolescent section
9387         Add note that No_Implicit_Conditionals does not suppress
9388         run time constraint checks.
9389
9390         * vms_conv.ads: Minor reformatting
9391
9392         * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
9393         and necessary for following change).
9394         (Mark): Return new format Mark_Id containing sec stack address
9395         (Release): Use sec stack address from Mark_Id avoiding Self call
9396
9397         * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
9398         pointer (cleanup and necessary for following change).
9399         Define Mark_Id as record containing address of secondary stack, that way
9400         Release does not need to find the stack again, decreasing the number of
9401         calls to Self and improving efficiency.
9402
9403         * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
9404
9405         * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
9406         case variable into the individual case branches when possible.
9407
9408         * sem_ch11.adb: Minor reformatting
9409
9410         * prj.ads: Correct spelling of suffixs
9411
9412         * prj-nmsc.adb: Minor reformatting
9413         Correct spelling suffixs throughout (also in identifiers)
9414
9415         * freeze.adb: Minor spelling correction
9416
9417         * exp_ch2.adb: Cleanups to handling of Current_Value
9418         (no functional effect).
9419
9420         * bld.adb: Correct spelling of suffixs
9421
9422         * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
9423
9424 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
9425
9426         PR ada/15408
9427
9428         * sem_ch7.adb (Install_Private_Declarations): In the body of the
9429         package or of a child, private entities are both immediately_visible
9430         and not hidden.
9431
9432 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
9433
9434         * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
9435         there are no range checks on the value of the literal.
9436
9437         * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
9438         wrapped is the triggering alternative of an asynchronous select, action
9439         statements mustbe inserted before the select itself.
9440
9441         * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
9442         case where the prefix is a protected function call.
9443         (Resolve_Attribute, case 'Access): The attribute reference on a
9444         subprogram is legal in a generic body if the subprogram is declared
9445         elsewhere.
9446
9447 2004-08-09  Vincent Celier  <celier@gnat.com>
9448
9449         * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
9450         languages, otherwise building the library may fail with unresolved
9451         symbols.
9452         (Compile_Sources): Do not build libraries if -c switch is used
9453
9454         * gnatlink.adb (Process_Args): New switches -M and -Mmap
9455         (Write_Usage): If map file creation is supported, output new switches
9456         -M and -Mmap.
9457         (Gnatlink): When -M is specified, add the necessary switch(es) to the
9458         gcc call, when supported.
9459
9460         * Makefile.in: Added indepsw.o to the object list for gnatlink
9461         Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
9462
9463         * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
9464         indepsw.adb, indepsw.ads: New files.
9465
9466 2004-08-09  Bernard Banner  <banner@gnat.com>
9467
9468         * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
9469
9470         * Makefile.in: add section for vxworks x86
9471
9472 2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
9473
9474         * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
9475         per-object constrained components where the discriminant is of an
9476         Access type.
9477         (Build_Record_Init_Proc): Add condition to prevent the inheritance of
9478         the parent initialization procedure for derived Unchecked_Unions.
9479         Instead, derived Unchecked_Unions build their own initialization
9480         procedure.
9481         (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
9482         Check the body of the subprogram for details.
9483         (Freeze_Record_Type): Prevent the inheritance of discriminant checking
9484         functions for derived Unchecked_Union types by introducing a condition.
9485         Allow the creation of TSS equality functions for Unchecked_Unions.
9486         (Make_Eq_Case): Rename formal parameter Node to E in function signature.
9487         Add formal parameter Discr to function signature. Discr is used to
9488         control the generated case statement for Unchecked_Union types.
9489         (Make_Eq_If): Rename formal parameter Node to E in function signature.
9490
9491         * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
9492         Unchecked_Unions.
9493         Check the body of the subprogram for details.
9494         (Expand_Composite_Equality): Augment composite type equality to include
9495         correct handling of Unchecked_Union components.
9496         (Expand_N_In): Add condition to detect illegal membership tests when the
9497         subtype mark is a constrained Unchecked_Union and the expression lacks
9498         inferable discriminants, and build a Raise_Program_Error node.
9499         (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
9500         to detect types that contain components of unconstrained Unchecked_Union
9501         subtype. Add condition to detect equality between types that have an
9502         unconstrained Unchecked_Union component, and build a Raise_Program_Error
9503         node. Add condition to detect equality between Unchecked_Union types
9504         that lack inferable discriminants, and build a Raise_Program_Error node.
9505         Otherwise build a TSS equality function call.
9506         (Expand_N_Type_Conversion): Add condition to detect illegal conversions
9507         from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
9508         with the operand lacking inferable discriminants, and build a Raise_
9509         Program_Error node.
9510         (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
9511         composite equality.
9512         (Has_Inferable_Discriminants): Implement new predicate for objects and
9513         expressions of Unchecked_Union type. Check the body of subprogram for
9514         details.
9515         (Has_Unconstrained_UU_Components): Add function
9516         Component_Is_Unconstrained_UU. It is used to detect whether a single
9517         component is of an unconstrained Unchecked_Union subtype. Add function
9518         Variant_Is_Unconstrained_UU. It is used to detect whether a single
9519         component inside a variant is of an unconstrained Unchecked_Union type.
9520
9521         * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
9522         inferred discriminant values. Add condition to generate a case
9523         statement with an inferred discriminant as the switch.
9524         (Make_Component_List_Assign): Introduce a Boolean flag that determines
9525         the behaviour of the subprogram in the presence of an Unchecked_Union.
9526         Add condition to trigger the usage of the inferred discriminant value
9527         as the generated case statement switch.
9528         (Make_Field_Assign): Introduce a Boolean flag that determines the
9529         behaviour of the subprogram in the presence of an Unchecked_Union. Add
9530         condition to trigger the usage of the inferred discriminant value as
9531         the right-hand side of the generated assignment.
9532
9533         * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
9534         parameter generation when dealing with Unchecked_Unions.
9535
9536         * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
9537         checks for Unchecked_Unions.
9538
9539         * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
9540
9541         * exp_attr.adb (Expand_N_Attribute_Reference): Produce
9542         Raise_Program_Error nodes for the execution of Read and Write
9543         attributes of Unchecked_Union types and the execution of Input and
9544         Output attributes of Unchecked_Union types that lack default
9545         discriminant values.
9546
9547         * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
9548         Unchecked_Union. Add procedure Check_Component. It is used to inspect
9549         per-object constrained components of Unchecked_Unions for being
9550         Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
9551         check individual components withing a variant.
9552
9553         * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
9554         comparison of Unchecked_Unions.
9555         (Resolve_Equality_OP): Remove guard that prevents equality between
9556         Unchecked_Unions.
9557
9558         * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
9559         of component subtypes for Unchecked_Union components.
9560         (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
9561         since it is the actual subtype.
9562
9563         * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
9564         pass of Unchecked_Union subtypes as generic actuals to formal types
9565         that lack known_discriminant_parts or that are derived Unchecked_Union
9566         types, and do nothing. In any other case, produce an error message.
9567
9568         * sem_ch3.adb (Analyze_Component_Declaration): Add function
9569         Contains_POC. It determines whether a constraint uses the discriminant
9570         of an enclosing record type.
9571         Add condition to detect per-object constrained component and set the
9572         appropriate flag.
9573         (Derived_Type_Declaration): Remove guard that prevents derivation from
9574         Unchecked_Union types.
9575         (Process_Subtype): Remove quard that prevents the creation of Unchecked_
9576         Union subtypes.
9577
9578         * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
9579         references to Unchecked_Union discriminants.
9580
9581         * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
9582         formal generation when dealing with Unchecked_Unions.
9583         (Set_Actual_Subtypes): Add condition to prevent generation of actual
9584         subtypes for Unchecked_Unions.
9585
9586         * sem_ch7.adb (Analyze_Package_Specification): Add procedure
9587         Inspect_Unchecked_Union_Completion. It is used to detect incorrect
9588         completions of discriminated partial views by Unchecked_Unions and
9589         produce an error message.
9590
9591 2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9592
9593         * trans.c (struct stmt_group): New field, GLOBAL.
9594         (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
9595         (struct elab_info): New struct.
9596         (elab_info_list, gnu_elab_proc_stack): New variables.
9597         (Compilation_Unit_to_gnu): New procedure.
9598         (gigi): Call it and also handle elaboration procs we've saved.
9599         (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
9600         global field from parent.
9601         (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
9602         (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
9603         (start_stmt_group): Initialize global field from parent.
9604         (add_decl_expr): Set to global for current statement group.
9605         (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
9606         post.
9607
9608         * utils.c (global_bindings_p): True when no current_function_decl; no
9609         longer check current_binding_level.
9610
9611 2004-08-09  Ben Brosgol  <brosgol@gnat.com>
9612
9613         * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
9614         choice.
9615
9616         * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
9617
9618 2004-08-06  Andreas Schwab  <schwab@suse.de>
9619
9620         * utils.c (gnat_define_builtin): Remove second parameter of
9621         make_decl_rtl.
9622         (begin_subprog_body): Likewise.
9623
9624 2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
9625
9626         * sem_util.adb (Requires_Transient_Scope): Temporarily disable
9627         optimization, not supported by the tree-ssa back-end.
9628
9629 2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
9630
9631         * s-mastop-irix.adb: Update comments.
9632
9633         * a-except.adb (Exception_Information): Raise Constraint_Error if
9634         exception Id is Null_Id.
9635         This is required behavior, which is more reliably and clearly checked
9636         at the top level interface level.
9637
9638 2004-07-26  Javier Miranda  <miranda@gnat.com>
9639
9640         * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
9641         call if a component has no default_expression and the box is used.
9642
9643         * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
9644         default_expression and you use box, it behaves as if you had declared a
9645         stand-alone object.
9646         (Resolve_Record_Aggregate): If a component has no default_expression and
9647         you use box, it behaves as if you had declared a stand-alone object.
9648
9649         * sem_ch10.adb (Install_Siblings): Do not make visible the private
9650         entities of private-with siblings.
9651
9652 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
9653
9654         * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
9655         for a component of an itype, set the parent pointer for analysis,
9656         there is no list in which to insert it.
9657
9658         * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
9659         bona-fide renamings, not for inherited operations.
9660
9661         * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
9662         actual for a formal that is an access parameter, create local
9663         finalization list even if the expression is not an aggregate.
9664
9665 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
9666
9667         PR ada/16213
9668         * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
9669         Diagnose properly illegal subprogram renamings that are library units.
9670
9671 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
9672
9673         PR ada/15588
9674         * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
9675         conversion rewritten as an unchecked conversion, check that original
9676         expression is a variable.
9677
9678         * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
9679         unchecked_conversion, create new node rather than rewriting in place,
9680         to preserve original construct.
9681
9682 2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9683
9684         * gigi.h (gnat_expand_body): Deleted.
9685
9686         * Make-lang.in: (trans.o): Depends on function.h.
9687
9688         * misc.c: (gnat_expand_body): Moved to here.
9689
9690         * trans.c (gnat_expand_body_1): Deleted.
9691         (gnat_expand_body): Moved from here.
9692         (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
9693         (add_stmt): Check for marked visited with global_bindings_p.
9694         (gnat_gimplify_expr, case COMPONENT_REF): New case.
9695         (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
9696
9697         * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
9698         VIEW_CONVERT_EXPR if not operation type.
9699
9700         * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
9701         fat pointer.
9702
9703         * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
9704         changes: reformatting of negation operators, removing unneeded
9705         inequality comparison with zero, converting equality comparisons with
9706         zero to negations, changing int/0/1 to bool/false/true, replace calls
9707         to gigi_abort with abort, and various other similar changes.
9708
9709 2004-07-26  Vincent Celier  <celier@gnat.com>
9710
9711         * gnatcmd.adb (GNATCmd): Add processing for new built-in command
9712         "setup".
9713
9714         * make.adb (Gnatmake): Fail when a library is not present and there is
9715         no object directory.
9716
9717         * mlib-prj.adb (Check_Library): No need to check if the library needs
9718         to be rebuilt if there is no object directory, hence no object files
9719         to build the library.
9720
9721         * opt.ads (Setup_Projects): New Boolean flag.
9722
9723         * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
9724         Location.
9725         Create directory when Kind /= "" and in "gnat setup". Report error if
9726         directory cannot be created.
9727         (Ada_Check): Create library interface copy dir if it does not exist
9728         and we are in "gnat setup".
9729         (Find_Sources): No error if in "gnat setup" and no Ada sources were
9730         found.
9731         (Language_Independent_Check): Create object directory, exec directory
9732         and/or library directory if they do not exist and we are in
9733         "gnat setup".
9734
9735         * vms_conv.ads: (Command_Type): New command Setup.
9736
9737         * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
9738
9739         * vms_data.ads: Add qualifiers/switches for new built-in command
9740         "setup".
9741
9742 2004-07-25  Richard Henderson  <rth@redhat.com>
9743
9744         * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
9745         DECL_IGNORED_P on RESULT_DECL.
9746
9747 2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
9748
9749         * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
9750         allocation and potentially overflowing update with
9751         Tailored_Exception_Information. Use the sec-stack free procedural
9752         interface to output Exception_Information instead.
9753
9754         * a-except.adb (To_Stderr): New subprogram for character, and string
9755         version moved from a-exextr to be visible from other separate units.
9756         (Tailored_Exception_Information): Remove the procedural version,
9757         previously used by the default Last_Chance_Handler and not any more.
9758         Adjust various comments.
9759
9760         * a-exexda.adb: Generalize the exception information procedural
9761         interface, to minimize the use of secondary stack and the need for
9762         local buffers when the info is to be output to stderr:
9763         (Address_Image): Removed.
9764         (Append_Info_Character): New subprogram, checking for overflows and
9765         outputing to stderr if buffer to fill is of length 0.
9766         (Append_Info_String): Output to stderr if buffer to fill is of length 0.
9767         (Append_Info_Address, Append_Info_Exception_Name,
9768         Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
9769         Append_Info_Basic_Exception_Traceback,
9770         Append_Info_Exception_Information): New subprograms.
9771         (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
9772         (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
9773         Exception_Info_Maxlength, Exception_Name_Length,
9774         Exception_Message_Length): New subprograms.
9775         (Exception_Information): Use Append_Info_Exception_Information.
9776         (Tailored_Exception_Information): Use
9777         Append_Info_Basic_Exception_Information.
9778         Export services for the default Last_Chance_Handler.
9779
9780         * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
9781         other separate units.
9782
9783 2004-07-20  Vincent Celier  <celier@gnat.com>
9784
9785         * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
9786
9787 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
9788
9789         * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
9790         emit itype references for the designated types of component types that
9791         are declared outside of the full record declaration, and that may
9792         denote a partial view of that record type.
9793
9794 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
9795
9796         PR ada/15607
9797         * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
9798         which is the designated type in an access component declaration, to the
9799         list of incomplete dependents of the parent type, to avoid elaboration
9800         issues with out-of-scope subtypes.
9801         (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
9802         full view of the parent.
9803
9804 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
9805
9806         PR ada/15610
9807         * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
9808         entities that are hidden, such as references to generic actuals
9809         outside an instance.
9810
9811 2004-07-20  Javier Miranda  <miranda@gnat.com>
9812
9813         * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
9814         support to the new notation.
9815         (Analyze_Selected_Component): Add call to Try_Object_Operation.
9816
9817 2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
9818
9819         * s-taprob.adb: Adding the elaboration code required for initializing
9820         the tasking soft links that are common to the full and the restricted
9821         run times.
9822
9823         * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
9824         restricted run time has been moved to the package
9825         System.Soft_Links.Tasking.
9826
9827         * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
9828         restricted run time has been moved to the package
9829         System.Soft_Links.Tasking.
9830
9831         * Makefile.rtl: Add entry for s-solita.o in run-time library list.
9832
9833         * s-solita.ads, s-solita.adb: New files.
9834
9835 2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9836
9837         * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
9838         Case_Statement_to_gnu): Split off from gnat_to_gnu.
9839         (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
9840         Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
9841         Exception_Handler_to_gnu_zcx): Likewise.
9842
9843 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
9844
9845         * gigi.h (builtin_function): Declare.
9846
9847 2004-07-15  Robert Dewar  <dewar@gnat.com>
9848
9849         * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
9850         reformatting
9851
9852         * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
9853         access values as an example of a warning.
9854
9855         * gnat_rm.texi: Document new attribute Has_Access_Values
9856
9857         * gnat-style.texi: Document that box comments belong on nested
9858         subprograms
9859
9860         * sem_util.ads (Has_Access_Values): Improved documentation
9861
9862         * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
9863
9864         * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
9865         (Process_Interface_Name): Call to this new procedure
9866         (Set_Extended_Import_Export_External_Name): Call to this new procedure
9867
9868         * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
9869
9870         * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
9871
9872         * einfo.ads: Minor comment typo fixed
9873
9874 2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
9875
9876         * snames.adb: Add _atcb.
9877
9878         * snames.ads: Add Name_uATCB.
9879
9880         * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
9881         (in the expanded code) when using the restricted run time.
9882
9883         * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
9884         a in parameter in order to allow ATCBs to be preallocated (in the
9885         expanded code).
9886
9887         * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
9888         order to allow ATCBs to be preallocated. In case of error, the ATCB is
9889         deallocated in System.Tasking.Stages.
9890
9891         * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
9892         order to allow ATCBs to be preallocated.
9893
9894         * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
9895         here. It was previously done in Initialize_ATCB.
9896
9897         * rtsfind.ads: Make the Ada_Task_Control_Block visible.
9898
9899         * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
9900         Restricted run time.
9901
9902         * exp_ch3.adb: When using the Restricted run time, pass the
9903         preallocated Ada_Task_Control_Block when creating a task.
9904
9905 2004-07-15  Ed Schonberg  <schonberg@gnat.com>
9906
9907         * sem_util.adb (Normalize_Actuals): If there are no actuals on a
9908         function call that is itself an actual in an enclosing call, diagnose
9909         problem here rather than assuming that resolution will catch it.
9910
9911         * sem_ch7.adb (Analyze_Package_Specification): If the specification is
9912         the local copy of a generic unit for a formal package, and the generic
9913         is a child unit, install private part of ancestors before compiling
9914         private part of spec.
9915
9916         * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
9917         use scope entities rather than tree structures, to handle properly
9918         parent units that are instances rewritten as bodies for inlining
9919         purposes.
9920
9921         * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
9922         Remove_Parents): Handle properly a parent unit that is an
9923         instantiation, when the unit has been rewritten as a body for inlining
9924         purposes.
9925
9926         * par.adb (Goto_List): Global variable to collect goto statements in a
9927         given unit, for use in detecting natural loops.
9928
9929         * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
9930         use in detecting natural loops.
9931
9932         * par-labl.adb (Find_Natural_Loops): Recognize loops create by
9933         backwards goto's, and rewrite as a infinite loop, to improve locality
9934         of temporaries.
9935
9936         * exp_util.adb (Force_Evaluation): Recognize a left-hand side
9937         subcomponent that includes an indexed reference, to prevent the
9938         generation of copies that would miscompile the desired assignment
9939         statement.
9940         (Build_Task_Image_Decls): Add a numeric suffix to
9941         generated name for string variable, to avoid spurious conflicts with
9942         the name of the type of a single protected object.
9943
9944         * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
9945         loop with an explicit exit statement, to avoid generating an
9946         out-of-range value with 'Succ leading to spurious constraint_errors
9947         when compiling with -gnatVo.
9948
9949 2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
9950
9951         * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
9952         might not be analyzed yet, even if its Etype is already set (case of an
9953         unchecked conversion built using Unchecked_Convert_To, for example).
9954         If the prefix has already been analyzed, this will be a nop anyway.
9955
9956         * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
9957         controller type, or an assignment of a record type with controlled
9958         components, copy only user data, and leave the finalization chain
9959         pointers untouched.
9960
9961 2004-07-15  Vincent Celier  <celier@gnat.com>
9962
9963         * make.adb (Collect_Arguments): Improve error message when attempting
9964         to compile a source not part of any project, when -x is not used.
9965
9966         * prj.ads: (Defined_Variable_Kind): New subtype
9967
9968         * prj-attr.adb (Register_New_Package): Two new procedures to register
9969         a package with or without its attributes.
9970         (Register_New_Attribute): Mew procedure to register a new attribute in a
9971         package.
9972         New attribute oriented subprograms: Attribute_Node_Id_Of,
9973         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
9974         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
9975         Next_Attribute.
9976         New package oriented subprograms: Package_Node_Id_Of,
9977         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
9978
9979         * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
9980         type.
9981         (Package_Node_Id): Now a private, self initialized type
9982         (Register_New_Package): New procedure to register a package with its
9983         attributes.
9984         New attribute oriented subprograms: Attribute_Node_Id_Of,
9985         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
9986         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
9987         Next_Attribute.
9988         New package oriented subprograms: Package_Node_Id_Of,
9989         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
9990
9991         * prj-dect.adb (Parse_Attribute_Declaration,
9992         Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
9993
9994         * prj-makr.adb (Make): Parse existing project file before creating
9995         other files. Fail if there was an error during parsing.
9996
9997         * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
9998         new spec of Prj.Attr.
9999
10000         * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
10001         to new spec of Prj.Attr.
10002
10003 2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10004
10005         * utils2.c: Fix typo in comment.
10006
10007 2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10008
10009         * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
10010         * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
10011
10012 2004-07-14  Andreas Schwab  <schwab@suse.de>
10013
10014         * trans.c (gnat_init_stmt_group): Remove duplicate definition.
10015
10016 2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10017
10018         * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
10019         object type.
10020         (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
10021         TYPE_STUB_DECL.
10022
10023         * misc.c (gnat_types_compatible_p): New function.
10024         (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
10025         (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
10026
10027         * trans.c (gigi): Move processing of main N_Compilation_Unit here.
10028         (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
10029         (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
10030         (mark_visited): Don't mark dummy type.
10031         (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
10032         parameter, we must remove any LJM building from GNU_NAME.
10033         (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
10034         (pos_to_constructor): Use int_const_binop.
10035         (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
10036         PARM_DECL.
10037
10038         * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
10039         (gnat_pushlevel): Set TREE_USE on BLOCK node.
10040         (gnat_install_builtins): Add __builtin_memset.
10041
10042 2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
10043
10044         * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
10045         for a renaming, stabilize the initialization expression if we are at a
10046         local level.  At the local level, uses of the renaming may be performed
10047         by a direct dereference of the initializing expression, and we don't
10048         want possible variables there to be evaluated for every use.
10049
10050         * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
10051         Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
10052         them on the way.  Account for the fact that we may introduce side
10053         effects in the process.
10054
10055 2004-07-13  Richard Henderson  <rth@redhat.com>
10056
10057         * misc.c (default_pass_by_ref): Use pass_by_reference.
10058
10059 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
10060
10061         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
10062         LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
10063
10064 2004-07-08  Richard Henderson  <rth@redhat.com>
10065
10066         * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
10067         commentary.
10068
10069 2004-07-06  Vincent Celier  <celier@gnat.com>
10070
10071         * vms_conv.ads: Minor reformatting.
10072         Alphabetical order for enumerated values of type Command_Type, to have
10073         the command in alphabetical order for the usage.
10074
10075         * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
10076         the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
10077
10078         * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
10079
10080         * makegpr.adb (Global_Archive_Exists): New global Boolean variable
10081         (Add_Archive_Path): Only add the global archive if there is one.
10082         (Build_Global_Archive): Set Global_Archive_Exists depending if there is
10083         or not any object file to put in the global archive, and don't build
10084         a global archive if there is none.
10085         (X_Switches): New table
10086         (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
10087         in the X_Switches table, if any.
10088         (Initialize): Make sure the X_Switches table is empty
10089         (Scan_Arg): Record -X switches in table X_Switches
10090
10091         * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
10092
10093         * make.adb: Minor comment fix
10094
10095         * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
10096         invoked with directory information, add the directory in front of the
10097         path.
10098
10099         * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
10100         invoked with directory information, add the directory in front of the
10101         path.
10102
10103         * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
10104         when Keep_Temporary_Files is False.
10105         (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
10106         directory information, add the directory in front of the path.
10107         When not on VMS, handle new switch -dn before the command to set
10108         Keep_Temporary_Files to True.
10109         (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
10110         everywhere.
10111
10112         * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
10113         invoked with directory information, add the directory in front of the
10114         path.
10115
10116 2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
10117
10118         * snames.ads, snames.adb (Name_Stub): New name for the distributed
10119         systems annex.
10120
10121         * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
10122         New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
10123
10124         * g-socket.adb (To_Timeval): Fix incorrect conversion of
10125         Selector_Duration to Timeval for the case of 0.0.
10126
10127         * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
10128         documentation from Evolve_And_Then.
10129
10130 2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
10131
10132         * s-taprop-tru64.adb, s-taprop-os2.adb,
10133         s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
10134
10135 2004-07-06  Robert Dewar  <dewar@gnat.com>
10136
10137         * s-osinte-hpux.ads, s-osinte-freebsd.ads,
10138         s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
10139         s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
10140         s-interr-sigaction.adb, s-taprop-irix-athread.adb,
10141         s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
10142         s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
10143         s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
10144         s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
10145         a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
10146         a-tags.ads, bindgen.ads, checks.adb, checks.adb,
10147         csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
10148         exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
10149         g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
10150         i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
10151         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
10152         sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
10153         sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
10154         s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
10155         s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
10156         s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
10157         vms_data.ads: Minor reformatting,
10158         Fix bad box comment format.
10159
10160         * gnat_rm.texi: Fix minor grammatical error
10161
10162         * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
10163
10164         * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
10165         more cases of discriminated records to be recognized as not needing a
10166         secondary stack.
10167         (Has_Access_Values): New function.
10168
10169         * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
10170
10171         * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
10172         Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
10173         with LRM terminology).
10174         Change terminology in comments primitive type => elementary type.
10175
10176 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
10177
10178         PR ada/15602
10179         * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
10180         parameters do not impose any requirements on the presence of a body.
10181
10182 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
10183
10184         PR ada/15593
10185         * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
10186         compilation unit and is in an open scope at the point of instantiation,
10187         assume that a body may be present later.
10188
10189 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
10190
10191         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
10192         Improve error message when specified size is not supported.
10193
10194         * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
10195         is never a primitive operation.
10196
10197 2004-07-05  Andreas Schwab  <schwab@suse.de>
10198
10199         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
10200         RECORD_OR_UNION_CHECK.
10201         (TYPE_CONTAINS_TEMPLATE_P): Likewise.
10202
10203 2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
10204
10205         * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
10206         dependency on xgnatugn, instead build it via a submake.
10207         (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
10208
10209 2004-07-04  Richard Henderson  <rth@redhat.com>
10210
10211         * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
10212
10213 2004-07-01  Richard Henderson  <rth@redhat.com>
10214
10215         * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
10216         * utils.c (max_size): Likewise.
10217
10218 2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10219
10220         * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
10221         and rest_of_type_compilation; add arg to create_*_decl.
10222         (annotate_decl_with_node): Deleted.
10223         (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
10224         * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
10225         (get_current_block_context, gnat_pushdecl): New declarations.
10226         (gnat_init_stmt_group): Likewise.
10227         (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
10228         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
10229         (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
10230         (gnat_init): Call gnat_init_stmt_group.
10231         * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
10232         (gnu_pending_elaboration_list): Deleted.
10233         (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
10234         (gigi): Rearrange initialization calls and move some to last above.
10235         (gnat_to_gnu): If statement and not in procedure, go into elab proc.
10236         Delete calls to add_decl_expr; add arg to create_*_decl.
10237         (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
10238         (gnat_to_gnu, case N_Subprogram_Body): Move some code to
10239         begin_subprog_body and call it.
10240         Don't push and pop ggc context.
10241         (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
10242         (add_stmt): Remove handling of DECL_EXPR from here.
10243         If not in function, mark visited.
10244         (add_decl_expr): Put global at top level.
10245         Check for cases of DECL_INITIAL we have to handle here.
10246         (process_type): Add extra arg to create_type_decl.
10247         (build_unit_elab): Rework to just gimplify.
10248         * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
10249         (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
10250         (get_pending_elaborations, pending_elaborations_p): Likewise.
10251         (push_pending_elaborations, pop_pending_elaborations): Likewise.
10252         (get_elaboration_location, insert_elaboration_list): Likewise.
10253         (gnat_binding_level): Renamed from ada_binding_level.
10254         (init_gnat_to_gnu): Don't clear pending_elaborations.
10255         (global_bindings_p): Treat as global if no current_binding_level.
10256         (set_current_block_context): New function.
10257         (gnat_pushdecl): Renamed from pushdecl; major rework.
10258         All callers changed.
10259         (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
10260         (finish_record_type): Call call pushdecl for stub decl.
10261         (function_nesting_depth): Deleted.
10262         (begin_subprog_body): Delete obsolete code.
10263         * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
10264
10265 2004-06-28  Robert Dewar  <dewar@gnat.com>
10266
10267         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
10268         mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
10269         mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
10270         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
10271         a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
10272
10273         * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
10274         deal with problem of inefficient slices on machines with strict
10275         alignment, when the slice is a component of a composite.
10276
10277         * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
10278         machines, we need the check there as well.
10279
10280 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
10281
10282         * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
10283         determine safe copying direction for overlapping slice assignments
10284         when component is controlled.
10285
10286         * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
10287         formal derived type in the actual for a formal package are visible in
10288         the enclosing instance.
10289
10290 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
10291
10292         PR ada/15600
10293         * sem_util.adb (Trace_Components): Diagnose properly an illegal
10294         circularity involving a private type whose completion includes a
10295         self-referential component.
10296         (Enter_Name): Use Is_Inherited_Operation to distinguish a source
10297         renaming or an instantiation from an implicit derived operation.
10298
10299 2004-06-28  Pascal Obry  <obry@gnat.com>
10300
10301         * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
10302         DLL.
10303         (Library_File_Name_For): Idem.
10304
10305 2004-06-28  Matthew Gingell  <gingell@gnat.com>
10306
10307         * g-traceb.ads: Add explanatory note on the format of addresses
10308         expected by addr2line.
10309
10310 2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
10311
10312         * Makefile.in: Force debugging information on s-tasdeb.adb,
10313         a-except.adb and s-assert.adb needed by the debugger.
10314
10315 2004-06-28  Vincent Celier  <celier@gnat.com>
10316
10317         * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
10318         Need_To_Build_Lib.
10319         (Gnatmake): Ditto.
10320
10321         * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
10322
10323         * prj.adb: Minor reformatting
10324         (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
10325
10326         * prj.ads: Comment updates
10327         Minor reformatting
10328         (Project_Data): Change Flag1 to Need_To_Build_Lib.
10329         Remove Flag2: not used.
10330
10331         * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
10332         declaration.
10333
10334         * gnat_ugn.texi: Put a "null;" declaration in one project file example
10335
10336         * gnat_rm.texi: Document Empty declarations "null;".
10337
10338         * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
10339         front of the linker options.
10340         (Link_Foreign): Put the global archives and the libraries in front of
10341         the linker options.
10342
10343 2004-06-28  Javier Miranda  <miranda@gnat.com>
10344
10345         * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
10346         (RTU_Loaded): Code cleanup
10347         (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
10348         withed predefined units.
10349
10350         * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
10351         explicitly withed predefined units.
10352         Fix typo in comment
10353
10354         * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
10355         explicitly withed predefined units.
10356
10357 2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10358
10359         * ada-tree.def (DECL_STMT): Deleted.
10360         * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
10361         (DECL_STMT_VAR): Deleted.
10362         * decl.c: add_decl_stmt now add_decl_expr.
10363         * gigi.h: Likewise.
10364         * trans.c: Likewise.
10365         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
10366         (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
10367         (add_stmt): Only handle padded type here.
10368         (add_stmt_with_node): Allow gnat_node to not be present.
10369         (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
10370         (gnat_gimplify_stmt, case DECL_STMT): Deleted.
10371         (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
10372         make a SAVE_EXPR for the entire fat pointer.
10373         * utils.c (pushdecl): Walk a DECL_EXPR in global case.
10374         (create_index_type): Make a DECL_EXPR.
10375         (end_subprog_body): Don't call allocate_struct_function here but
10376         do clear cfun.
10377
10378 2004-06-25  Pascal Obry  <obry@gnat.com>
10379
10380         * makegpr.adb (Build_Library): Remove parameter Lib_Address and
10381         Relocatable from Build_Dynamic_Library call.
10382
10383         * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
10384         Relocatable are now synonym.
10385
10386         * Makefile.in: Use s-parame-mingw.adb on MingW platform.
10387
10388         * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
10389         Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
10390         call.
10391
10392         * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
10393         Lib_Address and Relocatable.
10394         (Default_DLL_Address): Removed.
10395
10396         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
10397         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
10398         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
10399         (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
10400         (Default_DLL_Address): Removed.
10401
10402         * mlib-tgt-mingw.adb: Ditto.
10403         (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
10404
10405         * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
10406         the initial thread stack size.
10407
10408         * a-strmap.ads: Move package L to private part as it is not used in
10409         the spec. Found while reading code.
10410
10411 2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
10412
10413         * tracebak.c: Introduce support for a GCC infrastructure based
10414         implementation of __gnat_backtrace.
10415
10416         * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
10417         any more. Use accessors instead. This eases maintenance and relaxes
10418         some alignment constraints.
10419         (_GNAT_Exception structure): Remove the Ada specific fields
10420         (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
10421         a-exexpr.adb.
10422         (is_handled_by, __gnat_eh_personality): Replace component references to
10423         exception structure by use of the new accessors.
10424
10425         * init.c (__gnat_initialize): Adjust comments to match the just
10426         reverted meaning of the -static link-time option.
10427
10428         * adaint.c (convert_addresses): Arrange not to define a stub for
10429         mips-irix any more, as we now want to rely on a real version from a
10430         recent libaddr2line.
10431
10432         * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
10433         the personality routine can use them and not have to rely on a C
10434         counterpart of the record anymore. This simplifies maintenance and
10435         relaxes the constraint of having Standard'Maximum_Alignment match
10436         BIGGEST_ALIGNMENT.
10437         Update comments, and add a section on the common header alignment issue.
10438
10439 2004-06-25  Geert Bosch  <bosch@gnat.com>
10440
10441         * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
10442         polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
10443
10444 2004-06-25  Robert Dewar  <dewar@gnat.com>
10445
10446         * gnat_rm.texi: Fix section on component clauses to indicate that the
10447         restriction on byte boundary placement still applies for bit packed
10448         arrays.
10449         Add comment on stack usage from Initialize_Scalars
10450
10451         * gnat_ugn.texi: Add documentation for -gnatyLnnn
10452
10453         * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
10454         limiting nesting level.
10455
10456         * usage.adb: Add line for -gnatyLnnn switch
10457
10458         * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
10459         sem_ch13.adb, exp_aggr.adb: Minor reformatting
10460
10461         * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
10462         type as well as on the subtype. This corrects a problem in freeze in
10463         setting alignments of atomic types.
10464
10465         * sem_eval.ads: Minor comment typo fixed
10466
10467         * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
10468         level.  Minor reformatting.
10469
10470         * fname.adb (Is_Predefined_File_Name): Require a letter after the
10471         minus sign. This means that file names like a--b.adb will not be
10472         considered predefined.
10473
10474         * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
10475         record Test new flag and give diagnostic for bad component clause.
10476         (Freeze_Entity): Set alignment of array from component alignment in
10477         cases where this is safe to do.
10478
10479         * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
10480         arrays.
10481
10482         * cstand.adb: (Create_Standard): Set alignment of String to 1
10483
10484         * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
10485
10486         * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
10487         code in the common constrained array cases.
10488
10489         * a-storio.adb: Change implementation to avoid possible alignment
10490         problems on machines requiring strict alignment (data should be moved
10491         as type Buffer, not type Elmt).
10492
10493         * checks.adb (Apply_Array_Size_Check): Improve these checks by
10494         killing the overflow checks which we really do not need (64-bits is
10495         enough).
10496
10497 2004-06-25  Vincent Celier  <celier@gnat.com>
10498
10499         * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
10500         (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
10501         inconditionally for the main project.
10502         (Recursive_Add_Archives.Add_Archive_Path): New procedure
10503         (Link_Executables.Check_Time_Stamps): New procedure
10504         (Link_Executables.Link_Foreign): New procedure
10505         Changes made to reduce nesting level of this package
10506         (Check): New procedure
10507         (Add_Switches): When not in quiet output, check that a switch is not
10508         the concatenation of several valid switches. If it is, issue a warning.
10509         (Build_Global_Archive): If the global archive is rebuilt, linking need
10510         to be done.
10511         (Compile_Sources): Rebuilding a library archive does not imply
10512         rebuilding the global archive.
10513         (Build_Global_Archive): New procedure
10514         (Build_Library): New name for Build_Archive, now only for library
10515         project
10516         (Check_Archive_Builder): New procedure
10517         (Create_Global_Archive_Dependency_File): New procedure
10518         (Gprmake): Call Build_Global_Archive before linking
10519         * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
10520         throughout.
10521         (Scan_Arg): Display the Copyright notice when -v is used
10522
10523         * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
10524         for gnatls.
10525
10526         * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
10527         COMPILE.
10528         Add new GNAT LIST qualifier /FILES=
10529         Added qualifier /DIRECTORY= to GNAT METRIC
10530         Added qualifier /FILES= to GNAT METRIC
10531         Added qualifier /FILES to GNAT PRETTY
10532
10533         * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
10534         to take into account both versions of the switch.
10535
10536         * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
10537         always be the last switch to the gcc driver. Disable switch storing so
10538         that switches automatically added by the gcc driver are not put in the
10539         ALI file.
10540
10541         * prj.adb (Project_Empty): Take into account changes in components of
10542         Project_Data.
10543
10544         * prj.ads (Languages_Processed): New enumaration value All_Languages.
10545
10546         * prj.ads (Project_Data): Remove component Lib_Elaboration: never
10547         used. Split Boolean component Ada_Sources_Present in two Boolean
10548         components Ada_Sources_Present and Other_Sources_Present.
10549         Minor reformatting
10550
10551         * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
10552         instead of Sources_Present.
10553         (Set_Ada_Paths.Add.Recursive_Add): Ditto
10554
10555         * prj-nmsc.adb: Minor reformatting
10556         (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
10557         (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
10558         Check_Ada_Naming_Scheme.
10559         Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
10560         throughout.
10561
10562         * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
10563         In_Limited.
10564         Make sure that all cycles where there is at least one "limited with"
10565         are detected.
10566         (Parse_Single_Project): New Boolean parameter In_Limited
10567
10568         * prj-proc.adb (Recursive_Check): When Process_Languages is
10569         All_Languages, call first Prj.Nmsc.Ada_Check, then
10570         Prj.Nmsc.Other_Languages_Check.
10571
10572         * prj-proc.adb (Process): Use Ada_Sources_Present or
10573         Other_Sources_Present (instead of Sources_Present) depending on
10574         Process_Languages.
10575
10576         * lang-specs.h: Keep -g and -m switches in the same order, and as the
10577         last switches.
10578
10579         * lib.adb (Switch_Storing_Enabled): New global Boolean flag
10580         (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
10581         False.
10582         (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
10583         False.
10584
10585         * lib.ads (Disable_Switch_Storing): New procedure.
10586
10587         * make.adb: Modifications to reduce nesting level of this package.
10588         (Check_Standard_Library): New procedure
10589         (Gnatmake.Check_Mains): New procedure
10590         (Gnatmake.Create_Binder_Mapping_File): New procedure
10591         (Compile_Sources.Compile): Add switch -gnatez as the last option
10592         (Display): Never display -gnatez
10593
10594         * Makefile.generic:
10595         When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
10596
10597         * gnatcmd.adb (Check_Project): New function
10598         (Process_Link): New procedure to reduce nesting depth
10599         (Check_Files): New procedure to reduce the nesting depth.
10600         For GNAT METRIC, include the inherited sources in extending projects.
10601         (GNATCmd): When GNAT LS is invoked with a project file and no files,
10602         add the list of files from the sources of the project file. If this list
10603         is too long, put it in a temp text files and use switch -files=
10604         (Delete_Temp_Config_Files): Delete the temp text file that contains
10605         a list of source for gnatpp or gnatmetric, if one has been created.
10606         (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
10607         in the project file is too large, create a temporary text file that
10608         list them and pass it to the tool with "-files=<temp text file>".
10609         (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
10610
10611         * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
10612         generated file is in not in Ada.
10613
10614         * gnatls.adb: Remove all parameters And_Save that are no longer used.
10615         (Scan_Ls_Arg): Add processing for -files=
10616         (Usage): Add line for -files=
10617
10618         * g-os_lib.adb (On_Windows): New global constant Boolean flag
10619         (Normalize_Pathname): When on Windows and the path starts with a
10620         directory separator, make sure that the resulting path will start with
10621         a drive letter.
10622
10623         * clean.adb (Clean_Archive): New procedure
10624         (Clean_Project): When there is non-Ada code, delete the global archive,
10625         the archive dependency files, the object files and their dependency
10626         files, if they exist.
10627         (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
10628
10629 2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
10630
10631         * sinfo.ads: Fix typo in comment.
10632
10633         * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
10634         the TSS for remote access-to-subprogram types, since these TSS are
10635         always present once the type has been analyzed.
10636         (RAS_E_Dereference): Same.
10637
10638         * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
10639         reference raises Bad_Attribute, mark the reference as analyzed so the
10640         node (and any children resulting from rewrites that could have occurred
10641         during the analysis that ultimately failed) is not analyzed again.
10642
10643         * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
10644
10645         * exp_dist.adb: Minor comment fix.
10646
10647         * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
10648         type is an anonymous access type, no unchecked deallocation of the
10649         allocated object can occur. If the object is controlled, attach it with
10650         a count of 1. This allows attachment to the Global_Final_List, if
10651         no other relevant list is available.
10652         (Get_Allocator_Final_List): For an anonymous access type that is
10653         the type of a discriminant or record component, the corresponding
10654         finalisation list is the one of the scope of the type.
10655
10656 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
10657
10658         * sem_ch3.adb (Replace_Type): When computing the signature of an
10659         inherited subprogram, use the first subtype if the derived type
10660         declaration has no constraint.
10661
10662         * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
10663         before applying previous optimization. Minor code cleanup.
10664
10665         * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
10666         placed at the beginning of an unpacked record without explicit
10667         alignment, a slice of it will be aligned and does not need a copy when
10668         used as an actual.
10669
10670 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
10671
10672         PR ada/15591
10673         PR ada/15592
10674         * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
10675         reference is written with expressions mimicking parameters.
10676
10677 2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
10678
10679         PR ada/15589
10680         * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
10681         STEP 2a. The constraints of a full type declaration of a derived record
10682         type are checked for conformance with those declared in the
10683         corresponding private extension declaration. The message
10684         "not conformant with previous declaration" is emitted if an error is
10685         detected.
10686
10687 2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
10688
10689         * g-traceb.ads: Document the need for -E binder switch in the spec.
10690
10691         * g-trasym.ads: Document the need for -E binder switch in the spec.
10692
10693 2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
10694
10695         * sem_prag.adb: Add handling of pragma Detect_Blocking.
10696
10697         * snames.h, snames.ads, snames.adb: Add entry for pragma
10698         Detect_Blocking.
10699
10700         * s-rident.ads: Change reference to pragma Detect_Blocking.
10701
10702         * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
10703         system.ads.
10704
10705         * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
10706         to indicate whether pragma Detect_Blocking is active.
10707
10708         * par-prag.adb: Add entry for pragma Detect_Blocking.
10709
10710         * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
10711         of not handling WITH.
10712         Note that this replaces the previous update which was incorrect.
10713
10714 2004-06-25  Javier Miranda  <miranda@gnat.com>
10715
10716         * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
10717         use-clauses to have a clean environment.
10718
10719         * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
10720         the installation of the use-clauses to stablish a clean environment in
10721         case of compilation of a separate unit; otherwise the call to
10722         use_one_package is protected by the barrier Applicable_Use.
10723
10724         * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
10725         the installation of the use-clauses to stablish a clean environment in
10726         case of compilation of a separate unit.
10727         (End_Use_Clauses): Minor comment cleanup.
10728
10729 2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
10730
10731         * gnat_ugn.texi: Add description of the gnatpp 'files' switch
10732
10733 2004-06-23  Richard Henderson  <rth@redhat.com>
10734
10735         * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
10736
10737 2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10738
10739         * decl.c (elaborate_expression, elaborate_expression_1): Arguments
10740         now bool instead of int.
10741         (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
10742         * trans.c (gnu_switch_label_stack): New function.
10743         (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
10744         elaboration of renamed entity returns.
10745         (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
10746         (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
10747         (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
10748         (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
10749         DECL_SIZE_UNIT and simplify variable-sized case.
10750         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
10751         Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
10752         (gnat_stabilize_reference): Add arg to COMPONENT_REF.
10753         (build_unit_elab): Disable for now.
10754         * utils.c (mark_visited): New function.
10755         (pushdecl): Walk tree to call it for global decl.
10756         (update_pointer_to): Update all variants of pointer and ref types.
10757         Add arg to COMPONENT_REF.
10758         (convert): Likewise.
10759         Move check for converting between variants lower down.
10760         * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
10761         (build_allocator): Don't force type of MODIFY_EXPR.
10762         (gnat_mark_addressable, case VAR_DECL): Unconditionally call
10763         put_var_into_stack.
10764
10765 2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10766
10767         * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
10768         * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
10769         * decl.c (gnat_to_gnu_entity): Also set force_global for imported
10770         subprograms.
10771         * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
10772         all callers changed.
10773         (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
10774         the way that EXIT_STMT finds the loop label.
10775         (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
10776         (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
10777         (add_stmt): Use annotate_with_locus insted of setting directly.
10778         (pos_to_construct): Set TREE_PURPOSE of each entry to index.
10779         (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
10780         * utils.c (gnat_install_builtins): Install __builtin_memcmp.
10781         (build_vms_descriptor): Add extra args to ARRAY_REF.
10782         (convert): Use VIEW_CONVERT_EXPR between aggregate types.
10783         * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
10784         New cases.
10785         (build_binary_op): Don't make explicit CONVERT_EXPR.
10786         Add extra rgs to ARRAY_REF.
10787
10788 2004-06-14  Pascal Obry  <obry@gnat.com>
10789
10790         * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
10791         Windows.  Fix minor typo.
10792
10793         * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
10794         which is now supported on Windows. With this implementation using the
10795         Library Project feature is no different on Windows than on UNIX.
10796
10797 2004-06-14  Vincent Celier  <celier@gnat.com>
10798
10799         * makegpr.adb (Compile_Sources): Nothing to do when there are no
10800         non-Ada sources.
10801
10802         * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
10803
10804         * prj-part.adb (Parse_Single_Project): When a duplicate project name is
10805         found, show the project name and the path of the previously parsed
10806         project file.
10807
10808 2004-06-14  Ed Schonberg  <schonberg@gnat.com>
10809
10810         * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
10811         array, avoid copying the actual before the call.
10812
10813 2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
10814
10815         * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
10816         Instead, allocate memory on worst-case alignment assumptions, and then
10817         return an aligned address within the allocated zone.
10818
10819 2004-06-14  Robert Dewar  <dewar@gnat.com>
10820
10821         * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
10822         elab entities in predefined units in No_Run_Time_Mode.
10823         (Gen_Adainit_C): Same fix
10824         (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
10825         units in No_Run_Time_Mode
10826         (Gen_Elab_Calls_C): Same fix
10827
10828         * symbols-vms-alpha.adb: Minor reformatting
10829
10830         * g-debpoo.ads: Minor reformatting
10831
10832         * lib.adb (In_Same_Extended_Unit): Version working on node id's
10833
10834         * lib.ads (In_Same_Extended_Unit): Version working on node id's
10835
10836         * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
10837         working on nodes.
10838
10839         * make.adb: Minor reformatting
10840
10841         * par-ch12.adb: Minor reformatting
10842
10843         * par-prag.adb: Add dummy entry for pragma Profile_Warnings
10844
10845         * prj-strt.adb: Minor reformatting
10846
10847         * restrict.ads, restrict.adb: Redo handling of profile restrictions to
10848         be more general.
10849
10850         * sem_attr.adb: Minor reformatting
10851
10852         * sem_ch7.adb: Minor reformatting
10853
10854         * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
10855         for type in the same unit as the object declaration.
10856
10857         * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
10858         static string expressions and not just string literals.
10859         Minor reformatting
10860         (Set_Warning): Reset restriction warning flag for restriction pragma
10861         Implement pragma Profile_Warnings
10862         Implement pragma Profile (Restricted)
10863         Give obolescent messages for old restrictions and pragmas
10864
10865         * snames.h, snames.ads, snames.adb: Add new entry for pragma
10866         Profile_Warnings.
10867
10868         * s-rident.ads: Add declarations for restrictions required by profile
10869         Restricted and profile Ravenscar.
10870
10871         * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
10872
10873         * gnat_ugn.texi: Correct some missing entries in the list of GNAT
10874         configuration pragmas.
10875
10876 2004-06-11  Vincent Celier  <celier@gnat.com>
10877
10878         * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
10879         gnatsym, when symbol policy is Restricted.
10880
10881         * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
10882         gnatsym, when symbol policy is Restricted.
10883
10884         * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
10885         read the symbol file.
10886         (Finalize): Fail in symbol policy Restricted if a symbol in the original
10887         symbol file is not in the object files. Do not create a new symbol file
10888         when symbol policy is Restricted.
10889
10890         * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
10891         in Scng.
10892
10893         * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
10894         Restricted.
10895         (Usage): Line for new switch -R
10896
10897         * make.adb (Initialize): When the platform is not VMS, add the
10898         directory where gnatmake is invoked in the front of the path, if
10899         gnatmake is invoked with directory information.  Change the Scan_Args
10900         while loop to a for loop.
10901         (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
10902         if Depth is equal or greater than the proposed depth, there is nothing
10903         to do.
10904         (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
10905         instead of 0.
10906
10907         * prj.ads: Add new symbol policy Restricted.
10908
10909         * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
10910         with the new parameters Check_All_Labels and Case_Location.
10911
10912         * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
10913         (Library_Symbol_File needs to be defined).
10914
10915         * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
10916         and Case_Location If Check_All_Labels is True, check that all values of
10917         the string type are used, and output warning(s) if they are not.
10918
10919         * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
10920         and Case_Location.
10921
10922         * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
10923
10924         * gnat_ugn.texi: Update documentation about the library directory in
10925         Library Projects.
10926
10927         * makegpr.adb (Display_Command): In verbose mode, also display the
10928         value of the CPATH env var, when the compiler is gcc.
10929         (Initialize): Change the Scan_Args while loop to a for loop
10930         (Compile_Individual_Sources): Change directory to object directory
10931         before compilations.
10932
10933         * symbols.ads: New symbol policy Restricted.
10934
10935 2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
10936
10937         * a-except.adb (Raise_After_Setup family): Remove. The responsibility
10938         is now taken care of internally in the Exception_Propagation package
10939         and does not require clients assistance any more.
10940
10941         * a-exexpr.adb (Is_Setup_And_Not_Propagated,
10942         Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
10943         functions. Helpers to maintain a predicate required in the handling of
10944         occurrence transfer between tasks.
10945         This is now handled internally and does not require clients assistance
10946         for the setup/propagate separation anymore.
10947         (Setup_Exception, Propagate_Exception): Simplify the Private_Data
10948         allocation strategy, handle the Setup_And_Not_Propagated predicate and
10949         document.
10950
10951         * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
10952         raise_after_setup, now that everything is handled internally within the
10953         setup/propagation engine.
10954
10955 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
10956
10957         * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
10958         Add additional conditions for the case of an actual being a simple
10959         name or literal. Improve inlining by preventing the generation
10960         of temporaries with a short lifetime (one use).
10961
10962 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
10963
10964         PR ada/15587
10965
10966         * einfo.ads: Minor comment updates for Has_Completion and
10967         E_Constant list of flags.
10968
10969         * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
10970         and constant redeclarations now set the Has_Completion flag of their
10971         defining identifiers.
10972
10973         * sem_ch7.adb (Analyze_Package_Spec): Add procedure
10974         Inspect_Deferred_Constant_Completion.
10975         Used to detect private deferred constants that have not been completed
10976         either by a constant redeclaration or pragma Import. Emits error message
10977         "constant declaration requires initialization expression".
10978
10979         * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
10980         completes a deferred constant.
10981
10982 2004-06-11  Geert Bosch  <bosch@gnat.com>
10983
10984         * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
10985
10986         * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
10987         calculating exponent for scaling denormal numbers.
10988         (Leading_Part): Properly raise Constraint_Error for zero or negative
10989         Adjustment.
10990         (Remainder): Properly raise Constraint_Error for zero divisor.
10991
10992 2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
10993
10994         * sem_util.adb: Minor reformatting.
10995
10996         * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
10997         dereference when accessing the entry parameter record.
10998         (Check_Array_Type): Always check for possible implicit dereference.
10999         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
11000         Abort if a pointer is still present (denoting that an implicit
11001         dereference was left in the tree by the front-end).
11002
11003         * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
11004         dereference when accessing the entry parameter record.
11005         (Check_Array_Type): Always check for possible implicit dereference.
11006         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
11007         Abort if a pointer is still present (denoting that an implicit
11008         dereference was left in the tree by the front-end).
11009
11010 2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
11011
11012         * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
11013         message, like the compiler itself does. Easier to parse the output.
11014
11015         * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
11016
11017         * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
11018         be base names, and not includes directories.
11019
11020 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
11021
11022         * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
11023         so that dependencies are properly taken into account by make.
11024
11025 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
11026
11027         PR ada/15622
11028         * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
11029         exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
11030
11031 2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
11032
11033         * Makefile.in (install-gnatlib): install target-specific run-time files.
11034
11035         * Make-lang.in: Remove obsolete targets.
11036
11037 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
11038
11039         * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
11040         specification, to catch misuses of program unit names.
11041
11042         * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
11043         superfluous conversions in an instance.
11044
11045 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
11046
11047         PR ada/15403
11048
11049         * sem_ch12.adb (Save_References): If operator node has been folded to
11050         enumeration literal, associated_node must be discarded.
11051
11052 2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
11053
11054         * s-stchop-vxworks.adb: Add required pragma Convention to
11055         Task_Descriptor because it is updated by a C function.
11056
11057 2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
11058
11059         PR ada/15568
11060
11061         * Makefile.in: Remove target specific SO_OPT on IRIX
11062
11063 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11064
11065         * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
11066         (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
11067         (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
11068         (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
11069         (STMT_STMT, USE_STMT): New statement codes.
11070         (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
11071         * ada-tree.h: Reflect above changes.
11072         (struct tree_loop_id): Deleted.
11073         (union lang_tree_node, struct lang_decl, struct lang_type):
11074         Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
11075         and DECL_LANGUAGE_SPECIFIC to reflect these changes.
11076         (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
11077         (IS_ADA_STMT): New macro.
11078         * decl.c (annotate_decl_with_node): New function.
11079         (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
11080         (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
11081         Call add_stmt_with_node to do needed assignments.
11082         Add call to update setjmp buffer directly, not via EXPR_STMT.
11083         (maybe_variable): Argment GNAT_NODE deleted.
11084         * gigi.h (maybe_variable): Likewise.
11085         (make_transform, add_stmt_with_node, set_block_for_group): New.
11086         (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
11087         (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
11088         (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
11089         (set_lineno, set_lineno_from_sloc): Likewise.
11090         (record_code_position, insert_code_for): Likewise.
11091         (gnat_poplevel): Now returns void.
11092         (end_subprog_body): Now takes argument.
11093         * misc.c (cgraph.h, tree-inline.h): New includes.
11094         (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
11095         (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
11096         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
11097         (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
11098         (gnat_parse_file): Don't set immediate_size_expand.
11099         Call cgraph functions.
11100         (gnat_expand_expr): Remove most cases.
11101         (record_code_position, insert_code_for): Remove from here.
11102         * trans.c (toplev.h, tree-gimple.h): Now included.
11103         (discard_file_names): Deleted.
11104         (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
11105         (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
11106         (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
11107         (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
11108         (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
11109         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
11110         (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
11111         (set_block_for_group, add_stmt_list): Likewise.
11112         (start_stmt_group): Renamed from start_block_stmt.
11113         (end_stmt_group): Likewise, from end_block_stmt.
11114         (build_stmt_group): Likewise, from build_block_stmt, also add arg.
11115         (gigi): Don't set discard_file_names or call set_lineno.
11116         Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
11117         (tree_transform): Deleted, now renamed to be gnat_to_gnu.
11118         Numerous changes throughout to reflect new names and complete
11119         function-at-a-time implementation.
11120         (gnat_expand_stmt): Delete or comment out all cases.
11121         (process_inlined_subprograms): Use add_stmt.
11122         (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
11123         call set_lineno; also remove unneeded block handling.
11124         (process_type): Remove unneeded block handling.
11125         (build_unit_elab): Remove calls to deleted functions.
11126         * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
11127         (tree-dump.h): Likewise.
11128         (struct ada_binding_level): Add field jmpbuf_decl.
11129         (gnat_define_builtin, gnat_install_builtins): New.
11130         (gnat_gimplify_function, gnat_finalize): Likewise.
11131         (gnat_poplevel): No longer return BLOCK, set it instead.
11132         Remove code dealing with nested functions.
11133         (gnat_init_decl_processing): Also set size_type_node.
11134         Call gnat_install_builtins.
11135         (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
11136         (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
11137         Remove special-case for "main".
11138         (end_subprog_body): Add arg and rework for tree-ssa.
11139         (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
11140         Add case for BOOLEAN_TYPE.
11141         * utils2.c (rtl.h): Now include.
11142         (build_call_raise): Test Debug_Flag_NN directly.
11143         (build_call_alloc_dealloc): Don't use local stack allocation for now.
11144         (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
11145         (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
11146
11147 2004-06-07  Robert Dewar  <dewar@gnat.com>
11148
11149         * a-direct.ads, einfo.ads: Minor comment updates
11150
11151         * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
11152         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
11153         s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
11154         s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
11155         s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
11156
11157         * s-interr-sigaction.adb: Remove unreferenced variable
11158         (Attached_Interrupts).  Minor reformatting.
11159         Avoid use of variable I (replace by J).
11160
11161         * par-ch10.adb: Fix text of one error message
11162
11163         * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
11164         exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
11165         exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
11166         opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
11167         par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
11168         par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
11169         sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
11170         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
11171         sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
11172         sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
11173         snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
11174         2005 support.
11175
11176 2004-06-07  Doug Rupp  <rupp@gnat.com>
11177
11178         * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
11179
11180         * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
11181
11182         * mlib-tgt-vms-ia64.adb: New file.
11183
11184         * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
11185         Add mlib-tgt-vms-ia64.adb
11186         Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
11187         Move to alpha specific ifeq section.
11188         Add VMS specific versions of symbols.adb
11189         Renaming of 5q vms files.
11190
11191         * 5qsystem.ads renamed to system-vms_64.ads.
11192
11193 2004-06-07  Vincent Celier  <celier@gnat.com>
11194
11195         * a-calend.ads: Add a GNAT Note comment after function Time_Of to
11196         explain that when a time of day corresponding to the non existing hour
11197         on the day switching to DST is specified, Split may return a different
11198         value for Seconds.
11199
11200         * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
11201         to GNAT PRETTY.
11202
11203         * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
11204         (Normalize_Pathname): Only resolve VMS logical names when on VMS.
11205
11206         * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
11207         to False.
11208         If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
11209         the linking options.
11210         (Build_Library.Check_Libs): On VMS, if there is a dependency on
11211         g-trasym.ads, set Gtrasymobj_Needed to True.
11212
11213         * prj-attr.adb: Add new package Metrics for gnatmetric
11214
11215         * prj-nmsc.adb (Record_Other_Sources): Put source file names in
11216         canonical case to take into account files with upper case characters on
11217         Windows.
11218         (Ada_Check): Load the reference symbol file name in the name buffer to
11219         check it, not the symbol file name.
11220
11221         * snames.ads, snames.adb: Add standard name Metrics (name of project
11222         file package for gnatmetric).
11223
11224         * vms_conv.ads: Add Metric to Comment_Type
11225
11226         * vms_conv.adb (Initialize): Add component dor Metric in Command_List
11227
11228         * vms_data.ads: Add qualifiers for GNAT METRIC
11229
11230         * makegpr.adb (Link_Executables): Take into account the switches
11231         specified in package Linker of the main project.
11232
11233 2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
11234
11235         * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
11236         the index of the last element is Units.Last, not Units.Table'Last
11237         (which is usually not a valid index within the actually allocated
11238         storage for the table).
11239
11240         * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
11241         determines whether to generate a call to a checked storage pool
11242         Dereference action.
11243         Generate such a call only for a dereference that either comes from
11244         source, or is the result of rewriting a dereference that comes from
11245         source.
11246
11247 2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
11248
11249         * bindgen.adb (Gen_Output_File): Add support for GAP builds.
11250
11251 2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
11252
11253         (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
11254         file level, elaborate the stride for inner dimensions in alignment
11255         units, not bytes.
11256
11257         * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
11258         in a comment.
11259
11260 2004-06-07  Javier Miranda  <miranda@gnat.com>
11261
11262         * exp_ch6.adb: Correct wrong modification in previous patch
11263
11264 2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
11265
11266         * g-trasym.ads: Corrected comment to properly reflect level of support
11267         on VMS.
11268
11269 2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
11270
11271         * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
11272         includes case of a variable referenced on the left hand side of an
11273         assignment, therefore remove redundant code. Variables and prefixes of
11274         indexed or selected components are now marked as referenced on left
11275         hand side. Warnings are now properly emitted when variables or prefixes
11276         are assigned but not read.
11277
11278         * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
11279         left hand side referenced variables. Private access types do not
11280         produce the warning "variable ... is assigned but never read".
11281         Add also additional checks to left hand side referenced variables.
11282         Aliased, renamed objects and access types do not produce the warning
11283         "variable ... is assigned but never read" since other entities may read
11284         the memory location.
11285
11286 2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
11287
11288         * Makefile.in: In the powerpc/vxworks-specific section, restore
11289         EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
11290         by mistake).
11291
11292 2004-06-07  Ed Schonberg  <schonberg@gnat.com>
11293
11294         * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
11295         predefined operators.
11296         Removes spurious type errors from g-trasym-vms.adb.
11297
11298         * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
11299         distinct from the operator appearing in the source, call appropriate
11300         routine to insert conversions when needed, and complete resolution of
11301         node.
11302         (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
11303         interpretations for rewritten right operand.
11304         (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
11305         the other operand is overloaded and the context is a type conversion.
11306
11307 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11308
11309         * ada-tree.def (BLOCK_STMT): Now has two operands.
11310         (BREAK_STMT): New.
11311
11312         * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
11313
11314         * gigi.h: (gnat_poplevel): Now returns a tree.
11315
11316         * trans.c (end_block_stmt): Add arg; all callers changed.
11317         (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
11318         (start_block_stmt): Clear BLOCK_STMT_BLOCK.
11319         (add_stmt): Set TREE_TYPE.
11320         (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
11321         (gnat_expand_stmt, case BREAK_STMT): New case.
11322
11323         * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
11324
11325 2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
11326
11327         * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
11328         procedure Set_Stack_Size that is not needed.
11329
11330 2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
11331
11332         * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
11333         used for gnatpp input file and for the files upon which it depends
11334
11335 2004-06-07  Ben Brosgol  <brosgol@gnat.com>
11336
11337         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
11338
11339 2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
11340
11341         * gnatvsn.ads: Bump version numbers appropriately.
11342         Add new build type.
11343
11344 2004-06-07  Pascal Obry  <obry@gnat.com>
11345
11346         * gnat_ugn.texi: Improve comments about imported names and link names
11347         on Windows. Add a note about the requirement to use -k gnatdll's option
11348         when working with a DLL which has stripped stdcall symbols (no @nn
11349         suffix).
11350
11351 2004-05-27  Vincent Celier  <celier@gnat.com>
11352
11353         * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
11354         COMMENTS_LAYOUT=UNTOUCHED
11355
11356         * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
11357         symbols-vms-alpha.adb
11358
11359 2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
11360
11361         * sem.ads: Clarify documentation on checks suppression.
11362
11363         * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
11364
11365 2004-05-27  Ed Schonberg  <schonberg@gnat.com>
11366
11367         * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
11368         the case of multiple derivations.
11369         (Is_Object_Reference): For a selected component, verify that the prefix
11370         is itself an object and not a value.
11371
11372         * sem_ch12.adb (Same_Instantiated_Constant): New name for
11373         Same_Instantiated_Entity.
11374         (Same_Instantiated_Variable): Subsidiary to
11375         Check_Formal_Package_Instance, to recognize actuals for in-out generic
11376         formals that are obtained from a previous formal package.
11377         (Instantiate_Subprogram_Body): Emit proper error when
11378         generating code and the proper body of a stub is missing.
11379
11380         * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
11381         has a universal interpretation, do the disambiguation here.
11382
11383         * exp_ch4.adb (Expand_N_Type_Conversion,
11384         Expand_N_Unchecked_Type_Conversion): Special handling when target type
11385         is Address, to avoid typing anomalies when Address is a visible integer
11386         type.
11387
11388         * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
11389         to determine whether a subprogram should not be marked Pure, even when
11390         declared in a pure package.
11391
11392 2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
11393
11394         * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
11395
11396         * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
11397         Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
11398         Update the documentation about the Ravenscar profile, following the
11399         definition found in AI-249.
11400
11401         * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
11402         setting the Profile (Ravenscar). This must be done in addition to
11403         setting the required restrictions.
11404
11405         * rtsfind.ads: Add the set of operations defined in package
11406         Ada.Interrupts.
11407
11408         * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
11409         restriction.
11410
11411 2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
11412
11413         lang-specs.h: Always require -c or -S and always redirect to /dev/null
11414         if -gnatc or -gnats is passed.
11415
11416 2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
11417
11418         * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
11419         a significant reference. Warnings are now properly emitted when a
11420         discriminated type is not referenced.
11421
11422         * lib-xref.adb (Generate_Reference): A deferred constant completion,
11423         record representation clause or record type discriminant does not
11424         produce a reference to its corresponding entity. Warnings are now
11425         properly emitted when deferred constants and record types are not
11426         referenced.
11427
11428 2004-05-27  Geert Bosch  <bosch@gnat.com>
11429
11430         * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
11431         Fixes ACATS Annex G tests.
11432
11433 2004-05-27  Robert Dewar  <dewar@gnat.com>
11434
11435         * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
11436         handling WITH
11437
11438 2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
11439
11440         * s-interr.adb (Server_Task): Take into account case of early return
11441         from sigwait under e.g. linux.
11442
11443 2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
11444
11445         * gnat_ugn.texi: Add description for the new gnatpp options:
11446          -rnb - replace the original source without creating its backup copy
11447          -c0 - do not format comments
11448
11449 2004-05-24  Geert Bosch  <bosch@gnat.com>
11450
11451         * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
11452         with 192 bits of precision, sufficient to reduce a double-extended
11453         arguments X with a maximum relative error of T'Machine_Epsilon, for X
11454         in -2.0**32 .. 2.0**32.
11455         (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
11456         reduction by the processor, which only uses a 68-bit approximation of
11457         Pi.
11458         (Tan): Always reduce arguments and compute function either using
11459         the processor's fptan instruction, or by dividing sin and cos as needed.
11460
11461 2004-05-24  Doug Rupp  <rupp@gnat.com>
11462
11463         * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
11464         gcc error on 32/64 bit VMS.
11465
11466 2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
11467
11468         * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
11469         since this is what we get for stack overflows although not documented
11470         as such.
11471         Document the issues which may require adjustments to our signal
11472         handlers.
11473
11474 2004-05-24  Ed Schonberg  <schonberg@gnat.com>
11475
11476         * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
11477         enclosing dynamic scope if the instantiation is within a generic unit.
11478
11479 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
11480
11481         * exp_dbug.ads: Fix typo.
11482
11483         * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
11484         Rename it to its proper name: system-linux-ia64.ads
11485         (stamp-gnatlib1): Remove extra target specific run time files when
11486         setting up the rts directory.
11487
11488 2004-05-24  Javier Miranda  <miranda@gnat.com>
11489
11490         * einfo.ads, einfo.adb (Limited_Views): Removed.
11491         (Limited_View): New attribute that replaces the previous one. It is
11492         now a bona fide package with the limited-view list through the
11493         first_entity and first_private attributes.
11494
11495         * sem_ch10.adb (Install_Private_With_Clauses): Give support to
11496         limited-private-with clause.
11497         (Install_Limited_Withed_Unit): Install the private declarations of a
11498         limited-private-withed package. Update the installation of the shadow
11499         entities according to the new structure (see Build_Limited_Views)
11500         (Build_Limited_Views): Replace the previous implementation of the
11501         limited view by a package entity that references the first shadow
11502         entity plus the first shadow private entity (required for limited-
11503         private-with clause)
11504         (New_Internal_Shadow_Entity): Code cleanup.
11505         (Remove_Limited_With_Clause): Update the implementation to undo the
11506         new work carried out by Build_Limited_Views.
11507         (Build_Chain): Complete documentation.
11508         Replace Ada0Y by Ada 0Y in comments
11509         Minor reformating
11510
11511         * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
11512         types the level of accessibility depends on the enclosing type
11513         declaration.
11514
11515         * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
11516         entities. Complete documentation of previous change.
11517
11518 2004-05-24  Robert Dewar  <dewar@gnat.com>
11519
11520         * namet.adb: Minor reformatting
11521         Avoid use of name I (replace by J)
11522         Minor code restructuring
11523
11524         * sem_ch6.adb: Minor reformatting
11525
11526         * lib-writ.adb: Do not set restriction as active if this is a
11527         Restriction_Warning case.
11528
11529         * sem_prag.adb: Reset restriction warning flag if real pragma
11530         restriction encountered.
11531
11532         * s-htable.adb: Minor reformatting
11533         Change rotate count to 3 in Hash (improves hash for small strings)
11534
11535         * 5qsystem.ads: Add comments for type Address (no literals allowed).
11536
11537         * gnat_ugn.texi: Add new section of documentation "Code Generation
11538         Control", which describes the use of -m switches.
11539
11540 2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
11541
11542         trans.c (tree_transform) <N_Identifier>: Do the dereference directly
11543         through the DECL_INITIAL for renamed variables.
11544
11545 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
11546
11547         * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
11548
11549 2004-05-19  Joel Brobecker  <brobecker@gnat.com>
11550
11551         * exp_dbug.ads: Correct comments concerning handling of overloading,
11552         since we no longer use $ anymore.
11553
11554 2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
11555
11556         * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
11557         ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
11558         with illegal subunits.
11559
11560 2004-05-19  Ed Schonberg  <schonberg@gnat.com>
11561
11562         * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
11563         body with front-end inlining enabled, check whether an inline pragma
11564         appears immediately after the body and applies to it.
11565
11566         * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
11567         enabled and the pragma appears after the body of the subprogram.
11568
11569 2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11570
11571         Part of function-at-a-time conversion
11572
11573         * misc.c (adjust_decl_rtl): Deleted.
11574         (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
11575         Define.
11576
11577         * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
11578         (add_decl_stmt, add_stmt, block_has_vars): New functions.
11579         (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
11580
11581         * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
11582         when making a decl.
11583         (gnat_to_gnu_entity): Likewise.
11584         Use add_stmt to update setjmp buffer.
11585         Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
11586         flush_addressof.
11587         No longer call adjust_decl_rtl.
11588         (DECL_INIT_BY_ASSIGN_P): New macro.
11589         (DECL_STMT_VAR): Likewise.
11590
11591         * trans.c (gigi): Call start_block_stmt to make the outermost
11592         BLOCK_STMT.
11593         (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
11594         Call start_block_stmt and end_block_stmt temporarily.
11595         Use gnat_expand_stmt instead of expand_expr_stmt.
11596         (add_decl_stmt): New function.
11597         (tree_transform): Call it.
11598         (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
11599         (end_block_stmt): Set type and NULL_STMT.
11600         (gnat_expand_stmt): Make recursize call instead of calling
11601         expand_expr_stmt.
11602         (gnat_expand_stmt, case DECL_STMT): New case.
11603         (set_lineno_from_sloc): Do nothing if global.
11604         (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
11605         (start_block_stmt, add_stmt, end_block_stmt): New functions.
11606         (build_block_stmt): Call them.
11607         (gnat_to_code): Don't expand NULL_STMT.
11608         (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
11609         args.
11610         (tree_transform): Likewise.
11611         (tree_transform, case N_Null_Statement): Return NULL_STMT.
11612         (gnat_expand_stmt, case NULL_STMT): New case.
11613         (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
11614         IF_STMT_TRUE.
11615
11616         * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
11617         TREE_ADDRESSABLE.
11618
11619         * utils.c (create_var_decl): Do not call expand_decl or
11620         expand_decl_init.
11621         Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
11622         Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
11623         here.
11624         (struct e_stack): Add chain_next to GTY.
11625         (struct binding_level): Deleted.
11626         (struct ada_binding_level): New struct.
11627         (free_block_chain): New.
11628         (global_binding_level, clear_binding_level): Deleted.
11629         (global_bindings_p): Rework to see if no chain.
11630         (kept_level_p, set_block): Deleted.
11631         (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
11632         new data structure and work directly on BLOCK node.
11633         (gnat_poplevel): Similarly.
11634         (get_decls): Look at BLOCK_VARS.
11635         (insert_block): Work directly on BLOCK node.
11636         (block_has_var): New function.
11637         (pushdecl): Rework for new binding structures.
11638         (gnat_init_decl_processing): Rename and rework calls to pushlevel and
11639         poplevel.
11640         (build_subprog_body): Likewise.
11641         (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
11642
11643         * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
11644
11645         * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
11646         (DECL_STMT_VAR): Likewise.
11647
11648 2004-05-17  Robert Dewar  <dewar@gnat.com>
11649
11650         * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
11651         procedure
11652
11653         * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
11654         of restriction synonyums by using
11655         Restrict.Process_Restriction_Synonyms.
11656
11657         * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
11658
11659         * s-restri.ads (Tasking_Allowed): Correct missing comment
11660
11661         * s-rident.ads: Add entries for restriction synonyms
11662
11663         * ali.adb: Fix some problems with badly formatted ALI files that can
11664         result in infinite loops.
11665
11666         * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
11667         s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
11668         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
11669         s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
11670         s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
11671         s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
11672         s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
11673         s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
11674         s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
11675         a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
11676         exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
11677         s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
11678         s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
11679         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
11680         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
11681         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
11682         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
11683         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
11684         s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
11685         s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
11686         to Task_Id (minor cleanup).
11687
11688 2004-05-17  Vincent Celier  <celier@gnat.com>
11689
11690         * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
11691         directory separator.
11692
11693         * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
11694         project being extended, if Languages is not declared in extending
11695         project.
11696
11697 2004-05-17  Javier Miranda  <miranda@gnat.com>
11698
11699         * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
11700         limited view of a visible sibling.
11701
11702 2004-05-14  Robert Dewar  <dewar@gnat.com>
11703
11704         * gnat_ugn.texi: Minor change to -gnatS documentation
11705
11706         * sprint.adb: Remove some instances of Assert (False) and for this
11707         purpose replace them by output of a ??? string.
11708
11709         * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
11710         Assert (False).
11711
11712         * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
11713         flag processing. This was suppressing required dependencies in
11714         No_Run_Time mode and is not needed since the binder does not generate
11715         references for things in libgnat anyway.
11716
11717         * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
11718         warning.
11719
11720 2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
11721
11722         * gnat_ugn.texi: Document AIX-specific issue with initialization of
11723         resolver library.
11724
11725         * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
11726         action for the case of an actual parameter in an init proc call.
11727
11728 2004-05-14  Ed Schonberg  <schonberg@gnat.com>
11729
11730         * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
11731         subtype, check visible entities in base type.
11732
11733         * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
11734         actions if the object is a renaming.
11735
11736         * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
11737         Check_Formal_Package_Instance, to determine more precisely when the
11738         formal and the actual denote the same entity.
11739
11740 2004-05-14  Javier Miranda  <miranda@gnat.com>
11741
11742         * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
11743
11744         * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
11745         corresponding to a private_with must be removed from visibility; it
11746         will be made visible later, just before we analyze the private part of
11747         the package.
11748         (Check_Private_Child_Unit): Allow private_with clauses in public
11749         siblings.
11750         (Install_Siblings): Make visible the private entities of private-withed
11751         siblings.
11752         (Install_Withed_Unit): Do not install the private withed unit if we
11753         are compiling a package declaration and the Private_With_OK flag was
11754         not set by the caller. These declarations will be installed later,
11755         just before we analyze the private part of the package.
11756
11757         * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
11758         during the evaluation of the expression that initializes the object,
11759         decorate it with the expected type to avoid cascade errors.
11760         Code cleanup.
11761
11762         * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
11763         subprogram we have to install the private_with clauses after its
11764         specification has been analyzed (as documented in AI-262.TXT).
11765
11766         * sem_ch8.adb (Has_Private_With): New function. Determines if the
11767         current compilation unit has a private with on a given entity.
11768         (Find_Direct_Name): Detect the Beaujolais problem described in
11769         AI-262.TXT
11770
11771         * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
11772         provides the functionality of the function Is_Ancestor that was
11773         previously available in sem_ch10. It has been renamed to avoid
11774         overloading.
11775
11776         * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
11777
11778 2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11779
11780         * utils.c (build_vms_descriptor): Use SImode pointers.
11781
11782 2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
11783
11784         * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
11785
11786 2004-05-14  GNAT Script  <nobody@gnat.com>
11787
11788         * Make-lang.in: Makefile automatically updated
11789
11790 2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
11791
11792         Renaming of target specific files for clarity
11793
11794         * Makefile.in: Rename GNAT target specific files.
11795
11796         * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
11797         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
11798         3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
11799         3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
11800         3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
11801         3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
11802         42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
11803         4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
11804         4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
11805         4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
11806         4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
11807         4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
11808         51osinte.adb, 51osinte.ads, 51system.ads,
11809         52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
11810         55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
11811         56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
11812         56tpopsp.adb, 57system.ads, 58system.ads,
11813         5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
11814         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
11815         5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
11816         5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
11817         5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
11818         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
11819         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
11820         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
11821         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
11822         5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
11823         5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
11824         5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
11825         5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
11826         5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
11827         5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
11828         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
11829         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
11830         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
11831         5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
11832         5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
11833         5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
11834         5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
11835         5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
11836         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
11837         5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
11838         5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
11839         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
11840         5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
11841         5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
11842         5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
11843         5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
11844         5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
11845         5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
11846         5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
11847         5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
11848         5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
11849         7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
11850         7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
11851         7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
11852         7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
11853
11854         * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
11855         a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
11856         a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
11857         a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
11858         a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
11859         a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
11860         a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
11861         a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
11862         a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
11863         a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
11864         g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
11865         g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
11866         g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
11867         g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
11868         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
11869         g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
11870         g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
11871         g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
11872         interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
11873         mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
11874         mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
11875         mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
11876         s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
11877         s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
11878         s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
11879         s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
11880         s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
11881         s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
11882         s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
11883         s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
11884         s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
11885         s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
11886         s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
11887         s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
11888         s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
11889         s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
11890         s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
11891         s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
11892         s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
11893         s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
11894         s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
11895         s-osinte-vms.ads, s-osinte-vxworks.adb,
11896         s-osinte-vxworks.ads, s-osprim-mingw.adb,
11897         s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
11898         s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
11899         s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
11900         s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
11901         s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
11902         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
11903         s-stchop-vxworks.adb, s-taprop-dummy.adb,
11904         s-taprop-hpux-dce.adb, s-taprop-irix.adb,
11905         s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
11906         s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
11907         s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
11908         s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
11909         s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
11910         s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
11911         s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
11912         s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
11913         s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
11914         s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
11915         s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
11916         s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
11917         s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
11918         s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
11919         s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
11920         s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
11921         s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
11922         symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
11923         system-hpux.ads, system-interix.ads, system-irix-n32.ads,
11924         system-irix-o32.ads, system-linux-x86_64.ads,
11925         system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
11926         system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
11927         system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
11928         system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
11929         system-vxworks-alpha.ads, system-vxworks-m68k.ads,
11930         system-vxworks-mips.ads, system-vxworks-ppc.ads,
11931         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
11932         above.
11933
11934 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
11935
11936         * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
11937
11938 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
11939
11940         Merge from tree-ssa-20020619-branch.
11941
11942         * config-lang.in (boot_language, build_by_default): Set
11943         to no.
11944         * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
11945         (max_size): Add static chain op for call_expr.
11946
11947 2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
11948
11949         PR target/15331
11950         * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
11951
11952 2004-05-11  Roger Sayle  <roger@eyesopen.com>
11953
11954         * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
11955         COND_EXPR.
11956
11957 2004-05-10  Doug Rupp  <rupp@gnat.com>
11958
11959         * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
11960         system.aux_dec.
11961
11962         * s-auxdec.ads: Add Short_Address subtype (moved here from System).
11963
11964         * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
11965
11966         * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
11967         Fixes undefined symbols in IA64 gnatlib.
11968
11969         * 5vinmaop.adb: Reference s-auxdec for Short_Address.
11970
11971         * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
11972         Short_Address). This will be moved to system.auxdec.
11973
11974 2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
11975
11976         * sem_util.adb: Replace test for presence of a node that is always
11977         present with a call to Discard_Node.
11978
11979         * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
11980         Analyze on the library unit node after generation of distribution stub
11981         constructs.  The call was a no-op because Unit_Node has already been
11982         Analyzed, and the tree fragments for the distribution stubs are
11983         analyzed as they are inserted in Exp_Dist.
11984         Update comment regarding to distribution stubs to reflect that we
11985         do not generate stub in separate files anymore.
11986
11987         * einfo.ads: Clarify the fact that a tagged private type has the
11988         E_Record_Type_With_Private Ekind.
11989
11990         * erroutc.adb: Minor reformatting
11991
11992         * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
11993         values if line length is increased using -gnatyM (noticed during code
11994         reading).
11995
11996         * eval_fat.adb: Minor reformatting
11997         Put spaces around exponentiation operator
11998
11999 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
12000
12001         PR ada/15005
12002         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
12003         has been rewritten as an explicit dereference, retrieve type of
12004         original node to check for possibly unconstrained record type.
12005
12006 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
12007
12008         * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
12009         overriding, use the operation of the parent unconditionally.
12010
12011         * sem_ch4.adb (Remove_Address_Interpretations): Remove address
12012         operation when either operand is a literal, to avoid further
12013         ambiguities.
12014
12015         * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
12016         overridden by a previous explicit declaration, mark the previous entity
12017         as overriding.
12018
12019         * sem_disp.adb (Check_Dispatching_Operation): New predicate
12020         Is_Visibly_Controlled, to determine whether a declaration of a
12021         primitive control operation for a derived type overrides an inherited
12022         one. Add warning if the explicit declaration does not override.
12023
12024 2004-05-10  Vincent Celier  <celier@gnat.com>
12025
12026         * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
12027         some cases when the sources are no longer present.
12028
12029         * make.adb (Collect_Arguments): Fail if an external source, not part
12030         of any project need to be compiled, when switch -x has not been
12031         specified.
12032
12033         * makeusg.adb: Document new switch -x
12034
12035         * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
12036         defaulted to False.
12037
12038         * switch-m.adb (Scan_Make_Switches): New switch -x
12039
12040         * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
12041         gnatmake switch -x.
12042
12043         * gnat_ugn.texi: Document new gnatmake switch -x
12044
12045 2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
12046
12047         * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
12048
12049         * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
12050         (process_attributes): Likewise.
12051
12052 2004-05-10  Joel Brobecker  <brobecker@gnat.com>
12053
12054         * s-inmaop.ads: Fix spelling mistake in one of the comments.
12055
12056 2004-05-10  Robert Dewar  <dewar@gnat.com>
12057
12058         * gnat_ugn.texi: Document that for config pragma files, the maximum
12059         line length is always 32767.
12060
12061         * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
12062         literals is now allowed.
12063
12064         * gnat-style.texi: Remove statement about splitting long lines before
12065         an operator rather than after, since we do not follow this rule at all.
12066         Clarify rule (really lack of rule) for spaces around exponentiation
12067
12068         * sem_elim.adb: Allow concatenation of string literals as well as a
12069         single string literal for pragma arguments.
12070
12071         * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
12072
12073         * a-textio.adb (Terminate_Line): Do not add line feed if nothing
12074         written for append case.
12075
12076         * frontend.adb: Changes to avoid checking max line length in config
12077         pragma files.
12078
12079         * g-os_lib.ads: Minor reformatting
12080
12081         * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
12082         wrong in any case. Instead use standard value. Noticed during code
12083         reading.
12084
12085         * opt.ads (Max_Line_Length): New field, used to implement removal of
12086         limitation on length of lines when scanning config pragma files.
12087
12088         * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
12089         makeutl.ads, makeutl.adb: Minor reformatting
12090
12091         * scn.adb: Do not check line length while scanning config pragma files
12092         Do not check line length while scanning out license information
12093
12094         * scng.adb: Changes to avoid line length checks while parsing config
12095         pragma files.
12096
12097 2004-05-10  GNAT Script  <nobody@gnat.com>
12098
12099         * Make-lang.in: Makefile automatically updated
12100
12101 2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
12102
12103         * osint.adb (Find_Program_Name): Fix handling of VMS version
12104         number.
12105
12106 2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
12107
12108         * g-os_lib.ads (Invalid_Time): New constant
12109
12110         * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
12111         return OS_Time instead of time_t to match what is imported by Ada.
12112         Now return -1 if the file doesn't exist, instead of a random value
12113
12114 2004-05-05  Robert Dewar  <dewar@gnat.com>
12115
12116         * usage.adb: Add line for -gnatR?s switch
12117
12118         * sem_ch13.adb, exp_ch2.adb: Minor reformatting
12119
12120         * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
12121         and for Match (Data_First, Data_last)
12122
12123         * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
12124         written when we are dealing with multi-unit files.
12125
12126 2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
12127
12128         * Makefile.in: Remove unused targets and variables.
12129
12130 2004-05-05  Vincent Celier  <celier@gnat.com>
12131
12132         * switch-m.adb: New gnatmake switch -eI
12133
12134         * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
12135         of new gnatmake switch -eInnn.
12136
12137         * makegpr.adb: Take into account new parameters Index and Src_Index in
12138         Prj.Util.
12139
12140         * clean.adb: Implement support for multi-unit sources, including new
12141         switch -i.
12142
12143         * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
12144         Src_Index.
12145
12146         * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
12147         (Extract_From_Q): New out parameter Index
12148         (Mark, Is_Marked): Subprograms moved to Makeutl
12149         (Switches_Of): New parameter Source_Index
12150         (Add_Switch): New parameter Index
12151         (Check): New parameter Source_Index
12152         (Collect_Arguments): New parameter Source_Index
12153         (Collect_Arguments_And_Compile): New parameter Source_Index
12154         (Compile): New parameter Source_Index
12155         Put subprograms in alphabetical order
12156         Add support for multi-source sources, including in project files.
12157
12158         * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
12159         (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
12160         Make.
12161
12162         * makeusg.adb: New gnatmake switch -eInnn
12163
12164         * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
12165         Prj.Util.Value_Of.
12166
12167         * opt.ads (Main_Index): New variable, defaulted to 0.
12168
12169         * osint.ads, osinte.adb (Add_File): New parameter Index
12170         (Current_Source_Index): New function
12171
12172         * prj.adb: Take into account new components Index and Src_Index
12173
12174         * prj.ads (String_Element): New component Index
12175         (Variable_Value): New component Index
12176         (Array_Element): New component Src_Index
12177
12178         * prj-attr.adb: Indicate that optional index may be specified for
12179         attributes Main, Executable, Spec, Body and some of Switches.
12180
12181         * prj-attr.ads (Attribute_Kind): New values for optional indexes
12182         (Attribute_Record): New component Optional_Index
12183
12184         * prj-com.ads (File_Name_Data): New component Index
12185
12186         * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
12187
12188         * prj-env.adb (Put): Output optional index
12189
12190         * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
12191         attributes Spec and Body.
12192
12193         * prj-nmsc.adb: Process optional indexes
12194
12195         * prj-pp.adb: Ouput "at" for optional indexes
12196
12197         * prj-proc.adb: Take into account optional indexes
12198
12199         * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
12200         Optional_Index. For string literal,
12201         process optional index when Optional_Index is True.
12202         (Parse_Expresion): New Boolean parameter Optional_Index
12203
12204         * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
12205         (Set_Source_Index_Of): New procedure
12206
12207         * prj-util.adb (Executable_Of, Value_Of): Take into account optional
12208         index.
12209
12210         * prj-util.ads (Executable_Of): New parameter Index
12211         (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
12212         New parameter Src_Index, defaulted to 0.
12213
12214 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
12215
12216         PR ada/15257
12217         * sem_ch3.adb (Access_Definition): If this is an access parameter
12218         whose designated type is imported through a limited_with clause, do
12219         not add the enclosing subprogram to the list of private dependents of
12220         the type.
12221
12222 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
12223
12224         PR ada/15258
12225         * sem_ch6.adb (Base_Types_Match): True if one type is imported through
12226         a limited_with clause, and the other is its non-limited view.
12227
12228 2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
12229
12230         * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
12231
12232         * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
12233         exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
12234         Stand.Boolean_Literals to produce references to entities
12235         Standard_False and Standard_True from compile-time computed boolean
12236         values.
12237
12238         * stand.ads (Boolean_Literals): New variable, provides the entity
12239         values for False and True, for use by the expander.
12240
12241 2004-05-05  Doug Rupp  <rupp@gnat.com>
12242
12243         * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
12244         5vinmaop.adb: Unchecked convert Short_Address vice Address
12245
12246         * adaint.c, raise.c: Caste CRTL function return value
12247         to avoid gcc error on 32/64 bit IVMS.
12248
12249         * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
12250         target = IA64/VMS.
12251
12252         * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
12253
12254         * 5qsystem.ads (Address): Declare as Long_Integer
12255         (Short_Address): Declare as 32 bit subtype of Address
12256         Declare  abstract address operations to avoid gratuitous ambiguities.
12257
12258 2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
12259
12260         * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
12261         instead of the old Boolean_Entry_Barriers.
12262         Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
12263
12264 2004-05-05  GNAT Script  <nobody@gnat.com>
12265
12266         * Make-lang.in: Makefile automatically updated
12267
12268 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
12269
12270         * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
12271
12272 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
12273
12274         PR ada/15152
12275
12276         * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
12277         alone. Replacing object references by literals is inappropriate in a
12278         so low level context.
12279
12280 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
12281
12282         * a-exexpr.adb: Add comments
12283
12284 2004-05-03  Joel Brobecker  <brobecker@gnat.com>
12285
12286         * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
12287         declare the Ancestor_Tags array in Type_Specific_Data with a small size
12288         without risking a bounds check error when accessing one of its
12289         components.
12290         (Type_Specific_Data): Define Ancestor_Tags as a small array.
12291         This prevents us from hitting a limitation during the debug info
12292         generation when using stabs.
12293
12294         * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
12295         small array.
12296         This prevents us from hitting a limitation during the debug info
12297         generation when using stabs.
12298
12299 2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
12300
12301         lang-specs.h: Remove -gnatz* from specs.
12302
12303 2004-05-03  Vincent Celier  <celier@gnat.com>
12304
12305         * gprmake.adb, makegpr.ads, makegpr.adb: New files.
12306
12307         * Make-lang.in, Makefile.in: Add gprmake
12308
12309 2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
12310
12311         * sem_aggr.adb: Fix typo in comment.
12312
12313 2004-05-03  Robert Dewar  <dewar@gnat.com>
12314
12315         * make.adb: Minor reformatting
12316
12317         * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
12318
12319         * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
12320         so that it works when address is not a private type.
12321
12322         * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
12323         properly with rewritten unchecked conversions. This prevents
12324         order-of-elaboration issues that can otherwise arise.
12325         (Minimum_Size): Don't check size of access types under VMS
12326
12327         * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
12328         interpretations of integer literals as type System.Address.
12329
12330         * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
12331         (Is_Descendent_Of): New function
12332
12333 2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
12334
12335         * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
12336         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
12337         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
12338
12339         * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
12340         of the old Max_Entry_Queue_Depth.
12341
12342         * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
12343         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
12344         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
12345
12346         * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
12347         New entry for proper handling of Max_Entry_Queue_Depth.
12348         New entry for proper handling of No_Dynamic_Interrupts.
12349
12350         * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
12351         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
12352         Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
12353         the GNAT specific restriction Max_Entry_Queue_Depth.
12354         Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
12355         the GNAT specific restriction No_Dynamic_Interrupts.
12356
12357         * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
12358         instead of the old Boolean_Entry_Barriers.
12359         Use the new restriction No_Dynamic_Attachment instead of the old
12360         No_Dynamic_Interrupts.
12361
12362         * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
12363         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
12364
12365         * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
12366         of the old Max_Entry_Queue_Depth.
12367
12368 2004-05-03  GNAT Script  <nobody@gnat.com>
12369
12370         * Make-lang.in: Makefile automatically updated
12371
12372 2004-04-29  Ed Schonberg  <schonberg@gnat.com>
12373
12374         * checks.adb (Enable_Range_Check): If the prefix of an index component
12375         is an access to an unconstrained array, perform check unconditionally.
12376
12377 2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12378
12379         * decl.c (gnat_to_gnu_field): Also call make_packable_type if
12380         Component_Clause.
12381
12382 2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
12383
12384         * init.c (__gnat_install_handler, __gnat_error_handler): Remove
12385         alternate stack setting. There was no support for the tasking cases
12386         and the changes eventually caused a number of side-effect failures in
12387         the non-tasking case too.
12388
12389 2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
12390
12391         lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
12392         -gnats is passed.
12393
12394 2004-04-29  Vincent Celier  <celier@gnat.com>
12395
12396         * make.adb (Gnatmake): Increase max size of argument array for
12397         gnatbind for the potential addition of -F.
12398         If there are Stand-Alone Library projects, invoke gnatbind with -F to
12399         be sure that elaboration flags will be checked.
12400
12401         * switch-c.adb: Correct call to Scan_Pos for -gnateI
12402
12403 2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
12404
12405         * sem_warn.adb (Check_References): Move '<access-variable> may be
12406         null' warning out of under Warn_On_No_Value_Assigned.
12407
12408 2004-04-29  Ed Falis  <falis@gnat.com>
12409
12410         * gnat_ugn.texi: Fixed texi error
12411
12412 2004-04-29  Robert Dewar  <dewar@gnat.com>
12413
12414         * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
12415         abstract operations if they come from predefined files.
12416
12417         * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
12418         Dynamic, not RM).
12419
12420         * s-addope.adb: Correct obvious error in mod function
12421
12422 2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
12423
12424         * Makefile.in: Add target pairs for powerpc darwin*
12425         tasking support.
12426
12427         * a-intnam-darwin.ads, s-osinte-darwin.adb,
12428         s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
12429
12430 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
12431
12432         * Makefile.in: Add target macro definitions for s390*-linux*.
12433         * system-linux-s390.ads: New file.
12434         * system-linux-s390x.ads: New file.
12435
12436 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
12437
12438         * gnat_ugn.texi: Correct argument to @setfilename.
12439
12440 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
12441
12442         * a-exexpr.adb (Unwind_Word): New data type.
12443         (Unwind_Exception): Use it as type of Private1 and Private2.
12444
12445         * raise.c (db_action_for): Fix debug printf.
12446
12447 2004-04-27  Ed Schonberg  <schonberg@gnat.com>
12448
12449         * a-wtmoio.ads: Formal type must be a modular type, not a signed
12450         integer type.
12451
12452 2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12453
12454         * decl.c (gnat_to_gnu_entity, case object): Call
12455         __builtin_update_setjmp_buf.
12456
12457         * gigi.h (update_setjmp_buf): Deleted.
12458         (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
12459
12460         * misc.c: (update_setjmp_buf): Deleted.
12461
12462         * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
12463         around block of RTL.
12464
12465         * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
12466
12467 2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
12468
12469         * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
12470         subprogram for which no pragma All_Calls_Remote applies, store the
12471         address of the real subprogram in the underlying record type, so local
12472         dereferences do not go through the PCS.
12473
12474 2004-04-26  Robert Dewar  <dewar@gnat.com>
12475
12476         * i-c.ads: Add some type qualifications to avoid ambiguities when
12477         compiling with s-auxdec.ads and a non-private address type.
12478
12479 2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
12480
12481         * Makefile.rtl: Fix error in previous check-in:
12482         Add s-addope.o to non tasking object list (rather than tasking object
12483         list).
12484
12485 2004-04-26  Javier Miranda  <miranda@gnat.com>
12486
12487         * sem_aggr.adb: Fix typo in comments
12488         (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
12489         Required to check the null-exclusion attribute.
12490
12491         * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
12492         case of anonymous access types in record and array components. For a
12493         component definition the level is the same of the enclosing composite
12494         type.
12495
12496         * sem_ch3.adb (Analyze_Component_Declaration): In case of components
12497         that are anonymous access types the level of accessibility depends on
12498         the enclosing type declaration. In order to have this information, set
12499         the scope of the anonymous access type to the enclosing record type
12500         declaration.
12501         (Array_Type_Declaration): In case of components that are anonymous
12502         access types the level of accessibility depends on the enclosing type
12503         declaration. In order to have this information, set the scope of the
12504         anonymous access type to the enclosing array type declaration.
12505
12506         * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
12507         access type.
12508
12509         * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
12510         renaming of anonymous access-to-constant types allowed if and only if
12511         the renamed object is access-to-constant.
12512
12513         * sem_util.adb (Type_Access_Level): In case of anonymous access types
12514         that are component_definition or discriminants of a nonlimited type,
12515         the level is the same as that of the enclosing component type.
12516
12517 2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
12518
12519         * sem_elim.adb: Some minor code reorganization from code reading. Fix
12520         misprint in the function name (File_Name_Match).
12521
12522 2004-04-23  Laurent GUERBY <laurent@guerby.net>
12523
12524         * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
12525         install.
12526
12527 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12528
12529         * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
12530
12531 2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
12532
12533         * adaint.c (__gnat_try_lock): No longer requires that the parent
12534         directory be writable, the directory itself is enough.
12535         (gnat_is_absolute_path): Change profile, so that the call from
12536         GNAT.OS_Lib can be made more efficient.
12537
12538         * adaint.h (gnat_is_absolute_path): Change profile, so that the call
12539         from GNAT.OS_Lib can be made more efficient.
12540
12541         * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
12542         one copy of the file name. Found by code reading.
12543
12544 2004-04-23  Vincent Celier  <celier@gnat.com>
12545
12546         * gnat_ugn.texi: Add documentation for gnatmake switch -eL
12547         Correct documentation on gnatmake switches transmitted to the compiler
12548
12549         * ali.ads: Minor comment fix
12550
12551 2004-04-23  Javier Miranda  <miranda@gnat.com>
12552
12553         * sem_ch6.adb: (Confirming Types): Code cleanup
12554
12555         * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
12556         subprogram types: E_Anonymous_Access_Subprogram_Type and
12557         E_Anonymous_Access_Protected_Subprogram_Type.
12558
12559 2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
12560
12561         * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
12562         whether a pragma All_Calls_Remote applies to the subprogram on which
12563         'Access is taken.
12564         No functional change is introduced by this revision; the new parameter
12565         will be used to allow calls to local RCI subprograms to be optimized
12566         to not use the PCS in the case where no pragma All_Calls_Remote applies,
12567         as is already done in the PolyORB implementation of the DSA.
12568
12569         * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
12570         whether a pragma All_Calls_Remote applies to the subprogram on which
12571         'Access is taken.
12572         No functional change is introduced by this revision; the new parameter
12573         will be used to allow calls to local RCI subprograms to be optimized
12574         to not use the PCS in the case where no pragma All_Calls_Remote applies,
12575         as is already done in the PolyORB implementation of the DSA.
12576
12577 2004-04-23  Robert Dewar  <dewar@gnat.com>
12578
12579         * Makefile.rtl: Add entry for s-addope.o in run time library list
12580         * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
12581         * s-addope.ads, s-addope.adb: New files.
12582
12583         * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
12584         s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
12585         s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
12586         System.Address to be non-private and signed.
12587
12588         * sem_elim.adb: Minor reformatting (fairly extensive)
12589         Some minor code reorganization from code reading
12590         Add a couple of ??? comments
12591
12592 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12593
12594         * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
12595         (tree_transform, case N_If_Statement): Remove non-determinism.
12596
12597         * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
12598
12599 2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
12600
12601         * gnat_rm.texi: Small fixes in the changes made in the 'pragma
12602         Eliminate' section.
12603
12604         * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
12605         no longer used as a parameter name for Eliminate pragma).
12606
12607 2004-04-22  Laurent GUERBY <laurent@guerby.net>
12608
12609         PR optimization/14984
12610         PR optimization/14985
12611         * trans.c (gigi): Fix non determinism leading to bootstrap
12612         comparison failures.
12613
12614 2004-04-21  Pascal Obry  <obry@gnat.com>
12615
12616         * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
12617         passed to spawnvp() to properly handle program pathname with spaces on
12618         Win32.
12619
12620 2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
12621
12622         * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
12623         (Allocate, Deallocate, Free_Physically): Make sure the tasks are
12624         unlocked in case of exceptions.
12625
12626 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
12627
12628         * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
12629         This function does not exist anymore.
12630
12631 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
12632
12633         * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
12634
12635         * link.c: Move variables to the __gnat name space.
12636
12637         * Makefile.in: list link.o explicitly when needed.
12638
12639         * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
12640
12641 2004-04-21  Javier Miranda  <miranda@gnat.com>
12642
12643         * einfo.adb (Original_Access_Type): New subprogram
12644         (Set_Original_Access_Type): New subprogram
12645         (Write_Field21_Name): Write the name of the new field
12646
12647         * einfo.ads (Original_Access_Type): New field present in access to
12648         subprogram types.
12649         Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
12650         E_Anonymous_Access_Protected_Subprogram_Type.
12651
12652         * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
12653         subprogram types.
12654
12655         * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
12656         to anonymous access to subprogram types.
12657
12658         * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
12659         to subprogram types.
12660
12661         * sem_ch3.adb (Access_Definition): Complete decoration of entities
12662         corresponding to anonymous access to subprogram types.
12663         (Analyze_Component_Declaration): Add new actual to the call to
12664         subprogram replace_anonymous_access_to_protected_subprogram.
12665         (Array_Type_Declaration): Add new actual to the call to subprogram
12666         replace_anonymous_access_to_protected_subprogram.
12667         (Process_Discriminants): Add new actual to the call to subprogram
12668         replace_anonymous_access_to_protected_subprogram.
12669         (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
12670
12671         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
12672         formal.
12673
12674         * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
12675         access to subprogram types.
12676
12677         * sem_util.adb (Has_Declarations): Addition of package_specification
12678         nodes.
12679
12680 2004-04-21  Ed Schonberg  <schonberg@gnat.com>
12681
12682         * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
12683         inlined flags to renamed entity only if in current unit.
12684
12685 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
12686
12687         * s-parint.ads: Add DSA implementation marker.
12688
12689         * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
12690         value of System.Partition_Interface.DSA_Implementation to determine
12691         what version of the distributed systems annex is available (no
12692         implementation, GLADE, or PolyORB).
12693
12694 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
12695
12696         * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
12697
12698 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12699
12700         * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
12701         with new type if alias sets differ.
12702         Fixes ACATS c41103b.
12703
12704 2004-04-21  Vincent Celier  <celier@gnat.com>
12705
12706         * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
12707         Add array Lang_Args for the language specific compiling argument
12708         switches.
12709
12710         * gnat_ugn.texi: Explain in more details when a library is rebuilt.
12711
12712 2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
12713
12714         * gnat_rm.texi: Update the descripton of the Eliminate pragma
12715         according to the recent changes in the format of the parameters of the
12716         pragma (replacing Homonym_Number with Source_Location).
12717
12718 2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
12719
12720         * 5isystem.ads: Removed, unused.
12721
12722         * gnat_rm.texi: Redo 1.13 change.
12723
12724 2004-04-19  Robert Dewar  <dewar@gnat.com>
12725
12726         * s-stoele.ads: Clean up definition of Storage_Offset (the new
12727         definition is cleaner, avoids the kludge of explicit Standard operator
12728         references, and also is consistent with a visible System.Address with
12729         no visible operations.
12730
12731         * s-geveop.adb: Add declarations to avoid assumption of visible
12732         operations on type System.Address (since these might not be available
12733         if Address is a non-private type for which the operations
12734         are made abstract).
12735
12736         * sem_eval.adb: Minor reformatting
12737
12738         * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
12739         s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
12740         reformatting (new function spec format).
12741
12742         * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
12743         s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
12744         s-caun64.adb: Add declarations to avoid assumption of visible
12745         operations on type System.Address (since these might not be available
12746         if Address is a non-private type for which the operations are made
12747         abstract).
12748
12749         * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
12750
12751         * exp_intr.adb: Minor comment update
12752
12753         * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
12754
12755         * 5omastop.adb: Add declarations to avoid assumption of visible
12756         operations on type System.Address (since these might not be available
12757         if Address is a non-private type for which the operations
12758         are made abstract).
12759
12760 2004-04-19  Vincent Celier  <celier@gnat.com>
12761
12762         * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
12763
12764         * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
12765         defaulted to Ada.
12766
12767         * prj-proc.adb (Process): New Boolean parameter Process_Languages,
12768         defaulted to Ada.
12769         Call Check with Process_Languages.
12770         (Check): New Boolean parameter Process_Languages. Call Recursive_Check
12771         with Process_Languages.
12772         (Recursive_Check): New Boolean parameter Process_Languages. Call
12773         Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
12774         Process_Languages.
12775
12776         * prj-proc.ads (Process): New Boolean parameter Process_Languages,
12777
12778         * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
12779         parameter Ada_Main, defaulted to True.
12780         Check for Ada specific characteristics only when Ada_Main is True.
12781
12782         * opt.ads: (Follow_Links): New Boolean flag for gnatmake
12783
12784         * prj.adb: (Project_Empty): Add new Project_Data components.
12785
12786         * prj.ads: New types and tables for non Ada languages.
12787         (Project_Data): New components Languages, Impl_Suffixes,
12788         First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
12789         Include_Path, Include_Data_Set.
12790
12791         * prj-env.ads, prj-env.adb: Minor reformatting
12792
12793         * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
12794         Put subprograms in alphabetical order
12795
12796         * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
12797         defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
12798         Opt.Follow_Links.
12799
12800         * mlib-prj.adb: Back out modification in last version, as they are
12801         incorrect.
12802         (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
12803
12804         * make.adb: (Mains): Moved to package Makeutl
12805         (Linker_Opts): Moved to package Makeutl
12806         (Is_External_Assignment): Moved to package Makeutl
12807         (Test_If_Relative_Path): Moved to package Makeutl
12808         (Gnatmake): Move sorting of linker options to function
12809         Makeutl.Linker_Options_Switches.
12810
12811         * makeutl.ads, makeutl.adb: New files.
12812
12813         * Makefile.in: Add makeutl.o to the object files for gnatmake
12814
12815         * makeusg.adb: Add line for new switch -eL.
12816
12817         * gnatls.adb (Image): New function.
12818         (Output_Unit): If in verbose mode, output the list of restrictions
12819         specified by pragmas Restrictions.
12820
12821         * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
12822         Text_IO.
12823
12824         * a-calend.adb (Split): Shift the date by multiple of 56 years, if
12825         needed, to put it in the range 1970 (included) - 2026 (excluded).
12826         (Time_Of): Do not shift Unix_Min_Year (1970).
12827         Shift the date by multiple of 56 years, if needed, to put it in the
12828         range 1970 (included) - 2026 (excluded).
12829
12830         * adaint.h, adaint.c (__gnat_set_executable): New function.
12831
12832 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12833
12834         * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
12835         and pop GC context.
12836         (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
12837         (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
12838         (tree_transform, case N_Procedure_Call_Statement): Build a tree.
12839         (tree_transform, case N_Code_Statement): Likewise.
12840         (gnat_expand_stmt, case LABEL_STMT): Don't look at
12841         LABEL_STMT_FIRST_IN_EH.
12842         (gnat_expand_stmt, case ASM_STMT): New case.
12843
12844         * utils2.c (build_unary_op): Properly set TREE_READONLY of
12845         UNCONSTRAINED_ARRAY_REF.
12846
12847         * utils.c (poplevel): Temporarily push/pop GC context around inline
12848         function expansion.
12849
12850         * decl.c (maybe_variable): Properly set TREE_READONLY of
12851         UNCONSTRAINED_ARRAY_REF.
12852         (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
12853
12854         * ada-tree.def: (ASM_STMT): New.
12855
12856         * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
12857         (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
12858         ASM_STMT_INPUT): New.
12859         (ASM_STMT_CLOBBER): Likewise.
12860
12861 2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
12862
12863         * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
12864         general rcheck mechanism to raise Program_Error for E.4(18), instead
12865         of a custom raiser in System.Partition_Interface.
12866         Part of general cleanup work before PolyORB integration.
12867
12868         * snames.ads, snames.adb: Add new runtime library entities and names
12869         for PolyORB DSA.
12870
12871         * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
12872         exp_dist.
12873         (Build_Subprogram_Id): New subprogram provided by exp_dist
12874         Code reorganisation in preparation for PolyORB integration.
12875
12876         * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
12877         exp_dist.
12878         (Build_Subprogram_Id): New subprogram provided by exp_dist
12879
12880         * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
12881         actual parameter types for call to dereference of an
12882         access-to-subprogram type.
12883
12884         * rtsfind.ads: Add new runtime library entities and names for PolyORB
12885         DSA.
12886
12887         * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
12888         instead, which has the same behaviour here since we never pass it a
12889         NULL pointer.
12890
12891         * link.c (run_path_option, Solaris case): Use -Wl, as for other
12892         platforms.
12893
12894         * Makefile.in: adjust object file lists for gnatlink and gnatmake
12895         to account for new dependency upon Interfaces.C.Strings + link.o
12896         For x86 FreeBSD, use 86numaux.
12897
12898         * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
12899         from Mlib.Tgt to Mlib.
12900
12901         * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
12902         target-independent.
12903
12904         * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
12905         target-specific versions of this subprogram, now implemented as a
12906         target-independent function in Mlib.
12907
12908         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
12909         5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
12910         (Linker_Library_Path_Option): Remove target-specific versions of this
12911         subprogram, now implemented as a target-independent function in Mlib.
12912
12913         * atree.adb: (Allocate_Initialize_Node): New subprogram.
12914         Factors out node table slots allocation.
12915         (Fix_Parents): New subprogram.
12916         Encapsulate the pattern of fixing up parent pointers for syntactic
12917         children of a rewritten node.
12918         (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
12919         (Rewrite): Use New_Copy when creating saved copy of original node.
12920         (Replace): Use Copy_Node to copy nodes.
12921
12922 2004-04-19  Javier Miranda  <miranda@gnat.com>
12923
12924         * sprint.adb (Sprint_Node_Actual): Give support to the new
12925         Access_To_Subprogram node available in Access_Definition nodes. In
12926         addition, give support to the AI-231 node fields: null-exclusion,
12927         all-present, constant-present.
12928
12929         * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
12930
12931         * sinfo.ads, sinfo.adb:
12932         New field Access_To_Subprogram_Definition in Access_Definition nodes
12933
12934         * sem_ch6.adb (Process_Formals): Move here the code that creates and
12935         decorates internal subtype declaration corresponding to the
12936         null-excluding formal. This code was previously in Set_Actual_Subtypes.
12937         In addition, carry out some code cleanup on this code. In case of
12938         access to protected subprogram call
12939         Replace_Anonymous_Access_To_Protected_Subprogram.
12940         (Set_Actual_Subtypes): Code cleanup.
12941
12942         * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
12943         Find_Type in case of anonymous access renamings. Add warning in case of
12944         null-excluding attribute used in anonymous access renaming.
12945
12946         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
12947         subprogram
12948
12949         * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
12950         subprogram.
12951         (Access_Definition): In case of anonymous access to subprograms call
12952         the corresponding semantic routine to decorate the node.
12953         (Access_Subprogram_Declaration): Addition of some comments indicating
12954         some code that probably should be added here. Detected by comparison
12955         with the access_definition subprogram.
12956         (Analyze_Component_Declaration): In case of access to protected
12957         subprogram call Replace_Anonymous_Access_To_Protected.
12958         (Array_Type_Declaration): In case of access to protected subprogram call
12959         Replace_Anonymous_Access_To_Protected_Subprogram.
12960         (Process_Discriminants): In case of access to protected subprogram call
12961         Replace_Anonymous_Access_To_Protected_Subprogram.
12962
12963         * par.adb (P_Access_Definition): New formal that indicates if the
12964         null-exclusion part was present.
12965         (P_Access_Type_Definition): New formal that indicates if the caller has
12966         already parsed the null-excluding part.
12967
12968         * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
12969         (P_Identifier_Declarations): Code cleanup and give support to renamings
12970         of anonymous access to subprogram types.
12971         (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
12972         (P_Array_Type_Definition): Give support to AI-254.
12973         (P_Component_Items): Give support to AI-254.
12974         (P_Access_Definition): New formal that indicates if the header was
12975         already parsed by the caller.
12976         (P_Access_Type_Definition): New formal that indicates if the caller has
12977         already parsed the null-excluding part.
12978
12979         * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
12980         call to P_Access_Definition.
12981
12982 2004-04-19  Geert Bosch  <bosch@gnat.com>
12983
12984         * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
12985         the delicate semantics of floating-point to integer conversion.
12986         (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
12987
12988         * eval_fat.adb (Machine_Mantissa): Moved to spec.
12989         (Machine_Radix): New function.
12990
12991         * eval_fat.ads (Machine_Mantissa): Moved from body for use in
12992         conversion checks.
12993         (Machine_Radix): New function also for use in conversion checks.
12994
12995 2004-04-19  Ed Schonberg  <schonberg@gnat.com>
12996
12997         * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
12998
12999         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
13000         to decorate the access-to-protected subprogram and the equivalent type.
13001
13002         * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
13003         to anonymous access to subprogram types.
13004
13005         * exp_ch4.adb (Expand_N_In): Preserve Static flag before
13006         constant-folding, for legality checks in contexts that require an RM
13007         static expression.
13008
13009         * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
13010         temporary but stack checking is not enabled, increment serial number
13011         to so that symbol generation is consistent with and without stack
13012         checking.
13013
13014         * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
13015         independent on whether stack checking is enabled, caller must check
13016         the corresponding flag.
13017
13018         * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
13019         range checks.
13020         (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
13021         parent if it has discriminants.
13022         (Build_Derived_Private_Type): Constructed full view does
13023         not come from source.
13024         (Process_Discriminants): Default discriminants on a tagged type are
13025         legal if this is the internal completion of a private untagged
13026         derivation.
13027
13028         * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
13029         no constraint checks, because it corresponds to an existing object.
13030
13031         * sem_prag.adb (Process_Convention): Pragma applies
13032         only to subprograms in the same declarative part, i.e. the same unit,
13033         not the same scope.
13034
13035         * sem_res.adb (Valid_Conversion): In an instance or inlined body,
13036         ignore type mismatch on a numeric conversion if expression comes from
13037         expansion.
13038
13039 2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
13040
13041         * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
13042         Homonym_Number parameter, add processing for Source_Location parameter
13043         corresponding.
13044         (Check_Eliminated): Remove the check for homonym numbers, add the check
13045         for source location traces.
13046
13047         * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
13048         with Arg_Source_Location corresponding to the changes in the format of
13049         the pragma.
13050
13051         * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
13052         Eliminate pragma corresponding to the changes in the format of the
13053         pragma: Homonym_Number is replaced with Source_Location, two ways of
13054         distinguishing homonyms are mutially-exclusive.
13055
13056 2004-04-19  Joel Brobecker  <brobecker@gnat.com>
13057
13058         * get_targ.ads (Get_No_Dollar_In_Label): Remove.
13059
13060         * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
13061         No_Dollar_In_Label, no longer necessary, as it is always True.
13062         (Strip_Suffixes): Likewise.
13063
13064 2004-04-19  Gary Dismukes  <dismukes@gnat.com>
13065
13066         * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
13067         modulus for compatibility with size clause on targets with 16-bit
13068         Integer.
13069
13070         * layout.adb (Discrimify): In the case of private types, set Vtyp to
13071         full type to fix type mismatches on calls to size functions for
13072         discriminant-dependent array components.
13073
13074 2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
13075
13076         * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
13077         lib.
13078
13079 2004-04-19  Pascal Obry  <obry@gnat.com>
13080
13081         * mdll-utl.adb (Locate): New version is idempotent.
13082
13083 2004-04-17  Laurent Guerby <laurent@guerby.net>
13084
13085         PR ada/14988 (partial)
13086         * impunit.adb: Fix typo.
13087
13088 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
13089
13090         * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
13091         and install-rts-cert targets.  Remove all gnatlib and gnattools
13092         targets and all other rts-* targets (moved to libada).  Remove (now)
13093         unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
13094         TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
13095
13096 2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13097
13098         * trans.c (tree_transform): Shortcut returning error_mark_node for
13099         statements in annotate_only_mode.
13100         (tree_transform, case N_Label, case N_Return_Statement,
13101         N_Goto_Statement): Make statement tree instead of generating code.
13102         (tree_transform, case N_Assignment_Statement): No longer check
13103         type_annotate_only.
13104         (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
13105         RETURN_STMT): New.
13106         (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
13107         New fcns.
13108         (gnat_to_gnu): Collect any RTL generated and deal with it.
13109         (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
13110         (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
13111         (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
13112
13113         * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
13114
13115         * ada-tree.def (EXPR_STMT): Fix typo in name.
13116         (BLOCK_STMT, IF_STMT): New nodes.
13117
13118         * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
13119         LABEL_STMT_FIRST_IN_EH): New macros.
13120         (RETURN_STMT_EXPR): Likewise.
13121
13122         * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
13123         IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
13124
13125 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
13126
13127         * atree.ads: Correct documentation on extended nodes.
13128
13129         * link.c: Set run_path_option for FreeBSD.
13130
13131 2004-04-08  Vincent Celier  <celier@gnat.com>
13132
13133         * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
13134         one of the ALI file, do not link with DEC lib.
13135
13136         * par.adb Remove the last two characters ("%s" or "%b") when checking
13137         if a language defined unit may be recompiled.
13138
13139 2004-04-08  Ed Schonberg  <schonberg@gnat.com>
13140
13141         * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
13142         removal of abstract operation leaves no possible interpretation for
13143         expression.
13144
13145         * sem_eval.adb (Eval_Qualified_Expression): Use
13146         Set_Raises_Constraint_Error on node when needed, so that it does not
13147         get optimized away by subsequent optimizations.
13148
13149         * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
13150         operands even when they are not wrapped in a type conversion.
13151
13152 2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
13153
13154         * sem_prag.adb (Set_Exported): Warn about making static as result of
13155         export only when the export is coming from source. This may be not
13156         be true e.g. on VMS where we expand export pragmas for exception codes
13157         together with imported or exported exceptions, and we don't want the
13158         user to be warned about something he didn't write.
13159
13160 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
13161
13162         * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
13163         duplication between normal entities and those declared as renamings.
13164         No functional change.
13165
13166         * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
13167         inline functions returning an unconstrained result.
13168
13169 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
13170
13171         * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
13172         conform to what other front-ends do.
13173
13174 2004-04-08  Doug Rupp  <rupp@gnat.com>
13175
13176         * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
13177         libraries.
13178
13179 2004-04-06  Pascal Obry  <obry@gnat.com>
13180
13181         * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
13182
13183         * osint.adb (Program_Name): Do not look past a directory separator.
13184
13185 2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
13186
13187         * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
13188
13189         * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
13190         requirement for preserving a copy of the original assignment node.
13191
13192         * sinfo.ads: Update comment (Original_Tree -> Original_Node).
13193
13194 2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
13195
13196         (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
13197         when supported.
13198
13199 2004-04-06  Ed Schonberg  <schonberg@gnat.com>
13200
13201         * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
13202         operator calls in functional notation, and apply
13203         Universal_Interpretation to operands, not to their type.
13204
13205 2004-04-06  Robert Dewar  <dewar@gnat.com>
13206
13207         * 5wdirval.adb: Minor reformatting
13208
13209 2004-04-06  Ed Falis  <falis@gnat.com>
13210
13211         * gnat_rm.texi: Improve a reference to the GCC manual
13212
13213 2004-04-05  Vincent Celier  <celier@gnat.com>
13214
13215         * adaint.h, adaint.c: Add function __gnat_named_file_length
13216
13217         * impunit.adb: Add Ada.Directories to the list
13218
13219         * Makefile.in: Add VMS and Windows versions of
13220         Ada.Directories.Validity package body.
13221
13222         * Makefile.rtl: Add a-direct and a-dirval
13223
13224         * mlib-tgt.ads: Minor comment update.
13225
13226         * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
13227         a-direct.ads, a-direct.adb: New files.
13228
13229 2004-04-05  Vincent Celier  <celier@gnat.com>
13230
13231         PR ada/13620
13232         * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
13233         just to the compiler.
13234
13235 2004-04-05  Robert Dewar  <dewar@gnat.com>
13236
13237         * a-except.adb (Exception_Name_Simple): Make sure lower bound of
13238         returned string is 1.
13239
13240         * ali-util.adb: Use proper specific form for Warnings (Off, entity)
13241
13242         * eval_fat.ads: Minor reformatting
13243
13244         * g-curexc.ads: Document that lower bound of returned string values
13245         is always one.
13246
13247         * gnatlink.adb: Add ??? comment for previous change
13248         (need to document why this is VMS specific)
13249
13250         * s-stoele.ads: Minor reformatting
13251
13252         * tbuild.ads: Minor reformatting throughout (new function specs)
13253
13254         * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
13255         after WITH.
13256
13257         * scng.adb: Minor reformatting
13258
13259 2004-04-05  Geert Bosch  <bosch@gnat.com>
13260
13261         * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
13262         (Leading_Part): Still perform truncation to machine number if the
13263         specified radix_digits is greater or equal to machine_mantissa.
13264
13265 2004-04-05  Javier Miranda  <miranda@gnat.com>
13266
13267         * par-ch3.adb: Complete documentation of previous change
13268         Correct wrong syntax documentation of the OBJECT_DECLARATION rule
13269         (aliased must appear before constant).
13270
13271         * par-ch4.adb: Complete documentation of previous change.
13272
13273         * par-ch6.adb: Complete documentation of previous change.
13274
13275         * sinfo.ads: Fix typo in commment.
13276
13277 2004-04-05  Ed Schonberg  <schonberg@gnat.com>
13278
13279         * sem_ch3.adb (Inherit_Components): If derived type is private and has
13280         stored discriminants, use its discriminants to constrain parent type,
13281         as is done for non-private derived record types.
13282
13283         * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
13284         Ada 2005 AI-310: an abstract non-dispatching operation is not a
13285         candidate interpretation in an overloaded call.
13286
13287         * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
13288         expression is Null and target type is not an access type (e.g. a
13289         non-private address type).
13290
13291 2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
13292
13293         * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
13294         statement whose right-hand side is an inlined call, save a copy of the
13295         original assignment subtree to preserve enough consistency for
13296         Analyze_Assignment to proceed.
13297
13298         * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
13299         complete assignment subtree which is now unnecessary, as the expansion
13300         of inlined call has been improved to preserve a consistent assignment
13301         tree.  Note_Possible_Modification must be called only
13302         after checks have been applied, or else unnecessary checks will
13303         be generated.
13304
13305         * sem_util.adb (Note_Possible_Modification): Reorganise the handling
13306         of explicit dereferences that do not Come_From_Source:
13307          - be selective on cases where we must go back to the dereferenced
13308            pointer (an assignment to an implicit dereference must not be
13309            recorded as modifying the pointer);
13310          - do not rely on Original_Node being present (Analyze_Assignment
13311            calls Note_Possible_Modification on a copied tree).
13312
13313         * sem_warn.adb (Check_References): When an unset reference to a pointer
13314         that is never assigned is encountered, prefer '<pointer> may be null'
13315         warning over '<pointer> is never assigned a value'.
13316
13317 2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
13318
13319         * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
13320         the ABI.
13321
13322 2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
13323
13324         * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
13325         libexc. We currently don't reference anything in this library and
13326         linking it in triggers linker warnings we don't want to see.
13327
13328         * init.c: Update comments.
13329
13330 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13331
13332         * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
13333         * utils.c (create_field_decl): Likewise.
13334         * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
13335
13336 2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
13337
13338         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
13339         Replace ifinfo by ifnottex, to make makeinfo --html happy again.
13340         Add info directory entry and category.
13341
13342 2004-04-02  Jan Hubicka  <jh@suse.cz>
13343
13344         * utils.c: Include function.h
13345         (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
13346
13347 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
13348
13349         PR ada/14150
13350         * Make-lang.in: Clean up generation of documentation
13351
13352         * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
13353
13354         * xgnatug.adb: Removed, replaced by xgnatugn.adb
13355
13356         * xgnatugn.adb: Replaces xgnatug.adb
13357
13358         * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
13359
13360         * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
13361
13362         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13363         gnat_ug_wnt.texi: Removed.
13364
13365 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
13366
13367         * utils2.c: Update copyright notice.
13368
13369 2004-04-01  Robert Dewar  <dewar@gnat.com>
13370
13371         * checks.adb: Minor reformatting throughout
13372         Note that prev checkin added RM reference to alignment warning
13373
13374 2004-04-01  Ed Schonberg  <schonberg@gnat.com>
13375
13376         * exp_aggr.adb (Get_Component_Val): Treat a string literal as
13377         non-static when building aggregate for bit-packed array.
13378
13379         * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
13380         function call that is itself the actual in a procedure call, build
13381         temporary for it.
13382
13383         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
13384         a string literal, create a temporary for it, constant folding only
13385         handles scalars here.
13386
13387 2004-04-01  Vincent Celier  <celier@gnat.com>
13388
13389         * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
13390         Error_Msg_SP): New empty procedures to instantiate the Scanner.
13391         (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
13392         tokens.
13393         (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
13394         (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
13395         and get the checksum.
13396
13397         * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
13398         already in the Q.
13399         Increase the Marking_Label at the end of the Multiple_Main_Loop,
13400         instead of at the beginning.
13401
13402         * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
13403         directly.
13404         (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
13405         on VMS.
13406
13407         * osint.ads (Multi_Unit_Index_Character): New Character global variable
13408
13409         * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
13410         not '~' directly.
13411
13412         * par.adb: Remove test on file name to detect language defined units.
13413         Add test on unit name, after parsing, to detect language defined units
13414         that are not compiled with -gnatg (except System.RPC and its children)
13415
13416         * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
13417         following units without style checking.
13418
13419         * switch-c.adb: Change -gnatC to -gnateI
13420
13421         * usage.adb: Document new switch -gnateInnn
13422
13423         * scng.adb (Accumulate_Token_Checksum): New procedure
13424         (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
13425         word or literal number.
13426         (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
13427         numbers.
13428
13429 2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
13430
13431         * a-tasatt.adb,
13432         g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
13433         switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
13434         5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
13435         5vtpopde.adb: Add missing 'constant' keywords.
13436
13437 2004-04-01  Javier Miranda  <miranda@gnat.com>
13438
13439         * par-ch4.adb: (P_Allocator): Code cleanup
13440
13441         * sem_ch3.adb (Access_Definition): Properly set the null-excluding
13442         attribute.
13443
13444         * sinfo.ads: Complete documentation of previous change
13445
13446 2004-04-01  Pascal Obry  <obry@gnat.com>
13447
13448         * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
13449         only on VMS.  This special handling was done because an old GNU/ld bug
13450         on Windows which has been fixed.
13451
13452 2004-04-01  GNAT Script  <nobody@gnat.com>
13453
13454         * Make-lang.in: Makefile automatically updated
13455
13456 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13457
13458         * decl.c (gnat_to_gnu_entity, make_type_from_size):
13459         Use TYPE_UNSIGNED, not TREE_UNSIGNED.
13460         * trans.c (tree_transform, convert_with_check): Likewise.
13461         * utils.c (gnat_signed_or_unsigned_type): Likewise.
13462         (build_vms_descriptor, unchecked_convert): Likewise.
13463         * utils2.c (nonbinary_modular_operation): Likewise.
13464
13465 2004-03-29  Javier Miranda  <miranda@gnat.com>
13466
13467         * checks.adb (Null_Exclusion_Static_Checks): New subprogram
13468         (Install_Null_Excluding_Check): Local subprogram that determines whether
13469         an access node requires a runtime access check and if so inserts the
13470         appropriate run-time check.
13471         (Apply_Access_Check): Call Install_Null_Excluding check if required
13472         (Apply_Constraint_Check): Call Install_Null_Excluding check if required
13473
13474         * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
13475
13476         * einfo.ads: Fix typo in comment
13477
13478         * exp_ch3.adb (Build_Assignment): Generate conversion to the
13479         null-excluding type to force the corresponding run-time check.
13480         (Expand_N_Object_Declaration): Generate conversion to the null-excluding
13481         type to force the corresponding run-time check.
13482
13483         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
13484         the null-excluding type to force the corresponding run-time check.
13485
13486         * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
13487         case of access types unless they have the null-excluding attribute.
13488
13489         * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
13490         part.
13491
13492         * exp_util.ads: Fix typo in comment
13493
13494         * par.adb (P_Null_Exclusion): New subprogram
13495         (P_Subtype_Indication): New formal that indicates if the null-excluding
13496         part has been scanned-out and it was present
13497
13498         * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
13499
13500         * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
13501         (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
13502         type to force the corresponding run-time check
13503         (Resolve_Aggregate): Propagate the null-excluding attribute to the array
13504         components
13505         (Resolve_Array_Aggregate): Carry out some static checks
13506         (Resolve_Record_Aggregate.Get_Value): Carry out some static check
13507
13508         * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
13509         attribute must be set only if specified by means of the null-excluding
13510         part. In addition, we must also propagate the access-constant attribute
13511         if present.
13512         (Access_Subprogram_Declaration, Access_Type_Declaration,
13513         Analyze_Component_Declaration, Analyze_Object_Declaration,
13514         Array_Type_Declaration, Process_Discriminants,
13515         Analyze_Subtype_Declaration): Propagate the null-excluding attribute
13516         and carry out some static checks.
13517         (Build_Derived_Access_Type): Set the null-excluding attribute
13518         (Derived_Type_Declaration, Process_Subtype): Carry out some static
13519         checks.
13520
13521         * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
13522
13523         * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
13524
13525         * sem_ch6.adb (Process_Formals): Carry out some static checks.
13526         (Set_Actual_Subtypes): Generate null-excluding subtype if the
13527         null-excluding part was present; it is not required to be done here in
13528         case of anonymous access types.
13529         (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
13530         value.
13531
13532         * sem_res.adb (Resolve_Actuals): Carry out some static check
13533         (Resolve_Null): Allow null in anonymous access
13534
13535         * sinfo.adb: New subprogram Null_Exclusion_Present
13536         All_Present and Constant_Present available on access_definition nodes
13537
13538         * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
13539         object_declaration, derived_type_definition, component_definition,
13540         discriminant_specification, access_to_object_definition,
13541         access_function_definition, allocator, access_procedure_definition,
13542         access_definition, parameter_specification, All_Present and
13543         Constant_Present flags available on access_definition nodes.
13544
13545 2004-03-29  Robert Dewar  <dewar@gnat.com>
13546
13547         * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
13548         gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
13549         opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
13550         par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
13551         sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
13552         sem_prag.adb: Updates to handle multiple units/file
13553
13554         * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
13555
13556         * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
13557         sem_util.adb: Minor reformatting
13558
13559         * sem_ch12.adb: Add comment for previous change
13560
13561 2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
13562
13563         * osint.adb (Executable_Prefix): Set Exec_Name to the current
13564         executable name when not initialized. Otherwise, use its current value.
13565
13566         * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
13567         initialize it to another executable name than the current one. This
13568         allows to configure paths for an executable name (gnatmake) different
13569         from the current one (gnatdist).
13570
13571 2004-03-29  Ed Schonberg  <schonberg@gnat.com>
13572
13573         * exp_ch6.adb (Expand_Call): A call to a function declared in the
13574         current unit cannot be inlined if it appears in the body of a withed
13575         unit, to avoid order of elaboration problems in gigi.
13576
13577         * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
13578         information for protected (wrapper) operation as well, to simplify gdb
13579         use.
13580
13581         * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
13582         protected body, indicate that the entity for the generated spec comes
13583         from source, to ensure that references are properly generated for it.
13584         (Build_Body_To_Inline): Do not inline a function that returns a
13585         controlled type.
13586
13587         * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
13588         apply convention to homonyms that are declared explicitly.
13589
13590         * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
13591         that renames an equality operator and the operands are overloaded,
13592         resolve them with the declared formal types, before rewriting as an
13593         operator.
13594
13595 2004-03-29  GNAT Script  <nobody@gnat.com>
13596
13597         * Make-lang.in: Makefile automatically updated
13598
13599 2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
13600
13601         * memtrack.adb: Log realloc calls, which are treated as free followed
13602         by alloc.
13603
13604 2004-03-25  Vincent Celier  <celier@gnat.com>
13605
13606         * prj-makr.adb (Process_Directories): Detect when a file contains
13607         several units. Do not include such files in the config pragmas or
13608         in the naming scheme.
13609
13610         * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
13611         Resolve links only when not in Trusted_Mode.
13612         (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
13613         Do not resolve links for the display names.
13614
13615         * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
13616         resolve links when computing the display names.
13617
13618 2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
13619
13620         * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
13621         attribute reference does not denote a subtype, it can be any
13622         expression that has a classwide type, potentially after an implicit
13623         dereference.  In particular, the prefix can be a view conversion for
13624         a classwide type (for which Is_Object_Reference holds), but it can
13625         also be a value conversion for an access-to-classwide type. In the
13626         latter case, there is an implicit dereference, and the original node
13627         for the prefix does not verify Is_Object_Reference.
13628
13629         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
13630         conversion of a discriminant-dependent component of a mutable object
13631         is one itself.
13632
13633 2004-03-25  Ed Schonberg  <schonberg@gnat.com>
13634
13635         * freeze.adb (Freeze_Entity): When an inherited subprogram is
13636         inherited, has convention C, and has unconstrained array parameters,
13637         place the corresponding warning on the derived type declaration rather
13638         than the original subprogram.
13639
13640         * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
13641         indication on renaming declaration, if formal has a box and actual
13642         is absent.
13643
13644         * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
13645         determine whether to generate an implicit or explicit reference to
13646         the renamed entity.
13647
13648         * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
13649         subprogram renaming comes from a defaulted formal subprogram in an
13650         instance.
13651
13652 2004-03-25  Gary Dismukes  <dismukes@gnat.com>
13653
13654         * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
13655         value expressions to ensure that calls within a component definition
13656         will be checked (since those are evaluated during the record type's
13657         elaboration).
13658
13659 2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
13660
13661         * s-tpobop.adb: Code clean up:
13662         (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
13663         code.
13664         (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
13665
13666 2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
13667
13668         * Makefile.in: Clean up in the ravenscar run time.
13669
13670 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13671
13672         * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
13673         of No_Strict_Aliasing to build_pointer_type_for_mode.
13674         * utils.c (update_pointer_to): Walk pointer and ref chains.
13675
13676 2004-03-22  Cyrille Comar  <comar@act-europe.fr>
13677
13678         * ali.ads: Fix Comment about Dynamic_Elab.
13679
13680         * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
13681         Has_RACW, Is_Generic, etc.)
13682         (Output_Object, Gnatls): Take into account ALI files not attached to
13683         an object.
13684
13685 2004-03-22  Vincent Celier  <celier@gnat.com>
13686
13687         * gprep.adb: Change all String_Access to Name_Id
13688         (Is_ASCII_Letter): new function
13689         (Double_File_Name_Buffer): New procedure
13690         (Preprocess_Infile_Name): New procedure
13691         (Process_Files): New procedure
13692         (Gnatprep): Check if output and input are existing directories.
13693         Call Process_Files to do the real job.
13694
13695 2004-03-22  Robert Dewar  <dewar@gnat.com>
13696
13697         * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
13698         s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
13699
13700 2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
13701
13702         * scn.adb (Contains): Add check for EOF, is needed for a degenerated
13703         case when the source contains only comments.
13704
13705 2004-03-22  Ed Schonberg  <schonberg@gnat.com>
13706
13707         * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
13708         declaration for a child subprogram body that acts as a spec, indicate
13709         that the entity in the declaration needs debugging information.
13710
13711         * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
13712         full view if the subtype is created for a constrained record component;
13713         gigi has enough information to construct the record, and there is no
13714         place in the tree for the declaration.
13715
13716         * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
13717         serial number for the dummy body that is built for analysis, to avoid
13718         inconsistencies in the generation of internal names when compiling
13719         with -gnatN.
13720
13721 2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
13722
13723         * sem_util.adb (Is_Object_Reference): A view conversion denotes an
13724         object.
13725
13726 2004-03-22  GNAT Script  <nobody@gnat.com>
13727
13728         * Make-lang.in: Makefile automatically updated
13729
13730 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13731
13732         * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
13733         * trans.c (tree_transform, emit_index_check): Likewise.
13734         * utils.c (build_template): Likewise.
13735         (max_size, convert): Remove handling of WITH_RECORD_EXPR.
13736         (maybe_unconstrained_array, unchecked_convert): Likewise.
13737         * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
13738         (build_unary_op): Likewise.
13739         (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
13740         (fill_vms_descriptor): Likewise.
13741         (build_call_alloc_dealloc): Likewise.
13742         ALIGN is unsigned.
13743         * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
13744
13745 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
13746
13747         PR other/14630
13748         * gnat_ug.texi: Add info directory category and entry.
13749         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13750         gnat_ug_wnt.texi: Regenerate.
13751
13752 2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
13753
13754         * ada-tree.h: Update copyright notice.
13755         Minor reformatting.
13756
13757 2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
13758
13759         * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
13760         as regular exception objects and not as mere integers representing the
13761         condition code.  The latter approach required some dynamics to mask off
13762         severity bits, which did not fit well into the GCC table based model.
13763         (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
13764         exception data objects. We don't it and it would conflict with the other
13765         external symbol we have to generate for such exceptions.
13766
13767         * trans.c (tree_transform, case N_Exception_Handler): Remove part of
13768         the special code for VMS exceptions, since these are now represented
13769         as regular exceptions objects.
13770
13771 2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13772
13773         * decl.c (debug_no_type_hash): Remove.
13774         (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
13775         * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
13776
13777 2004-03-19  Laurent Guerby <laurent@guerby.net>
13778
13779         * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
13780         aggregate, allows bootstrap from 3.3 on powerpc-darwin.
13781
13782 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13783
13784         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
13785         (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
13786         (TYPE_RM_SIZE_INT): Directly use type.values.
13787         (TREE_LOOP_ID): Clean up check.
13788         * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
13789         TYPE_VALUES, not TYPE_FIELDS.
13790         * trans.c (convert_with_check): Delay access of bounds of basetype
13791         until sure is numeric.
13792
13793 2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
13794
13795         * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
13796
13797         Code clean up:
13798         * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
13799         5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
13800         Specific.Set instead of direct call to e.g pthread_setspecific.
13801
13802 2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
13803
13804         * adaint.c: Update comments.
13805
13806         * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
13807         GNATLIB_SHARED for FreeBSD.
13808
13809 2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
13810
13811         * init.c [VxWorks]: Do not fix the stack size for the environment task.
13812         When needed (stack checking) the stack size is retrieved
13813         from the VxWorks kernel.
13814
13815         * Makefile.in: Flag -nostdinc is required when building the run time
13816         for avoiding looking for files in the base compiler.
13817         Add the VxWorks specific version of the package body for
13818         System.Stack_checking.Operations (5zstchop.adb).
13819
13820         * Make-lang.in: Add the object file for
13821         System.Stack_Checking.Operations.
13822
13823         * Makefile.rtl: Add object file for the package
13824         System.Stack_Checking.Operations.
13825
13826         * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
13827
13828         * s-stache.ads, s-stache.adb: Move the operations related to stack
13829         checking from this package to package System.Stack_Checking.Operations.
13830         This way, stack checking operations are only linked in the final
13831         executable when using the -fstack-check flag.
13832
13833 2004-03-18  Doug Rupp  <rupp@gnat.com>
13834
13835         * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
13836         Reorganize ifeq's.
13837
13838         * 5qsystem.ads, 5xcrtl.ads: New files.
13839
13840 2004-03-18  Vincent Celier  <celier@gnat.com>
13841
13842         * prj.adb (Reset): Reset hash table Files_Htable
13843
13844         * prj-env.adb (Source_Paths, Object_Paths): New tables.
13845         (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
13846         the procedures Add_To_Path_File.
13847         (Set_Ada_Paths): Accumulate source and object dirs in the tables,
13848         making sure that each directory is present only once and, for object
13849         dirs, when a directory already present is added, the duplicate is
13850         removed and the directory is always put as the last in the table.
13851         Write the path files at the end of these accumulations.
13852
13853         * prj-nmsc.adb (Record_Source): Add source file name in hash table
13854         Files_Htable for all sources.
13855
13856         * prj-proc.adb (Process): Remove restrictions between not directly
13857         related extending projects.
13858
13859 2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
13860
13861         * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
13862         (Find_Sources): Minor speed optimization.
13863
13864         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
13865         parameter Trusted_Mode.
13866
13867 2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
13868
13869         * scn.adb (Determine_License): Take into account a degenerated case
13870         when the source contains only comments.
13871
13872 2004-03-18  Ed Schonberg  <schonberg@gnat.com>
13873
13874         * sem_warn.adb (Check_References): For a warning on a selected
13875         component that does not come from source, locate an uninitialized
13876         component of the record type to produce a more precise error message.
13877
13878 2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
13879
13880         * 3zsoccon.ads: Fix multicast options.
13881
13882         * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
13883         in the spec.
13884
13885 2004-03-15  Robert Dewar  <dewar@gnat.com>
13886
13887         * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
13888         pragma used for a private type.
13889
13890         * lib-xref.adb (Generate_Reference): Do not generate warning if
13891         reference is in a different unit from the pragma Unreferenced.
13892
13893         * 5vtpopde.adb: Minor reformatting
13894         Fix casing of To_Task_ID
13895
13896         * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
13897         flag if we have an unchecked conversion to an access type in the same
13898         unit.
13899
13900 2004-03-15  Geert Bosch  <bosch@gnat.com>
13901
13902         * a-ngcoty.adb (Modulus): In alternate formula for large real or
13903         imaginary parts, use Double precision throughout.
13904
13905         * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
13906         we want to be able to compile run-time with -gnata for testing, but
13907         this may also be instantiated in user code that is compiled with -gnata.
13908
13909 2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
13910
13911         * s-stalib.ads (Exception_Code): New type, to represent Import/Export
13912         codes. Having a separate type for this is useful to enforce consistency
13913         throughout the various run-time units.
13914         (Exception_Data): Use Exception_Code for Import_Code.
13915
13916         * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
13917         Natural and Integer in various places.
13918         (Register_VMS_Exception): Use Base_Code_In to compute the exception code
13919         with the severity bits masked off.
13920         (Register_VMS_Exception): Handle the additional exception data pointer
13921         argument.
13922
13923         * raise.c (_GNAT_Exception structure): Remove the handled_by_others
13924         component, now reflected by an exported accessor.
13925         (is_handled_by): New routine to compute whether the propagated
13926         occurrence matches some handler choice specification. Extracted out of
13927         get_action_description_for, and expanded to take care of the VMS
13928         specifities.
13929         (get_action_description_for): Use is_handled_by instead of an explicit
13930         complex condition to decide if the current choice at hand catches the
13931         propagated occurrence.
13932
13933         * raise.h (Exception_Code): New type for C.
13934
13935         * rtsfind.ads (RE_Id, RE_Unit_Table): Add
13936         System.Standard_Library.Exception_Code, to allow references from the
13937         pragma import/export expander.
13938
13939         * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
13940         New accessors to allow easy access to GNAT exception data
13941         characteristics.
13942         (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
13943         redundant Handled_By_Others component, helper for the personality
13944         routine which will now be able to call the appropriate exception data
13945         accessor instead.
13946
13947         * cstand.adb (Create_Standard): Adjust the type of the Import_Code
13948         component of Standard_Exception_Type to be the closest possible to
13949         Exception_Code in System.Standard_Library, that we cannot get at this
13950         point. Expand a ??? comment to notify that this type node should
13951         probably be rewritten later on.
13952
13953         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
13954         registration call to include a pointer to the exception object in the
13955         arguments.
13956
13957         * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
13958         instead of int and explicit bitmasks.
13959
13960 2004-03-15  Vincent Celier  <celier@gnat.com>
13961
13962         * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
13963         equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
13964
13965         * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
13966         longer needed now that it is in the spec of
13967         System.Tasking.Task_Attributes.
13968
13969         * adaint.h, adaint.c: (__gnat_create_output_file): New function
13970
13971         * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
13972
13973         * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
13974
13975         * make.adb (Gnatmake): Do not check the executable suffix; it is being
13976         taken care of in Scan_Make_Arg.
13977         (Scan_Make_Arg): Add the executable suffix only if the argument
13978         following -o, in canonical case, does not end with the executable
13979         suffix.  When in verbose mode and executable file name does not end
13980         with executable suffix, output the executable name, in canonical case.
13981
13982         * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
13983         to avoid warnings when instantiating Ada.Task_Attributes.
13984         Minor reformating.
13985
13986         * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
13987         in the correct order.
13988
13989         * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
13990         redirect standard output and error to a file for the invocation of the
13991         compiler, then read the file.
13992
13993         * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
13994         directory, instead of the Value.
13995         (Find_Source_Dirs): Remove useless code & comments.
13996
13997 2004-03-15  Ed Schonberg  <schonberg@gnat.com>
13998
13999         * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
14000         tagged type is inherited, and the parent operation is not frozen yet,
14001         force generation of a freeze node for the inherited operation, so the
14002         corresponding dispatch entry is properly initialized.
14003         (Make_Predefined_Primitive_Specs): Check that return type is Boolean
14004         when looking for user-defined equality operation.
14005
14006         * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
14007         boolean when locating primitive equality of tagged component.
14008
14009         * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
14010         bit-aligned field and the right-hand side a string literal, introduce
14011         a temporary before expanding assignment into a loop.
14012
14013         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
14014         priority in full, to ensure that any expanded subepxressions of it are
14015         elaborated in the scope of the init_proc.
14016
14017         * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
14018         after object declaration, skipping over code that may have been
14019         generated for validity checks.
14020
14021         * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
14022         discriminants, ignore the known discriminants of its full view, if
14023         any, to check legality.
14024
14025         * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
14026         component if type has unknown discriminants.
14027         (Analyze_Private_Extension_Declaration): Discriminant constraint is
14028         null if type has unknown discriminants.
14029
14030         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
14031         for end label when present.
14032
14033         * s-fileio.adb (Open): When called with a C_Stream, use given name for
14034         temporary file, rather than an empty string.
14035
14036 2004-03-15  Ed Falis  <falis@gnat.com>
14037
14038         * s-thread.adb: Removed, no longer used.
14039
14040 2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14041
14042         * decl.c (target.h): Now include.
14043         (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
14044         in new build_pointer_from_mode calls for non-fat/non-thin pointer.
14045         (validate_size): For POINTER_TYPE, get smallest size permitted on
14046         machine.
14047
14048         * fe.h: Sort Einfo decls and add Set_Mechanism.
14049
14050         * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
14051         (ada/decl.o): Depends on target.h.
14052
14053         * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
14054         FUNCTION_BOUNDARY; always use TYPE_ALIGN.
14055
14056 2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
14057
14058         * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
14059
14060         * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
14061         Insert_Dereference_Action when rewriting an implicit dereference into
14062         an explicit one, this will be taken care of during expansion of the
14063         explicit dereference.
14064         (Expand_N_Slice): Same. Always do the rewriting, even for the case
14065         of non-packed slices, since the dereference action generated by
14066         expansion of the explicit dereference is needed in any case.
14067         (Expand_N_Selected_Component): When rewriting an implicit dereference,
14068         analyze and resolve the rewritten explicit dereference so it is seen
14069         by the expander.
14070         (Insert_Dereference_Action): This procedure is now called only for the
14071         expansion of an N_Explcit_Dereference_Node. Do insert a check even for
14072         dereferences that do not come from source (including explicit
14073         dereferences resulting from rewriting implicit ones), but do not
14074         recursively insert a check for the dereference nodes contained within
14075         the check.
14076         (Insert_Dereference_Action): Clarify and correct comment.
14077
14078 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
14079
14080         PR ada/14131
14081         Move language detection to the top level.
14082         * config-lang.in: Build by default.
14083
14084 2004-03-05  Robert Dewar  <dewar@gnat.com>
14085
14086         * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
14087
14088         * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
14089         i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
14090         5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
14091         5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
14092         unchecked conversion to spec to avoid warnings.
14093
14094         * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
14095         to Task_ID
14096
14097         * 7stpopsp.adb: Correct casing in To_Task_ID call
14098
14099         * a-strsea.ads, a-strsea.adb: Minor reformatting
14100
14101         * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
14102
14103         * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
14104         Adjust Max_Msg_Length to be clearly large enough.
14105
14106         * fe.h: Define In_Same_Source_Unit
14107
14108         * osint.adb: Add pragma Warnings Off to suppress warnings
14109         * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
14110         aliasing warnings.
14111
14112         * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
14113
14114         * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
14115
14116         * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
14117
14118         * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
14119
14120         * sem_prag.adb: Implement pragma No_Strict_Aliasing.
14121
14122         * sinfo.ads: Remove obsolete comment on validate unchecked conversion
14123         node. We now do generate them for gcc back end.
14124
14125         * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
14126         warning.
14127
14128         * sinput-c.adb: Fix bad name in header.
14129         Add pragma Warnings Off to suppress aliasing warning.
14130
14131         * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
14132
14133         * snames.h, snames.ads, snames.adb: Add entry for pragma
14134         No_Strict_Aliasing.
14135
14136 2004-03-05  Vincent Celier  <celier@gnat.com>
14137
14138         * prj-com.ads: Add hash table Files_Htable to check when a file name
14139         is already a source of another project.
14140
14141         * prj-nmsc.adb (Record_Source): Before recording a new source, check
14142         if its file name is not already a source of another project. Report an
14143         error if it is.
14144
14145         * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
14146         source file name, call gnatpp with all the sources of the main project.
14147
14148         * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
14149         of file names.
14150
14151         * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
14152         NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
14153         /RUNTIME_SYSTEM=, converted to --RTS=
14154         /NOTABS, converted to -notabs
14155
14156 2004-03-05  Pascal Obry  <obry@gnat.com>
14157
14158         * make.adb: Minor reformatting.
14159
14160 2004-03-05  Ed Schonberg  <schonberg@gnat.com>
14161
14162         Part of implemention of AI-262.
14163         * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
14164
14165         * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
14166         procedure.
14167
14168         * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
14169         when component type is a partially constrained class-wide subtype.
14170         (Constrain_Discriminated_Type): If parent type has unknown
14171         discriminants, a constraint is illegal, even if full view has
14172         discriminants.
14173         (Build_Derived_Record_Type): Inherit discriminants when deriving a type
14174         with unknown discriminants whose full view is a discriminated record.
14175
14176         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
14177         flag, to handle properly derivations of tagged types with unknown
14178         discriminants.
14179         (Analyze_Package_Spec, Analyze_Package_Body): Install
14180         Private_With_Clauses before analyzing private part or body.
14181
14182         * einfo.ads: Indicate that both Has_Unknown_Discriminants and
14183         Has_Discriminants can be true for a given type (documentation).
14184
14185 2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
14186
14187         * s-restri.ads: Fix license (GPL->GMGPL).
14188
14189         * s-tassta.adb: Minor reformatting.
14190
14191         * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
14192         by calls to Exit_One_ATC_Level, since additional clean up is performed
14193         by this function.
14194
14195         * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
14196         by calls to Exit_One_ATC_Level, since additional clean up is performed
14197         by this function.
14198
14199 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14200
14201         * trans.c: Reflect GCC changes to fix bootstrap problem.
14202         Add warning for suspicious aliasing unchecked conversion.
14203
14204 2004-03-05  GNAT Script  <nobody@gnat.com>
14205
14206         * Make-lang.in: Makefile automatically updated
14207
14208 2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
14209
14210         * ali.adb (Read_Instantiation_Instance): Do not modify the
14211         current_file_num when reading information about instantiations, since
14212         this corrupts files in later references.
14213
14214 2004-03-02  Vincent Celier  <celier@gnat.com>
14215
14216         * bcheck.adb (Check_Consistency): Get the full path of an ALI file
14217         before checking if it is read-only.
14218
14219         * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
14220         of SRC_DIRS and eliminate duplicates.
14221
14222         * gprcmd.adb: Replace command "path" with command "path_sep" to return
14223         the path separator.
14224         (Usage): Document path_sep
14225
14226         * Makefile.generic: For Ada and GNU C++ cases, link directly with the
14227         C++ compiler. No need for a script.
14228         Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
14229         Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
14230         subst.
14231
14232         * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
14233         where there are Ada sources.
14234         (Set_Ada_Paths): Only add to the include path the source dirs of project
14235         with Ada sources.
14236         (Add_To_Path): Add the Display_Values of the directories, not their
14237         Values.
14238
14239         * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
14240         data.
14241
14242         * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
14243         is not No_Name.
14244         (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
14245         Value is canonicalized.
14246         (Language_Independent_Check): Do not copy Value to Display_Value when
14247         canonicalizing Value.
14248
14249         * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
14250         path to find limited with cycles.
14251         (Parse_Single_Project): Use canonical cased path to find the end of a
14252         with cycle.
14253
14254 2004-03-02  Ed Schonberg  <schonberg@gnat.com>
14255
14256         * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
14257         and not a child unit.
14258
14259         * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
14260         appear in a with_clause.
14261
14262         * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
14263         only happen in type_annotate mode, do not try to elaborate it.
14264
14265         * exp_util.adb (Force_Evaluation): If expression is a selected
14266         component on the left of an assignment, use a renaming rather than a
14267         temporary to remove side effects.
14268
14269         * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
14270         inlined instance body, which is analyzed before the end of the
14271         enclosing scope.
14272
14273 2004-03-02  Robert Dewar  <dewar@gnat.com>
14274
14275         * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
14276         sem_ch4.adb: Use new feature for substitution of keywords in VMS
14277
14278         * errout.ads, errout.adb: Implement new circuit for substitution of
14279         keywords in VMS.
14280
14281         * sem_case.adb (Analyze_Choices): Place message properly when case is
14282         a subtype reference rather than an explicit range.
14283
14284         * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
14285
14286 2004-03-02  Doug Rupp  <rupp@gnat.com>
14287
14288         * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
14289
14290 2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
14291
14292         * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
14293
14294 2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14295
14296         * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
14297         BLKmode bitfield.
14298
14299 2004-02-25  Robert Dewar  <dewar@gnat.com>
14300
14301         * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
14302         55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
14303         5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
14304         5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
14305         5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
14306         5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
14307         the defining instance of the type to avoid aliasing problems.
14308         Fix copyright header.  Fix bad comments in package header.
14309
14310         * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
14311
14312 2004-02-25  Ed Schonberg  <schonberg@gnat.com>
14313
14314         * exp_ch2.adb (Param_Entity): Handle properly formals that have been
14315         rewritten as references when aliased through an address clause.
14316
14317         * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
14318         whether call can be interpreted as an indirect call to the result of a
14319         parameterless function call returning an access subprogram.
14320
14321 2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
14322
14323         Code clean up:
14324         * exp_ch7.adb (Make_Clean): Remove generation of calls to
14325         Unlock[_Entries], since this is now done by Service_Entries directly.
14326
14327         * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
14328
14329         * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
14330         Requeue_Call for better code readability. Change spec and update calls:
14331         PO_Service_Entries now unlock the PO on exit.
14332         (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
14333         PO_Service_Entries.
14334
14335         * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
14336
14337         * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
14338
14339 2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
14340
14341         * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
14342         protected subprogram call and analyzing the result of such expanding
14343         in case when the called protected subprogram is eliminated.
14344
14345         * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
14346         names.
14347
14348 2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
14349
14350         * Makefile.in: Clean ups.
14351
14352 2004-02-23  Ed Schonberg  <schonberg@gnat.com>
14353
14354         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
14355         protected operations if original subprogram is flagged as eliminated.
14356         (Expand_N_Subprogram_Body): For a protected operation, create
14357         discriminals for next operation before checking whether the operation
14358         is eliminated.
14359
14360         * exp_ch9.adb (Expand_N_Protected_Body,
14361         Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
14362         for internal protected operations if the original subprogram is
14363         eliminated.
14364
14365         * sem_elim.adb (Check_Eliminated): Handle properly protected operations
14366         declared in a single protected object.
14367
14368 2004-02-23  Vincent Celier  <celier@gnat.com>
14369
14370         * prj-attr.adb: Make attribute Builder'Executable an associative array,
14371         case insensitive if file names are case insensitive, instead of a
14372         standard associative array.
14373
14374         * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
14375         them as case insensitive on platforms where the file names are case
14376         sensitive.
14377
14378         * prj-part.adb (Parse_Single_Project): Make sure, when checking if
14379         project file has already been parsed that canonical path are compared.
14380
14381 2004-02-23  Robert Dewar  <dewar@gnat.com>
14382
14383         * sinput-c.ads: Correct bad unit title in header
14384
14385         * freeze.adb: Minor reformatting
14386
14387 2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14388
14389         * trans.c (tree_transform, case N_Procedure_Call_Statement): For
14390         nonaddressable COMPONENT_REF that is removing padding that we are
14391         taking the address of, take the address of the padded record instead
14392         if item is variable size.
14393
14394 2004-02-20  Robert Dewar  <dewar@gnat.com>
14395
14396         * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
14397
14398 2004-02-20  Ed Schonberg  <schonberg@gnat.com>
14399
14400         * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
14401         itype references for the constrained designated type of a component
14402         whose base type is already frozen.
14403
14404 2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
14405
14406         * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
14407         avoid GCC warnings.
14408
14409 2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
14410
14411         * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
14412         identifier for a phantom package that rewrites the formal package
14413         declaration with a box. The Add semantic decorations for the defining
14414         identifier from the original node (that represents the formal package).
14415
14416 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
14417
14418         * Make-lang.in (ada/stamp-sdefault): Use the top level
14419         move-if-change.
14420
14421 2004-02-19  Richard Henderson  <rth@redhat.com>
14422
14423         * misc.c (record_code_position): Add third build arg for RTL_EXPR.
14424
14425 2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
14426
14427         * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
14428         Scan_ALI can be used for multiple ALI files without reinitializing
14429         between calls.
14430
14431 2004-02-18  Robert Dewar  <dewar@gnat.com>
14432
14433         * debug.adb: Minor reformatting.
14434
14435 2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14436
14437         * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
14438         to zero if there is an address clause.
14439
14440 2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
14441
14442         * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
14443
14444 2004-02-18  Gary Dismukes  <dismukes@gnat.com>
14445
14446         * layout.adb (Layout_Component_List): Revise generation of call to
14447         discriminant-checking function to pass selections of all of the type's
14448         discriminants rather than just the variant-controlling discriminant.
14449
14450 2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
14451
14452         * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
14453         fail in the current setup and triggers spurious system error messages.
14454         Pretend it occurred and failed instead.
14455
14456 2004-02-18  Vincent Celier  <celier@gnat.com>
14457
14458         * bld.adb: Mark FLDFLAGS as saved
14459         (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
14460         it is not the root project.  Put each directory to be
14461         extended between double quotes to prevent it to be expanded on Windows.
14462         (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
14463         the project file. Set them back to their initial values if they have not
14464         been set in the project file.
14465
14466         * gprcmd.adb: (Gprdebug, Debug): New global variables
14467         (Display_Command): New procedure
14468         (Usage): Document new command "linkopts"
14469         Call Display_Command when env var GPRDEBUG has the value "TRUE"
14470         Implement new command "linkopts"
14471         Remove quotes that may be around arguments for "extend"
14472         Always call Normalize_Pathname with arguments formatted for the platform
14473
14474         * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
14475         Change @echo to @$(display) in target clean to be able to clean silently
14476
14477         * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
14478
14479         * prj-part.adb (Project_Path_Name_Of): Do not put final result in
14480         canonical case.
14481
14482         * prj-part.adb (Parse_Single_Project): Always call with From_Extended
14483         = Extending_All when current project is an extending all project.
14484
14485         * vms_conv.adb (Output_File_Expected): New Boolean global variable,
14486         set to True only for LINK command, after Unix switch -o.
14487         (Process_Arguments): Set Output_File_Expected to True for LINK command
14488         after Unix switch -o. When Output_File_Expected is True, never add an
14489         extension to a file name.
14490
14491         * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
14492         option file name, only to the --for-linker= switch.
14493         (Option_File_Name): If option file name do not end with ".opt", append
14494         "/OPTIONS".
14495
14496 2004-02-18  GNAT Script  <nobody@gnat.com>
14497
14498         * Make-lang.in: Makefile automatically updated
14499
14500 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
14501
14502         * Make-lang.in (stamp-sdefault): Do not depend on
14503         move-if-change.
14504
14505 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
14506
14507         * config-lang.in: Disable Ada by default until probe logic for
14508         a bootstrap Ada compiler can be moved to the top level configure
14509         script.
14510
14511 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
14512
14513         * decl.c (components_to_record): Don't claim that the internal fields
14514         we make to hold the variant parts are semantically addressable, because
14515         they are not.
14516
14517         * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
14518         adjust the comment describing the modular type form when we can use it.
14519         (Install_PAT): Account for the Esiz renaming.
14520
14521         * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
14522         sc_onstack context indication before raising the exception to which
14523         the signal is mapped. Allows better handling of later signals possibly
14524         triggered by the resumed user code if the exception is handled.
14525
14526 2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
14527
14528         * 5zinit.adb: Removed, no longer used.
14529
14530 2004-02-12  Robert Dewar  <dewar@gnat.com>
14531
14532         * ali.adb: Remove separating space between parameters on R line. Makes
14533         format consistent with format used by the binder for Set_Globals call.
14534
14535         * atree.ads, atree.adb: Minor reformatting (new function header format)
14536
14537         * bindgen.adb: Add Run-Time Globals documentation section containing
14538         detailed documentation of the globals passed from the binder file to
14539         the run time.
14540
14541         * gnatls.adb: Minor reformatting
14542
14543         * init.c (__gnat_set_globals): Add note pointing to documentation in
14544         bindgen.
14545
14546         * lib-writ.ads, lib-writ.adb: Remove separating space between
14547         parameters on R line.
14548         Makes format consistent with format used by the binder for Set_Globals
14549         call.
14550
14551         * osint.ads: Add 2004 to copyright notice
14552         Minor reformatting
14553
14554         * snames.ads: Correct capitalization of FIFO_Within_Priorities
14555         Noticed during code reading, documentation issue only
14556
14557         * usage.adb: Remove junk line for obsolete C switch
14558         Noticed during code reading
14559
14560 2004-02-12  Vincent Celier  <celier@gnat.com>
14561
14562         * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
14563         extend for each directory, so that multiple /** directories are
14564         extended individually.
14565         (Recursive_Process): Set the default for LANGUAGES to ada
14566
14567         * gprcmd.adb: Define new command "ignore", to do nothing.
14568         Implement new comment "path".
14569
14570         * Makefile.generic: Suppress output when SILENT is set
14571         Make sure that when compiler for C/C++ is gcc, the correct -x switch is
14572         used, so that the correct compiler is invoked.
14573         When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
14574         CXX_INCLUDE_PATH, to avoid failure with too long command lines.
14575
14576 2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
14577
14578         * Makefile.in: Clean ups and remove obsolete targets.
14579
14580 2004-02-12  Ed Schonberg  <schonberg@gnat.com>
14581
14582         * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
14583         predicate declared in exp_util.
14584
14585         * exp_util.adb: Add comments.
14586
14587         * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
14588         visibility before compiling context of the subunit.
14589
14590         * sem_res.adb (Check_Parameterless_Call): If the context expects a
14591         value but the name is a procedure, do not attempt to analyze as a call,
14592         in order to obtain more telling diagnostics.
14593
14594         * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
14595         'Access on parameterless function calls.
14596         (Normalize_Actuals): For a parameterless function call with missing
14597         actuals, defer diagnostic until resolution of enclosing call.
14598
14599         * sem_util.adb (Wrong_Type): If the context type is an access to
14600         subprogram and the expression is a procedure name, suggest a missing
14601         'attribute.
14602
14603 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
14604             Nathanael Nerode  <neroden@gcc.gnu.org>
14605
14606         PR ada/6637, PR ada/5911
14607         Merge with libada-branch:
14608         * config-lang.in: Build libada only when ada is built.
14609
14610 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
14611
14612         * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
14613         for a tagged type, verify that both formals have the same type.
14614
14615         * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
14616         temporary when the formal is an in-parameter and the actual a possibly
14617         unaligned slice.
14618
14619         * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
14620         when expansion is disabled, to ensure proper name capture with
14621         overloaded literals.  Condition can be of any boolean type, resolve
14622         accordingly.
14623
14624         * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
14625         renaming is for a formal subprogram with a default operator name, and
14626         there is a usable operator that is visible at the point of
14627         instantiation.
14628
14629 2004-02-09  Robert Dewar  <dewar@gnat.com>
14630
14631         * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
14632         rewrite to ignore errors in ali files, intended to allow tools downward
14633         compatibility with new versions of ali files.
14634
14635         * ali.ads: Add new parameter Ignore_Errors
14636
14637         * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
14638         duplicating the error message giving the file with restrictions.
14639
14640         * debug.adb: Add debug flag I for gnatbind
14641
14642         * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
14643         operators for the case where the operator is a defining operator.
14644
14645         * exp_ch3.adb: Minor reformatting (new function spec format).
14646
14647         * exp_ch4.adb: Add comment for previous change, and make minor
14648         adjustment to loop to always check for improper loop termination.
14649         Minor reformatting throughout (new function spec format).
14650
14651         * gnatbind.adb: Implement -di debug flag for gnatbind
14652
14653         * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
14654
14655         * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
14656
14657         * lib-load.adb: Fix bad assertion.
14658         Found by testing and code reading.
14659         Minor reformatting.
14660
14661         * lib-load.ads: Minor reformatting.
14662
14663         * lib-writ.adb: There is only one R line now.
14664
14665         * lib-writ.ads: Add documentation on making downward compatible changes
14666         to ali files so old tools work with new ali files.
14667         There is only one R line now.
14668         Add documentation on format incompatibilities (with special GPS note)
14669
14670         * namet.ads, namet.adb: (Is_Operator_Name): New procedure
14671
14672         * par-load.adb: Minor reformatting
14673
14674         * sem_ch8.adb: Fix to error message from last update
14675         Minor reformatting and restructuring of code from last update
14676
14677         * par-prag.adb, snames.adb, snames.ads, snames.h,
14678         sem_prag.adb: Implement pragma Profile.
14679
14680         * stylesw.adb: Implement -gnatyN switch to turn off all style check
14681         options.
14682
14683         * usage.adb: Add line for -gnatyN switch
14684
14685         * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
14686
14687 2004-02-09  Albert Lee  <lee@gnat.com>
14688
14689         * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
14690
14691 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
14692
14693         * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
14694         slices.
14695
14696         * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
14697         is nested in an instance that is not frozen yet, to avoid
14698         order-of-elaboration problems in gigi.
14699
14700         * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
14701         body the attribute is legal.
14702
14703 2004-02-09  Robert Dewar  <dewar@gnat.com>
14704
14705         * s-rident.ads: Minor comment correction
14706
14707         * targparm.adb: Remove dependence on uintp completely. There was
14708         always a bug in Make in that it called Targparm before initializing
14709         the Uint package. The old code appeared to get away with this, but
14710         the new code did not! This caused an assertion error in gnatmake.
14711
14712         * targparm.ads: Fix bad comment, restriction pragmas with parameters
14713         are indeed fully supported.
14714
14715 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
14716
14717         * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
14718
14719 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
14720
14721         * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
14722         with targetm.calls.promote_prototypes.
14723
14724 2004-02-04  Robert Dewar  <dewar@gnat.com>
14725
14726         * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
14727         ali.ads, gprcmd.adb: Minor reformatting
14728
14729         * bindgen.adb: Output restrictions string for new style restrictions
14730         handling
14731
14732         * impunit.adb: Add s-rident.ads (System.Rident) and
14733         s-restri (System.Restrictions)
14734
14735         * lib-writ.adb: Fix bug in writing restrictions string (last few
14736         entries wrong)
14737
14738         * s-restri.ads, s-restri.adb: Change name Restrictions to
14739         Run_Time_Restrictions to avoid conflict with package name.
14740         Add circuit to read and acquire run time restrictions.
14741
14742 2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
14743
14744         * restrict.ads, restrict.adb: Use the new restriction
14745         No_Task_Attributes_Package instead of the old No_Task_Attributes.
14746
14747         * sem_prag.adb: No_Task_Attributes is a synonym of
14748         No_Task_Attributes_Package.
14749
14750         * snames.ads, snames.adb: New entry for proper handling of
14751         No_Task_Attributes.
14752
14753         * s-rident.ads: Adding restriction No_Task_Attributes_Package
14754         (AI-00249) that supersedes the GNAT specific restriction
14755         No_Task_Attributes.
14756
14757 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
14758
14759         * sem_prag.adb:
14760         (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
14761          body, an identifier may be wrapped in an unchecked conversion.
14762
14763 2004-02-04  Vincent Celier  <celier@gnat.com>
14764
14765         * lib-writ.ads: Comment update for the W lines
14766
14767         * bld.adb: (Expression): An empty string list is static
14768
14769         * fname-uf.adb: Minor comment update
14770
14771         * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
14772
14773         * gnatbind.adb: Initialize Cumulative_Restrictions with the
14774         restrictions on the target.
14775
14776 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
14777
14778         * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
14779         gen_rtx.
14780
14781 2004-02-02  Arnaud Charlet  <charlet@gnat.com>
14782
14783         * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
14784
14785 2004-02-02  Vincent Celier  <celier@gnat.com>
14786
14787         * gprcmd.adb (Check_Args): If condition is false, print the invoked
14788         comment before the usage.
14789         Gprcmd: Fail when command is not recognized.
14790         (Usage): Document command "prefix"
14791
14792         * g-md5.adb (Digest): Process last block.
14793         (Update): Do not process last block. Store remaining characters and
14794         length in Context.
14795
14796         * g-md5.ads (Update): Document that several call to update are
14797         equivalent to one call with the concatenated string.
14798         (Context): Add fields to allow new Update behaviour.
14799
14800         * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
14801         defaulted to False.
14802         When May_Fail is True and no existing file can be found, return No_File.
14803
14804         * 6vcstrea.adb: Inlined functions are now wrappers to implementation
14805         functions.
14806
14807         * lib-writ.adb (Write_With_Lines): When body file does not exist, use
14808         spec file name instead on the W line.
14809
14810 2004-02-02  Robert Dewar  <dewar@gnat.com>
14811
14812         * ali.adb: Read and acquire info from new format restrictions lines
14813
14814         * bcheck.adb: Add circuits for checking restrictions with parameters
14815
14816         * bindgen.adb: Output dummy restrictions data
14817         To be changed later
14818
14819         * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
14820         exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
14821         freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
14822         sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
14823         sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
14824
14825         * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
14826         the warning message on access to possibly uninitialized variable S)
14827         Minor changes for new restrictions handling.
14828
14829         * gnatbind.adb: Minor reformatting
14830         Minor changes for new restrictions handling
14831         Move circuit for -r processing here from bcheck (cleaner)
14832
14833         * gnatcmd.adb, gnatlink.adb: Minor reformatting
14834
14835         * lib-writ.adb: Output new format restrictions lines
14836
14837         * lib-writ.ads: Document new R format lines for new restrictions
14838         handling.
14839
14840         * s-restri.ads/adb: New files
14841
14842         * Makefile.rtl: Add entry for s-restri.ads/adb
14843
14844         * par-ch3.adb: Fix bad error messages starting with upper case letter
14845         Minor reformatting
14846
14847         * restrict.adb: Major rewrite throughout for new restrictions handling
14848         Major point is to handle restrictions with parameters
14849
14850         * restrict.ads: Major changes in interface to handle restrictions with
14851         parameters. Also generally simplifies setting of restrictions.
14852
14853         * snames.ads/adb: New entry for proper handling of No_Requeue
14854
14855         * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
14856         restriction counting.
14857         Other minor changes for new restrictions handling
14858
14859         * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
14860         Restriction_Warnings now allows full parameter notation
14861         Major rewrite of Restrictions for new restrictions handling
14862
14863 2004-02-02  Javier Miranda  <miranda@gnat.com>
14864
14865         * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
14866         syntax rule for object renaming declarations.
14867         (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
14868         component definitions.
14869
14870         * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
14871         components.
14872         (Array_Type_Declaration): Give support to access components. In addition
14873         it was also modified to reflect the name of the object in anonymous
14874         array types. The old code did not take into account that it is possible
14875         to have an unconstrained anonymous array with an initial value.
14876         (Check_Or_Process_Discriminants): Allow access discriminant in
14877         non-limited types.
14878         (Process_Discriminants): Allow access discriminant in non-limited types
14879         Initialize the new Access_Definition field in N_Object_Renaming_Decl
14880         node.  Change Ada0Y to Ada 0Y in comments
14881
14882         * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
14883         equality operators.
14884         Change Ada0Y to Ada 0Y in comments
14885
14886         * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
14887         renamings Change Ada0Y to Ada 0Y in comments
14888
14889         * sem_type.adb (Find_Unique_Type): Give support to the equality
14890         operators for universal access types
14891         Change Ada0Y to Ada 0Y in comments
14892
14893         * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
14894
14895         * sinfo.ads (N_Component_Definition): Addition of Access_Definition
14896         field.
14897         (N_Object_Renaming_Declaration): Addition of Access_Definition field
14898         Change Ada0Y to Ada 0Y in comments
14899
14900         * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
14901         component definition and object renaming nodes
14902         Change Ada0Y to Ada 0Y in comments
14903
14904 2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
14905
14906         * restrict.adb: Use the new restriction identifier
14907         No_Requeue_Statements instead of the old No_Requeue for defining the
14908         restricted profile.
14909
14910         * sem_ch9.adb (Analyze_Requeue): Check the new restriction
14911         No_Requeue_Statements.
14912
14913         * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
14914         that supersedes the GNAT specific restriction No_Requeue. The later is
14915         kept for backward compatibility.
14916
14917 2004-02-02  Ed Schonberg  <schonberg@gnat.com>
14918
14919         * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
14920         5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
14921         pragma and fix incorrect ones.
14922
14923         * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
14924         warning if the pragma is redundant.
14925
14926 2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
14927
14928         * 5staprop.adb: Add missing 'constant' keywords.
14929
14930         * Makefile.in: use consistent value for SYMLIB on
14931         platforms where libaddr2line is supported.
14932
14933 2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14934
14935         * utils.c (end_subprog_body): Do not call rest_of_compilation if just
14936         annotating types.
14937
14938 2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
14939
14940         * init.c (__gnat_install_handler): Setup an alternate stack for signal
14941         handlers in the environment thread. This allows proper propagation of
14942         an exception on stack overflows in this thread even when the builtin
14943         ABI stack-checking scheme is used without support for a stack reserve
14944         region.
14945
14946         * utils.c (create_field_decl): Augment the head comment about bitfield
14947         creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
14948         here, because the former is not accurate enough at this point.
14949         Let finish_record_type decide instead.
14950         Don't make a bitfield if the field is to be addressable.
14951         Always set a size for the field if the record is packed, to ensure the
14952         checks for bitfield creation are triggered.
14953         (finish_record_type): During last pass over the fields, clear
14954         DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
14955         not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
14956         from DECL_BIT_FIELD.
14957
14958 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
14959
14960         * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
14961         (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
14962         (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
14963
14964 2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14965
14966         * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
14967
14968         * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
14969         (ZCX_By_Default): Likewise.
14970         (Front_End_ZCX_Support): Likewise.
14971
14972         * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
14973         (Initialize_Lock): Mark Level unreferenced.
14974         (Sleep): Mark Reason unreferenced.
14975         (Timed_Sleep): Likewise.
14976         (Wakeup): Likewise.
14977         (Exit_Task): Use Result.
14978         (Check_No_Locks): Mark Self_ID unreferenced.
14979
14980         * 5gtasinf.adb (New_Sproc): Make Attr constant.
14981         (Bound_Thread_Attributes): Make Sproc constant.
14982         (New_Bound_Thread_Attributes): Likewise.
14983
14984 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
14985
14986         * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
14987         one-dimensional array an slice assignments, when component type is
14988         controlled.
14989
14990         * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
14991         component type is controlled, and control_actions are in effect, use
14992         TSS procedure rather than generating inline code.
14993
14994         * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
14995         arrays with controlled components.
14996
14997 2004-01-26  Vincent Celier  <celier@gnat.com>
14998
14999         * gnatcmd.adb (GNATCmd): Add specification of argument file on the
15000         command line for the non VMS case.
15001
15002         * gnatlink.adb (Process_Binder_File): When building object file, if
15003         GNU linker is used, put all object paths between quotes, to prevent ld
15004         error when there are unusual characters (such as '!') in the paths.
15005
15006         * Makefile.generic: When there are sources in Ada and the main is in
15007         C/C++, invoke gnatmake with -B, instead of -z.
15008
15009         * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
15010         from VMS_Conversion.
15011         (Process_Argument): New procedure, extracted from VMS_Conversion. Add
15012         specification of argument file on the command line.
15013
15014 2004-01-26  Bernard Banner  <banner@gnat.com>
15015
15016         * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
15017
15018 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
15019
15020         * snames.adb: Update copyright notice.
15021         Add info on slice assignment for controlled arrays.
15022
15023 2004-01-23  Robert Dewar  <dewar@gnat.com>
15024
15025         * exp_aggr.adb: Minor reformatting
15026
15027         * exp_ch9.adb: Minor code clean up
15028         Minor reformatting
15029         Fix bad character in comment
15030
15031         PR ada/13471
15032         * targparm.adb (Get_Target_Parameters): Give clean abort error on
15033         unexpected end of file, along with more detailed message.
15034
15035 2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15036
15037         * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
15038         PAT.
15039
15040         * decl.c (copy_alias_set): New function.
15041         (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
15042
15043 2004-01-23  Doug Rupp  <rupp@gnat.com>
15044
15045         * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
15046         lib$${file} in case subsequent character is not a separator.
15047
15048 2004-01-23  Vincent Celier  <celier@gnat.com>
15049
15050         * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
15051         when the GCC version is at least 3.
15052
15053         * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
15054         Remove all "Opt.", to prepare for opt split
15055
15056         * prj-part.adb (Parse_Single_Project): New Boolean out parameter
15057         Extends_All. Set to True when the project parsed is an extending all
15058         project. Fails for importing an extending all project only when the
15059         imported project is an extending all project.
15060         (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
15061         depending on the value of Extends_All returned.
15062
15063         * prj-proc.adb (Process): Check that no project shares its object
15064         directory with a project that extends it, directly or indirectly,
15065         including a virtual project.
15066         Check that no project extended by another project shares its object
15067         directory with another also extended project.
15068
15069         * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
15070         Kind = N_With_Clause
15071
15072         * prj-tree.ads: Minor reformatting
15073         Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
15074
15075 2004-01-23  Ed Schonberg  <schonberg@gnat.com>
15076
15077         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
15078         applies to a type with an incomplete view, use full view in Name of
15079         clause, for consistency with uses of Get_Attribute_Definition_Clause.
15080
15081 2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
15082
15083         * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
15084         SCHED_RR, since other values are not supported by this policy.
15085         (Initialize): Move initialization of mutex attribute to package
15086         elaboration, to prevent early access to this variable.
15087
15088         * Makefile.in: Remove mention of Makefile.adalib, unused.
15089
15090         * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
15091         1ssecsta.ads: Removed, unused.
15092
15093 2004-01-21  Javier Miranda  <miranda@gnat.com>
15094
15095         * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
15096         entity if already built in the current scope.
15097
15098         * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
15099         reminder in internal scopes. Required for nested limited aggregates.
15100
15101 2004-01-21  Doug Rupp  <rupp@gnat.com>
15102
15103         * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
15104         VMS. Replace all occurences of libgnat- and libgnarl- with
15105         libgnat$(hyphen) and libgnarl$(hyphen).
15106         Fixed shared library build problem on VMS.
15107
15108 2004-01-21  Robert Dewar  <dewar@gnat.com>
15109
15110         * mlib-prj.adb: Minor reformatting
15111
15112 2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
15113
15114         * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
15115         'constant' keywords for declaration of pointers that are not modified.
15116
15117         * exp_pakd.adb: Fix English in comment.
15118
15119 2004-01-21  Ed Schonberg  <schonberg@gnat.com>
15120
15121         PR ada/10889
15122         * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
15123         copy all attributes of the parent, including the foreign language
15124         convention.
15125
15126 2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
15127
15128         PR ada/10565
15129         * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
15130         for 'delay until' statement.
15131
15132 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
15133
15134         * Make-lang.in: Replace $(docdir) with doc.
15135         (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
15136         doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
15137         to use consistent MAKEINFO rule.
15138         (ada.man, ada.srcman): Dummy entry.
15139         (ADA_INFOFILES): Define.
15140         (ada.info, ada.srcinfo): New rules.
15141
15142 2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
15143
15144         * utils.c: Update copyright notice, missed in previous change.
15145
15146 2004-01-19  Vincent Celier  <celier@gnat.com>
15147
15148         * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
15149         args if Bind is True. Set First_ALI, if not already done.
15150         (Build_Library): For Stand Alone Libraries, extract from one ALI file
15151         an eventual --RTS switch, for gnatbind, and all backend switches +
15152         --RTS, for linking.
15153
15154 2004-01-19  Robert Dewar  <dewar@gnat.com>
15155
15156         * sem_attr.adb, memtrack.adb: Minor reformatting
15157
15158 2004-01-19  Ed Schonberg  <schonberg@gnat.com>
15159
15160         * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
15161         that rename enumeration literals. This is properly done in sem_eval.
15162
15163         * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
15164         to functions that rename enumeration literals.
15165
15166         * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
15167         functions that rename enumeration literals.
15168
15169 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
15170
15171         * Make-lang.in (utils.o): Depend on target.h.
15172         * utils.c: Include target.h.
15173         (process_attributes): Use targetm.have_named_sections instead
15174         of ASM_OUTPUT_SECTION_NAME.
15175
15176 2004-01-16  Andreas Jaeger  <aj@suse.de>
15177
15178         * Makefile.in: Add $(DESTDIR).
15179
15180 2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
15181
15182         * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
15183         also when not defining if a Size clause applies. That information is
15184         not to be ignored.
15185
15186 2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
15187
15188         * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
15189         symbolic links for the shared gnat run time when needed.
15190
15191 2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
15192
15193         * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
15194         for writing, and terminate with an error message if not.
15195
15196 2004-01-15  Ed Schonberg  <schonberg@gnat.com>
15197
15198         * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
15199         warning on an access to subprogram in an instance, when the target
15200         type is declared in the same generic unit.
15201         (Eval_Attribute): If 'access is known to fail accessibility check,
15202         rewrite as a raise statement.
15203
15204 2004-01-15  GNAT Script  <nobody@gnat.com>
15205
15206         * Make-lang.in: Makefile automatically updated
15207
15208 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
15209
15210         * Make-lang.in (ada.srcextra): Dummy entry.
15211
15212 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
15213
15214         * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
15215
15216 2004-01-13  Ed Schonberg  <schonberg@gnat.com>
15217
15218         * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
15219         components that are initialized with aggregates.
15220
15221 2004-01-13  Vincent Celier  <celier@gnat.com>
15222
15223         * gnatlink.adb (Process_Binder_File): To find directory of shared
15224         libgcc, if "gcc-lib" is not a subdirectory, look for the last
15225         subdirectory "lib" in the path of the shared libgnat or libgnarl.
15226
15227         * make.adb (Gnatmake): If GCC version is at least 3, link with
15228         -shared-libgcc, when there is at least one shared library project.
15229
15230         * opt.ads (GCC_Version): New integer constant.
15231
15232         * adaint.c (get_gcc_version): New function.
15233
15234 2004-01-13  Robert Dewar  <dewar@gnat.com>
15235
15236         * sem_dist.adb, sem_res.adb, sem_util.adb,
15237         sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
15238         exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
15239
15240 2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
15241
15242         * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
15243         g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
15244         declarations.
15245
15246 2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
15247
15248         * misc.c: Remove trailing spaces.
15249         Update copyright notice missed in previous change.
15250
15251         PR ada/13572
15252         * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
15253         prefix/share/make
15254
15255         * Makefile.generic: Update copyright.
15256         Add license notice.
15257
15258         * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
15259         of prefix/share/make.
15260
15261         * Makefile.prolog: Update copyright.
15262         Add license notice.
15263
15264 2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
15265
15266         * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
15267         3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
15268         g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
15269         instead of String.
15270
15271         * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
15272         signature.
15273
15274 2004-01-12  Javier Miranda  <miranda@gnat.com>
15275
15276         * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
15277         exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
15278         sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
15279         sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
15280         Component_Definition node.
15281
15282 2004-01-12  Ed Falis  <falis@gnat.com>
15283
15284         * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
15285
15286 2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
15287
15288         * link.c: Change default libgnat kind to STATIC for FreeBSD.
15289
15290 2004-01-12  Bernard Banner  <banner@gnat.com>
15291
15292         * Makefile.in: map 86numaux to a-numaux for x86_64
15293
15294 2004-01-12  Ed Schonberg  <schonberg@gnat.com>
15295
15296         * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
15297         generated to rename a generic actual, go to the actual itself, the
15298         subtype is not a user-visible entity.
15299
15300         * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
15301         part is a private subtype, reset the visibility of its full view, if
15302         any, to be consistent.
15303
15304         PR ada/13417
15305         * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
15306         to use a generic package G as a formal package for another generic
15307         declared within G.
15308
15309 2004-01-12  Robert Dewar  <dewar@gnat.com>
15310
15311         * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
15312
15313         * usage.adb: Remove mention of obsolete -gnatwb switch
15314         Noticed during code reading
15315
15316 2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
15317
15318         * 1ssecsta.adb: Minor changes for -gnatwa warnings
15319
15320 2004-01-12  GNAT Script  <nobody@gnat.com>
15321
15322         * Make-lang.in: Makefile automatically updated
15323
15324 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
15325
15326         * misc.c (gnat_expand_expr): Add alt_rtl parameter.
15327
15328 2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15329
15330         * link.c [sgi] (shared_libgnat_default): Change to STATIC.
15331
15332 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
15333
15334         * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
15335         Update comment and copyright date.
15336         * stamp-xgnatug: Delete.
15337
15338 2004-01-05  Robert Dewar  <dewar@gnat.com>
15339
15340         * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
15341         be modified by the binder generated main program if the -D switch is
15342         used.
15343
15344         * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
15345         imported functions (since now we expect this to be done for imported
15346         functions)
15347
15348         * 5vtaprop.adb: Add several ??? for sections requiring more comments
15349         Minor reformatting throughout
15350
15351         * 5zinit.adb: Minor reformatting
15352         Add 2004 to copyright date
15353         Minor changes to avoid -gnatwa warnings
15354         Correct some instances of using OR instead of OR ELSE (noted while
15355         doing reformatting)
15356
15357         * sprint.adb: Minor updates to avoid -gnatwa warnings
15358
15359         * s-secsta.ads, s-secsta.adb:
15360         (SS_Get_Max): New function to obtain high water mark for ss stack
15361         Default_Secondary_Stack is not a constant since it may be modified by
15362         the binder generated main program if the -D switch is used.
15363
15364         * switch-b.adb: New -Dnnn switch for binder
15365
15366         * switch-c.adb:
15367         Make -gnatg imply all warnings currently in -gnatwa
15368
15369         * vms_conv.adb: Minor reformatting
15370         Add 2004 to copyright notice
15371         Add 2004 to printed copyright notice
15372
15373         * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
15374         3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
15375         5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
15376         5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
15377         5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
15378         5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
15379         5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
15380         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
15381         5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
15382         5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
15383         6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
15384         vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
15385         xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
15386         sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
15387         checks.adb, clean.adb, cstand.adb, einfo.ads,
15388         einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
15389         exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
15390         prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
15391         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
15392         g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
15393         lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
15394         Minor reformatting and code clean ups.
15395         Minor changes to prevent -gnatwa warnings
15396
15397         * ali.adb: Minor reformatting and cleanup of code
15398         Acquire new SS indication of secondary stack use from ali files
15399
15400         * a-numaux.ads: Add Pure_Function pragmas for all imported functions
15401         (since now we expect this to be done for imported functions)
15402
15403         * bindgen.adb: Generate call to modify default secondary stack size if
15404         -Dnnn switch given
15405
15406         * bindusg.adb: Add line for new -D switch
15407
15408         * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
15409         replacement name for Type_May_Have_Non_Bit_Aligned_Components!
15410         Add circuitry for both records and arrays to avoid gigi
15411         processing if the type involved has non-bit-aligned components
15412
15413         * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
15414         N_String_Literal node always references an E_String_Literal_Subtype
15415         entity. This may not be true in the future.
15416         (Possible_Bit_Aligned_Component): Move processing of
15417         Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
15418
15419         * exp_ch6.adb (Expand_Thread_Body): Pick up
15420         Default_Secondary_Stack_Size as variable so that we get value modified
15421         by possible -Dnnn binder parameter.
15422
15423         * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
15424         (Type_May_Have_Bit_Aligned_Components): New function.
15425
15426         * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
15427         (Type_May_Have_Bit_Aligned_Components): New function.
15428
15429         * fe.h: (Set_Identifier_Casing): Fix prototype.
15430         Add declaration for Sem_Elim.Eliminate_Error_Msg.
15431         Minor reformatting.
15432
15433         * freeze.adb (Freeze_Entity): Add RM reference to error message about
15434         importing constant atomic/volatile objects.
15435         (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
15436         unless explicit Pure_Function pragma given, to avoid insidious bug of
15437         call to non-pure imported function getting eliminated.
15438
15439         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
15440         gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
15441         gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
15442         Add 2004 to printed copyright notice
15443
15444         * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
15445         stack used.
15446
15447         * Makefile.rtl: Add entry for g-sestin.o
15448         g-sestin.ads: New file.
15449
15450         * mdll.adb: Minor changes to avoid -gnatwa warnings
15451
15452         * mlib-tgt.adb: Minor reformatting
15453
15454         * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
15455         New switch Sec_Stack_Used (GNAT, GNATBIND)
15456         Make Default_Secondary_Stack_Size a variable instead of a constant,
15457         so that it can be modified by the new -Dnnn bind switch.
15458
15459         * rtsfind.adb (Load_Fail): Give full error message in configurable
15460         run-time mode if all_errors mode is set. This was not done in the case
15461         of a file not found, which was an oversight.
15462         Note if secondary stack unit is used by compiler.
15463
15464         * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
15465         ineffective elaborate all pragmas on non-visible packages (this
15466         happened when a renamed subprogram was called). Now the elaborate all
15467         always goes on the package containing the renaming rather than the one
15468         containing the renamed subprogram.
15469
15470         * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
15471         (Process_Eliminate_Pragma): Add parameter to capture pragma location.
15472
15473         * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
15474         has an Etype that references an E_String_Literal.
15475         (Eval_String_Literal): Avoid assumption that N_String_Literal node
15476         always references an E_String_Literal_Subtype entity. This may not
15477         be true in the future.
15478
15479         * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
15480         pragma location.
15481
15482         * sem_res.adb (Resolve): Specialize msg for function name used in proc
15483         call.
15484
15485 2004-01-05  Ed Falis  <falis@gnat.com>
15486
15487         * g-debuti.adb: Replaced direct boolean operator with short-circuit
15488         form.
15489
15490 2004-01-05  Vincent Celier  <celier@gnat.com>
15491
15492         * bld.adb: Minor comment updates
15493         (Process_Declarative_Items): Correct incorrect name (Index_Name instead
15494         of Item_Name).
15495
15496         * make.adb (Gnatmake): Special process for files to compile/check when
15497         -B is specified. Fail when there are only foreign mains in attribute
15498         Main of the project file and -B is not specified. Do not skip bind/link
15499         steps when -B is specified.
15500
15501         * makeusg.adb: Document new switch -B
15502
15503         * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
15504
15505         * switch-m.adb: (Scan_Make_Switches): Process -B switch
15506
15507         * vms_data.ads: Add new GNAT PRETTY qualifier
15508         /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
15509
15510 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15511
15512         * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
15513         case.
15514
15515         * misc.c (gnat_printable_name): If VERBOSITY is 2, call
15516         Set_Identifier_Casing.
15517
15518         * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
15519         has size that overflows.
15520
15521 2004-01-05  Gary Dismukes  <dismukes@gnat.com>
15522
15523         * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
15524         -gnatwa warning on static condition.
15525
15526 2004-01-05  Doug Rupp  <rupp@gnat.com>
15527
15528         * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
15529
15530 2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
15531
15532         * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
15533         all attributes, including read-only attribute.
15534
15535 2004-01-05  Pascal Obry  <obry@gnat.com>
15536
15537         * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
15538         library naming scheme.
15539
15540         * mlib-prj.adb (Build_Library): Generate different names for the static
15541         or dynamic version of the GNAT runtime. This is needed to support the
15542         new shared library naming scheme.
15543         (Process_Binder_File): Add detection of shared library in binder file
15544         based on the new naming scheme.
15545
15546         * gnatlink.adb (Process_Binder_File): Properly detect the new naming
15547         scheme for the shared runtime libraries.
15548
15549         * Makefile.in:
15550         (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
15551         scheme.
15552         (install-gnatlib): Do not create symlinks for shared libraries.
15553         (gnatlib-shared-default): Idem.
15554         (gnatlib-shared-dual-win32): New target. Not used for now as the
15555         auto-import feature does not support arrays/records.
15556         (gnatlib-shared-win32): Do not create copy for the shared libraries.
15557         (gnatlib-shared-vms): Fix shared runtime libraries names.
15558
15559         * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
15560         dependent runtime shared library name.
15561
15562 2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
15563
15564         * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
15565         than the object.
15566
15567 2004-01-05  Ed Schonberg  <schonberg@gnat.com>
15568
15569         * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
15570         protected objects when allocator has a subtype indication, not a
15571         qualified expression. Note that qualified expressions may have to be
15572         checked when limited aggregates are implemented.
15573
15574         * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
15575         pure, emit warning.
15576         (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
15577         subprogram is imported, remove warning.
15578
15579 2004-01-05  Geert Bosch  <bosch@gnat.com>
15580
15581         * s-poosiz.adb: Update copyright notice.
15582         (Allocate): Use Task_Lock to protect against concurrent access.
15583         (Deallocate): Likewise.
15584
15585 2004-01-05  Joel Brobecker  <brobecker@gnat.com>
15586
15587         * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
15588         comment.
15589
15590 2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
15591
15592         * gnat_ug.texi: Force a CVS commit by updating copyright.
15593         * gnat_ug_vxw.texi: Regenerate.
15594         * gnat_ug_wnt.texi: Regenerate.
15595         * gnat_ug_vms.texi: Regenerate.
15596         * gnat_ug_unx.texi: Regenerate.
15597
15598 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
15599
15600         * trans.c: Remove uses of "register" specifier in
15601         declarations of local variables.
15602
15603 2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
15604
15605         * stamp-xgnatug: New stamp file.
15606         * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
15607         (ada/doctools/xgnatug): Add $(build_exeext).
15608         (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
15609         ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
15610
15611 2003-12-17  Ed Falis  <falis@gnat.com>
15612
15613         * a-elchha.adb (Tailored_Exception_Information): made Info constant to
15614         eliminate warning.
15615
15616         * a-exextr.adb: Add context clause for
15617         Ada.Exceptions.Last_Chance_Handler.
15618
15619 2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
15620
15621         * cstand.adb (Create_Standard): Change the way how the declaration of
15622         the Duration type is created (making it the same way as it is for all
15623         the other standard types).
15624
15625 2003-12-17  Robert Dewar  <dewar@gnat.com>
15626
15627         * s-crtl.ads: Fix header format
15628         Change Pure to Preelaborate
15629
15630 2003-12-17  Ed Schonberg  <schonberg@gnat.com>
15631
15632         * checks.adb (Selected_Length_Checks): Generate an Itype reference for
15633         the expression type only if it is declared in the current unit.
15634
15635         * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
15636         are universal and already analyzed, as can occur in constrained
15637         subcomponents that depend on discriminants, when one constraint is a
15638         subtype mark.
15639
15640         * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
15641         type Any_Fixed is legal as the argument of a conversion, if only one
15642         fixed-point type is in context.
15643
15644 2003-12-17  GNAT Script  <nobody@gnat.com>
15645
15646         * Make-lang.in: Makefile automatically updated
15647
15648 2003-12-15  Robert Dewar  <dewar@gnat.com>
15649
15650         * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
15651         sec stack size.
15652
15653 2003-12-15  Vincent Celier  <celier@gnat.com>
15654
15655         * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
15656         (Gnatchop): Do not set failure status when reporting the number of
15657         warnings.
15658
15659 2003-12-15  Doug Rupp  <rupp@gnat.com>
15660
15661         * s-ctrl.ads: New file.
15662
15663         * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
15664
15665         * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
15666         (GNATBIND_OBJS): Add ada/s-crtl.o.
15667
15668         * Makefile.in [VMS]: Clean up ifeq rules.
15669
15670         * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
15671         a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
15672         g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
15673         s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
15674         s-tasdeb.adb: Update copyright.
15675         Import System.CRTL.
15676         Make minor modifications to use System.CRTL declared functions instead
15677         of importing locally.
15678
15679 2003-12-15  GNAT Script  <nobody@gnat.com>
15680
15681         * Make-lang.in: Makefile automatically updated
15682
15683 2003-12-11  Ed Falis  <falis@gnat.com>
15684
15685         * 5zinit.adb: Clean up.
15686
15687         * 5zintman.adb (Notify_Exception): replaced case statement with a call
15688         to __gnat_map_signal, imported from init.c to support
15689         signal -> exception mappings that depend on the vxWorks version.
15690
15691         * init.c:
15692         Created and exported __gnat_map_signal to support signal -> exception
15693         mapping that is dependent on the VxWorks version.
15694         Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
15695
15696 2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
15697
15698         * 5wosinte.ads: Link with -mthreads switch.
15699
15700 2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
15701
15702         * init.c (__gnat_install_handler [NetBSD]): Set
15703         __gnat_handler_installed, as done on all other platforms.
15704         Remove duplicated code.
15705
15706 2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
15707
15708         * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
15709
15710 2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
15711
15712         * sinfo.ads: Fix inconsistent example code in comment.
15713
15714 2003-12-11  Robert Dewar  <dewar@gnat.com>
15715
15716         * a-tiinau.adb: Add a couple of comments
15717
15718         * sem_ch3.adb: Minor reformatting
15719
15720         * sem_prag.adb:
15721         Fix bad prototype of Same_Base_Type in body (code reading cleanup)
15722         Minor reformatting throughout
15723
15724 2003-12-11  Ed Schonberg  <schonberg@gnat.com>
15725
15726         * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
15727         bounds of a loop, create a separate block in order to generate proper
15728         cleanup actions to prevent memory leaks.
15729
15730         * sem_res.adb (Resolve_Call): After a call to
15731         Establish_Transient_Scope, the call may be rewritten and relocated, in
15732         which case no further processing is needed.
15733
15734         * sem_util.adb: (Wrong_Type): Refine previous fix.
15735          Fixes ACATS regressions.
15736
15737         PR ada/13353
15738
15739         * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
15740         be inlined.
15741
15742 2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
15743
15744         * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
15745         i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
15746         obsolete files.
15747
15748         * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
15749         (rts-zfp): Ditto.
15750
15751 2003-12-08  Robert Dewar  <dewar@gnat.com>
15752
15753         * 7sintman.adb: Minor reformatting
15754
15755         * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
15756         standard linker options to get standard libraries linked. We now plan
15757         to provide dummy versions of these libraries to match the appropriate
15758         configurable run-time (e.g. if a library is not needed at all, provide
15759         a dummy empty library).
15760
15761         * targparm.ads: Configurable_Run_Time mode no longer affects linker
15762         options (-L parameters and standard libraries). What we plan to do is
15763         to provide dummy libraries where the libraries are not required.
15764
15765         * gnatbind.adb: Minor comment improvement
15766
15767 2003-12-08  Javier Miranda  <miranda@gnat.com>
15768
15769         * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
15770         aggregate in the parent. Otherwise constants with limited aggregates
15771         are not supported. Add new formal to pass the component type (Ctype).
15772         It is required to call the corresponding IP subprogram in case of
15773         default initialized components.
15774         (Gen_Assign): In case of default-initialized component, generate a
15775         call to the IP subprogram associated with the component.
15776         (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
15777         of aggregate with default initialized components.
15778         (Has_Default_Init_Comps): Improve implementation to recursively check
15779         all the present expressions.
15780
15781         * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
15782         to indicate that the initialization call corresponds to a
15783         default-initialized component of an aggregate.
15784         In case of default initialized aggregate with tasks this parameter is
15785         used to generate a null string (this is just a workaround that must be
15786         improved later). In case of discriminants, this parameter is used to
15787         generate a selected component node that gives access to the discriminant
15788         value.
15789
15790         * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
15791         subprogram, based on Build_Task_Allocate_Block, but adapted to expand
15792         allocated aggregates with default-initialized components.
15793
15794         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
15795         the box notation is used in positional aggregates.
15796
15797 2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
15798
15799         * lib.ads: Fix typo in comment
15800
15801 2003-12-08  Vincent Celier  <celier@gnat.com>
15802
15803         * prj.adb (Project_Empty): New component Unkept_Comments
15804         (Scan): Remove procedure; moved to Prj.Err.
15805
15806         * prj.ads (Project_Data): New Boolean component Unkept_Comments
15807         (Scan): Remove procedure; moved to Prj.Err.
15808
15809         * prj-dect.adb: Manage comments for the different declarations.
15810
15811         * prj-part.adb (With_Record): New component Node
15812         (Parse): New Boolean parameter Store_Comments, defaulted to False.
15813         Set the scanner to return ends of line and comments as tokens, if
15814         Store_Comments is True.
15815         (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
15816         comments are associated with these nodes. Store the node IDs in the
15817         With_Records.
15818         (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
15819         With_Records.
15820         (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
15821         the N_Project node. Call Tree.Save and Tree.Reset before scanning the
15822         current project. Call Tree.Restore afterwards. Set the various nodes
15823         for comment storage (Next_End, End_Of_Line, Previous_Line,
15824         Previous_End).
15825
15826         * prj-part.ads (Parse): New Boolean parameter Store_Comments,
15827         defaulted to False.
15828
15829         * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
15830         to False. When Truncated is True, truncate the string, never go to the
15831         next line.
15832         (Write_End_Of_Line_Comment): New procedure
15833         (Print): Process comments for nodes N_With_Clause,
15834         N_Package_Declaration, N_String_Type_Declaration,
15835         N_Attribute_Declaration, N_Typed_Variable_Declaration,
15836         N_Variable_Declaration, N_Case_Construction, N_Case_Item.
15837         Process nodes N_Comment.
15838
15839         * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
15840         without comments and there are some comments, set the flag
15841         Unkept_Comments to True.
15842         (Scan): If there are comments, set the flag Unkept_Comments to True and
15843         clear the comments.
15844         (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
15845         (Next_End_Nodes: New table
15846         (Comment_Zones_Of): New function
15847         (Scan): New procedure; moved from Prj. Accumulate comments in the
15848         Comments table and set end of line comments, comments after, after end
15849         and before end.
15850         (Add_Comments): New procedure
15851         (Save, Restore, Seset_State): New procedures
15852         (There_Are_Unkept_Comments): New function
15853         (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
15854         (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
15855         procedures.
15856         (First_Comment_After, First_Comment_After_End): New functions
15857         (First_Comment_Before, First_Comment_Before_End): New functions
15858         (Next_Comment): New function
15859         (End_Of_Line_Comment, Follows_Empty_Line,
15860         Is_Followed_By_Empty_Line): New functions
15861         (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
15862         (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
15863         (Set_Next_Comment): New procedure
15864         (Default_Project_Node): Associate comment before if the node can store
15865         comments.
15866
15867         * scans.ads (Token_Type): New enumeration value Tok_Comment
15868         (Comment_Id): New global variable
15869
15870         * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
15871         defaulted to False.
15872         (Scan): Store position of start of comment. If comments are tokens, set
15873         Comment_Id and set Token to Tok_Comment when scanning a comment.
15874         (Set_Comment_As_Token): New procedure
15875
15876         * sinput-p.adb: Update Copyright notice
15877         (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
15878         that no longer exists.
15879
15880 2003-12-08  Javier Miranda  <miranda@gnat.com>
15881
15882         * sem_aggr.adb: Add dependence on Exp_Tss package
15883         Correct typo in comment
15884         (Resolve_Aggregate): In case of array aggregates set the estimated
15885         type of the aggregate before calling resolve. This is needed to know
15886         the name of the corresponding IP in case of limited array aggregates.
15887         (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
15888         in case of default initialized array components.
15889
15890         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
15891         types. Required to give support to limited aggregates in generic
15892         formals.
15893
15894 2003-12-08  Ed Schonberg  <schonberg@gnat.com>
15895
15896         * sem_ch3.adb (Check_Initialization): For legality purposes, an
15897         inlined body functions like an instantiation.
15898         (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
15899         until bounds are analyzed, to diagnose premature use of type.
15900
15901         * sem_util.adb (Wrong_Type): Improve error message when the type of
15902         the expression is used prematurely.
15903
15904 2003-12-08  GNAT Script  <nobody@gnat.com>
15905
15906         * Make-lang.in: Makefile automatically updated
15907
15908 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
15909
15910         * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
15911         they are automatically generated by Make-lang.in and cause nothing but
15912         maintenance troubles.
15913
15914 2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
15915
15916         * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
15917         version of this unit).
15918
15919 2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
15920
15921         * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
15922         5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
15923         5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
15924         the body of System.Interrupt_Management common to several targets.
15925         Update copyright notice when appropriate.
15926
15927         * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
15928         constant.
15929
15930         * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
15931         to ensure that the kernel fills in the interrupted context structure
15932         before calling a signal handler, which is necessary to be able to
15933         unwind past it. Update the copyright notice.
15934
15935 2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
15936
15937         * a-elchha.ads: New file.
15938
15939         * a-elchha.adb: New default last chance handler. Contents taken from
15940         Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
15941
15942         * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
15943         is moved to a-elchha.adb to provide a target-independent default last
15944         chance handler.
15945
15946         * Makefile.rtl: Add a-elchha.o
15947
15948         * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
15949
15950 2003-12-05  Ed Schonberg  <schonberg@gnat.com>
15951
15952         * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
15953         declared in an instance, do not inline the call if the instance is not
15954         frozen yet, to prevent order of elaboration problems.
15955
15956         * sem_prag.adb: Add comments for previous fix.
15957
15958 2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
15959
15960         * g-table.adb: Use the right variable in Set_Item.
15961         Update copyright notice.
15962
15963 2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
15964
15965         * Makefile.in: Remove unused rules.
15966
15967 2003-12-05  Vincent Celier  <celier@gnat.com>
15968
15969         * switch-c.adb (Scan_Front_End_Switches): Remove processing of
15970         -nostdlib. Not needed here after all.
15971
15972 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
15973
15974         PR ada/11724
15975
15976         * adaint.h, adaint.c, g-os_lib.ads:
15977         Do not assume that the offset argument to lseek(2) is a 32 bit integer,
15978         on some platforms (including FreeBSD), it is a 64 bit value.
15979         Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
15980
15981 2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
15982
15983         * gnatvsn.ads (Library_Version): Now contain only the relevant
15984         version info.
15985         (Verbose_Library_Version): New constant.
15986
15987         * g-spipat.adb, g-awk.adb, g-debpoo.adb,
15988         g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
15989         s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
15990
15991         * gnatlbr.adb: Clean up: replace Library_Version by
15992         Verbose_Library_Version.
15993
15994         * make.adb, lib-writ.adb, exp_attr.adb:
15995         Clean up: replace Library_Version by Verbose_Library_Version.
15996
15997         * 5lintman.adb: Removed.
15998
15999         * Makefile.in:
16000         Update and simplify computation of LIBRARY_VERSION.
16001         Fix computation of GSMATCH_VERSION.
16002         5lintman.adb is no longer used: replaced by 7sintman.adb.
16003
16004 2003-12-03  Robert Dewar  <dewar@gnat.com>
16005
16006         * exp_ch5.adb:
16007         (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
16008         name. Modified to consider small non-bit-packed arrays as troublesome
16009         and in need of component-by-component assigment expansion.
16010
16011 2003-12-03  Vincent Celier  <celier@gnat.com>
16012
16013         * lang-specs.h: Process nostdlib as nostdinc
16014
16015         * back_end.adb: Update Copyright notice
16016         (Scan_Compiler_Arguments): Process -nostdlib directly.
16017
16018 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
16019
16020         * Makefile.in:
16021         When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
16022         redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
16023         included in HIE_NONE_TARGET_PAIRS.
16024
16025 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
16026
16027         * sem_attr.adb:
16028         (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
16029         is legal in an instance, because legality is cheched in the template.
16030
16031         * sem_prag.adb:
16032         (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
16033         appplied to an unchecked conversion of a formal parameter.
16034
16035         * sem_warn.adb:
16036         (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
16037         variables.
16038
16039 2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
16040
16041         * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
16042         routines. The second one is new functionality to deal with backtracing
16043         through signal handlers.
16044         (unwind): Split into the two separate subroutines above.
16045         Update the documentation, and deal properly with sizeof (REG) different
16046         from sizeof (void*).
16047
16048 2003-12-01  Nicolas Setton  <setton@act-europe.fr>
16049
16050         * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
16051         so that the debugger can reliably access the value of the parameter,
16052         and therefore is able to display the exception name when an exception
16053         breakpoint is reached.
16054
16055 2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
16056
16057         * fmap.adb: Fix typo in warning message.
16058
16059         * g-socket.ads, g-socket.adb: Make Free a visible instance of
16060         Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
16061
16062 2003-12-01  Vincent Celier  <celier@gnat.com>
16063
16064         * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
16065         ther is no Afile.
16066         (Build_Library): Get the switches only if Default_Switches is declared
16067         in package Binder.
16068
16069 2003-12-01  Ed Schonberg  <schonberg@gnat.com>
16070
16071         * exp_ch6.adb (Expand_Actuals): When applying validity checks to
16072         actuals that are indexed components, reanalyze actual to ensure that
16073         packed array references are properly expanded.
16074
16075         * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
16076         attempted assignment to a discriminant.
16077
16078 2003-12-01  Robert Dewar  <dewar@gnat.com>
16079
16080         * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
16081         reformatting.
16082
16083         * switch-c.adb: Minor reformatting of comments
16084
16085 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
16086
16087         * Makefile.in: Clean ups.
16088
16089 2003-12-01  GNAT Script  <nobody@gnat.com>
16090
16091         * Make-lang.in: Makefile automatically updated
16092
16093 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
16094
16095         * 5wsystem.ads: Disable zero cost exception, not ready yet.
16096
16097 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
16098
16099         * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
16100         to force serialization.
16101
16102 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
16103
16104         * g-socket.ads, g-socket.adb:
16105         Clarify documentation of function Stream. Introduce a Free procedure
16106         to release the returned Stream once it becomes unused.
16107
16108         * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
16109
16110 2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
16111
16112         (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
16113         since NT 4 cannot handle timeout values that are too large,
16114         e.g. DWORD'Last - 1.
16115
16116 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
16117
16118         * exp_ch4.adb:
16119         (Expand_N_Slice): Recognize all cases of slices that appear as actuals
16120         in procedure calls and whose expansion must be deferred.
16121
16122         * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
16123         is in exp_ch4.
16124
16125         * sem_ch3.adb:
16126         (Build_Derived_Array_Type): Create operator for unconstrained type
16127         if ancestor is unconstrained.
16128
16129 2003-11-26  Vincent Celier  <celier@gnat.com>
16130
16131         * make.adb (Project_Object_Directory): New global variable
16132         (Change_To_Object_Directory): New procedure
16133         (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
16134         of Change_Dir directly. Do not change working directory to object
16135         directory of main project after each compilation.
16136         (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
16137         directly.
16138         Change to object directory of main project before binding step.
16139         (Initialize): Initialize Project_Object_Directory to No_Project
16140
16141         * mlib-prj.adb:
16142         (Build_Library): Take into account Builder'Default_Switches ("Ada") when
16143         binding a Stand-Alone Library.
16144
16145         * output.adb: Update Copyright notice
16146         (Write_Char): Output buffer when full
16147
16148 2003-11-26  Robert Dewar  <dewar@gnat.com>
16149
16150         * sem_ch13.adb: (Check_Size): Reset size if size is too small
16151
16152         * sem_ch13.ads:
16153         (Check_Size): Fix documentation to include bit-packed array case
16154
16155         * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
16156
16157         * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
16158
16159         * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
16160
16161 2003-11-24  Arnaud Charlet <charlet@act-europe.fr>
16162
16163         PR ada/13142
16164         * utils.c (init_gigi_decls): Change name of built-in setjmp to
16165         __builtin_setjmp, since this is apparently needed by recent
16166         non Ada changes.
16167
16168 2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16169
16170         * adadecode.c: Only include ctype.h if not IN_GCC.
16171         (__gnat_decode): Use ISDIGIT from safe-ctype.h.
16172
16173 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
16174
16175         * Makefile.in:
16176         Use 5zintman.ads for VxWorks targets. This file avoid confusion between
16177         signals and interrupts.
16178
16179         * 5zintman.ads: New File.
16180
16181         * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
16182         add exception signals to the set of unmasked signals.
16183
16184         * 5ztaprop.adb:
16185         Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
16186         between signals and interrupts.
16187         Add to Unblocked_Signal_Mask the set of signals that are in
16188         Keep_Unmasked.
16189
16190         * 7sinmaop.adb:
16191         Adding a check to see whether the Interrupt_ID we want to unmask is in
16192         the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
16193         reason is that the index type of the Keep_Unmasked array is not always
16194         Interrupt_ID; it may be a subtype of Interrupt_ID.
16195
16196 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
16197
16198         * exp_util.adb:
16199         (Remove_Side_Effects): Condition constantness of object created for a
16200          an unchecked type conversion on the constantness of the expression
16201          to ensure the correct value for 'Constrained when passing components
16202          of view-converted class-wide objects.
16203
16204 2003-11-24  Robert Dewar  <dewar@gnat.com>
16205
16206         * par-load.adb (Load): Improve handling of misspelled and missing units
16207         Removes several cases of compilation abandoned messages
16208
16209         * lib.adb: (Remove_Unit): New procedure
16210
16211         * lib.ads: (Remove_Unit): New procedure
16212
16213         * lib-load.adb: Minor reformatting
16214
16215 2003-11-24  Vincent Celier  <celier@gnat.com>
16216
16217         * make.adb:
16218         (Gnatmake, Initialize): Call Usage instead of Makeusg directly
16219         (Marking_Label): Label to mark processed source files. Incremented for
16220         each executable.
16221         (Gnatmake): Increase Marking_Labet for each executable
16222         (Is_Marked): Compare against marking label
16223         (Mark): Mark with marking label
16224
16225 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
16226
16227         * s-thread.ads:
16228         Move the declaration of the TSD for System.Threads to System.Soft_Links.
16229         Add some comments.
16230
16231         * Makefile.in: Added target pair for s-thread.adb for cert runtime.
16232         (rts-cert): build a single relocatable object for the run-time lib.
16233         Fix perms.
16234
16235 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
16236
16237         * Make-lang.in:
16238         Use gnatls rather than gcc to obtain the location of GNAT RTL for
16239         crosstools build.
16240
16241 2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
16242
16243         * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
16244         can not use it as before (that is, as a variable) when dumping it into
16245         the tree file. Add a local variable to store the result of this
16246         function and to be used as the string to be written into the tree.
16247
16248         * scn.adb (Initialize_Scanner): Add comments explaining the recent
16249         changes.
16250
16251         * sinput.adb (Source_First, Source_Last): In case of
16252         Internal_Source_File, replace returning attributes of
16253         Internal_Source_Ptr (which is wrong) with returning attributes of
16254         Internal_Source.
16255
16256 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
16257
16258         * sem_ch3.adb:
16259         (New_Concatenation_Op): Proper name for New_Binary_Operator, only
16260         used for implicit concatenation operators.
16261         Code cleanup.
16262
16263         * sem_elab.adb:
16264         (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
16265         task bodies that are in the scope of a Suppress pragma.
16266         (Check_A Call): Use the flag to prevent spurious elaboration checks.
16267
16268         * sinfo.ads, sinfo.adb:
16269         New flag No_Elaboration_Check on function/procedure calls, to properly
16270         suppress checks on calls in task bodies that are within a local suppress
16271         pragma.
16272
16273         * exp_ch4.adb:
16274         (Expand_Concatenate_Other): Use the proper integer type for the
16275         expression for the upper bound, to avoid universal_integer computations
16276         when possible.
16277
16278 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
16279
16280         * .cvsignore: Delete.
16281
16282 2003-11-21  Andreas Schwab  <schwab@suse.de>
16283
16284         * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
16285
16286 2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
16287
16288         * 5wsystem.ads: Enable zero cost exception.
16289
16290 2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
16291
16292         * 5ztiitho.adb: Remove an unreferenced variable.
16293
16294 2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
16295
16296         * adaint.c: For FreeBSD, use mkstemp.
16297
16298 2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
16299
16300         * gnatlbr.adb: Now reference Gnat_Static_Version_String.
16301
16302 2003-11-21  Robert Dewar  <dewar@gnat.com>
16303
16304         * bld.adb: Remove useless USE of gnatvsn
16305
16306         * gnatchop.adb: Minor reformatting
16307         Clean up version handling to be more consistent
16308
16309         * gnatxref.adb: Minor reformatting
16310
16311         * gprcmd.adb: Minor reformatting
16312         Fix output of copyright to be more consistent with other tools
16313
16314 2003-11-21  Vincent Celier  <celier@gnat.com>
16315
16316         * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
16317
16318 2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
16319
16320         * atree.adb (Initialize): Add initializations for global variables
16321         used in New_Copy_Tree.
16322
16323         * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
16324         Internal_Source_File as the actual).
16325         Put the set of statements creating Any_Character before the set of
16326         statements creating Any_Array to have Any_Character fully initialized
16327         when it is used in creating Any_Array.
16328
16329         * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
16330         not call Scan in case if the actual is Internal_Source_File
16331         Add 2003 to copyright note.
16332
16333         * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
16334         processing Internal_Source_File.
16335
16336         * types.ads: Add the constant Internal_Source_File representing the
16337         source buffer for artificial source-code-like strings created within
16338         the compiler (the definition of Source_File_Index is changed).
16339
16340 2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
16341
16342         * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
16343         56system.ads: New file, FreeBSD version.
16344
16345 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
16346
16347         * Make-lang.in (ada.extraclean): Delete.
16348
16349 2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
16350
16351         * gnatmem.adb: Clean up verbose output.
16352
16353         * gprcmd.adb: Change copyright to FSF.
16354
16355 2003-11-19  Vincent Celier  <celier@gnat.com>
16356
16357         * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
16358         and Version (ignored).
16359
16360         * symbols.ads: (Policy): New type
16361         (Initialize): New parameter Reference, Symbol_Policy and
16362         Library_Version.
16363         Remove parameter Force.
16364         Minor reformatting.
16365
16366         * snames.ads, snames.adbadb: New standard names
16367         Library_Reference_Symbol_File and Library_Symbol_Policy
16368
16369         * mlib-prj.adb:
16370         (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
16371         project.
16372
16373         * mlib-tgt.adb:
16374         (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
16375
16376         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
16377
16378         * prj.adb: (Project_Empty): New component Symbol_Data
16379
16380         * prj.ads: (Policy, Symbol_Record): New types
16381         (Project_Data): New component Symbol_Data
16382
16383         * prj-attr.adb:
16384         New attributes Library_Symbol_File, Library_Symbol_Policy and
16385         Library_Reference_Symbol_File.
16386
16387         * prj-nmsc.adb:
16388         (Ada_Check): When project is a Stand-Alone library project, process
16389         attribute Library_Symbol_File, Library_Symbol_Policy and
16390         Library_Reference_Symbol_File.
16391
16392         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
16393         5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
16394         5sml-tgt.adb (Build_Dynamic_Library): New parameter
16395         Symbol_Data (ignored).
16396
16397         * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
16398         (Build_Dynamic_Library): New parameter Symbol_Data. New internal
16399         functions Option_File_Name and Version_String. Set new options of
16400         gnatsym related to symbol file, symbol policy and reference symbol
16401         file.
16402
16403         * 5vsymbol.adb:
16404         Extensive modifications to take into account the reference symbol file,
16405         the symbol policy, the library version and to put in the symbol file the
16406         minor and major IDs.
16407
16408         * bld.adb (Process_Declarative_Items): Put second argument of
16409         gprcmd to_absolute between single quotes, to avoid problems with
16410         Windows.
16411
16412         * bld-io.adb: Update Copyright notice.
16413         (Flush): Remove last character of a line, if it is a back slash, to
16414         avoid make problems.
16415
16416         * gnatsym.adb:
16417         Implement new scheme with reference symbol file and symbol policy.
16418
16419         * g-os_lib.ads: (Is_Directory): Clarify comment
16420
16421 2003-11-19  Robert Dewar  <dewar@gnat.com>
16422
16423         * atree.adb: Move New_Copy_Tree global variables to head of package
16424
16425         * errout.adb: Minor reformatting
16426
16427 2003-11-19  Javier Miranda  <miranda@gnat.com>
16428
16429         * sem_ch4.adb: (Diagnose_Call): Improve error message.
16430         Add reference to Ada0Y (AI-50217)
16431
16432         * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
16433         sem_util.adb: Add reference to AI-50217
16434
16435         * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
16436
16437         * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
16438
16439         * sem_aggr.adb: Complete documentation of AI-287 changes
16440
16441         * par-ch4.adb: Document previous changes.
16442
16443         * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
16444         sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
16445         Ada0Y (AI-50217)
16446
16447         * exp_aggr.adb: Add references to AI-287 in previous changes
16448
16449 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
16450
16451         * exp_ch6.adb:
16452         (Add_Call_By_Copy_Node): Do not original node of rewritten expression
16453         in the rewriting is the result of an inlined call.
16454
16455         * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
16456         parameter is a type conversion, use original node to construct the
16457         post-call assignment, because expression may have been rewritten, e.g.
16458         if it is a packed array.
16459
16460         * sem_attr.adb:
16461         (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
16462         body, just as it is in an instance.
16463         Categorization routines
16464
16465         * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
16466         Instantiate_Object): Set proper sloc reference for message on missing
16467         actual.
16468
16469 2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
16470
16471         * Makefile.in: Add FreeBSD libgnat pairs.
16472
16473         * usage.adb: Fix typo in usage message.
16474
16475 2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
16476
16477         * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
16478         s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
16479         pragma Thread_Body.
16480         Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
16481
16482         * s-thread.adb: This file is now a dummy implementation of
16483         System.Thread.
16484
16485 2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
16486
16487         * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
16488
16489 2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
16490
16491         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
16492         instanciation references in the parent type description.
16493
16494 2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16495
16496         * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
16497
16498         * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
16499         TYPE_PRECISION directly from esize.
16500
16501 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
16502
16503         * cstreams.c:
16504         Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
16505
16506         * init.c: Initialization routines for FreeBSD
16507
16508         * link.c: Link info for FreeBSD
16509
16510         * sysdep.c: Add the case of FreeBSD
16511
16512 2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
16513
16514         * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
16515         already called in System.Threads.
16516
16517         * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
16518         environment task, as it has been moved to System.Threads.Initialization.
16519
16520 2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
16521
16522         * adaint.c (__gnatlib_install_locks): Only reference
16523         __gnat_install_locks on VMS, since other platforms can avoid using
16524         --enable-threads=gnat
16525
16526 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16527
16528         * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
16529
16530         * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
16531         TYPE_PACKED_ARRAY_TYPE_P.
16532         (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
16533
16534         Part of PR ada/12806
16535         * utils.c (float_type_for_precision): Renamed from float_type_for_size.
16536         Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
16537
16538 2003-11-17  Vincent Celier  <celier@gnat.com>
16539
16540         * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
16541         to False.
16542         Do not set exit status to Failure when Warning is True.
16543         (Gnatchop): Make errors "no compilation units found" and
16544         "no source files written" warnings only.
16545
16546         * make.adb (Gnatmake): When using a project file, set
16547         Look_In_Primary_Dir to False.
16548         (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
16549         and Local_Configuration_Pragmas in the project where they are declared
16550         not an extending project which might have inherited them.
16551
16552         * osint.adb (Locate_File): If Name is already an absolute path, do not
16553         look for a directory.
16554
16555         * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
16556         -gnats (Check_Syntax) is used, issue only a warning, not an error.
16557
16558         * prj.adb (Register_Default_Naming_Scheme): Add new component Project
16559         in objects of type Variable_Value.
16560
16561         * prj.ads: (Variable_Value): New component Project
16562
16563         * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
16564         is in a project extended by Project.
16565
16566         * prj-proc.adb (Add_Attributes): New parameter Project. Set component
16567         Project of Variable_Values to this new parameter value.
16568         (Expression): Set component Project of Variable_Values.
16569         (Process_Declarative_Items): Call Add_Attributes with parameter Project.
16570         Set the component Project in array elements.
16571
16572 2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
16573
16574         * errout.adb: (Initialize): Add initialization for error nodes.
16575
16576         * sem_ch12.adb (Initialize): Add missing initializations for
16577         Exchanged_Views and Hidden_Entities.
16578
16579 2003-11-17  Ed Schonberg  <schonberg@gnat.com>
16580
16581         * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
16582         already instantiated tree for use in subsequent inlining.
16583         (Analyze_Associations, Instantiate_Formal_Subprogram,
16584         Instantiate_Object): improve error message for mismatch in
16585         instantiations.
16586
16587         * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
16588         instantiations of subprograms declared in instances.
16589
16590 2003-11-17  Javier Miranda  <miranda@gnat.com>
16591
16592         * sem_ch4.adb (Analyze_Allocator): Previous modification must be
16593         executed only under the Extensions_Allowed flag.
16594
16595 2003-11-17  Robert Dewar  <dewar@gnat.com>
16596
16597         * a-exexda.adb (Address_Image): Fix documentation to indicate leading
16598         zeroes suppressed.
16599         (Address_Image): Fix bug of returning 0x instead of 0x0
16600         Minor reformatting (function specs).
16601
16602         * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
16603         (missed case of 33-63)
16604
16605         * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
16606
16607         * s-thread.adb: Add comments for pragma Restriction
16608
16609         * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
16610         sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
16611
16612 2003-11-17  Ed Falis  <falis@gnat.com>
16613
16614         * s-thread.adb: Added No_Tasking restriction for this implementation.
16615
16616 2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
16617
16618         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
16619         instanciation references in the parent type description.
16620
16621 2003-11-17  GNAT Script  <nobody@gnat.com>
16622
16623         * Make-lang.in: Makefile automatically updated
16624
16625 2003-11-16  Jason Merrill  <jason@redhat.com>
16626
16627         * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
16628         and TAGS files that include them for each front end.
16629
16630 2003-11-14  Andreas Jaeger  <aj@suse.de>
16631
16632         * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
16633         is the canonical version.
16634         * misc.c (gnat_handle_option): Likewise.
16635
16636         * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
16637
16638         * 5nsystem.ads: New file for x86_64-linux-gnu.
16639
16640 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
16641
16642         * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
16643
16644         * comperr.adb: Fix logic in previous change.
16645
16646 2003-11-13  Vincent Celier  <celier@gnat.com>
16647
16648         * 5bml-tgt.adb (Build_Dynamic_Library): Use
16649         Osint.Include_Dir_Default_Prefix instead of
16650         Sdefault.Include_Dir_Default_Name.
16651
16652         * gnatlbr.adb: Update Copyright notice
16653         (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
16654         Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
16655         instead of Sdefault.Object_Dir_Default_Name
16656
16657         * gnatlink.adb:
16658         (Process_Binder_File): Never suppress the option following -Xlinker
16659
16660         * mdll-utl.adb:
16661         (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
16662         Sdefault.Object_Dir_Default_Name.
16663
16664         * osint.ads, osint.adb:
16665         (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
16666         Minor reformatting.
16667
16668         * vms_conv.ads: Minor reformating
16669         Remove GNAT STANDARD and GNAT PSTA
16670
16671         * vms_conv.adb:
16672         Allow GNAT MAKE to have several files on the command line.
16673         (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
16674         Sdefault.Object_Dir_Default_Name.
16675         Minor Reformating
16676         Remove data for GNAT STANDARD
16677
16678         * vms_data.ads:
16679         Add new compiler qualifier /PRINT_STANDARD (-gnatS)
16680         Remove data for GNAT STANDARD
16681         Remove options and documentation for -gnatwb/-gnatwB: these warning
16682         options no longer exist.
16683
16684 2003-11-13  Ed Falis  <falis@gnat.com>
16685
16686         * 5zthrini.adb: (Init_RTS): Made visible
16687
16688         * 5zthrini.adb:
16689         (Register): Removed unnecessary call to taskVarGet that checked whether
16690          an ATSD was already set as a task var for the argument thread.
16691
16692         * s-thread.adb:
16693         Updated comment to reflect that this is a VxWorks version
16694         Added context clause for System.Threads.Initialization
16695         Added call to System.Threads.Initialization.Init_RTS
16696
16697 2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
16698
16699         * 5zthrini.adb:
16700         (Init_RTS): New procedure, for the initialization of the run-time lib.
16701
16702         * s-thread.adb:
16703         Remove dependancy on System.Init, so that this file can be used in the
16704         AE653 sequential run-time lib.
16705
16706 2003-11-13  Robert Dewar  <dewar@gnat.com>
16707
16708         * bindgen.adb: Minor reformatting
16709
16710 2003-11-13  Ed Schonberg  <schonberg@gnat.com>
16711
16712         * checks.adb:
16713         (Apply_Discriminant_Check): Do no apply check if target type is derived
16714         from source type with no applicable constraint.
16715
16716         * lib-writ.adb:
16717         (Ensure_System_Dependency): Do not apply the style checks that may have
16718         been specified for the main unit.
16719
16720         * sem_ch8.adb:
16721         (Find_Selected_Component): Further improvement in error message, with
16722         RM reference.
16723
16724         * sem_res.adb:
16725         (Resolve): Handle properly the case of an illegal overloaded protected
16726         procedure.
16727
16728 2003-11-13  Javier Miranda  <miranda@gnat.com>
16729
16730         * exp_aggr.adb:
16731         (Has_Default_Init_Comps): New function to check the presence of
16732         default initialization in an aggregate.
16733         (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
16734         extension aggregate of a limited record. In addition, a new formal
16735         was added to do not initialize the record controller (if any) during
16736         this recursive expansion of ancestors.
16737         (Init_Controller): Add support for limited record components.
16738         (Expand_Record_Aggregate): In case of default initialized components
16739         convert the aggregate into a set of assignments.
16740
16741         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
16742         describing the new syntax.
16743         Nothing else needed to be done because this subprogram delegates part of
16744         its work to P_Precord_Or_Array_Component_Association.
16745         (P_Record_Or_Array_Component_Association): Give support to the new
16746         syntax for default initialization of components.
16747
16748         * sem_aggr.adb:
16749         (Resolve_Aggregate): Relax the strictness of the frontend in case of
16750         limited aggregates.
16751         (Resolve_Record_Aggregate): Give support to default initialized
16752         components.
16753         (Get_Value): In case of default initialized components, duplicate
16754         the corresponding default expression (from the record type
16755         declaration). In case of default initialization in the *others*
16756         choice, do not check that all components have the same type.
16757         (Resolve_Extension_Aggregate): Give support to limited extension
16758         aggregates.
16759
16760         * sem_ch3.adb:
16761         (Check_Initialization): Relax the strictness of the front-end in case
16762         of aggregate and extension aggregates. This test is now done in
16763         Get_Value in a per-component manner.
16764
16765         * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
16766         expression corresponds to a limited aggregate. This test is now done
16767         in Get_Value.
16768
16769         * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
16770         Box_Present flag.
16771
16772         * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
16773         present in an N_Component_Association node
16774
16775 2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
16776
16777         * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
16778         type-conformant entry only if they are homographs.
16779
16780 2003-11-13  GNAT Script  <nobody@gnat.com>
16781
16782         * Make-lang.in: Makefile automatically updated
16783
16784 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16785
16786         * adadecode.c: Use <> form of include for ctype.h.
16787         * sysdep.c [IN_RTS]: Use <> form of include for time.h.
16788
16789 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16790
16791         * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
16792         Works around PR middle-end/6552.
16793
16794 2003-11-10  Ed Falis  <falis@gnat.com>
16795
16796         * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
16797
16798         * 5zinit.adb: (Install_Handler): Moved back to spec
16799         (Install_Signal_Handlers): Deleted
16800
16801         * 5zthrini.adb: Added context clause for System.Storage_Elements
16802         (Register): Only handles creation of taskVar; initialization moved to
16803         Thread_Body_Enter.
16804         (Reset_TSD): Deleted; replaced by Thread_Body_Enter
16805         Added declaration of environment task secondary stack and
16806         initialization.
16807
16808         * s-thread.adb: Implement bodies for thread body processing
16809
16810         * s-thread.ads:
16811         Added comment identifying supported targets for pragma Thread_Body.
16812
16813 2003-11-10  Pascal Obry  <obry@gnat.com>
16814
16815         * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
16816         GNAT_MAX_PATH_LEN.
16817
16818         * s-fileio.adb:
16819         (Open): Properly check for string length before copying into the buffer.
16820         Raises Name_Error if buffer is too small. Note that this was a potential
16821         buffer overflow.
16822
16823 2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
16824
16825         * bindgen.adb, comperr.adb: Code clean ups.
16826         * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
16827
16828 2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
16829
16830         * gnat1drv.adb: Add call to Sem_Elim.Initialize.
16831
16832 2003-11-10  Vincent Celier  <celier@gnat.com>
16833
16834         * gprcmd.adb:
16835         (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
16836         installation.
16837
16838         * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
16839
16840         * prj.adb: (Project_Empty): Add new boolean component Virtual
16841
16842         * prj.ads: (Virtual_Prefix): New constant string
16843         (Project_Data): New boolean component Virtual
16844
16845         * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
16846         a library project is extended by a virtual extending project.
16847
16848         * prj-part.adb:
16849         Modifications throughout to implement extending-all project, including:
16850         (Virtual_Hash, Processed_Hash): New hash tables
16851         (Create_Virtual_Extending_Project): New procedure
16852         (Look_For_Virtual_Projects_For): New procedure
16853
16854         * prj-proc.adb:
16855         (Process): After checking the projects, if main project is an
16856         extending-all project, set the object directory of all virtual extending
16857         project to the object directory of the main project.
16858         Adjust error message when a virtual extending project has the same
16859         object directory as an project being extended.
16860         (Recursive_Process): If name starts with the virtual prefix, set Virtual
16861         to True in the project data.
16862
16863         * prj-tree.adb:
16864         (Default_Project_Node): Add new boolean component Extending_All
16865         (Is_Extending_All): New function
16866         (Set_Is_Extending_All): New procedure
16867
16868         * prj-tree.ads: (Is_Extending_All): New function
16869         (Set_Is_Extending_All): New procedure
16870         (Project_Node_Record): New boolean component Extending_All
16871
16872         * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
16873
16874         * vms_data.ads:
16875         Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
16876
16877         * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
16878         "gprcmd prefix" to define it.
16879
16880 2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
16881
16882         * einfo.ads: Fix a typo and remove an extraneous word in comments.
16883
16884         * lib-load.adb:
16885         (Create_Dummy_Package_Unit): Set the scope of the entity for the
16886         created dummy package to Standard_Standard, not to itself, to
16887         defend other parts of the front-end against encoutering a cycle in
16888         the scope chain.
16889
16890         * sem_ch10.adb:
16891         (Analyze_With_Clause): When setting the entities for the successive
16892         N_Expanded_Names that constitute the name of a child unit, do not
16893         attempt to go further than Standard_Standard in the chain of scopes.
16894         This case arises from the placeholder units created by
16895         Create_Dummy_Package_Unit in the case of a with_clause for a
16896         nonexistent child unit.
16897
16898 2003-11-10  Ed Schonberg  <schonberg@gnat.com>
16899
16900         * exp_ch6.adb:
16901         (Expand_Thread_Body): Place subprogram on scope stack, so that new
16902         declarations are given the proper scope.
16903
16904         * sem_ch13.adb:
16905         (Check_Expr_Constants): Reject an expression that contains a constant
16906         created during expansion, and that appears after the object to which
16907         the address clause applies.
16908
16909         * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
16910         Analyze_Iteration_Scheme, to rewrite a loop parameter specification
16911         that uses 'Range of a function call with controlled components, so
16912         that the function result can be finalized before starting the loop.
16913
16914         * sem_ch8.adb:
16915         (Find_Selected_Component): Improve error message when prefix is
16916         an implicit dereference of an incomplete type.
16917
16918 2003-11-10  Robert Dewar  <dewar@gnat.com>
16919
16920         * opt.ads: New Print_Standard flag for -gnatS switch
16921
16922         * sem_ch13.adb: Remove some additional checks for unaligned arrays
16923
16924         * cstand.adb (Create_Standard): Print out package standard if -gnatS
16925         switch set
16926
16927         * debug.adb: Update doc for -gnatds to discuss relationship with new
16928         -gnatS flag
16929
16930         * sinfo.adb: Add new field Entity_Or_Associated_Node
16931
16932         * sinfo.ads: Add new field Entity_Or_Associated_Node
16933         Update documentation for Associated_Node and Entity fields to clarify
16934         relationship and usage.
16935
16936         * sprint.adb:
16937         (Write_Id): Properly process Associated_Node field in generic template
16938
16939         * switch-c.adb:
16940         Recognize new -gnatS switch for printing package Standard
16941         This replaces gnatpsta
16942
16943         * usage.adb:
16944         Add line for  new -gnatS switch for printing package Standard
16945         This replaces gnatpsta
16946
16947 2003-11-10  Andreas Jaeger  <aj@suse.de>
16948
16949         * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
16950         integer.
16951
16952 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
16953
16954         * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
16955         by gnat1.
16956
16957 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
16958
16959         * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
16960         no longer needed.
16961
16962         * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
16963
16964         * sysdep.c: Add handling of cygwin.
16965
16966 2003-11-10  GNAT Script  <nobody@gnat.com>
16967
16968         * Make-lang.in: Makefile automatically updated
16969
16970 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
16971
16972         PR 12950
16973         * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
16974         functions. Used to handle dynamic prefix relocation, via set_std_prefix.
16975         Replace GNAT_ROOT by GCC_ROOT.
16976
16977         * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
16978
16979 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
16980
16981         * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
16982         and update for changed meaning of GET_MODE_BITSIZE.
16983
16984 2003-11-04  Doug Rupp  <rupp@gnat.com>
16985
16986         * sysdep.c: Problem discovered during IA64 VMS port.
16987         [VMS] #include <unixio.h> to get proper prototypes.
16988
16989         * adaint.c:
16990         Issues discovered/problems fixed during IA64 VMS port.
16991         [VMS] #define _POSIX_EXIT for proper semantics.
16992         [VMS] #include <unixio.h> for proper prototypes.
16993         [VMS] (fork): #define IA64 version.
16994         (__gnat_os_exit): Remove unnecessary VMS specific code.
16995
16996 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16997
16998         Part of PR ada/12806
16999
17000         * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
17001         tree, not integer.
17002
17003         * decl.c:
17004         (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
17005         not integer.
17006
17007         * targtyps.c, decl.c, misc.c,
17008         gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
17009         routines to work around change in FP sizing semantics in GCC.
17010
17011         * utils.c:
17012         (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
17013
17014         * gigi.h: (enumerate_modes): New function.
17015
17016         * Make-lang.in: (ada/misc.o): Add real.h.
17017
17018         * misc.c: (enumerate_modes): New function.
17019
17020 2003-11-04  Robert Dewar  <dewar@gnat.com>
17021
17022         * 3vtrasym.adb: Minor reformatting
17023         Use terminology encoded/decoded name, rather than C++ specific notion
17024         of mangling (this is the terminology used throughout GNAT).
17025
17026         * einfo.h: Regenerated
17027
17028         * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
17029
17030         * exp_ch6.adb:
17031         (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
17032
17033         * par-prag.adb: Add dummy entry for Thread_Body pragma
17034
17035         * rtsfind.ads:
17036         Add entries for System.Threads entities for thread body processing
17037
17038         * sem_attr.adb:
17039         (Analyze_Pragma, Access attributes): Check these are not applied to a
17040         thread body, since this is not permitted
17041
17042         * sem_prag.adb: Add processing for Thread_Body pragma.
17043         Minor comment fix.
17044
17045         * sem_res.adb:
17046         (Resolve_Call): Check for incorrect attempt to call a thread body
17047          procedure with a direct call.
17048
17049         * snames.ads, snames.adb: Add entry for Thread_Body pragma
17050         Add names associated with thread body expansion
17051
17052         * snames.h: Add entry for Thread_Body pragma
17053
17054         * s-thread.adb: Add entries for thread body processing
17055         These are dummy bodies so far
17056
17057         * s-thread.ads: Add documentation on thread body handling.
17058         Add entries for thread body processing.
17059
17060 2003-11-04  Javier Miranda  <miranda@gnat.com>
17061
17062         * sem_ch10.adb:
17063         (Build_Limited_Views): Return after posting an error in case of limited
17064         with_clause on subprograms, generics, instances or generic renamings
17065         (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
17066         on subprograms, generics, instances or generic renamings
17067
17068 2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
17069
17070         * raise.c (setup_to_install): Correct mistake in last revision; two
17071         arguments out of order.
17072
17073         * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
17074         gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
17075         notice, missed in previous change.
17076         Remove trailing blanks and other style errors introduced in previous
17077         change.
17078
17079 2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
17080
17081         * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
17082         rid of the wrapper for a LJM type, ensuring we don't do that if the
17083         field is addressable.  This avoids potential low level type view
17084         mismatches later on, for instance in a by-reference argument passing
17085         process.
17086
17087 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17088
17089         * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
17090         aligned at byte boundary.
17091
17092 2003-11-04  Joel Brobecker  <brobecker@gnat.com>
17093
17094         * decl.c (components_to_record): Do not delete the empty variants from
17095         the end of the union type.
17096
17097 2003-11-04  Ed Schonberg  <schonberg@gnat.com>
17098
17099         * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
17100         operation for a derived type, an explicit declaration may use a local
17101         subtype of Boolean.
17102
17103 2003-11-04  Vincent Celier  <celier@gnat.com>
17104
17105         * make.adb (Gnatmake): Allow main sources on the command line with a
17106         library project when it is only for compilation (no binding or
17107         linking).
17108
17109 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17110
17111         * Makefile.in: Remove many duplicate variables.
17112
17113 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
17114
17115         * Make-lang.in (dvi): Move targets to $(docobjdir).
17116         (gnat_ug_vms.dvi): Simplify rule and adjust target.
17117         (gnat_ug_wnt.dvi): Likewise.
17118         (gnat_ug_unx.dvi): Likewise.
17119         (gnat_ug_vxw.dvi): Likewise.
17120         (gnat_rm.dvi): Likewise.
17121         (gnat-style.dvi): Likewise.
17122
17123 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
17124
17125         * gigi.h: Missed commit from update for C90.
17126
17127 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
17128
17129         * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
17130
17131 2003-10-31  Andreas Schwab  <schwab@suse.de>
17132
17133         * raise.c (get_action_description_for): Fix typo in last change.
17134
17135 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
17136
17137         PR ada/12761
17138         * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
17139         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
17140
17141 2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
17142
17143         * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
17144         ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
17145         gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
17146         sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
17147         trans.c, utils.c, utils2.c: Convert function prototypes to C90.
17148
17149 2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
17150
17151         * 3vtrasym.adb:
17152         Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
17153         numbers when symbol name is too long.
17154
17155 2003-10-30  Ed Falis  <falis@gnat.com>
17156
17157         * g-signal.ads, g-signal.adb: New files
17158
17159         * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
17160
17161         * Makefile.rtl: Introduce GNAT.Signals
17162
17163 2003-10-30  Robert Dewar  <dewar@gnat.com>
17164
17165         * freeze.adb: Minor reformatting
17166
17167         * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
17168
17169         * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
17170         par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
17171         New handling of Id_Check parameter to improve recognition of keywords
17172         used as identifiers.
17173         Update copyright notice to include 2003
17174
17175 2003-10-29  Robert Dewar  <dewar@gnat.com>
17176
17177         * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
17178         sem_ch10.adb: Minor reformatting
17179
17180         * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
17181         (Expand_Assign_Record): Test right hand side for bit unaligned as well
17182
17183 2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
17184
17185         * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
17186         Support for TBK$SYMBOLIZE-based symbolic traceback.
17187
17188 2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
17189
17190         * exp_disp.adb:
17191         Revert previous change, that did not work well when pragma No_Run_Time
17192         was used in conjunction with a run-time other than ZFP.
17193
17194 2003-10-29  Vincent Celier  <celier@gnat.com>
17195
17196         * make.adb:
17197         (Gnatmake): When there are no Ada mains in attribute Main, disable the
17198          bind and link steps only is switch -z is not used.
17199
17200 2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
17201
17202         * Makefile.generic: Remove duplicated setting of CC.
17203
17204         * Makefile.prolog: Set CC to gcc by default, to override make's
17205         default (cc).
17206
17207         * einfo.h: Regenerated.
17208
17209 2003-10-29  Ed Schonberg  <schonberg@gnat.com>
17210
17211         * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
17212         current body, after compiling subunit.
17213
17214         * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
17215         when in deleted code, because gigi needs properly ordered freeze
17216         actions to annotate types.
17217
17218         * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
17219         prevent the premature freezing of record type that contains
17220         subcomponents with a private type that does not yet have a completion.
17221
17222 2003-10-29  Javier Miranda  <miranda@gnat.com>
17223
17224         * sem_ch12.adb:
17225         (Analyze_Package_Instantiation): Check that instances can not be used in
17226         limited with_clauses.
17227
17228         * sem_ch8.adb:
17229         (Analyze_Package_Renaming): Check that limited withed packages cannot
17230         be renamed. Improve text on error messages related to limited
17231         with_clauses.
17232
17233         * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
17234
17235         * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
17236         Update copyright notice.
17237
17238         * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
17239         (Install_Limited_Context_Clauses): New subprogram that isolates all the
17240         checks required for limited context_clauses and installs the limited
17241         view.
17242         (Install_Limited_Withed_Unit): Complete its documentation.
17243         (Analyze_Context): Check that limited with_clauses are only allowed in
17244         package specs.
17245         (Install_Context): Call Install_Limited_Context_Clauses after the
17246         parents have been installed.
17247         (Install_Limited_Withed_Unit): Add documentation. Mark the installed
17248         package as 'From_With_Type'; this mark indicates that the limited view
17249         is installed. Used to check bad usages of limited with_clauses.
17250         (Build_Limited_Views): Do not add shadow entities to the scope's list
17251         of entities. Do not add real entities to the Non_Limited_Views chain.
17252         Improve error notification.
17253         (Remove_Context_Clauses): Remove context clauses in two phases:
17254         limited views first and regular views later (to maintain the
17255         stack model).
17256         (Remove_Limited_With_Clause): If the package is analyzed then reinstall
17257         its visible entities.
17258
17259 2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
17260
17261         * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
17262         with any type that Is_Fixed_Point_Type.
17263
17264         * sinfo.ads: Fix documentation for Associated_Node attribute.
17265
17266 2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
17267
17268         * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
17269         both '-gnatc' and '-gnatt' are specified.
17270
17271         * atree.adb (Initialize): Add initialization for Node_Count (set to
17272         zero).
17273
17274 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17275
17276         * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
17277         do not consider as Pure.
17278
17279         Part of implementation of function-at-a-time:
17280
17281         * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
17282         (tree_transform): Add new argument to build_component_ref.
17283         (tree_transform, case N_Assignment_Statement): Make and return an
17284         EXPR_STMT.
17285         (tree_transform): If result IS_STMT, set flags and return it.
17286         (gnat_expand_stmt, set_lineno_from_sloc): New functions.
17287
17288         * utils2.c (build_simple_component_ref, build_component_ref): Add new
17289         arg, NO_FOLD_P.
17290         (build_binary_op, case EQ_EXPR): Pass additional arg to it.
17291         (build_allocator): Likewise.
17292
17293         * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
17294         Add new arg to build_component_ref.
17295         (maybe_unconstrained_array, unchecked_convert): Likewise.
17296
17297         * ada-tree.def (EXPR_STMT): New code.
17298
17299         * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
17300
17301         * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
17302         build_component_ref calls.
17303
17304         * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
17305
17306         * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
17307         (build_component_ref): Add new argument, NO_FOLD_P.
17308
17309 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
17310
17311         * Makefile.generic: Add missing substitution on object_deps handling.
17312
17313         PR ada/5909:
17314         * Make-lang.in (check-ada): Enable ACATS test suite.
17315
17316 2003-10-27  Robert Dewar  <dewar@gnat.com>
17317
17318         * exp_ch3.adb:
17319         (Freeze_Array_Type): We do not need an initialization routine for types
17320         derived from String or Wide_String. They should be treated the same
17321         as String and Wide_String themselves. This caused problems with the
17322         use of Initialize_Scalars.
17323
17324         * exp_ch5.adb:
17325         (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
17326         composites. This allows use of component clauses that are not byte
17327         aligned.
17328
17329         * sem_prag.adb:
17330         (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
17331         is an attempt to pack an array of atomic objects.
17332
17333         * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
17334
17335 2003-10-27  Pascal Obry  <obry@gnat.com>
17336
17337         * g-dirope.adb:
17338         (Basename): Check for drive letters in a pathname only on DOS based OS.
17339
17340 2003-10-27  Vincent Celier  <celier@gnat.com>
17341
17342         * make.adb:
17343         (Gnatmake): When unable to change dir to the object dir, display the
17344         content of the parent dir of the obj dir, to try to understand why this
17345         happens.
17346
17347 2003-10-27  GNAT Script  <nobody@gnat.com>
17348
17349         * Make-lang.in: Makefile automatically updated
17350
17351 2003-10-27  Ed Schonberg  <schonberg@gnat.com>
17352
17353         * sem_ch12.adb:
17354         (Inline_Instance_Body): Indicate that the save/restore of use_clauses
17355         should not be done in Save/Restore_Scope_Stack, because it is performed
17356         locally.
17357
17358         * sem_ch8.adb:
17359         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
17360         whether use clauses should be removed/restored.
17361
17362         * sem_ch8.ads:
17363         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
17364         whether use clauses should be removed/restored.
17365
17366 2003-10-26  Andreas Jaeger  <aj@suse.de>
17367
17368         * Makefile.in: Remove duplicated lines.
17369
17370 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
17371
17372         * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
17373         minimize the differences with ACT tree.
17374
17375         * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
17376         gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
17377         Gnatvsn.Gnat_Static_Version_String to reduce differences between
17378         ACT and FSF trees.
17379
17380 2003-10-24  Pascal Obry  <obry@gnat.com>
17381
17382         * adadecode.c (ostrcpy): New function.
17383         (__gnat_decode): Use ostrcpy of strcpy.
17384         (has_prefix): Set first parameter a const.
17385         (has_suffix): Set first parameter a const.
17386         Update copyright notice. Fix source name in header.
17387         Removes a trailing space.
17388         PR ada/12014.
17389
17390 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
17391
17392         * exp_disp.adb:
17393         Remove the test against being in No_Run_Time_Mode before generating a
17394         call to Register_Tag. It is redundant with the test against the
17395         availability of the function Register_Tag.
17396
17397 2003-10-24  Vincent Celier  <celier@gnat.com>
17398
17399         * g-catiio.adb: (Month_Name): Correct spelling of February
17400
17401         * make.adb: (Mains): New package
17402         (Initialize): Call Mains.Delete
17403         (Gnatmake): Check that each main on the command line is a source of a
17404         project file and, if there are several mains, each of them is a source
17405         of the same project file.
17406         (Gnatmake): When a foreign language is specified in attribute Languages,
17407         no main is specified on the command line and attribute Mains is not
17408         empty, only build the Ada main. If there is no Ada main, just compile
17409         the Ada sources and their closure.
17410         (Gnatmake): If a main is specified on the command line with directory
17411         information, check that the source exists and, if it does, that the path
17412         is the actual path of a source of a project.
17413
17414         * prj-env.adb:
17415         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
17416         Full_Path is True, return the full path instead of the simple file name.
17417         (Project_Of): New function
17418
17419         * prj-env.ads:
17420         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
17421         defaulted to False.
17422         (Project_Of): New function
17423
17424 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
17425
17426         * Makefile.generic:
17427         Ensure objects of main project are always checked and rebuilt if needed.
17428         Set CC to gcc by default.
17429         Prepare new handling of link by creating a global archive (not activated
17430         yet).
17431
17432         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
17433         stringt.h: Update copyright notice. Remove trailing blanks.
17434         Fix source name in header.
17435
17436 2003-10-24  Robert Dewar  <dewar@gnat.com>
17437
17438         * sem_ch12.adb: Minor reformatting
17439
17440         * sem_ch3.adb:
17441         Minor reformatting (including new function return style throughout)
17442
17443         * sem_ch3.ads:
17444         Minor reformatting (including new function return style throughout)
17445
17446 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
17447
17448         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
17449         stringt.h: Update copyright notice. Remove trailing blanks.
17450         Fix source name in header.
17451
17452 2003-10-24  GNAT Script  <nobody@gnat.com>
17453
17454         * Make-lang.in: Makefile automatically updated
17455
17456 2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
17457
17458         * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
17459         stringt.h: Convert to ISO C90 declarations and definitions.
17460
17461 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
17462
17463         PR ada/11978:
17464         * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
17465         External_Tag attribute definition clauses.
17466
17467 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
17468
17469         PR ada/7613:
17470         * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
17471         child unit, generate a fully qualified name to avoid spurious errors
17472         when the context contains renamings of different child units with
17473         the same simple name.
17474
17475         * exp_dbug.ads: Add documentation on name qualification for renamings
17476         of child units.
17477
17478 2003-10-23  Robert Dewar  <dewar@gnat.com>
17479
17480         * g-regpat.ads, g-regpat.adb: Minor reformatting
17481
17482 2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
17483
17484         * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
17485
17486 2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17487
17488         * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
17489         Machine call.
17490
17491         * urealp.h: (Machine): Update to proper definition.
17492
17493 2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
17494
17495         * init.c, adaint.c: Minor reformatting.
17496
17497 2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
17498
17499         * adaint.c (w32_epoch_offset): Define static const at file level.
17500         (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
17501         rather than t_create, t_access in call to GetFileTime. Use union
17502         to convert between FILETIME and  unsigned long long.
17503         (__gnat_file_time_name): Test for invalid file handle.
17504         (__gnat_set_filetime_name): Support win32 targets using
17505         w32api SetFileTime.
17506
17507 2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
17508
17509         * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
17510
17511         * ctrl_c.c (__gnat_int_handler): Remove declaration.
17512
17513         * decl.c (creat_concat_name):  Const-ify prefix.
17514
17515         * adaint.c: Include ctype.h if __MINGW32__.
17516         (__gnat_readlink): Mark arguments as possibly unused.
17517         (__gnat_symlink): Likewise.
17518         (__gnat_is_symbolic_link): Likewise.
17519         (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
17520         declaration
17521         (__gnat_file_time_name): Don't declare struct stat statbuf when
17522         not needed.
17523         (__gnat_is_absolute_path): Add parenthesis around condition of
17524         'if' statement to avoid warning.
17525         (__gnat_plist_init): Specify void as parameter.
17526         (plist_enter): Likewise.
17527         (plist_leave): Likewise.
17528         (remove_handle): Make static. Initialize prev.
17529
17530 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
17531
17532         * Makefile.in: Disable build of gnatpsta. PR ada/10110.
17533         * cstreams.c (__gnat_full_name): Minor improvements and clean up
17534         of previous change.
17535
17536 2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17537
17538         * tracebak.c (MAX): Avoid redefinition warning.
17539
17540         * init.c [sgi] (__gnat_error_handler): Remove i, unused.
17541         Change msg to const char *.
17542         (__gnat_install_handler): Remove ss, unused.
17543         [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
17544         to const char *.
17545         * cstreams.c (__gnat_full_name): Declare p only when used.
17546         (__gnat_full_name) [sgi] Return buffer.
17547
17548 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
17549
17550         * mingw32.h: New file.
17551         * gnat_wrapper.adb: New file.
17552
17553 2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
17554
17555         * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
17556         string match a pre compiled regular expression (the corresponding
17557         version of the function working on a raw regular expression)
17558         Fix typos in various comments
17559         Update copyright notice in spec
17560
17561 2003-10-21  Gary Dismukes  <dismukes@gnat.com>
17562
17563         * exp_ch3.adb:
17564         (Component_Needs_Simple_Initialization): Return False when the type is a
17565         packed bit array. Revise spec comments to document this case.
17566
17567         * exp_prag.adb:
17568         (Expand_Pragma_Import): Set any expression on the imported object to
17569         empty to avoid initializing imported objects (in particular this
17570         covers the case of zero-initialization of bit arrays).
17571         Update copyright notice.
17572
17573 2003-10-21  Ed Schonberg  <schonberg@gnat.com>
17574
17575         * sem_ch12.adb:
17576         (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
17577         a subunit is missing.
17578         (Instantiate_Subprogram_Body): If body of function is missing, set type
17579         of return expression explicitly in dummy body, to prevent cascaded
17580         errors when a subunit is missing.
17581         Fixes PR 5677.
17582
17583         * sem_ch3.adb:
17584         (Access_Subprogram_Declaration): Verify that return type is valid.
17585         Fixes PR 8693.
17586
17587         * sem_elab.adb:
17588         (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
17589         generic.
17590         Fixes PR 12318.
17591
17592         * sem_util.adb:
17593         (Corresponding_Discriminant): If the scope of the discriminant is a
17594         private type without discriminant, use its full view.
17595         Fixes PR 8247.
17596
17597 2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
17598
17599         * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
17600         3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
17601         3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
17602         55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
17603         56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
17604         59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
17605         5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
17606         5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
17607         5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
17608         5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
17609         5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
17610         5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
17611         5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
17612         5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
17613         7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
17614         a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
17615         a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
17616         a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
17617         bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
17618         erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
17619         err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
17620         g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
17621         g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
17622         g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
17623         g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
17624         g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
17625         g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
17626         gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
17627         g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
17628         g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
17629         i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
17630         prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
17631         prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
17632         s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
17633         s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
17634         s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
17635         s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
17636         s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
17637         s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
17638         s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
17639         s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
17640         socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
17641         s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
17642         s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
17643         s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
17644         styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
17645         s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
17646         tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
17647         vms_conv.ads, vms_conv.adb, vms_data.ads,
17648         vxaddr2line.adb: Files added. Merge with ACT tree.
17649
17650         * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
17651         5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
17652         5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
17653         5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
17654         g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
17655         s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
17656         s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
17657         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
17658         s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
17659         s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
17660
17661         * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
17662         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
17663         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
17664         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
17665         4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
17666         4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
17667         4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
17668         4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
17669         51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
17670         53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
17671         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
17672         5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
17673         5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
17674         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
17675         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
17676         5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
17677         5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
17678         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
17679         5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
17680         5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
17681         5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
17682         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
17683         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
17684         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
17685         5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
17686         5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
17687         5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
17688         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
17689         5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
17690         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
17691         5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
17692         5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
17693         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
17694         5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
17695         6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
17696         7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
17697         7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
17698         a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
17699         a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
17700         a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
17701         a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
17702         a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
17703         ali.adb, ali.ads, ali-util.adb, ali-util.ads,
17704         a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
17705         a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
17706         a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
17707         a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
17708         a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
17709         a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
17710         a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
17711         a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
17712         a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
17713         a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
17714         a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
17715         a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
17716         atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
17717         a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
17718         a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
17719         bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
17720         checks.adb, checks.ads, cio.c, comperr.adb,
17721         comperr.ads, csets.adb, cstand.adb, cstreams.c,
17722         debug_a.adb, debug_a.ads, debug.adb, decl.c,
17723         einfo.adb, einfo.ads, errout.adb, errout.ads,
17724         eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
17725         expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
17726         exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
17727         exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
17728         exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
17729         exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
17730         exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
17731         exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
17732         exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
17733         fe.h, fmap.adb, fmap.ads, fname.adb,
17734         fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
17735         freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
17736         g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
17737         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
17738         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
17739         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
17740         g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
17741         g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
17742         g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
17743         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
17744         g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
17745         g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
17746         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
17747         g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
17748         gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
17749         gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
17750         gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
17751         gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
17752         gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
17753         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
17754         g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
17755         g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
17756         g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
17757         g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
17758         g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
17759         g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
17760         g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
17761         i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
17762         i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
17763         inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
17764         itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
17765         layout.adb, lib.adb, lib.ads, lib-list.adb,
17766         lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
17767         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
17768         link.c, live.adb, make.adb, make.ads,
17769         Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
17770         mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
17771         mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
17772         misc.c, mkdir.c, mlib.adb, mlib.ads,
17773         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
17774         mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
17775         namet.adb, namet.ads, namet.h, nlists.ads,
17776         nlists.h, nmake.adt, opt.adb, opt.ads,
17777         osint.adb, osint.ads, osint-b.adb, osint-c.adb,
17778         par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
17779         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
17780         par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
17781         par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
17782         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
17783         prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
17784         prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
17785         prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
17786         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
17787         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
17788         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
17789         prj-util.adb, prj-util.ads, raise.c, raise.h,
17790         repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
17791         rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
17792         s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
17793         s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
17794         scans.ads, scn.adb, scn.ads, s-crc32.adb,
17795         s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
17796         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
17797         sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
17798         sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
17799         sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
17800         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
17801         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
17802         sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
17803         sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
17804         sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
17805         sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
17806         sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
17807         s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
17808         s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
17809         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
17810         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
17811         s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
17812         s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
17813         s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
17814         sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
17815         sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
17816         sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
17817         s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
17818         s-memory.adb, s-memory.ads, snames.adb, snames.ads,
17819         snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
17820         s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
17821         s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
17822         s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
17823         s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
17824         s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
17825         s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
17826         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
17827         s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
17828         s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
17829         s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
17830         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
17831         s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
17832         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
17833         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
17834         s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
17835         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
17836         stringt.adb, stringt.ads, stringt.h, style.ads,
17837         stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
17838         s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
17839         s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
17840         switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
17841         s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
17842         table.adb, table.ads, targparm.adb, targparm.ads,
17843         targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
17844         trans.c, tree_io.adb, treepr.adb, treeprs.adt,
17845         ttypes.ads, types.ads, types.h, uintp.adb,
17846         uintp.ads, uintp.h, uname.adb, urealp.adb,
17847         urealp.ads, urealp.h, usage.adb, utils2.c,
17848         utils.c, validsw.adb, validsw.ads, widechar.adb,
17849         xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
17850         xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
17851         einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
17852         gnatvsn.ads: Merge with ACT tree.
17853
17854         * gnatvsn.adb: Rewritten in a simpler and more efficient way.
17855
17856 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
17857
17858         * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
17859         (gnat_ug_vmx.info): Likewise.
17860         (gnat_ug_vxw.info): Likewise.
17861         (gnat_ug_wnt.info): Likewise.
17862         (gnat_rm.info): Likewise.
17863         (gnat-style.info): Likewise.
17864
17865         * Make-lang.in (ada.install-info): Remove target.
17866         (info): New target.
17867         (install-info): Likewise.
17868         (gnat_ug_unx.info): Simplify rule.
17869         (gnat_ug_vmx.info): Likewise.
17870         (gnat_ug_vxw.info): Likewise.
17871         (gnat_ug_wnt.info): Likewise.
17872         (gnat_rm.info): Likewise.
17873         (gnat-style.info): Likewise.
17874
17875 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
17876
17877         * Make-lang.in: Replace uses of $(target_alias) with
17878         $(target_noncanonical).
17879         * ada/Makefile.in: Remove unused mention of $(target_alias).
17880
17881 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
17882
17883         * Make-lang.in (ada.info): Replace with ...
17884         (info): ... this.
17885         (ada.dvi): Replace with ...
17886         (dvi): ... this.
17887
17888 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
17889
17890         * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
17891         initialize dconstp5 and dconstmp5.
17892
17893 2003-09-28  Richard Henderson  <rth@redhat.com>
17894
17895         * trans.c (tree_transform): Update call to expand_asm_operands.
17896
17897 2003-09-21  Richard Henderson  <rth@redhat.com>
17898
17899         * trans.c, utils.c: Revert.
17900
17901 2003-09-21  Richard Henderson  <rth@redhat.com>
17902
17903         * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
17904         change to const.
17905
17906 2003-09-04  Michael Matz  <matz@suse.de>
17907
17908         * misc.c: Include "target.h".
17909         * Make-lang.in (misc.o): Add dependency on target.h.
17910
17911 2003-09-03  DJ Delorie  <dj@redhat.com>
17912
17913         * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
17914         hook.
17915
17916 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
17917
17918         * Makefile.in: Update substitutions to match changes to
17919         configure.  Use include directives instead of @-insertions
17920         to read in host and target fragments.  Add a rule to
17921         regenerate ada/Makefile.
17922
17923 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
17924
17925         * lang-options.h: Remove.
17926         * lang.opt: Add help text.
17927
17928 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
17929
17930         * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
17931         calls.
17932
17933 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
17934
17935         * misc.c (gnat_handle_option): Don't handle filenames.
17936
17937 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
17938
17939         * Make-lang.in: Replace PWD with PWD_COMMAND.
17940         * Makefile.adalib: Likewise.
17941         * Makefile.in: Likewise.
17942
17943 2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
17944
17945         * misc.c (gnat_argv): Revert last change.
17946         (gnat_handle_option, gnat_init_options): Copy arguments.
17947
17948 2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
17949
17950         * misc.c (gnat_argv): Make const.
17951
17952 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
17953
17954         * misc.c (save_argc, save_argv): Keep non-static!
17955
17956 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
17957
17958         * misc.c (save_argc, save_argv): Make static.
17959         (gnat_init_options): New prototype.
17960         (gnat_init_options): Update.
17961
17962 2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
17963
17964         * gnat_ug.texi: Remove unlikely characters from @vars.
17965         * gnat_ug_vms.texi: Regenerate.
17966
17967 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
17968
17969         * misc.c (record_code_position): Adjust emit_note call.
17970
17971 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
17972
17973         * misc.c (gnat_handle_option): Don't check for missing arguments.
17974
17975 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
17976
17977         * utils.c (end_subprog_body): Adjust expand_function_end call.
17978
17979 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
17980
17981         * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
17982         Bind_Main_Program.
17983
17984 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
17985
17986         * lang.opt: Declare Ada.
17987         * misc.c (gnat_init_options): Update.
17988
17989 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
17990
17991         * utils.c (begin_subprog_body): Adjust init_function_start call.
17992
17993 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
17994
17995         * Make-lang.in: Update to use options.c and options.h.
17996         * misc.c: Include options.h not aoptions.h.
17997         (gnat_handle_option): Abort on unrecognized switch.
17998         (gnat_init_options): Request Ada switches.
17999
18000 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
18001
18002         * lang.opt: Add -Wall.
18003         * misc.c (gnat_handle_option): Handle it.
18004
18005 2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
18006
18007         * misc.c (gnat_handle_option): Fix warnings.
18008
18009 2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
18010
18011         * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
18012
18013 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
18014
18015         * Make-lang.in: Update to handle command-line options.
18016         * lang.opt: New file.
18017         * misc.c: Include aoptions.h.
18018         (cl_options_count, cl_options): Remove.
18019         (gnat_handle_option): New.
18020         (gnat_decode_option): Remove.
18021         (LANG_HOOKS_DECODE_OPTION): Remove.
18022         (LANG_HOOKS_HANDLE_OPTION): Override.
18023
18024 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
18025
18026         * init.c, misc.c, trans.c, utils.c: Remove dead code.
18027
18028 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
18029
18030         * Makefile.in: Replace "host_canonical" with "host" for autoconf
18031         substitution.
18032
18033 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
18034
18035         * Make-lang.in: Update.
18036         * misc.c: Include opts.h. Define cl_options_count and cl_options.
18037
18038 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
18039
18040         * misc.c (gnat_init_options): Update.
18041
18042 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
18043
18044         * Make-lang.in (ada/b_gnatb.o-warn): Remove.
18045         * bindgen.adb (Gen_Main_C): Mark ensure_reference with
18046         __attribute__ ((__unused__)).
18047
18048 2003-06-05  Jan Hubicka  <jh@suse.cz>
18049
18050         * Make-lang.in:  Add support for stageprofile and stagefeedback
18051
18052 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
18053
18054         * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
18055         (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
18056
18057 2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
18058
18059         * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
18060         Remove non-VMS directive.
18061         (Switches for gnatlbr, Optimization Levels): Remove non-VMS
18062         alternatives.
18063         (Examples of gnatls Usage): Remove VMS alternative.
18064
18065 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
18066
18067         PR ada/9953:
18068         * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
18069         and turn ZCX_By_Default back to False since the underlying support
18070         is not quite there yet.
18071
18072 2003-06-01  Andreas Jaeger  <aj@suse.de>
18073
18074         * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
18075         and ROUND_TYPE_SIZE_UNIT.
18076
18077 2003-05-22   Geert Bosch <bosch@gnat.com>
18078
18079         * gnat_rm.texi : Remove reference to Ada Core Technologies.
18080
18081 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
18082
18083         * trans.c (tree_transform): Use location_t and input_location
18084         directly.
18085         (build_unit_elab): Likewise.
18086         * utils.c (create_label_decl): Likewise.
18087
18088 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
18089
18090         * trans.c (tree_transform, build_unit_elab,
18091         set_lineno): Rename lineno to input_line.
18092         * utils.c (pushdecl, create_label_decl, begin_subprog_body,
18093         end_subprog_body): Likewise.
18094         * utils2.c (build_call_raise): Likewise.
18095
18096 2003-05-01  Laurent Guerby <guerby@acm.org>
18097
18098         PR ada/10546
18099         * 5iosinte.ads: Increase pthread_cond_t size to match recent
18100         LinuxThread and NPTL version, merge from ACT.
18101
18102 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
18103
18104         * utils.c (convert): No need to clear TREE_CST_RTL.
18105
18106 2003-04-23   Geert Bosch <bosch@gnat.com>
18107
18108         * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
18109         1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
18110         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
18111         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
18112         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
18113         4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
18114         4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
18115         4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
18116         4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
18117         4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
18118         4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
18119         4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
18120         52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
18121         5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
18122         5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
18123         5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
18124         5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
18125         5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
18126         5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
18127         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
18128         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
18129         5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
18130         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
18131         5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
18132         5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
18133         5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
18134         5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
18135         5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
18136         5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
18137         5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
18138         5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
18139         5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
18140         5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
18141         5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
18142         5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
18143         5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
18144         5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
18145         5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
18146         5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
18147         5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
18148         5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
18149         5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
18150         5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
18151         5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
18152         6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
18153         7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
18154         7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
18155         9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
18156         a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
18157         a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
18158         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
18159         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
18160         a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
18161         a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
18162         a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
18163         a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
18164         a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
18165         a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
18166         a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
18167         a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
18168         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
18169         a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
18170         a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
18171         a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
18172         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
18173         a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
18174         a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
18175         a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
18176         a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
18177         a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
18178         a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
18179         a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
18180         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
18181         a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
18182         a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
18183         a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
18184         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
18185         a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
18186         a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
18187         a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
18188         a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
18189         a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
18190         a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
18191         a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
18192         a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
18193         a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
18194         a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
18195         a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
18196         a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
18197         a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
18198         a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
18199         a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
18200         a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
18201         a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
18202         a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
18203         a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
18204         a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
18205         a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
18206         a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
18207         a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
18208         a-wttest.ads, ada-tree.h, ada.ads, ada.h,
18209         adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
18210         ali.adb, ali.ads, alloc.ads, argv.c,
18211         atree.adb, atree.ads, atree.h, aux-io.c,
18212         back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
18213         binde.adb, binde.ads, binderr.adb, binderr.ads,
18214         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
18215         butil.adb, butil.ads, cal.c, calendar.ads,
18216         casing.adb, casing.ads, ceinfo.adb, checks.adb,
18217         checks.ads, cio.c, comperr.adb, comperr.ads,
18218         config-lang.in, csets.adb, csets.ads, csinfo.adb,
18219         cstand.adb, cstand.ads, cuintp.c, debug.adb,
18220         debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
18221         dec-io.ads, dec.ads, deftarg.c, directio.ads,
18222         einfo.adb, einfo.ads, elists.adb, elists.ads,
18223         elists.h, errno.c, errout.adb, errout.ads,
18224         eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
18225         exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
18226         exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
18227         exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
18228         exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
18229         exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
18230         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
18231         exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
18232         exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
18233         exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
18234         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
18235         exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
18236         exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
18237         exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
18238         exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
18239         fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
18240         fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
18241         freeze.adb, freeze.ads, frontend.adb, frontend.ads,
18242         g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
18243         g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
18244         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
18245         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
18246         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
18247         g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
18248         g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
18249         g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
18250         g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
18251         g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
18252         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
18253         g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
18254         g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
18255         g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
18256         g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
18257         g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
18258         g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
18259         g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
18260         g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
18261         g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
18262         g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
18263         g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
18264         get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
18265         gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
18266         gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
18267         gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
18268         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
18269         gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
18270         gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
18271         gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
18272         hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
18273         i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
18274         i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
18275         i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
18276         i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
18277         i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
18278         i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
18279         inline.adb, inline.ads, interfac.ads, ioexcept.ads,
18280         itypes.adb, itypes.ads, krunch.adb, krunch.ads,
18281         layout.adb, layout.ads, lib-list.adb, lib-load.adb,
18282         lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
18283         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
18284         lib.adb, lib.ads, live.adb, live.ads,
18285         machcode.ads, make.adb, make.ads, makeusg.adb,
18286         makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
18287         mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
18288         memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
18289         mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
18290         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
18291         mlib.ads, namet.adb, namet.ads, nlists.adb,
18292         nlists.ads, opt.adb, opt.ads, osint-b.adb,
18293         osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
18294         osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
18295         osint.ads, output.adb, output.ads, par-ch10.adb,
18296         par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
18297         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
18298         par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
18299         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
18300         par-tchk.adb, par-util.adb, par.adb, par.ads,
18301         prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
18302         prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
18303         prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
18304         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
18305         prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
18306         prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
18307         prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
18308         prj.adb, prj.ads, repinfo.adb, repinfo.ads,
18309         restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
18310         rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
18311         s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
18312         s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
18313         s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
18314         s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
18315         s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
18316         s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
18317         s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
18318         s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
18319         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
18320         s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
18321         s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
18322         s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
18323         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
18324         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
18325         s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
18326         s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
18327         s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
18328         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
18329         s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
18330         s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
18331         s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
18332         s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
18333         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
18334         s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
18335         s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
18336         s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
18337         s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
18338         s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
18339         s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
18340         s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
18341         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
18342         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
18343         s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
18344         s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
18345         s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
18346         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
18347         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
18348         s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
18349         s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
18350         s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
18351         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
18352         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
18353         s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
18354         s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
18355         s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
18356         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
18357         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
18358         s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
18359         s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
18360         s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
18361         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
18362         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
18363         s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
18364         s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
18365         s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
18366         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
18367         s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
18368         s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
18369         s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
18370         s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
18371         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
18372         s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
18373         s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
18374         s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
18375         s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
18376         s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
18377         s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
18378         s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
18379         s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
18380         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
18381         s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
18382         s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
18383         s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
18384         s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
18385         s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
18386         s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
18387         s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
18388         s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
18389         s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
18390         s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
18391         s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
18392         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
18393         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
18394         s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
18395         s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
18396         s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
18397         s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
18398         s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
18399         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
18400         s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
18401         s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
18402         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
18403         s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
18404         scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
18405         sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
18406         sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
18407         sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
18408         sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
18409         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
18410         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
18411         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
18412         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
18413         sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
18414         sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
18415         sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
18416         sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
18417         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
18418         sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
18419         sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
18420         sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
18421         sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
18422         sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
18423         sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
18424         sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
18425         snames.ads, sprint.adb, sprint.ads, stand.adb,
18426         stand.ads, stringt.adb, stringt.ads, style.adb,
18427         style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
18428         switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
18429         switch-m.ads, switch.adb, switch.ads, system.ads,
18430         table.adb, table.ads, targparm.adb, targparm.ads,
18431         tbuild.adb, tbuild.ads, text_io.ads, trans.c,
18432         tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
18433         tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
18434         ttypef.ads, ttypes.ads, types.adb, types.ads,
18435         uintp.adb, uintp.ads, uname.adb, uname.ads,
18436         unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
18437         usage.adb, usage.ads, validsw.adb, validsw.ads,
18438         widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
18439         xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
18440         xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
18441         formatting and other trivial changes from ACT.
18442
18443 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
18444
18445         * gigi.h, utils2.c (build_constructor):
18446         Rename gnat_build_constructor. Use build_constructor.
18447         * decl.c (gnat_to_gnu_entity)
18448         * trans.c (tree_transform, pos_to_constructor, extract_values)
18449         * ada/utils.c (build_template, convert_to_fat_pointer, convert)
18450         (unchecked_convert)
18451         * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
18452         (fill_vms_descriptor):
18453         Update to match.
18454
18455 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
18456
18457         * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
18458         * misc.c (gnat_tree_size): New function.
18459         (LANG_HOOKS_TREE_SIZE): Override.
18460
18461 2003-04-03  Jason Merrill  <jason@redhat.com>
18462
18463         * misc.c (gnat_adjust_rli): #if 0.
18464
18465 2003-03-31   Geert Bosch <bosch@gnat.com>
18466
18467         PR ada/10020
18468         * link.c : Fix misspelled "const" keyword
18469
18470 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
18471
18472         PR c++/7086
18473         * utils2.c: Adjust calls to put_var_into_stack.
18474
18475 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
18476
18477         * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
18478
18479 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
18480
18481         * misc.c (gnat_init): Update for new prototype.
18482
18483 2003-03-05  Olivier Hainque  <hainque@gnat.com>
18484
18485         ada/9961
18486         * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
18487         warning, and fix return type for the IN_RTS && !SJLJ case.
18488
18489 2003-03-04  Tom Tromey  <tromey@redhat.com>
18490
18491         * Make-lang.in (ada.tags): New target.
18492
18493 2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
18494
18495         ada/9911
18496         * a-except.adb (Unwind_RaiseException): Import a GNAT specific
18497         wrapper, which name remains constant whatever underlying GCC
18498         scheme.
18499
18500         * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
18501         the stable interface needed for a-except.
18502
18503 2003-03-02  Andreas Jaeger  <aj@suse.de>
18504
18505         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
18506         gnat_ug_wnt.texi: Regenerate.
18507
18508 2003-03-02  Laurent Guerby <guerby@acm.org>
18509
18510         * Makefile.in (install-gnatlib): Match previous change there
18511         so it works.
18512
18513 2003-02-28  Andreas Schwab  <schwab@suse.de>
18514
18515         * Make-lang.in (install-gnatlib): Change to ada directory before
18516         running make instead of using ada/Makefile directly.
18517
18518 2003-02-18  Ben Elliston  <bje@redhat.com>
18519
18520         Part of fix for PR ada/9406
18521         * gnat_ug.texi (Binder output file): Grammar fix.
18522
18523 2003-02-18  Ben Elliston  <bje@redhat.com>
18524
18525         PR other/7350
18526         * 5qtaprop.adb (Sleep): Fix typo in comment.
18527
18528 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
18529
18530         * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
18531         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
18532         gnat_ug_wnt.texi: Regenerate.
18533
18534 2003-02-03  Christian Cornelssen <ccorn@cs.tu-berlin.de>
18535
18536         * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
18537         be created if necessary.
18538         (ada.install-common): Let $(DESTDIR)$(bindir) be created
18539         if necessary.  Remove erroneous and redundant gnatchop
18540         installation commands.  Test for gnatdll before attempting
18541         to install it.
18542         (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
18543         and gnatdll from all plausible locations.
18544
18545 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
18546
18547         * utils2.c (build_unary_op): Don't check flag_volatile.
18548         * gnat_ug.texi: Remove -fvolatile from example.
18549         * gnat_ug_vxw.texi: Likewise.
18550
18551 2003-01-29  Laurent Guerby <guerby@acm.org>
18552
18553         PR ada/8344
18554         * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
18555         * Makefile.in: match previous change.
18556         * Make-lang.in: match previous change.
18557
18558 2003-01-29      Joel Sherrill <joel@OARcorp.com>
18559
18560         * 5rosinte.ads: Add SIGXCPU.
18561         * 5rtpopsp.adb: New file.
18562         * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
18563         * Makefile.in: Recognize more RTEMS targets and add the RTEMS
18564         specific file 5rtpopsp.adb.
18565         * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
18566         is likely needed for all newlib targets.
18567         * init.c: Add RTEMS specific version of __gnat_initialize().
18568
18569 2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18570
18571         * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
18572
18573 2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18574
18575         * init.c (__gnat_error_handler): Make msg const.
18576
18577         * gmem.c (convert_addresses): Move declaration ...
18578         * adaint.h: ... here.
18579         * adaint.c (convert_addresses): Adapt addrs type to match
18580         prototype.
18581
18582         * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
18583
18584 2003-01-24  Andreas Schwab  <schwab@suse.de>
18585
18586         * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
18587         size_t to avoid warning.
18588
18589 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
18590
18591         * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
18592
18593 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
18594
18595         * gnat_rm.texi: Remove RCS version number.
18596
18597         * ada-tree.h (union lang_tree_node): Add chain_next option.
18598
18599 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
18600
18601         * Make-lang.in (ada.install-info, ada.install-common,
18602         ada.uninstall): Prepend $(DESTDIR) to the destination
18603         directory in all (un)installation commands.
18604         * Makefile.in (install-gnatlib, install-rts): Ditto.
18605
18606 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
18607
18608         * gnat_rm.texi, gnat_ug.texi: Use @copying.
18609         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
18610         gnat_ug_wnt.texi: Regenerate.
18611
18612 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
18613
18614         * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
18615         only.
18616         * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
18617         $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
18618         $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
18619         ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
18620         ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
18621         $(srcdir)/doc/include/gcc-common.texi.
18622
18623 2002-12-15   Geert Bosch <bosch@gnat.com>
18624
18625         * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
18626
18627 2002-12-14   Geert Bosch <bosch@gnat.com>
18628
18629         * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
18630         case of a body created for a Renaming_As_Body, on which
18631         conformance checks are not performed. Fixes PR ada/5690.
18632
18633 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
18634
18635         * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
18636         utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
18637         not already included.
18638         * Make-lang.in: Update dependencies.
18639
18640 2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
18641         * adaint.c (__gnat_tmp_name): Better, but good enough for now,
18642         solution to buffer overflow bug on GNU/Linux.
18643
18644 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
18645         Closes PR ada/5856 and PR ada/6919 !
18646         * bindgen.adb: Remove all references to Public_Version.
18647         * comperr.adb: Remove all references to Public_Version and
18648         GNATPRO_Version; correct bug reporting instructions.
18649         * comperr.ads: Change to match bug box.
18650         * gnatvsn.ads: Remove all references to Public version and
18651         GNATPRO version.
18652
18653 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
18654         PR ada/6919
18655         * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
18656         GNU/Linux.
18657
18658         PR ada/6558
18659         * config-lang.in: Remove diff_excludes.
18660
18661 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
18662         PR ada/8358
18663         * trans.c (gnu_pending_elaboration_lists): New GC root.
18664         (build_unit_elab): Use..
18665
18666 2002-10-30   Geert Bosch <bosch@gnat.com>
18667         PR ada/6558
18668         * misc.c : Include optabs.h
18669
18670         * Make-lang.in (misc.o): Add dependency on optabs.h
18671
18672 2002-10-29   Geert Bosch <bosch@gnat.com>
18673         PR ada/6558
18674         * Make-lang.in (gnatbind): Depend on CONFIG_H
18675
18676 2002-10-29  Geert bosch  <bosch@gnat.com>
18677         PR ada/6558
18678         * misc.c: Unrevert misc.c (1.13)
18679
18680 2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
18681
18682         * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
18683         maintainership comments.
18684
18685 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
18686         PR ada/5904
18687         * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
18688         5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
18689         5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
18690         7staprop.adb: Correct statements in comments about
18691         maintainership of GNAT.
18692
18693         PR ada/5904
18694         * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
18695         gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
18696         osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
18697         osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
18698         s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
18699         s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
18700         sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
18701         switch-c.ads switch-m.adb switch-m.ads: Correct statements in
18702         comments about maintainership of GNAT.
18703
18704         PR ada/6919 (forward port of patch for PR ada/5904)
18705         * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
18706         4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
18707         4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
18708         4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
18709         4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
18710         4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
18711         4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
18712         52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
18713         5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
18714         5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
18715         5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
18716         5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
18717         5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
18718         5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
18719         5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
18720         5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
18721         5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
18722         5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
18723         5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
18724         5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
18725         5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
18726         5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
18727         5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
18728         5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
18729         5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
18730         5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
18731         5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
18732         5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
18733         7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
18734         a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
18735         a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
18736         a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
18737         a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
18738         a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
18739         a-except.adb a-except.ads a-excpol.adb a-exctra.adb
18740         a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
18741         a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
18742         a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
18743         a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
18744         a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
18745         a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
18746         a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
18747         a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
18748         a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
18749         a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
18750         a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
18751         a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
18752         a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
18753         a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
18754         a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
18755         a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
18756         a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
18757         a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
18758         a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
18759         a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
18760         a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
18761         a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
18762         a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
18763         a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
18764         a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
18765         a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
18766         a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
18767         a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
18768         a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
18769         a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
18770         a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
18771         a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
18772         a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
18773         adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
18774         alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
18775         back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
18776         binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
18777         bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
18778         ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
18779         csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
18780         cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
18781         debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
18782         einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
18783         errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
18784         exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
18785         exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
18786         exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
18787         exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
18788         exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
18789         exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
18790         exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
18791         exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
18792         exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
18793         exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
18794         exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
18795         exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
18796         exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
18797         final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
18798         fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
18799         freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
18800         g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
18801         g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
18802         gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
18803         gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
18804         gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
18805         gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
18806         gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
18807         gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
18808         i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
18809         i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
18810         i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
18811         i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
18812         impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
18813         itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
18814         lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
18815         lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
18816         lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
18817         lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
18818         makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
18819         namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
18820         nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
18821         osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
18822         par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
18823         par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
18824         par-endh.adb par-labl.adb par-load.adb par-prag.adb
18825         par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
18826         prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
18827         prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
18828         prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
18829         prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
18830         prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
18831         prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
18832         repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
18833         rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
18834         s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
18835         s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
18836         s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
18837         s-direio.adb s-direio.ads s-except.ads s-exctab.adb
18838         s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
18839         s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
18840         s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
18841         s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
18842         s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
18843         s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
18844         s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
18845         s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
18846         s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
18847         s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
18848         s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
18849         s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
18850         s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
18851         s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
18852         s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
18853         s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
18854         s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
18855         s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
18856         s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
18857         s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
18858         s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
18859         s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
18860         s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
18861         s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
18862         s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
18863         s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
18864         s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
18865         s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
18866         s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
18867         s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
18868         s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
18869         s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
18870         s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
18871         s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
18872         s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
18873         s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
18874         s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
18875         s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
18876         s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
18877         s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
18878         s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
18879         s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
18880         s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
18881         s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
18882         s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
18883         s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
18884         s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
18885         s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
18886         s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
18887         s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
18888         s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
18889         s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
18890         s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
18891         s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
18892         s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
18893         s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
18894         s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
18895         s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
18896         s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
18897         s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
18898         s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
18899         s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
18900         s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
18901         s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
18902         s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
18903         s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
18904         s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
18905         s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
18906         s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
18907         s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
18908         s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
18909         s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
18910         s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
18911         s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
18912         s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
18913         s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
18914         s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
18915         s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
18916         scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
18917         sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
18918         sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
18919         sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
18920         sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
18921         sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
18922         sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
18923         sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
18924         sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
18925         sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
18926         sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
18927         sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
18928         sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
18929         sem_type.adb sem_type.ads sem_util.adb sem_util.ads
18930         sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
18931         sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
18932         sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
18933         sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
18934         snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
18935         stringt.ads stringt.h style.adb style.ads stylesw.adb
18936         stylesw.ads switch.adb switch.ads sysdep.c system.ads
18937         table.adb table.ads targparm.adb targparm.ads targtyps.c
18938         tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
18939         tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
18940         treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
18941         types.adb types.ads types.h uintp.adb uintp.ads uintp.h
18942         uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
18943         usage.ads utils.c utils2.c validsw.adb validsw.ads
18944         widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
18945         xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
18946         xtreeprs.adb: Correct statements in comments about maintainership
18947         of GNAT.
18948
18949 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
18950
18951         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
18952         * Makefile.in (TOOLS_LIBS): Add ../../version.o.
18953         * gnatvsn.ads: Gnat_Version_String is now a function.
18954         * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
18955         copy the C version_string into a String and return it.
18956         * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
18957         gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
18958         Remove pragma Ident (Gnat_Version_String).  If this was the
18959         sole use of package Gnatvsn, remove the with statement too.
18960         * gnat1drv.adb: Tweak -gnatv output.
18961
18962 2002-09-17  Richard Henderson  <rth@redhat.com>
18963
18964         * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
18965         * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
18966         * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
18967         (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
18968         * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
18969         and real_2expN instead of a loop.
18970         * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
18971         (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
18972
18973 2002-08-25  Andre Leis <a.leis@gmx.net>
18974             David Billinghurst (David.Billinghurst@riotinto.com>
18975
18976         * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
18977
18978 2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18979
18980         * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
18981         Remove $(CONFIG_H) dependency.
18982
18983 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
18984
18985         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
18986
18987 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18988
18989         * adadecode.c (ada_demangle): Use xstrdup in lieu of
18990         xmalloc/strcpy.
18991         * misc.c (gnat_decode_option): Likewise.
18992
18993 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
18994
18995         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
18996         function approach did not work well because of a side effect (the
18997         function call could reallocate the table which was being indexed
18998         using its result). Fixes ada/4851. [RESURRECTED]
18999
19000 2002-07-01  Roger Sayle  <roger@eyesopen.com>
19001
19002         * ada/utils.c (builtin_function): Accept an additional parameter.
19003
19004 2002-06-28  Andreas Jaeger  <aj@suse.de>
19005
19006         PR ada/7144
19007         * Makefile.in: Fix typo in comment, patch by Adrian Knoth
19008         <adi@thur.de>.
19009
19010 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19011
19012         * Makefile.in (SHELL): Set to @SHELL@.
19013
19014 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19015
19016         * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
19017         array size calculation.
19018
19019 2002-06-04  Andreas Jaeger  <aj@suse.de>
19020
19021         * Make-lang.in (gnatbind): Readd rule that has been lost in last
19022         patch.
19023
19024 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
19025
19026         Merge from pch-branch:
19027
19028         * config-lang.in (gtfiles): Add ada-tree.h.
19029         * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
19030         (SET_TYPE_MODULUS): New.
19031         (SET_TYPE_INDEX): New.
19032         (SET_TYPE_DIGITS_VALUE): New.
19033         (SET_TYPE_RM_SIZE): New.
19034         (SET_TYPE_UNCONSTRAINED_ARRAY): New.
19035         (SET_TYPE_ADA_SIZE): New.
19036         (SET_TYPE_ACTUAL_BOUNDS): New.
19037         (SET_DECL_CONST_CORRESPONDING_VAR): New.
19038         (SET_DECL_ORIGINAL_FIELD): New.
19039         (TREE_LOOP_ID): Correct typo.
19040         * decl.c: Use new macros.
19041         * utils.c: Include debug.h, use new macros.
19042         * utils2.c: Use new macros.
19043
19044         * ada-tree.h: Update all macros for new tree description.
19045         (struct tree_loop_id): New.
19046         (union lang_tree_node): New.
19047         (struct lang_decl): New.
19048         (struct lang_type): New.
19049         * misc.c (gnat_mark_tree): Delete.
19050         (LANG_HOOKS_MARK_TREE): Delete.
19051         * trans.c (tree_transform): No longer any need to cast
19052         for TREE_LOOP_ID.
19053
19054         * utils.c (struct language_function): New dummy structure.
19055
19056         * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
19057         (misc.o): Likewise.
19058         (utils.o): Likewise; also gtype-ada.h.
19059         * Make-lang.in (gnat1): Add dependency on s-gtype.
19060         (gnatbind): Add dependency on $(CONFIG_H).
19061         * utils.c: Correct last #include.
19062         (stuct e_stack): Remove unnecessary 'static'.
19063         (mark_e_stack): Remove unused prototype.
19064
19065         * scn-nlit.adb: Remove whitespace after version number to
19066         keep lines under 80 chars.
19067         * snames.adb: Likewise.
19068         * treepr.ads: Likewise.
19069
19070         * Makefile.in (decl.o): Include gt-ada-<filename>.h.
19071         (misc.o): Likewise.
19072         (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
19073         * config-lang.in (gtfiles): New.
19074         * decl.c: Use gengtype for roots.
19075         * gigi.h: Use gengtype for roots.
19076         * trans.c: Use gengtype for roots.
19077         * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
19078
19079 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
19080
19081         * misc.c (gnat_init): Adjust setting of internal_error_function.
19082
19083 2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
19084
19085         * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
19086         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
19087         gnat_ug_wnt.texi: Regenerate.
19088
19089 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
19090
19091         * 5ntaprop.adb (with System.OS_Primitives): Remove.
19092
19093         * cstreams.c (max_path_len): Move from here ...
19094         * adaint.c (__gnat_max_path_len): ... to here.
19095         * adaint.c (__gnat_max_path_len): Declare.
19096         * g-dirope.adb (Max_Path): Adjust.
19097         * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
19098         * i-cstrea.ads (max_path_len): Adjust.
19099         * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
19100         * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
19101
19102         * Makefile.in, Make-lang.in: Documentation is now built in
19103         Make-lang.in.  Store Info and generated Texinfo files in the
19104         source directory.
19105         * gnat_ug.texi: Remove CVS keywords, correct version number.
19106         Set file name correctly.
19107
19108         * gnat_ug_*.texi: Add.
19109         * .cvsignore: Ignore generated Texinfo files.
19110
19111 2002-05-30  Zack Weinberg  <zack@codesourcery.com>
19112
19113         * ada.h: Add MI guard macro.
19114         (SUBTYPE): Define constants with an anonymous enum, not static
19115         const variables.
19116         (IN): Cast constants to appropriate type before use.
19117
19118 2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
19119
19120         * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
19121         (experimental)".
19122
19123 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19124
19125         * Make-lang.in (CP, ECHO): Copy from Makefile.in.
19126         (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
19127         (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
19128         (ALL_ADA_CFLAGS): Likewise.
19129         (ADA_INCLUDES): Likewise.
19130         Adapt for new working dir.
19131         (GNATBIND): Use Makefile.in version.
19132         (.SUFFIXES): Copy from Makefile.in.
19133         (ada-warn): Define.
19134         (.adb.o, .ads.o): Copy from Makefile.in.
19135         Added $(OUTPUT_OPTION).
19136         (GNAT1_C_OBJS): Moved from Makefile.in.
19137         Prefix with ada subdir.
19138         (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
19139         (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
19140         Adapt for new working dir.
19141         (EXTRA_GNATBIND_OBJS): Likewise.
19142         (ADA_BACKEND): Moved from Makefile.in.
19143         Renamed to avoid conflict with global BACKEND.
19144         Use that one.
19145         (TARGET_ADA_SRCS): Moved from Makefile.in.
19146         (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
19147         Use ADA_BACKEND.
19148         (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
19149         (ada_extra_files): Moved from Makefile.in.
19150         Prefix with ada subdir.
19151         (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
19152         (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
19153         (ada/nmake.ads): Likewise.
19154         (update-sources): Moved from Makefile.in.
19155         Prefix with ada subdir.
19156         (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
19157         (ADA_TREE_H): Likewise.
19158         (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
19159         (ada/memtrack.o): Likewise.
19160         (ada/adadecode.o): Likewise.
19161         Update dependencies.
19162         (ada/adaint.o): New.
19163         (ada/argv.o): Moved from Makefile.in.
19164         Prefix with ada subdir.
19165         Update dependencies.
19166         (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
19167         (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
19168         (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
19169         Prefix with ada subdir.
19170         (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
19171         (GNAT DEPENDENCIES): Regenerate.
19172         * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
19173         toplevel Makefile.in.
19174         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
19175         (TARGET_ADA_SRCS): Removed.
19176         (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
19177         (GNATBIND_OBJS): Likewise.
19178         (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
19179         (BACKEND): Removed.
19180         (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
19181         (TREE_H): Likewise.
19182         (ada_extra_files): Likewise.
19183         (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
19184         (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
19185         (update-sources): Likewise.
19186         (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
19187         (ADA_TREE_H): Likewise.
19188         (adadecoce.o): Likewise.
19189         (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
19190         (GNAT DEPENDENCIES): Likewise.
19191
19192 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19193
19194         * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
19195         * Makefile.in: Likewise.
19196
19197 2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19198
19199         * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
19200         Restore $(CONFIG_H) and prefix.o dependencies.
19201         (ada.stage[1-4]): Depend on stage?-start.
19202
19203         * Makefile.in (b_gnatb.c): Depend on interfac.o.
19204
19205 2002-05-02  Jim Wilson  <wilson@redhat.com>
19206
19207         * utils.c (finish_record_type): Change record_size to record_type.
19208
19209 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19210
19211         * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
19212         (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
19213         ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
19214
19215 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
19216
19217         * misc.c (gnat_parse_file): Update.
19218
19219 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
19220
19221         * misc.c (gnat_init): Don't set lang_attribute_common.
19222
19223 2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
19224
19225         * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
19226
19227 2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
19228
19229         * gnat_ug.texi: New file.
19230
19231         * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
19232         instead of gfdl.texi
19233
19234         * xgnatug.adb, ug_words: New files.
19235
19236         * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
19237         gnat_rm and gnat-style manuals.
19238
19239 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
19240
19241         * gigi.h (incomplete_type_error): Remove.
19242         * utils.c (incomplete_type_error): Remove.
19243
19244 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
19245
19246         * trans.c (tree_transform): Add has_scope argument to
19247         expand_start_stmt_expr.
19248
19249 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
19250
19251         * gigi.h (truthvalue_conversion): Rename.
19252         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
19253         * trans.c (tree_transform): Update.
19254         * utils2.c (truthvalue_conversion): Rename, update.
19255         (build_binary_op, build_unary_op): Update.
19256
19257 2002-04-04  Laurent Guerby  <guerby@acm.org>
19258
19259         * make.adb: Implement -margs, remove restriction about file name placement.
19260         * makeusg.adb: Documentation update.
19261         * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
19262         * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
19263
19264 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
19265
19266         * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
19267         (builtin_function): Similarly.
19268
19269 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
19270
19271         * decl.c (gnat_to_gnu_entity): Update.
19272         * gigi.h (mark_addressable): Rename.
19273         * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
19274         * trans.c (tree_transform): Update.
19275         * utils.c (create_var_decl): Update.
19276         * util2.c (build_binary_op, build_unary_op,
19277         fill_vms_descriptor): Update.
19278         (mark_addressable): Rename, update.
19279
19280 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
19281
19282         * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
19283         Rename.
19284         * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
19285         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
19286         * trans.c (tree_transform, convert_with_check): Update.
19287         * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
19288         Rename.
19289
19290 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
19291
19292         * gigi.h (finish_incomplete_decl): Rename.
19293         * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
19294         * utils.c (gnat_init_decl_processing): Don't set hook.
19295         (finish_incomplete_decl): Rename.
19296
19297 2002-03-29  Andreas Schwab  <schwab@suse.de>
19298
19299         * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
19300         directory.
19301
19302 2001-03-28  Robert Dewar <dewar@gnat.com>
19303
19304         * checks.ads:
19305         (Remove_Checks): New procedure
19306
19307         * checks.adb:
19308         (Remove_Checks): New procedure
19309
19310         * exp_util.adb:
19311         Use new Duplicate_Subexpr functions
19312         (Duplicate_Subexpr_No_Checks): New procedure
19313         (Duplicate_Subexpr_No_Checks_Orig): New procedure
19314         (Duplicate_Subexpr): Restore original form (checks duplicated)
19315         (Duplicate_Subexpr): Call Remove_Checks
19316
19317         * exp_util.ads:
19318         (Duplicate_Subexpr_No_Checks): New procedure
19319         (Duplicate_Subexpr_No_Checks_Orig): New procedure
19320         Add 2002 to copyright notice
19321
19322         * sem_util.adb: Use new Duplicate_Subexpr functions
19323
19324         * sem_eval.adb:
19325         (Eval_Indexed_Component): This is the place to call
19326         Constant_Array_Ref and to replace the value. We simply merge
19327         the code of this function in here, since it is now no longer
19328         used elsewhere. This fixes the problem of the back end not
19329         realizing we were clever enough to see that this was
19330         constant.
19331         (Expr_Val): Remove call to Constant_Array_Ref
19332         (Expr_Rep_Val): Remove call to Constant_Array_Ref
19333         Minor reformatting
19334         (Constant_Array_Ref): Deal with string literals (patch
19335         suggested by Zack Weinberg on the gcc list)
19336
19337 2001-03-28  Ed Schonberg <schonber@gnat.com>
19338
19339         * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
19340         Duplicate_Subexpr_Move_Checks.
19341
19342         * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
19343         Duplicate_Subexpr_Move_Checks.
19344
19345         * sem_eval.adb: (Constant_Array_Ref): Verify that constant
19346         value of array exists before retrieving it (it may a private
19347         protected component in a function).
19348
19349 2002-03-28   Geert Bosch <bosch@gnat.com>
19350
19351         * prj-pp.adb : New file.
19352
19353         * prj-pp.ads : New file.
19354
19355 2002-03-28  Andreas Jaeger  <aj@suse.de>
19356
19357         * Makefile.in (stamp-sdefault): Fix path for Makefile.
19358
19359 2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
19360
19361         * misc.c (gnat_expand_expr): Move prototype.
19362
19363 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
19364
19365         * misc.c (insert_default_attributes): Remove.
19366
19367 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
19368
19369         * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
19370         (gnat_init): Don't set hook.
19371         (gnat_expand_expr): Fix prototype.
19372
19373 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
19374
19375         * misc.c (ggc_p): Remove.
19376
19377 2002-03-27  Geert Bosch  <bosch@gnat.com>
19378
19379         * prj-makr.ads, prj-makr.adb : New files.
19380
19381 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
19382
19383         * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
19384         (lang_mark_tree): Make static, rename.
19385
19386 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
19387
19388         * misc.c (maybe_build_cleanup): Remove.
19389
19390 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
19391
19392         * gigi.h (yyparse): Remove.
19393
19394 2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
19395
19396         * gnat_rm.texi: Sync with ACT version.
19397           (From Ben Brosgol <brosgol@gnat.com>)
19398
19399 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
19400
19401         * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
19402         (gnat_init): Remove old hook.
19403
19404 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
19405
19406         * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
19407         (yyparse): Rename gnat_parse_file.
19408
19409 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
19410
19411         Delete all lines containing "$Revision:".
19412         * xeinfo.adb: Don't look for revision numbers.
19413         * xnmake.adb: Likewise.
19414         * xsinfo.adb: Likewise.
19415         * xsnames.adb: Likewise.
19416         * xtreeprs.adb: Likewise.
19417
19418 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19419
19420         * misc.c (gnat_tree_code_type, gnat_tree_code_length,
19421         gnat_tree_code_name): Delete.
19422         (tree_code_type, tree_code_length, tree_code_name): Define.
19423         (gnat_init): Don't try to copy into the various tree_code
19424         arrays.
19425
19426 2002-03-11  Richard Henderson  <rth@redhat.com>
19427
19428         * Makefile.in (.NOTPARALLEL): Add fake tag.
19429
19430 2002-03-07  Geert Bosch  <bosch@gnat.com>
19431
19432         * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
19433         s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
19434         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
19435         switch-m.adb, switch-m.ads : New files.
19436
19437 2002-03-07  Geert Bosch  <bosch@gnat.com>
19438
19439         * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
19440         4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
19441         4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
19442         4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
19443         5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
19444         5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
19445         5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
19446         5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
19447         5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
19448         5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
19449         5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
19450         5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
19451         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
19452         5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
19453         5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
19454         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
19455         5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
19456         5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
19457         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
19458         5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
19459         7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
19460         Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
19461         a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
19462         a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
19463         a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
19464         a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
19465         a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
19466         a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
19467         a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
19468         adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
19469         atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
19470         bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
19471         csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
19472         einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
19473         eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
19474         exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
19475         exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
19476         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
19477         exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
19478         exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
19479         expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
19480         freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
19481         g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
19482         g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
19483         g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
19484         g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
19485         g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
19486         g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
19487         gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
19488         gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
19489         gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
19490         i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
19491         impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
19492         lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
19493         lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
19494         memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
19495         mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
19496         nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
19497         output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
19498         par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
19499         prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
19500         prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
19501         prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
19502         rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
19503         s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
19504         s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
19505         s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
19506         s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
19507         s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
19508         s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
19509         s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
19510         s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
19511         s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
19512         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
19513         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
19514         s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
19515         s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
19516         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
19517         s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
19518         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
19519         sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
19520         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
19521         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
19522         sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
19523         sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
19524         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
19525         sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
19526         sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
19527         sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
19528         snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
19529         stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
19530         table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
19531         tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
19532         treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
19533         types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
19534         utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
19535         xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
19536
19537         * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
19538         g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
19539         mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
19540         osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
19541
19542         * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
19543         5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
19544
19545         * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
19546         to mdll-fil.ad[bs] and mdll-util.ad[bs]
19547
19548         * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
19549         from mdllfile.ad[bs] and mdlltool.ad[bs]
19550
19551 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19552
19553         * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
19554         lieu of explicit sizeof/sizeof.
19555
19556 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
19557
19558         * misc.c (copy_lang_decl): Remove.
19559
19560 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
19561
19562         * misc.c: Delete traditional-mode-related code copied from the
19563         C front end but not used, or used only to permit the compiler
19564         to link.
19565
19566 2002-02-07  Richard Henderson  <rth@redhat.com>
19567
19568         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
19569         * adaint.h (__gnat_to_gm_time): Update prototype.
19570
19571 2002-01-30  Richard Henderson  <rth@redhat.com>
19572
19573         * trans.c (tree_transform) [N_Loop_Statement]: Use
19574         expand_exit_loop_top_cond.
19575
19576 2001-12-23  Richard Henderson  <rth@redhat.com>
19577
19578         * utils.c (end_subprog_body): Push GC context around
19579         rest_of_compilation for nested functions.
19580
19581 2001-12-23  Richard Henderson  <rth@redhat.com>
19582
19583         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
19584
19585 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
19586
19587         * gnat-style.texi (Declarations and Types): Remove ancient style
19588         rule which was mandated by code generation issues.
19589
19590         * gnat-style.texi (header): Add @dircategory, @direntry.
19591         (title page): Remove date.
19592         (general) Add @./@: where approriate, and two spaces after the
19593         full stop at the end of a sentence.  Use @samp markup when
19594         referring concrete lexical entities (keywords, attribute names
19595         etc.), and @syntax for ARM grammar elements. Use @r for English
19596         text in comments.  Use @emph for emphasis.  Change "if-statements"
19597         etc. to "if statements" (without @samp). Break long lines.  Make
19598         casing of section names consistent.
19599         (Identifiers): Use @samp markup for variable names.
19600         (Comments): Use @samp markup for comment characters. Line-end
19601         comments may follow any Ada code, not just statements.  Fix
19602         misspelling of "Integer" as "integer".
19603         (Loop statements): Do not use variable name "I", use "J".
19604         (Subprogram Declarations): Document alignment.
19605         (Subprogram Bodies, Block statements): Document empty line before
19606         "begin".
19607
19608 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
19609
19610         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
19611         function approach did not work well because of a side effect (the
19612         function call could reallocate the table which was being indexed
19613         using its result). Fixes ada/4851.
19614
19615 2001-12-19  Robert Dewar <dewar@gnat.com>
19616
19617         * bindgen.adb: Minor reformatting
19618
19619         * cstand.adb: Minor reformatting
19620
19621         * fmap.adb: Minor reformatting
19622         Change name from Add for Add_To_File_Map (Add is much too generic)
19623         Change Path_Name_Of to Mapped_Path_Name
19624         Change File_Name_Of to Mapped_File_Name
19625         Fix copyright dates in header
19626
19627         * fmap.ads:
19628         Change name from Add for Add_To_File_Map (Add is much too generic)
19629         Change Path_Name_Of to Mapped_Path_Name
19630         Change File_Name_Of to Mapped_File_Name
19631         Fix copyright dates in header
19632
19633         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
19634         Add use clause for Fmap.
19635
19636         * make.adb: Minor reformatting
19637
19638         * osint.adb: Minor reformatting.  Change of names in Fmap.
19639         Add use clause for Fmap.
19640
19641         * prj-env.adb: Minor reformatting
19642
19643         * prj-env.ads: Minor reformatting
19644
19645         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
19646         error found (there were odd exceptions to this general rule in
19647         -gnatec/-gnatem processing)
19648
19649 2001-12-19  Olivier Hainque <hainque@gnat.com>
19650
19651         * raise.c (__gnat_eh_personality): Exception handling personality
19652         routine for Ada.  Still in rough state, inspired from the C++ version
19653         and still containing a bunch of debugging artifacts.
19654         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
19655         inspired from the C++ library.
19656
19657         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
19658         exception handling integration.
19659
19660 2001-12-19  Arnaud Charlet <charlet@gnat.com>
19661
19662         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
19663         (HIE_SOURCES): Add s-secsta.ad{s,b}.
19664         (HIE_OBJS): Add s-fat*.o
19665         (RAVEN_SOURCES): Remove files that are no longer required. Add
19666         interrupt handling files.
19667         (RAVEN_MOD): Removed, no longer needed.
19668
19669 2001-12-19  Robert Dewar <dewar@gnat.com>
19670
19671         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
19672         Add 2001 to copyright date
19673
19674         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
19675         need to force universal inlining for these cases.
19676
19677 2001-12-19  Arnaud Charlet <charlet@gnat.com>
19678
19679         * s-taprob.adb: Minor clean ups so that this unit can be used in
19680         Ravenscar HI.
19681
19682         * exp_ch7.adb: Allow use of secondary stack in HI mode.
19683         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
19684
19685 2001-12-19  Vincent Celier <celier@gnat.com>
19686
19687         * prj-tree.ads (Project_Node_Record): Add comments for components
19688         Pkg_Id and Case_Insensitive.
19689
19690 2001-12-19  Pascal Obry <obry@gnat.com>
19691
19692         * g-socket.adb: Minor reformatting. Found while reading code.
19693
19694 2001-12-19  Robert Dewar <dewar@gnat.com>
19695
19696         * prj-tree.ads: Minor reformatting
19697
19698 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
19699
19700         * config-lang.in (diff_excludes): Remove.
19701
19702 2001-12-17  Ed Schonberg <schonber@gnat.com>
19703
19704         * sem_res.adb (Resolve_Selected_Component): do not generate a
19705         discriminant check if the selected component is a component of
19706         the argument of an initialization procedure.
19707
19708         * trans.c (tree_transform, case of arithmetic operators): If result
19709         type is private, the gnu_type is the base type of the full view,
19710         given that the full view itself may be a subtype.
19711
19712 2001-12-17  Robert Dewar <dewar@gnat.com>
19713
19714         * sem_res.adb: Minor reformatting
19715
19716         * trans.c (tree_transform, case N_Real_Literal): Add missing third
19717         parameter in call to Machine (unknown horrible effects from this
19718         omission).
19719
19720         * urealp.h: Add definition of Round_Even for call to Machine
19721         Add third parameter for Machine
19722
19723 2001-12-17  Ed Schonberg <schonber@gnat.com>
19724
19725         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
19726         predefined units in No_Run_Time mode.
19727
19728 2001-12-17  Richard Kenner <kenner@gnat.com>
19729
19730         * misc.c (insn-codes.h): Now include.
19731
19732 2001-12-17  Olivier Hainque <hainque@gnat.com>
19733
19734         * a-except.adb: Preparation work for future integration of the GCC 3
19735         exception handling mechanism
19736         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
19737         to factorize previous code sequences and make them externally callable,
19738         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
19739         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
19740         Use the new notification routines.
19741
19742 2001-12-17  Emmanuel Briot <briot@gnat.com>
19743
19744         * prj-tree.ads (First_Choice_Of): Document the when others case
19745
19746 2001-12-17  Arnaud Charlet <charlet@gnat.com>
19747
19748         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
19749         HI-E mode, in order to support Ravenscar profile properly.
19750
19751         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
19752         mode on 32 bits targets.
19753
19754 2001-12-17  Vincent Celier <celier@gnat.com>
19755
19756         * fmap.adb: Initial version.
19757
19758         * fmap.ads: Initial version.
19759
19760         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
19761         If search is successfully done, add to mapping.
19762
19763         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
19764
19765         * make.adb:
19766         (Gnatmake): Add new local variable Mapping_File_Name.
19767          Create mapping file when using project file(s).
19768          Delete mapping file before exiting.
19769
19770         * opt.ads (Mapping_File_Name): New variable
19771
19772         * osint.adb (Find_File): Use path name found in mapping, if any.
19773
19774         * prj-env.adb (Create_Mapping_File): New procedure
19775
19776         * prj-env.ads (Create_Mapping_File): New procedure.
19777
19778         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
19779         (Mapping_File)
19780
19781         * usage.adb: Add entry for new switch -gnatem.
19782
19783         * Makefile.in: Add dependencies for fmap.o.
19784
19785 2001-12-17  Ed Schonberg <schonber@gnat.com>
19786
19787         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
19788         is a package instantiation rewritten as a package body.
19789         (Install_Withed_Unit): Undo previous change, now redundant.
19790
19791 2001-12-17  Gary Dismukes <dismukes@gnat.com>
19792
19793         * layout.adb:
19794         (Compute_Length): Move conversion to Unsigned to callers.
19795         (Get_Max_Size): Convert Len expression to Unsigned after calls to
19796         Compute_Length and Determine_Range.
19797         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
19798         Compute_Length and Determine_Range.
19799         Above changes fix problem with length computation for supernull arrays
19800         where Max (Len, 0) wasn't getting applied due to the Unsigned
19801         conversion used by Compute_Length.
19802
19803 2001-12-17  Arnaud Charlet <charlet@gnat.com>
19804
19805         * rtsfind.ads:
19806         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
19807          System.Secondary_Stack.
19808         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
19809          in HI-E mode.
19810         Remove unused entity RE_Exception_Data.
19811
19812         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
19813
19814         * rident.ads (No_Secondary_Stack): New restriction.
19815
19816 2001-12-17  Joel Brobecker <brobecke@gnat.com>
19817
19818         * gnat_rm.texi: Fix minor typos. Found while reading the section
19819         regarding "Bit_Order Clauses" that was sent to a customer.
19820         Very interesting documentation!
19821
19822 2001-12-17  Robert Dewar <dewar@gnat.com>
19823
19824         * sem_case.adb (Choice_Image): Avoid creating improper character
19825         literal names by using the routine Set_Character_Literal_Name. This
19826         fixes bombs in certain error message cases.
19827
19828 2001-12-17  Arnaud Charlet <charlet@gnat.com>
19829
19830         * a-reatim.adb: Minor reformatting.
19831
19832 2001-12-17  Ed Schonberg <schonber@gnat.com>
19833
19834         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
19835         case where the formal is an extension of another formal in the current
19836         unit or in a parent generic unit.
19837
19838 2001-12-17  Arnaud Charlet <charlet@gnat.com>
19839
19840         * s-tposen.adb: Update comments.  Minor reformatting.
19841         Minor code clean up.
19842
19843         * s-tarest.adb: Update comments.  Minor code reorganization.
19844
19845 2001-12-17  Gary Dismukes <dismukes@gnat.com>
19846
19847         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
19848         when Java_VM.
19849
19850 2001-12-17  Robert Dewar <dewar@gnat.com>
19851
19852         * exp_attr.adb: Minor reformatting
19853
19854 2001-12-17  Ed Schonberg <schonber@gnat.com>
19855
19856         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
19857         derivations nested within a child unit: verify that the parent
19858         type is declared in an outer scope.
19859
19860 2001-12-17  Robert Dewar <dewar@gnat.com>
19861
19862         * sem_ch12.adb: Minor reformatting
19863
19864 2001-12-17  Ed Schonberg <schonber@gnat.com>
19865
19866         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
19867         warning if current unit is a predefined one, from which bodies may
19868         have been deleted.
19869
19870 2001-12-17  Robert Dewar <dewar@gnat.com>
19871
19872         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
19873         Fix header format. Add 2001 to copyright date.
19874
19875         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
19876         which caused CE during compilation if checks were enabled.
19877
19878 2001-12-17  Vincent Celier <celier@gnat.com>
19879
19880         * make.adb:
19881         (Switches_Of): New function
19882         (Test_If_Relative_Path): New procedure
19883         (Add_Switches): Use new function Switches_Of
19884         (Collect_Arguments_And_Compile): Use new function Switches_Of.
19885         When using a project file, test if there are any relative
19886         search path. Fail if there are any.
19887         (Gnatmake): Only add switches for the primary directory when not using
19888         a project file. When using a project file, change directory to the
19889         object directory of the main project file. When using a project file,
19890         test if there are any relative search path. Fail if there are any.
19891         When using a project file, fail if specified executable is relative
19892         path with directory information, and prepend executable, if not
19893         specified as an absolute path, with the exec directory.  Make sure
19894         that only one -o switch is transmitted to the linker.
19895
19896         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
19897
19898         * prj-nmsc.adb:
19899         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
19900         when using a non standard naming scheme.
19901         (Check_Ada_Naming_Scheme): Make sure that error messages
19902         do not raise exceptions.
19903         (Is_Illegal_Append): Return True if there is no dot in the suffix.
19904         (Language_Independent_Check): Check the exec directory.
19905
19906         * prj.adb (Project_Empty): Add new component Exec_Directory
19907
19908         * prj.ads:
19909         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
19910         (Project_Data): Add component Exec_Directory
19911
19912         * snames.adb: Updated to match snames.ads revision 1.215
19913
19914         * snames.ads: Added Exec_Dir
19915
19916 2001-12-17  Robert Dewar <dewar@gnat.com>
19917
19918         * make.adb: Minor reformatting
19919
19920         * prj-nmsc.adb: Minor reformatting
19921
19922         * snames.adb: Updated to match snames.ads
19923
19924         * snames.ads: Alphebetize entries for project file
19925
19926 2001-12-17  Ed Schonberg <schonber@gnat.com>
19927
19928         * trans.c (process_freeze_entity): Do nothing if the entity is a
19929         subprogram that was already elaborated.
19930
19931 2001-12-17  Richard Kenner <kenner@gnat.com>
19932
19933         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
19934         and Esize if object is referenced via pointer.
19935
19936 2001-12-17  Ed Schonberg <schonber@gnat.com>
19937
19938         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
19939         is discrete before analyzing choices.
19940
19941 2001-12-17  Joel Brobecker <brobecke@gnat.com>
19942
19943         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
19944         containing the name of the Ada Main Program. This string is mainly
19945         intended for the debugger.
19946         (Gen_Output_File_C): Do the equivalent change when generating a C file.
19947
19948 2001-12-17  Robert Dewar <dewar@gnat.com>
19949
19950         * ali.adb: Set new Dummy_Entry field in dependency entry
19951
19952         * ali.ads: Add Dummy_Entry field to source dependency table
19953
19954         * bcheck.adb (Check_Consistency): Ignore dummy D lines
19955
19956         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
19957
19958         * lib-writ.ads: Document dummy D lines for missing files.
19959
19960         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
19961
19962 2001-12-17  Robert Dewar <dewar@gnat.com>
19963
19964         * ali.adb: Type reference does not reset current file.
19965
19966         * ali.adb: Recognize and scan renaming reference
19967
19968         * ali.ads: Add spec for storing renaming references.
19969
19970         * lib-xref.ads: Add documentation for handling of renaming references
19971
19972         * lib-xref.adb: Implement output of renaming reference.
19973
19974         * checks.adb:
19975         (Determine_Range): Document local variables
19976         (Determine_Range): Make sure Hbound is initialized. It looks as though
19977          there could be a real problem here with an uninitialized reference
19978          to Hbound, but no actual example of failure has been found.
19979
19980 2001-12-17  Laurent Pautet <pautet@gnat.com>
19981
19982         * g-socket.ads:
19983         Fix comment of Shutdown_Socket and Close_Socket. These functions
19984         should not fail silently because if they are called twice, this
19985         probably means that there is a race condition in the user program.
19986         Anyway, this behaviour is consistent with the rest of this unit.
19987         When an error occurs, an exception is raised with the error message
19988         as exception message.
19989
19990 2001-12-17  Robert Dewar <dewar@gnat.com>
19991
19992         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
19993         that it happens before modification of Sloc values for -gnatD.
19994
19995         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
19996         so that it happens before modification of Sloc values for -gnatD.
19997
19998         * switch.adb: Minor reformatting
19999
20000 2001-12-15  Richard Henderson  <rth@redhat.com>
20001
20002         * sem_ch7.adb: Wrap comment.
20003
20004 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
20005
20006         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
20007         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
20008         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
20009         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
20010         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
20011         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
20012         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
20013         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
20014         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
20015         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
20016         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
20017         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
20018         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
20019         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
20020         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
20021         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
20022         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
20023         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
20024         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
20025         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
20026         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
20027         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
20028         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
20029         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
20030         spelling errors.
20031
20032 2001-12-14  Vincent Celier <celier@gnat.com>
20033
20034         * osint.adb(Create_Debug_File): When an object file is specified,
20035         put the .dg file in the same directory as the object file.
20036
20037 2001-12-14  Robert Dewar <dewar@gnat.com>
20038
20039         * osint.adb: Minor reformatting
20040
20041         * lib-xref.adb (Output_Instantiation): New procedure to generate
20042         instantiation references.
20043
20044         * lib-xref.ads: Add documentation of handling of generic references.
20045
20046         * ali.adb (Read_Instantiation_Ref): New procedure to read
20047         instantiation references
20048
20049         * ali.ads: Add spec for storing instantiation references
20050
20051         * bindusg.adb: Minor reformatting
20052
20053         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20054
20055         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20056
20057         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20058
20059         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20060
20061         * csets.ads:
20062         Fix header format
20063         Add 2001 to copyright date
20064         Add entry for Latin-5 (Cyrillic ISO-8859-5)
20065
20066 2001-12-14  Matt Gingell <gingell@gnat.com>
20067
20068         * adaint.c: mktemp is a macro on Lynx and can not be used as an
20069         expression.
20070
20071 2001-12-14  Richard Kenner <kenner@gnat.com>
20072
20073         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
20074         if operand is CONSTRUCTOR.
20075
20076 2001-12-14  Ed Schonberg <schonber@gnat.com>
20077
20078         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
20079         before emiting check on right-hand side, so that exception information
20080         is correct.
20081
20082 2001-12-14  Richard Kenner <kenner@gnat.com>
20083
20084         * utils.c (create_var_decl): Throw away initializing expression
20085         if just annotating types and non-constant.
20086
20087 2001-12-14  Vincent Celier <celier@gnat.com>
20088
20089         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
20090         Default_Ada_...
20091
20092         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
20093         Remove functions.
20094         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
20095
20096         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
20097         Remove functions.
20098         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
20099
20100 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
20101
20102         * ChangeLog: Remove piece of diff output.
20103
20104 2001-12-14  Geert Bosch <bosch@gnat.com>
20105
20106         * config-lang.in: Update copyright notice
20107
20108         * layout.adb: Remove commented out code.
20109
20110         * mdllfile.ads: Update copyright notice. Fix header format.
20111
20112         * sem_case.ads: Likewise.
20113
20114         * sem_ch3.adb: Minor reformatting.
20115
20116 2001-12-12  Geert Bosch <bosch@gnat.com>
20117
20118         * freeze.ads: Update copyright date.
20119
20120         * g-comlin.ads: Minor reformatting.
20121
20122         * gnat-style.texi: Fix typo.
20123
20124 2001-12-12  Geert Bosch <bosch@gnat.com>
20125
20126         *  einfo.h: Regenerate.
20127
20128 2001-12-12  Ed Schonberg <schonber@gnat.com>
20129
20130         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
20131         on known node types, rather than untyped fields. Further cleanups.
20132
20133 2001-12-12  Robert Dewar <dewar@gnat.com>
20134
20135         * sem_ch12.adb:
20136         (Save_Entity_Descendant): Minor comment update.
20137         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
20138          of an N_Attribute_Reference node. As per note below, this does not
20139         eliminate need for Associated_Node in attribute ref nodes.
20140         (Associated_Node): Documentation explicitly mentions attribute
20141         reference nodes, since this field is used in such nodes.
20142
20143         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
20144
20145 2001-12-12  Robert Dewar <dewar@gnat.com>
20146
20147         * s-stalib.adb: Add more comments on with statements being needed
20148
20149         * par-ch12.adb: Minor reformatting
20150
20151         * prj-dect.ads: Fix copyright header
20152
20153         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
20154         inputs fit in 32 bits, but the result still overflows.
20155
20156         * s-fatgen.ads: Minor comment improvement
20157
20158 2001-12-12  Ed Schonberg <schonber@gnat.com>
20159
20160         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
20161         formal derived type, look for an inherited component from the full
20162         view of the parent, if any.
20163
20164 2001-12-12  Robert Dewar <dewar@gnat.com>
20165
20166         * checks.ads (Apply_Alignment_Check): New procedure.
20167
20168         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
20169         ensure that the alignment of objects with address clauses is
20170         appropriate, and raise PE if not.
20171
20172         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
20173         Exp_Pakd.Known_Aligned_Enough
20174
20175         * mdllfile.ads: Minor reformatting
20176
20177         * mlib-fil.ads: Minor reformatting
20178
20179 2001-12-12  Ed Schonberg <schonber@gnat.com>
20180
20181         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
20182         fix to any component reference if enclosing record has non-standard
20183         representation.
20184
20185 2001-12-12  Vincent Celier <celier@gnat.com>
20186
20187         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
20188         Iteration
20189
20190 2001-12-12  Ed Schonberg <schonber@gnat.com>
20191
20192         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
20193         sem_attr.
20194
20195 2001-12-12  Robert Dewar <dewar@gnat.com>
20196
20197         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
20198
20199 2001-12-12  Emmanuel Briot <briot@gnat.com>
20200
20201         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
20202         and it adds dependencies to system.io.
20203
20204 2001-12-12  Pascal Obry <obry@gnat.com>
20205
20206         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
20207         variable name.
20208
20209 2001-12-11  Ed Schonberg <schonber@gnat.com>
20210
20211         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
20212         that is the parent of other generics, the instance body replaces the
20213         instance node.  Retrieve the instance of the spec, which is the one
20214         that is visible in clients and within the body.
20215
20216 2001-12-11  Vincent Celier <celier@gnat.com>
20217
20218         * gnatmain.adb: Initial version.
20219
20220         * gnatmain.ads: Initial version.
20221
20222         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
20223
20224         * snames.adb: Updated to match snames.ads.
20225
20226         * snames.ads: Added Gnatstub.
20227
20228 2001-12-11  Vincent Celier <celier@gnat.com>
20229
20230         * prj-attr.adb (Initialization_Data): Change name from
20231         Initialisation_Data.
20232
20233 2001-12-11  Emmanuel Briot <briot@gnat.com>
20234
20235         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
20236         + and * applied to backslashed expressions like \r.
20237
20238 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
20239
20240         * g-os_lib.ads: String_List type added, Argument_List type is now
20241         subtype of String_List.
20242
20243 2001-12-11  Robert Dewar <dewar@gnat.com>
20244
20245         * g-os_lib.ads: Change copyright to FSF
20246         Add comments for String_List type
20247
20248 2001-12-11  Vincent Celier <celier@gnat.com>
20249
20250         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
20251         string to the buffer).
20252
20253 2001-12-11  Ed Schonberg <schonber@gnat.com>
20254
20255         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
20256         sem_attr.
20257
20258         * sem_attr.adb: Simplify previous fix for Address.
20259         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
20260         to avoid anomalies where the bound of the type appears to raise
20261         constraint error.
20262
20263 2001-12-11  Robert Dewar <dewar@gnat.com>
20264
20265         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
20266         handled.
20267
20268 2001-12-11  Ed Schonberg <schonber@gnat.com>
20269
20270         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
20271         renamed unit before checking for recursive instantiations.
20272
20273 2001-12-11  Emmanuel Briot <briot@gnat.com>
20274
20275         * prj.ads: Add comments for some of the fields.
20276
20277 2001-12-11  Robert Dewar <dewar@gnat.com>
20278
20279         * lib-xref.adb (Output_Refs): Don't output type references outside
20280         the main unit if they are not otherwise referenced.
20281
20282 2001-12-11  Ed Schonberg <schonber@gnat.com>
20283
20284         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
20285         code and diagnose additional illegal uses
20286
20287         * sem_util.adb (Is_Object_Reference): An indexed component is an
20288         object only if the prefix is.
20289
20290 2001-12-11  Vincent Celier <celier@gnat.com>
20291
20292         * g-diopit.adb: Initial version.
20293
20294         * g-diopit.ads: Initial version.
20295
20296         * g-dirope.adb:
20297         (Expand_Path): Avoid use of Unbounded_String
20298         (Find, Wildcard_Iterator): Moved to child package Iteration
20299
20300         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
20301
20302 2001-12-11  Robert Dewar <dewar@gnat.com>
20303
20304         * sem_attr.adb: Minor reformatting
20305
20306 2001-12-11  Ed Schonberg <schonber@gnat.com>
20307
20308         * sem_ch3.adb: Clarify some ???.
20309
20310 2001-12-11  Robert Dewar <dewar@gnat.com>
20311
20312         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
20313         Exp_Pakd.Known_Aligned_Enough
20314
20315         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
20316         version is moved to Exp_Ch13.
20317
20318 2001-12-11  Robert Dewar <dewar@gnat.com>
20319
20320         * einfo.ads: Minor reformatting
20321
20322         * exp_ch5.adb: Add comment for previous.change
20323
20324         * ali.adb: New interface for extended typeref stuff.
20325
20326         * ali.ads: New interface for typeref stuff.
20327
20328         * checks.adb (Apply_Alignment_Check): New procedure.
20329
20330         * debug.adb: Add -gnatdM for modified ALI output
20331
20332         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
20333
20334         * lib-xref.adb: Extend generation of <..> notation to cover
20335         subtype/object types. Note that this is a complete rewrite,
20336         getting rid of the very nasty quadratic algorithm previously
20337         used for derived type output.
20338
20339         * lib-xref.ads: Extend description of <..> notation to cover
20340         subtype/object types. Uses {..} for these other cases.
20341         Also use (..) for pointer types.
20342
20343         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
20344
20345         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
20346         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
20347
20348 2001-12-11  Vincent Celier <celier@gnat.com>
20349
20350         * gnatcmd.adb:
20351         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
20352         Changed /BIND_ONLY to /ACTIONS=BIND
20353         Changed /LINK_ONLY to /ACTIONS=LINK
20354
20355 2001-12-11  Ed Schonberg  <schonber@gnat.com>
20356
20357         * sem_ch8.adb (Find_Selected_Component): improved search for a
20358         candidate package in case of error.
20359
20360         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
20361         chain back on scope stack before reinstalling use clauses.
20362
20363         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
20364         is enabled, do not kill the code for the condition, to preserve
20365         warning.
20366
20367 2001-12-11  Robert Dewar <dewar@gnat.com>
20368
20369         * checks.adb (Insert_Valid_Check): Apply validity check to expression
20370         of conversion, not to result of conversion.
20371
20372 2001-12-11  Ed Schonberg <schonber@gnat.com>
20373
20374         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
20375         before freezing parent. If the declarations are mutually recursive,
20376         an access to the current record type may be frozen before the
20377         derivation is complete.
20378
20379 2001-12-05  Vincent Celier <celier@gnat.com>
20380
20381         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
20382         -c /COMPILE_ONLY, -l /LINK_ONLY
20383
20384         * opt.ads:
20385         (Bind_Only): New Flag
20386         (Link_Only): New flag
20387
20388         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
20389         and -l (Link_Only)
20390
20391         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
20392
20393         * make.adb:
20394         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
20395         (Gnatmake): Set the step flags. Only perform a step if the
20396         corresponding step flag is True.
20397         (Scan_Make_Arg): Reset the bind and link step flags when -u
20398         or -gnatc has been specified.
20399
20400 2001-12-05  Ed Schonberg <schonber@gnat.com>
20401
20402         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
20403         get bounds from right operand.
20404
20405         * sem_eval.adb: Minor reformatting
20406
20407         * exp_util.adb (Make_Literal_Range): use bound of literal rather
20408         than Index'First, its lower bound may be different from 1.
20409
20410         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
20411         and C48009J
20412
20413 2001-12-05  Vincent Celier <celier@gnat.com>
20414
20415         * prj-nmsc.adb Minor reformatting
20416
20417         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
20418         set and libraries are not supported.
20419
20420 2001-12-05  Ed Schonberg <schonber@gnat.com>
20421
20422         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
20423         private view explicitly, so the back-end can treat as a global
20424         when appropriate.
20425
20426 2001-12-05  Ed Schonberg <schonber@gnat.com>
20427
20428         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
20429          unit, always replace instance node with new body, for ASIS use.
20430
20431 2001-12-05  Vincent Celier <celier@gnat.com>
20432
20433         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
20434         libraries are not supported and both attributes Library_Name and
20435         Library_Dir are specified.
20436
20437         * prj-proc.adb (Expression): Set location of Result to location of
20438         first term.
20439
20440         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
20441         (prj-nmsc is now importing MLib.Tgt)
20442
20443         * prj-proc.adb: Put the change indicated above that was forgotten.
20444
20445 2001-12-05  Robert Dewar <dewar@gnat.com>
20446
20447         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
20448
20449 2001-12-05  Ed Schonberg <schonber@gnat.com>
20450
20451         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
20452         constraint, introduce explicit subtype declaration and derive from it.
20453
20454         * sem_ch3.adb: Minor reformatting
20455
20456 2001-12-05  Robert Dewar <dewar@gnat.com>
20457
20458         * checks.adb (Determine_Range): Increase cache size for checks.
20459         Minor reformatting
20460
20461         * exp_ch6.adb: Minor reformatting
20462         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
20463         a parameter whose root type is System.Address, since treating such
20464         subprograms as pure in the code generator is almost surely a mistake
20465         that will lead to unexpected results.
20466
20467         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
20468         change handling of conversions.
20469
20470         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
20471
20472 2001-12-05  Ed Schonberg <schonber@gnat.com>
20473
20474         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
20475         aggregate with static wrong size, attach generated Raise node to
20476         declaration.
20477
20478 2001-12-05  Robert Dewar <dewar@gnat.com>
20479
20480         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
20481         Fixes compilation abandoned bomb in B24009B.
20482
20483 2001-12-05  Ed Schonberg <schonber@gnat.com>
20484
20485         * sem_ch12.adb:
20486         Document use of Associated_Node on Selected_Components.
20487         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
20488         to clarify use of untyped descendant fields.
20489
20490 2001-12-05  Robert Dewar <dewar@gnat.com>
20491
20492         * prj-dect.ads: Add ??? comment
20493         Add 2001 to copyright notice (was not done in after all)
20494
20495         * prj-part.adb: Minor reformatting. Reword one awkward error message.
20496
20497         * prj.ads: Minor reformatting throughout, and add some ??? comments
20498
20499         * snames.ads: Minor reformatting
20500
20501 2001-12-05  Geert Bosch <bosch@gnat.com>
20502
20503         * snames.adb: Autoupdate
20504
20505 2001-12-05  Vincent Celier <celier@gnat.com>
20506
20507         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
20508
20509         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
20510
20511         * prj-env.adb: Minor comment changes (modifying -> extends).
20512
20513         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
20514
20515         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
20516         Tok_Extends.
20517
20518         * prj.adb (Initialize): Change Modifying to Extends.
20519
20520         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
20521
20522         * prj.ads: Minor comment change (Modifying -> extending).
20523
20524         * snames.ads: Change modifying to extends.
20525
20526 2001-12-05  Robert Dewar <dewar@gnat.com>
20527
20528         * sem_warn.adb: Remove stuff for conditionals, we are not going to
20529         do this after all.
20530
20531         * sem_warn.ads: Remove stuff for conditionals, we are not going to
20532         do this after all.  Add 2001 to copyright notice
20533
20534 2001-12-04  Geert Bosch <bosch@gnat.com>
20535
20536         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
20537
20538 2001-12-04  Robert Dewar <dewar@gnat.com>
20539
20540         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
20541         location if we already have errors. Stops some cases of cascaded
20542         errors.
20543
20544         * errout.adb: Improve comment.
20545
20546 2001-12-04  Robert Dewar <dewar@gnat.com>
20547
20548         * sem_ch12.adb:
20549         (Analyze_Formal_Type_Definition): Defend against Error.
20550         (Analyze_Formal_Subprogram): Defend against Error.
20551
20552         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
20553         remove following semicolon if present. Removes cascaded error.
20554
20555 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
20556
20557         * bindgen.adb:
20558         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
20559          exceptions equals 0.
20560         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
20561         Fixes PIWG E tests (which have to be run with -gnatL).
20562
20563 2001-12-04  Robert Dewar <dewar@gnat.com>
20564
20565         * einfo.ads: Minor reformatting
20566
20567 2001-12-04  Ed Schonberg <schonber@gnat.com>
20568
20569         * einfo.ads: Block_Node points to the identifier of the block, not to
20570         the block node itself, to preserve the link when the block is
20571         rewritten, e.g. within an if-statement with a static condition.
20572
20573         * inline.adb (Cleanup_Scopes): recover block statement from block
20574         entity using new meaning of Block_Node.
20575
20576         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
20577         identifier of block node, rather than to node itself.
20578
20579 2001-12-04  Gary Dismukes <dismukes@gnat.com>
20580
20581         * layout.adb:
20582         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
20583         (Discrimify): Go back to setting the Etypes of the selected component
20584         because the Vname component does not exist at this point and will
20585         fail name resolution. Also set Analyzed.
20586         Remove with and use of Sem_Res.
20587
20588 2001-12-04  Arnaud Charlet <charlet@gnat.com>
20589
20590         * Makefile.in: (HIE_SOURCES): add s-fat*.
20591
20592 2001-12-04  Robert Dewar <dewar@gnat.com>
20593
20594         * sem_attr.adb:
20595         (Compile_Time_Known_Attribute): New procedure.
20596         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
20597          proper range check.
20598
20599 2001-12-04  Ed Schonberg <schonber@gnat.com>
20600
20601         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
20602         processing discriminants to diagnose illegal default values.
20603
20604 2001-12-04  Ed Schonberg <schonber@gnat.com>
20605
20606         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
20607         access discriminant within a type extension that constrains its
20608         parent discriminants.
20609
20610 2001-12-04  Ed Schonberg <schonber@gnat.com>
20611
20612         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
20613         is malformed, use instance of Any_Id to allow analysis to proceed.
20614
20615         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
20616         type definition is illegal.
20617         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
20618         misplaced.
20619
20620 2001-12-04  Ed Schonberg <schonber@gnat.com>
20621
20622         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
20623         constants.
20624
20625 2001-12-04  Robert Dewar <dewar@gnat.com>
20626
20627         * errout.adb: Minor reformatting
20628
20629 2001-12-04  Robert Dewar <dewar@gnat.com>
20630
20631         * exp_util.adb: Minor reformatting from last change
20632
20633         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
20634         which is a rewriting of an expression, traverse the original
20635         expression to remove warnings that may have been posted on it.
20636
20637 2001-12-04  Ed Schonberg <schonber@gnat.com>
20638
20639         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
20640         record that has other packed components.
20641
20642 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
20643
20644         * adaint.c: Minor cleanups.
20645
20646 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
20647
20648         * adaint.c: Do not use utime.h on vxworks.
20649
20650 2001-12-04  Arnaud Charlet <charlet@gnat.com>
20651
20652         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
20653         more confusion than it solves.
20654
20655 2001-12-04  Geert bosch <bosch@gnat.com>
20656
20657         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
20658
20659 2001-12-04  Geert Bosch  <bosch@gnat.com>
20660
20661         * Makefile.in (update-sources): New target.
20662         For use by gcc_release script.
20663
20664 2001-12-04  Ed Schonberg <schonber@gnat.com>
20665
20666         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
20667         a configuration pragma, it is now legal wherever a pragma can appear.
20668
20669 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
20670
20671         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
20672         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
20673         is now @CROSS@ -DIN_GCC; update comment.
20674
20675 2001-12-04  Robert Dewar <dewar@gnat.com>
20676
20677         * einfo.adb (Has_Pragma_Pure_Function): New flag.
20678         Fix problem that stopped ceinfo from working
20679
20680         * einfo.ads (Has_Pragma_Pure_Function): New flag.
20681
20682         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
20683
20684 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
20685
20686         * gnatchop.adb:
20687         (File_Time_Stamp): New procedure.
20688         (Preserve_Mode): New boolean.
20689         (Write_Unit): Pass time stamp.
20690         Implement -p switch (preserve time stamps).
20691
20692         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
20693
20694         * gnatchop.adb: Do usage info for -p switch
20695
20696         * adaint.h (__gnat_set_file_time_name): New function
20697
20698         * adaint.c (__gnat_set_file_time_name): Implement
20699
20700         * adaint.h: Fix typo
20701
20702 2001-12-03  Robert Dewar <dewar@gnat.com>
20703
20704         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
20705         have Associated_Node.
20706
20707 2001-12-03  Robert Dewar <dewar@gnat.com>
20708
20709         * prj-proc.adb: Minor reformatting
20710
20711         * make.adb: Minor reformatting
20712
20713 2001-12-03  Geert Bosch <bosch@gnat.com>
20714
20715         * make.adb: Minor reformatting.
20716
20717 2001-12-03 Robert Dewar  <dewar@gnat.com>
20718
20719         * sem_ch12.adb: Minor reformatting
20720
20721 2001-12-03  Ed Schonberg <schonber@gnat.com>
20722
20723         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
20724         push Standard on the stack before analyzing the instance body,
20725         in order to have a clean visibility environment.
20726
20727         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
20728
20729 2001-12-03  Ed Schonberg <schonber@gnat.com>
20730
20731         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
20732         instantiation of a body that contains an inlined body.
20733
20734 2001-12-03  Ed Schonberg <schonber@gnat.com>
20735
20736         * sem_ch12.adb:
20737         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
20738         to prevent freezing within formal packages.
20739         (Freeze_Subprogram_Body): If body comes from another instance that
20740         appeared before its own body, place freeze node at end of current
20741         declarative part, to prevent a back-end crash.
20742         (Inline_Instance_Body): Handle properly a package instance within
20743         a subprogram instance that is a child unit.
20744
20745 2001-12-01  Graham Stott  <grahams@redhat.com>
20746
20747         * Makefile.in (misc.o): Add missing $(srcdir) prefix
20748         and add optabs.h dependency.
20749
20750         * misc.c: Include optabs.h
20751         (gnat_tree_code_type): Make static and const.
20752         (gnat_tree_code_length): Likewise.
20753         (gnat_tree_code_name): Likewise.
20754         (update_setjmp_buf): Obtain operands mode from insn_data.
20755
20756 2001-11-29  Richard Henderson  <rth@redhat.com>
20757
20758         * init.c: Remove obsolete dwarf2 frame.h section.
20759
20760 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
20761
20762         * Make-lang.in (ada.generated-manpages): New dummy target.
20763
20764 2001-11-29  Ed Schonberg <schonber@gnat.com>
20765
20766         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
20767         into Command, an array conversion is illegal here. Uncovered by
20768         ACATS B460005.
20769
20770 2001-11-28  Geert Bosch <bosch@gnat.com>
20771
20772         * init.c: Minor whitespace changes.
20773
20774 2001-11-28  Doug Rupp <rupp@gnat.com>
20775
20776         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
20777         signal stack.
20778
20779 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
20780
20781         * misc.c (gnat_expand_constant): Move declaration above
20782         definition of lang_hooks.
20783         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
20784         (gnat_init): lang_expand_constant no longer exists.
20785
20786         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
20787         always have vprintf.
20788         (gnat_init): Always call set_internal_error_function.
20789
20790 2001-11-27  Andreas Jaeger  <aj@suse.de>
20791
20792         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
20793
20794 2001-11-27  Laurent Guerby  <guerby@acm.org>
20795
20796         * Makefile.in: Regenerate Ada dependencies.
20797
20798 2001-11-26  Richard Henderson  <rth@redhat.com>
20799
20800         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
20801         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
20802         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
20803
20804 2001-11-25  Laurent Guerby  <guerby@acm.org>
20805
20806         * sysdep.c (rts_get_*): Fix style.
20807
20808 2001-11-19  Laurent Guerby  <guerby@acm.org>
20809
20810         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
20811         since it is of no apparent use and cause warnings.
20812
20813 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
20814
20815         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
20816         static too.
20817         (gnat_init): Don't return NULL.
20818         (finish_parse): Remove.
20819
20820 2001-11-17  Laurent Guerby  <guerby@acm.org>
20821
20822         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
20823         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
20824         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
20825         * lang-spec.h: Add missing struct field to silence warnings.
20826         * sysdep.c (rts_get_*): Provide K&R prototype.
20827         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
20828         * traceback.c (Unlock_Task, Lock_Task): Likewise.
20829         * tracebak.c (__gnat_backtrace): Remove unused variable.
20830         * utils.c (end_subprog_body): Move to K&R style.
20831
20832 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
20833
20834         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
20835
20836 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
20837
20838         * misc.c (gnat_init): Change prototype.  Include the
20839         functionality of the old init_parse and init_decl_processing.
20840         (gnat_init_decl_processing): New prototype.
20841         (init_parse): Remove.
20842         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
20843
20844 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
20845
20846         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
20847         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
20848         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
20849         set_yydebug): Remove.
20850
20851 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
20852
20853         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
20854         (struct lang_hooks): Constify.
20855         (language_string, lang_identify): Remove.
20856         * utils.c (init_decl_processing): Update.
20857
20858 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
20859
20860         * misc.c: Include langhooks-def.h.
20861         * Makefile.in: Update.
20862
20863 2001-10-30  Robert Dewar <dewar@gnat.com>
20864
20865         * style.adb:
20866         (Check_Identifier): Rewrite circuit to be compatible with use of letters
20867         in the upper half of ASCII.
20868         (Check_Identifier): Minor reformatting
20869
20870 2001-10-30  Geert Bosch <bosch@gnat.com>
20871
20872         * (Associated_Node, Set_Associated_Node): Do not check for
20873         Freeze_Entity.
20874
20875 2001-10-30  Robert Dewar <dewar@gnat.com>
20876
20877         * a-reatim.ads: Minor reformatting
20878
20879 2001-10-30  Robert Dewar <dewar@gnat.com>
20880
20881         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
20882         undocumented declarations.
20883
20884 2001-10-30  Pascal Obry <obry@gnat.com>
20885
20886         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
20887         to the binder and linker.
20888         Minor style fix.
20889
20890         * mdll.ads: Fix layout.  Update copyright notice.
20891
20892         * mdll.adb: Fix layout.  Update copyright notice.
20893
20894 2001-10-30  Robert Dewar <dewar@gnat.com>
20895
20896         * usage.adb: Minor fix to output for -gnaty.
20897
20898 2001-10-30  Ed Schonberg <schonber@gnat.com>
20899
20900         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
20901         to accommodate all its possible values.
20902
20903         * a-reatim.adb (Split): Special-case handling of Time_Span_First
20904         and of small absolute values of T.
20905
20906 2001-10-30  Richard Kenner <kenner@gnat.com>
20907
20908         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
20909         set_mem_attributes since not needed and wrong if RESULT if a REG;
20910         fixes ACATS failures.
20911
20912 2001-10-30  Geert Bosch <bosch@gnat.com>
20913
20914         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
20915         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
20916
20917 2001-10-30  Robert Dewar <dewar@gnat.com>
20918
20919         * bindusg.adb: Undocument -f switch.
20920
20921         * gnatcmd.adb: Remove /FULL_ELABORATION.
20922
20923         * opt.ads (Force_RM_Elaboration_Order): Document that this is
20924         obsolescent.
20925
20926         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
20927
20928         * gnatbind.adb: Minor update of warning msg.
20929
20930 2001-10-30  Vincent Celier <celier@gnat.com>
20931
20932         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
20933         for project file switches (-P (/PROJECT_FILE=),
20934          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
20935         or MEDIUM or HIGH)
20936
20937 2001-10-30  Geert Bosch <bosch@gnat.com>
20938
20939         * decl.c: Minor whitespace fixes.
20940
20941 2001-10-30  Richard Kenner <kenner@gnat.com>
20942
20943         * utils2.c (build_allocator): Test for SIZE overflow in array case too
20944
20945 2001-10-30  Geert Bosch <bosch@gnat.com>
20946
20947         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
20948         Found due to GCC 3.0 warning of using uninitialized value.
20949
20950         * layout.adb:
20951         (Get_Max_Size): Use variant record for tracking value/expression.
20952          Makes logic clearer and prevents warnings for uninitialized variables.
20953         (Layout_Array_Type): Use variant record for tracking value/expression.
20954          Makes logic clearer and prevents warnings for uninitialized variables.
20955
20956 2001-10-30  Robert Dewar <dewar@gnat.com>
20957
20958         * lib.adb: Minor reformatting
20959
20960         * s-taprop.ads: Minor reformatting
20961
20962 2001-10-29  Laurent Guerby  <guerby@acm.org>
20963
20964         * init.c:
20965         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
20966         const.
20967         (_gnat_error_handler): Make MSG const.
20968
20969 2001-10-29  Richard Kenner <kenner@gnat.com>
20970
20971         * sysdep.c: Fix localtime_r problem on LynxOS.
20972         Also remove #elif to avoid warnings.
20973
20974         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
20975         used by this.
20976
20977         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
20978
20979 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
20980
20981         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
20982         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
20983         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
20984         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
20985         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
20986         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
20987         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
20988         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
20989         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
20990         types.ads, urealp.adb: Fix spelling errors.
20991
20992 2001-10-27  Laurent Guerby <guerby@acm.org>
20993
20994         * trans.c (gigi): Fix non determinism leading to bootstrap
20995         comparison failures for debugging information.
20996
20997 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
20998
20999         * gnat_rm.texi: Use @./@: where appropriate.
21000
21001 2001-10-26  Robert Dewar <dewar@gnat.com>
21002
21003         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
21004
21005 2001-10-26  Richard Kenner <kenner@gnat.com>
21006
21007         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
21008
21009 2001-10-26  Richard Kenner <kenner@gnat.com>
21010
21011         * decl.c (validate_size): Modify message for bad size to avoid
21012         implication that compiler is modifying the size.
21013
21014 2001-10-26  Robert Dewar <dewar@gnat.com>
21015
21016         * prj-util.adb: Minor reformatting. Fix bad header format.
21017
21018 2001-10-26  Robert Dewar <dewar@gnat.com>
21019
21020         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
21021
21022         * sinfo.ads: Clarify use of Associated_Node (documentation only).
21023
21024         * sem_ch12.adb: Change Node4 to Associated_Node. Change
21025         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
21026         much more narrowly in places where needed. These are cleanups.
21027
21028 2001-10-26  Joel Brobecker <brobecke@gnat.com>
21029
21030         * 5zosinte.ads (null_pthread): new constant.
21031
21032         * 5ztaprop.adb:
21033         (Initialize_TCB): Initialize thread ID to null, to be able to verify
21034          later that this field has been set.
21035         (Finalize_TCB): ditto.
21036         (Suspend_Task): Verify that the thread ID is not null before using it.
21037         (Resume_Task): ditto.
21038
21039         * s-tasdeb.adb:
21040         (Resume_All_Tasks): Lock the tasks list before using it.
21041         (Suspend_All_Tasks): ditto.
21042
21043 2001-10-26  Richard Kenner <kenner@gnat.com>
21044
21045         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
21046         Make constant variant of designated type for Is_Access_Constant.
21047         Call update_pointer_to with main variant.
21048
21049         * trans.c (process_freeze_entity, process_type):
21050         Call update_pointer_to on main variant.
21051
21052         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
21053         If main variant, update all other variants.
21054
21055         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
21056         TREE_STATIC.
21057
21058 2001-10-26  Robert Dewar <dewar@gnat.com>
21059
21060         * prj-util.adb: Minor reformatting
21061
21062 2001-10-26  Robert Dewar <dewar@gnat.com>
21063
21064         * prj-util.adb: Minor reformatting
21065
21066 2001-10-26  Robert Dewar <dewar@gnat.com>
21067
21068         * prj-attr.adb: Minor reformatting throughout
21069
21070 2001-10-26  Robert Dewar <dewar@gnat.com>
21071
21072         * prj-attr.ads: Minor reformatting
21073         Add ??? comment (this whole spec has almost no comments)
21074
21075 2001-10-26  Vincent Celier <celier@gnat.com>
21076
21077         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
21078         ("//") that precede the drive letter on Interix.
21079
21080 2001-10-26  Geert Bosch <bosch@gnat.com>
21081
21082         * gnat_rm.texi: Add GNAT Reference Manual.
21083
21084 2001-10-25  Robert Dewar <dewar@gnat.com>
21085
21086         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
21087         is Error. Similar change for other renaming cases.
21088
21089 2001-10-25  Robert Dewar <dewar@gnat.com>
21090
21091         * s-atacco.ads: Add pragma Inline_Always for functions.
21092         Fix header format. Add copyright 2001
21093
21094 2001-10-25  Ed Schonberg <schonber@gnat.com>
21095
21096         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
21097         return Error rather than Empty so that analysis can proceed.
21098
21099 2001-10-25  Ed Schonberg <schonber@gnat.com>
21100
21101         * sem_util.adb (Enter_Name): better handling of cascaded error
21102         messages when a unit appears in its own context.
21103
21104 2001-10-25  Ed Schonberg <schonber@gnat.com>
21105
21106         * sem_util.adb (Defining_Entity): in case of error, attach created
21107         entity to specification, so that semantic analysis can proceed.
21108
21109 2001-10-25  Robert Dewar <dewar@gnat.com>
21110
21111         * sem_util.adb
21112         (Defining_Entity): Deal with Error.
21113         (Process_End_Label): Deal with bad end label for.
21114
21115 2001-10-25  Ed Schonberg <schonber@gnat.com>
21116
21117         * sem_elab.adb (Check_A_Call): refine message when call is in an
21118         instance but callee is not declared in the generic unit.
21119
21120 2001-10-25  Ed Schonberg <schonber@gnat.com>
21121
21122         * sem_elab.adb (Check_A_Call): check for renaming before finding the
21123         enclosing unit, which may already be different from the calling unit.
21124
21125 2001-10-25  Geert Bosch <bosch@gnat.com>
21126
21127         * 4gintnam.ads: fix header format.
21128
21129 2001-10-25  Ed Schonberg <schonber@gnat.com>
21130
21131         * sem_res.adb (Resolve_Call): if the call is actually an indexing
21132         operation on the result of a parameterless call, perform elaboration
21133         check after the node has been properly rewritten.
21134
21135         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
21136         inlined within the generic tree, the defining identifier is not a
21137         compilation_unit.
21138
21139 2001-10-25  Ed Schonberg <schonber@gnat.com>
21140
21141         * sem_res.adb (Resolve): special-case resolution of Null in an
21142          instance or an inlined body to avoid view conflicts.
21143
21144         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
21145          compatibility by retrieving the access type of the generic copy.
21146
21147 2001-10-25  Robert Dewar <dewar@gnat.com>
21148
21149         * sem_ch3.adb:
21150         (Analyze_Number_Declaration): Handle error expression.
21151         (Signed_Integer_Type_Declaration): Handle error bound.
21152         (Analyze_Subtype_Indication): Handle error range.
21153
21154         * sem_util.adb (Get_Index_Bounds): Check for Error.
21155
21156 2001-10-25  Robert Dewar <dewar@gnat.com>
21157
21158         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
21159         in no run time mode.
21160
21161 2001-10-25  Pascal Obry <obry@gnat.com>
21162
21163         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
21164         mode case for ALLOC case.
21165
21166         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
21167         all platforms. Improvement of last change.
21168
21169 2001-10-25  Robert Dewar <dewar@gnat.com>
21170
21171         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
21172
21173 2001-10-25  Geert Bosch  <bosch@gnat.com>
21174
21175         * osint.adb (Is_Relative): Remove duplicate.
21176
21177 2001-10-25  Pascal Obry <obry@gnat.com>
21178
21179         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
21180         pathnames in UNIX and DOS style with drive letter.
21181         (Is_Relative): new routine.
21182
21183         * osint.adb: Minor reformatting
21184
21185         * osint.adb (Is_Relative): implementation using
21186         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
21187
21188 2001-10-25  Pascal Obry <obry@gnat.com>
21189
21190         * g-dirope.adb (Basename): correctly compute offset between the
21191         original Path and the translated one.
21192
21193         * g-dirope.adb: (Base_Name): add some comments.
21194
21195 2001-10-25  Robert Dewar <dewar@gnat.com>
21196
21197         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
21198         in HIE mode, avoids compilation abandoned message
21199
21200         * exp_imgv.adb: Correct typo in previous change
21201
21202         * exp_imgv.adb: Correct typo in previous change (not my day!)
21203
21204 2001-10-25  Robert Dewar <dewar@gnat.com>
21205
21206         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
21207
21208 2001-10-25  Pascal Obry <obry@gnat.com>
21209
21210         * g-awk.ads: Move all pragma inlines next to the routine
21211          declarations. This is more uniform with other GNAT spec.
21212
21213 2001-10-22  Geert Bosch  <bosch@gnat.com>
21214
21215         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
21216
21217 2001-10-19  Geert Bosch  <bosch@gnat.com>
21218
21219         * Makefile.in (tools, gnattools): Remove gnatmem.
21220
21221 2001-10-17  Richard Henderson  <rth@redhat.com>
21222
21223         * Makefile.in (misc.o): Depend on langhooks.h.
21224         * misc.c: Include it.
21225         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
21226         (LANG_HOOKS_DECODE_OPTION): New.
21227         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
21228
21229 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
21230
21231         * trans.c (tree_transform): Adjust to recent change in
21232         expand_asm_operands to implement named asm operands.
21233
21234 2001-10-11  Ed Schonberg  <schonber@gnat.com>
21235
21236         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
21237         renaming of discriminant for mutable record type.
21238
21239 2001-10-11  Robert Dewar  <dewar@gnat.com>
21240
21241         * validsw.adb: Properly save -gnatVn status.
21242
21243 2001-10-11  Robert Dewar <dewar@gnat.com>
21244
21245         * usage.adb: Add lines for V switch.
21246
21247         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
21248         (/VALIDITY_CHECKING).
21249
21250 2001-10-11  Ed Schonberg <schonber@gnat.com>
21251
21252         * sem_type.adb (Add_One_Interp): an operator for a type declared in
21253         an extension of System is known to be visible.
21254
21255 2001-10-11  Ed Schonberg <schonber@gnat.com>
21256
21257         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
21258         properly. Fixes regression on ACATS C34005G.
21259
21260 2001-10-11  Robert Dewar <dewar@gnat.com>
21261
21262         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
21263         loop in generic instance, since this is likely not very useful.
21264
21265 2001-10-11  Robert Dewar <dewar@gnat.com>
21266
21267         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
21268         the error message for high integrity mode.
21269
21270         * rtsfind.adb (RTE): Give message if we try to find an entity that
21271         is not available in high integrity mode.
21272
21273         * rtsfind.ads:
21274         (OK_To_Use_In_HIE_Mode): New array.
21275         (RTE): May return Empty in high integrity mode.
21276
21277         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
21278         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
21279
21280         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
21281         unit if not inlined always and in no runtime mode. Fixes problem
21282         caused by new Rtsfind changes.
21283
21284         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
21285         body is deleted.
21286
21287         * rtsfind.adb (RTE): Make sure we do not try to load unit after
21288         giving message for entity not available in high integrity mode.
21289
21290 2001-10-11  Pascal Obry <obry@gnat.com>
21291
21292         * impunit.adb: Add GNAT.CRC32.
21293
21294 2001-10-11  Ed Schonberg <schonber@gnat.com>
21295
21296         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
21297         properly the case where one universal operand in a non-static
21298         exponentiation of a real literal.
21299
21300 2001-10-11  Ed Schonberg <schonber@gnat.com>
21301
21302         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
21303         clause, return the gobal finalization list, for lack of anthing else.
21304
21305 2001-10-11  Ed Schonberg <schonber@gnat.com>
21306
21307         * exp_ch7.adb (Make_Transient_Block): if statement is within
21308         exception handler, always use new transient scope to place Clean
21309         procedure.
21310
21311 2001-10-11  Pascal Obry <obry@gnat.com>
21312
21313         * Makefile.in:
21314         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
21315         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
21316         (GNATLS_RTL_OBJS): add g-crc32.o
21317         (GNATMAKE_RTL_OBJS): add g-crc32.o
21318
21319         * ali-util.adb:
21320         (CRC_Match): new function.
21321         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
21322         instead of the previous simple checksum algorithm.
21323         (Time_Stamp_Mismatch): use CRC_Match for comparison.
21324         (Set_Source_Table): idem.
21325
21326         * ali-util.ads:
21327         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
21328         instead of simple checksum.
21329         (CRC_Match): new function.
21330         (CRC_Error): new constant.
21331
21332         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
21333         a CRC now and not a simple checksum. A CRC uses lower-case hex
21334         letters, fixes ambiguity in parsing.
21335
21336         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
21337         is what this variable will store.
21338
21339         * bcheck.adb: Change reference to chechsum in comments by CRC.
21340         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
21341         rename All_Checksum_Match to All_CRC_Match. Change due to API
21342         renaming since now GNAT does not use a simple checksum but a
21343         CRC using GNAT.CRC32.
21344
21345         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
21346         now and not anymore a simple checksum.
21347
21348         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
21349         places.
21350
21351         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
21352
21353         * scans.adb:
21354         (Restore_Scan_State): rename Checksum to CRC.
21355         (Save_Scan_State): idem.
21356
21357         * scans.ads:
21358         With GNAT.CRC32.
21359         (Checksum): rename to CRC.
21360         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
21361
21362         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
21363         GNAT.CRC32).  Update copyright notice.
21364
21365         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
21366         GNAT.CRC32).  Update copyright notice.
21367
21368         * scn.adb:
21369         (Accumulate_Checksum): removed.
21370         (Update): new procedure. Add a wide-character into the CRC.
21371
21372         * sinput-l.adb:
21373         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
21374         (Load_File): fix initialization of S (change Source_Checksum to
21375         Source_CRC)
21376
21377         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
21378         Source_CRC in S initialization.
21379
21380         * sinput.adb (Source_Checksum): renamed to Source_CRC.
21381
21382         * sinput.ads (Source_Checksum): renamed to Source_CRC.
21383         Update comments for the CRC.
21384
21385         * types.adb (Hex): Use lowercase for the letter part.
21386
21387         * types.ads (Get_Hex_String): Returns the hexadecimal representation
21388         for a word. This is currently used only for CRC. In previous version,
21389         the checksum was using a representation with all letter being
21390         upper-case. With the new implementation (using CRC) we do not remove
21391         the 32th bit of the CRC, so we can have an upper-case starting letter
21392         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
21393         It is ambigous since the CRC was optional and could be followed by
21394         options like EB, EE. So now this routines uses lower-case letter for
21395         the hexadecimal representation. Strange enough only lower case letters
21396         where checked in Scan_ALI (even if this was not a possible case).
21397
21398         * gnatvsn.ads (Library_Version): changed to 3.15a.
21399
21400         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
21401         for the compiler.
21402
21403         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
21404         for the compiler.
21405
21406         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
21407         Add 2001 to copyright notice
21408         (Accumulate_Checksum): Modify to use System.CRC32.
21409
21410         * ali-util.ads: Redo changes of previous revision to continue to use
21411         the word Checksum. Add 2001 to copyright notice.
21412
21413         * ali.adb: Undo some of previous changes, not needed.
21414         Keep the change for lower case letters in the checksum.
21415
21416         * ali.ads: Undo previous change not needed.
21417
21418         * bcheck.adb: Undo most of previous change, not needed.
21419         But do use Checksums_Match for checksum comparison.
21420
21421         * gnatls.adb: Undo most of previous change, not needed.
21422         But do use Checksums_Match for comparing checksums.
21423
21424         * lib-load.adb: Undo previous change, not needed.
21425
21426         * lib-writ.adb: Undo previous change, not needed.
21427
21428         * lib-writ.ads: Document that checksums use lower case,
21429         not upper case letters.
21430
21431         * scans.adb: Undo previous change, not needed
21432
21433         * scans.ads: Undo previous change, not needed.
21434
21435         * scn-nlit.adb: Undo previous changes, not needed.
21436
21437         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
21438
21439         * scn.adb:
21440         (Accumulate_Checksum): Use System.CRC32.
21441         (Initialize_Checksum): New procedure.
21442         Remove other changes of previous revision.
21443
21444         * sinput-p.adb: Undo previous change, not needed.
21445
21446         * sinput.adb: Undo previous change, not needed.
21447
21448         * sinput-l.adb: Undo previous change, not needed.
21449
21450         * sinput.ads: Undo previous change, not needed.  Keep only comment
21451         on new checksum algorithm
21452
21453         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
21454         Also remove a-tags and a-stream from GNAT sources.
21455
21456         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
21457
21458         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
21459
21460 2001-10-11  Geert Bosch  <bosch@gnat.com>
21461
21462         * einfo.h: Regenerate.
21463
21464         * nmake.ads: Regenerate.
21465
21466         * nmake.adb: Regenerate.
21467
21468         * sinfo.h: Regenerate.
21469
21470         * treeprs.adb: Regenerate.
21471
21472 2001-10-10  Geert Bosch  <bosch@gnat.com>
21473
21474         * gnat-style.texi: New file describing coding guidelines for Ada.
21475
21476 2001-10-10  Ed Schonberg <schonber@gnat.com>
21477
21478         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
21479         is Flag174.
21480
21481 2001-10-10  Geert Bosch  <bosch@gnat.com>
21482
21483         * snames.ads: Add new names for project facility.
21484
21485         * snames.adb: Update to reflect snames.ads changes.
21486
21487         * snames.h: Update to reflect snames.ads changes.
21488
21489 2001-10-10  Vincent Celier <celier@gnat.com>
21490
21491         * make.adb:
21492         (Add_Switches): reflect the changes for the switches attributes
21493         Default_Switches indexed by the programming language,
21494         Switches indexed by the file name.
21495         (Collect_Arguments_And_Compile): Idem.
21496         Reflect the attribute name changes.
21497
21498         * prj-attr.adb:
21499         (Initialisation_Data): Change the names of some packages and
21500         attributes.
21501         (Initialize): process case insensitive associative arrays.
21502
21503         * prj-attr.ads:
21504         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
21505
21506         * prj-dect.adb:
21507         (Parse_Attribute_Declaration): For case insensitive associative
21508          arrays, set the index string to lower case.
21509
21510         * prj-env.adb:
21511         Reflect the changes of the project attributes.
21512
21513         * prj-nmsc.adb:
21514         Replace Check_Naming_Scheme by Ada_Check and
21515         Language_Independent_Check.
21516
21517         * prj-nmsc.ads:
21518         Replaced Check_Naming_Scheme by 2 procedures:
21519         Ada_Check and Language_Independent_Check.
21520
21521         * prj-proc.adb:
21522         (Process_Declarative_Items): For case-insensitive associative
21523         arrays, set the index string to lower case.
21524         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
21525         Prj.Nmsc.Check_Naming_Scheme.
21526
21527         * prj-tree.adb:
21528         (Case_Insensitive): New function
21529         (Set_Case_Insensitive): New procedure
21530
21531         * prj-tree.ads:
21532         (Case_Insensitive): New function
21533         (Set_Case_Insensitive): New procedure
21534         (Project_Node_Record): New flag Case_Insensitive.
21535
21536         * prj-util.adb:
21537         (Value_Of): new function to get the string value of a single
21538         string variable or attribute.
21539
21540         * prj-util.ads:
21541         (Value_Of): new function to get the string value of a single
21542         string variable or attribute.
21543
21544         * prj.adb:
21545         (Ada_Default_Spec_Suffix): New function
21546         (Ada_Default_Impl_Suffix): New function
21547         Change definitions of several constants to reflect
21548         new components of record types.
21549
21550         * prj.ads:
21551         (Naming_Data): Change several components to reflect new
21552         elements of naming schemes.
21553         (Project_Data): New flags Sources_Present and
21554         Language_Independent_Checked.
21555         (Ada_Default_Spec_Suffix): New function.
21556         (Ada_Default_Impl_Suffix): New function.
21557
21558         * snames.ads:
21559         Modification of predefined names for project manager: added
21560         Implementation, Specification_Exceptions, Implementation_Exceptions,
21561         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
21562         Default_Switches, _Languages, Builder, Cross_Reference,
21563         Finder. Removed Body_Part, Specification_Append, Body_Append,
21564         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
21565         Gnatlink.
21566
21567         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
21568         Add comments.
21569
21570         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
21571         not that it is Nil_Variable_Value.
21572
21573         * prj.ads: Add ??? for uncommented declarations
21574
21575 2001-10-10  Ed Schonberg <schonber@gnat.com>
21576
21577         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
21578         constant, do not indicate possible modification, so that gigi can
21579         treat it as a bona fide constant.
21580
21581 2001-10-10  Robert Dewar <dewar@gnat.com>
21582
21583         * sem_prag.adb: Add processing for pragma External.
21584
21585         * snames.ads: Add entry for pragma External.
21586
21587         * par-prag.adb: Add pragma External.
21588
21589         * snames.adb: Updated to match snames.ads.
21590
21591 2001-10-10  Ed Schonberg <schonber@gnat.com>
21592
21593         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
21594         a dynamic task if the allocator appears in an indexed assignment
21595         or selected component assignment.
21596
21597         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
21598         For a dynamic task in an assignment statement, use target of
21599         assignment to generate meaningful name.
21600
21601 2001-10-10  Ed Schonberg <schonber@gnat.com>
21602
21603         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
21604         a generic package.
21605
21606         * einfo.ads: Body_Entity is also defined for generic package.
21607         Documentation change only
21608
21609         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
21610         others_choice for a discriminated component initialization,
21611         convert discriminant references into the corresponding discriminals.
21612
21613         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
21614         only if original type is private and expression has to be wrapped
21615         in a conversion.
21616
21617         * checks.adb:
21618         (Apply_Constraint_Check): Do not perform length check
21619         if expression is an aggregate with only an others_choice.
21620         (Length_N_Cond): two references to the same in_parameter
21621         (typically the discriminal in an init_proc) denote the same value.
21622         Two useful optimization uncovered by bugfixes above.
21623
21624 2001-10-10  Robert Dewar <dewar@gnat.com>
21625
21626         * xeinfo.adb: Change int to char in translation of enumeration types.
21627         This fixes a problem in the C representation of component alignment.
21628         Add 2001 to copyright notice
21629
21630 2001-10-10  Richard Kenner <kenner@gnat.com>
21631
21632         * decl.c: (validate_size): Do check size of object of integral type
21633         if it is a packed array type.
21634
21635 2001-10-10  Richard Kenner <kenner@gnat.com>
21636
21637         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
21638         VAR_DECL for constant if not Is_Public but -O0.
21639
21640 2001-10-10  Richard Kenner  <kenner@gnat.com>
21641
21642         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
21643
21644 2001-10-10  Geert Bosch  <bosch@gnat.com>
21645
21646         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
21647         use '/' as switch character, allowing for absolute file names.
21648
21649 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
21650
21651         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
21652         FSF address.
21653
21654 2001-10-08  Geert Bosch  <bosch@gnat.com>
21655
21656         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
21657         Automatically build utilities when files need to be regenerated.
21658
21659 2001-10-08  Geert Bosch  <bosch@gnat.com>
21660
21661         * xsnames.adb: New utility for updating snames.ads and snames.adb
21662
21663 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
21664
21665         * Make-lang.in (ADAFLAGS): Add -W -Wall.
21666         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
21667         (gnat1): Also depend on attribs.o.
21668         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
21669         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
21670         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
21671         (ADAFLAGS): Add -W -Wall.
21672         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
21673         take out CFLAGS.
21674
21675         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
21676         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
21677         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
21678         Use $(ADAC), not $(CC), as compilation command.
21679
21680         (gnattools): Depend directly on tools to build, don't use
21681         recursive make.
21682         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
21683
21684         * einfo.h, sinfo.h: New files (autogenerated).
21685
21686 2001-10-08  Richard Henderson  <rth@redhat.com>
21687
21688         * comperr.adb (Abort_In_Progress): New.
21689         (Compiler_Abort): Use it to prevent recursion.
21690
21691 2001-10-08  Robert Dewar <dewar@gnat.com>
21692
21693         * atree.adb: Set Error_Posted in Error node, helps error recovery.
21694
21695         * par-endh.adb (Output_End_Expected): We should also not test
21696         Error_Posted on the Error node, since now it is always set.
21697
21698         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
21699         to help error recovery. Part of general work on 9407-004.
21700
21701         * par.adb: Add ??? for misuse of error
21702
21703         * sem_res.adb:
21704         (Resolve): Defend against Error, fixes 9407-003.
21705         (Resolve_Discrete_Subtype_Indication): Defend against Error.
21706
21707         * sinfo.ads (N_Error): Now has Etype field (which will be set
21708         to Any_Type to help error recovery).
21709
21710 2001-10-08  Richard Kenner (kenner@gnat.com)
21711
21712         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
21713         Consistently set MEM attributes from expression; fixes
21714         bootstrap failure on x86.
21715
21716 2001-10-08  Geert Bosch  (bosch@gnat.com)
21717
21718         * 5oosinte.adb: Add 2001 to copyright notice.
21719
21720 2001-10-08  Geert Bosch  (bosch@gnat.com)
21721
21722         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
21723
21724         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
21725
21726 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
21727
21728         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
21729
21730 2001-10-05  Geert Bosch  (bosch@gnat.com)
21731
21732         * adaint.h: Small formatting fix.
21733
21734 2001-10-04  Geert Bosch  <bosch@gnat.com>
21735
21736         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
21737         Arg is int, not FILE *, in dummy version of functions.
21738
21739         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
21740         Arg is int, not FILE *.
21741
21742 2001-10-04  Geert Bosch  <bosch@gnat.com>
21743
21744         * 3lsoccon.ads: Added file, missed with initial check ins.
21745
21746         * 4lintnam.ads: Fix header format.
21747         Change Linux to GNU/Linux.
21748
21749         * 5iosinte.adb: Change Linux to GNU/Linux.
21750
21751         * 5iosinte.ads: Change Linux to GNU/Linux.
21752
21753         * 5itaprop.adb: Change Linux to GNU/Linux.
21754
21755         * 5itaspri.ads: Change Linux to GNU/Linux.
21756         Update copyright notice.
21757
21758         * 5lintman.adb: Change Linux to GNU/Linux.
21759
21760         * 5lml-tgt.adb: Change Linux to GNU/Linux.
21761
21762         * 5losinte.ads: Change Linux to GNU/Linux.
21763
21764         * 5lsystem.ads: Change Linux to GNU/Linux.
21765
21766         * 5qosinte.adb: Change Linux to GNU/Linux.
21767
21768         * 5qosinte.ads: Change Linux to GNU/Linux.
21769
21770         * 5qparame.ads: Change Linux to GNU/Linux.
21771
21772         * 5qtaprop.adb: Change Linux to GNU/Linux.
21773
21774         * 5qtaspri.ads: Change Linux to GNU/Linux.
21775         Add 2001 to copyright notice.
21776
21777         * 5vintman.ads: Change Linux to GNU/Linux.
21778         Fix header format.  Add 2001 to copyright notice.
21779
21780         * g-soccon.ads: Change Linux to GNU/Linux.
21781
21782         * g-trasym.ads: Change Linux to GNU/Linux.
21783         Add 2001 to copyright notice.
21784
21785         * memtrack.adb: Change Linux to GNU/Linux.
21786
21787         * s-intman.ads: Change Linux to GNU/Linux.
21788         Add 2001 to copyright notice.  Fix header format.
21789
21790         * s-stache.adb: Change Linux to GNU/Linux.
21791
21792         * adaint.c: Change Linux to GNU/Linux.
21793
21794         * cio.c: Change Linux to GNU/Linux.
21795
21796         * cstreams.c: Change Linux to GNU/Linux.
21797
21798         * init.c: Change Linux to GNU/Linux.
21799
21800         * gmem.c: Change Linux to GNU/Linux.
21801
21802         * tracebak.c: Change Linux to GNU/Linux.
21803
21804
21805 2001-10-02  Geert Bosch  <bosch@gnat.com>
21806
21807         * misc.c (insert_default_attributes): Add dummy version.