OSDN Git Service

d418de5f577b214b9af5c4c2ebf5d64798b2a175
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2005-12-05  Paolo Bonzini  <bonzini@gnu.org>
2
3         * Makefile.in (gnatlib): Fix regex, using \. instead of . when
4         a period is meant.
5
6 2005-12-02  Richard Guenther  <rguenther@suse.de>
7
8         * trans.c (gnat_gimplify_expr): Use buildN instead of build.
9
10 2005-12-01  Roger Sayle  <roger@eyesopen.com>
11
12         * utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST
13         nodes.
14
15 2005-11-23  Laurent GUERBY  <laurent@guerby.net>
16
17         * mlib-prj.adb (Build_Library): Initialize Delete.
18
19 2005-11-21  Joel Sherrill <joel.sherrill@oarcorp.com>
20
21         * socket.c: Add extern int h_errno for rtems since networking header
22         files are not available at this point in a tool bootstrap. Newlib
23         only has basic C library header files.
24
25 2005-11-19  Richard Guenther  <rguenther@suse.de>
26         Roger Sayle  <roger@eyesopen.com>
27
28         PR ada/23717
29         * misc.c (internal_error_function): Don't use vsprintf to format
30         the error message text, instead use pp_format_text and the new
31         pretty printer APIs.  This allows handling of %qs, %w, etc.
32
33 2005-11-18  Laurent GUERBY  <laurent@guerby.net>
34
35         PR ada/24857
36         * Makefile.in: Use s-auxdec-empty for RTEMS.
37
38 2005-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
39
40         PR ada/22333
41         * trans.c (gnat_gimplify_expr, case ADDR_EXPR): Always make
42         a temporary if taking the address of something that is neither
43         reference, declaration, or constant, since the gimplifier
44         can't handle that case.
45
46 2005-11-17  Laurent GUERBY  <laurent@guerby.net>
47
48         PR ada/24857
49         * s-auxdec-empty.ads, s-auxdec-empty.adb: New files.
50         
51 2005-11-16  Richard Guenther  <rguenther@suse.de>
52
53         * Makefile.in: Add EH_MECHANISM=-gcc to s390(x) linux.
54
55 2005-11-16  Joel Sherrill <joel.sherrill@oarcorp.com>
56
57         PR ada/24855
58         * raise-gcc.c: Add missing stdarg.h include.
59  
60 2005-11-16  Richard Guenther  <rguenther@suse.de>
61
62         * Make-lang.in (ada/decl.o): Add $(EXPR_H) dependency.
63         (ada/misc.o): Likewise.
64
65 2005-11-14  Thomas Quinot  <quinot@adacore.com>
66
67         * g-soccon.ads: Minor reformatting. Update comments.
68
69         * gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
70         gain visibility on the declaration of struct timeval.
71
72         * g-soccon-freebsd.ads,
73         g-soccon-darwin.ads,
74         g-soccon-tru64.ads,
75         g-soccon-aix.ads,
76         g-soccon-irix.ads,
77         g-soccon-hpux.ads,
78         g-soccon-solaris.ads,
79         g-soccon-vms.ads,
80         g-soccon-mingw.ads,
81         g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.
82
83         * g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
84         g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
85         g-soccon-linux-x86.ads: New files.
86
87         * g-socthi-mingw.adb: 
88         (Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants
89
90         * g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
91         (time_t, suseconds_t): New types constructed to match the tv_sec
92         and tv_usec fields of C struct timeval.
93         (Timeval): Construct structure in terms of the new types.
94         (Host_Errno): New function (imported from socket.c), returns last hosts
95         database error.
96
97         * g-socthi-vxworks.adb:  Add error handling circuitry.
98
99         * g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
100         components of struct timeval.
101         (Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
102         (Check_Selector): In error conditions, clear internal socket sets to
103         avoid a memory leak.
104         (Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
105         Send_Timeout, Receive_Timeout.
106
107         * g-socthi.ads (time_t, suseconds_t): New types constructed to match
108         the tv_sec and tv_usec fields of C struct timeval.
109         (Timeval): Construct structure in terms of the new types.
110         (Host_Errno): New function (imported from socket.c), returns last hosts
111         database error.
112
113         * socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
114         hosts database last error code.
115
116         * gen-soccon.c: Complete value expansion should not be performed on
117         TARGET, as it has the form of a math expression, and some components
118         may be platform-defined macros.
119         For VxWorks, generate the OK and ERROR values.
120         New constants giving the sizes of the components of C struct timeval.
121
122 2005-11-14  Robert Dewar  <dewar@adacore.com>
123             Ed Schonberg  <schonberg@adacore.com>
124
125         PR ada/18434
126
127         * types.ads: Include All_Checks in Suppress_Array
128
129         * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
130         not(a=b), since we no longer do this rewriting, and hence it is not
131         needed.
132         (Elaboration_Checks_Suppressed): Add special casing to
133         deal with different cases of static and dynamic elaboration checks (all
134         checks does not count in the first case, but does in the second).
135         (Expr_Known_Valid): Do not assume that the result of any arbitrary
136         function call is valid, since this is not the case.
137         (Ensure_Valid): Do not apply validity check to a real literal
138         in a universal or fixed context
139
140         * exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
141         elementary types using the operator in standard. It is cleaner not to
142         modify the programmers intent, especially in the case of floating-point.
143         (Rewrite_Comparison): Fix handling of /= (this was always wrong, but
144         it did not matter because we always rewrote a/=b to not(a=b).
145         (Expand_Allocator_Expression): For an allocator expression whose nominal
146         subtype is an unconstrained packed type, convert the expression to its
147         actual constrained subtype.
148         Implement warning for <= or >= where < or > not possible
149         Fix to Vax_Float tests (too early in many routines, causing premature
150         Vax_Float expansions.
151
152         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
153         to be used with packages and generic packages as well as with
154         subprograms.
155         (Suppress): Set All_Checks, but not Elaboration_Check, for case
156         of pragma Suppress (All_Checks)
157         (Analyze_Pragma, case Warnings): Implement first argument allowed to be
158         a string literal for precise control over warnings.
159         Avoid raise of pragma in case of unrecognized pragma and just return
160         instead.
161
162         * sem_prag.ads: Minor reformatting
163
164         * switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
165         with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
166         Switch. Do not handle any exception.
167         Include -gnatwx as part of -gnatg (warn on redundant parens)
168         Allow optional = after -gnatm
169         (Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
170         longer sets Elaboration_Checks.
171         Code to set warning mode moved to Sem_Warn
172         so that it can be shared by pragma processing.
173
174         * s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
175         statement.
176
177         * s-taprop-solaris.adb: 
178         Change some <= to =, to avoid new warning
179
180         * a-exexda.adb, prj-proc.adb: 
181         Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
182         Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)
183
184 2005-11-14  Robert Dewar  <dewar@adacore.com>
185
186         * exp_vfpt.adb: Handle /= case
187         (Expand_Vax_Conversion): Properly recognize Conversion_OK flag
188         so that we do not get duplicate scaling for fixed point conversions.
189
190         * s-vaflop.ads, s-vaflop.adb: (Ne_F): New function
191
192 2005-11-14  Matthew Gingell  <gingell@adacore.com>
193
194         * system-lynxos-ppc.ads, system-lynxos-x86.ads: 
195         Increase default priority on Lynx from 15 to 17, and meet the Ada
196         requirement that Default_Priority be ((Priority'First +
197         Priority'Last) / 2) by increasing the range of Interrupt_Priority.
198
199 2005-11-14  Vincent Celier  <celier@adacore.com>
200
201         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
202         mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
203         mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
204         mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
205         mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
206         mlib-tgt-lynxos.adb (DLL_Prefix): New function
207
208 2005-11-14  Doug Rupp  <rupp@adacore.com>
209
210         * system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
211         private part.
212
213 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
214
215         * s-traces-default.adb, s-trafor-default.ads,
216         s-tratas-default.adb: Fix compilation errors.
217
218 2005-11-14  Jose Ruiz  <ruiz@adacore.com>
219
220         * s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
221         raising the exception so the memory used is freed.
222
223 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
224
225         * adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
226         (Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
227         (convert_address): Update comments and list of platforms using this.
228
229         * s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
230         no longer used.
231
232 2005-11-14  Pascal Obry  <obry@adacore.com>
233             Vincent Celier  <celier@adacore.com>
234
235         * gnatdll.adb (Parse_Command_Line): Remove redundant use of
236         GNAT.Command_Line.
237
238         * memroot.adb: Remove redundant with/use clause on
239         System.Storage_Elements.
240
241 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
242
243         * a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
244         (builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
245         related code to a-exexpr.adb
246         (Save_Occurrence_And_Private): Move GCC EH related code to
247         a-exexpr-gcc.adb
248         (Raise_Current_Excep): Add new variable Id with pragma
249         volatile, to ensure that the variable lives on stack.
250
251         * a-exexpr-gcc.adb, raise-gcc.c: New file.
252
253         * a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
254         from a-except.adb.
255         Move GCC EH related code to a-exexpr-gcc.adb
256
257         * Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
258         64-bit Solaris
259         Split the Linux version of g-soccon into separate variants for 32 and 64
260         bit platforms.
261         (gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
262         vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
263         install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
264         of host variable $(RANLIB_FLAGS).
265         (alpha64-dec-*vms*): Fix translations for 64 bit compiler.
266         Code clean up: remove unused/obsolete targets.
267         (EH_MECHANISM): New variable introduced to differenciate between the
268         two EH mechanisms statically.
269         (gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
270         (LIBGNAT_OBJS): Add raise-gcc.o
271         (LIBGNAT_TARGET_PAIRS for ppc-vxworks): Use an specialized version of
272         s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
273         supports VxWorks 6 RTPs.
274         (EXTRA_GNATRTL_NONTASKING_OBJS for ppc-vxworks): Remove the use of
275         i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
276
277         * raise.c: Move all GCC EH-related routines to raise-gcc.c
278
279 2005-11-14  Jose Ruiz  <ruiz@adacore.com>
280
281         * s-tassta.adb (Create_Task): Move the code in charge of resetting the
282         deferral level, when abort is not allowed, to a later stage (the
283         Task_Wrapper).
284         (Task_Wrapper): If Abort is not allowed, reset the deferral level since
285         it will not get changed by the generated code. It was previously done
286         in Create_Task.
287
288 2005-11-14  Thomas Quinot  <quinot@adacore.com>
289             Olivier Hainque  <hainque@adacore.com>
290             Eric Botcazou  <ebotcazou@adacore.com>
291
292         * decl.c:
293         Factor common code to build a storage type for an unconstrained object
294         from a fat or thin pointer type and a constrained object type.
295         (annotate_value): Handle BIT_AND_EXPR.
296         (annotate_rep): Don't restrict the back annotation of inherited
297         components to the type_annotate_only case.
298         (gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
299         we are not defining the type.
300         <E_Record_Type>: Likewise.
301         (gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
302         to get advantage of the new maybe_stabilize_reference interface, to
303         ensure that what we reference is indeed stabilized instead of relying
304         on assumptions on what the stabilizer does.
305         (gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
306         type imported through a limited_with clause, use its non-limited view.
307         (Has_Stdcall_Convention): New macro, to centralize the Windows vs others
308         differentiation.
309         (gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
310         of #if sections + explicit comparisons of convention identifiers.
311         (gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
312         before early-returning for certain types when code generation is
313         disabled.
314         (gnat_to_gnu_entity) <object>: Adjust comment attached to the
315         nullification of gnu_expr we do for objects with address clause and
316         that we are not defining.
317         (elaborate_expression_1): Do not create constants when creating
318         variables needed by the debug info: the dwarf2 writer considers that
319         CONST_DECLs is used only to represent enumeration constants, and emits
320         nothing for them.
321         (gnat_to_gnu_entity) <object>: When turning a non-definition of an
322         object with an address clause into an indirect reference, drop the
323         initializing expression.
324         Include "expr.h".
325         (STACK_CHECK_BUILTIN): Delete.
326         (STACK_CHECK_PROBE_INTERVAL): Likewise.
327         (STACK_CHECK_MAX_FRAME_SIZE): Likewise.
328         (STACK_CHECK_MAX_VAR_SIZE): Likewise.
329         (gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
330         corresponding to the renamed object as ignored for debugging purposes.
331
332         * trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
333         related): For a prefix that is a dereference of a fat or thin pointer,
334         if there is an actual subtype provided by the front-end, use that
335         subtype to build an actual type with bounds template.
336         (tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
337         is provided by the front-end, use that subtype to compute the size of
338         the deallocated object.
339         (gnat_to_gnu): When adding a statement into an elaboration procedure,
340         check for a potential violation of a No_Elaboration_Code restriction.
341         (maybe_stabilize_reference): New function, like gnat_stabilize_reference
342         with extra arguments to control whether to recurse through non-values
343         and to let the caller know if the stabilization has succeeded.
344         (gnat_stabilize_reference): Now a simple wrapper around
345         maybe_stabilize, for common uses without restriction on lvalues and
346         without need to check for the success indication.
347         (gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
348         pass false instead of 0 as the FORCE argument which is a bool.
349         (Identifier_to_gnu): Remove checks ensuring that an renamed object
350         attached to a renaming pointer has been properly stabilized, as no such
351         object is attached otherwise.
352         (call_to_gnu): Invoke create_var_decl to create the temporary when the
353         function uses the "target pointer" return mechanism.
354         Reinstate conversion of the actual to the type of the formal
355         parameter before any other specific treatment based on the passing
356         mechanism. This turns out to be necessary in order for PLACEHOLDER
357         substitution to work properly when the latter type is unconstrained.
358
359         * gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
360         common pattern.
361         (maybe_stabilize_reference): New function, like gnat_stabilize_reference
362         with extra arguments to control whether to recurse through non-values
363         and to let the caller know if the stabilization has succeeded.
364
365         * utils2.c (gnat_build_constructor): Only sort the fields for possible
366         static output of record constructor if all the components are constant.
367         (gnat_build_constructor): For a record type, sort the list of field
368         initializers in increasing bit position order.
369         Factor common code to build a storage type for an unconstrained object
370         from a fat or thin pointer type and a constrained object type.
371         (build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
372         types variants, and process special cases of VIEW_CONVERT expressions
373         as their NOP_EXPR counterpart to ensure we get to the
374         CORRESPONDING_VARs associated with CONST_DECls.
375         (build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
376         on the right-hand side.
377
378         * utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
379         a common pattern.
380         (convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
381         are converting back to its original type.
382         (convert) <JM input>: Fallthrough regular conversion code instead of
383         extracting the object if converting to a type variant.
384         (create_var_decl): When a variable has an initializer requiring code
385         generation and we are at the top level, check for a potential violation
386         of a No_Elaboration_Code restriction.
387         (create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
388         SIZE and SIZE_UNIT which we need for later back-annotations.
389         * utils.c: (convert) <STRING_CST>: Remove obsolete code.
390         <VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
391         is an unchecked union.
392         (pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
393         (convert) <VIEW_CONVERT_EXPR>: When the types have the same
394         main variant, just replace the VIEW_CONVERT_EXPR.
395         <UNION_TYPE>: Revert 2005-03-02 change.
396
397         * repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.
398
399         * repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.
400
401 2005-11-14  Matthew Heaney  <heaney@adacore.com>
402
403         * a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-convec.ads, 
404         a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohama.ads, a-cohama.adb, 
405         a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-cidlli.ads, 
406         a-cidlli.adb, a-cdlili.ads, a-cdlili.adb, a-coormu.adb, a-ciormu.adb, 
407         a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads, 
408         a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorma.adb, a-coorma.adb: 
409         Compiles against the spec for ordered maps described in sections
410         A.18.6 of the most recent (August 2005) AI-302 draft.
411
412 2005-11-14  Olivier Hainque  <hainque@adacore.com>
413
414         * cuintp.c (UI_To_gnu): Use a proper type for intermediate computations
415         to ensure bias adjustments take place when need be and to prevent
416         occurrences of intermediate overflows.
417
418 2005-11-14  Matthew Gingell  <gingell@adacore.com>
419             Olivier Hainque  <hainque@adacore.com>
420
421         * tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on
422         ia64 HP-UX.
423
424         * tracebak.c (ia64 configuration): Enable _Unwind_Backtrace driven
425         tracebacks on ia64 HP-UX and provide explanatory comment.
426         Enable backtraces on ia64 GNU/Linux.
427         (x86 configuration): Bump FRAME_LEVEL to 1 to ensure we retrieve a real
428         base pointer from builtin_frame_address. Adjust BASE_SKIP accordingly.
429
430 2005-11-14  Hristian Kirtchev  <kirtchev@adacore.com>
431             Javier Miranda  <miranda@adacore.com>
432
433         * rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
434         exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
435         exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
436         einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.
437
438         * a-tags.ads, a-tags.adb: Major rewrite and additions to implement
439         properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
440         assertions).
441
442         * exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
443         subprogram that generates the external name associated with a
444         secondary dispatch table.
445         (Get_Secondary_DT_External_Name): New subprogram that generates the
446         external name associated with a secondary dispatch table.
447
448 2005-11-14  Emmanuel Briot  <briot@adacore.com>
449
450         * xref_lib.adb (Parse_Identifier_Info): It is possible for an entity
451         line in the ALI file to include both an instantiation reference, and a
452         returned value.
453
454 2005-11-14  Vincent Celier  <celier@adacore.com>
455
456         * clean.adb (Check_Project): Look for Ada code in extending project,
457         even if Ada is not specified as a language.
458         Use new function DLL_Prefix for DLL_Name
459         (Clean_Interface_Copy_Directory): New procedure
460         (Clean_Library_Directory): New procedure
461         (Clean_Directory): Remove procedure, no longer used
462         (Clean_Project): Do not delete any file in an externally built project
463
464         * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object
465         directory of an extending project, even when there are no Ada source
466         present.
467         (Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path
468         (Set_Ada_Paths.Add.Recursive_Add): Ditto
469
470         * mlib-prj.adb (Check_Library): For all library projects, get the
471         library file timestamp.
472         (Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir
473         (Build_Library): Use new function DLL_Prefix for the DLL_Name
474         (Clean): Remove procedure, no longer used
475         (Ultimate_Extension_Of): New function
476         (Build_Library): When cleaning the library directory, only remove an
477         existing library file and any ALI file of a source of the project.
478         When cleaning the interface copy directory, remove any source that
479         could be a source of the project.
480
481         * prj.ads, prj.adb (Project_Empty): Add values of new components
482         Library_TS and All_Imported_Projects.
483         (Project_Empty): Add values for new components of Project_Data:
484         Library_ALI_Dir and Display_Library_ALI_Dir
485
486         * prj-attr.adb: New project level attribute name Library_ALI_Dir
487
488         * prj-nmsc.adb (Check_Library_Attributes): Take into account new
489         attribute Library_ALI_Dir.
490         (Check_Library_Attributes): The library directory cannot be the same as
491         any source directory of the project tree.
492         (Check_Stand_Alone_Library): The interface copy directory cannot be
493         the same as any source directory of the project tree.
494
495         * mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete
496         all temporary files.
497
498 2005-11-14  Robert Dewar  <dewar@adacore.com>
499             Ed Schonberg  <schonberg@adacore.com>
500
501         * sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
502         (Check_Elab_Call): A call within a protected body is never an
503         elaboration call, and does not require checking.
504         (Same_Elaboration_Scope): Take into account protected types for both
505         entities.
506         (Activate_Elaborate_All_Desirable): New procedure
507
508         * ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
509         desirable
510
511         * binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
512         (Elab_Error_Msg): Use -da to include internal unit links, not -de.
513
514         * lib-writ.ads, lib-writ.adb: 
515         Implement new AD/ED for Elaborate_All/Elaborate desirable
516         Use new Elaborate_All_Desirable flag in N_With_Clause node
517
518         * sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
519         N_Free_Statement nodes.
520         Define new class N_Subprogram_Instantiation
521         Add Elaborate_Desirable flag to N_With_Clause node
522         Add N_Delay_Statement (covering two kinds of delay)
523
524         * debug.adb: Introduce d.f flag for compiler
525         Add -da switch for binder
526
527 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
528             Cyrille Comar  <comar@adacore.com>
529
530         * exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity
531         for task component, in the case of a limited aggregate. The enclosed
532         object declaration will create it earlier. Otherwise, in the case of a
533         nested aggregate, the object may appear in the wrong scope.
534         (Convert_Aggr_In_Object_Decl): Create a transient scope when needed.
535         (Gen_Assign): If the component being assigned is an array type and the
536         expression is itself an aggregate, wrap the assignment in a block to
537         force finalization actions on the temporary created for each row of the
538         enclosing object.
539         (Build_Record_Aggr_Code): Significant rewrite insuring that ctrl
540         structures are initialized after all discriminants are set so that
541         they can be accessed even when their offset is dynamic.
542
543 2005-11-14  Robert Dewar  <dewar@adacore.com>
544             Hristian Kirtchev  <kirtchev@adacore.com>
545
546         * sem_attr.adb: Implement Machine_Rounding attribute
547         (Analyze_Access_Attribute): The access attribute may appear within an
548         aggregate that has been expanded into a loop.
549         (Check_Task_Prefix): Add semantic check for attribute 'Callable and
550         'Terminated whenever the prefix is of a task interface class-wide type.
551         (Analyze_Attribute): Add semantic check for attribute 'Identity whenever
552         the prefix is of a task interface class-wide type.
553
554         * s-vaflop-vms-alpha.adb: Valid_D, Valid_F, Valid_G: Make Val constant
555         to avoid warnings.
556
557         * s-fatgen.ads, s-fatgen.adb (Machine_Rounding): New function
558         Remove pragma Inline for [Unaligned_]Valid.
559         Add comments that Valid routines do not work for Vax_Float
560
561         * exp_attr.adb: Implement Machine_Rounding attribute
562
563         * snames.h: Add entry for Machine_Rounding attribute
564
565 2005-11-14  Javier Miranda  <miranda@adacore.com>
566             Robert Dewar  <dewar@adacore.com>
567             Hristian Kirtchev  <kirtchev@adacore.com>
568
569         * exp_attr.adb (Expand_N_Attribute_Reference, cases of Attribute_Size
570         and related): For a prefix that is an explicit dereference of an
571         access to unconstrained packed array type, annotate the dereference
572         with an actual subtype so GIGI can make a correct size computation.
573         (Expand_N_Attribute_Reference): In case of 'Unchecked_Access and
574         'Unrestricted_Access, if the designated type is an interface we
575         add a type conversion to force the displacement of the pointer
576         to the secondary dispatch table.
577         Use Universal_Real instead of Long_Long_Float when we need a high
578         precision float type for the generated code (prevents gratuitous
579         Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
580         (Expand_N_Attribute_Reference): Add support for attribute 'Callable and
581         'Terminated for task interface class-wide objects. Generate a call to
582         the predefined dispatching routine used to retrieve the _task_id from
583         a task corresponding record.
584         (Expand_Fpt_Attribute): Major change to properly handle Vax_Float
585
586         * sem_disp.adb: Change name Is_Package to Is_Package_Or_Generic_Package
587         (Check_Dispatching_Operation): Protect the frontend againts
588         previously detected errors.
589
590         * Makefile.rtl: Add new instantiations of system.fat_gen
591
592         * s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads: 
593         Change name of instantiated package for better consistency
594         with newly added system.fat_gen instantiations.
595
596         * s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads,
597         s-fvagfl.ads: New files.
598
599 2005-11-14  Cyrille Comar  <comar@adacore.com>
600             Thomas Quinot  <quinot@adacore.com>
601
602         * exp_ch5.adb (Expand_N_Assignment_Statement, Tagged_Case): For an
603         assignment of a value of a tagged type that has been rewritten to a
604         block statement, it is known by construction that no checks are
605         necessary for the statements within the block: analyze it with checks
606         suppressed.
607         (Expand_N_If_Statement): When killing a dead then-branch in an
608         if-statement that has elsif_parts, recompute the Current_Value node
609         for any entity whose value is known from the condition of the first
610         elsif_part.
611         (Expand_N_Return_Statement): When returning a mutable record, convert
612         the return value into its actual subtype in order to help the backend
613         to return the actual size instead of the maximum. This is another
614         aftermath of not returning mutable records on the sec-stack anymore.
615
616         * sem_ch5.ads, sem_ch5.adb (Analyze_Iteration_Scheme): Minor change to
617         handling of error msg for suspicious reverse range iteration.
618         (Check_Possible_Current_Value_Condition): Move declaration from body to
619         spec, to allow this subprogram to be called from exp_ch5.
620
621 2005-11-14  Thomas Quinot  <quinot@adacore.com>
622
623         * exp_dist.adb (Append_Array_Traversal): Modify constrained case to
624         generate a set of nested array aggregates instead of a single flat
625         aggregate for multi-dimensional arrays.
626
627 2005-11-14  Pascal Obry  <obry@adacore.com>
628
629         * expect.c (__gnat_kill) [Win32]: Fix implementation, the pid returned
630         by spawnve is a process handle, no need to convert. Add a parameter
631         close to control wether the process handle must be closed.
632         (__gnat_waitpid): Fix implementation, the pid returned by spawnve is
633         a process handle, not need to convert.
634         (__gnat_kill) [*]: Add dummy parameter close to match the Win32 spec.
635
636         * g-expect.adb: (Kill): Document the new close parameter.
637         (Close): Do not release the process handle in the kill there as
638         waitpid() is using it.
639         (Send_Signal): Release the process handle.
640
641 2005-11-14  Robert Dewar  <dewar@adacore.com>
642
643         * exp_fixd.adb: Use Universal_Real instead of Long_Long_Float when we
644         need a high precision float type for the generated code (prevents
645         gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
646         used).
647
648         * exp_imgv.adb: Use Universal_Real instead of Long_Long_Float when we
649         need a high precision float type for the generated code (prevents
650         gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
651         used).
652         (Expand_Width_Attribute): In configurable run-time, the attribute is not
653         allowed on non-static enumeration subtypes. Force a load error to emit
654         the correct diagnostic.
655
656 2005-11-14  Thomas Quinot  <quinot@adacore.com>
657             Robert Dewar  <dewar@adacore.com>
658             Ed Schonberg  <schonberg@adacore.com>
659
660         * exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual
661         subtype to compute the size of the designated object at run-time,
662         create such a subtype and store it in the Actual_Designated_Subtype
663         attribute of the N_Free_Statement.
664         Generate itype for classwide designated object in both cases of
665         user-specified storage pool: specific and class-wide, not only in the
666         specific case.
667         Raise CE when trying to set a not null access type object to null.
668         (Expand_Dispatching_Constructor_Call): Retrieve subprogram actual with
669         an explicit loop, because freeze nodes make its position variable.
670
671         * sem_intr.adb (Check_Intrinsic_Call): Given warning for freeing not
672         null object.
673
674 2005-11-14  Javier Miranda  <miranda@adacore.com>
675
676         * exp_strm.adb (Build_Stream_Attr_Profile, Build_Stream_Function,
677         Build_Stream_Procedure): Add the null-excluding attribute to the first
678         formal.
679         This has no semantic meaning under Ada95 mode but it is a
680         requirement under Ada05 mode.
681
682         * par-ch3.adb (P_Access_Definition): Addition of warning message if
683         the null exclusion is used under Ada95 mode
684         (P_Null_Exclusion): The qualifier has no semantic meaning in Ada 95.
685         (P_Access_Definition): Remove assertion that forbids the use of
686         the null-exclusion feature in Ada95.
687
688 2005-11-14  Robert Dewar  <dewar@adacore.com>
689
690         * impunit.adb: Exclude container helper units not intended for use by
691         users.
692
693 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
694
695         * freeze.adb (Freeze_Entity): For an access formal that is an access
696         to subprogram, freeze the anonymous subprogram type at the same time,
697         to prevent later freezing in the wrong scope, such as the enclosing
698         subprogram body.
699         (Freeze_Entity): Freeze the equivalent_type of an access_to_protected_
700         subprogram whenever available.
701
702 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
703
704         PR ada/23732
705         * gnatvsn.ads (Library_Version): Bump to 4.1
706
707 2005-11-14  Robert Dewar  <dewar@adacore.com>
708
709         * g-debpoo.adb (Set_Valid): Use Integer_Address instead of
710         Storage_Offset to avoid wrap around causing invalid results.
711
712 2005-11-14  Pascal Obry  <obry@adacore.com>
713
714         * gnatbind.adb (Is_Cross_Compiler): New function returning True for
715         cross-compiler.
716         (Scan_Bind_Arg): Fail with an error message if -M option is used
717         on a native compiler.
718
719 2005-11-14  Robert Dewar  <dewar@adacore.com>
720             Vincent Celier  <celier@adacore.com>
721
722         * gprep.adb: Implement -C switch to scan comments
723
724         * scng.adb: Scan comment symbol separately if Replace_In_Comments set
725
726         * scans.ads: Comment updates (including new use of Tok_Comment in
727         preprocessing)
728
729         * opt.ads: Add documentation for flags that are used by gprmake,
730         currently and in the next version of gprmake.
731         (Verbosity_Level): New variable
732         Add Replace_In_Comments switch
733
734         * vms_data.ads: Add VMS equivalent for new gnatmake switches -vl, -vm
735         and -vm.
736         Add /REPLACE_IN_COMMENTS for gnatprep -C switch
737
738 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
739
740         * g-regpat.adb (Fail): raise Expression_Error including the diagnostic
741         message, friendlier.
742
743 2005-11-14  Robert Dewar  <dewar@adacore.com>
744
745         * g-spitbo.adb: (Hash): Rotate by 3 instead of 1
746
747 2005-11-14  Doug Rupp  <rupp@adacore.com>
748
749         * init.c [VMS]: Don't install __gnat_error_handler if DBG$TDBG defined.
750
751 2005-11-14  Robert Dewar  <dewar@adacore.com>
752
753         * interfac.ads: Change declarations of IEEE float types so that we no
754         longer need a separate version of this package for VMS.
755
756 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
757
758         * lib-xref.adb (Generate_Definition, Generate_Reference): Treat the
759         internal entity created for the declaration of a child subprogram body
760         with no spec as coming from source, to generate proper cross-reference
761         information.
762
763 2005-11-14  Vincent Celier  <celier@adacore.com>
764
765         * make.adb (Compile_Sources): Change verbose message to minimum
766         verbosity level High for "is in an Ada library", "is a read-only
767         library" and "is an internal library",
768         (Create_Binder_Mapping_File): Path name of ALI file for library project
769         must include the library directory, not the object directory.
770         (Scan_Make_Arg): Make sure that Switch.M.Scan_Make_Switches is called
771         for new switches -vl, -vm and -vh.
772         (Verbose_Msg): Add new defaulted parameter Minimum_Verbosity
773         (Check): Use minimum verbosity Medium for some Verbose_Msg calls
774         (Compile_Sources): Do not attempt to compile if an ALI file is missing
775         in a project that is externally built.
776         (Compute_All_Imported_Projects): New procedure
777         (Gnatmake): Check if importing libraries should be regenerated because
778         at least an imported library is more recent.
779         (Initialize): For each project compute the list of the projects it
780         imports directly or indirectly.
781         (Add_Library_Search_Dir): New procedure, used in place of
782         Add_Lib_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
783         put in the search paths.
784         (Add_Source_Search_Dir): New procedure, used in place of
785         Add_Src_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
786         put in the search paths.
787         (Mark_Directory): Resolve the absolute path the directory before marking
788         it.
789
790         * switch-m.adb (Scan_Make_Switches): Replace "raise Bad_Switch;" with
791         call to new procedure Bad_Switch. Call Scan_Pos with new parameter
792         Switch. Do not handle any exception.
793         (Scan_Make_Switches): Increment Ptr for new switches -vl, -vm and -vh
794         so that the switch is recognized as valid.
795         (Scan_Make_Switches): Implement new switches -vl, -vm and -vh.
796
797 2005-11-14  GNAT Script  <nobody@adacore.com>
798
799         * Make-lang.in: Makefile automatically updated
800
801 2005-11-14  Pascal Obry  <obry@adacore.com>
802
803         * mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is
804         used.
805         (Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used.
806         In both cases the last argument was dropped.
807
808 2005-11-14  Eric Botcazou  <ebotcazou@adacore.com>
809
810         * namet.h: (Column_Numbe): New type.
811         (Get_Column_Number): Define to sinput__get_column_number.
812         (Instantiation): Define to sinput__instantiation.
813         (Get_Column_Number): Declare.
814         (Instantiation): Likewise.
815
816 2005-11-14  Robert Dewar  <dewar@adacore.com>
817
818         * par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit
819         syntax, which could cause compiler hangs.
820
821 2005-11-14  Vincent Celier  <celier@adacore.com>
822
823         * prj-ext.adb: Take into account new environment variable
824         GPR_PROJECT_PATH. Warn if both GPR_PROJECT_PATH and ADA_PROJECT_PATH
825         are defined.
826         (Prj.Ext elaboration): For each directory in the ADA_PROJECT_PATH,
827         normalize its path name, making it absolute and resolving symbolic
828         links, and replace the original if resolved path is different.
829
830 2005-11-14  Vincent Celier  <celier@adacore.com>
831
832         * prj-part.adb (Create_Virtual_Extending_Project): Put virtual project
833         into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS.
834
835 2005-11-14  Emmanuel Briot  <briot@adacore.com>
836
837         * prj-pp.adb (Print): Do not output the with statement if the
838         associated name is empty, which happens for virtual extending projects.
839         (Print): Preserve the "extends all" attribute when printing the project.
840
841         * prj-tree.ads (String_Value_Of): Add comment about returned value for
842         a virtual extending project.
843
844 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
845
846         * sem_aggr.adb (Resolve_Aggregate): An others choice is legal on the
847         rhs of an assignment even if the type is unconstrained, when the
848         context is non-expanding.
849         In an inlined body, if the context type is private,
850         resolve with its full view, which must be a composite type.
851
852 2005-11-14  Robert Dewar  <dewar@adacore.com>
853             Ed Schonberg  <schonberg@adacore.com>
854
855         * sem_ch10.adb: Change name Is_Package to Is_Package_Or_Generic_Package
856         Do not give obsolescent warning on with of subprogram (since we
857         diagnose calls)
858         (Analyze_With_Clause): Add test for obsolescent package
859         (Install_Context_Clauses): If the unit is the body of a child unit, do
860         not install twice the private declarations of the parents, to prevent
861         circular lists of Use_Clauses in a parent.
862         (Implicit_With_On_Parent): Do add duplicate with_clause on parent when
863         compiling body of child unit.
864         Use new class N_Subprogram_Instantiation
865         (Expand_With_Clause): If this is a private with_clause for a child unit,
866         appearing in the context of a package declaration, then the implicit
867         with_clauses generated for parent units are private as well.
868         (License_Check): Do not generate message if with'ed unit is internal
869
870 2005-11-14  Gary Dismukes  <dismukes@adacore.com>
871             Ed Schonberg  <schonberg@adacore.com>
872             Thomas Quinot  <quinot@adacore.com>
873
874         * sem_ch12.ads, sem_ch12.adb (Map_Entities): Exclude entities whose
875         names are internal, because they will not have a corresponding partner
876         in the actual package.
877         (Analyze_Formal_Package): Move the setting of the formal package spec's
878         Generic_Parent field so that it occurs prior to analyzing the package,
879         to allow proper operation of Install_Parent_Private_Declarations.
880         (Analyze_Package_Instantiation): Set the instantiated package entity's
881         Package_Instantiation field.
882         (Get_Package_Instantiation_Node): Move declaration to package spec.
883         Retrieve the N_Package_Instantiation node when the Package_Instantiation
884         field is present.
885         (Check_Generic_Child_Unit): Within an inlined call, the only possible
886         instantiation is Unchecked_Conversion, for which no parents are needed.
887         (Inline_Instance_Body): Deinstall and record the use_clauses for all
888         parent scopes of a scope being removed prior to inlining an instance
889         body.
890         (Analyze_Package_Instantiation): Do not perform front-end inlining when
891         the current context is itself an instance within a non-instance child
892         unit, to prevent scope stack errors.
893         (Save_References): If the node is an aggregate that is an actual in a
894         call, rewrite as a qualified expression to preserve some type
895         information, to resolve possible ambiguities in the instance.
896         (Instance_Parent_Unit): New global variable to record the ultimate
897         parent unit associated with a generic child unit instance (associated
898         with the existing Parent_Unit_Visible flag).
899         (type Instance_Env): New component Instance_Parent_Unit for stacking
900         parents recorded in the global Instance_Parent_Unit.
901         (Init_Env): Save value of Instance_Parent_Unit in the Instance_Env
902         stack.
903         (Install_Spec): Save the parent unit entity in Instance_Parent_Unit when
904         it's not a top-level unit, and only do this if Instance_Parent_Unit is
905         not already set. Replace test of Is_Child_Unit with test of parent's
906         scope against package Standard. Add comments and a ??? comment.
907         (Remove_Parent): Revise condition for resetting Is_Immediately_Visible
908         on a child instance parent to test that the parent equals
909         Instance_Parent rather than simply checking that the unit is not a
910         child unit.
911         (Restore_Env): Restore value of Instance_Parent_Unit from Instance_Env.
912         (Validate_Derived_Interface_Type_Instance): Verify that all ancestors of
913         a formal interface are ancestors of the corresponding actual.
914         (Validate_Formal_Interface_Type): Additional legality checks.
915         (Analyze_Formal_Derived_Interface_Type): New procedure to handle formal
916         interface types with ancestors.
917         (Analyze_Formal_Package): If formal is a renaming, use renamed entity
918         to diagnose attempts to use generic within its own declaration.
919
920 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
921             Javier Miranda  <miranda@adacore.com>
922
923         * sem_ch3.ads, sem_ch3.adb (Build_Discriminal): Add link to original
924         discriminant.
925         (Build_Private_Derived_Type): The entity of the created full view of the
926         derived type does not come from source. If after installing the private
927         declarations of the parent scope the parent is still private, use its
928         full view to construct the full declaration of the derived type.
929         (Build_Derived_Record_Type): Relax the condition that controls the
930         execution of the check that verifies that the partial view and
931         the full view agree in the set of implemented interfaces. In
932         addition, this test now only takes into account the progenitors.
933         (Derive_Interface_Subprograms): No need to derive subprograms
934         of ancestors that are interfaces.
935         (Derive_Subprograms): Remove formal No_Predefined_Prims and the
936         associated code.
937         Change name Is_Package to Is_Package_Or_Generic_Package
938         (Complete_Subprograms_Derivation): Handle the case in which the full
939         view is a transitive derivation of the ancestor of the partial view.
940         (Process_Full_View): Rename local subprogram Find_Interface_In_
941         Descendant to Find_Ancestor_Interface to leave the code more clear.
942         Remove wrong code that avoids the generation of an error message
943         when the immediate ancestor of the partial view is an interface.
944         In addition some minor reorganization of the code has been done to
945         leave it more clear.
946         (Analyze_Type_Declaration): If type has previous incomplete tagged
947         partial view, inherit properly its primitive operations.
948         (Collect_Interfaces): Make public, for analysis of formal
949         interfaces.
950         (Analyze_Interface_Declaration): New procedure for use for regular and
951         formal interface declarations.
952         (Build_Derived_Record_Type): Add support for private types to the code
953         that checks if a tagged type implements abstract interfaces.
954         (Check_Aliased_Component_Type): The test applies in the spec of an
955         instance as well.
956         (Access_Type_Declaration): Clean up declaration of malformed type
957         declared as an access to its own classwide type, to prevent cascaded
958         crash.
959         (Collect_Interfaces): For private extensions and for derived task types
960         and derived protected types, the parent may be an interface that must
961         be included in the interface list.
962         (Access_Definition): If the designated type is an interface that may
963         contain tasks, create Master_Id for it before analyzing the expression
964         of the declaration, which may be an allocator.
965         (Record_Type_Declaration): Set properly the interface kind, for use
966         in allocators, the creation of master id's for task interfaces, etc.
967
968 2005-11-14  Javier Miranda  <miranda@adacore.com>
969             Ed Schonberg  <schonberg@adacore.com>
970
971         * sem_ch6.adb (Check_Conformance): The null-exclusion feature can be
972         omitted in case of stream attribute subprograms.
973         (Check_Inline_Pragma): Handle Inline and Inline_Always pragmas that
974         appear immediately after a subprogram body, when there is no previous
975         subprogram declaration.
976         Change name Is_Package to Is_Package_Or_Generic_Package
977         (Process_Formals): A non null qualifier on a non null named access
978         type is not an error, and is a warning only if Redundant_Constructs
979         are flagged.
980
981 2005-11-14  Gary Dismukes  <dismukes@adacore.com>
982             Ed Schonberg  <schonberg@adacore.com>
983
984         * sem_ch7.adb (Install_Parent_Private_Declarations): New procedure
985         nested within Analyze_Package_Specification to install the private
986         declarations and use clauses within each of the parent units of a
987         package instance of a generic child package.
988         (Analyze_Package_Specification): When entering a private part of a
989         package associated with a generic instance or formal package, the
990         private declarations of the parent must be installed (by calling new
991         procedure Install_Parent_Private_Declarations).
992         Change name Is_Package to Is_Package_Or_Generic_Package
993         (Preserve_Full_Attributes): For a synchronized type, the corresponding
994         record is absent in a generic context, which does not indicate a
995         compiler error.
996
997 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
998
999         * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic context, do
1000         not try to rewrite a renamed stream attribute, because the operations
1001         on the type may not have been generated.
1002         Handle properly a renaming_as_body generated for a stream operation
1003         whose default is abstract because the object type itself is abstract.
1004         (Find_Type): If the type is incomplete and appears as the prefix of a
1005         'Class reference, it is tagged, and its list of primitive operations
1006         must be initialized properly.
1007         (Chain_Use_Clauses): When chaining the use clauses that appear in the
1008         private declaration of a parent unit, prior to compiling the private
1009         part of a child unit, find on the scope stack the proper parent entity
1010         on which to link the use clause.
1011         (Note_Redundant_Use): Emit a warning when a redundant use clause is
1012         detected.
1013         (Analyze_Object_Renaming): An attribute reference is not a legal object
1014         if it is not a function call.
1015
1016 2005-11-14  Robert Dewar  <dewar@adacore.com>
1017             Ed Schonberg  <schonberg@adacore.com>
1018
1019         * sem_eval.adb: Implement d.f flag
1020         (Subtype_Statically_Match): A generic actual type has unknown
1021         discriminants when the corresponding actual has a similar partial view.
1022         If the routine is called to validate the signature of an inherited
1023         operation in a child instance, the generic actual matches the full view,
1024
1025 2005-11-14  Hristian Kirtchev  <kirtchev@adacore.com>
1026             Ed Schonberg  <schonberg@adacore.com>
1027             Robert Dewar  <dewar@adacore.com>
1028             Thomas Quinot  <quinot@adacore.com>
1029
1030         * sem_res.adb (Resolve_Call): Provide a better error message whenever
1031         a procedure call is used as a select statement trigger and is not an
1032         entry renaming or a primitive of a limited interface.
1033         (Valid_Conversion): If the operand has a single interpretation do not
1034         remove address operations.
1035         (Check_Infinite_Recursion): Skip freeze nodes when looking for a raise
1036         statement to inhibit warning.
1037         (Resolve_Unary_Op): Do not produce a warning when
1038         processing an expression of the form -(A mod B)
1039         Use Universal_Real instead of Long_Long_Float when we need a high
1040         precision float type for the generated code (prevents gratuitous
1041         Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
1042         (Resolve_Concatenation_Arg): Improve error message when argument is an
1043         ambiguous call to a function that returns an array.
1044         (Make_Call_Into_Operator, Operand_Type_In_Scope): Do not check that
1045         there is an implicit operator in the given scope if we are within an
1046         instance: legality check has been performed on the generic.
1047         (Resolve_Unary_Op): Apply warnings checks on argument of Abs operator
1048         after resolving operand, to avoid false warnings on overloaded calls.
1049
1050 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
1051             Javier Miranda  <miranda@adacore.com>
1052
1053         PR ada/15604
1054
1055         * sem_type.adb (Covers): In an inlined body, a composite type matches
1056         a private type whose full view is a composite type.
1057         (Interface_Present_In_Ancestor): Protect the frontend against
1058         previously detected errors to ensure that its compilation
1059         with assertions enabled gives the same output that its
1060         compilation without assertions.
1061         (Interface_Present_In_Ancestor): Add support for private types.
1062         Change name In_Actual to In_Generic_Actual (clean up)
1063         (Disambiguate): New predicate In_Actual, to recognize expressions that
1064         appear in the renaming declaration generated for generic actuals, and
1065         which must be resolved in the outer context.
1066
1067 2005-11-14  Robert Dewar  <dewar@adacore.com>
1068             Thomas Quinot  <quinot@adacore.com>
1069             Hristian Kirtchev  <kirtchev@adacore.com>
1070             Ed Schonberg  <schonberg@adacore.com>
1071
1072         * sem_util.ads, sem_util.adb: Change name Is_Package to
1073         Is_Package_Or_Generic_Package.
1074         (Check_Obsolescent): New procedure.
1075         (Set_Is_Public): Remove obsolete junk test.
1076         (Set_Public_Status): Do not set Is_Public on an object whose declaration
1077         occurs within a handled_sequence_of_statemets.
1078         (Is_Controlling_Limited_Procedure): Factor some of the logic, account
1079         for a parameterless procedure.
1080         (Enter_Name): Recognize renaming declarations created for private
1081         component of a protected type within protected operations, so that
1082         the source name of the component can be used in the debugger.
1083
1084 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
1085             Robert Dewar  <dewar@adacore.com>
1086
1087         * sem_warn.ads, sem_warn.adb (Publicly_Referenceable): Generic formals
1088         of a generic subprogram are not visible outside the body.
1089         (Set_Warning_Switch): New procedure (code to set warning mode moved
1090         here from Switch.C so that it can be shared by pragma processing.
1091         (Check_References): Special case warning for non-modified non-imported
1092         volatile objects.
1093         * par-prag.adb: Modify processing of pragma Warnings to accomodate new
1094         form with a string literal argument
1095
1096 2005-11-14  Javier Miranda  <miranda@adacore.com>
1097
1098         * s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the
1099         anonymous access.
1100         (Write): Addition of "not null" to the anonymous access.
1101         (Read): Addition of "not null" to the anonymous access.
1102         (Write): Addition of "not null" to the anonymous access.
1103
1104         * s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F,
1105         I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU,
1106         I_SU, I_U, I_WC): Addition of "not null" to the anonymous access.
1107         (W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU,
1108         W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of
1109         "not null" to the anonymous access.
1110
1111 2005-11-14  Robert Dewar  <dewar@adacore.com>
1112
1113         * s-stoele.adb: Fix code for Address mod Storage_Offset for negative
1114         offset values
1115
1116 2005-11-14  Vincent Celier  <celier@adacore.com>
1117
1118         * switch.adb (Bad_Switch): New procedure
1119         (Scan_Nat, Scan_Pos): Directly call Osint.Fail with the appropriate
1120         message when in error.
1121
1122         * switch.ads (Bad_Switch, Bad_Switch_Value, Missing_Switch_Value,
1123         Too_Many_Output_Files): Remove declarations, no longer used.
1124         (Scan_Nat): New parameter Switch
1125         (Scan_Pos): Ditto
1126         (Bad_Switch): New procedure
1127
1128         * switch-b.adb (Scan_Binder_Switches): Replace "raise Bad_Switch;"
1129         with call to new procedure Bad_Switch. Call Scan_Pos and Scan_Natwith
1130         new parameter Switch. Replace "raise Too_Many_Output_Files;" with call
1131         to Osint.Fail. Do not handle any exception.
1132
1133 2005-11-14  Vincent Celier  <celier@adacore.com>
1134
1135         * tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it
1136         designates a non existent directory.
1137
1138 2005-11-14  Robert Dewar  <dewar@adacore.com>
1139
1140         * xgnatugn.adb: Replace invalid membership test by 'Valid
1141
1142 2005-11-14  Vincent Celier  <celier@adacore.com>
1143
1144         * makegpr.adb (Gprmake): Do not attempt to build the global archive if
1145         there is no object directory.
1146
1147 2005-11-14  Robert Dewar  <dewar@adacore.com>
1148
1149         * usage.adb: Minor adjustment to output format, use nn instead of nnn
1150         (so that -gnateInnn does not run into next column)
1151
1152 2005-11-14  Ed Falis  <falis@adacore.com>
1153
1154         * s-bitops.adb (Bits_Array): corrected comment: "unconstrained" =>
1155         "constrained"
1156
1157 2005-11-14  Cyrille Comar  <comar@adacore.com>
1158
1159         * s-chepoo.ads: Add comments on Dereference.
1160         Remove unnecessary inherited abstract primitives.
1161         Cosmetic cleanup.
1162
1163 2005-11-14  Robert Dewar  <dewar@adacore.com>
1164
1165         * sem_cat.ads (Validate_Access_Type_Declaration): Remove declaration
1166         node parameter, not needed, since it is available as Declaration_Node.
1167
1168 2005-11-14  Geert Bosch  <bosch@adacore.com>
1169
1170         * s-exnllf.adb (Exn_LLF): Fix comment to be more precise and
1171         grammatically correct.
1172
1173 2005-11-14  Vincent Celier  <celier@adacore.com>
1174
1175         * s-fileio.ads: Correct spelling error in comment
1176
1177 2005-11-14  Cyrille Comar  <comar@adacore.com>
1178             Robert Dewar  <dewar@adacore.com>
1179             Vincent Celier  <celier@adacore.com>
1180             Ben Brosgol  <brosgol@adacore.com>
1181             Jose Ruiz  <ruiz@adacore.com>
1182             Pascal Obry  <obry@adacore.com>
1183
1184         * gnat_ugn.texi: 
1185         Document that -fstack-check is needed for strict compliance with the
1186         Ada 95 Reference Manual.
1187         Correct reference to VAX systems to meet HP guidelines
1188         Add documentation for new gnatmake switches -vl, -vm and -vh
1189         Replace DEC Ada by HP Ada
1190         Replace DIGITAL by HP
1191         Remove empty section on tools in compatibility section
1192         Clarify the Windows convention semantics.
1193         Document the Win32 calling convention.
1194         The Stdcall, Win32 and DLL convention are synonyms.
1195         Add a note in -gnatR description about zero size record components
1196         Note on new >= and <= warnings for -gnatwc
1197         Document that equal sign after -gnatm is optional.
1198         Note that strip is working fine on DLL built with a Library
1199         Project. The restriction apply only to DLL built with gnatdll.
1200         Update section about the way to debug a DLL.
1201         Update information about the DLL convention.
1202         Document -C switch for gnatprep
1203         Document new attribute Library_ALI_Dir
1204         Update elaboration doc to include implicit Elaborate pragmas now
1205         generated for subprogram instantiations.
1206         Document limitation on executable names that include spaces for --GCC,
1207         --GNATBIND, and --GNATLINK switches.
1208         Document that -w causes -gnatws to be added at start of gcc switches
1209
1210         * gnat_rm.texi: Document that -mieee is needed for generating infinite
1211         and NaN values in case of overflow on machines that are not fully
1212         compliant with the IEEE floating-point standard.
1213         Create a section describing the set of compiler options needed for
1214         strict compliance with the Ada 95 Reference Manual.
1215         Add documentation for pragma Obsolescent applied to a package
1216         Clarify potential issues of mixed language programs related to the
1217         I/O buffering enabling in the elaboration of the GNAT runtime.
1218         Add extra documentation for pragma Restrictions (No_Elaboration_Code)
1219         This documentation only patch adds extra documentsion for pragma
1220         Restrictions (No_Elaboration_Code), explaining why it is not possible
1221         to document this restriction in terms of allowed source constructs.
1222         Document string literal form of pragma Warnings
1223         Document new attribute Library_ALI_Dir
1224         Add documentation on stable attributes in project files that was missing
1225
1226         * gnat-style.texi: Indicate that paragraphs within a single comment
1227         should be separated by empty comment lines
1228
1229         * ug_words: Added replacements for -gnat95 and -gnat05 (/95 and
1230         /05 respectively)
1231
1232         * bindusg.adb: Minor cleanup, put -m before -M for consistency
1233
1234 2005-11-14  Robert Dewar  <dewar@adacore.com>
1235
1236         * a-secain.adb, a-slcain.adb, a-shcain.adb, a-chtgke.ads, a-chtgke.adb,
1237         a-stwiha.adb, a-strhas.adb, a-chzla1.ads, a-chzla9.ads, a-stzbou.adb,
1238         a-stzbou.ads, a-stzfix.adb, a-stzhas.adb, a-stzmap.adb, a-stzmap.ads,
1239         a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads, a-stzunb.adb,
1240         a-stzunb.ads, a-szuzha.adb, a-szuzha.ads, a-szuzti.adb, a-szuzti.ads,
1241         a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb, a-ztcstr.adb, a-ztcstr.ads,
1242         a-ztdeau.adb, a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
1243         a-ztedit.ads, a-ztenau.ads, a-ztenio.adb, a-ztenio.ads, a-ztexio.adb,
1244         a-ztexio.ads, a-ztfiio.adb, a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads,
1245         a-ztflio.adb, a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
1246         a-ztinau.ads, a-ztinio.adb, a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads,
1247         a-zttest.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-alpha.adb,
1248         g-enblsp-vms-ia64.adb, g-enblsp-vms-ia64.adb, system-linux-hppa.ads,
1249         a-chacon.adb, a-chacon.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
1250         a-zchuni.ads, g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb,
1251         system-hpux-ia64.ads, g-soccon-unixware.ads, g-soliop-unixware.ads,
1252         g-soccon-interix.ads, g-soliop-solaris.ads, g-eacodu-vms.adb,
1253         g-expect-vms.adb, g-socthi-vms.adb, g-soliop-mingw.ads,
1254         a-intnam-unixware.ads, a-intnam-lynxos.ads, a-intnam-tru64.ads,
1255         a-intnam-aix.ads, a-intnam-linux.ads, a-intnam-linux.ads,
1256         a-intnam-dummy.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
1257         a-intnam-solaris.ads, a-calend-vms.adb, a-calend-vms.ads,
1258         a-intnam-vms.ads, a-calend-mingw.adb, a-intnam-mingw.ads,
1259         a-intnam-vxworks.ads, a-numaux-vxworks.ads, system-unixware.ads,
1260         system-linux-ia64.ads, a-intnam-freebsd.ads, system-freebsd-x86.ads,
1261         system-lynxos-ppc.ads, system-linux-x86_64.ads, a-stunha.adb,
1262         a-cgaaso.ads, a-cgaaso.adb, a-chtgop.adb, a-cgcaso.adb, a-cgarso.adb,
1263         a-cohata.ads, a-crbtgk.adb, a-crbltr.ads, a-coprnu.adb, a-rbtgso.adb,
1264         a-intnam-darwin.ads, system-darwin-ppc.ads, gprmake.adb, makegpr.ads,
1265         system-tru64.ads, system-aix.ads, system-solaris-x86.ads,
1266         system-irix-o32.ads, s-interr-sigaction.adb, system-irix-n32.ads,
1267         s-parame-mingw.adb, system-hpux.ads, s-traceb-hpux.adb,
1268         system-linux-x86.ads, s-inmaop-dummy.adb, system-os2.ads,
1269         system-interix.ads, system-solaris-sparc.ads,
1270         system-solaris-sparcv9.ads, s-inmaop-vms.adb,
1271         s-mastop-vms.adb, expander.adb, expander.ads, s-gloloc-mingw.adb,
1272         system-mingw.ads, system-vms-zcx.ads, s-osinte-fsu.adb,
1273         s-traceb-mastop.adb, a-exextr.adb, a-exstat.adb, a-filico.ads,
1274         a-finali.ads, a-interr.ads, a-intsig.adb, a-intsig.ads,
1275         a-except.ads, a-numaux-x86.ads, a-astaco.adb, a-calend.adb,
1276         a-calend.ads, a-chahan.adb, a-chahan.ads, a-chlat9.ads,
1277         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
1278         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
1279         a-elchha.adb, a-decima.adb, a-decima.ads, a-diocst.ads,
1280         a-direio.adb, a-direio.ads, a-excach.adb, a-excach.adb,
1281         a-exctra.ads, ali-util.adb, a-ngcefu.adb, a-ngcoty.adb,
1282         a-ngcoty.ads, a-nudira.adb, a-nudira.ads, a-nuflra.adb,
1283         a-numaux.ads, a-reatim.ads, a-sequio.adb, a-sequio.ads,
1284         a-siocst.ads, a-ssicst.ads, a-stmaco.ads, a-storio.adb,
1285         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
1286         a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads,
1287         a-strsup.adb, a-strsup.ads, a-strunb.adb, a-strunb.ads,
1288         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb,
1289         a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwisu.adb,
1290         a-stwisu.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb,
1291         a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads,
1292         a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
1293         a-taside.ads, a-teioed.adb, a-textio.adb, a-textio.ads,
1294         a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tideau.adb,
1295         a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
1296         a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
1297         a-tiinio.adb, a-timoau.adb, a-timoio.adb, a-timoio.ads,
1298         a-tiocst.ads, a-titest.adb, atree.adb, a-witeio.adb,
1299         a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb,
1300         a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtedit.adb,
1301         a-wtedit.ads, a-wtenau.adb, a-wtenio.adb, a-wtfiio.adb,
1302         a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
1303         a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, back_end.adb,
1304         bindgen.adb, butil.adb, butil.ads, checks.ads, cio.c, comperr.adb,
1305         csets.ads, cstand.adb, debug.ads, elists.ads, errno.c, errout.adb,
1306         errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
1307         errutil.ads, err_vars.ads, eval_fat.adb, exp_ch11.adb, exp_ch11.ads,
1308         exp_ch2.adb, exp_ch7.ads, exp_imgv.ads, exp_pakd.adb, exp_prag.adb,
1309         exp_prag.ads, exp_tss.adb, exp_tss.ads, exp_vfpt.ads, fe.h, fmap.adb,
1310         freeze.ads, frontend.adb, frontend.ads, g-arrspl.adb, g-arrspl.ads,
1311         g-awk.adb, g-awk.ads, g-boumai.ads, g-calend.adb, g-calend.ads,
1312         g-catiio.adb, g-comlin.adb, g-comlin.ads, g-comlin.ads, g-comlin.ads,
1313         g-comver.adb, g-crc32.adb, g-crc32.ads, g-ctrl_c.ads, g-curexc.ads,
1314         g-debpoo.ads, g-debuti.adb, g-diopit.adb, g-diopit.ads, g-dirope.adb,
1315         g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-excact.adb, g-excact.ads,
1316         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.ads, g-flocon.ads,
1317         g-hesorg.ads, g-io.adb, g-locfil.ads, g-md5.adb, g-md5.ads, g-md5.ads,
1318         g-moreex.adb, g-signal.ads, g-signal.adb, gnatbind.ads, gnatchop.adb,
1319         gnatcmd.adb, gnatfind.adb, gnatlbr.adb, gnatmake.ads, gnatmem.adb,
1320         gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, g-os_lib.adb,
1321         g-os_lib.ads, g-pehage.adb, g-pehage.ads, gprep.ads, g-regexp.adb,
1322         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.ads, g-semaph.adb,
1323         g-socthi.adb, g-soliop.ads, g-spipat.adb, g-spipat.ads, g-sptabo.ads,
1324         g-sptain.ads, g-sptavs.ads, g-string.ads, g-tasloc.adb, g-tasloc.ads,
1325         g-trasym.adb, g-trasym.ads, i-fortra.adb, i-fortra.ads, inline.adb,
1326         layout.adb, live.adb, make.ads, makeutl.ads, makeutl.adb, mdll-fil.adb,
1327         mdll-fil.ads, mdll-utl.ads, memroot.ads, memtrack.adb, mlib.ads,
1328         mlib-fil.adb, mlib-fil.ads, mlib-prj.ads, mlib-utl.adb, mlib-utl.ads,
1329         nlists.adb, nlists.ads, osint.adb, osint.ads, osint-c.adb, osint-l.adb,
1330         osint-l.ads, osint-m.ads, output.adb, par.adb, par.adb, par.ads,
1331         par-ch11.adb, par-ch12.adb, par-ch2.adb, par-ch4.adb, par-ch5.adb,
1332         par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
1333         par-tchk.adb, prep.adb, prepcomp.adb, prepcomp.ads, prj-attr.ads,
1334         prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.ads, prj-err.ads,
1335         prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.ads, prj-pars.adb,
1336         prj-pars.ads, prj-part.ads, prj-pp.ads, prj-proc.ads, prj-strt.adb,
1337         prj-strt.ads, prj-tree.adb, prj-util.adb, prj-util.ads, rtsfind.adb,
1338         sem.adb, sem.ads, sem_case.adb, sem_case.ads, sem_ch11.adb,
1339         sem_ch4.adb, sem_ch6.ads, sem_ch7.ads, sem_dist.ads, sem_elab.ads,
1340         sem_elim.ads, sem_eval.ads, sem_intr.ads, sem_maps.adb, sem_maps.ads,
1341         sem_maps.ads, sem_res.ads, sem_type.ads, sfn_scan.adb, sfn_scan.ads,
1342         s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, sinput.adb,
1343         sinput.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads,
1344         s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb,
1345         s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
1346         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb,
1347         s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads,
1348         s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb,
1349         s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
1350         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb,
1351         s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads,
1352         s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb,
1353         s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
1354         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb,
1355         s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads,
1356         s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb,
1357         s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
1358         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb,
1359         s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads,
1360         s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb,
1361         s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
1362         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb,
1363         s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads,
1364         s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.adb, s-pack60.ads,
1365         s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb,
1366         s-pack63.ads, s-parint.adb, s-parint.adb, s-parint.ads, sprint.ads,
1367         s-purexc.ads, s-restri.ads, s-restri.adb, s-scaval.adb, s-scaval.ads,
1368         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, stand.ads,
1369         s-tasuti.adb, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads,
1370         styleg.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads,
1371         s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-valint.ads,
1372         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb,
1373         s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads,
1374         s-valuti.adb, s-valuti.ads, s-valwch.ads, s-veboop.adb, s-veboop.ads,
1375         s-vercon.adb, s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads,
1376         s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.adb, s-wchstw.ads,
1377         s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb,
1378         s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads,
1379         s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
1380         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, symbols.adb, symbols.ads,
1381         table.ads, targparm.adb, targparm.ads, tb-alvms.c, tb-alvxw.c,
1382         tbuild.adb, tree_io.ads, treepr.adb, treeprs.adt, ttypef.ads,
1383         ttypes.ads, types.adb, uintp.adb, uintp.ads, uname.ads, urealp.ads,
1384         usage.ads, validsw.ads, vxaddr2line.adb, widechar.adb, widechar.ads,
1385         xeinfo.adb, xnmake.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads,
1386         xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb,
1387         a-dirval.ads, a-dirval.adb, a-dirval-mingw.adb, a-direct.ads,
1388         a-direct.adb, indepsw.ads, prj-attr-pm.ads, system-linux-ppc.ads,
1389         a-numaux-darwin.ads, a-numaux-darwin.adb,
1390         a-swuwha.ads, a-stunha.ads: Minor reformatting
1391
1392 2005-11-14  Robert Dewar  <dewar@adacore.com>
1393
1394         PR ada/18434
1395         * osint-m.adb: Add pragma Elaborate_All for Osint
1396
1397 2005-11-10  Eric Botcazou  <ebotcazou@adacore.com>
1398
1399         PR ada/23995
1400         * trans.c (call_to_gnu): Restore statement lost in translation.
1401
1402 2005-11-08  Eric Botcazou  <ebotcazou@adacore.com>
1403
1404         * init.c: Use the Linux-specific section for the IA-64/Linux target.
1405         (__gnat_adjust_context_for_raise): Add conditional code so that the
1406         IA-64 is also supported.
1407
1408 2005-11-03  James E Wilson  <wilson@specifix.com>
1409
1410         PR ada/23427
1411         * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
1412         TREE_OVERFLOW check.
1413
1414 2005-09-21  Olivier Hainque  <hainque@adacore.com>
1415
1416         PR ada/22418
1417         * decl.c (maybe_pad_type): Use proper bitsizetype for XVZ objects,
1418         as we create them to store a size in bits.
1419
1420 2005-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1421
1422         PR ada/21937
1423         PR ada/22328
1424         PR ada/22381
1425         PR ada/22383
1426         PR ada/22419
1427         PR ada/22420
1428         * utils2.c (build_return_expr): New helper function.
1429         * gigi.h (build_return_expr): Declare it.
1430         * trans.c (Subprogram_Body_to_gnu): Use build_return_expr instead
1431         of manually building the RETURN_EXPR tree.
1432         (call_to_gnu): Pass MODIFY_EXPR through build_binary_op.
1433         (gnat_to_gnu) <N_Return_Statement>: Pass MODIFY_EXPR through
1434         build_binary_op for the "target pointer" case.  Use build_return_expr
1435         instead of manually building the RETURN_EXPR tree.
1436
1437 2005-09-16  Laurent GUERBY  <laurent@guerby.net>
1438
1439         PR ada/23788
1440         * s-tpinop.ads: Make this unit Preelaborate.
1441
1442 2005-09-16  Andreas Jaeger  <aj@suse.de>
1443
1444         * socket.c: Add string.h for memcpy.
1445
1446 2005-09-05  Arnaud Charlet  <charlet@adacore.com>
1447
1448         * dec-io.ads, dec-io.adb: Removed, no longer used.
1449
1450 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
1451
1452         * a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
1453
1454         * s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
1455         s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
1456         s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
1457         s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
1458         dependent units are Preelaborate.
1459         (Initialize): Call Interrupt_Managemeent.Initialize and
1460         OS_Primitives.Initialize to ensure proper initialization of this unit.
1461         Remove use of System.Soft_Links
1462         Make this unit Preelaborate.
1463
1464         * s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
1465         s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
1466         s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
1467         s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
1468         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
1469         s-tratas.ads, s-tasinf.ads: Minor reformatting.
1470         Add pragma Preelaborate, since these packages are suitable for this
1471         categorization.
1472         Update comments.
1473
1474         * s-traent-vms.ads, s-intman-dummy.adb,
1475         s-taprop-dummy.adb: Make this unit Preelaborate.
1476
1477         * s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
1478         s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
1479         s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
1480         s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
1481         s-intman-solaris.adb, s-intman-irix-athread.adb,
1482         s-intman-irix.adb: Mark this unit Preelaborate.
1483         (Initialize): New procedure.
1484         Update comments.
1485
1486         * s-taspri-linux.ads: Removed.
1487
1488         * s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
1489         as done by other implementations (e.g. posix).
1490
1491         * s-taprop.ads (Timed_Delay): Update spec since the caller now is
1492         responsible for deferring abort.
1493         Mark this unit Preelaborate.
1494
1495         * s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
1496         proper initialization of the tasking run-time.
1497
1498         * s-tasdeb.ads: Mark this unit Preelaborate.
1499         (Known_Tasks): Add explicit default value to avoid elaboration code.
1500
1501         * s-inmaop-vms.adb (Elaboration code): Add call to
1502         Interrupt_Management.Initialize since the elaboration code depends on
1503         proper initialization of this package.
1504
1505         * s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
1506         s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
1507         s-osprim-posix.adb: Make this unit Preelaborate.
1508
1509         * a-calend.adb: Add call to OS_Primitives.Initialize
1510
1511         * a-elchha.adb: Update use of Except.Id.Full_Name.
1512         Minor reformatting.
1513         Remove use of Ada.Exceptions.Traceback when possible, cleaner.
1514
1515         * a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
1516         Move with clauses outside Warnings Off now that dependent units are
1517         Preelaborate.
1518         Use raise xxx with "..."; Ada 2005 form.
1519
1520         * a-taside.ads, a-taside.adb:
1521         Remove some dependencies, to make it easier to make this unit truly
1522         Preelaborate.
1523         Rewrite some code to be conformant with Preelaborate rules.
1524
1525         * g-os_lib.adb: Remove non-preelaborate code so that this unit can be
1526         marked Preelaborate in the future.
1527
1528         * s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
1529         these units Preelaborate.
1530
1531         * s-exctab.adb: Update use of Except.Id.Full_Name.
1532
1533         * s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
1534         (Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
1535         Set_Exc_Stack_Addr): Removed, no longer used.
1536         Remove reference to *Machine_State_Addr*, no longer needed.
1537
1538         * s-stalib.ads: Mark this unit as Preelaborate[_05].
1539         (Exception_Data): Full_Name is now a System.Address so that this unit
1540         can be made Preelaborate.
1541         Clean up/simplify code thanks to Full_Name being a System.Address.
1542         Remove obsolete pragma Suppress (All_Checks), no longer needed.
1543
1544         * s-taskin.ads, s-taskin.adb:
1545         Move with clauses outside Warnings Off now that dependent units are
1546         Preelaborate.
1547         Make this unit Preelaborate.
1548         (Initialize): New proceduure, replace elaboration code and makes the
1549         set up of the tasking run-time cleaner.
1550         (Detect_Blocking): Now a function instead of a deferred boolean, to
1551         obey Preelaborate rules.
1552
1553         * s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
1554         soft links, no longer used.
1555
1556         * s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
1557         packages are suitable for this categorization.
1558
1559         * s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
1560         since we compile run-time sources in Ada 2005 mode.
1561         (Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
1562         avoid having s-taprop*.adb depend on s-soflin and to avoid code
1563         duplication.
1564         Remove reference to *Machine_State_Addr*, no longer needed.
1565
1566 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
1567
1568         * s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
1569         (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
1570         Remove reference to System.Exceptions.
1571
1572         * s-mastop-x86.adb: Removed, no longer used.
1573
1574         * s-traceb-mastop.adb: Adjust calls to Pop_Frame.
1575
1576         * a-excach.adb: Minor reformatting.
1577
1578         * a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
1579         instead fix new warnings that were hidden by this change.
1580         (AAA, ZZZ): Removed, replaced by...
1581         (Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
1582         are used instead of constants, to help make Ada.Exception truly
1583         preelaborate.
1584         (Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
1585         Raise_Storage_Error): File is now a System.Address, to simplify code.
1586         (Elab code): Removed, no longer used.
1587         (Null_Occurrence): Remove Warnings Off and make this construct
1588         preelaborate.
1589         Remove code related to front-end zero cost exception handling, since
1590         it is no longer used.
1591         Remove -gnatL/-gnatZ switches.
1592
1593         * a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
1594         Update use of Except.Msg.
1595
1596         * gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
1597         freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
1598         to front-end zero cost exception handling, since it is no longer used.
1599         Remove -gnatL/-gnatZ switches.
1600
1601         * lib-writ.ads: Minor reformatting
1602         Remove doc of UX
1603
1604         * Makefile.rtl: Remove references to s-except*, s-mastop-x86*
1605
1606         * Make-lang.in: Remove references to s-except.ads
1607
1608         * s-except.ads: Removed, no longer used.
1609
1610         * s-mastop.ads, s-mastop.adb:
1611         (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
1612         Remove reference to System.Exceptions.
1613
1614         * raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
1615         switch-b.adb: Remove code related to front-end zero cost exception
1616         handling, since it is no longer used.
1617         Remove -gnatL/-gnatZ switches.
1618
1619 2005-09-01  Robert Dewar  <dewar@adacore.com>
1620             Gary Dismukes  <dismukes@adacore.com>
1621             Javier Miranda  <miranda@adacore.com>
1622
1623         * exp_ch4.adb (Expand_N_In): Replace test of expression in its own
1624         type by valid test and generate warning.
1625         (Tagged_Membership): Generate call to the run-time
1626         subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
1627         Change formal name Subtype_Mark to Result_Definition in several calls to
1628         Make_Function_Specification.
1629         (Expand_Allocator_Expression): Add tests for suppression of the AI-344
1630         check for proper accessibility of the operand of a class-wide allocator.
1631         The check can be left out if checks are suppressed or if the expression
1632         has a specific tagged type whose level is known to be safe.
1633
1634         * exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
1635         generates the run-time check associated with null-excluding entities.
1636         (Expand_N_Return_Statement): Add tests to determine if the accessibility
1637         check on the level of the return expression of a class-wide function
1638         can be elided. The check usually isn't needed if the expression has a
1639         specific type (unless it's a conversion or a formal parameter). Also
1640         add a test for whether accessibility checks are suppressed. Augment
1641         the comments to describe the conditions for performing the check.
1642
1643 2005-09-01  Hristian Kirtchev  <kirtchev@adacore.com>
1644             Javier Miranda  <miranda@adacore.com>
1645             Gary Dismukes  <dismukes@adacore.com>
1646             Ed Schonberg  <schonberg@adacore.com>
1647
1648         * a-tags.adb (IW_Membership): Give support to
1649         "Iface_CW_Typ in T'Class". For this purpose the functionality of this
1650         subprogram has been extended to look for the tag in the ancestors tag
1651         table.
1652         Update the structure of the GNAT Dispatch Table to reflect the
1653         additional two tables used in dispatching selects.
1654         Introduce appropriate array types and record components in
1655         Type_Specific_Data to reflect the two tables.
1656         (Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
1657         the TSD of a tag, indexed by position.
1658         (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
1659         operation kind in the TSD of a tag, indexed by position.
1660
1661         * a-tags.ads: Introduce an enumeration type to capture different
1662         primitive operation kinds. Define a constant reflecting the number of
1663         predefined primitive operations.
1664         (Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
1665         of an entry wrapper.
1666         (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
1667         callable entity of a primitive operation.
1668
1669         * exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
1670         primitive operations used in dispatching selects for limited
1671         interfaces, limited tagged, task and protected types what implement a
1672         limited interface.
1673         (Freeze_Type): Generate the bodies of the primitive operations used in
1674         dispatching selects for limited tagged, task and protected types that
1675         implement a limited interface. Generate statements to populate the two
1676         auxiliary tables used for dispatching in select statements.
1677         (Freeze_Record_Type): Add call to initialize the dispatch table entries
1678         associated with predefined interface primitive operations.
1679         (Build_Dcheck_Function): Change Set_Subtype_Mark to
1680         Set_Result_Definition.
1681         (Build_Variant_Record_Equality): Change Subtype_Mark to
1682         Result_Definition.
1683         (Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
1684         (Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
1685         (Build_Assignment): Simplify the code that adds the run-time-check.
1686         (Expand_N_Object_Declaration): Code cleanup.
1687
1688         * exp_ch7.adb (Make_Clean): Select the appropriate type for locking
1689         entries when there is a protected type that implements a limited
1690         interface.
1691
1692         * exp_ch9.adb: Add package Select_Expansion_Utilities that contains
1693         common routines used in expansion of dispatching selects.
1694         (Add_Private_Declarations): Select the appropriate protection type when
1695         there is a protected type that implements a limited interface.
1696         (Build_Parameter_Block): Generate a wrapped parameter block.
1697         (Build_Protected_Subprogram_Body): Select the appropriate type for
1698         locking entries when there is a protected type that implements a
1699         limited interface.
1700         (Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
1701         classified as entry wrappers.
1702         (Expand_N_Asynchronous_Select): Add support for expansion of dispatching
1703         asynchronous selects.
1704         (Expand_N_Conditional_Entry_Call): Add support for expansion of
1705         dispatching conditional selects.
1706         (Expand_N_Protected_Type_Declaration): Select the appropriate type for
1707         protection when there is a protected type that implements limited
1708         interfaces.
1709         (Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
1710         timed selects.
1711         (Extract_Dispatching_Call): Extract the entity of the name of a
1712         dispatching call, the object parameter, actual parameters and
1713         corresponding formals.
1714         (Make_Initialize_Protection): Correct logic of protection initialization
1715         when there is a protected type that implements a limited interface.
1716         (Parameter_Block_Pack): Populate a wrapped parameter block with the
1717         values of actual parameters.
1718         (Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
1719         block and assign them to the original actual parameters.
1720
1721         * exp_ch9.ads (Subprogram_Protection_Mode): New type.
1722         (Build_Protected_Sub_Specification): Change the type and name of the
1723         last formal to account for the increased variety of protection modes.
1724
1725         * einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
1726         entities. Used to save the value of the Is_Hidden attribute when the
1727         limited-view is installed.
1728         (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
1729         the attribute of procedures classified as entry wrappers.
1730         (Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
1731         entity of a primitive wrapper.
1732         (Write_Entity_Flags): Output the name and value of the
1733         Is_Primitive_Wrapper attribute.
1734         (Write_Field27_Name): Output the name and entity of the field Wrapped_
1735         Entity.
1736         (Underlying_Type): If we have an incomplete entity that comes from
1737         the limited view then we return the Underlying_Type of its non-limited
1738         view if it is already available.
1739         (Abstract_Interface_Alias): Flag applies to all subrogram kinds,
1740         including operators.
1741         (Write_Field26_Name): Add entry for Overridden_Operation
1742         (Overridden_Operation): New attribute of functions and procedures.
1743
1744         * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
1745         predefined position in the dispatch table for the primitive operations
1746         used in dispatching selects.
1747         (Init_Predefined_Interface_Primitives): Remove the hardcoded number of
1748         predefined primitive operations and replace it with
1749         Default_Prim_Op_Count.
1750         (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
1751         Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
1752         the names of the generated primitive operations used in dispatching
1753         selects.
1754         (Init_Predefined_Interface_Primitives): No need to inherit primitives in
1755         case of abstract interface types. They will be inherit by the objects
1756         implementing the interface.
1757         (Make_DT): There is no need to inherit the dispatch table of the
1758         ancestor interface for the elaboration of abstract interface types.
1759         The dispatch table will be inherited by the object implementing the
1760         interface.
1761         (Copy_Secondary_DTs): Add documentation.
1762         (Validate_Position): Improve this static check in case of
1763         aliased subprograms because aliased subprograms must have
1764         the same position.
1765         (Init_Predefined_Interface_Primitives): New subprogram that initializes
1766         the entries associated with predefined primitives of all the secondary
1767         dispatch tables.
1768         (Build_Anonymous_Access_Type): Removed.
1769         (Expand_Interface_Actuals): With the previous cleanup there is no need
1770         to build an anonymous access type. This allows further cleanup in the
1771         code generated by the expander.
1772         (Expand_Interface_Conversion): If the actual is an access type then
1773         build an internal function to handle the displacement. If the actual
1774         is null this function returns null because no displacement is
1775         required; otherwise performs a type conversion that will be
1776         expanded in the code that returns the value of the displaced actual.
1777         (Expand_Interface_Actuals): Avoid the generation of unnecessary type
1778         conversions that have no effect in the generated code because no
1779         displacement is required. Code cleanup; use local variables to
1780         avoid repeated calls to the subprogram directly_designated_type().
1781
1782         * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
1783         Classify the primitive operations used in dispatching selects as
1784         predefined.
1785         (Implements_Limited_Interface): Determine whether some type either
1786         directly implements a limited interface or extends a type that
1787         implements a limited interface.
1788         (Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
1789         (Expand_Subtype_From_Expr): Do not build actual subtype if the
1790         expression is limited.
1791         (Find_Interface_Tag): Add code to handle class-wide types and
1792         entities from the limited-view.
1793
1794         * rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
1795         Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
1796         POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
1797         POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
1798         Set_Prim_Op_Kind.
1799
1800         * sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
1801         of procedure name or prefix that appears as a trigger in a triggering
1802         alternative.
1803
1804         * uintp.ads: Introduce constants Uint_11 and Uint_13.
1805
1806 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
1807
1808         * s-tataat.adb, a-tasatt.adb:
1809         Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
1810
1811         * s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
1812         these procedures to body, and renamed Abort_Defer, Abort_Undefer.
1813         (Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
1814         longer used.
1815
1816 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
1817             Jose Ruiz  <ruiz@adacore.com>
1818
1819         * s-taprop-vxworks.adb:
1820         Move with clauses outside Warnings Off now that dependent units are
1821         Preelaborate.
1822         (Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
1823         initialization of this unit.
1824         (Specific): Add new procedures Initialize and Delete so that this
1825         package can be used for VxWorks 5.x and 6.x
1826         (ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
1827         differences between VxWorks 5.x and 6.x
1828         Minor reformatting.
1829         (Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
1830         caller.
1831         Use only Preelaborate-compatible constructs.
1832
1833         * s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
1834         Primitives.Operations.
1835         (Delete, Initialize): New procedures.
1836
1837         * s-osinte-vxworks.adb: Body used to handle differences between
1838         VxWorks 5.x and 6.x
1839         (kill, Set_Time_Slice, VX_FP_TASK): New functions.
1840
1841         * s-osinte-vxworks.ads: Minor reformatting.
1842         Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
1843         (VX_FP_TASK): Now a function, to handle differences between VxWorks 5
1844         and 6.
1845         (Set_Time_Slice): New function, replacing kerneltimeSlice to share code
1846         between Vxworks 5 and 6.
1847         (taskLock, taskUnlock): Removeed, no longer used.
1848
1849         * adaint.c: The wait.h header is not located in the sys directory on
1850         VxWorks when using RTPs.
1851         (__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
1852         using RTPs.
1853         (__gnat_dup): dup is available on Vxworks when using RTPs.
1854         (__gnat_dup2): dup2 is available on Vxworks when using RTPs.
1855
1856         * cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.
1857
1858         * expect.c: The wait.h header is not located in the sys directory on
1859         VxWorks when using RTPs.
1860
1861 2005-09-01  Thomas Quinot  <quinot@adacore.com>
1862
1863         * g-soccon-vms.adb: Renamed to g-soccon-vms.ads
1864
1865         * g-soccon-vms.ads: Renamed from g-soccon-vms.adb
1866
1867         * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
1868         g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
1869         g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
1870         g-soccon-freebsd.ads: Add new constants:
1871          IP_MULTICAST_IF
1872          SO_RCVTIMEO/SO_SNDTIMEO
1873          IOV_MAX
1874
1875         * gen-soccon.c:
1876         Move all target-specific file inclusions and macro definitions to
1877         gsocket.h, in order to ensure that any C code in socket.c will see a
1878         set of constants that is consistent with the contents of g-soccon.ads.
1879
1880         * gsocket.h: Code imported from gen-soccon.c:
1881         Move all target-specific file inclusions and macro definitions to
1882         gsocket.h, in order to ensure that any C code in socket.c will see a set
1883         of constants that is consistent with the contents of g-soccon.ads.
1884         This change also makes gen-soccon self-contained (removing dependencies
1885         upon GCC internal headers).
1886
1887         * g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
1888         iovecs at a time.
1889         (To_Inet_Addr): Now a procedure instead of a function, more efficient.
1890
1891         * socket.c: Minor reformatting.
1892
1893 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
1894             Thomas Quinot  <quinot@adacore.com>
1895
1896         * fname-sf.adb, mlib-tgt.ads,
1897         back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
1898         g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
1899         osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
1900         prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
1901         prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
1902         prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
1903         sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
1904         makegpr.adb: Remove redundant use_clauses.
1905
1906 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
1907
1908         * s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
1909         s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
1910         s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
1911         s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
1912         s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
1913         s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
1914         s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
1915         table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
1916         s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
1917         s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
1918         a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
1919         a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
1920         a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
1921         a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
1922         system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
1923         system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
1924         s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
1925         system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
1926         s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
1927         s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
1928         s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
1929         s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
1930         system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
1931         s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
1932         system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
1933         s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
1934         a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
1935         a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
1936         a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
1937         a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
1938         a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
1939         a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
1940         a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
1941         a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
1942         a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
1943         a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
1944         csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
1945         g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
1946         a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
1947         a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
1948         a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
1949         a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
1950         g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
1951         i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
1952         interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
1953         i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
1954         s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
1955         s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
1956         s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
1957         s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
1958         s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
1959         s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
1960         s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
1961         s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
1962         s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
1963         s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
1964         s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
1965         s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
1966         s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
1967         s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
1968         s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
1969         s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
1970         s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
1971         s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
1972         s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
1973         s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
1974         s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
1975         s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
1976         and always use the no parameter form for consistency.
1977
1978         * gnat-style.texi: Document rules about Preelaborate/Pure pragmas.
1979
1980 2005-09-01  Robert Dewar  <dewar@adacore.com>
1981
1982         * binde.adb: Minor reformatting
1983         (Find_Elab_Order): Output warning if -p used with static elab order
1984
1985 2005-09-01  Robert Dewar  <dewar@adacore.com>
1986
1987         * checks.adb (Check_Needed): New procedure, deals with removing checks
1988         based on analysis of short-circuited forms. Also generates warnings for
1989         improper use of non-short-circuited forms.
1990         Code clean ups.
1991
1992 2005-09-01  Robert Dewar  <dewar@adacore.com>
1993
1994         * a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
1995         with 'Valid tests.
1996
1997 2005-09-01  Robert Dewar  <dewar@adacore.com>
1998
1999         * errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
2000         spec.
2001         Implement new insertion char < (conditional warning)
2002         * errutil.adb, erroutc.adb: Implement new insertion char <
2003         (conditional warning).
2004         * sem_elab.adb, prj-dect.adb, erroutc.ads, err_vars.ads
2005         (Error_Msg_Warn): New variable for < insertion char.
2006         * prj-nmsc.adb: Implement new errout insertion char < (conditional
2007         warning).
2008         (Check_For_Source): Change value of Source_Id only after the current
2009         source has been dealt with.
2010
2011 2005-09-01  Robert Dewar  <dewar@adacore.com>
2012             Doug Rupp  <rupp@adacore.com>
2013
2014         * exp_attr.adb: Handle vax fpt for 'Valid attribute
2015         * exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
2016         * s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
2017         (Valid_D, Valid_F, Valid_G): New functions
2018
2019 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2020             Hristian Kirtchev  <kirtchev@adacore.com>
2021             Javier Miranda  <miranda@adacore.com>
2022
2023         * exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
2024         from object notation, the original node is unanalyzed and carries no
2025         semantic information, so that accessiblity checks must be performed on
2026         the type of the actual itself.
2027         (Expand_N_Subprogram_Declaration): Change last actual parameter for
2028         compatibility with Build_Protected_Sub_Specification.
2029         (Check_Overriding_Inherited_Interfaces): Add suport to handle
2030         overloaded primitives.
2031         (Register_Interface_DT_Entry): Use the new name of the formal
2032         the the calls to Expand_Interface_Thunk
2033
2034         * exp_dbug.ads: Augment comments on encoding of protected types to
2035         include the generation of dispatching subprograms when the type
2036         implements at least one interface.
2037
2038         * lib.ads: Extend information in Load_Stack to include whether a given
2039         load comes from a Limited_With_Clause.
2040
2041         * lib-load.adb (From_Limited_With_Chain): New predicate to determine
2042         whether a potential circularity is harmless, because it includes units
2043         loaded through a limited_with clause. Extends previous treatment which
2044         did not handle properly arbitrary combinations of limited and
2045         non-limited clauses.
2046
2047 2005-09-01  Nicolas Setton  <setton@adacore.com>
2048
2049         * exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
2050         to be encoded as typ___XBLU_lowerbound__upperbound instead of
2051         typ___XB_lowerbound__upperbound.
2052
2053 2005-09-01  Thomas Quinot  <quinot@adacore.com>
2054
2055         * exp_dist.adb (Add_RACW_TypeCode, Add_RAS_TypeCode): Do not generate
2056         dummy access formal for RACW/RAS TypeCode TSS.
2057         (Build_TypeCode_Call): Do not generate dummy null access actual for
2058         calls to the TypeCode TSS.
2059
2060 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2061
2062         * exp_intr.adb (Expand_Source_Name): For Enclosing_Entity, generate
2063         fully qualified name, to distinguish instances with the same local name.
2064
2065         * g-souinf.ads (Enclosing_Entity): Document that entity name is now
2066         fully qualified.
2067
2068 2005-09-01  Robert Dewar  <dewar@adacore.com>
2069
2070         * exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
2071         packed arrays.
2072
2073 2005-09-01  Jerome Lambourg  <lambourg@adacore.com>
2074
2075         * g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
2076         (Free): New deallocation procedure for filter elements
2077         (Close): Deallocate any existing filter for the concerned connection
2078
2079 2005-09-01  Laurent Pautet  <pautet@adacore.com>
2080
2081         * g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
2082         position set is provided, we compute one in order to reduce the maximum
2083         length of the keys.  This computation first selects a character
2084         position between 1 and the minimum length of the keys in order to
2085         avoid reducing one of the keys to an empty string.
2086         (Initialize, Compute): When the ratio V to K is too low, the algorithm
2087         does not converge. The initialization procedure now comes with a
2088         maximum number of iterations such that when exceeded, an exception is
2089         raised in Compute. The user can initialize this ratio to another value
2090         and try again
2091         Reformating and updated headers.
2092
2093 2005-09-01  Javier Miranda  <miranda@adacore.com>
2094
2095         * itypes.ads, itypes.adb (Create_Null_Excluding_Itype): New subprogram
2096         that given an entity T creates and returns an Itype that duplicates the
2097         contents of T. The returned Itype has the null-exclusion
2098         attribute set to True, and its Etype attribute references T
2099         to keep the association between the two entities.
2100         Update copyright notice
2101
2102         * sem_aggr.adb (Check_Can_Never_Be_Null,
2103         Aggregate_Constraint_Checks, Resolve_Aggregate,
2104         Resolve_Array_Aggregate, Resolve_Record_Aggregate): Code cleanup.
2105
2106         * sem_ch5.adb (Analyze_Assignment): Code cleanup.
2107
2108 2005-09-01  Gary Dismukes  <dismukes@adacore.com>
2109             Robert Dewar  <dewar@adacore.com>
2110             Hristian Kirtchev  <kirtchev@adacore.com>
2111
2112         * layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to
2113         Result_Definition.
2114
2115         * par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
2116         function specs.
2117         Call Set_Result_Definition instead of Set_Subtype_Mark.
2118         (P_Subprogram_Specification): Add parsing of anonymous access result
2119         plus null exclusions. Call Set_Result_Definition instead of
2120         Set_Subtype_Mark.
2121
2122         * par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
2123         (P_Access_Type_Definition): Add parsing for an anonymous access result
2124         subtype, plus parsing for null exclusions. Call Set_Result_Definition
2125         instead of Set_Subtype_Mark.
2126
2127         * sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
2128         (Null_Exclusion_Present): Allow this flag for N_Function_Specification.
2129         (Result_Definition): New function for N_Function_Specifications.
2130         (Subtype_Mark): No longer allowed for N_Access_Function_Definition and
2131         N_Function_Specification.
2132         (Set_Null_Exclusion_Present): Allow this flag for
2133         N_Function_Specification.
2134         (Set_Result_Definition): New procedure for N_Function_Specifications.
2135         (Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
2136         and N_Function_Specification.
2137
2138         * sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
2139         Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
2140         Add support for LIMITED NEW for Ada 2005 AI-419
2141         Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
2142         syntax for anonymous access results.
2143         Replace Subtype_Mark field by Result_Definition in
2144         N_Function_Specification and N_Access_Definition specs.
2145         Add Null_Exclusion_Present to spec of N_Function_Specification.
2146         (Result_Definition): New function for N_Function_Specification and
2147         N_Access_Function_Definition.
2148         (Set_Result_Definition): New procedure for N_Function_Specification and
2149         N_Access_Function_Definition.
2150
2151         * sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
2152         Result_Definition for cases of N_Access_Function_Definition and
2153         N_Function_Specification.
2154         Print "not null" if Null_Exclusion_Present on N_Function_Specification.
2155
2156 2005-09-01  Vincent Celier  <celier@adacore.com>
2157
2158         * lib-writ.adb: Update Copyright notice
2159         (Write_With_Lines): On platforms where file names are case-insensitive,
2160         record the file names in lower case.
2161         (Write_ALI): For D lines, on platforms where file names are
2162         case-insensitive, record the file names in lower case.
2163
2164 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2165             Emmanuel Briot  <briot@adacore.com>
2166
2167         * lib-xref.adb (Output_Overridden_Op): Display information on
2168         overridden operation.
2169
2170         * lib-xref.ads: Add documentation on overridden operations.
2171
2172         * ali.ads (Xref_Entity_Record): Add support for storing the overriding
2173         information.
2174
2175         * ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
2176         overriding entity information.
2177
2178 2005-09-01  Vincent Celier  <celier@adacore.com>
2179
2180         * mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
2181         including those that are inherited.
2182
2183 2005-09-01  Robert Dewar  <dewar@adacore.com>
2184
2185         * opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
2186
2187         * par-prag.adb: Implement new pragma Debug_Policy
2188
2189         * sem_prag.adb Implement new pragma Debug_Policy
2190         (Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
2191         Component_Size attribute specification. Give warning for ignored pragma
2192         Pack.
2193
2194         * snames.h, snames.ads, snames.adb: Introduce entries in
2195         Preset_Names for Name_Disp_Asynchronous_Select,
2196         Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
2197         Name_Disp_Timed_Select.
2198         New pragma Debug_Policy
2199
2200         * switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
2201         explicitly.
2202         Switch -gnata also sets Debug_Pragmas_Enabled
2203
2204         * sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
2205         handle an explicit -gnata when compiling predefined files.
2206
2207 2005-09-01  Vincent Celier  <celier@adacore.com>
2208
2209         * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
2210         directories of projects that have no Ada sources.
2211
2212 2005-09-01  Robert Dewar  <dewar@adacore.com>
2213
2214         * scng.adb (Check_End_Of_Line): Count characters, rather than bytes
2215         (makes a difference for wide characters)
2216
2217         * widechar.adb, widechar.ads:
2218         Add Wide_Char_Byte_Count feature to count chars vs bytes
2219
2220 2005-09-01  Thomas Quinot  <quinot@adacore.com>
2221             Ed Schonberg  <schonberg@adacore.com>
2222             Robert Dewar  <dewar@adacore.com>
2223
2224         * sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
2225         'Address attribute reference with an overloaded prefix, use the
2226         location of the prefix (not the location of the attribute reference) as
2227         the error location.
2228         (Analyze_Attribute, case 'Size): The name of an enumeration literal, or
2229         a function renaming thereof, is a valid prefix for 'Size (where it is
2230         intepreted as a function call).
2231         (Statically_Denotes_Entity): New predicate to determine whether the
2232         prefix of an array attribute can be considered static.
2233
2234         PR ada/9087
2235         (Eval_Attr): Fix failure to evaluate Component_Size for
2236         unconstrained arrays (resulted in wrong value in packed case, since
2237         back end cannot handle this case)
2238
2239 2005-09-01  Robert Dewar  <dewar@adacore.com>
2240
2241         * sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
2242         error msgs for most common cases.
2243         Use new errout insertion char < (conditional warning)
2244
2245 2005-09-01  Javier Miranda  <miranda@adacore.com>
2246             Ed Schonberg  <schonberg@adacore.com>
2247
2248         * sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
2249         become local to the whole package.
2250         (Install_Limited_Withed_Unit): Instead of unchaining real entities if
2251         the package was already analyzed the new algorithm "replaces" the
2252         real entities by the shadow ones. This is required to ensure that
2253         the order of these entities in the homonym chains does not change;
2254         otherwise we can have undefined references at linking time because
2255         in case of conflicts the external name of the entities will have
2256         a suffix that depends on the order of the entities in the chain.
2257         (Remove_Limited_With_Clause): Complementary code that completes the
2258         new algorithm and replaces the shadow entities by the real ones.
2259         (Install_Limited_Withed_Unit): When unchaining entities before the
2260         installation of the shadow entities, only regular entities of the
2261         public part must be taken into account. This is required to
2262         keep this routine in synch with the work done by Remove_Limited_
2263         With_Clause
2264         (Install_Limited_With_Clause): Introduce implicit limited_with_clause
2265         even if unit is analyzed, because the analysis of the unit is
2266         idempotent in any case, and the limited view of the unit may have to
2267         be installed for proper visibility.
2268         (Expand_Limited_With_Clause): Even if the unit in the implicit
2269         with_clause has been analyzed already, a limited view of the package
2270         must be built for the current context, if it does not exist yet.
2271
2272 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2273             Javier Miranda  <miranda@adacore.com>
2274             Gary Dismukes  <dismukes@adacore.com>
2275
2276         * sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
2277         defining entity for the instance body, make a new defining identifier
2278         rather than copying the entity of the spec, to prevent accidental
2279         sharing of the entity list.
2280         (Check_Private_View): When exchanging views of private types, build the
2281         list of exchanged views as a stack, to ensure that on exit the exchanges
2282         are undone in the proper order.
2283         (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
2284         Restore the compilation environment in case of instantiation_error.
2285         (Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
2286         for an anonymous access result.
2287         (Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
2288         (Formal_Entity): Handle properly the case of a formal package that
2289         denotes a generic package renaming.
2290
2291 2005-09-01  Thomas Quinot  <quinot@adacore.com>
2292
2293         * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
2294         clause if the array aggregate is surrounded by parentheses.
2295
2296 2005-09-01  Cyrille Comar  <comar@adacore.com>
2297             Gary Dismukes  <dismukes@adacore.com>
2298             Ed Schonberg  <schonberg@adacore.com>
2299             Javier Miranda  <miranda@adacore.com>
2300
2301         * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
2302         underlying type
2303         to check if a type is Constrained in cases related to code generation
2304         (rather than semantic checking) since otherwise we do not generate
2305         similar code for mutable private types depending if their
2306         discriminants are visible or not.
2307         (Check_Abstract_Overriding): Do not complain about failure to override
2308         the primitive operations used in dispatching selects since they will
2309         always be overriden at the freeze point of the type.
2310         (Access_Definition): Separate out handling for resetting the scope
2311         of an anonymous access function result type. Retrieve the scope
2312         of the associated function rather than using Current_Scope, which
2313         does not have a consistent value (depends on whether we're in the
2314         middle of analyzing formal parameters). Add ??? comment about
2315         finding a cleaner way to handle the special cases of scope setting.
2316         (Process_Incomplete_Dependents): A protected operation is never a
2317         dispatching operation (only its wrapper may be).
2318         (Build_Derived_Record_Type): In case of tagged private types that
2319         implement interfaces add derivation of predefined primitive
2320         operations.
2321         (Derive_Subprograms): Replace the Is_Interface_Derivation parameter
2322         by two parameters that are used in case of derivation from abstract
2323         interface types: No_Predefined_Prims is used to avoid the derivation
2324         of predefined primitives from the interface, and Predefined
2325         Prims_Only is used to complete the derivation predefined primitives
2326         in case of private tagged types implementing interfaces.
2327         Fix typo in comments
2328         (Find_Interface_In_Descendant): Protect the frontend against
2329         wrong code with large circularity chains.
2330         (Is_Private_Overriding): Add support for entities overriding interface
2331         subprograms. The test failed because Entities associated with overriden
2332         interface subprograms are always marked as hidden (and used to build
2333         the secondary dispatch table); in this case the overriden entity is
2334         available through the field abstract_interface_alias (cf. override_
2335         dispatching_operation)
2336         (Access_Definition): Set the scope of the type to Current_Scope for the
2337         case of a function with an anonymous access result type.
2338         (Access_Subprogram_Declaration): Handle creation of the type entity for
2339         an access-to-function type with an anonymous access result.
2340         (Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
2341         in handling for N_Access_Function_Definition.
2342         (Analyze_Subtype_Declaration): Modify the text of error message.
2343         (Derived_Type_Declaration): Modify the text of error message.
2344         (Process_Subtype): Modify the text of error message plus cleanup
2345         of one redundant error message.
2346         (Analyze_Component_Declaration): Code cleanup.
2347         (Analyze_Object_Declaration): Code cleanup.
2348         (Analyze_Subtype_Declaration): Propagate the null-exclusion
2349         attribute in case of access types. Code cleanup.
2350         (Array_Type_Declaration): Code cleanup.
2351         (Process_Discriminants): Create the new null-excluding itype
2352         if required. Code cleanup.
2353         (Process_Subtype): Create the new null-excluding itype if
2354         required. Code cleanup.
2355         (Build_Derived_Record_Type): Code cleanup to avoid calling
2356         twice the subprogram derive_subprograms in case of private
2357         types that implement interfaces. In this particular case the
2358         subprogram Complete_Subprograms_Derivation already does the
2359         job associated with the second call.
2360
2361         * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
2362         conversion to the full view when generating an operation for a
2363         discriminant whose type may currently be private.
2364
2365 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2366             Javier Miranda  <miranda@adacore.com>
2367
2368         * sem_ch4.adb (Transform_Object_Operation): In a context off the form
2369         V (Obj.F), the rewriting does not involve the indexed component, but
2370         only the selected component itself.
2371         Do not apply the transformation if the analyzed node is an actual of a
2372         call to another subprogram.
2373         (Complete_Object_Operation): Retain the entity of the
2374         dispatching operation in the selector of the rewritten node. The
2375         entity will be used in the expansion of dispatching selects.
2376         (Analyze_One_Call): Improve location of the error message associated
2377         with interface.
2378         (Analyze_Selected_Component): No need to resolve prefix when it is a
2379         function call, resolution is done when parent node is resolved, as
2380         usual.
2381         (Analyze_One_Call): Add a flag to suppress analysis of the first actual,
2382         when attempting to resolve a call transformed from its object notation.
2383         (Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
2384         of the argument list for each interpretation of the operation.
2385         (Try_Object_Operation): The designated type of an access parameter may
2386         be an incomplete type obtained through a limited_with clause, in which
2387         case the primitive operations of the type are retrieved from its full
2388         view.
2389         (Analyze_Call): If this is an indirect call, and the return type of the
2390         access_to_subprogram is incomplete, use its full view if available.
2391
2392 2005-09-01  Javier Miranda  <miranda@adacore.com>
2393             Gary Dismukes  <dismukes@adacore.com>
2394
2395         * sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
2396         access types the null-exclusion and access-to-constant attributes must
2397         also match.
2398         (Analyze_Return_Statement): When the result type is an anonymous access
2399         type, apply a conversion of the return expression to the access type
2400         to ensure that appropriate accessibility checks are performed.
2401         (Analyze_Return_Type): For the case of an anonymous access result type,
2402         generate the Itype and set Is_Local_Anonymous_Access on the type.
2403         Add ??? placeholder for check to disallow returning a limited object
2404         in Ada 2005 unless it's an aggregate or a result of a function call.
2405         Change calls from Subtype_Mark to Result_Definition.
2406         (Analyze_Subprogram_Body): Change formal Subtype_Mark to
2407         Result_Definition in call to Make_Function_Specification.
2408         (Build_Body_To_Inline): Change Set_Subtype_Mark to
2409         Set_Result_Definition.
2410         (Make_Inequality_Operator): Change formal Subtype_Mark to
2411         Result_Definition in call to Make_Function_Specification.
2412         (Process_Formals): Create the new null-excluding itype if required.
2413         (New_Overloaded_Entity): For an entity overriding an interface primitive
2414         check if the entity also covers other abstract subprograms in the same
2415         scope. This is required to handle the general case, that is, overriding
2416         other interface primitives and overriding abstract subprograms inherited
2417         from some abstract ancestor type.
2418         (New_Overloaded_Entity): For an overriding entity that comes from
2419         source, note the operation that it overrides.
2420         (Check_Conformance, Type_Conformant): Addition of one new formal
2421         to skip controlling formals in the analysis. This is used to
2422         handle overloading of abstract interfaces.
2423         (Base_Types_Match): Add missing case for types imported from
2424         limited-with clauses
2425         (New_Overloaded_Entity): Add barrier to protect the use of
2426         the "alias" attribute.
2427
2428 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2429
2430         * sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
2431         verify that the procedure and the entry are mode conformant.
2432         (Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
2433         as a different operator, which is often a cut-and-paste error.
2434
2435 2005-09-01  Javier Miranda  <miranda@adacore.com>
2436             Ed Schonberg  <schonberg@adacore.com>
2437
2438         * sem_disp.adb (Check_Controlling_Formals): Anonymous access types
2439         used in controlling parameters exclude null because it is necessary to
2440         read the tag to dispatch, and null has no tag.
2441         (Override_Dispatching_Operation): If the previous operation is inherited
2442         from an interface, it becomes hidden  and does not participate in later
2443         name resolution.
2444
2445 2005-09-01  Javier Miranda  <miranda@adacore.com>
2446             Ed Schonberg  <schonberg@adacore.com>
2447             Gary Dismukes  <dismukes@adacore.com>
2448
2449         * sem_res.adb (Resolve_Membership_Op): In case of the membership test
2450         "Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
2451         the expander will generate the corresponding run-time check to evaluate
2452         the expression.
2453         (Resolve_Call): Check for legal type of procedure name or prefix that
2454         appears as a trigger in a triggering alternative.
2455         (Valid_Conversion): If expression is ambiguous and the context involves
2456         an extension of System, remove System.Address interpretations.
2457         (Resolve_Qualified_Expression): Reject the case of a specific-type
2458         qualification applied to a class-wide argument. Enhance comment
2459         to explain checking of Original_Node.
2460         (Resolve_Type_Conversion): The location of the error message was not
2461         general enough to handle the general case and hence it has been removed.
2462         In addition, this patch improves the text of the message.
2463         (Resolve_Type_Conversion): Add missing support for access to interface
2464         types.
2465         (Resolve_Type_Conversion): If the target is a class-wide interface type,
2466         do not expand if the expression is the actual in a call, because proper
2467         expansion will take place when the call itself is expanded.
2468         (Resolve_Allocator): If the context is an unchecked conversion, the
2469         allocator inherits its storage pool, if any, from the target type of
2470         the conversion.
2471
2472 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2473             Javier Miranda  <miranda@adacore.com>
2474
2475         * sem_type.adb (Add_One_Interp): If a candidate operation is an
2476         inherited interface operation that has an implementation, use the
2477         implementation to avoid spurious ambiguities.
2478         (Interface_Present_In_Ancestor): In case of concurrent types we can't
2479         use the Corresponding_Record_Typ attribute to look for the interface
2480         because it is set by the expander (and hence it is not always
2481         available). For this reason we traverse the list of interfaces
2482         (available in the parent of the concurrent type).
2483         (Interface_Present_In_Ancestor): Handle entities from the limited view
2484
2485 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2486
2487         * sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
2488         from the list of required components.
2489         (Is_Controlling_Limited_Procedure): Determine whether an entity is a
2490         primitive procedure of a limited interface with a controlling first
2491         parameter.
2492         (Is_Renamed_Entry): Determine whether an entry is a procedure renaming
2493         of an entry.
2494         (Safe_To_Capture_Value): A value (such as non_null) is not safe to
2495         capture if it is generated in the second operand of a short-circuit
2496         operation.
2497         Do not capture values for variables with address clauses.
2498         (Is_Object_Reference): Treat a function call as an object reference only
2499         if its type is not Standard_Void_Type.
2500
2501 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
2502
2503         * sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
2504         to a variable that is statically known to be constant.
2505
2506 2005-09-01  Geert Bosch  <bosch@adacore.com>
2507             Robert Dewar  <dewar@adacore.com>
2508
2509         * ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
2510         (VAXGF_Safe_First): Idem.
2511
2512 2005-09-01  Robert Dewar  <dewar@adacore.com>
2513             Arnaud Charlet  <charlet@adacore.com>
2514
2515         * g-dirope.ads: Minor reformatting
2516         Document that bounds of result of Base_Name match the input index
2517         positions.
2518         Add documentation on environment variable syntax for Expand_Path
2519
2520         * gnat_ugn.texi: Update documentation to include mention of -m switches
2521         Document new treatment of wide characters in max line length
2522         style check.
2523         Remove -gnatL/-gnatZ switches, no longer used.
2524         Add note on pragmas Assertion_Policy and Debug_Policy in discussion
2525         of -gnata switch.
2526
2527         * gnat_rm.texi: Add doc for two argument form of pragma
2528         Float_Representation.
2529         Add documentation for pragma No_Strict_Aliasing
2530         Add note that explicit component clause overrides pragma Pack.
2531         Add documentation of pragma Debug_Policy
2532
2533 2005-09-01  Matthew Heaney  <heaney@adacore.com>
2534
2535         * a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
2536         a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
2537         a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
2538         a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
2539         draft (Draft 13, August 2005) of Ada Amendment 1.
2540
2541 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
2542
2543         * Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
2544         Note that the platform-specific version of g-soccon.ads for VMS is now
2545         named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
2546         really is a package spec).
2547         Replace s-taspri-linux.ads by s-taspri-posix.ads
2548         Remove references to s-mastop-x86.adb
2549
2550         * system-vxworks-xscale.ads: Removed, no longer used.
2551         * s-vxwork-xscale.ads: Removed, no longer used.
2552
2553 2005-09-01  Robert Dewar  <dewar@adacore.com>
2554
2555         * a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
2556         g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
2557         g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
2558         exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
2559         g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
2560         g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
2561         g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
2562         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
2563         g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
2564         g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
2565         sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
2566         a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
2567         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
2568         a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
2569         a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
2570         a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
2571         g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
2572         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
2573         g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
2574         i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
2575         a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting
2576
2577 2005-08-29  Arnaud Charlet  <charlet@adacore.com>
2578
2579         PR ada/23187
2580         * adaint.c
2581         (GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
2582
2583 2005-08-29  Arnaud Charlet  <charlet@adacore.com>
2584             Doug Rupp  <rupp@adacore.com>
2585
2586         * s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
2587         when needed.
2588         (Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
2589         this code in the GNAT run-time.
2590
2591         * decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
2592
2593         PR ada/21053
2594         * init.c (__gnat_error_handler [many]): Mark "msg" as const
2595         (__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
2596
2597         (__gnat_inside_elab_final_code): Moved here from
2598         Standard_Library and only defined for the compiler.
2599         __gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
2600         (__gnat_inum_to_ivec): Do not define this function on VxWorks when
2601         using RTPs because directly vectored Interrupt routines are not
2602         supported on this configuration.
2603         (getpid): Do not redefine this function on VxWorks when using RTPs
2604         because this primitive is well supported by the RTP libraries.
2605         (copy_msg): Correct the code that checks for buffer overflow.
2606         Discovered during code reading.
2607
2608 2005-08-29  Olivier Hainque  <hainque@adacore.com>
2609
2610         * decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
2611         a library level mutable variable with an initializer, tell
2612         build_allocator to ignore the initializer's size. It may not be large
2613         enough for all the values that might be assigned to the variable later
2614         on.
2615
2616 2005-08-29  Arnaud Charlet  <charlet@adacore.com>
2617             Eric Botcazou  <ebotcazou@adacore.com>
2618
2619         * trans.c: Protect < in error msg with quote
2620         Replace GCC_ZCX by Back_End_Exceptions.
2621         (addressable_p) <COMPONENT_REF>: Also return 1 if the field
2622         has been sufficiently aligned in the record.
2623
2624 2005-08-15  James E. Wilson  <wilson@specifix.com>
2625
2626         * system-linux-alpha.ads: Change ia64 to alpha.
2627
2628 2005-08-01  Kazu Hirata  <kazu@codesourcery.com>
2629
2630         * decl.c, utils.c: Fix comment typos.
2631
2632 2005-07-29  Kazu Hirata  <kazu@codesourcery.com>
2633
2634         * decl.c, init.c, initialize.c: Fix comment typos.
2635
2636 2005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
2637
2638         Make CONSTRUCTOR use VEC to store initializers.
2639         * decl.c (gnat_to_gnu_entity): Update to cope with VEC in
2640         CONSTRUCTOR_ELTS.
2641         * trans.c (extract_values): Likewise.
2642         * utils.c (convert, remove_conversions): Likewise.
2643         * utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
2644         gnat_build_constructor): Likewise.
2645
2646 2005-07-09  Andrew Pinski  <pinskia@physics.uc.edu>
2647
2648         * decl.c (components_to_record): Use DECL_FCONTEXT instead of
2649         DECL_SECTION_NAME.
2650         (compare_field_bitpos): Likewise.
2651
2652 2005-07-09  Andrew Pinski  <pinskia@physics.uc.edu>
2653
2654         * utils.c (create_var_decl): Only set DECL_COMMON on
2655         VAR_DECLs. Only set SET_DECL_ASSEMBLER_NAME on
2656         VAR_OR_FUNCTION_DECL_P.
2657
2658 2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
2659
2660         * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
2661         removed.
2662
2663 2005-07-07  Pascal Obry  <obry@adacore.com>
2664
2665         * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
2666         returned type on Windows.
2667
2668         * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
2669         routine.
2670
2671         * g-socket.adb (Inet_Addr): Check for empty Image and raises an
2672         exception in this case.
2673         Simplify the code as "Image (Image'Range)" = "Image".
2674
2675 2005-07-07  Vincent Celier  <celier@adacore.com>
2676
2677         * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
2678         the destructor/constructor attributes for <lib>final/<lib>init.
2679
2680         * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
2681
2682 2005-07-07  Eric Botcazou  <ebotcazou@adacore.com>
2683
2684         * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
2685         type if the parameter is not passed by copy but reference by default.
2686
2687 2005-07-07  Javier Miranda  <miranda@adacore.com>
2688
2689         * exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
2690         Reimplementation of the support for abstract interface types in order
2691         to leave the code more clear and easy to maintain.
2692
2693         * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
2694         abstract interface types in order to leave the code clearer and easier
2695         to maintain.
2696
2697         * exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
2698         is now implemented by the new subprogram Fill_Secondary_DT_Entry.
2699         (Fill_Secondary_DT_Entry): Generate the code necessary to fill the
2700         appropriate entry of the secondary dispatch table.
2701         (Make_DT): Add code to inherit the secondary dispatch tables of
2702         the ancestors.
2703
2704         * exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
2705         implementing both functionalities by means of a common routine, each
2706         routine has its own code.
2707
2708 2005-07-07  Javier Miranda  <miranda@adacore.com>
2709
2710         * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
2711
2712         * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
2713         types:
2714         --
2715           type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
2716         --
2717
2718         * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
2719         use of tag incomplete types.
2720
2721         * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
2722         give support to tagged incomplete types.
2723
2724         * sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
2725         expression is a discriminant reference and its type is private, as can
2726         happen within a stream operation for a mutable record, use the full
2727         view of the type to resolve the case alternatives.
2728         (Analyze_Assignment): Check wrong dereference of incomplete types.
2729
2730         * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
2731         types.
2732
2733         * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
2734         incomplete types.
2735
2736         * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
2737         N_Incomplete_Type_Declaration nodes.
2738
2739         * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
2740         Tag_Present to give support to tagged incomplete types:
2741         --
2742           type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
2743         --
2744
2745 2005-07-07  Olivier Hainque  <hainque@adacore.com>
2746
2747         PR ada/22301
2748
2749         * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
2750         definitions for the Unwind wrappers in the compiler case.
2751
2752 2005-07-07  Ed Schonberg  <schonberg@adacore.com>
2753             Javier Miranda  <miranda@adacore.com>
2754
2755         * par-load.adb (Load): If a child unit is loaded through a limited_with
2756         clause, each parent must be loaded as a limited unit as well.
2757
2758         * sem_ch10.adb (Previous_Withed_Unit): Better name for
2759         Check_Withed_Unit. Return true if there is a previous with_clause for
2760         this unit, whether limited or not.
2761         (Expand_Limited_With_Clause): Do not generate a limited_with_clause on
2762         the current unit.
2763         (Is_Visible_Through_Renamings): New local subprogram of install_limited
2764         _withed_unit that checks if some package installed through normal with
2765         clauses has a renaming declaration of package whose limited-view is
2766         ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
2767         of the current Draft document for Ada 2005.
2768         (Analyze_Context): Complete the list of compilation units that
2769         are allowed to contain limited-with clauses. It also contains
2770         checks that were previously done by Install_Limited_Context_Clauses.
2771         This makes the code more clear and easy to maintain.
2772         (Expand_Limited_With_Clause) It is now a local subprogram of
2773         Install_Limited_Context_Clauses, and contains the code that adds
2774         the implicit limited-with clauses for parents of child units.
2775         This functionality was prevously done by Analyze_Context.
2776
2777         * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
2778         incomplete type.
2779
2780         * sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
2781         been erroneously named in a limited-with clause of its own context.
2782         In this case the error has been previously notified by Analyze_Context.
2783
2784 2005-07-07  Ed Schonberg  <schonberg@adacore.com>
2785
2786         * sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
2787         generic package that contains local declarations with the same name.
2788         (Analyze_Object_Renaming): Check wrong renaming of incomplete type.
2789
2790 2005-07-07  Bernard Banner  <banner@adacore.com>
2791
2792         * tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
2793         ia64 platform only on platforms that you the GCC unwind library
2794         rather than the system unwind library.
2795
2796 2005-07-07  Thomas Quinot  <quinot@adacore.com>
2797
2798         * expect.c: Minor reformatting
2799
2800 2005-07-07  Sergey Rybin  <rybin@adacore.com>
2801
2802         * vms_data.ads: Add VMS qualifiers for new gnatpp switch
2803         --no-separate-is
2804
2805         * gnat_ugn.texi: Add description for new gnatpp option
2806         (--no-separate-is)
2807
2808 2005-07-04  Thomas Quinot  <quinot@adacore.com>
2809
2810         * g-expect-vms.adb, g-expect.ads, g-expect.adb
2811         (Get_Command_Output): New subprogram to launch a process and get its
2812         standard output as a string.
2813
2814 2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
2815             Olivier Hainque  <hainque@adacore.com>
2816
2817         * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
2818         fetch a code-range descriptor associated with the machine state. On
2819         failure set the machine state's PC to 0; on success, pass the
2820         descriptor to exc_virtual_unwind.
2821
2822         * init.c (Tru64 section): New function __gnat_set_code_loc.
2823
2824 2005-07-04  Vincent Celier  <celier@adacore.com>
2825
2826         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
2827         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
2828         mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
2829         Remove all auto-initialization code, as this is now done through the
2830         constructor mechanism.
2831
2832         * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
2833         __gnat_sals_init_using_constructors): New functions.
2834
2835         * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
2836         Linker_Constructor and Linker_Destructor when switch -a is used.
2837
2838         * bindusg.adb: Add line for new switch -a
2839
2840         * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
2841         (Gnatbind): When switch -a is used, check if it is allowed
2842
2843         * switch-b.adb (Scan_Binder_Switches): Process new switch -a
2844
2845 2005-07-04  Joel Brobecker  <brobecker@adacore.com>
2846
2847         * a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
2848         This prevents us from hitting a limitation during the debug info
2849         generation when using stabs.
2850         (Prims_Ptr): Likewise.
2851
2852 2005-07-04  Gary Dismukes  <dismukes@adacore.com>
2853             Ed Schonberg  <schonberg@adacore.com>
2854             Javier Miranda  <miranda@adacore.com>
2855
2856         * checks.adb (Null_Exclusion_Static_Checks): In the case of
2857         N_Object_Declaration, only perform the checks if the Object_Definition
2858         is not an Access_Definition.
2859
2860         * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
2861         where the parent of an the access definition is an N_Object_Declaration
2862         when determining the Associated_Node_For_Itype and scope of an
2863         anonymous access-to-subprogram type.
2864
2865         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
2866         Corresponding_Spec on the body created for a null procedure. Add ???
2867         comment. Remove New_Copy_Tree call on body argument to
2868         Set_Body_To_Inline.
2869
2870         * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
2871         discriminants, use the type of the actual as well, because the
2872         discriminants may be read by the called subprogram.
2873
2874         * sem_ch3.adb (Access_Type_Declaration): If the designated type is an
2875         access type we do not need to handle non-limited views.
2876         (Build_Derived_Record_Type): Additional check to check that in case of
2877         private types, interfaces are only allowed in private extensions.
2878
2879 2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
2880
2881         * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
2882         <Pragma_Linker_Destructor>: Likewise.
2883
2884         * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
2885         Pragma_Linker_Destructor.
2886
2887         * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
2888         ATTR_LINK_DESTRUCTOR.
2889         (static_ctors, static_dtors): New variables.
2890
2891         * misc.c (gnat_expand_body): Output current function as constructor
2892         and destructor if requested.
2893
2894         * par-prag.adb: Add processing for pragma Linker_Constructor and
2895         Linker_Destructor.
2896
2897         * sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
2898         extracted from Check_Interrupt_Or_Attach_Handler.
2899         (Check_Interrupt_Or_Attach_Handler): Invoke it.
2900         Implement pragma Linker_Constructor and Linker_Destructor with the
2901         help of Find_Unique_Parameterless_Procedure.
2902         Replace Name_Alias with Name_Target for pragma Linker_Alias.
2903
2904         * snames.h, snames.ads, snames.adb:
2905         Add Name_Linker_Constructor and Name_Linker_Destructor.
2906         Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
2907         * snames.adb: Remove Name_Alias.
2908
2909         * trans.c: Include cgraph.h.
2910         (build_global_cdtor): New function.
2911         (Compilation_Unit_to_gnu): Build global constructor and destructor if
2912         needed.
2913         (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
2914         of objects too.
2915         (addressable_p) <COMPONENT_REF>: Unconditionally test
2916         DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
2917
2918         * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
2919         variable if it is external.
2920
2921         (static_ctors, static_dtors): New global variables.
2922         (process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
2923         <ATTR_LINK_DESTRUCTOR>: Likewise.
2924         (end_subprog_body): Chain function as constructor and destructor
2925         if requested.
2926
2927         * exp_util.adb (Force_Evaluation): Unconditionally invoke
2928         Remove_Side_Effects with Variable_Ref set to true.
2929         (Remove_Side_Effects): Handle scalar types first. Use a renaming
2930         for non-scalar types even if Variable_Ref is true and for class-wide
2931         expressions.
2932
2933 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
2934
2935         * exp_attr.adb (Mod): Evaluate condition expression with checks off,
2936         to prevent spurious warnings.
2937
2938 2005-07-04  Thomas Quinot  <quinot@adacore.com>
2939
2940         * exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
2941         Itypes. Itypes are really unexpected there.
2942         (Build_TypeCode_Function): Generalise special processing for Itypes to
2943         handle the case of numeric implicit base types as well as enumerated
2944         ones.
2945
2946 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
2947
2948         * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
2949         controlled, indicate the expected type of the dereference that is
2950         created for the call to Deep_Finalize, to prevent spurious errors when
2951         the designated type is private and completed with a derivation from
2952         another private type.
2953
2954 2005-07-04  Vincent Celier  <celier@adacore.com>
2955
2956         * make.adb (Change_To_Object_Directory): When unable to change the
2957         current dir to the object directory, output the full path of the
2958         directory.
2959
2960 2005-07-04  Matthew Gingell  <gingell@adacore.com>
2961
2962         * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
2963
2964         * indepsw-linux.adb: Replace by...
2965
2966         * indepsw-gnu.adb: ...this new file
2967
2968 2005-07-04  Vincent Celier  <celier@adacore.com>
2969
2970         * mlib-prj.adb (Auto_Initialize): New constant String
2971         (SALs_Use_Constructors): New Boolean function
2972         (Build_Library): Call gnatbind with Auto_Initialize switch when
2973         SALs_Use_Constructors returns True.
2974
2975         * mlib-tgt.ads: Minor reformatting
2976
2977         * mlib-utl.ads: Minor reformatting
2978
2979         * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
2980
2981 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
2982
2983         * par-ch9.adb (P_Task, P_Protected): Indicate that single task and
2984         single protected declarations can have an interface list.
2985         (P_Entry_Declaration): Add handler for Error_Resync, which can be raised
2986         with seriously malformed entry declarations, and lead to compilation
2987         abandoned messages.
2988
2989 2005-07-04  Javier Miranda  <miranda@adacore.com>
2990
2991         * par-load.adb: Load the context items in two rounds.
2992
2993 2005-07-04  Robert Dewar  <dewar@adacore.com>
2994
2995         * scng.adb: Do not consider Mod used as an attribute to be a keyword
2996
2997 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
2998             Javier Miranda  <miranda@adacore.com>
2999
3000         * sem_ch10.adb (Build_Limited_Views): A type declared with a private
3001         type extension needs a limited view.
3002         Remove previous restriction on private types available through the
3003         limited-view (only tagged private types were previously allowed).
3004         (Install_Withed_Unit): In the code that implements the
3005         legality rule given in AI-377, exclude a child unit with the name
3006         Standard, because it is a homonym of the Standard environment package.
3007
3008 2005-07-04  Thomas Quinot  <quinot@adacore.com>
3009
3010         * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
3011         overloaded function call, carry interpretations from the original tree
3012         to the copy.
3013
3014 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
3015
3016         * sem_ch6.adb (Conforming_Types): If the types are anonymous access
3017         types check whether some designated type is a limited view, and use
3018         the non-limited view if available.
3019
3020 2005-07-04  Gary Dismukes  <dismukes@adacore.com>
3021
3022         * sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
3023         constraint of full view of a private view T1 if present, when T2 is a
3024         discriminated full view.
3025
3026 2005-07-04  Thomas Quinot  <quinot@adacore.com>
3027
3028         * sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
3029         actual that is a view conversion of a bit packed array reference.
3030
3031 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
3032
3033         * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
3034         present before checking whether an interface type covers a synchronized
3035         type.
3036
3037 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
3038
3039         * sem_util.adb (Is_Object_Reference): An indexed or selected component
3040         whose prefix is an implicit dereference is an object reference. Removes
3041         spurious errors when compiling with -gnatc.
3042
3043 2005-07-04  Robert Dewar  <dewar@adacore.com>
3044
3045         PR ada/22039
3046
3047         * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
3048
3049 2005-07-04  Matthew Gingell  <gingell@adacore.com>
3050
3051         * tracebak.c: Enable tracebacks on ia64 platforms
3052
3053 2005-07-04  Vincent Celier  <celier@adacore.com>
3054
3055         * vms_conv.adb (Initialize): Allow multiple ALI files to be given to
3056         the GNAT BIND command, as gnatbind accepts multiples ALI files with
3057         the -L or -n switches.
3058
3059 2005-07-04  Vincent Celier  <celier@adacore.com>
3060
3061         * makegpr.adb (Build_Global_Archive): Make sure the list of sources is
3062         correctly computed and the main project data is not modified while
3063         doing so.
3064         (Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
3065         (Choose_C_Plus_Plus_Link_Process): Do not generate shell script
3066         c++linker as this does not work on some platforms.
3067
3068 2005-07-04  Matthew Heaney  <heaney@adacore.com>
3069
3070         * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
3071         was changed.
3072         * a-coinve.adb: Perform constraint checks explicitly.
3073
3074 2005-07-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3075             Thomas Quinot  <quinot@adacore.com>
3076
3077         * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
3078         new target gen-soccon.
3079
3080 2005-07-04  Robert Dewar  <dewar@adacore.com>
3081
3082         * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
3083
3084 2005-07-04  Thomas Quinot  <quinot@adacore.com>
3085
3086         * g-socket.ads (Check_Selector): Minor rewording of comment.
3087
3088 2005-07-04  Vincent Celier  <celier@adacore.com>
3089
3090         * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
3091
3092 2005-07-04  Thomas Quinot  <quinot@adacore.com>
3093
3094         * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
3095
3096 2005-07-04  Sergey Rybin  <rybin@adacore.com>
3097
3098         * gnat_ugn.texi: Add description of --eol gnatpp option
3099
3100 2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
3101             Thomas Quinot  <quinot@adacore.com>
3102
3103         * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
3104         if the user wants all calls of a subprogram to be flagged,
3105         independently of whether they are made from within the same unit or
3106         another unit.
3107         Mention restriction for pragma Linker_Alias on some platforms.
3108         Document pragma Linker_Constructor and Linker_Destructor.
3109         Rewrite documentation of Weak_External, Linker_Section and
3110         Linker_Alias pragmas.
3111
3112 2005-07-04  Arnaud Charlet  <charlet@adacore.com>
3113
3114         * s-stausa.ads, s-stausa.adb: New files.
3115
3116 2005-06-30  Kelley Cook
3117
3118         * all files:  Update FSF address in copyright headers.
3119         * gen-soccon.co (main): Output new FSF address in generated files.
3120
3121 2005-06-28  Paul Brook  <paul@codesourcery.com>
3122
3123         * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
3124
3125 2005-06-14  Olivier Hainque  <hainque@adacore.com>
3126             Eric Botcazou  <ebotcazou@adacore.com>
3127
3128         * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
3129         exc_unwind, now that we are generating proper .debug_frame output for
3130         that target.
3131
3132         * tracebak.c: Remove the mips-irix section, as we are now using the
3133         s-mastop based unwinder again.
3134         Under SPARC/Solaris, take into account the stack bias to compute the
3135         frame offset.  The stack bias is 0 for the V8 ABI and 2047 for the V9
3136         ABI.
3137
3138 2005-06-14  Doug Rupp  <rupp@adacore.com>
3139
3140         * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
3141
3142         * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
3143
3144 2005-06-14  Pascal Obry  <obry@adacore.com>
3145
3146         * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
3147         a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
3148         a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
3149         package name).
3150
3151         * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
3152         a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
3153         a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
3154         a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
3155         a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
3156         a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
3157         a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
3158         s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
3159         s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
3160         s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
3161         s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
3162         s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
3163         s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
3164         s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
3165         s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
3166         s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
3167         s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
3168         s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
3169         s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
3170         s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
3171         s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
3172         s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
3173         s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
3174         s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
3175         s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
3176         s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
3177         s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
3178         s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
3179         s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
3180         s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
3181         a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
3182         a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
3183         a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
3184         a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
3185         a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
3186         a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
3187         a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
3188         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
3189         a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
3190         a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
3191         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
3192         a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
3193         a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
3194         a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
3195         a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
3196         a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
3197         a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
3198         a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
3199         a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
3200         a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
3201         a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
3202         a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
3203         a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
3204         a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
3205         a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
3206         a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
3207         a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
3208         dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
3209         g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
3210         g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
3211         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
3212         g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
3213         g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
3214         gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
3215         g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
3216         i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
3217         s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
3218         s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
3219         s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
3220         s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
3221         s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
3222         s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
3223         s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
3224         s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
3225         s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
3226         s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
3227         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
3228         s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
3229         s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
3230         s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
3231         s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
3232         s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
3233         s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
3234         s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
3235         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
3236         s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
3237         s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
3238         s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
3239         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
3240         s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
3241         s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
3242         s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
3243         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
3244         s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
3245         s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
3246         s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
3247         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
3248         s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
3249         s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
3250         s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
3251         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
3252         s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
3253         s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
3254         s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
3255         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
3256         s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
3257         s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
3258         s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
3259         s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
3260         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
3261         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
3262         s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
3263         s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
3264         s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
3265         s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
3266         s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
3267         s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
3268         s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
3269         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
3270         s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
3271         s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
3272         s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
3273         s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
3274         a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
3275         a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
3276         a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
3277         a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
3278         a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
3279         a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
3280         a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
3281         a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
3282         a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
3283         "GNU Ada" to GNAT, use proper casing for RUN-TIME.
3284
3285 2005-06-14  Jose Ruiz  <ruiz@adacore.com>
3286             Arnaud Charlet  <charlet@adacore.com>
3287
3288         * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
3289         longer protected objects. They have been replaced by lower-level
3290         suspension objects made up by a mutex and a condition variable (or
3291         their equivalent given a particular OS) plus some internal data to
3292         reflect the state of the suspension object.
3293         (Initialize, Finalize): Add this initialization procedure for
3294         Suspension_Object, which is a controlled type.
3295         (Finalize): Add the finalization procedure for Suspension_Object,
3296         which is a controlled type.
3297
3298         * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
3299         Ada.Synchronous_Task_Control because there is no longer a need for a
3300         VxWorks specific version of this package. Target dependencies
3301         has been moved to System.Task_Primitives.Operations.
3302
3303         * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
3304         longer needed.
3305         (InitializeCriticalSection, EnterCriticalSection,
3306         LeaveCriticalSection, DeleteCriticalSection): Replace the type
3307         pCriticalSection by an anonymous access type so that we avoid problems
3308         of accessibility to local objects.
3309
3310         * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
3311         s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
3312         s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
3313         s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
3314         s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
3315         set the environment task mask here.
3316         (Current_State): Add this function that returns the state of the
3317         suspension object.
3318         (Set_False): Add this procedure that sets the state of the suspension
3319         object to False.
3320         (Set_True): Add this procedure that sets the state of the suspension
3321         object to True, releasing the task that was suspended, if any.
3322         (Suspend_Until_True): Add this procedure that blocks the calling task
3323         until the state of the object is True. Program_Error is raised if
3324         another task is already waiting on that suspension object.
3325         (Initialize): Add this procedure for initializing the suspension
3326         object. It initializes the mutex and the condition variable which are
3327         used for synchronization and queuing, and it sets the internal state
3328         to False.
3329         (Finalize): Add this procedure for finalizing the suspension object,
3330         destroying the mutex and the condition variable.
3331
3332         * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
3333         s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
3334         s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
3335         s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
3336         which provides a low-level abstraction (using operating system
3337         primitives) for Ada.Synchronous_Task_Control.
3338         This object is made up by a mutex (for ensuring mutual exclusion), a
3339         condition variable (for queuing threads until the condition is
3340         signaled), a Boolean (State) indicating whether the object is open,
3341         and a Boolean (Waiting) reflecting whether there is a task already
3342         suspended on this object.
3343
3344         * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
3345         s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
3346         s-intman-vms.ads, s-intman-mingw.adb,
3347         (Initialize_Interrupts): Removed, no longer used.
3348
3349         * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
3350         (Setup_Interrupt_Mask): New procedure.
3351
3352         * s-intman-vxworks.ads, s-intman-vxworks.adb:  Update comments.
3353
3354         * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
3355
3356         * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
3357         this is no longer done in the body of s-taprop
3358         (Server_Task): Explicitely test for Pending_Action in case
3359         System.Parameters.No_Abort is True.
3360
3361         * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
3362         is no longer done in the body of s-taprop
3363
3364 2005-06-14  Robert Dewar  <dewar@adacore.com>
3365
3366         * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
3367         system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
3368         system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
3369         system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
3370         system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
3371         system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
3372         system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
3373         system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
3374         system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
3375         system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
3376         system-linux-hppa.ads, system-vms_64.ads,
3377         system-vxworks-alpha.ads: Minor comment update for
3378         AI-362 (unit is Pure).
3379
3380         * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
3381         Add pragma Pure_05 for AI-362
3382         Make remaining conversion functions obsolescent in Ada 95
3383
3384         * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
3385         Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
3386         Add entries for a-wichun and a-zchuni
3387         Add a-widcha a-zchara for AI-395
3388         Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
3389
3390         * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
3391         Add entries for a-wichun.o and a-zchuni.o
3392         Entries for a-widcha.o and a-zchara.o
3393         Add entry for a-chacon.o
3394
3395         * a-ztenau.adb: Add with of Ada.Characters.Conversions
3396
3397         * a-chacon.ads, a-chacon.adb: New files.
3398
3399         * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
3400         categorization violations.
3401
3402         * a-strmap.ads: Add pragma Pure_05 for AI-362
3403         * a-strmap.ads: Add note on implicit categorization for AI-362
3404
3405         * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
3406
3407         * par-prag.adb: Dummy entry for pragma Persistent_BSS
3408         Set Ada_Version_Explicit, for implementation of AI-362
3409         Add processing for pragma Pure_05 and Preelaborate_05
3410         Add entry for Assertion_Policy pragma
3411
3412         * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
3413         when needed for proper processing of categorization stuff
3414
3415         * sem_cat.adb:
3416         For several cases, make errors in preealborate units warnings,
3417         instead of errors, if GNAT_Mode is set. For AI-362.
3418
3419         * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
3420         preelaborate unit is now warning if in GNAT mode
3421
3422         * s-stoele.ads: Document AI-362 for pragma preelaborate
3423
3424 2005-06-14  Doug Rupp  <rupp@adacore.com>
3425
3426         * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
3427         s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
3428         Default_Exception_Msg_Max_Length: new parameter.
3429
3430         * a-except.ads: (Exception_Msg_Max_Length): Set to
3431         System.Parameters.Default_Exception_Msg_Max_Length
3432         Add pragma Preelaborate_05 for AI-362
3433         Add warnings off to allow categorization violations for AI-362
3434
3435 2005-06-14  Vincent Celier  <celier@adacore.com>
3436
3437         * gnatsym.adb: Adapt to modification of package Symbols: procedure
3438         Process is now in package Processing.
3439
3440         * symbols.ads, symbols.adb:
3441         (Processing): New package, containing procedure Process
3442
3443         * symbols-vms-alpha.adb:
3444         Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
3445
3446         * symbols-vms.adb, symbols-processing-vms-alpha.adb,
3447         symbols-processing-vms-ia64.adb: New files.
3448
3449 2005-06-14  Pascal Obry  <obry@adacore.com>
3450
3451         * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
3452         implementation. This new version generates the proper DllMain routine
3453         to initialize the SAL. The DllMain is generated in Ada and compiled
3454         before being added as option to the library build command.
3455
3456 2005-06-14  Doug Rupp  <rupp@adacore.com>
3457             Pascal Obry  <obry@adacore.com>
3458
3459         * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
3460         call to decc$translate_vms.
3461         (__gnat_locate_regular_file): Check if the path_val contains quotes. We
3462         need to remove those quotes before catenating the filename.
3463         (__gnat_locate_exec_on_path): improvements to the Win32 section:
3464         * avoid allocating the memory twice for better efficiency;
3465         * allocate 32K buffer for environment expansion as suggested by MSDN;
3466         * prepend ".;" to the path so that current directory is searched too.
3467
3468 2005-06-14  Robert Dewar  <dewar@adacore.com>
3469
3470         * a-except.adb (Exception_Identity): return Null_Id for null occurrence
3471         instead of raising CE (AI-241)
3472         Add warnings off to allow categorization violations for AI-362
3473
3474 2005-06-14  Robert Dewar  <dewar@adacore.com>
3475
3476         * ali-util.adb, gnatbind.adb: Remove references to
3477         Force_RM_Elaboration_Order.
3478
3479         * switch-b.adb: Remove recognition of -f switch
3480
3481 2005-06-14  Pascal Obry  <obry@adacore.com>
3482
3483         * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
3484         implementation which is slightly more efficient.
3485
3486 2005-06-14  Gary Dismukes  <dismukes@adacore.com>
3487             Javier Miranda  <miranda@adacore.com>
3488             Ed Schonberg  <schonberg@adacore.com>
3489             Hristian Kirtchev  <kirtchev@adacore.com>
3490
3491         * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
3492         allocator's designated type is a class-wide type, and compiling for
3493         Ada 2005, emit a run-time check that the accessibility level of the
3494         type given in the allocator's expression is not deeper than the level
3495         of the allocator's access type.
3496
3497         (Tagged_Membership): Modified to gives support to abstract interface
3498         types.
3499
3500         * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
3501         Access_Level.
3502         (Descendant_Tag): New predefined function
3503         (Is_Descendant_At_Same_Level): New predefined function
3504         (Get_Access_Level): New private function
3505         (Set_Access_Level): New private procedure
3506         (IW_Membership): New function. Given the tag of an object and the tag
3507         associated with an interface, evaluate if the object implements the
3508         interface.
3509         (Register_Interface_Tag): New procedure used to initialize the table of
3510         interfaces used by the IW_Membership function.
3511         (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
3512         of the dispatch table.
3513         (Inherit_TSD): Modified to copy the table of ancestor tags plus the
3514         table of interfaces of the parent.
3515         (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
3516         (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
3517         (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
3518         and raise Tag_Error if the passed tag equalis No_Tag, to conform with
3519         Ada 2005 semantics for the new predefined function.
3520
3521         * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
3522         call to Descendant_Tag rather than Internal_Tag.
3523         (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
3524         the accessibility level of the attribute's Item parameter is not deeper
3525         than the level of the attribute's prefix type. Tag_Error is raised if
3526         the check fails. The check is only emitted for Ada_05.
3527         (Find_Stream_Subprogram): If a TSS exists on the type itself for the
3528         requested stream attribute, use it.
3529         (Expand_N_Attribute_Reference): If the designated type is an interface
3530         then rewrite the referenced object as a conversion to force the
3531         displacement of the pointer to the secondary dispatch table.
3532         (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
3533         is a dereference of an object with a constrained partial view.
3534
3535         * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
3536         type is a class-wide type, emit a run-time check that the accessibility
3537         level of the returned object is not deeper than the level of the
3538         function's master (only when compiling for Ada 2005).
3539
3540         * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
3541         Action_Nb_Arg): Add entries for new Get_Access_Level and
3542         Set_Access_Level routines in these tables.
3543         (Make_DT): Generate a call to set the accessibility level of the
3544         tagged type in its TSD.
3545         (Make_DT): Code cleanup. The functionality of generating all the
3546         secondary dispatch tables has been moved to freeze_record_type.
3547         (Make_Abstract_Interface_DT): Minor code cleanup.
3548         (Set_All_DT_Position): Code cleanup. As part of the code cleanup
3549         this subprogram implements a new algorithm that provides the
3550         same functionality and it is more clear in case of primitives
3551         associated with abstract interfaces.
3552         (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
3553         clean up, the functionality of this subprogram is now provided
3554         by Set_All_DT_Position.
3555         (Write_DT): New subprogram: a debugging procedure designed to be called
3556         within gdb to display the dispatch tables associated with a tagged
3557         type.
3558         (Collect_All_Interfaces): New subprogram that collects the whole list
3559         of interfaces that are directly or indirectly implemented by a tagged
3560         type.
3561         (Default_Prim_Op_Position): New subprogram that returns the fixed
3562         position in the dispatch table of the default primitive operations.
3563         (Expand_Interface_Actuals): New subprogram to generate code that
3564         displaces all the actuals corresponding to class-wide interfaces to
3565         reference the interface tag of the actual object.
3566         (Expand_Interface_Conversion): New subprogram. Reference the base of
3567         the object to give access to the interface tag associated with the
3568         secondary dispatch table.
3569         (Expand_Interface_Thunk): New subprogram that generates the code of the
3570         thunk. This is required for compatibility with the C+ ABI.
3571         (Make_Abstract_Interface_DT): New subprogram that generate the
3572         declarations for the secondary dispatch tables associated with an
3573         abstract interface.
3574         (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
3575         attribute for each primitive operation covering interface subprograms
3576         (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
3577         These subprograms were upgraded to give support to abstract interfaces
3578
3579         * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
3580         RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
3581         RE_Set_Access_Level.
3582         (RE_Unit_Table): Add entries for new Ada.Tags operations.
3583         Add support to call the followig new run-time subprograms:
3584         IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
3585
3586         * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
3587         match its full declaration when both have an access definition with
3588         statically matching designated subtypes.
3589         (Analyze_Component_Declaration): Delete commented out code that was
3590         incorrectly setting the scope of an anonymous access component's type.
3591         (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
3592         an access discriminant when the containing type is nonlimited.
3593         (Make_Incomplete_Type_Declaration): Create an incomplete type
3594         declaration for a record type that includes self-referential access
3595         components.
3596         (Check_Anonymous_Access_Types): Before full analysis of a record type
3597         declaration, create anonymous access types for each self-referential
3598         access component.
3599         (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
3600         an access component in this context is a Local_Anonymous_Access, for
3601         proper accessibility checks.
3602         (Access_Definition): Set properly the scope of the anonymous access type
3603         created for a stand-alone access object.
3604         (Find_Type_Of_Object): An object declaration may be given with an access
3605         definition.
3606         (Complete_Subprograms_Derivation): New subprogram used to complete
3607         type derivation of private tagged types implementing interfaces.
3608         In this case some interface primitives may have been overriden
3609         with the partial-view and, instead of re-calculating them, they
3610         are included in the list of primitive operations of the full-view.
3611         (Build_Derived_Record_Type): Modified to give support to private
3612         types implemening interfaces.
3613         (Access_Definition): Reject ALL on anonymous access types.
3614         (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
3615         type derivation to occur at a deeper accessibility level than the
3616         parent type.
3617         For the case of derivation within a generic body however, disallow the
3618         derivation if the derived type has an ancestor that is a formal type
3619         declared in the formal part of an enclosing generic.
3620         (Analyze_Object_Declaration): For protected objects, remove the check
3621         that they cannot contain interrupt handlers if not declared at library
3622         level.
3623         (Add_Interface_Tag_Components): New subprogram to add the tag components
3624         corresponding to all the abstract interface types implemented by a
3625         record type or a derived record type.
3626         (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
3627         Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
3628         Process_Full_View, Record_Type_Declaration): Modified to give
3629         support to abstract interface types
3630         (Collect_Interfaces): New subprogram that collects the list of
3631         interfaces that are not already implemented by the ancestors
3632         (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
3633         when partial view has no discriminants and full view has defaults.
3634         (Constrain_Access): Reject a constraint on a general access type
3635         if the discriminants of the designated type have defaults.
3636         (Access_Subprogram_Declaration): Associate the Itype node with the inner
3637         full-type declaration or subprogram spec. This is required to handle
3638         nested anonymous declarations.
3639         (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
3640         Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
3641         Process_Full_View, Record_Type_Declaration): Modified to give
3642         support to abstract interface types
3643         (Derive_Subprograms): Addition of a new formal to indicate if
3644         we are in the case of an abstact-interface derivation
3645         (Find_Type_Of_Subtype_Indic): Moved from the body of the package
3646         to the specification because it is requied to analyze all the
3647         identifiers found in a list of interfaces
3648
3649         * debug.adb: Complete documentation of flag "-gnatdZ"
3650
3651         * exp_ch3.adb: Implement config version of persistent_bss pragma
3652         (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
3653         testing for TSS presence to properly enforce visibility rules.
3654         (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
3655         Make_Abstract_Interfaces_DT to generate the secondary tables
3656         associated with abstract interfaces.
3657         (Build_Init_Procedure): Modified to initialize all the tags
3658         corresponding.
3659         (Component_Needs_Simple_Initialization): Similar to other tags,
3660         interface tags do not need initialization.
3661         (Freeze_Record_Type): Modified to give support to abstract interface
3662         types.
3663         (Expand_N_Object_Declaration): Do not generate an initialization for
3664         a scalar temporary marked as internal.
3665
3666         * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
3667         in-out parameter that is a component in an initialization procedure,
3668         whose constraint might depend on discriminants, and that may be
3669         misaligned because of packing or representation clauses.
3670         (Is_Legal_Copy): New predicate to determine whether a possibly
3671         misaligned in-out actual can actually be passed by copy/return. This
3672         is an error in case the type is by_reference, and a warning if this is
3673         the consequence of a DEC import pragma on the subprogram.
3674         (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
3675         interface types
3676         (Expand_Inlined_Call): Mark temporary generated for the return value as
3677         internal, so that no useless scalar normalization is generated for it.
3678         (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
3679         null procedure can always be inlined.
3680         (Expand_N_Subprogram_Declaration): If this is the declaration of a null
3681         procedure, generate an explicit empty body for it.
3682
3683         * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
3684         Given a type implementing an interface, returns the corresponding
3685         access_disp_table value.
3686         (Find_Interface_Tag): New subprogram. Given a type implementing an
3687         interface, returns the record component containing the tag of the
3688         interface.
3689         (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
3690         previous ones that return the corresponding tag and access_disp_table
3691         entities.
3692         (Is_Predefined_Dispatching_Operation): Determines if a subprogram
3693         is a predefined primitive operation.
3694         (Expand_Subtype_From_Expr): If the expression is a selected component
3695         within an initialization procedure, compute its actual subtype, because
3696         the component may depend on the discriminants of the enclosing record.
3697
3698         * i-cpp.ads, i-cpp.adb:
3699         This package has been left available for compatibility with previous
3700         versions of the frontend. As part of the new layout this is now a
3701         dummy package that uses declarations available at a-tags.ads
3702
3703         * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
3704         "constant access" and "aliased [constant] access" when not compiling
3705         with -gnat05.
3706         Suppress Ada 2005 keyword warning if -gnatwY used
3707         (P_Identifier_Declarations): Add support for object declarations with
3708         access definitions.
3709         (Private_Extension_Declaration): Complete the documentation
3710         (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
3711         attribute in case of private extension declaration
3712         (P_Type_Declaration): Mark as "abstract" the type declarations
3713         corresponding with protected, synchronized and task interfaces
3714         (P_Declarative_Items): "not" and "overriding" are overriding indicators
3715         for a subprogram or instance declaration.
3716
3717         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
3718         instantiation that is a dispatching operation has controlling access
3719         parameters that are null excluding.
3720         Save and restore Ada_Version_Explicit, for implementation of AI-362
3721         (Validate_Derived_Type_Instance): Add check for abstract interface
3722         types.
3723         (Analyze_Formal_Package): Establish Instantiation source for the copy of
3724         the generic that is created to represent the formal package.
3725         (Analyze_Package_Instantiation): Instantiate body immediately if the
3726         package is a predefined unit that contains inlined subprograms, and
3727         we are compiling for a Configurable_Run_Time.
3728         (Instantiate_Formal_Subprogram): Indicate that null default subprogram
3729         If the program has a null default, generate an empty body for it.
3730
3731         * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
3732         error message condition, null procedures are correctly detected now.
3733         (New_Overloaded_Entity): Bypass trivial overriding indicator check
3734         for subprograms in the context of protected types. Instead, the
3735         indicator is examined in Sem_Ch9 while analysing the subprogram
3736         declaration.
3737         (Check_Overriding_Indicator): Check consistency of overriding indicator
3738         on subprogram stubs as well.
3739         (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
3740         the library level.
3741         (Analize_Subprogram_Specification): When analyzing a subprogram in which
3742         the type of the first formal is a concurrent type, replace this type
3743         by the corresponding record type.
3744         (Analyze_Subprogram_Body): Undo the previous work.
3745         (Analyze_Procedure_Call): If the call has the form Object.Op, the
3746         analysis of the prefix ends up analyzing the call itself, after which
3747         we are done.
3748         (Has_Interface_Formals): New subprogram subsidiary to analyze
3749         subprogram_specification that returns true if some non
3750         class-wide interface subprogram is found
3751         (New_Overloaded_Entity): Modified to give support to abstract
3752         interface types
3753         (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
3754         access to subprograms must be recursive.
3755         (Is_Unchecked_Conversion): Improve the test that recognizes
3756         instantiations of Unchecked_Conversion, and allows them in bodies that
3757         are to be inlined by the front-end. When the body comes from an
3758         instantiation, a reference to Unchecked_Conversion will be an
3759         Expanded_Name, even though the body has not been analyzed yet.
3760         Replace Is_Overriding and Not_Overriding in subprogram_indication with
3761         Must_Override and Must_Not_Override, to better express intent of AI.
3762         (Analyze_Subprogram_Body): If an overriding indicator is given, check
3763         that it is consistent with the overrinding status of the subprogram
3764         at this point.
3765         (Analyze_Subprogram_Declaration): Indicate that a null procedure is
3766         always inlined.
3767         If the subprogram is a null procedure, indicate that it does not need
3768         a completion.
3769
3770         * sem_disp.adb (Check_Controlling_Type): Give support to entities
3771         available through limited-with clauses.
3772         (Check_Dispatching_Operation): A stub acts like a body, and therefore is
3773         allowed as the last primitive of a tagged type if it has no previous
3774         spec.
3775         (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
3776         to give support to abstract interface types
3777
3778         * sem_res.adb (Valid_Conversion): Perform an accessibility level check
3779         in the case where the target type is an anonymous access type of an
3780         object or component (that is, when Is_Local_Anonymous_Access is true).
3781         Prevent the special checks for conversions of access discriminants in
3782         the case where the discriminant belongs to a nonlimited type, since
3783         such discriminants have their accessibility level defined in the same
3784         way as a normal component of an anonymous access type.
3785         (Resolve_Allocator): When an allocator's designated type is a class-wide
3786         type, check that the accessibility level of type given in the
3787         allocator's expression or subtype indication is not statically deeper
3788         than the level of the allocator's access type.
3789         (Check_Discriminant_Use): Diagnose discriminant given by an expanded
3790         name in a discriminant constraint of a record component.
3791         (Resolve_Explicit_Dereference): Do not check whether the type is
3792         incomplete when the dereference is a use of an access discriminant in
3793         an initialization procedure.
3794         (Resolve_Type_Conversion): Handle conversions to abstract interface
3795         types.
3796         (Valid_Tagged_Conversion): The conversion of a tagged type to an
3797         abstract interface type is always valid.
3798         (Valid_Conversion): Modified to give support to abstract interface types
3799         (Resolve_Actuals): Enable full error reporting on view conversions
3800         between unrelated by_reference array types.
3801         The rule for view conversions of arrays with aliased components is
3802         weakened in Ada 2005.
3803         Call to obsolescent subprogram is now considered to be a violation of
3804         pragma Restrictions (No_Obsolescent_Features).
3805         (Check_Direct_Boolean_Operator): If the boolean operation has been
3806         constant-folded, there is nothing to check.
3807         (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
3808         check on possible violation of restriction No_Direct_Boolean_Operators
3809         until after expansion of operands, to prevent spurious errors when
3810         operation is constant-folded.
3811
3812         * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
3813         Has_Compatible_Type): Modified to give support to abstract interface
3814         types.
3815         (Interface_Present_In_Ancestor): New function to theck if some ancestor
3816         of a given type implements a given interface
3817
3818         * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
3819         prefix is a parameterless function that returns an access_to_procedure.
3820         (Transform_Object_Operation): Handle properly function calls of the
3821         form Obj.Op (X), which prior to analysis appear as indexed components.
3822         (Analyze_One_Call): Complete the error notification to help new Ada
3823         2005 users.
3824         (Analyze_Allocator): For an allocator without an initial value, where
3825         the designated type has a constrained partial view, a discriminant
3826         constraint is illegal.
3827
3828 2005-06-14  Robert Dewar  <dewar@adacore.com>
3829
3830         * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
3831         do with treatment of Set_Col when positioned at end of line character.
3832
3833 2005-06-14  Robert Dewar  <dewar@adacore.com>
3834
3835         * atree.adb: (Elist*): Protect against uninitialized field
3836
3837 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
3838
3839         * checks.adb (Install_Null_Excluding_Check): Do not generate checks
3840         for an attribute reference that returns an access type.
3841         (Apply_Discriminant_Check): No need for check if (designated) type has
3842         constrained partial view.
3843
3844         (Apply_Float_Conversion_Check): Generate a short-circuit expression for
3845         both bound checks, rather than a conjunction.
3846         (Insert_Valid_Check): If the expression is an actual that is an indexed
3847         component of a bit-packed array, force expansion of the packed element
3848         reference, because it is specifically inhibited elsewhere.
3849
3850 2005-06-14  Vincent Celier  <celier@adacore.com>
3851
3852         * clean.adb (Clean_Project): Correctly delete executable specified as
3853         absolute path names.
3854
3855         * make.adb (Gnatmake): Allow relative executable path names with
3856         directory information even when project files are used.
3857         (Change_To_Object_Directory): Fail gracefully when unable to change
3858         current working directory to object directory of a project.
3859         (Gnatmake): Remove exception handler that could no longer be exercized
3860         (Compile_Sources.Compile): Use deep copies of arguments, as some of them
3861         may be deallocated by Normalize_Arguments.
3862         (Collect_Arguments): Eliminate empty arguments
3863
3864         * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
3865         and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
3866         (Check_Project): Return False when Project is No_Project. Return True
3867         when All_Projects is True.
3868         (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
3869         All_Projects to True.
3870         Minor reformatting
3871
3872 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
3873             Javier Miranda  <miranda@adacore.com>
3874             Thomas Quinot  <quinot@adacore.com>
3875             Robert Dewar  <dewar@adacore.com>
3876             Hristian Kirtchev  <kirtchev@adacore.com>
3877             Gary Dismukes  <dismukes@adacore.com>
3878
3879         * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
3880         anonymous access types, to indicate that the accessibility level of
3881         the type is determined by that of the enclosing declaration.
3882         (Has_Persistent_BSS): New flag
3883         (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
3884         of this attribute with functions.
3885         (Is_Primitive_Wrapper): Remove the barrier.
3886         (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
3887         Has_Specified_Stream_Read, Has_Specified_Stream_Write):
3888         New subprograms.
3889         (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
3890         Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
3891         New subprograms.
3892         (Is_Pure_Unit_Access_Type): New flag
3893         (Abstract_Interfaces): Complete the assertion to cover all usages.
3894         (Set_Is_Interface): Complete the assertion to cover all usages.
3895         (Is_Primitive_Wrapper): New attribute.
3896         (Is_Obsolescent): Now applies to all entities (though it is only set
3897         for subprograms currently)
3898         New flag:  Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
3899         which solves various problems concerning access subtypes.
3900         (Has_Persistent_BSS): New flag
3901         (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
3902         Remove these subprograms because this attribute is currently
3903         not used.
3904         New entity flags:
3905         Has_Specified_Stream_Input (Flag190)
3906         Has_Specified_Stream_Output (Flag191)
3907         Has_Specified_Stream_Read (Flag192)
3908         Has_Specified_Stream_Write (Flag193)
3909         Present in all type and subtype entities. Set for a given view if the
3910         corresponding stream-oriented attribute has been defined by an
3911         attribute definition clause. When such a clause occurs, a TSS is set
3912         on the underlying full view; the flags are used to track visibility of
3913         the attribute definition clause for partial or incomplete views.
3914         (Is_Pure_Unit_Access_Type): New flag
3915         Clarify use of Is_Internal.
3916         (Is_Primitive_Wrapper): New attribute present in primitive subprograms
3917         internally generated to wrap the invocation of tasks and protected
3918         types that implement interfaces.
3919         (Implementation_Base_Type): Documentation correction
3920         (Is_Obsolescent): Now applies to all entities (though it is only set
3921         for subprograms currently)
3922         New flag:  Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
3923         which solves various problems concerning access subtypes.
3924
3925         * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
3926         for examined parameters. Identify unequal parameter list lengths as
3927         non-conformant parameters.
3928         (Overriding_Possible): Do not check for "All" qualifier in declaration
3929         of controlling access parameter, following prescription of AI-404.
3930         (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
3931         that build the procedure body that wraps an entry invocation
3932         (Build_Corresponding_Record, Build_Protected_Sub_Specification,
3933         Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
3934         Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
3935         give support to abstract interface types
3936
3937         * freeze.adb (Freeze_Entity): Issue error message if
3938         Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
3939         type has no storage pool (Ada 2005) AI-366.
3940         Also modified to give support to abstract interface types
3941         (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
3942         Inline_Always pragma.
3943
3944         * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
3945         now begin an entry declaration.
3946         (P_Entry_Or_Subprogram_With_Indicator): New procedure in
3947         P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
3948         a subprogram declaration preceded by an overriding indicator.
3949         (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
3950         declarations or subprogram declarations preceded by reserved words
3951         "not" or "overriding".
3952         (P_Entry_Declaration): Update comment. Parse and check overriding
3953         indicator, set semantic flags of entry declarations.
3954         (P_Task): New error message in case of private applied
3955         to a task type declaration.
3956         (P_Protected): New error message in case of private applied
3957         to a task type declaration.
3958
3959         * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
3960         in which the full view of a type implementing an interface is a
3961         concurrent type.
3962         (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
3963         Declare_Inherited_Private_Subprograms): If an explicit operation
3964         overrides an operation that is inherited in the private part, mark the
3965         explicit one as overriding, to enable overriding indicator checks.
3966         (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
3967         full view to partial view, to simplify handling in back-end.
3968
3969         * sprint.adb: Print interface lists where needed: derived types,
3970         protected types, task types.
3971         output "is null" for null procedures. Part of implementation of
3972
3973         * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
3974         relaxation of rules for access types in pure, shared passive partitions.
3975
3976         * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
3977         first read discriminants into temporary objects, performing checks on
3978         the read values, then possibly performing discriminant checks on the
3979         actual (if it is constrained), and only finally reading the components
3980         into a constrained temporary object.
3981         (Build_Elementary_Input_Call): Adjust the specific circuitry for the
3982         case of reading discriminants of a mutable record type to recognize
3983         the new form of the code generated by
3984         Build_Mutable_Record_Read_Procedure.
3985
3986         * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
3987         of a simple call to Make_TSS_Name.
3988         (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
3989         buffer, in order for Is_TSS to work correctly on local TSS names.
3990
3991         * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
3992         Is_Local_Anonymous_Access to check legaliy of attributes in the
3993         context of  access components and stand-alone access objects.
3994         (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
3995         treated as available for a limited private type if there is an
3996         attribute_definition_clause that applies to its full view, but not in
3997         other cases where the attribute is available for the full view
3998         (specifically, the sole fact that the full view is non-limited does not
3999         make the attribute available for the partial view).
4000         (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
4001         non-overloaded intrinsic subprogram.
4002         (Check_Stream_Attribute): Reject an attribute reference for an
4003         unavailable stream attribute even if the prefix is not a limited type
4004         (case of a 'Input attribute reference for an abstract, non-classwide
4005         type)
4006         (Stream_Attribute_Available): New function to determine whether a stream
4007         attribute is available at a place.
4008         (Check_Attribute): Use Stream_Attribute_Available instead of just
4009         testing for TSS presence on the implementation base type.
4010         (Analyze_Attribute): Modified to give support to task interfaces.
4011         (Analyze_Access_Attribute): Add error check for use of an Access (or
4012         Unrestricted_Access) attribute with a subprogram marked as
4013         Inline_Always.
4014         (Analyze_Attribute, case Attribute_Address): Add error check for use of
4015         an Address attribute with a subprogram marked as Inline_Always.
4016         Update Eval_Attribute to handle new value of Width from AI-395
4017
4018         * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
4019         (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
4020         Factor common code across the stream-oriented attribute circcuits into
4021         a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
4022         processing is functionally identical to the previous duplicated one,
4023         except that an expression that denotes an abstract subprogram will now
4024         be rejected, as mandated by AI-195 item 5.
4025
4026         * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
4027         Is_Local_Anonymous_Access to apply accessibility checks to access
4028         components and stand-alone access objects.
4029         (Has_Discriminant_Dependent_Constraint): Moved to spec for use
4030         elsewhere.
4031         (Is_Potentially_Persistent_Type): New function
4032         (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
4033         a heap-object whose type has a constrained partial view, the object is
4034         unconstrained and the component may depend on a discriminant, making its
4035         renaming illegal.
4036
4037         * sinfo.ads, sinfo.adb
4038         (Must_Not_Override): Flag applicable to N_Entry_Declaration.
4039         (Must_Override): Flag applicable to N_Entry_Declaration.
4040         Indicate that interface_list can appear in single task and single
4041         protected declarations.
4042         Replace Is_Overriding and Not_Overriding with Must_Override and
4043         Must_Not_Override, to better express intent of AI.
4044         Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
4045         of an overriding indicator in a subprogram or instance.
4046         Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
4047         Add the overriding indicator [[not] overriding] construct to the
4048         following grammar productions:
4049          ENTRY_DECLARATION
4050          GENERIC_INSTANTIATION
4051          SUBPROGRAM_SPECIFICATION
4052
4053         * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
4054         can start with an overriding indicator.
4055
4056         * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
4057         flags accordingly on subrogram specifications or instances.
4058
4059         * sem_ch8.adb:
4060         (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
4061         overriding_indicator, if present, is consistent with status of spec.
4062         Improve error message for null-excluding checks on controlling access
4063         parameters.
4064         (Check_In_Previous_With_Clause): Protect the frontend against
4065         previously reported critical errors in the context clauses.
4066         Save and restore Ada_Version_Explicit, for implementation of AI-362
4067         (Analyze_Subprogram_Renaming): If the new entity is a dispatching
4068         operation verify that controlling formals of the renamed entity that
4069         are access parameters are explicitly non-null.
4070         (Find_Expanded_Name): Improve error message when prefix is an illegal
4071         reference to a private child unit.
4072
4073         * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
4074         s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
4075         Rewrite to correspond to new wide character names in AI-395
4076
4077         * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
4078         default procedures.
4079
4080 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
4081             Robert Dewar  <dewar@adacore.com>
4082
4083         * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
4084         code, not on the bodies of predefined operations, to cut down on
4085         spurious noise.
4086
4087 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
4088
4089         * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
4090         be expanded in place. The size computation does not require a
4091         subtraction, which would raise an exception on a compiler built with
4092         assertions when the upper bound is Integer'first.
4093         (Flatten): For an array of composite components, take into account the
4094         size of the components to determine whether it is safe to expand the
4095         array into a purely positional representation.
4096
4097 2005-06-14  Thomas Quinot  <quinot@adacore.com>
4098
4099         * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
4100         denoting a formal parameter into account.
4101
4102 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
4103
4104         * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
4105         the entry_call alternative of a conditional entry call, wrap the
4106         conditional entry call itself.
4107
4108 2005-06-14  Nicolas Setton  <setton@adacore.com>
4109             Ed Schonberg  <schonberg@adacore.com>
4110
4111         * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
4112         the "simple_choice" member in a variant record, in accordance with the
4113         description in the package spec: the information output for a constant
4114         should be "S number", not "SS number".
4115         (Get_Encoded_Name): Return at once if not generating code. Avoids name
4116         overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
4117
4118 2005-06-14  Thomas Quinot  <quinot@adacore.com>
4119
4120         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
4121         RACW without any primitives, do not generate the if statement for
4122         dispatching by name in the PolyORB/DSA case, as it would be malformed
4123         (it would have an Elsif_Parts list that is not No_List, but with a
4124         length of 0).
4125
4126 2005-06-14  Robert Dewar  <dewar@adacore.com>
4127
4128         * exp_intr.adb, par-ch5.adb: Minor fix to error message text
4129
4130 2005-06-14  Jose Ruiz  <ruiz@adacore.com>
4131
4132         * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
4133         can determine whether pragma Suppress_Exception_Locations is in effect.
4134
4135         * utils2.c (build_call_raise): Do not pass the file name to the
4136         exception handler if pragma Suppress_Exception_Locations is in effect.
4137         (build_allocator): Add and process arg IGNORE_INIT_TYPE.
4138
4139 2005-06-14  Emmanuel Briot  <briot@adacore.com>
4140
4141         * g-debpoo.adb (Deallocate, Dereference): Improve output.
4142
4143 2005-06-14  Nicolas Roche  <roche@adacore.com>
4144
4145         * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
4146         to ""
4147         (Next_Level): Fix minor bug in handling of ../dir case
4148         (Read): Add dir separator to Directory name so that "" is understood as
4149          "/"
4150
4151 2005-06-14  Pascal Obry  <obry@adacore.com>
4152
4153         * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
4154         releasing the items.
4155
4156 2005-06-14  Vincent Celier  <celier@adacore.com>
4157             Cyrille Comar  <comar@adacore.com>
4158
4159         * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
4160         with output file descriptor and with output file name.
4161         (Dup, Dup2): Now global procedures as they are used by two subprograms
4162         (Copy): Allocate the 200K buffer on the heap rather than on the stack.
4163
4164 2005-06-14  Thomas Quinot  <quinot@adacore.com>
4165
4166         PR ada/6717
4167
4168         * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
4169         broadcast address.
4170         (Create_Selector): Bind listening socket used to create the signalling
4171         socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
4172         Set listen backlog to 1 to ensure that we detect socket theft by a
4173         failure of our own connect(2) call.
4174         (Check_Selector): Improve documentation of the selector mechanism.
4175         (Broadcast_Inet_Addr): New constant.
4176
4177 2005-06-14  Gary Dismukes  <dismukes@adacore.com>
4178
4179         * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
4180         type which turns out to be an incomplete and incorrect fix.
4181         (Layout_Array_Type): Use Underlying_Type when checking whether the scope
4182         of the type is declared in a record (for determination of insertion
4183         type).
4184         (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
4185         a private type and ensure that the primary entity is used for the type
4186         of the newly created function's V formal by taking the Etype of the
4187         view.
4188
4189 2005-06-14  Javier Miranda  <miranda@adacore.com>
4190             Jose Ruiz  <ruiz@adacore.com>
4191             Robert Dewar  <dewar@adacore.com>
4192             Ed Schonberg  <schonberg@adacore.com>
4193
4194         * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
4195         that indicates if we are parsing a compilation unit found in a
4196         limited-with clause.
4197         It is use to avoid the circularity check.
4198
4199         * par.ads, par.adb (Par): Addition of a new parameter to indicate if
4200         we are parsing a compilation unit found in a limited-with clause. This
4201         is use to avoid the circularity check.
4202
4203         * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
4204         unit as a consequence of parsing a limited-with clause. This is used
4205         to avoid the circularity check.
4206
4207         * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
4208         (Analyze_Context): Limited-with clauses are now allowed
4209         in more compilation units.
4210         (Analyze_Subunit_Context, Check_Parent): Protect the frontend
4211         againts previously reported critical errors in context clauses
4212         (Install_Limited_Withed_Unit): Code cleanup plus static detection
4213         of two further errors: renamed subprograms and renamed packages
4214         are not allowed in limited with clauses.
4215         (Install_Siblings): Do not install private_with_clauses on the package
4216         declaration for a non-private child unit.
4217         (Re_Install_Parents): When a parent of the subunit is reinstalled,
4218         reset visibility of child units properly.
4219         (Install_Withed_Unit): When a child unit appears in a with_clause of its
4220         parent, it is immediately visible.
4221
4222 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
4223             Emmanuel Briot  <briot@adacore.com>
4224
4225         * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
4226         declared within an inlined body as referenced, to prevent spurious
4227         warnings.
4228         (Output_One_Ref): If an entity renames an array component, indicate in
4229         the ALI file that this aliases (renames) the array. Capture as well
4230         function renamings that rename predefined operations.
4231         Add information about generic parent for package and subprogram
4232         instances.
4233         (Get_Type_Reference): For a subtype that is the renaming of an actual in
4234         an instantiation, use the first_subtype to ensure that we don't generate
4235         cross-reference information for internal types.
4236         For objects and parameters of a generic private type, retain the '*'
4237         indicator to distinguish such an entity from its type.
4238
4239         * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
4240         to store information about instantiated entities.
4241
4242         * ali.adb (Scan_ALI): Add support for parsing the reference to the
4243         generic parent
4244
4245         * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
4246         (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
4247         information.
4248
4249 2005-06-10  Doug Rupp  <rupp@adacore.com>
4250             Arnaud Charlet  <charlet@adacore.com>
4251             Olivier Hainque  <hainque@adacore.com>
4252             Jose Ruiz  <ruiz@adacore.com>
4253
4254         * Make-lang.in: Add initialize.o when needed.
4255         Remove obsolete references to RT_FLAGS.
4256         Add missing dependencies for sdefault.o
4257
4258         * initialize.c: New file.
4259
4260         * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
4261         [VMS] cond_signal_table: Fix problem in declaration.
4262         [VMS] __gnat_error_handler: rewrite.
4263         Move all __gnat_initialize() routines to initialize.c
4264         Specialize the former "hpux" section to "hppa hpux", as this is what the
4265         section really is here for and we now have other hpux ports that need
4266         different contents.
4267         (__gnat_adjust_context_for_raise) i386-linux: First version of this
4268         function for this target. Adjust PC by one in the machine context. This
4269         adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
4270         it is more reliable to do that in the signal handler itself.
4271         (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
4272         flags, so that the handler is passed the context structure to adjust
4273         prior to the raise.
4274         (__gnat_error_handler) i386-linux: Adjust the signature to match what a
4275         SA_SIGINFO sigaction should look like. Call
4276         __gnat_adjust_context_for_raise before actually raising. Cleanup unused
4277         Machine_State_Operations stuff.
4278         Add conditional code so that the x86_64 is also supported.
4279
4280 2005-06-14  Pascal Obry  <obry@adacore.com>
4281
4282         * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
4283         the library name.
4284
4285 2005-06-14  Robert Dewar  <dewar@adacore.com>
4286
4287         * opt.ads, opt.adb: New flags for persistent_bss mode
4288         Add Ada_Version_Explicit, for implementation of AI-362
4289         Add Assertions_Enabled_Config and associated handling
4290         Needed since setting can be changed with Assertion_Policy pragma
4291         Add new flag Warn_On_Ada_2005_Compatibility
4292
4293         * switch-c.adb: Recognize -gnatwy/Y
4294         Set Ada_Version_Explicit, for implementation of AI-362
4295         The -gnatg switch now includes -gnatyu
4296
4297         * usage.adb: Add -gnatwy/Y
4298         Remove wrong asterisk on -gnatwX line
4299         Add line for -gnatyu switch
4300
4301 2005-06-14  Vincent Celier  <celier@adacore.com>
4302
4303         * osint.adb (Add_Default_Search_Dirs): Put source and object
4304         directories of project files before directories coming from
4305         ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
4306
4307 2005-06-14  Robert Dewar  <dewar@adacore.com>
4308
4309         PR ada/15613
4310
4311         * par-ch2.adb (Scan_Pragma_Argument): New procedure
4312         (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
4313
4314 2005-06-14  Vincent Celier  <celier@adacore.com>
4315
4316         * prep.adb (Preprocess): Ignore error when scanning the first token of
4317         a line.
4318
4319 2005-06-14  Vincent Celier  <celier@adacore.com>
4320
4321         * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
4322         (Check_Stand_Alone_Library): If the specified reference symbol file does
4323         not exist, only issue a warning when the symbol policy is not
4324         Controlled. And, when symbol policy is Compliant, set the symbol
4325         policy to Autonomous.
4326
4327 2005-06-14  Vincent Celier  <celier@adacore.com>
4328
4329         * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
4330         when the project file in a with clause is not the last one, that is the
4331         project file name is followed by a comma.
4332         * prj-pp.adb: (First_With_In_List): New Boolean global variable
4333         (Print): Issue list of project files separated by commas in with clauses
4334         according to the values returned by Is_Not_Last_In_List.
4335         * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
4336         (Set_Is_Not_Last_In_List): New procedure
4337
4338 2005-06-14  Eric Botcazou  <ebotcazou@adacore.com>
4339
4340         * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
4341
4342 2005-06-14  Robert Dewar  <dewar@adacore.com>
4343
4344         * scng.adb: Add call to new Check_EOF routine
4345         (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
4346         Add some comments regarding wide character handling
4347
4348         * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
4349
4350         * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
4351
4352         * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
4353         characters are now considered graphic characters and hence yield false
4354         in this call.
4355
4356         * nmake.adt: Modify header so that xnmake does not generate output
4357         files with multiple blank lines.
4358
4359         * treeprs.adt: Remove a blank line so that output from xtreeprs does
4360         not have an extra blank line
4361
4362 2005-06-14  Gary Dismukes  <dismukes@adacore.com>
4363
4364         * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
4365         expression when the component type is an anonymous access type to
4366         ensure that appropriate accessibility checks are done.
4367
4368         * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
4369         expression of an assignment when the target object is of an anonymous
4370         access type. This ensures that required accessibility checks are done.
4371         (One_Bound): Move the check for type Universal_Integer to
4372         Process_Bounds.
4373         (Process_Bounds): Check whether the type of the preanalyzed range is
4374         Universal_Integer, and in that case set Typ to Integer_Type prior
4375         to setting the type of the original range and the calls to One_Bound.
4376
4377 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
4378
4379         * sem_case.adb (Expand_Others_Choice): Improve warning.
4380
4381 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
4382
4383         * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
4384         constraint of full view if present, when other type is discriminated.
4385         (Eval_Relational_Op): Recognize tests of pointer values against Null,
4386         when the pointer is known to be non-null, and emit appropriate warning.
4387
4388 2005-06-14  Robert Dewar  <dewar@adacore.com>
4389             Ed Schonberg  <schonberg@adacore.com>
4390
4391         PR ada/10671
4392
4393         * sem_prag.adb: Implement pragma Persistent_BSS
4394         Remove obsolete pragma Persistent_Data, Persistent_Object
4395         Set Ada_Version_Explicit, for implementation of AI-362
4396         Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
4397         Add processing for pragma Pure_05 and Preelaborate_05
4398         Add processing for Assertion_Policy pragma
4399         Add pragma identifiers for Assert
4400         (Analyze_Pragma, case Assert): Check number of arguments
4401         (Process_Inline): Additional guard against an illegal program, where the
4402         argument of the pragma is undefined, and warnings on redundant
4403         constructs are enabled.
4404         (Analyze_Pragma, case Obsolescent): Allow an optional second argument
4405         Ada_05 to this pragma, specifying that the pragma is only active in
4406         Ada_05 mode.
4407         (Check_Arg_Order): New procedure
4408         Add appropriate calls to this procedure throughout
4409         Also throughout, check entity name before doing any other checks
4410
4411         * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
4412         Remove obsolete pragma Persistent_Data, Persistent_Object
4413         Add entries for pragma Pure_05 and Preelaborate_05
4414         Add entries for Assertion_Policy pragma and associated names
4415         Add some names for pragma argument processing
4416
4417         * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
4418
4419 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
4420
4421         * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
4422         appears within a negation (either from source or as a rewriting of
4423         inequality) adjust text of warning accordingly.
4424
4425 2005-06-14  Thomas Quinot  <quinot@adacore.com>
4426
4427         * s-strxdr.adb: Follow AI95-00132
4428
4429 2005-06-14  Arnaud Charlet  <charlet@adacore.com>
4430
4431         * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
4432
4433 2005-06-14  Arnaud Charlet  <charlet@adacore.com>
4434             Jose Ruiz  <ruiz@adacore.com>
4435
4436         * s-tposen.adb, s-tpobop.adb
4437         (Exceptional_Complete_Rendezvous): Save the occurrence and not only
4438         the exception id.
4439         (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
4440         there is no violation of the Max_Entry_Queue_Length restriction (if it
4441         has been set); Program_Error is raised otherwise.
4442         (Requeue_Call): Before requeuing the task on the target entry queue we
4443         check that there is no violation of the Max_Entry_Queue_Length
4444         restriction (if it has been set); Program_Error is raised otherwise.
4445
4446 2005-06-14  Robert Dewar  <dewar@adacore.com>
4447
4448         * styleg.adb: Fix several remaining problems in -gnatyu switch
4449         Blank line count not reset at start
4450         Scanning outside source buffer in some cases
4451         Confusing message for blanks at end of file
4452         Non-empty blank lines not recognized
4453
4454         * nmake.adt: Modify header so that xnmake does not generate output
4455         files with multiple blank lines.
4456
4457         * treeprs.adt: Remove a blank line so that output from xtreeprs does
4458         not have an extra blank line
4459
4460 2005-06-14  Sergey Rybin  <rybin@adacore.com>
4461
4462         * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
4463
4464 2005-06-14  Doug Rupp  <rupp@adacore.com>
4465             Vincent Celier  <celier@adacore.com>
4466
4467         * vms_conv.ads, vms_conv.adb: Remove "Library" command.
4468         Update copyright.
4469
4470         * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
4471         Remove "Library" command.
4472         Change keyword for style check -gnatyd from NOCRLF to
4473         DOS_LINE_ENDINGS.
4474         Remove useless second style check keyword NONE
4475         Remove help documentation for inexistent style check keyword
4476         RM_COLUMN_LAYOUT.
4477         Add help documentation for style check keywords DOS_LINE_ENDINGS,
4478         UNNECESSARY_BLANK_LINES and XTRA_PARENS
4479         Add UNNECESSARY_BLANK_LINES for -gnatyu
4480         Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
4481
4482         * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
4483
4484 2005-06-14  Vincent Celier  <celier@adacore.com>
4485
4486         * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
4487         gprmake was invoked with -d.
4488         (Compile_Sources): If -d was used, output the "completed ..." message
4489         for each compilation.
4490         (Scan_Arg): Recognize new switch -d
4491         When -c and at least one main is specified, set
4492         Unique_Compile to True to guarantee that no other sources will be
4493         compiled.
4494
4495 2005-06-14  Matthew Heaney  <heaney@adacore.com>
4496
4497         * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
4498         * a-swuwha.ads, a-swuwha.adb: New files
4499
4500         * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
4501         * a-szuzha.ads, a-szuzha.adb: New files.
4502
4503         * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
4504         a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
4505         a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
4506         a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
4507         a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
4508         a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
4509         a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
4510         a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
4511         a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
4512         a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
4513         Ada 2005 RM.
4514
4515 2005-06-10  Eric Botcazou  <ebotcazou@adacore.com>
4516             Olivier Hainque  <hainque@adacore.com>
4517             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4518             Pascal Obry  <obry@adacore.com>
4519
4520         * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
4521
4522         * trans.c (call_to_gnu): Issue a warning for users of Starlet when
4523         making a temporary around a procedure call because of non-addressable
4524         actual parameter.
4525         (process_freeze_entity): If entity is a private type, capture size
4526         information that may have been computed for the full view.
4527         (tree_transform, case N_Allocator): If have initializing expression,
4528         check type for Has_Constrained_Partial_View and pass that to
4529         build_allocator.
4530         (tree_transform, case N_Return_Statement): Pass extra arg to
4531         build_allocator.
4532
4533         * decl.c (annotate_value): Remove early return if -gnatR is not
4534         specified.
4535         (gnat_to_gnu_field): Don't make a packable type for a component clause
4536         if the position is byte aligned, the field is aliased, and the clause
4537         size isn't a multiple of the packable alignment. It serves no useful
4538         purpose packing-wise and would be rejected later on.
4539         (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
4540
4541         PR ada/20515
4542         (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
4543         context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
4544         instead.
4545         (create_concat_name): Idem.
4546
4547 2005-06-10  Robert Dewar  <dewar@adacore.com>
4548             Eric Botcazou  <ebotcazou@adacore.com>
4549             Ben Brosgol  <brosgol@adacore.com>
4550             Cyrille Comar  <comar@adacore.com>
4551             Sergey Rybin  <rybin@adacore.com>
4552             Pascal Obry  <obry@adacore.com>
4553
4554         * gnat_rm.texi: Add documentation for pragma Persistent_BSS
4555         Document second argument (Ada_05) of pragma Obsolescent
4556         Add note that call to subprogram marked with pragma Obsolescent
4557         is now considered to be a violation of program Restrictions
4558         (No_Obsolescent_Features).
4559         (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
4560         that only machine-dependent attributes are supported.
4561
4562         * gnat_ugn.texi:
4563         Commented out menu lines and empty section for gnatclean examples
4564         Document -gnatwy/Y
4565         Fix some over long lines
4566         Clarify and enhance documentation of ADA_PROJECT_PATH.
4567         Rework section 2.11.2(3) about linking with a non-GNU compiler.
4568         Mention new switch -fcallgraph-info.
4569         Mention new switch -fstack-usage.
4570         For gnatpp, replace '-notab' with '-N' and add this option to Index
4571         Corrected VMS example.
4572         VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
4573         Minor reformatting
4574         Add documentation for -gnatyu switch (unnecessary blank lines)
4575         Document new switch -U for GNAT PRETTY and GNAT METRIC
4576         Add note about Stdcall being handled as C convention on non Windows OS.
4577         Remove some junk typo in description of gnatbind -S switch
4578         Remove reference to Extensions_Allowed pragma
4579         Document the new order of the directories to be searched (source and
4580         object directories of project files before directories in ADA_*_PATH
4581         environment variables.
4582
4583         * g-trasym.ads: Document that IRIX is supported
4584
4585 2005-06-10  Arnaud Charlet  <charlet@adacore.com>
4586
4587         * Makefile.in: Add initialize.o when needed.
4588         Adapt to new VMS package body Symbols and subunits
4589         No specialized version of a-sytaco is needed for VxWorks.
4590
4591         * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
4592         * a-zchara.ads, a-widcha.ads: New files.
4593
4594         * system-hpux-ia64.ads: New file.
4595
4596         * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
4597         is imported from the VxWorks kernel.
4598
4599 2005-06-14  Robert Dewar  <dewar@adacore.com>
4600
4601         * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
4602         fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
4603         a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
4604         s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
4605         a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
4606         g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
4607         i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
4608         namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
4609         sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
4610         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
4611         s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
4612         xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
4613
4614 2005-06-14  Thomas Quinot  <quinot@adacore.com>
4615
4616         * xeinfo.adb: Fix typo in comment
4617
4618 2005-06-14  Javier Miranda  <miranda@adacore.com>
4619
4620         * repinfo.ads: Fix typo in comment
4621
4622 2005-06-14  Gary Dismukes  <dismukes@adacore.com>
4623
4624         * s-finimp.adb (Parent_Tag): Delete this imported function (function
4625         Parent_Tag is now in the visible part of Ada.Tags).
4626         (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
4627         using imported function.
4628
4629 2005-06-14  Bernard Banner  <banner@adacore.com>
4630
4631         * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
4632         also apply for handling support for VxSim 653.
4633
4634 2005-06-14  Eric Botcazou  <ebotcazou@adacore.com>
4635
4636         * xsnames.adb: Add automatic generation of snames.h.
4637
4638 2005-06-14  Thomas Quinot  <quinot@adacore.com>
4639
4640         * gen-soccon.c: Add IP_MULTICAST_IF constant
4641         Minor reformatting and adjustments to prevent warnings.
4642
4643 2005-06-14  Pascal Obry  <obry@adacore.com>
4644
4645         * seh_init.c: Do not include <sys/stat.h>. This is not needed.
4646
4647 2005-06-03  Andrew Pinski  <pinskia@physics.uc.edu>
4648
4649         * trans.c (gnat_gimplify_expr): Call
4650         recompute_tree_invarant_for_addr_expr when we change
4651         the operand of the ADDR_EXPR.
4652
4653 2005-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4654
4655         * misc.c: Don't include errors.h.
4656
4657 2005-05-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4658
4659         * raise.c (db): Add ATTRIBUTE_PRINTF_2.
4660
4661 2005-05-29  Kazu Hirata  <kazu@cs.umass.edu>
4662
4663         * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
4664         comment typos.
4665         * gnat_rm.texi, gnat_ugn.texi: Fix typos.
4666
4667 2005-05-16  Nathanael Nerode <neroden@gcc.gnu.org>
4668
4669         PR ada/20270
4670         * Makefile.in: Make TGT_LIB behave correctly.
4671
4672 2005-04-23  DJ Delorie  <dj@redhat.com>
4673
4674         * misc.c: Adjust warning() callers.
4675
4676 2005-04-16  Laurent GUERBY  <laurent@guerby.net>
4677
4678         PR ada/18847
4679         * a-nudira.adb (Value): Check for valid string.
4680         * a-nuflra.adb (Value): Likewise.
4681
4682 2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
4683
4684         * lang.opt: Refer to the GCC internals documentation instead of c.opt.
4685
4686 2005-04-10  Kazu Hirata  <kazu@cs.umass.edu>
4687
4688         * adaint.c, init.c, tracebak.c: Fix comment typos.
4689         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
4690
4691 2005-04-07  Laurent GUERBY  <laurent@guerby.net>
4692             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4693
4694         * Makefile.in: Add make ifeq define for hppa linux tasking support.
4695         * system-hpux.ads: Define Signed_Zeros to be True.
4696         * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
4697
4698 2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
4699
4700         * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
4701         raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
4702         typos.
4703
4704 2005-03-30  Tom Tromey  <tromey@redhat.com>
4705
4706         * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
4707
4708 2005-03-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
4709
4710         * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
4711
4712 2005-03-29  Robert Dewar  <dewar@adacore.com>
4713
4714         * sem_res.adb (Resolve_Real_Literal): Generate warning if static
4715         fixed-point expression has value that is not a multiple of the Small
4716         value.
4717
4718         * opt.ads (Warn_On_Bad_Fixed_Value): New flag
4719
4720         * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
4721         nanoseconds.
4722
4723         * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
4724
4725 2005-03-29  Vincent Celier  <celier@adacore.com>
4726
4727         * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
4728         (Build_Dynamic_Library.Version_String): Return the empty string when
4729         Lib_Version is empty or when the symbol policy is not Autonomous.
4730
4731         * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
4732         a symbol is not in the reference symbol file, increase the Major ID
4733         and set the Minor ID to 0.
4734         Use gsmatch=lequal instead of gsmatch=equal
4735
4736 2005-03-29  Doug Rupp  <rupp@adacore.com>
4737
4738         * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
4739         name and translate.
4740
4741 2005-03-29  Javier Miranda  <miranda@adacore.com>
4742
4743         * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
4744         (Inherit_DT): The first formal has been redefined as a Tag.
4745         This allows us the removal of the subprogram Get_TSD.
4746         (TSD): Replace the call to Get_TSD by the actual code.
4747
4748         * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
4749         (Make_DT): Upgrade the call to Inherit_TSD according to the
4750         new interface: the first formal is now a Tag.
4751
4752         * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
4753         redefined as a Tag.
4754         This change allows us to remove the subprogram Get_TSD.
4755         (CPP_Get_TSD): Subprogram removed.
4756         (TSD): Replace the call to CPP_Get_TSD by the actual code.
4757
4758         * rtsfind.ads: Remove support to call the run-time
4759         subprogram Get_TSD
4760
4761 2005-03-29  Robert Dewar  <dewar@adacore.com>
4762
4763         * errutil.adb, errout.adb:
4764         Minor comment updates on Line_Terminator references
4765
4766         * par-ch10.adb: Add ??? comment about line terminator
4767
4768         * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
4769         (check dos line terminator).
4770         (Check_Line_Max_Length): New procedure, split off from the existing
4771         Check_Line_Terminator routine. Separating this out allows -gnatyf to
4772         be properly recognized.
4773
4774         * styleg.adb: Add ??? comment for line terminator reference
4775
4776         * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
4777         (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
4778
4779         * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
4780         (check dos line terminator).
4781         (Check_Line_Max_Length): New procedure, split off from the existing
4782         Check_Line_Terminator routine. Separating this out allows -gnatyf to
4783         be properly recognized.
4784
4785         * stylesw.ads, stylesw.adb:
4786         Add handling for new -gnatyd switch (check dos line terminator)
4787
4788         * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
4789         Recognize -gnatwb/-gnatwB switches
4790         Include Warn_On_Bad_Fixed_Value for -gnatg
4791
4792         * usage.adb:
4793         Add line for new -gnatyd switch (check dos line terminator)
4794
4795         * usage.adb: Add lines for -gnatwb/-gnatwB
4796
4797         * vms_data.ads: Add entry for NOCRLF (-gnatyd)
4798
4799         * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
4800
4801         * gnat_ugn.texi: Fix overlong lines
4802         Document new -gnatyd switch
4803         Document new -gnatwb/-gnatwB switches
4804
4805 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
4806
4807         * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
4808         order to retrieve the component list of the type, before examining
4809         individual components.
4810
4811         * sem_type.adb (Covers): Types are compatible if one is the base type
4812         of the other, even though their base types might differ when private
4813         views are involved.
4814
4815 2005-03-29  Thomas Quinot  <quinot@adacore.com>
4816
4817         * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
4818         To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
4819         of using Set_Renaming_TSS. This ensures that the TSS bodies are not
4820         analyzed if expansion is disabled (which could otherwise cause spurious
4821         error messages if expansion has been disabled due to previous
4822         (unrelated) errors).
4823
4824         * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
4825         is disabled, the entity denoted by the argument is the access type
4826         itself, not an underlying record type, so there is no need to go back
4827         to the Corresponding_Remote_Type.
4828
4829 2005-03-29  Gary Dismukes  <dismukes@adacore.com>
4830             Robert Dewar  <dewar@adacore.com>
4831
4832         * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
4833         expand a call to an instance of
4834         Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
4835         Constructor actual of the instance. A class-wide membership
4836         check is also generated, to ensure that the tag passed to the instance
4837         denotes a type in the class.
4838         (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
4839         of Name_Generic_Dispatching_Constructor.
4840
4841         * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
4842         05 unit for AI-260-02).
4843
4844         * a-tgdico.ads: New file.
4845
4846         * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
4847         predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
4848
4849         * snames.ads, snames.adb (Preset_Names): Add entry for
4850         Generic_Dispatching_Constructor.
4851
4852         PR ada/20300
4853
4854         * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
4855         character type cases.
4856         (Analyze_Subprogram_Renaming): Add special handling for
4857         the case of renaming of stream attributes when the renaming denotes a
4858         generic formal subprogram association for an abstract formal subprogram.
4859         Check that the attribute is a primitive stream attribute (and not
4860         a class-wide stream attribute) and then rewrite the attribute name
4861         as the name of the appropriate compiler-generated stream primitive.
4862
4863 2005-03-29  Robert Dewar  <dewar@adacore.com>
4864
4865         * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
4866         recursive calls.
4867         (Is_Possibly_Unaligned_Object): Correct typo that
4868         resulted in inaccurate result for unaligned scalars within records.
4869
4870 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
4871
4872         * freeze.adb (Freeze_Record_Type): If the type of the component is an
4873         itype whose parent is controlled and not yet frozen, do not create a
4874         freeze node for the itype if expansion is disabled.
4875
4876 2005-03-29  Vincent Celier  <celier@adacore.com>
4877
4878         * make.adb (Gnatmake): Don't fail if the main project file is declared
4879         as having no Ada sources. Do not display message "no sources to
4880         compile" in quiet output.
4881
4882 2005-03-29  Doug Rupp  <rupp@adacore.com>
4883
4884         * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
4885         extra tools.
4886
4887 2005-03-29  Robert Dewar  <dewar@adacore.com>
4888
4889         * par-ch12.adb (P_Generic): Give better msg for illegal private generic
4890         child.
4891
4892 2005-03-29  Robert Dewar  <dewar@adacore.com>
4893
4894         * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
4895         missing TYPE Improve the error message generated when compiling a
4896         limited interface in Ada83 or Ada95 mode.
4897
4898 2005-03-29  Robert Dewar  <dewar@adacore.com>
4899
4900         * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
4901         rather than proceed ahead using a junk attribute name.
4902
4903 2005-03-29  Vincent Celier  <celier@adacore.com>
4904
4905         * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
4906
4907         * prj-part.adb (Parse_Single_Project): Set the location of a project
4908         on its defining identifier, rather than on the reserved word "project".
4909
4910         * prj-proc.adb (Expression): Adapt to the fact that default of external
4911         references may be string expressions, not always literal strings.
4912         (Recursive_Process): Set Display_Name equal to Name
4913         when Location is No_Location, that is when there is no actual file.
4914         Get the Display_Name of the project from the source, when it is not a
4915         virtual project.
4916         (Process): Use the Display_Name in error messages
4917
4918         * prj-strt.adb (External_Reference): Allow default to be string
4919         expressions, not only literal strings.
4920
4921 2005-03-29  Vincent Celier  <celier@adacore.com>
4922
4923         * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
4924         file and the reference symbol file to be the same file.
4925
4926 2005-03-29  Thomas Quinot  <quinot@adacore.com>
4927
4928         * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
4929         forbid conversion of a local access-to-subprogram type to a remote one.
4930
4931         * sem_util.adb (Wrong_Type): For a record type that is the expanded
4932         equivalent type for a remote access-to-subprogram type, go back to the
4933         original RAS entity when displaying an error message, so the casing is
4934         the original source casing.
4935
4936 2005-03-29  Robert Dewar  <dewar@adacore.com>
4937
4938         * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
4939         on param update.
4940
4941 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
4942
4943         * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
4944         subtype if code is being pre-analyzed, to prevent un-expanded
4945         references to protected formals, among others.
4946         (Analyze_Explicit_Dereference): If the overloaded prefix includes some
4947         interpretation that can be a call, include the result of the call as a
4948         possible interpretation of the dereference.
4949
4950         * sem_ch5.adb (Process_Bounds): Determine type of range by
4951         pre-analyzing a copy of the original range, and then analyze the range
4952         with the expected type.
4953
4954         * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
4955         with an overloaded prefix where not all interpretations yield an
4956         access to subprogram, do not rewrite node as a call.
4957         (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
4958         the node as a call once the context identifies the interpretation of
4959         the prefix whose call yields the context type.
4960         (Valid_Conversion): For the case of a conversion between
4961         local access-to-subprogram types, check subtype conformance using
4962         Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
4963         detailed error message.
4964
4965 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
4966
4967         * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
4968         indicator, indicate that the formal can never be null.
4969         (Process_Formals): If a formal has a non_null indicator, insert the
4970         resulting subtype immediately before the enclosing subprogram decl,
4971         and not at the beginning of the corresponding declarative part, to
4972         prevent access before elaboration (Ada2005).
4973
4974 2005-03-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4975
4976         PR ada/19956
4977         * utils.c (finish_record_type): Use variable_size when setting sizes.
4978
4979 2005-03-29  Robert Dewar  <dewar@adacore.com>
4980
4981         * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
4982         guarantee Unix style line terminators for the output files, even when
4983         running on windows.
4984
4985 2005-03-29  Robert Dewar  <dewar@adacore.com>
4986
4987         * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
4988         buffer if an exception is raised.
4989
4990 2005-03-29  Ed Falis  <falis@adacore.com>
4991
4992         * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
4993         VxWorks 653 1.4
4994
4995 2005-03-29  Robert Dewar  <dewar@adacore.com>
4996
4997         * sem_util.ads: Minor reformatting
4998         * gnat_rm.texi: Minor editing.
4999
5000 2005-03-29  Eric Botcazou  <ebotcazou@adacore.com>
5001
5002         * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
5003         * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
5004
5005 2005-03-24  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
5006
5007         * adaint.c (__gnat_portable_spawn): Adjust cast.
5008
5009 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
5010
5011         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
5012
5013 2005-03-17  Pascal Obry  <obry@adacore.com>
5014
5015         * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
5016         used.
5017
5018         * expect.c (__gnat_waitpid): Moved here from adaint.c.
5019         Reimplement under Win32 using Win32 API.
5020
5021         (__gnat_kill) [Win32]: Properly close the process handle before leaving
5022         this routine.
5023
5024 2005-03-17  Eric Botcazou  <ebotcazou@adacore.com>
5025
5026         * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
5027         (DECL_RENAMED_OBJECT): New accessor macro.
5028         (SET_DECL_RENAMED_OBJECT): New setter macro.
5029
5030         * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
5031         object in all cases.  Attach the renamed object to the VAR_DECL.
5032         (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
5033         field is not prescribed.
5034
5035         * misc.c (gnat_handle_option): Handle -gnatO separately.
5036         (gnat_print_decl) <VAR_DECL>: New case.
5037         Print the DECL_RENAMED_OBJECT node.
5038
5039         * lang.opt:  Declare separate -gnatO option.
5040
5041         * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
5042         pointer, replace it with the renamed object.
5043         <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
5044         pointer type if the source is not a fat pointer type whose underlying
5045         array has the same non-zero alias set as that of the destination array.
5046
5047 2005-03-17  Javier Miranda  <miranda@adacore.com>
5048
5049         * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
5050         (Get_Inheritance_Depth): Removed.
5051         (Set_Inheritance_Depth): Removed.
5052
5053         * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
5054         subprogram Get_Expanded_Name because it is not referenced by the
5055         frontend.
5056
5057         * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
5058         (CPP_Get_Inheritance_Depth): Removed.
5059         (CPP_Set_Inheritance_Depth): Removed.
5060
5061         * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
5062
5063 2005-03-17  Robert Dewar  <dewar@adacore.com>
5064
5065         * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
5066         3, since we now expect GCC 3 to do all the work.
5067
5068 2005-03-17  Javier Miranda  <miranda@adacore.com>
5069
5070         * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
5071         of one barrier to avoid wrong usage of this attribute.
5072
5073         * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
5074         First_Private_Entity.
5075
5076         * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
5077         the subprogram against wrong usage.
5078         Adapt the code to traverse the entities in the
5079         scope of a record_type because in addition to its usage regarding
5080         packages, this subprogram is also called by Expand_N_Freeze_Entity
5081         to install the visible declarations of the enclosing scope of a
5082         record_type_with_private to establish the proper visibility before
5083         freezing the entity and related subprograms.
5084
5085 2005-03-17  Ed Schonberg  <schonberg@adacore.com>
5086
5087         * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
5088         entry formals.
5089
5090 2005-03-17  Thomas Quinot  <quinot@adacore.com>
5091
5092         * exp_ch3.adb (Check_Attr): New subprogram.
5093         (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
5094         into a new Check_Attr subprogram, in order to provide a more
5095         explanatory error message (including the name of the missing attribute).
5096         (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
5097         subprogram determines whether a default implementation exists for a
5098         given stream attribute.
5099         (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
5100         Determine whether to generate a default implementation for each stream
5101         attribute separately, as this depends on the specific attribute.
5102
5103         * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
5104         limited extension where a stream attribute is missing for a limited
5105         component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
5106         generate a bogus reference to the missing attribute to prevent
5107         cascaded errors. Instead, generate a null statement.
5108
5109         * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
5110         available for a limited type if it has been specified for an ancestor
5111         of the type.
5112
5113 2005-03-17  Ed Schonberg  <schonberg@adacore.com>
5114
5115         * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
5116         entity is an operator.
5117
5118 2005-03-17  Thomas Quinot  <quinot@adacore.com>
5119
5120         * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
5121         spec, to make this predicate available to other units.
5122
5123         * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
5124         reimplementing it.
5125
5126         * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
5127         when no distribution runtime library is available.
5128
5129         * sem_res.adb, sem_dist.adb: Disable expansion of remote
5130         access-to-subprogram types when no distribution runtime library is
5131         available.
5132         (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
5133         predicate available to other units.
5134
5135         * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
5136         spec, to make this predicate available to other units.
5137
5138 2005-03-17  Vincent Celier  <celier@adacore.com>
5139
5140         * make.adb (Insert_Project_Sources): Make sure the Q is always
5141         initialized.
5142
5143         * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
5144         the default for the tree, not the global default naming.
5145
5146         * prj-proc.adb (Recursive_Process): No need to put the default naming
5147         in the project data, it's already there.
5148
5149 2005-03-17  Doug Rupp  <rupp@adacore.com>
5150
5151         * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
5152
5153         * 5xcrtl.ads: Renamed to...
5154         * s-crtl-vms64.ads: ...this new file
5155
5156 2005-03-17  Robert Dewar  <dewar@adacore.com>
5157
5158         PR ada/19519
5159
5160         * namet.adb (Copy_One_Character): Set proper wide character encoding
5161         for upper half character if we have upper half encoding.
5162
5163 2005-03-17  Robert Dewar  <dewar@adacore.com>
5164
5165         * par.adb (Par): Improved msg for attempt to recompile predefined unit
5166
5167 2005-03-17  Thomas Quinot  <quinot@adacore.com>
5168
5169         * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
5170         tagged limited type, the TSS is a newly built renaming declaration:
5171         insert it using Set_TSS, not Copy_TSS.
5172
5173 2005-03-17  Javier Miranda  <miranda@adacore.com>
5174
5175         * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
5176         Try_Object_Operation): Analyze the object that is accessible
5177         through the prefix of the subprogram call before we apply
5178         the transformation of the object-operation notation.
5179
5180 2005-03-17  Jose Ruiz  <ruiz@adacore.com>
5181
5182         * s-taprob.adb (Initialize_Protection): Initialize the protected
5183         object's owner to Null_Task.
5184         (Lock): If pragma Detect_Blocking is in effect and the caller of this
5185         procedure is already the protected object's owner then Program_Error
5186         is raised. In addition the protected object's owner is updated.
5187         (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
5188         of this procedure is already the protected object's owner then
5189         Program_Error is raised.
5190         In addition the protected object's owner is updated.
5191         (Unlock): Remove the ownership of the protected object.
5192
5193         * s-taprob.ads (Protection): Add the field Owner, used to store the
5194         protected object's owner.
5195         This component is needed for detecting one type of potentially blocking
5196         operations (external calls on a protected subprogram with the same
5197         target object as that of the protected action). Document the rest of
5198         the components.
5199
5200         * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
5201         Initialize the protected object's owner to Null_Task.
5202         (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
5203         caller of this procedure is already the protected object's owner then
5204         Program_Error is raised.
5205         Do not raise Program_Error when this procedure is called from a
5206         protected action.
5207         (Unlock_Entries): Remove the ownership of the protected object.
5208         (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
5209         of this procedure is already the protected object's owner then
5210         Program_Error is raised.
5211         Do not raise Program_Error when this procedure is called from
5212         a protected action.
5213
5214         * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
5215         used to store the protected object's owner.
5216
5217         * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
5218         effect and this procedure (a potentially blocking operation) is called
5219         from whithin a protected action, Program_Error is raised.
5220         (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
5221         and this procedure (a potentially blocking operation) is called from
5222         whithin a protected action, Program_Error is raised.
5223
5224 2005-03-17  Vincent Celier  <celier@adacore.com>
5225             Nicolas Setton  <setton@adacore.com>
5226
5227         * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
5228         switch, not supported by the linker on Darwin. Add '_' before
5229         <library>init, as this character is added unconditionally by the
5230         compiler.
5231         (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
5232         correct one ".dylib". This fixes detection of the archive files when
5233         building library projects.
5234
5235 2005-03-17  Vincent Celier  <celier@adacore.com>
5236
5237         * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
5238         -gnat83, -gnat95 and -gnat05.
5239
5240 2005-03-17  Vasiliy Fofanov  <fofanov@adacore.com>
5241
5242         * gnat_ugn.texi: Document gnatmem restriction
5243
5244 2005-03-17  Thomas Quinot  <quinot@adacore.com>
5245
5246         * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
5247         cleanup
5248
5249 2005-03-17  Robert Dewar  <dewar@adacore.com>
5250
5251         * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
5252         a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
5253         s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
5254
5255         * casing.adb: Comment improvements
5256
5257 2005-03-17  Pascal Obry  <obry@adacore.com>
5258
5259         * g-expect.adb: Minor reformatting.
5260
5261 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
5262
5263         * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
5264         (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
5265         to dependencies.
5266
5267 2005-03-15  Vincent Celier  <celier@adacore.com>
5268
5269         * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
5270         Add new parameter In_Tree to specify the project tree: needed
5271         by the project manager. Adapt to changes in project manager
5272         using new parameter In_Tree.
5273
5274 2005-03-15  Jakub Jelinek  <jakub@redhat.com>
5275
5276         * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
5277         ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
5278         ada/bldtools to avoid make -jN failures.
5279
5280 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
5281
5282         * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
5283         to NULL_TREE on entry.
5284
5285 2005-03-15  Robert Dewar  <dewar@adacore.com>
5286
5287         * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
5288         system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
5289         system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
5290         system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
5291         system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
5292         system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
5293         system-interix.ads, system-solaris-sparc.ads,
5294         system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
5295         system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
5296         system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
5297         system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
5298         system-linux-s390.ads, system-linux-s390x.ads: Add line defining
5299         Compiler_System_Version to be False.
5300
5301         * opt.ads: Add new flag Opt.Address_Is_Private
5302
5303         * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
5304         Add new parameter Compiler_System_Version to avoid checking for
5305         completeness of parameters when compiler is compiling itself.
5306         Allows old versions of GNAT to be compiled with new compiler.
5307
5308 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
5309
5310         * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
5311         (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
5312         calling thread.
5313         (Stack_Base_Available): New flag.
5314         (Get_Page_Size): New overloaded functions imported from C.
5315         (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
5316         PROT_ON, PROT_OFF): New constants.
5317         (mprotect): New function imported from C.
5318         (pthread_teb_t): New record type.
5319
5320         * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
5321         (Create_Task): Account for the Yellow Zone and the guard page.
5322
5323 2005-03-15  Vincent Celier  <celier@adacore.com>
5324
5325         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
5326         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
5327         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
5328         mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
5329         Library_File_Name_For): Add new parameter In_Tree
5330         to specify the project tree: needed by the project manager.
5331         Adapt to changes in project manager using new parameter In_Tree.
5332         Remove local imports, use functions in System.CRTL.
5333
5334         * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
5335         to use the project manager.
5336
5337         * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
5338         In_Tree to designate the project tree. Adapt to changes in the project
5339         manager, using In_Tree.
5340
5341         * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
5342         Copy_Interface_Sources): Add new parameter In_Tree to specify the
5343         project tree: needed by the project manager.
5344         (Build_Library): Check that Arg'Length >= 6 before checking if it
5345         contains "--RTS=...".
5346
5347         * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
5348         Library_File_Name_For): Add new parameter In_Tree to specify the
5349         project tree: needed by the project manager.
5350
5351         * prj.ads, prj.adb: Major modifications to allow several project trees
5352         in memory at the same time.
5353         Change tables to dynamic tables and hash tables to dynamic hash
5354         tables. Move tables and hash tables from Prj.Com (in the visible part)
5355         and Prj.Env (in the private part). Move some constants from the visible
5356         part to the private part. Make other constants deferred.
5357         (Project_Empty): Make it a variable, not a function
5358         (Empty_Project): Add parameter Tree. Returns the data with the default
5359         naming data of the project tree Tree.
5360         (Initialize): After updating Std_Naming_Data, copy its value to the
5361         component Naming of Project Empty.
5362         (Register_Default_Naming_Scheme): Use and update the default naming
5363         component of the project tree, instead of the global variable
5364         Std_Naming_Data.
5365         (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
5366         Tree is not defaulted, return the default naming data of the Tree.
5367         (Initial_Buffer_Size): Constant moved from private part
5368         (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
5369         variables initialized in procedure Initialize.
5370         (Add_To_Buffer): Add two in out parameters to replace global variables
5371         Buffer and Buffer_Last.
5372         (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
5373         functions.
5374         Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
5375         hash tables.
5376         (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
5377         for the project tree.
5378         (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
5379         constant at the beginning of the package spec, so that they cane be used
5380         in subprograms before their full declarations.
5381         (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
5382         (Empty_Project): Add parameter of type Project_Node_Ref
5383         (Private_Project_Tree_Data): Add component Default_Naming of type
5384         Naming_Data.
5385         (Buffer, Buffer_Last): remove global variables
5386         (Add_To_Buffer): Add two in out parameters to replace global variables
5387         Buffer and Buffer_Last.
5388         (Current_Packages_To_Check): Remove global variable
5389         (Empty_Name): Move to private part
5390         (No-Symbols): Make it a constant
5391         (Private_Project_Tree_Data): New type for the private part of the
5392         project tree data.
5393         (Project_Tree_Data): New type for the data of a project tree
5394         (Project_Tree_Ref): New type to designate a project tree
5395         (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
5396         for the project tree.
5397
5398         * prj-attr.ads: Add with Table; needed, as package Prj no longer
5399         imports package Table.
5400
5401         * prj-com.adb: Remove empty, no longer needed body
5402
5403         * prj-com.ads: Move most of the content of this package to package Prj.
5404
5405         * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
5406         designate the project node tree and Packages_To_Check to replace
5407         global variable Current_Packages_To_Check.
5408         Add new parameters In_Tree and Packages_To_Check to local subprograms,
5409         when needed. Adapt to changes in project manager with project node tree
5410         In_Tree.
5411
5412         * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
5413         project tree to most subprograms. Move tables and hash tables to
5414         private part of package Prj.
5415         Adapt to changes in project manager using project tree In_Tree.
5416
5417         * prj-makr.adb (Tree): New constant to designate the project node tree
5418         Adapt to change in project manager using project node tree Tree
5419
5420         * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
5421         display the Library_Src_Dir and the Library_Dir.
5422         Add new parameter In_Tree to designate the project node tree to most
5423         subprograms. Adapt to changes in the project manager, using project tree
5424         In_Tree.
5425         (Check_Naming_Scheme): Do not alter the casing on platforms where
5426         the casing of file names is not significant.
5427         (Check): Add new parameter In_Tree to designate the
5428
5429         * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
5430         designate the project tree.
5431         Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
5432
5433         * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
5434         to replace those that were in the private part of package Prj.
5435         Add new parameter In__Tree to designate the project node tree to most
5436         subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
5437         (Post_Parse_Context_Clause): When specifying the project node of a with
5438         clause, indicate that it is a limited with only if there is "limited"
5439         in the with clause, not necessarily when In_Limited is True.
5440         (Parse): Add new parameter In_Tree to designate the project node tree
5441
5442         * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
5443         designate the project node tree. Adapt to change in Prj.Tree with
5444         project node tree In_Tree.
5445
5446         * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
5447         tree In_Tree in the call to function Empty_Process to give its initial
5448         value to the project data Processed_Data.
5449         Add new parameters In_Tree to designate the project tree and
5450         From_Project_Node_Tree to designate the project node tree to several
5451         subprograms. Adapt to change in project manager with project tree
5452         In_Tree and project node tree From_Project_Node_Tree.
5453
5454         * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
5455         to replace those that were in the private part of package Prj.
5456         Add new parameter In_Tree to designate the project node tree to most
5457         subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
5458
5459         * prj-tree.ads, prj-tree.adb: Add new parameter of type
5460         Project_Node_Tree_Ref to most subprograms.
5461         Use this new parameter to store project nodes in the designated project
5462         node tree.
5463         (Project_Node_Tree_Ref): New type to designate a project node tree
5464         (Tree_Private_Part): Change table to dynamic table and hash tables to
5465         dynamic hash tables.
5466
5467         * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
5468         the project tree to most subprograms. Adapt to changes in project
5469         manager using project tree In_Tree.
5470
5471         * makegpr.adb (Project_Tree): New constant needed to use project
5472         manager.
5473
5474 2005-03-15  Olivier Hainque  <hainque@adacore.com>
5475
5476         * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
5477         for sigactions with SA_SIGINFO set. Call
5478         __gnat_adjust_context_for_raise before raising, to perform the
5479         potentially required adjustments to the machine context for the GCC
5480         unwinder.
5481
5482         * raise.h (__gnat_adjust_context_for_raise): New prototype.
5483
5484         * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
5485         Adjust PC by one in the provided machine context.
5486         (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
5487         so that the handler is passed the context structure to adjust prior to
5488         the raise.
5489         (__gnat_error_handler) HPUX: Adjust the signature to match what an
5490         SA_SIGINFO sigaction should look like. Call
5491         __gnat_adjust_context_for_raise before actually raising.
5492         (__gnat_adjust_context_for_raise): Default noop to help PC
5493         adjustments before raise from signal handlers.
5494         (__gnat_error_handler): Indirectly call a predicate function to
5495         determine if a condition should be resignaled or not.
5496         (__gnat_set_resignal_predicate): User interface to modify the predicate.
5497         (__gnat_default_resignal_p): Default GNAT predicate.
5498
5499 2005-03-15  Doug Rupp  <rupp@adacore.com>
5500
5501         * adaint.c: Prefix #include of VMS system header files with vms/
5502         [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
5503         Do not define a dummy function "convert_addresses" under Darwin,
5504         not needed.
5505
5506         * tb-alvms.c, expect.c: Prefix #include of VMS system header files
5507         with vms/
5508
5509 2005-03-15  Nicolas Setton  <setton@adacore.com>
5510
5511         * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
5512         PPC/AIX.
5513
5514 2005-03-15  Robert Dewar  <dewar@adacore.com>
5515
5516         * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
5517         AI-386.
5518
5519         * a-retide.ads: Minor comment changes
5520
5521 2005-03-15  Robert Dewar  <dewar@adacore.com>
5522
5523         * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
5524         a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
5525         Realloc_For_Chunk to private part of package.
5526         New subprograms for AI-301
5527
5528         * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
5529         Get_Line procedure.
5530         Avoid unnecessary use of Get/Set_Wide_String
5531
5532 2005-03-15  Robert Dewar  <dewar@adacore.com>
5533
5534         PR ada/13470
5535
5536         * a-stunau.ads, a-stunau.adb:
5537         Change interface to allow efficient (and correct) implementation
5538         The previous changes to allow extra space in unbounded strings had
5539         left this interface a bit broken.
5540
5541         * a-suteio.adb: Avoid unnecessary use of Get/Set_String
5542
5543         * g-spipat.ads, g-spipat.adb: New interface for Get_String
5544         Minor reformatting (function specs)
5545
5546         * g-spitbo.adb: New interface for Get_String
5547
5548         * g-spitbo.ads: Minor reformatting
5549
5550         * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
5551
5552         * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
5553
5554 2005-03-15  Javier Miranda  <miranda@adacore.com>
5555             Robert Dewar  <dewar@adacore.com>
5556             Thomas Quinot  <quinot@adacore.com>
5557             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5558
5559         * atree.ads, atree.adb: Add support for Elist24 field
5560
5561         * atree.h: Fix wrong definition of Field27
5562         Add support for Elist16 field
5563         Add support for Elist24 field
5564
5565         * einfo.ads, einfo.adb (Abstract_Interfaces,
5566         Set_Abstract_Interfaces): New subprograms.
5567         (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
5568         subprograms.
5569         (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
5570         entities rather than a single node.
5571         (Is_Interface, Set_Is_Interface): New subprogram
5572         (First_Tag_Component): New syntesized attribute
5573         (Next_Tag_Component): New synthesized attribute
5574         (Write_Entity_Flags): Upgraded to write Is_Interface
5575         (Write_Field24_Name): Upgraded to write Abstract_Interfaces
5576         (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
5577         (Task_Body_Procedure): New subprogram to read this attribute.
5578         (Set_Task_Body_Procedure): New subprogram to set this attribute.
5579         (Has_Controlled_Component): Now applies to all entities.
5580         This is only a documentation change, since it always worked to apply
5581         this to other than composite types (yielding false), but now this is
5582         official.
5583         Update documentation on Must_Be_Byte_Aligned for new spec
5584
5585         * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
5586         exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
5587         uses of the Access_Disp_Table attribute to reference the first dispatch
5588         table associated with a tagged type. As
5589         part of the implementation of abstract interface types,
5590         Access_Disp_Table has been redefined to contain a list of dispatch
5591         tables (rather than a single dispatch table).
5592         Similarly, upgrade all the references to Tag_Component by the
5593         new attribute First_Tag_Component.
5594         (Find_Inherited_TSS): Moved to exp_tss.
5595         Clean up test in Expand_N_Object_Declaration for cases
5596         where we need to do a separate assignment of the initial value.
5597         (Expand_N_Object_Declaration): If the expression in the
5598         declaration of a tagged type is an aggregate, no need to generate an
5599         additional tag assignment.
5600         (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
5601         is to be deleted.
5602         Bit packed array ops are only called if operands are known to be
5603         aligned.
5604         (Component_Equality): When returning an N_Raise_Program_Error statement,
5605         ensure that its Etype is set to Empty to avoid confusing GIGI (which
5606         expects that only expressions have a bona fide type).
5607         (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
5608         determine the amount of data to be copied.
5609
5610         * par.adb (P_Interface_Type_Definition): New subprogram that parses the
5611         new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
5612             INTERFACE_TYPE_DEFINITION ::=
5613               [limited | task | protected | synchronized] interface
5614                 [AND interface_list]
5615
5616         * par-ch3.adb (P_Type_Declaration): Modified to give support to
5617         interfaces.
5618         (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
5619         interfaces.
5620         (P_Interface_Type_Definition): New subprogram that parses the new
5621         syntax rule of Ada 2005 interfaces
5622         (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
5623         messages by the correct RENAMES (quotes removed).
5624
5625         * sem_prag.adb: Upgrade all the references to Tag_Component by the new
5626         attribute First_Tag_Component.
5627
5628         * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
5629         (Interface_List, Set_Interface_List): New subprograms.
5630         (Interface_Present, Set_Interface_Present): New subprograms.
5631         (Limited_Present, Set_Limited_Present): Available also in derived
5632         type definition nodes.
5633         (Protected_Present, Set_Protected_Present): Available also in
5634         record type definition and
5635         derived type definition nodes.
5636         (Synchronized_Present, Set_Synchronized_Present): New subprograms.
5637         (Task_Present, Set_Task_Present): New subprogram.
5638         (Task_Body_Procedure): Removed.
5639         (Set_Task_Body_Procedure): Removed.
5640         These subprogram have been removed because the attribute
5641         Task_Body_Procedure has been moved to the corresponding task type
5642         or task subtype entity to leave a field free to store the list
5643         of interfaces implemented by a task (for AI-345)
5644         Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
5645         (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
5646         expression flag Do_Range_Check
5647         (Exception_Junk): Change to Flag7 to accomodate above change
5648         (Box_Present, Default_Name, Specification, Set_Box_Present,
5649         Set_Default_Name, Set_Specification): Expand the expression
5650         "X in N_Formal_Subprogram_Declaration" into the corresponding
5651         two comparisons. Required to use the csinfo tool.
5652
5653         * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
5654         "with string" given.
5655
5656         * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
5657         expression given.
5658
5659         * par-ch11.adb (P_Raise_Statement): Recognize with string expression
5660         in 2005 mode
5661
5662         * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
5663         attribute Task_Body_Procedure rather than the old semantic field that
5664         was available in the task_type_declaration node.
5665
5666         * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
5667         interface type definitions.
5668         (P_Formal_Derived_Type_Definition): Modified to handle the list of
5669         interfaces.
5670
5671         * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
5672         task type declaration.
5673         (P_Protected): Modified to handle the list of interfaces in a
5674         protected type declaration.
5675
5676 2005-03-15  Doug Rupp  <rupp@adacore.com>
5677             Vincent Celier  <celier@adacore.com>
5678
5679         * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
5680         (Gen_Output_File_C): Likewise.
5681         (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
5682
5683 2005-03-15  Thomas Quinot  <quinot@adacore.com>
5684
5685         * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
5686         is an N_Raise_Constraint_Error node, create a new copy of it without
5687         going through a call to Duplicate_Subexpr.
5688
5689 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
5690             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5691             Nicolas Setton  <setton@adacore.com>
5692             Ed Schonberg  <schonberg@adacore.com>
5693
5694         PR ada/19900
5695         PR ada/19408
5696         PR ada/19140
5697         PR ada/20255
5698
5699         * decl.c (gnat_to_gnu_field): Reject aliased components with a
5700         representation clause that prescribes a size not equal to the rounded
5701         size of their types.
5702         (gnat_to_gnu_entity, case E_Component): Always look at
5703         Original_Record_Component if Present and not the entity.
5704         (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
5705         of tagged extension types by not making field for components that are
5706         inside the parent.
5707         (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
5708         (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
5709         expression to the type of the object when the object is constant.
5710         Reverse defer_debug_incomplete_list before traversing it, so that trees
5711         are processed in the order at which they were added to the list. This
5712         order is important when using the stabs debug format.
5713         If we are deferring the output of debug information, also defer this
5714         output for a function return type.
5715         When adding fields to a record, prevent emitting debug information
5716         for incomplete records, emit the information only when the record is
5717         complete.
5718         (components_to_record): New parameter defer_debug.
5719         (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
5720         (gnat_to_gnu_field_decl): New function.
5721         (substitution_list, annotate_rep): Call it.
5722         (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
5723         (gnat_to_gnu_entity, case E_Record_Type): Likewise.
5724         No longer update discriminants to not be a COMPONENT_REF.
5725         (copy_alias_set): Strip padding from input type; also handle
5726         unconstrained arrays properly.
5727
5728         * gigi.h (write_record_type_debug_info): New function.
5729         Convert to use ANSI-style prototypes. Remove unused
5730         declarations for emit_stack_check, elab_all_gnat and
5731         set_second_error_entity.
5732         (gnat_to_gnu_field_decl): New decl.
5733
5734         * utils.c (write_record_type_debug_info): New function.
5735         (finish_record_type): Delegate generation of debug information to
5736         write_record_type_debug_info.
5737         (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
5738         (update_pointer_to): Fix pasto.
5739         (convert) <UNION_TYPE>: Accept slight type variations when
5740         converting to an unchecked union type.
5741
5742         * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
5743         replace the N_Freeze_Entity with a null statement.
5744
5745         * freeze.adb (Freeze_Expression): If the freeze nodes are generated
5746         within a constrained subcomponent of an enclosing record, place the
5747         freeze nodes in the scope stack entry for the enclosing record.
5748         (Undelay_Type): New Subprogram.
5749         (Set_Small_Size): Pass T, the type to modify; all callers changed.
5750         (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
5751         within records; allow them to have freeze nodes if their base types
5752         aren't frozen yet.
5753
5754         * exp_util.adb (Remove_Side_Effects): Properly test for
5755         Expansion_Delayed and handle case when it's inside an
5756         N_Qualified_Expression.
5757
5758         * sem_ch3.adb (Derived_Type_Declaration): New predicate
5759         Comes_From_Generic, to recognize accurately that the parent type in a
5760         derived type declaration can be traced back to a formal type, because
5761         it is one or is derived from one, or because its completion is derived
5762         from one.
5763         (Constrain_Component_Type): If component comes from source and has no
5764         explicit constraint, no need to constrain in in a subtype of the
5765         enclosing record.
5766         (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
5767         Minor change to propagate Is_Ada_2005 flag
5768
5769         * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
5770         Expansion_Delayed is False.
5771         (assoc_to_constructor): Ignore fields that have a
5772         Corresponding_Discriminant.
5773         (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
5774         function returns "by target", dereference the target pointer using the
5775         type of the actual return value.
5776         <all>: Be prepared for a null gnu_result.
5777         (processed_inline_subprograms): Check flag_really_no_inline
5778         instead of flag_no_inline.
5779         (set_second_error_entity): Remove unused function.
5780         (gnat_to_gnu, case N_Selected_Component): Call
5781         gnat_to_gnu_field_decl.
5782         (assoc_to_constructor): Likewise.
5783
5784 2005-03-15  Robert Dewar  <dewar@adacore.com>
5785             Ed Schonberg  <schonberg@adacore.com>
5786             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5787
5788         * exp_pakd.adb (Create_Packed_Array_Type): Do not set
5789         Must_Be_Byte_Aligned for cases where we do not need to use a
5790         System.Pack_nn unit.
5791
5792         * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
5793         as procedures.
5794         Needed now that we do some processing for IN parameters as well. This
5795         may well fix some unrelated errors.
5796         (Expand_Call): Handle case of unaligned objects (in particular those
5797         that come from packed arrays).
5798         (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
5799         renamed entity is an inherited operation, re-expand the call using the
5800         original operation, which is the one to call.
5801         Detect attempt to inline parameterless recursive subprogram.
5802         (Represented_As_Scalar): Fix to work properly with private types
5803         (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
5804         accurate estimate. Yields True in far fewer cases than before,
5805         improving the quality of code that depends on this test.
5806
5807         * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
5808         over both visible and private declarations to remove them from tree,
5809         and mark subprograms declared in package as eliminated, to prevent
5810         spurious use in subsequent compilation of generic units in the context.
5811
5812         * exp_util.ads: Minor cleanup in variable names
5813
5814         * sem_eval.ads, sem_eval.adb: Minor reformatting
5815         (Compile_Time_Known_Bounds): New function
5816
5817 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
5818
5819         * exp_ch7.adb (Convert_View): Use base types of underlying types when
5820         determining whether an unchecked conversion is needed for the argument
5821         of an initialization call.
5822
5823 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
5824
5825         * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
5826         that appears in the instantiation rather than the internal subtype
5827         generated in the wrapper package, to avoid anomalies in gigi when the
5828         target is derived from a private type whose full view is an access type.
5829
5830 2005-03-15  Robert Dewar  <dewar@adacore.com>
5831
5832         * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
5833         not needed.
5834         Add documentation to replace the use of this flag
5835         Fix kludge for Maximum_Alignment on x86 so that it does not apply to
5836         the x86_64.
5837
5838 2005-03-15  Thomas Quinot  <quinot@adacore.com>
5839
5840         * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
5841         here from exp_attr so it can be shared between exp_attr and exp_dist.
5842         (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
5843         all TSS names, not a subset thereof, and the previous name introduced
5844         an unnecessarily confusion that a distinction might exist between
5845         "OK" TSS names and some "not OK" TSS names.
5846
5847 2005-03-15  Doug Rupp  <rupp@adacore.com>
5848
5849         * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
5850         Command_Name.
5851
5852 2005-03-15  Pascal Obry  <obry@adacore.com>
5853             Eric Botcazou  <ebotcazou@adacore.com>
5854
5855         PR ada/20226
5856         PR ada/20344
5857
5858         * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
5859         when IN_RTS. This is to work around a bootstrap path problem.
5860
5861         * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
5862         table and pass it to __gnat_install_SEH_handler().
5863         (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
5864
5865         * lang.opt: Fix specification of -fRTS=.
5866
5867 2005-03-15  Doug Rupp  <rupp@adacore.com>
5868             Bernard Banner  <banner@adacore.com>
5869             Vincent Celier  <celier@adacore.com>
5870             Arnaud Charlet  <charlet@adacore.com>
5871
5872         PR ada/6852
5873         This change works fine when gnatlib is built from the gcc directory,
5874         but does not work when using the libada Makefile, since GCC_FOR_TARGET
5875         is not passed to ada/Makefile.in, so more work is needed by a
5876         Makefile/configure expert.
5877
5878         * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
5879         set GMEM_LIB on ia64 linux to add optional support for gnatmem.
5880         Setup gnatlink switch -M for x86_64 linux, as it is already setup
5881         for Linux x86.
5882         (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
5883         Run ranlib on libgccprefix.a
5884         Define PREFIX_OBJS for Darwin, to build libgccprefix.
5885         (ADA_INCLUDE_SRCS): Split Ada packages.
5886
5887 2005-03-15  Robert Dewar  <dewar@adacore.com>
5888
5889         * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
5890
5891         * impunit.adb: Add GNAT.UTF_32
5892
5893         * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
5894
5895         * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
5896         now uses GNAT.UTF_32).
5897
5898         * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
5899         capabilities for categorizing characters using Unicode categories
5900
5901 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
5902
5903         * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
5904         instantiation that has been rewritten as a package body, retrieve spec
5905         to generate proper name for implicit_with_clause.
5906         (Install_Parents): Recognize a parent that is an instantiation but has
5907         been rewritten as a package declaration during analysis.
5908
5909 2005-03-15  Javier Miranda  <miranda@adacore.com>
5910             Ed Schonberg  <schonberg@adacore.com>
5911
5912         * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
5913         parameter reported some error we immediately return. This improves the
5914         behaviour of the frontend in case of errors.
5915         (Install_Parent, Remove_Parent): Introduce new flag
5916         Parent_Unit_Visible, to preserve the proper visibility of the ultimate
5917         ancestor of a generic child unit, when the child is being instantiated.
5918         (Inline_Instance_Body): If we are compiling the private
5919         part or the body of a child unit, restore the proper visibility of the
5920         parents after compiling the instance body.
5921
5922 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
5923             Javier Miranda  <miranda@adacore.com>
5924
5925         PR ada/15608
5926         * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
5927         of a private type, in which case it is underlying_type that denotes
5928         the proper task. Also modified to use the new entity attribute
5929         that is directly available in the task type and task subtype entities
5930         (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
5931         arrays when other dimensions than the first are constrained by
5932         discriminants of an enclosing record.
5933         (Insert_Explicit_Dereference): If the prefix is an indexed component or
5934         a combination of indexed and selected components, find ultimate entity
5935         and generate the appropriate reference for it, to suppress spurious
5936         warnings.
5937         (Note_Possible_Modification): If an entity name has no entity, return.
5938         (Is_Variable): A function call never denotes a variable.
5939         (Requires_Transient_Scope): For record types, recurse only on
5940         components, not on internal subtypes that may have been generated for
5941         constrained components.
5942
5943 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
5944
5945         * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
5946         Eliminated as candidates for resolution. Both efficient, and avoids
5947         anomalies with operators declared in deleted code.
5948         (Process_Implicit_Dereference_Prefix): Use this procedure whenever
5949         expansion is disabled (as when compiling a generic) to prevent spurious
5950         warnings on prefixes of selected components.
5951
5952 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
5953
5954         * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
5955         attached to a list before checking whether it appears in the private
5956         declarations of the current package.
5957         (Make_Inequality_Operator): Insert declaration in proper declarative
5958         list rather than just setting the Parent field, so that
5959         Is_Private_Declaration can handle it properly.
5960
5961 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
5962
5963         * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
5964         a renaming a body, check that the renamed subprogram in not intrinsic.
5965         (Find_Direct_Name): If several use_visible entities hide
5966         each other, and the context is a predefined file compiled through
5967         rtsfind, keep only the entity that comes from a predefined file.
5968
5969 2005-03-15  Geert Bosch  <bosch@adacore.com>
5970
5971         * s-fatgen.adb (Valid): Extend special exceptions to account for long
5972         long float padding to also cover AMD64 and IA64.
5973
5974 2005-03-15  Gary Dismukes  <dismukes@adacore.com>
5975
5976         * s-imgwch.adb: Add with and use of Interfaces.
5977         (Img_Wide_Character): Change type of Val to Unsigned_16.
5978         (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
5979
5980 2005-03-15  Matthew Gingell  <gingell@adacore.com>
5981
5982         * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
5983
5984 2005-03-15  Robert Dewar  <dewar@adacore.com>
5985
5986         * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
5987
5988         * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
5989
5990         * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
5991
5992 2005-03-15  Robert Dewar  <dewar@adacore.com>
5993
5994         * s-bitops.adb, s-bitops.ads,
5995         s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
5996         s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
5997         tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
5998         s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
5999         s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
6000         s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
6001         s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
6002         s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
6003         reformatting.
6004
6005 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
6006
6007         * utils2.c (build_binary_op): Fix typo.
6008
6009 2005-03-15  Doug Rupp  <rupp@adacore.com>
6010
6011         * s-crtl.ads (popen,pclose): New imports.
6012
6013 2005-03-15  Cyrille Comar  <comar@adacore.com>
6014
6015         * comperr.adb (Compiler_Abort): remove references to obsolete
6016         procedures in the bug boxes for various GNAT builds.
6017
6018 2005-03-15  Vincent Celier  <celier@adacore.com>
6019
6020         * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
6021
6022 2005-03-15  Geert Bosch  <bosch@adacore.com>
6023             Arnaud Charlet  <charlet@adacore.com>
6024             Robert Dewar  <dewar@adacore.com>
6025             Cyrille Comar  <comar@adacore.com>
6026             Sergey Rybin  <rybin@adacore.com>
6027
6028         * gnat_ugn.texi: Remove extended inline assembly example, as it was far
6029         too specific and long-winded to be appropriate for the GNAT User's
6030         Guide.
6031         Warn about use of GCC switches not documented in the GNAT User's Guide,
6032         as these may cause generated code to not conform to Ada semantics.
6033         Remove mention of -gdwarf-2 for sparc64, since this is now the default.
6034         Add documentation for -gnat95 and -gnat05 switches
6035         Remove paragraph documenting obsolete way to refer to third party
6036         libraries.
6037         Add a few references to Ada_05 that were missing.
6038         Update documentation on -gnatZ/-gnatL.
6039         Document limitation when using -m64 under Solaris.
6040         Change the "Name Casing" subsection of the pretty-printer section
6041         according to the changes in the dictionary processing.
6042
6043         * gnat_rm.texi: Document the Ada_05 pragma.
6044         Section on record representation clauses describes the new more
6045         relaxed rules about placement of large packed bit array components.
6046         Add documentation of GNAT.UTF_32
6047
6048 2005-03-12  Daniel Berlin <dberlin@dberlin.org>
6049
6050         * misc.c (gnat_post_options): Turn off structural
6051         aliasing for now.
6052
6053 2005-03-08  Laurent Guerby <laurent@guerby.net>
6054
6055         * system-linux-sparc.ads: Fix typo in previous commit.
6056
6057 2005-03-07  James A. Morrison <phython@gcc.gnu.org>
6058             Laurent Guerby <laurent@guerby.net>
6059
6060         PR ada/20035
6061         * system-linux-sparc.ads: New.
6062         * Makefile.in: Add sparc linux entry.
6063
6064 2005-02-27  Danny Smith  <dannysmith@users.sourceforge.net>
6065
6066         * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
6067         parameters as unused.
6068
6069 2005-02-26  Nathanael Nerode  <neroden@gcc.gnu.org>
6070         Partial merge from libada-gnattools-branch:
6071
6072         2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
6073         * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
6074         into code in gnattools/Makefile.in.  Remove direct dependencies on
6075         stamp-tools by tools clauses.
6076         2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
6077         * config-lang.in: Add gnattools to $lang_dirs.
6078
6079 2005-02-13  Andrew Pinski  <pinskia@physics.uc.edu>
6080
6081         PR ada/19942
6082         * utils.c (gnat_type_for_mode): Return null instead of ICE because
6083         we asked for an unknown mode.
6084
6085 2005-02-12  Richard Henderson  <rth@redhat.com>
6086
6087         * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
6088         validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
6089
6090 2005-02-10  Andreas Jaeger  <aj@suse.de>
6091
6092         * init.c (__gnat_initialize): Mark parameter as unused.
6093
6094 2005-02-09  Doug Rupp  <rupp@adacore.com>
6095
6096         * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
6097         * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
6098
6099 2005-02-09  Doug Rupp  <rupp@adacore.com>
6100
6101         * gnatchop.adb (dup, dup2),
6102         g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
6103
6104         * gnatlbr.adb (mkdir),
6105         mlib-tgt-vms-ia64.adb (popen, plose):  Import with decc$ prefix.
6106
6107         * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
6108
6109 2005-02-09  Doug Rupp  <rupp@adacore.com>
6110
6111         * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
6112
6113 2005-02-09  Robert Dewar  <dewar@adacore.com>
6114             Thomas Quinot  <quinot@adacore.com>
6115             Javier Miranda  <miranda@adacore.com>
6116             Pascal Obry  <obry@adacore.com>
6117             Ed Schonberg  <schonberg@adacore.com>
6118             Doug Rupp  <rupp@adacore.com>
6119             Gary Dismukes  <dismukes@adacore.com>
6120             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6121
6122         * g-zstspl.ads: New file.
6123
6124         * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
6125
6126         * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
6127         Ada 95 mode
6128         Add definition of Wide_Wide_Space for AI-285
6129
6130         * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
6131         interface (to support Ada 95 and Ada 2005 units).
6132         Add Unbounded_IO files
6133         Add entries for Wide_Wide packages for AI-285
6134         Add list of containers packages to Ada 2005 unit list
6135
6136         * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
6137         support new Unbounded_IO package cleanly.
6138
6139         * g-utf_32.ads, g-utf_32.adb: New files.
6140
6141         * Makefile.rtl: Add entry for g-utf_32
6142         Add new files for Unbounded_IO
6143         Adjust make file for new AI-285 wide wide packages
6144         Add AI-302 containers to the run time.
6145
6146         * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
6147         a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
6148         subprograms for AI-301.
6149
6150         * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
6151
6152         * a-stunau.ads: Minor comment correction
6153
6154         * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
6155         etc.
6156         Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
6157         (Check_RPC): Update to match changes in expanded code.
6158         Clean up unused entity.
6159
6160         * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
6161         was not taken into account.
6162         This includes proper initialization with Normalize_Scalars.
6163         (Get_Simple_Init_Val): Major rewrite for initialize scalars and
6164         normalize scalars cases (particularly the latter) to do a better job
6165         of finding invalid representations.
6166
6167         * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
6168
6169         * s-strops.ads, s-strops.adb: Remove string normalize routines, never
6170         used
6171
6172         * exp_dist.adb: Add support for wide wide character type
6173         (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
6174         private part, generate stub bodies at the end of the private part,
6175         not the visible part.
6176         (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
6177         PolyORB support.
6178         (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
6179         generic wrapper to execute final processing after completing the
6180         expansion of the RPC receiver for an RACW.
6181
6182         * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
6183         packages and attributes.
6184         (Preset_Names): Addition of the new reserved words of Ada 2005,
6185         that is interface, overriding and synchronized.
6186         (Get_Pragma_Id): Give support to the use of the new reserved word
6187         "interface" as a pragma name.
6188         (Is_Pragma_Name): Give support to the use of the new reserved word
6189         "interface" as a pragma name.
6190         (Preset_Names): Add stream_size string for the Stream_Size Ada2005
6191         attribute implementation.
6192
6193         * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
6194         checks to entities that are output parameters of Asm operations.
6195         Handle the Stream_Size attribute.
6196         Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
6197
6198         * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
6199
6200         * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
6201         for second parameter being 0.0.
6202         Add support for wide wide character type.
6203         (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
6204
6205         * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
6206         s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
6207         s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
6208         s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
6209         for wide wide character cases.
6210
6211         * cstand.adb: Create entities for Wide_Wide_Character and
6212         Wide_Wide_String.
6213
6214         * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
6215         accordance with AI-258.
6216         Add new declarations for 16/32 bit C character types (Part of AI285)
6217
6218         * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
6219         (Obsolescent_Warning): New field
6220         (Rep_Clause): New local subprogram used to share code. Returns the rep
6221         clause for which the name is given in parameter.
6222         (Has_Stream_Size_Clause): New routine.
6223         (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
6224         (Address_Clause): Implementation is now using Rep_Clause.
6225         (Alignment_Clause): Idem.
6226         (Size_Clause): Idem.
6227
6228         * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
6229         entity in non-Ada 2005 mode and generate warning.
6230
6231         * par-prag.adb: Add handling of one argument form for pragma Ada_05.
6232         (Prag): Code cleanup. Remove old gnat pragma "overriding"
6233
6234         * sem_prag.adb: Add handling of one argument form for pragma Ada_05
6235         (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
6236         on the named unit if the pragma is not in the current compilation unit,
6237         so that elaboration calls in the current unit can set up an elaboration
6238         dependency on the named unit, as needed.
6239         (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
6240         subprogram as well as for subprograms declared within a package.
6241         (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
6242         pragma overriding.
6243
6244         * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
6245         to z) to avoid some instances of duplication for Wide_Wide packages.
6246
6247         * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
6248         characters.
6249
6250         * scn.adb: Char_Literal_Value field is now a Uint
6251
6252         * scng.adb: Significant rewrite to handle new Ada 2005 features
6253         allowing wide and wide wide characters in program text, e.g. for
6254         identifiers, as described in AI-285.
6255         (Set_Reserved): New procedure, makes setting up keywords cleaner.
6256         (Initialize_Scanner): Register the new reserved words of Ada 2005.
6257         (Scan): Give support to the new reserved words.
6258
6259         * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
6260         warning notifying that interface, overriding, and synchronized are
6261         new reserved words.
6262         (P_Pragma): Allow the use of the new reserved word "interface" as
6263         a pragma name.
6264
6265         * gnatls.adb, gnatbind.adb,
6266         ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
6267         identifiers named "interface" to "SAL_Interface".
6268
6269         * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
6270         (Structured Exception handling).
6271         (Gen_Main_C): Idem.
6272
6273         * bindgen.adb:
6274         (Gen_Main_Ada): Set the default exit code if specified.
6275         (Gen_Main_C): Likewise.
6276         Part of *DC20-006.
6277         (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
6278         Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
6279
6280         * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
6281         new -Xnnn switch.
6282
6283         * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
6284         has a collision with the new Ada 2005 "interface" reserved word.
6285
6286         * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
6287         generate a warning notifying that interface, overriding, and
6288         synchronized are new reserved words.
6289
6290         * scans.ads (Token_Type): Addition of the tokens corresponding to the
6291         new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
6292         and Tok_Synchronized.
6293
6294         * sem_res.adb (Resolve_Actuals): Change error messages to refer to
6295         "dispatching" rather than "primitive" operations, since dispatching
6296         calls are now allowed to abstract formal subprograms (which are not
6297         primitive).
6298         Char_Literal_Value field is now a Uint
6299         (Resolve_Slice): If the prefix is an access to an unconstrained array,
6300         compute the actual subtype of the designated object to impose the proper
6301         index constraints.
6302         (Resolve_Selected_Component): Do not insert an access check if the
6303         prefix is an access type: such a node is expanded into an explicit
6304         dereference, on which the access check is performed anyway. Removes
6305         expensive duplicate checks.
6306         (Resolve_Call): Use new flag Is_Obsolescent and field
6307         Obsolescent_Warning so that pragma Obsolescent works on library
6308         subprograms.
6309         Add support for wide wide character type
6310         (Resolve_Allocator): Replace the error message on wrong null-exclusion
6311         value by a warning message.
6312         (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
6313         as fixed-point, and one of the operands is non-static and universal, it
6314         can only be an illegal exponentiation operation, in which case there is
6315         no real value to retrieve.
6316
6317         * exp_strm.adb: Add support for wide wide character type
6318         (Build_Elementary_Input_Call): Compute the size of the stream element by
6319         querying the rep chain to find the Stream_Attribute attribute value.
6320         (Build_Elementary_Write_Call): Ditto.
6321
6322         * sem_aggr.adb: Char_Literal_Value field is now a Uint
6323         Add support for wide wide character type
6324         Replace the error messages on wrong null-exclusion value by warnings
6325         as described in Ada 2005.
6326         (Resolve_Extension_Aggregate): Document the fact that the error
6327         message on class-wide expressions in extensions aggregates.
6328
6329         * sem_case.adb: Add support for wide wide character type
6330
6331         * sem_ch13.adb: Add support for wide wide character type
6332         (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
6333
6334         * sem_ch3.adb: Add support for wide wide character type
6335         (Process_Subtype): If constraint is illegal for the type, set Ekind of
6336         now-useless Itype, to prevent cascaded errors on a compiler built
6337         without -gnatp.
6338
6339         * sem_ch8.adb: Add with and use of Sem_Disp.
6340         (Analyze_Subprogram_Renaming): Replace unclean uses of
6341         Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
6342         of Corresponding_Spec to Empty).
6343         (Attribute_Renaming): Replace use of Corresponding_Spec with
6344         Corresponding_ Formal_Spec and simplify condition.
6345         (Use_One_Package): Check that scope of homonym of identifier is defined,
6346         before checking whether it is a wrapper package.
6347         Add support for wide wide character type
6348
6349         * sem_eval.adb: Add support for wide wide character type.
6350         (Eval_Arithmetic_Op): Check for compile time known signed integer
6351         overflow in the non-static case.
6352         (Subtypes_Statically_Match): A formal scalar type and its base type do
6353         not statically match.
6354
6355         * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
6356         "not in" for test of N_Formal_Subprogram_Declaration (which is now a
6357         subtype).
6358         (Unit_Declaration_Node): Ditto.
6359         (Is_Variable_Prefix):  For the case of an indexed component whose prefix
6360         has a packed array type, the prefix has been rewritten into a type
6361         conversion. Determine variable-ness from the converted expression.
6362         Handle wide wide character cases.
6363
6364         * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
6365
6366         * stringt.ads, stringt.adb: Handle full UTF-32 range.
6367         Remove ["0A"] from comment, since it can look like a line terminator.
6368         Currently we don't permit this, but this is under discussion by the
6369         ARG, and it is easy enough to use a different example.
6370
6371         * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
6372         handling UTF-32 encoding for wide wide character.
6373         Implement new brackets coding ["hhhhhhhh"]
6374         Add UTF-8 encodings for full UTF-32 range
6375
6376         * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
6377
6378         * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
6379         bit range Add full UTF-32 support.
6380         (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
6381         notify that constraint error will be raised at run-time
6382         because a null value is assigned to a null-excluding object.
6383         Remove some obsolete declarations and make Char_Code
6384         unsigned.
6385
6386         * a-except.adb (Rcheck_30): New subprogram. Addition of the message
6387         corresponding to CE_Null_Not_Allowed, and adjust the output of all the
6388         Rcheck subprograms.
6389
6390         * checks.adb (Check_Null_Not_Allowed): Replace the error message on
6391         wrong null-exclusion value by a warning message.
6392         (Enable_Range_Check): Do range check if the prefix is an
6393         explicit dereference whose designated object is an unconstrained array.
6394         Current algorithm for removing duplicate checks is over-eager in this
6395         case.
6396
6397         * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
6398         null-exclusion value by a warning message
6399
6400         * atree.h, atree.ads, atree.adb: Remove Char_Code field support
6401         completely. Add support for Uint2 field
6402
6403         sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
6404         exp_prag.adb: Char_Literal_Value field is now a Uint.
6405
6406         * exp_util.adb (Insert_Actions): Replace
6407         N_Formal_Subprogram_Declaration by
6408         N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
6409         Char_Literal_Value field is now a Uint.
6410
6411         * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
6412         defined for subprogram renaming declarations. When set, the field
6413         indicates the defining entity of a corresponding formal subprogram
6414         when the renaming corresponds to a formal subprogram association in an
6415         instantiation.
6416         (Set_Corresponding_Formal_Spec): New procedure to return
6417         Corresponding_Formal_Spec field.
6418         Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
6419         (which is now a subtype).
6420         Char_Literal_Value field is now a Uint
6421
6422         * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
6423         pointer to the base of the dispatch table.
6424         Minor changes to comments.
6425         (Controlling_Type): New function for determining the tagged type
6426         associated with a tagged primitive subprogram.
6427         (Expand_Dispatching_Call): Add support for a controlling actual that is
6428         directly a value of type Ada.Tag rather than a tagged object.
6429
6430         * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
6431         describing the new layout.
6432         (Dispatch_Table): The expander computes the actual array size, allocates
6433         the Dispatch_Table record accordingly, and generates code that displaces
6434         the base of the record after the Typeinfo_Ptr component. The access to
6435         these components is done by means of local functions.
6436         (Offset_To_Top): New function.
6437         (Typeinfo_Ptr): New function.
6438         (Get_TSD): Modified to access the new position of the TSD.
6439         (Set_TSD): Modified to save the TSD in its new position.
6440
6441         * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
6442         case of formal abstract subprograms. Add check and message for -gnat05.
6443         Update comments.
6444
6445         * sem_ch12.adb: Add with and use for Sem_Disp.
6446         (Analyze_Associations): Minor change from "=" to "in" for use of
6447         N_Formal_Subtype_Declaration (which is now a subtype).
6448         (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
6449         N_Formal_Subtype_Declaration (which is now a subtype).
6450         (Analyze_Formal_Subprogram): Add handling for
6451         N_Formal_Abstract_Subprogram, marking the formal as abstract and
6452         dispatching, setting the controlling status of the formal parameters
6453         and result, and issuing an error if there is no controlling type for
6454         the formal subprogram.
6455         (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
6456         which is an unclean use of that field, we set the new field
6457         Corresponding_Formal_Spec to make the formal subprogram available to
6458         processing in Analyze_Subprogram_Declaration.
6459         (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
6460         Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
6461         Constrained, so that it is is does not statically match its anonymous
6462         base type.
6463
6464         * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
6465         abstract formal subprograms in error check for functions returning
6466         abstract types. Set scope of new designator for
6467         a parameterless subprogram, so that it is available when checking the
6468         body for nested subprograms, before full analysis of said body.
6469         (Analyze_Subprogram_Body): Warn on inlining bodies with nested
6470         subprogram only if inner one comes from source.
6471         (Analyze_Function_Call): If the call is given in object notation, the
6472         analysis of the name rewrites the node and analyzes it with the proper
6473         argument list. After analyzing the name, if the call has been rewritten
6474         and the result type is set, no further analysis is needed.
6475         (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
6476         mark in function specification, in a context where the formals are
6477         visible and hide outer homographs.
6478
6479         * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
6480         as the tagged type for the cases of abstract formal subprograms and
6481         renamings of those.  Clean up spec comments.
6482         (Check_Dispatching_Context): Add error message to indicate "abstract
6483         procedure", covering the case of a call to a formal abstract procedure
6484         that has statically tagged operands.
6485         (Check_Dispatching_Call): Check for the case of an actual given by
6486         a tag-indeterminate function call whose type is an ancestor of the
6487         containing call's associated tagged type. This situation can occur
6488         for inherited primitives with function defaults. In this case we
6489         use the tagged type's tag directly as the controlling argument for
6490         the calls.
6491         (Expand_Call): Name change on call to Expand_Dispatch_Call.
6492
6493         * sprint.adb (Sprint_Node_Actual): Split
6494         N_Formal_Subprogram_Declaration into two alternatives for the new
6495         cases N_Formal_Abstract_Subprogram_Declaration and
6496         N_Formal_Concrete_Subprogram_Declaration.
6497         Char_Literal_Value field is now a Uint.
6498
6499         * trans.c: Get rid of junk Uint2 reference.
6500         Char_Literal_Value field is now a Uint.
6501         (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
6502         (gigi): Correct third arg to gimplify_body.
6503
6504         * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
6505         (TYPE_LANG_FLAG_0): Check for record or union.
6506
6507         * treepr.adb: Char_Literal_Value field is now a Uint
6508
6509         * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
6510         UI_From_CC.
6511
6512         * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
6513         Add full UTF-32 support
6514         Char_Code is now 32 bits
6515
6516         * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
6517         wide character UTF_32 line terminators.
6518         Initialize Main_Source_File to avoid error when no main
6519         source is loaded.
6520
6521         * errout.adb (Finalize): Do not check Num_SRef_Pragmas
6522         (Main_Source_File) when no main source has been loaded, to avoid
6523         potential crash.
6524
6525 2005-02-09  Robert Dewar  <dewar@adacore.com>
6526
6527         * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
6528         Fix name of Set routine
6529
6530         * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
6531         fixed packages.
6532
6533         * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
6534         a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
6535         fixed packages
6536
6537         * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
6538         forms of Get_Line subprograms for AI-301.
6539
6540         * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
6541         a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
6542         a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
6543         a-stwima.ads: Minor reformatting.
6544
6545 2005-02-09  Doug Rupp  <rupp@adacore.com>
6546             Thomas Quinot  <quinot@adacore.com>
6547
6548         * adaint.c, adaint.h
6549         [VMS] (to_ptr32): New function.
6550         (MAYBE_TO_PTR32): New macro.
6551         (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
6552         for pointer size.
6553         [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
6554         [VMS] (#define fork()): Remove since unneccessary.
6555         (__gnat_set_close_on_exec): New routine to support
6556         GNAT.OS_Lib.Set_Close_On_Exec.
6557
6558         * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
6559         the parent side as close-on-exec so that they are not inherited by the
6560         child.
6561
6562         * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
6563         set or clear the FD_CLOEXEC flag on a file descriptor.
6564
6565 2005-02-09  Eric Botcazou  <ebotcazou@adacore.com>
6566             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6567
6568         Fix for c330001 - PR ada/19386
6569
6570         * decl.c:
6571         (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
6572         on the field if Pragma Component_Alignment (Storage_Unit).
6573         (gnat_to_gnu_entity, case object): Do not treat a renaming that has
6574         side-effects as if it were a constant; also make SAVE_EXPR to protect
6575         side-effects.
6576         (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
6577         UNION_TYPE.
6578         (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
6579         (components_to_record): Test it.
6580         Fix improper usage of REFERENCE_CLASS_P.
6581
6582         * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
6583         RECORD_TYPE.
6584
6585         * utils2.c: Minor reformatting.
6586
6587         * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
6588         handle other cases like RECORD_TYPE.
6589
6590         * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
6591
6592 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
6593
6594         * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
6595         component of an array of arrays in an assignment context, and the
6596         aggregate has component associations that require sliding on
6597         assignment, force reanalysis of the aggregate to generate a temporary
6598         before the assignment.
6599         (Must_Slide): Make global to the package, for use in Gen_Assign.
6600
6601 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
6602
6603         * exp_ch4.adb (Expand_Composite_Equality): If a component is an
6604         unchecked union with no inferable discriminants, return a
6605         Raise_Program_Error node, rather than inserting it at the point the
6606         type is frozen.
6607         (Expand_Record_Equality, Component_Equality): Handle properly the case
6608         where some subcomponent is an unchecked union whose generated equality
6609         code raises program error.
6610
6611 2005-02-09  Doug Rupp  <rupp@adacore.com>
6612
6613         * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
6614         [VMS] (#define exit hack): Remove.
6615
6616 2005-02-09  Pascal Obry  <obry@adacore.com>
6617             Arnaud Charlet <charlet@adacore.com>
6618
6619         * init.c (__gnat_initialize): Add a new parameter eh which contains the
6620         address of the exception registration. The Win32 version of this
6621         routine calls __gnat_install_SEH_handler() to initialize the SEH
6622         (Structured Exception Handling) handler.
6623         (__gnat_error_handler) [Win32]: Removed. Not needed as we use
6624         SEH (Structured Exception Handling) now.
6625         (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
6626         (__gnat_initialize for ppc-vxworks): Adjust comments and the
6627         preprocessor condition protecting the call to the extra eh setup
6628         subprogram, which is only available for the ppc target.
6629         (__gnat_clear_exception_count): replaced reference to
6630         variable taskIdCurrent by call to taskIdSelf(), cleaner.
6631
6632         * seh_init.c: New file.
6633
6634         * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
6635         (GNATBIND_OBJS): Idem.
6636
6637         * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
6638         routine takes a new parameter (a pointer to the exception registration
6639         for the SEH (Structured Exception Handling) support.
6640
6641         * raise.h: (__gnat_install_SEH_handler): New prototype.
6642         Update copyright notice.
6643
6644         * s-tassta.adb (Task_Wrapper): Declare the exception registration
6645         record and initialize it by calling __gnat_install_SEH_handler.
6646
6647 2005-02-09  Vincent Celier  <celier@adacore.com>
6648
6649         * make.adb (Gnatmake): Do not fail when the main project has no object
6650         directory.
6651
6652 2005-02-09  Doug Rupp  <rupp@adacore.com>
6653
6654         * Makefile.in [VMS] (LN,LN_S): Define as cp -p
6655         Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
6656         [VMS]: Add translations for g-enblsp.adb.
6657
6658         * s-asthan-vms.adb: Removed.
6659         * s-asthan-vms-alpha.adb: Added.
6660
6661 2005-02-09  Pascal Obry  <obry@adacore.com>
6662
6663         * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
6664         (LIBGNAT_OBJS): Add seh_init.o.
6665
6666 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
6667
6668         PR ada/16592
6669
6670         * Makefile.in: Link all gnat tools with -static-libgcc, since
6671         -shared-libgcc is now used by default on some systems (e.g. linux with
6672         recent binutils).
6673         Remove references to Makefile.prolog/generic, no longer used.
6674
6675 2005-02-09  Vincent Celier  <celier@adacore.com>
6676
6677         * prj-makr.adb (Process_Directory): Put file name in canonical case
6678         before matching against the patterns.
6679         If gnatname has been invoked as <prefix>-gnatname
6680         then invoke the compiler as <prefix>-gcc, not just "gcc".
6681
6682 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
6683
6684         * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
6685         with expansion disabled. The actual subtype is needed among other
6686         places when the selected component appears in the context of a loop
6687         bound, and denotes a packed array.
6688         (Operator_Check): Always use the first subtype in the
6689         error message, to avoid the appearance of internal base types.
6690         (Transform_Object_Operation): Copy each actual in full
6691         to the parameter associations of the constructed call, rather than
6692         using the shallow copy mechanism of New_Copy_List. This ensures that
6693         the chaining of named associations is done properly.
6694         (Complete_Object_Operation): Rewrite node, rather than
6695         replacing it, so that we can trace back to the original selected
6696         component.
6697
6698         * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
6699         and calls that use object notation, if the called function is not
6700         declared  in a withed unit, place the elaboration constraint on the
6701         unit in the context that makes the function accessible.
6702         (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
6703         imposes an elaboration constraint between two packages.
6704
6705 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
6706
6707         * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
6708         views of a private type after handling its private dependents, to
6709         maintain proper stack discipline between entry and exit from the
6710         package.
6711
6712 2005-02-09  Cyrille Comar  <comar@adacore.com>
6713
6714         * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
6715         Minor reformatting.
6716
6717 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
6718
6719         * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
6720         fields for foreign threads.
6721
6722 2005-02-09  Doug Rupp  <rupp@adacore.com>
6723
6724         * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
6725         recursion warnings when compiled with -gnatdm.
6726
6727 2005-02-09  Robert Dewar  <dewar@adacore.com>
6728
6729         * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
6730         Slight fix to documentation of -gnaty with no parameters
6731
6732         * xr_tabls.ads: Add ??? comment for missing overall comment
6733
6734         * xsinfo.adb: Make default file name be sinfo.h, since this is what
6735         we now use by default.
6736
6737         * xsnames.adb: Adjust end of file test to look for five space followed
6738         by '#' instead of six spaces. The format of xsnames.adb was modified
6739         in the last update.
6740
6741         * a-numeri.ads: Add reference to AI-388 for greek letter pi
6742         identifier.
6743
6744         * clean.adb: Minor reformatting.
6745
6746         * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
6747         gnatname.adb: Minor reformatting
6748         Add 2005 to copyright output when utility is run
6749
6750         * csets.adb: Eliminate obsolete comment
6751
6752         * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
6753         Update comments.
6754
6755         * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
6756
6757 2005-02-09  Sergey Rybin  <rybin@adacore.com>
6758
6759         * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
6760         the difference between compact and incompact layout and add the record
6761         representation clause to the example illustrating different layouts.
6762         Add the description of '-A5' gnatpp option ("align 'AT' keywords in
6763         component clauses").
6764
6765 2005-02-09  Florian Villoing  <villoing@adacore.com>
6766
6767         * gnat_ugn.texi: Fix typos.
6768         Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
6769         @file.
6770         Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
6771         in the generated documentation.
6772
6773 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
6774
6775         * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
6776         longer supported.
6777         Update linker wrapper when linking with non GNU C++.
6778
6779 2005-02-09  Pascal Obry  <obry@adacore.com>
6780
6781         * gnat_ugn.texi:
6782         Document the procedure to debug the DllMain routine on Windows.
6783         Add note about -funwind-tables and mixed Ada and C/C++ programming in
6784         ZCX mode.
6785         Document new BIND qualifer /RETURN_CODES=VMS.
6786
6787 2005-02-09  Ben Brosgol  <brosgol@adacore.com>
6788
6789         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
6790         Edited gnatmetric chapter
6791
6792 2005-02-09  Robert Dewar  <dewar@adacore.com>
6793
6794         * gnat_rm.texi:
6795         Changes to document new wide wide character support
6796         For AI-285
6797         Update documentation on Normalize_Scalars and Initialize_Scalars
6798
6799 2005-02-09  Pascal Obry  <obry@adacore.com>
6800
6801         * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
6802
6803 2005-02-09  Jose Ruiz  <ruiz@adacore.com>
6804
6805         * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
6806         from the VxWorks kernel) that is needed for getting the active
6807         priority of the different tasks.
6808
6809         * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
6810         Use a pragma Elaborate_Body in the spec file instead.
6811         Noticed by code reading.
6812
6813 2005-02-09  Thomas Quinot  <quinot@adacore.com>
6814
6815         * exp_util.ads: Minor correction in comment.
6816
6817 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
6818
6819         * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
6820         since this procedure is now too complex to be worth inlining.
6821
6822 2005-02-09  Richard Henderson  <rth@redhat.com>
6823
6824         * utils.c (gnat_define_builtin): Remove.
6825         (gnat_install_builtins): Use build_common_builtin_nodes.
6826
6827 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
6828
6829         * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
6830         a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
6831         a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
6832         a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
6833         a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
6834         a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
6835         a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
6836         a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
6837         a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
6838         a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
6839         a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
6840         a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
6841         a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
6842         a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
6843         a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
6844         a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
6845         a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
6846         a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
6847         a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
6848         a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
6849         a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
6850         a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
6851         a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
6852         a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
6853         a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
6854         a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
6855         a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
6856         a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
6857         a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
6858         a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
6859         a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
6860         a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
6861         a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
6862         a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
6863         library.
6864
6865 2005-01-27  Laurent GUERBY <laurent@guerby.net>
6866
6867         * Makefile.in: Fix a-intnam.ads from previous commit,
6868         add 2005 to copyright.
6869         * a-intman-rtems.ads: Renamed to...
6870         * a-intnam-rtems.ads:
6871
6872 2005-01-27  Laurent GUERBY <laurent@guerby.net>
6873
6874         * Makefile.in: Rename GNAT RTEMS specific files.
6875         * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
6876         5rosinte.ads, 5rparame.adb: Replaced by files below.
6877         * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
6878         s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
6879
6880 2005-01-27  Joel Sherrill <joel.sherrill@oarcorp.com>
6881             Laurent GUERBY <laurent@guerby.net>
6882
6883         PR ada/19488
6884         * 5rosinte.ads: Add No_Key constant.
6885         * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
6886         * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
6887
6888 2005-01-26  Laurent GUERBY <laurent@guerby.net>
6889
6890         PR ada/19414
6891         * i-cobol.adb (Valid_Numeric): Handle zero length case.
6892
6893 2005-01-20  Richard Henderson  <rth@redhat.com>
6894
6895         * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
6896         a-intnam-linux.ads and system-linux-alpha.ads.
6897         * a-intnam-linux-alpha.ads: Remove file.
6898         * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
6899         * system-linux-alpha.ads: New file.
6900
6901 2005-01-18  Jakub Jelinek  <jakub@redhat.com>
6902
6903         PR ada/13470
6904         * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
6905         set to the new string.
6906
6907 2005-01-18  Toon Moene  <toon@moene.indiv.nluug.nl>
6908
6909         * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
6910         to True.
6911
6912 2005-01-18  Richard Henderson  <rth@redhat.com>
6913
6914         * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
6915         THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
6916         for alpha-linux.
6917         * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
6918
6919 2005-01-14  Andrew Pinski  <pinskia@physics.uc.edu>
6920
6921         * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
6922         (GCC_ZCX_Support): Likewise.
6923
6924 2005-01-11  Bastian Blank  <waldi@debian.org>
6925
6926         * system-linux-s390.ads: Define Preallocated_Stacks.
6927         * system-linux-s390x.ads: Likewise.
6928
6929 2005-01-04  Arnaud Charlet  <charlet@adacore.com>
6930
6931         * gnat_ugn.texi: Fix texi errors with null variables.
6932
6933 2005-01-03  Thomas Quinot  <quinot@adacore.com>
6934
6935         * gen-soccon.c: New utility program to generate g-soccon.ads
6936         automatically.
6937
6938         * socket.c, gsocket.h: Split inclusion of system header files into a
6939         gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
6940
6941         * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
6942         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
6943         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
6944         g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
6945         should not be edited by hand anymore, but should be regenerated using
6946         gen-soccon.
6947
6948 2005-01-03  Robert Dewar  <dewar@adacore.com>
6949             Ed Schonberg  <schonberg@adacore.com>
6950             Vincent Celier  <celier@adacore.com>
6951
6952         * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
6953         on/off, since this is an obsolescent feature, for which we now generate
6954         a warning.
6955
6956         * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
6957         warning mode is set and obsolescent usage of this attribute occurs.
6958         (Resolve_Access, case 'Access): Note that GNAT uses the context type to
6959         disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
6960         predates, and partly motivates, the adoption of the AI.
6961         Implement new Ada 2005 attribute Mod
6962
6963         * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
6964         attribute Mod.
6965
6966         * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
6967
6968         * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
6969         pragma restrictions.
6970         New entry for Ada 2005 attribute Mod.
6971
6972         * par-prag.adb:
6973         Add recognition of new pragma Restrictions No_Dependence
6974         Recognize restriction No_Obsolescent_Features at parse time
6975
6976         * bcheck.adb: Add circuitry for checking for consistency of
6977         No_Dependence restrictions.
6978
6979         * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
6980         restrictions.
6981
6982         * restrict.ads, restrict.adb: Add subprograms to deal with
6983         No_Dependence restrictions.
6984
6985         * rtsfind.adb: Check that implicit with's do not violate No_Dependence
6986         restrictions.
6987
6988         * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
6989         sem_attr.adb: Add check for new restriction No_Obsolescent_Features
6990
6991         * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
6992         dummy parameter to scng instantiation.
6993         Needed for new restriction No_Obsolescent_Features
6994
6995         * scn.adb: (Obsolescent_Check): New procedure
6996         Needed for new restriction No_Obsolescent_Features
6997
6998         * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
6999         specified by AI-285, needed for implementation of AI-388 (adding greek
7000         pi to Ada.Numerics).
7001         Add new generic formal to scng, needed for new restriction
7002         No_Obsolescent_Features.
7003
7004         * s-rident.ads: Add new restriction No_Obsolescent_Features.
7005
7006         * ali.ads, ali.adb: Adjustments for reading new No_Dependence
7007         restrictions lines.
7008         (Scan_ALI): When finding an unexpected character on an R line, raise
7009         exception Bad_R_Line, instead of calling Fatal_Error, so that, when
7010         Ignore_Errors is True, default restrictions are set and scanning of the
7011         ALI file continues with the next line. Also, when Bad_R_Line is raised
7012         and Ignore_Errors is True, skip to the end of le line.
7013
7014         * sem_ch10.adb: Check that explicit with's do not violate
7015         No_Dependence restrictions.
7016         (Install_Withed_Unit): Add code to implement AI-377 and diagnose
7017         illegal context clauses containing child units of instance.
7018
7019         * sem_prag.adb: Processing and checking for new No_Dependence
7020         restrictions.
7021         (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
7022         analyze and check the External argument.
7023
7024         * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
7025
7026 2005-01-03  Robert Dewar  <dewar@adacore.com>
7027
7028         * atree.adb: Add a fifth component to entities
7029         This allows us to add 32 flags and four new fields
7030
7031         * atree.ads: Add a fifth component to entities
7032         This allows us to add 32 flags and four new fields
7033
7034         * einfo.ads, einfo.adb: Document new fields and new flags now available
7035         Add routines for printing new fields
7036
7037         * treepr.adb: Call routines to print out additional fields if present
7038
7039 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
7040
7041         * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
7042         gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
7043
7044         * Makefile.in: Add support to build shared Ada libraries on solaris x86
7045         Remove gpr2make, replaced by gprmake.
7046         Remove references to gnatmem and libaddr2line.
7047         Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
7048         (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
7049         Add support for specialized version of Ada.Numerics.Aux for Darwin: use
7050         a-numaux-darwin.ads and a-numaux-darwin.adb
7051         Enable mlib-tgt-lynxos.adb on lynxos.
7052
7053         * Make-lang.in: Remove rules for gpr2make.
7054         When generating sdefault.adb, do not call Relocate_Path
7055         on S3 for function Target_Name, as it is not a path.
7056         Remove references to gnatmem and libaddr2line.
7057
7058         * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
7059         files.
7060
7061 2005-01-03  Samuel Tardieu  <tardieu@adacore.com>
7062
7063         * checks.adb (Apply_Alignment_Check): Generate a warning if an object
7064         address is incompatible with its base type alignment constraints when
7065         this can be decided statically.
7066
7067 2005-01-03  Olivier Hainque  <hainque@adacore.com>
7068
7069         * decl.c (compatible_signatures_p): New function. The intended purpose
7070         is to check if two function signatures for a call-site and a callee are
7071         compatible enough for the call to be valid. The underlying purpose is
7072         to check if a call to a mapped builtin is using the right interface.
7073         The current code actually does not check antyhing - this a placeholder
7074         for future refinements.
7075         (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
7076         builtin calls for convention Intrinsic.
7077
7078         * gigi.h (builtin_decl_for): Declare (new function).
7079
7080         * utils.c (gnat_install_builtins): Install the target specific builtins.
7081         (builtin_decl_for): New function, provide a dummy body for now.
7082
7083 2005-01-03  Geert Bosch  <bosch@adacore.com>
7084
7085         * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
7086         (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
7087         (Pred): Implement in terms of Succ.
7088
7089         * trans.c (convert_with_check): Reimplement conversion of float to
7090         integer.
7091
7092 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
7093             Vincent Celier  <celier@adacore.com>
7094
7095         * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
7096         bounds can be negative, and must be declared Int, not Nat.
7097
7098         * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
7099         array is checked after using the index in the array.
7100
7101         * makegpr.adb (Add_Switches): Check if there is a package for the
7102         processor. If there is no package, do not look for switches.
7103
7104 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
7105
7106         * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
7107         generation of predefined stream operations (specs and bodies) should
7108         proceed. Under various restrictions these subprograms must not be
7109         generated.
7110
7111 2005-01-03  Thomas Quinot  <quinot@adacore.com>
7112
7113         * exp_dist.adb:
7114         Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
7115         amount of PCS-specific code in RACW stubs generation.
7116         (Copy_Specification): Set Etype on copied formal parameter entities, as
7117         this information is needed for PolyORB stubs generation.
7118         (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
7119         variable Dynamic_Async.
7120         (Build_Subprogram_Receiving_Stubs): Make PCS-specific
7121         (Build_RPC_Receiver_Specification): Make generic again, as recent
7122         changes have allowed RPC receivers to have the same profile for both
7123         variants of the PCS.
7124         Reorganise RPC receiver generation to reduce differences between the
7125         structure of GARLIC and PolyORB RPC receivers.
7126         (Add_Receiving_Stubs_To_Declarations): Make this subprogram
7127         PCS-specific.
7128         Simplify elaboration code for RCI packages.
7129
7130         * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
7131         generation to reduce differences between the structure of GARLIC and
7132         PolyORB RPC receivers.
7133
7134         * s-stratt.adb: Fix typo in comment.
7135
7136 2005-01-03  Thomas Quinot  <quinot@adacore.com>
7137
7138         * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
7139         copied from Make_Init_Call).
7140
7141         * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
7142         reads and assignments on a temporary variable declared with appropriate
7143         discriminants.
7144
7145 2005-01-03  Robert Dewar  <dewar@adacore.com>
7146
7147         * i-c.adb (To_C): Raise CE if string is null and Append_Null
7148
7149 2005-01-03  Robert Dewar  <dewar@adacore.com>
7150
7151         * i-cstrin.adb (Update): Do not append a null in form called with a
7152         String. This avoids unintended behavior.
7153
7154 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
7155
7156         PR ada/17527
7157         * init.c: Fix warnings on Free BSD section.
7158
7159 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
7160
7161         PR ada/16949
7162         * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
7163         xsinfo.adb).
7164
7165 2005-01-03  Vincent Celier  <celier@adacore.com>
7166
7167         * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
7168         libraries when Unique_Compile is True (-u switch).
7169         (Gnatmake): ditto.
7170
7171 2005-01-03  Robert Dewar  <dewar@adacore.com>
7172
7173         * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
7174         upper case letter or underscore after W, as allowed by spec.
7175
7176 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
7177
7178         * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
7179         darwin port by using proper type definitions from header files.
7180         Use SIGTERM instead of SIGABRT for SIGADAABORT.
7181
7182 2005-01-03  Robert Dewar  <dewar@adacore.com>
7183
7184         * par.adb: Enhance error message handling for configuration file
7185         pragmas.
7186
7187 2005-01-03  Robert Dewar  <dewar@adacore.com>
7188
7189         * s-arit64.adb (Double_Divide): Put back changes that got accidentally
7190         removed during the previous update (test properly for case of dividing
7191         largest negative number by -1, which generates overflow).
7192
7193 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
7194             Sergey Rybin  <rybin@adacore.com>
7195
7196         * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
7197         to use as the defining identifier for a formal package.
7198         (Remove_Parent): If the instance takes place within (an instance of)
7199         a sibling, preserve private declarations of common parent.
7200
7201 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
7202
7203         * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
7204         to determine whether one of the operands is a fixed-point type for
7205         which a user-defined multiplication or division operation might be
7206         defined.
7207
7208         * sem_res.adb (Valid_Conversion): The legality rules for conversions
7209         of access types are symmetric in Ada 2005: either designated type can
7210         be unconstrained.
7211
7212 2005-01-03  Vincent Celier  <celier@adacore.com>
7213
7214         * s-fileio.adb (Temp_File_Record): Change length of string component
7215         Name from L_tmpnam + 1 to max_path_len + 1.
7216
7217 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
7218
7219         * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
7220         Self_Id.Deferral_Level = 0.
7221         (Do_Pending_Action): Move this function to the spec.
7222
7223         * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
7224         Do_Pending_Action explicitely when needed, in case we're using
7225         No_Abort restrictions.
7226
7227         * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
7228         deferral level since it will not get changed by the generated code.
7229         Keeping a default value of 1 would prevent some operations (e.g.
7230         select or delay) to proceed successfully.
7231
7232 2005-01-03  Ben Brosgol  <brosgol@adacore.com>
7233             Robert Dewar  <dewar@adacore.com>
7234             Cyrille Comar  <comar@adacore.com>
7235
7236         * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
7237         porting guide chapter (vms version).
7238         Revised doc title (removed "for native platforms") and subtitle.
7239         Add discussion on warning flag for obsolescent features. First we
7240         note that it applies to obsolete GNAT features, which was previously
7241         omitted. Second we contrast the behavior with that of the new
7242         Ada 2005 AI-368 restriction No_Obsolescent_Features.
7243         Preliminary rewriting of GNAT & libraries chapter in order to take
7244         into account default project locations & new project manager
7245         capabilities.
7246
7247 2005-01-03  Robert Dewar  <dewar@adacore.com>
7248
7249         * cstand.adb (Create_Operators): Clean up format and documentation of
7250         unary and binary operator result tables. No change in code, just
7251         reformatting and addition of comments.
7252
7253         * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
7254         sem_ch2.adb: Minor reformatting
7255
7256         * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
7257         sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
7258         comments for Tree_Read and Tree_Write.
7259
7260 2005-01-03  Pascal Obry  <obry@adacore.com>
7261
7262         * exp_attr.ads: Minor reformatting.
7263
7264 2005-01-03  Romain Berrendonner  <berrendo@adacore.com>
7265
7266         * comperr.adb (Compiler_Abort): Add specialized message for GAP
7267         versions.
7268
7269 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
7270
7271         * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
7272         whether the ancestor type is private, as may be the case with nested
7273         instantiations.
7274
7275 2004-12-30  Sohail Somani <sohail@sohailsomani.com>
7276
7277         PR ada/19128
7278         * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
7279
7280 2004-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
7281
7282         * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
7283         * utils2.c (build_unary_op): Likewise.
7284
7285 2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7286
7287         * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
7288
7289 2004-12-19  Richard Henderson  <rth@redhat.com>
7290
7291         * trans.c (gigi): Update gimplify_body call.
7292
7293 2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
7294
7295         * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
7296
7297 2004-12-07  Ed Falis  <falis@adacore.com>
7298
7299         * s-intman-vxworks.adb (Notify_Exception): removed useless check for
7300         current task being suspended.
7301
7302         * init.c (__gnat_clear_exception): added to reset VxWorks exception
7303         count.
7304         (__gnat_map_signal): removed test for current task being suspended.
7305
7306 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
7307
7308         * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
7309         from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
7310         targets (such as AAMP).
7311
7312 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
7313
7314         * atree.adb (Visit_Itype): Create a new name for the generated itype,
7315         because the back-end may otherwise treat it as a redefinition of the
7316         old symbol.
7317
7318 2004-12-07  Eric Botcazou  <ebotcazou@adacore.com>
7319
7320         * back_end.adb (Scan_Back_End_Switches): Accept --param.
7321
7322         * lang-specs.h: Accept --param.
7323
7324 2004-12-07  Vincent Celier  <celier@adacore.com>
7325
7326         * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
7327         package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
7328         Current_Body_Suffix => Ada_Body_Suffix).
7329         Take into account Externally_Built attribute.
7330
7331         * clean.adb (In_Extension_Chain): Always return False when one of the
7332         parameter is No_Project.
7333         (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
7334         Ada_Language_Index).
7335         (Gnatclean): Adapt to change in package Prj.Pars (no parameter
7336         Process_Languages for procedure Parse).
7337
7338         * gnatcmd.adb (Carg_Switches): New table.
7339         (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
7340         Adapt to name changes in package Prj (Current_Spec_Suffix =>
7341         Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
7342
7343         * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
7344         Header_Num and function Hash are now declared in package Prj,
7345         not Prj.Com.
7346
7347         * prj.adb (Suffix_Of): New function.
7348         (Set (Suffix)): New procedure.
7349         (Hash): One function moved from Prj.Com
7350         (Is_Present, Language_Processing_Data_Of): New functions
7351         (Set): Two new procedures
7352         (Add_Language_Name, Display_Language_Name): New procedures
7353
7354         * prj.ads: (Suffix_Of): New function
7355         (Set (Suffix)): New procedure
7356         Add several types and tables for multi-language support.
7357         (Header_Num): Type moved from Prj.Com
7358         (Hash): Two functions moved from Prj.Com
7359         (Is_Present, Language_Processing_Data_Of): New functions
7360         (Set): Two new procedures
7361         (Add_Language_Name, Display_Language_Name): New procedures
7362         (Naming): Component name changes:
7363         Current_Spec_Suffix => Ada_Spec_Suffix,
7364         Current_Body_Suffix => Ada_Body_Suffix. Add new components:
7365         Impl_Suffixes, Supp_Suffixes.
7366         (Project_Data): New components: Externally_Built, Supp_Languages,
7367         First_Language_Processing, Supp_Language_Processing, Default_Linker,
7368         Default_Linker_Path.
7369
7370         * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
7371         new package Language_Processing with its attributes (Compiler_Driver,
7372         Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
7373         Binder_Driver, Default_Linker).
7374
7375         * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
7376         (Header_Num): Type moved to package Prj
7377
7378         * prj-env.adb: Adapt to name changes in package Prj
7379         (Current_Spec_Suffix => Ada_Spec_Suffix,
7380         Current_Body_Suffix => Ada_Body_Suffix).
7381
7382         * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
7383         default to the project path, except the "-" is one of the directories
7384         in env var ADA_PROJECT_PATH.
7385         (Current_Project_Path): Global variable, replacing Project_Path
7386         that was in the body of Prj.Part.
7387         (Project_Path): New function
7388         (Set_Project_Path): New procedure
7389         Initialize Current_Project_Path during elaboration of the package
7390         Remove dependency on Prj.Com, no longer needed
7391
7392         * prj-ext.ads (Project_Path): New function
7393         (Set_Project_Path): New procedure
7394
7395         * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
7396         suffix is defined for language <lang>.
7397         (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
7398         accessing directly the components of Naming.
7399         (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
7400         Reorganise of this package.
7401         Break procedure Check in several procedures.
7402
7403         * prj-nmsc.ads: Replace all procedures (Ada_Check,
7404         Other_Languages_Check and Language_Independent_Check) with a single
7405         procedure Check.
7406
7407         * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
7408         Process_Languages, no longer needed.
7409
7410         * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
7411         Current_Project_Path.
7412         Remove elaboration code, moved to the body of Prj.Ext
7413         Use new function Prj.Ext.Project_Path instead of old variable
7414         Project_Path.
7415         (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
7416         When comparing with project paths on the stack, first put the resolved
7417         path in canonical case.
7418         (Parse_Single_Project): Set the path name of the project file in the
7419         tree to the normalized path.
7420
7421         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
7422         parameter Process_Languages, no longer needed.
7423         (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
7424         Other_Languages_Check.
7425
7426         * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
7427         to store the resolved canonical path of the project file.
7428         Remove dependency to Prj.Com, no longer needed
7429
7430         * prj-util.adb: Adapt to name changes in package Prj
7431         (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
7432         Ada_Body_Suffix).
7433
7434         * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
7435         Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
7436         Externally_Built, Include_Option, Language_Processing.
7437
7438         * makegpr.adb: Numerous changes due to changes in packages
7439         Prj and Prj.Nmsc.
7440
7441         * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
7442         default to the project path, except whe "-" is one of the directories
7443         in env var ADA_PROJECT_PATH.
7444         (Gnatls): In verbose mode, add the new section "Project Search Path:"
7445
7446 2004-12-07  Robert Dewar  <dewar@adacore.com>
7447
7448         * debug.adb: Document that -gnatdA automatically sets -gnatR3m
7449
7450         * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
7451         set -gnatR3m mode.
7452
7453         * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
7454         flag. No longer needed now that we handle this in gnat1drv.adb.
7455
7456         * repinfo.ads: Minor reformatting
7457
7458 2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7459             Olivier Hainque  <hainque@adacore.com>
7460             Eric Botcazou  <ebotcazou@adacore.com>
7461
7462         * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
7463         TYPE_SIZE_UNIT of result type if SIZE is not specified.
7464         (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
7465         of a bitfield, which we know is useless and causes trouble because of
7466         alignment implications.
7467
7468         * utils.c (create_var_decl): Set DECL_COMMON again on targets without
7469         BSS sections.
7470         (process_attributes): Clear DECL_COMMON again when a section attribute
7471         is present.
7472         (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
7473         SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
7474         (create_field_decl): Special case ADDRESSABLE negative to mean
7475         "no bitfield creation", to be used by make_aligning_type. Don't
7476         restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
7477         fields claimed addressable still have to be bitfields. Use
7478         value_factor_p instead of a raw binop construction to check for the
7479         position's alignment.
7480
7481 2004-12-07  Geert Bosch  <bosch@adacore.com>
7482
7483         * eval_fat.adb: Revert previous change.
7484
7485 2004-12-07  Thomas Quinot  <quinot@adacore.com>
7486             Ed Schonberg  <schonberg@adacore.com>
7487
7488         * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
7489         with an implicit dereference as its prefix, use
7490         Insert_Explicit_Dereference instead of merely rewriting the prefix into
7491         an explicit dereference. This ensures that a reference to the original
7492         prefix is generated, if appropriate.
7493
7494         * sem_util.adb (Insert_Explicit_Dereference): When an implicit
7495         dereference is rewritten to an explicit one, generate a reference to
7496         the entity denoted by its prefix using the original prefix node, so
7497         the dereference can be properly recorded as a read of the denoted
7498         access value, if appropriate.
7499
7500         * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
7501         emitting 'assigned but never read' warning on a variable on the basis
7502         that it has an access type.
7503         (Check_References): Emit unreferenced warning when the scope is a
7504         subprogram body.
7505
7506 2004-12-07  Robert Dewar  <dewar@adacore.com>
7507             Ed Schonberg  <schonberg@adacore.com>
7508
7509         * exp_ch6.adb (Expand_Call): Add comment on handling of back end
7510         intrinsic
7511
7512         * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
7513         leaving call unchanged.
7514         This deals with the case where the pragma Import specified
7515         an external name, to be handled by the back end.
7516
7517         * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
7518         subprogram which is Imported with convention Intrinsic if an
7519         External_Name argument is specified.
7520         (Process_Import_Or_Interface): Properly diagnose link name argument.
7521         (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
7522         with Sem_Ch6.Cannot_Inline.
7523         (Process_Inline): Provide separate warning for inapplicable inline
7524         pragma.
7525         (Cannot_Inline): Reject subprograms that have an at_end handler, so that
7526         treatment is uniform on different targets.
7527
7528 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
7529
7530         * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
7531         construct is rewritten, preserve end label to permit source navigation.
7532
7533 2004-12-07  Thomas Quinot  <quinot@adacore.com>
7534
7535         * exp_dist.adb (Specific_Build_General_Calling_Stubs,
7536         Specific_Build_Stub_Target): New subprograms.
7537         (Build_Subprogram_Calling_Stubs): Make this procedure independent from
7538         the PCS implementation used, using the above PCS-customized subprograms.
7539         Minor reformatting.
7540         (PolyORB_Support.Helpers): New subunit containing supporting subprograms
7541         for generation of DSA code targeted to the PolyORB PCS.
7542         (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
7543         implementation of the partition communication subsystem in ancillary
7544         subprograms.
7545         (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
7546         PolyORB_Support.Build_Stub_Type): New subrograms containing the
7547         PCS-specific part of Add_Stub_Type.
7548         (Insert_Partition_Check): Use runtime library function to perform
7549         E.4(19) check.
7550
7551         * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
7552         (RE_Same_Partition): New entity, from s-parint.
7553
7554         * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
7555
7556 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
7557
7558         * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
7559         Output the copyright message on a separate line from the version
7560         message.
7561
7562 2004-12-07  Joel Brobecker  <brobecker@adacore.com>
7563
7564         * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
7565         compile-time warning.
7566
7567 2004-12-07  Robert Dewar  <dewar@adacore.com>
7568
7569         * g-regpat.adb: (Match): Change a misuse of or to or else
7570
7571 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
7572
7573         * lib-xref.adb:
7574         (Generate_Reference): Handle properly a reference to an entry formal,
7575          when an accept statement has a pragma Unreferenced for it.
7576
7577         * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
7578         and the Has_Pragma_Unreferenced flag for each formal before analyzing
7579         the body, to ensure that warnings are properly emitted for each accept
7580         statement of a given task entry.
7581
7582 2004-12-07  Vasiliy Fofanov  <fofanov@adacore.com>
7583
7584         * Makefile.in: Add support for foreign threads on VMS.
7585
7586 2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7587
7588         * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
7589         Remove.
7590         (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
7591
7592         * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
7593
7594         * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
7595         exception.
7596         (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
7597
7598 2004-12-07  Robert Dewar  <dewar@adacore.com>
7599
7600         * nlists.adb (Prepend_Debug): Remove parameters and nest within
7601         Prepend.
7602         (Remove_Next_Debug): Same fix
7603
7604         * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
7605         maintain back pointers now, though we did not used to, and comments
7606         were out of date).
7607         (Prepend): Remove pragma Inline.
7608         (Remove_Next): Same cleanup
7609
7610 2004-12-07  Thomas Quinot  <quinot@adacore.com>
7611
7612         * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
7613         used to record an implicit dereference as a read operation on its
7614         prefix when operating under -gnatc. Necessary to avoid spurious
7615         'variable assigned but never read' warnings in that mode.
7616         (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
7617         is a non-overloaded implicit dereference, call the above subprogram to
7618         ensure proper recording of references.
7619
7620 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
7621
7622         * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
7623         to be resolved later as part of Analyze_Iteration_Scheme's call to
7624         Make_Index.
7625
7626 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
7627
7628         * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
7629         prefix is not a scalar type, place error message on prefix, not on
7630         type entity.
7631
7632 2004-12-07  Bernard Banner  <banner@adacore.com>
7633
7634         * vxaddr2line.adb: Add support for x86 vxworks
7635
7636 2004-12-07  Thomas Quinot  <quinot@adacore.com>
7637
7638         * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
7639         documentation of the behaviour of these functions when passed an IP
7640         address that has no record in the system hosts database and no reverse
7641         record in the DNS.
7642
7643         * cstand.adb, a-tags.ads: Fix typos in comment.
7644
7645 2004-12-07  Robert Dewar  <dewar@adacore.com>
7646
7647         * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
7648         exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
7649         sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
7650         s-poosiz.ads: Minor reformatting
7651
7652         * make.adb: Minor reformatting
7653         Add some ??? comments asking for more comments
7654
7655         * s-poosiz.adb: Minor reformatting
7656         Add comments on alignment requirement
7657
7658         * sinfo.ads: Remove obsolete comment and fix typo.
7659
7660 2004-12-07  Vincent Celier  <celier@adacore.com>
7661             Sergey Rybin  <rybin@adacore.com>
7662
7663         * gnat_ugn.texi: Update the section "The GNAT Driver and Project
7664         Files" with the new tool and package names.
7665         Reformatting to suppress most of the warnings for line too long
7666         Document the new section "Project Search Path:" in the output of
7667         gnatls -v.
7668         Add gnatmetric section
7669
7670 2004-12-07  Vincent Celier  <celier@adacore.com>
7671
7672         * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
7673         -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
7674         and -eit to -ept. Added qualifier
7675         /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
7676
7677 2004-11-27  Andreas Schwab  <schwab@suse.de>
7678
7679         * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
7680
7681 2004-11-25  Arnaud Charlet  <charlet@adacore.com>
7682
7683         * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
7684         internal implementation unit GNAT.Sockets.Thin,
7685         as their usage for sockets is non-portable (using the read and write
7686         functions from the system runtime library is fine on UNIX but won't
7687         work under Windows).
7688
7689         * mingw32.h: Update copyright notice.
7690
7691 2004-11-25  Arnaud Charlet  <charlet@adacore.com>
7692
7693         * ada-tree.h: Minor reformatting of previous change to avoid lines
7694         longer than 79 characters.
7695
7696 2004-11-25  Olivier Hainque  <hainque@adacore.com>
7697
7698         * tb-gcc.c: GCC infrastructure based implementation of
7699         __gnat_backtrace.
7700
7701 2004-11-24  Steven Bosscher  <stevenb@suse.de>
7702
7703         * misc.c (gnat_post_options): Don't clear
7704         flag_inline_functions.
7705
7706 2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
7707
7708         PR ada/17986
7709         * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
7710         tree.
7711
7712 2004-11-21  Andreas Jaeger  <aj@suse.de>
7713
7714         * stylesw.adb: Change Style_Check_Subprogram_Order to
7715         Style_Check_Order_Subprograms.
7716
7717 2004-11-18  Arnaud Charlet  <charlet@adacore.com>
7718
7719         * adaint.h, adaint.c
7720         (__gnat_portable_spawn): Fix cast of spawnvp third parameter
7721         to avoid warnings.
7722         Add also a cast to kill another warning.
7723         (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
7724         parameter with the priority class of the parent process instead of
7725         always using the NORMAL_PRIORITY_CLASS.
7726         (__gnat_dup): New function.
7727         (__gnat_dup2): New function.
7728         (__gnat_is_symbolic_link): Enable the effective body of this
7729         function when __APPLE__ is defined.
7730
7731         * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
7732         Update comments.
7733
7734 2004-11-18  Olivier Hainque  <hainque@adacore.com>
7735
7736         * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
7737         address of which may be used to represent "others" and "all others"
7738         choices in exception tables, instead of the current harcoded
7739         (void *)0 and (void *)1.
7740         (Setup_Exception): Do nothing in the GNAT SJLJ case.
7741
7742         * gigi.h (others_decl, all_others_decl): New decls representing the
7743         new Others_Value and All_Others_Value objects.
7744         (struct attrib): Rename "arg" component as "args", since GCC expects a
7745         list of arguments in there.
7746
7747         * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
7748         corresponding objects exported by a-exexpr, instead of hardcoded dummy
7749         addresses.
7750
7751         * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
7752         others_decl and all_others_decl instead of hardcoded dummy addresses
7753         to represent "others" and "all others" choices, which is cleaner and
7754         more flexible with respect to the possible eh pointer encoding policies.
7755
7756         * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
7757         (process_attributes): Account for the naming change of the "args"
7758         attribute list entry component.
7759
7760         * decl.c (build_attr_list): Rename into prepend_attributes to allow
7761         cumulating attributes for different entities into a single list.
7762         (gnat_to_gnu_entity): Use prepend_attributes to build the list of
7763         attributes for the current entity and propagate first subtype
7764         attributes to other subtypes.
7765         <E_Procedure>: Attribute arguments are attr->args and not
7766         attr->arg any more.
7767         (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
7768         argument provided, as this is what GCC expects. Use NULL_TREE instead
7769         of 0 for trees.
7770
7771 2004-11-18  Robert Dewar  <dewar@adacore.com>
7772
7773         * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
7774         Minor reformatting througout (including new function specs)
7775         Add ??? comments asking for clarification.
7776
7777 2004-11-18  Thomas Quinot  <quinot@adacore.com>
7778
7779         * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
7780         incomplete duplicate implementation of this subprogram from butil.
7781
7782 2004-11-18  Thomas Quinot  <quinot@adacore.com>
7783
7784         * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
7785         procedures factors the common processing for building an RPC receiver
7786         for an RCI package or an RACW type.
7787         Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
7788         Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
7789         (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
7790         in use.
7791         (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
7792         Add_RACW_Features.
7793         (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
7794         Add_RAST_Features.
7795         (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
7796         distribution subprogram identifiers that are either subprogram numbers
7797         or strings.
7798         (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
7799         string distribution identifiers assigned to a given subprogram.
7800         (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
7801         (Add_RAS_Dereference_TSS): Add comments.
7802         (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
7803         is not referenced yet because it will be used by the PolyORB DSA
7804         implementation.
7805         (Insert_Partition_Check): Remove fossile code.
7806         (First_RCI_Subprogram_Id): Document this constant.
7807         (Add_RAS_Access_TSS): Correct the setting of the Etype of the
7808         RAS_Access TSS.
7809         (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
7810         replaced with calls to Get_Library_Unit_Name_String. Previously there
7811         were several instances of the same code in different locations in the
7812         compiler; this checkin completes the replacement of all of these
7813         instances with calls to a common subprogram.
7814         Minor reformatting.
7815
7816         * sem_dist.adb: Remove comment noting that RPC receiver generation
7817         should be disabled for RACWs that implement RASs.
7818         (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
7819
7820         * sem_util.ads, sem_util.adb (Has_Stream): New function
7821         (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
7822         qualified name of a library unit into the name buffer.
7823         (Note_Possible_Modification): Generate a reference only
7824         if the context comes from source.
7825
7826         * snames.ads (PCS_Names): New subtype corresponding to names of
7827         supported implementations of the Partition Communication Subsystem
7828         (PCS) (i.e. the runtime library support modules for the distributed
7829         systems annex).
7830
7831 2004-11-18  Robert Dewar  <dewar@adacore.com>
7832             Ed Schonberg  <schonberg@adacore.com>
7833
7834         * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
7835         (Has_Rep_Pragma): New function
7836         (Has_Attribute_Definition_Clause): New function
7837         (Record_Rep_Pragma): Moved here from sem_ch13.adb
7838         (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
7839
7840         * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
7841
7842         * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
7843         (Expand_Pragma_Psect_Object): New procedure
7844         These procedures contain the revised and cleaned up processing for
7845         these two pragmas. This processing was formerly in Sem_Prag, but
7846         is more appropriately moved here. The cleanup involves making sure
7847         that the pragmas are properly attached to the tree, and that no
7848         nodes are improperly shared.
7849
7850         * sem_prag.adb: Move expansion of Common_Object and Psect_Object
7851         pragmas to Exp_Prag, which is more appropriate.
7852         Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
7853         check for duplicates Remove use of Is_Psected flag, no longer needed.
7854         Use new Make_String_Literal function with string.
7855
7856         * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
7857         that are functions return universal values, that have to be converted
7858         to the context type.
7859         Use new Make_String_Literal function with string.
7860         (Get_Stream_Convert_Pragma): New function, replaces the use of
7861         Get_Rep_Pragma, which had to be kludged to work in this case.
7862
7863         * freeze.adb: Use new Has_Rep_Pragma function
7864
7865         * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
7866         function with string.
7867         Use new Has_Rep_Pragma function.
7868
7869         * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
7870         string argument.
7871
7872 2004-11-18  Robert Dewar  <dewar@adacore.com>
7873
7874         * errout.ads, errout.adb: (First_Sloc): New function
7875
7876         * par-ch5.adb (P_Condition): Check for redundant parens is now a style
7877         check (-gnatyx) instead of being included as a redundant construct
7878         warning.
7879
7880         * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
7881         Style_Check_Order_Subprograms.
7882
7883         * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
7884         stylesw.adb: Add Style_Check_Xtra_Parens
7885
7886         * usage.adb: Add line for -gnatyx (check extra parens)
7887
7888         * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
7889
7890 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
7891             Robert Dewar  <dewar@adacore.com>
7892
7893         * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
7894         discriminant of a constrained subtype, analyze the copy of the
7895         corresponding constraint, because in some cases it may be only
7896         partially analyzed.
7897         Removes long-lived ??? comments.
7898
7899         * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
7900         handled controlled or secondary-stack expressions within the
7901         iteration_scheme of a loop.
7902
7903         * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
7904         bounds that may contain functions calls, to prevent memory leaks when
7905         the bound contains a call to a function that uses the secondary stack.
7906         (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
7907         generate temporaries for loop bounds that might contain function calls
7908         that require secondary stack and/or finalization actions.
7909
7910         * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
7911         selected component and the selector is overloadable (not just a
7912         function) treat as function call, Analyze_Call will disambiguate if
7913         necessary.
7914         (Analyze_Selected_Component): Do not generate an actual subtype for the
7915         selected component if expansion is disabled. The actual subtype is only
7916         needed for constraint checks.
7917         (Analyze_Allocator): If restriction No_Streams is set, then do
7918         not permit objects to be declared of a stream type, or of a
7919         composite type containing a stream.
7920
7921         * restrict.ads: Remove the a-stream entry from Unit_Array, since
7922         No_Streams no longer prohibits with'ing this package.
7923
7924         * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
7925         discriminants, but the parent base has unknown discriminants, there is
7926         no discriminant constraint to inherit. Such a discrepancy can arise
7927         when the actual for a formal type with unknown discriminants is a
7928         similar private type whose full view has discriminants.
7929         (Analyze_Object_Declaration): If restriction No_Streams is set, then
7930         do not permit objects to be declared of a stream type, or of a
7931         composite type containing a stream.
7932
7933 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
7934
7935         * exp_dbug.ads: Update documentation to reflect simpler encoding for
7936         protected operations.
7937
7938         * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
7939         generated name, it complicates decoding in gdb and hinders debugging
7940         of protected operations.
7941         (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
7942         flag for the protected entry barrier function.
7943         (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
7944         flag for the protected entry function.
7945
7946 2004-11-18  Nicolas Setton  <setton@adacore.com>
7947
7948         * expect.c: Define __unix__ when __APPLE__ is defined.
7949
7950         * Makefile.in: Inform the value of the variable GMEM_LIB in the
7951         Darwin-specific section.
7952
7953         * lang-specs.h: Change the placement of the %1 marker.
7954         Works around the fact that gcc adds -fPIC by default under Darwin.
7955
7956 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
7957
7958         * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
7959         type of the object with the packed array type, set the Analyzed flag
7960         on the object if it is an entity or simple indexed component, to avoid
7961         spurious type errors.
7962
7963 2004-11-18  Gary Dismukes  <dismukes@adacore.com>
7964
7965         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
7966         gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
7967         separate line from the version message.
7968
7969 2004-11-18  Ed Falis  <falis@adacore.com>
7970
7971         * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
7972         vthreads.
7973         (init_float): Eliminate initialization of floating point status for
7974         AE653. The instructions have no effect for vThreads.
7975
7976 2004-11-18  Vincent Celier  <celier@adacore.com>
7977
7978         * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
7979         gnatbind is invoked with -shared.
7980
7981 2004-11-18  Jose Ruiz  <ruiz@adacore.com>
7982
7983         * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
7984         for Detect_Blocking which is redundant with the check done within the
7985         procedure Protected_Single_Entry_Call.
7986         (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
7987         Detect_Blocking which is redundant with the check done within the
7988         procedure Protected_Single_Entry_Call.
7989
7990 2004-11-18  Vincent Celier  <celier@adacore.com>
7991
7992         * makegpr.adb (Compile): Put the compiling switches (in package
7993         Compiler and on the command line) immediately after "-c", instead of
7994         at the end of the command line invocation of the compiler, when
7995         compiling a non-Ada file.
7996         (Build_Global_Archive): When there is no need to rebuild the archive,
7997         set Global_Archive_Exists, so that the archive is passed to the linker
7998         if one is needed.
7999
8000 2004-11-18  Robert Dewar  <dewar@adacore.com>
8001             Sergey Rybin  <rybin@adacore.com>
8002
8003         * gnat_ugn.texi:
8004         Remove extra paren check from list of checks for redundant constructs
8005         Add documentation of new -gnatyx style check (check extra parens)
8006         Remove paragraph about gnatelim debug options.
8007
8008         * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
8009         objects rather than forbidding dependencies on the package Ada.Streams.
8010
8011         * sinfo.ads: Add ??? note that we should document pragmas passed to
8012         back end.
8013
8014         * g-expect.ads: Fix a few typos in the comments.
8015
8016 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
8017
8018         * misc.c (gnat_handle_option): Use %< and %> for quoting in
8019         warning message.
8020
8021 2004-11-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8022
8023         * a-numaux-x86.adb (Tan): Fix fdivp syntax.
8024
8025 2004-11-07  Andreas Schwab  <schwab@suse.de>
8026
8027         * Makefile.in (install-gnatlib): Remove spurious hyphen.
8028
8029 2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
8030
8031         PR ada/18228
8032         * Makefile.in (darwin): Set soext to .dylib.
8033
8034 2004-10-26  Vincent Celier  <celier@gnat.com>
8035             Thomas Quinot   <quinot@act-europe.fr>
8036
8037         * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
8038         (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
8039         there is no use of GNAT.Sockets.Constants.
8040         Remove remaining pragma Import for C_Write
8041         Remove C_Read and C_Write from internal implementation unit
8042         GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
8043         the read and write functions from the system runtime library is fine
8044         on UNIX but won't work under Windows).
8045
8046         * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
8047         (Check_Selector): Use C_Recv instead of C_Read.
8048         Selectors are the GNAT.Sockets abstraction to perform a select()
8049         call on a set of descriptors. To allow abortion of an ongoing
8050         select operation, some data is written to a dedicated socket that
8051         is always monitored.
8052         Under Windows, the write and read library functions cannot operate
8053         on sockets, so we need to use send and recv instead, which is portable
8054         across all supported platforms.
8055
8056         * g-socthi.ads: Remove C_Read and C_Write from internal implementation
8057         unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
8058         (using the read and write functions from the system runtime library is
8059         fine on UNIX but won't work under Windows).
8060
8061 2004-10-26  Nicolas Setton  <setton@act-europe.fr>
8062
8063         * mlib-tgt-darwin.adb: New file.
8064
8065         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
8066         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
8067         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
8068         mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
8069         subprogram body.
8070
8071         * Makefile.in: Add support for building shared libraries under Darwin.
8072         (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
8073         the low level EH init subprogram to be called from __gnat_initialize.
8074
8075         * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
8076         indicates which options to pass to the archive indexer.
8077
8078         * mlib-utl.adb: Add support for calling ranlib with additional
8079         options. This is needed for instance under Mac OS X.
8080         (Ranlib_Options): New global variable, used to store the potential
8081         options to pass to ranlib.
8082         (Ar): Use Ranlib_Options when spawning ranlib.
8083         (Initialize): Set the value of ranlib option.
8084
8085 2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
8086
8087         * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
8088         instead of 8K, to reflect the real potential needs for stack-checking
8089         in the ZCX case.
8090
8091 2004-10-26  Pascal Obry  <obry@gnat.com>
8092
8093         * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
8094
8095         * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
8096         Windows only the initial thread stack size can be set so it is good to
8097         start we a low stack size.
8098         The OS will adjust the size as needed.
8099
8100 2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
8101             Nicolas Setton  <setton@act-europe.fr>
8102
8103         * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
8104         "__unix__" instead of "unix".
8105         The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
8106         sections were just mistakenly ignored. The former is
8107         implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
8108         Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
8109         of hpux. This prevents an unwanted definition of the symbol
8110         convert_addresses in adaint.o.
8111
8112 2004-10-26  Gary Dismukes  <dismukes@gnat.com>
8113
8114         * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
8115         compatibility with type Unwind_Word on 16-bit targets such as AAMP.
8116
8117 2004-10-26  Cyrille Comar  <comar@act-europe.fr>
8118
8119         * a-filico.ads, a-filico.adb: fix incorrect header.
8120
8121 2004-10-26  Javier Miranda  <miranda@gnat.com>
8122
8123         * a-ststio.ads: Fix typo in identifier
8124
8125 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
8126
8127         * sem_ch4.adb: Minor reformatting.
8128
8129 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8130
8131         * checks.adb (Expr_Known_Valid): If floating-point validity checks are
8132         enabled, check the result of unary and binary operations when the
8133         expression is the right-hand side of an assignment.
8134
8135 2004-10-26  Vincent Celier  <celier@gnat.com>
8136
8137         * clean.adb (Delete): Do not output warnings when in quiet output and
8138         not in verbose mode.
8139         (Force_Deletions): New Boolean flag, defaulted to False
8140         (Delete): Only delete a file if it is writable, and when
8141         Force_Deletions is True.
8142         (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
8143         (Usage): Line for new switch -f
8144         (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
8145         own.
8146
8147 2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
8148
8149         * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
8150         JM type only if its size matches that of the wrapper.  When a size is
8151         prescribed and the field is not aliased, remove the wrapper of a JM
8152         type only if the size is not greater than that of the packed array.
8153         (gnat_to_gnu_entity): Change the extension of packed array wrappers
8154         from LJM to JM.
8155
8156 2004-10-26  Geert Bosch  <bosch@gnat.com>
8157
8158         * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
8159         (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
8160         (Pred): Implement in terms of Succ.
8161
8162 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8163
8164         * exp_aggr.adb (Safe_Component): An aggregate component that is an
8165         unchecked conversion is safe for in-place use if the expression of the
8166         conversion is safe.
8167         (Expand_Array_Aggregate): An aggregate that initializes an allocator may
8168         be expandable in place even if the aggregate does not come from source.
8169         (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
8170         designated object of an allocator in place, rather than building it
8171         first on the stack. The previous scheme forces a full copy of the array,
8172         and may be altogether unsusable if the size of the array is too large
8173         for stack allocation.
8174
8175 2004-10-26  Robert Dewar  <dewar@gnat.com>
8176
8177         * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
8178         compares if the component is atomic.
8179
8180         * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
8181         array assignment if the component type is atomic.
8182
8183 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8184             Eric Botcazou  <ebotcazou@act-europe.fr>
8185
8186         * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
8187         is aliased and is a by_reference type, do not pass by copy.
8188         (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
8189         detect whether the call is in the right side of an assignment or
8190         the expression of an object declaration.  Recurse on component
8191         association within aggregates.
8192         Call it in the condition that determines whether the temporary is
8193         necessary for correct stack-checking.
8194
8195 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
8196
8197         * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
8198         RACW_Type, used in the PolyORB version.
8199         Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
8200         version and the GARLIC version.
8201
8202         * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
8203         Rename RCI_Info to RCI_Locator for better consistency between the
8204         GARLIC and PolyORB versions of the distributed systems annex.
8205         (DSA_Implementation_Name): This enumeration lists the possible
8206         implementations of the Partition Communication Subsystem for the
8207         Distributed Systems Annex (DSA). The three available implementations
8208         are the dummy stub implementation (No_DSA), and two versions based on
8209         two different distribution runtime libraries: GARLIC and PolyORB. Both
8210         the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
8211         technology.
8212         Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
8213         that organization.
8214
8215         * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
8216         between the GARLIC and PolyORB versions of the distributed systems
8217         annex.
8218         Remove RE_Unbounded_Reclaim_Pool since it is unused.
8219
8220 2004-10-26  Gary Dismukes  <dismukes@gnat.com>
8221
8222         * gnat1drv.adb: Suppress calling the back end when
8223         Frontend_Layout_On_Target is true.
8224
8225 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
8226
8227         * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
8228         Set_Read_Only): New subprograms.
8229         These new routines allow the user to set or unset the Owner execute
8230         and Owner write permission flags on a file.
8231
8232         * makegpr.adb, mlib.adb, mlib-prj.adb: Use
8233         GNAT.OS_Lib.Set_Executable instead of rolling our own.
8234
8235 2004-10-26  Matthew Gingell  <gingell@gnat.com>
8236
8237         * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
8238
8239 2004-10-26  Pascal Obry  <obry@gnat.com>
8240
8241         * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
8242         memory before the faulting page we properly test the process read
8243         access for this address using appropriate Win32 routine.
8244         (HPUX sections): guard with "__hpux__" instead of "hpux".
8245
8246 2004-10-26  Robert Dewar  <dewar@gnat.com>
8247
8248         * lib-xref.adb (Generate_Reference): Don't complain about reference to
8249         entry parameter if pragma Unreferenced set, since we do not properly
8250         handle the case of multiple parameters.
8251
8252 2004-10-26  Vincent Celier  <celier@gnat.com>
8253
8254         * prj-env.adb: (Contains_ALI_Files): New Boolean function
8255         (Ada_Objects_Path.Add): For a library project, add to the object path
8256         the library directory only if there is no object directory or if the
8257         library directory contains ALI files.
8258         (Set_Ada_Paths.Add.Recursive_Add): Ditto
8259
8260 2004-10-26  Vincent Celier  <celier@gnat.com>
8261
8262         * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
8263         extension of library projects.
8264
8265         * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
8266         path defaults to ".:<prefix>/lib/gnat".
8267         (Parse): For an extending all project, allow direct import of a project
8268         that is virtually extended.
8269
8270         * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
8271         the specified name is directly imported, return its ID. Otherwise, if
8272         an extension of this project is imported, return the ID of the
8273         extension.
8274
8275 2004-10-26  Robert Dewar  <dewar@gnat.com>
8276
8277         * s-arit64.adb: (Le3): New function, used by Scaled_Divide
8278         (Sub3): New procedure, used by Scaled_Divide
8279         (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
8280         correct more than one instance of failure to propagate carries
8281         correctly.
8282         (Double_Divide): Handle overflow case of largest negative number
8283         divided by minus one.
8284
8285         * s-arit64.ads (Double_Divide): Document that overflow can occur in
8286         the case of a quotient value out of range.
8287         Fix comments.
8288
8289 2004-10-26  Robert Dewar  <dewar@gnat.com>
8290
8291         * s-bitops.adb (Bit_Eq): Remove redundant check.
8292
8293         * s-bitops.ads: Minor comment updates
8294         Change some occurrences of Address to System.Address
8295
8296         * s-carsi8.ads: Fix minor cut-and-paste error in comments
8297
8298 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8299
8300         * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
8301         accessibility check to prefix that is a protected operation.
8302
8303 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8304
8305         * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
8306         empty, post message on stub.
8307
8308 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8309             Javier Miranda  <miranda@gnat.com>
8310
8311         * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
8312         current instance appears within a unit that is directly in the context
8313         of the main unit.
8314         Used to determine whether the body of the instance should be analyzed
8315         immediately after its spec, to make its subprogram bodies available
8316         for front-end inlining.
8317         (Analyze_Formal_Array_Type): Cleanup condition that checks that range
8318         constraint is not allowed on the component type (AARM 12.5.3(3))
8319
8320 2004-10-26  Cyrille Comar  <comar@act-europe.fr>
8321
8322         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
8323         'Storage_Pool): enhance, document & limit detection of non-sharable
8324         internal pools.
8325
8326         * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
8327
8328         * s-pooglo.ads: Add more documentation now that this pool is properly
8329         documented.
8330
8331 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8332
8333         * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
8334         or protected type with discriminants, do not constrain the
8335         corresponding record type if the subtype declaration has no
8336         discriminant constraints. This can be the case in source code, or in
8337         the subtype declaration created to rename an actual type within an
8338         instantiation.
8339
8340 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8341
8342         * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
8343         different kind of stub (possibly wrong name for file), do not check
8344         for conformance.
8345         (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
8346         includes call to some function that returns an unconstrained type, do
8347         not inline.
8348
8349 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
8350
8351         * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
8352         appear in the code for the main unit. Dependencies among units in the
8353         context of the main unit are established when those other units are
8354         compiled. Otherwise spurious elaboration constraints can generate
8355         incorrect elaboration circularities.
8356
8357 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
8358             Ed Schonberg   <schonberg@gnat.com>
8359
8360         * sem_util.adb (Is_Aliased_View): Defend against the case where this
8361         subprogram is called with a parameter that is not an object name. This
8362         situation arises for some cases of illegal code, which is diagnosed
8363         later, and in this case it is wrong to call Is_Aliased, as that might
8364         cause a compiler crash.
8365         (Explain_Limited_Type): Refine previous fix to include
8366         inherited components of derived types, to provide complete information.
8367
8368         * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
8369         is the prival for a protected object.
8370         It is necessary to mark this entity as a variable, in addition to
8371         flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
8372         modified to avoid checking the Aliased flag on entities that are not
8373         objects. (Checking that flag for non-objects is erroneous and could
8374         lead to a compiler crash).
8375
8376 2004-10-26  Robert Dewar  <dewar@gnat.com>
8377
8378         * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
8379         X_Frac = 0.5, then we know that the number X must be positive.
8380         (Succ): Remove the same redundant test, and also fix the primary test
8381         to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
8382         Minor reformatting
8383         (Decompose): Add fuller comments to spec
8384
8385 2004-10-26  Pascal Obry  <obry@gnat.com>
8386
8387         * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
8388         validity (process must have read access). Set to 0 in all other cases.
8389         (STOP_FRAME): Now check for ptr validity to avoid a segmentation
8390         violation on Win32.
8391         (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
8392         segmentation violation.
8393
8394 2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
8395
8396         * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
8397         whose type is a constructed subtype of an aliased object with an
8398         unconstrained nominal subtype, convert the actual to the constructed
8399         subtype before taking its address.
8400
8401 2004-10-26  Vincent Celier  <celier@gnat.com>
8402
8403         * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
8404         (Is_Path_Name_Case_Sensitive): New function
8405
8406         * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
8407         (Base_Name, Simple_Name, Current_Directory, Compose,
8408         Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
8409         the result.
8410
8411 2004-10-26  Cyrille Comar    <comar@act-europe.fr>
8412             Vasiliy Fofanov  <fofanov@act-europe.fr>
8413             Vincent Celier   <celier@gnat.com>
8414
8415         * gnat_ugn.texi: Generalize "finding memory problems" section into a
8416         "memory management issues" section and document some of the useful
8417         memory pools provided as part of the GNAT library.
8418         Remove "virtual" from declaration of A::method2 in
8419         the simple example of Ada/C++ mixed system.
8420         Library Projects may be virtually extended: their virtual extensions
8421         are not Library Projects.
8422         Added section on extending project hierarchies.
8423
8424 2004-10-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
8425
8426         * adaint.c (__gnat_get_libraries_from_registry): Cast value
8427         to LPBYTE.
8428         (__gnat_portable_spawn): Remove const.
8429
8430         * mingw32.h (MAXPATHLEN): Check for previous definition.
8431
8432 2004-10-17  Matthias Klose  <doko@debian.org>
8433
8434         * gnatvsn.ads: Set gnat library version to 4.0.
8435
8436 2004-10-05  Vincent Celier  <celier@gnat.com>
8437
8438         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
8439
8440 2004-10-04  Laurent GUERBY <laurent@guerby.net>
8441
8442         PR ada/15156
8443         * Makefile.in: Define and use RANLIB_FLAGS.
8444
8445 2004-10-04  Pascal Obry  <obry@gnat.com>
8446
8447         * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
8448         other x86 platforms).
8449
8450 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
8451
8452         * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
8453         in general and triggers stack alignment adjustment for thread entry
8454         points on targets where this is necessary.
8455
8456 2004-10-04  Bernard Banner  <banner@gnat.com>
8457
8458         PR ada/13897
8459
8460         * Makefile.in: Add section for powerpc linux
8461         Add variant i-vxwork-x86.ads
8462
8463         * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
8464
8465 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
8466
8467         * init.c (__gnat_initialize): Call an Ada subprogram to perform the
8468         table registration calls when need be. Ensures no reference to the crt
8469         ctors symbol are issued in the SJLJ case, which avoids possible
8470         undefined symbol errors in the case of modules to be statically linked
8471         with the kernel.
8472
8473 2004-10-04  Javier Miranda  <miranda@gnat.com>
8474
8475         * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
8476         in-line the code corresponding to subprogram Analyze_Actuals. In
8477         addition, analyze the actuals only in case of subprogram call.
8478
8479 2004-10-04  Ed Falis  <falis@gnat.com>
8480
8481         * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
8482
8483 2004-10-04  Sergey Rybin  <rybin@act-europe.fr>
8484
8485         * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
8486         in the documentation.
8487
8488 2004-10-04  Robert Dewar  <dewar@gnat.com>
8489
8490         * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
8491         IF and CASE.
8492         (Analyze_Block_Statement): Add circuitry to detect following dead code
8493         (Check_Unreachable_Code): Handle case of block exit
8494
8495 2004-10-04  Robert Dewar  <dewar@gnat.com>
8496
8497         * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
8498         (XMatchD): Avoid warning for Logic_Error call
8499
8500 2004-10-04  Robert Dewar  <dewar@gnat.com>
8501
8502         * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
8503         consider expressions buried within a procedure actual to be an actual.
8504         This caused some blowups with uses of packed slices within a procedure
8505         actual.
8506
8507 2004-10-04  Robert Dewar  <dewar@gnat.com>
8508
8509         * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
8510         longer need to be initialized to zero.
8511         (Get_Simple_Init_Val): Modular packed arrays no longer need to be
8512         initialized to zero.
8513
8514         * checks.adb (Expr_Known_Valid): Packed arrays are now always
8515         considered valid, even if the representation is modular. That's correct
8516         now that we no longer initialize packed modular arrays to zero.
8517
8518         * exp_dbug.ads: Clarify documentation on handling of PAD and JM
8519         suffixes. These are now documented as the only cases in which the
8520         debugger ignores outer records.
8521         Previously, the spec allowed arbitrary suffixes for this purpose.
8522         Change name of LJM to JM for packed array pad records
8523         Create separate section on packed array handling, and add a whole new
8524         set of comments to this section describing the situation with packed
8525         modular types and justification requirements depending on endianness.
8526
8527 2004-10-04  Robert Dewar  <dewar@gnat.com>
8528
8529         * a-except.adb: Add a comment for last change
8530
8531         * einfo.ads: Minor spelling correction in comment
8532
8533         * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
8534
8535         * sem_ch11.adb: Fix a case of using | instead of \ for continuation
8536         messages.
8537
8538         * sem_util.ads: Minor comment update
8539
8540 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
8541
8542         * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
8543         Inline_Always when in Configurable_Run_Time mode.
8544
8545         * sem_prag.adb (Process_Convention): If entity is an inherited
8546         subprogram, apply convention to parent subprogram if in same scope.
8547         (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
8548         when in Configurable_Run_Time mode.
8549
8550 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
8551
8552         * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
8553         class_wide type after component list has been inherited.
8554
8555 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
8556
8557         * sem_ch12.adb (Check_Generic_Actuals): New predicate
8558         Denotes_Previous_Actual, to handle properly the case of a private
8559         actual that is also the component type of a subsequent array actual.
8560         The visibility status of the first actual is not affected when the
8561         second is installed.
8562         (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
8563         make fully recursive the treatment of formals of packages declared
8564         with a box.
8565         (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
8566         the above on exit from an instantiation.
8567         (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
8568         current instantiation which is now complete.
8569         (Analyze_Package_Instantiation): No instantiated body is needed if the
8570         main unit is generic. Efficient, and avoid anomalies when a instance
8571         appears in a package accessed through rtsfind.
8572
8573 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
8574
8575         * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
8576         do not generate a declaration for a temporary if the call is part of a
8577         library-level instantiation.
8578
8579 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
8580
8581         * sem_util.adb (Explain_Limited_Type): Ignore internal components when
8582         searching for a limited component to flag.
8583
8584         * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
8585         expansion of Input, to account for the fact that the implicit call
8586         generated by the attribute reference must freeze the user-defined
8587         stream subprogram. This is only relevant to 'Input, because it can
8588         appear in an object declaration, prior to the body of the subprogram.
8589
8590         * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
8591         expansion can proceed and further errors uncovered.
8592         (Minor clean up): Fix cases of using | instead of \ for continuation
8593         messages.
8594
8595 2004-10-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8596
8597         * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
8598
8599         * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
8600         (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
8601         Use gcc_assert and gcc_unreachable.
8602
8603         * decl.c (gnat_to_gnu_entity, case object): Check and process a
8604         specified alignment before validating size.
8605         (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
8606         stripped-down declaration for the type of the inner field when making
8607         a JM type.
8608
8609         * utils.c (finish_record_type): Do not compute the size in units
8610         incrementally. Instead compute it once for the rep clause case.
8611         Use gcc_assert and gcc_unreachable.
8612
8613 2004-10-04  Vincent Celier  <celier@gnat.com>
8614
8615         * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
8616         in file name.
8617         (Is_Valid_Path_Name): Take '/' as a directory separator.
8618
8619 2004-10-04  Vincent Celier  <celier@gnat.com>
8620
8621         * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
8622         (Extended_Project) only if Extended_Project is defined, to avoid
8623         assertion error.
8624         (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
8625         resolved path.
8626         (Parse_Single_Project): Ditto.
8627
8628         * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
8629         Add_To_Project_Path for virtual projects.
8630
8631 2004-10-04  Vincent Celier  <celier@gnat.com>
8632
8633         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
8634         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
8635         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
8636         mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
8637         parameter Options_2.
8638
8639         * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
8640         Build_Dynamic_Library with an empty Options_2.
8641
8642         * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
8643         default anymore.
8644
8645         * makegpr.adb (Get_Imported_Directories.add): Remove trailing
8646         directory separator, if any.
8647         (Gprmake): Do not allow mains on the command line for library projects.
8648         Do not attempt to link when the project is a library project.
8649         (Library_Opts): New table to store Library_Options.
8650         (Build_Library): If Library_Options is specified, pass these options
8651         when building a shared library.
8652
8653 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
8654
8655         * s-tposen.adb (Service_Entry): The object must be always unlocked at
8656         the end of this procedure now that the unlock operation was inserted
8657         by the expander.
8658
8659 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
8660
8661         * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
8662         corresponding to the Preallocated_Stacks flags in System.
8663         (Get_Target_Parameters): Including the processing for
8664         Preallocated_Stacks.
8665
8666         * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
8667         system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
8668         system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
8669         system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
8670         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
8671         system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
8672         system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
8673         system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
8674         system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
8675         system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
8676         system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
8677         used to signal whether the compiler creates the required stacks and
8678         descriptors for the different tasks (when True) or it is done by the
8679         underlying operating system at run time (when False).
8680         It is initially set to False in all targets.
8681
8682         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
8683         if it is supported by the target.
8684         (Make_Task_Create_Call): Pass the stack address if it has been
8685         previously created. Otherwise pass a Null_Address.
8686
8687         * snames.adb: Add _stack.
8688
8689         * snames.ads: Add Name_uStack. Required to allow the expander to
8690         statically allocated task stacks.
8691
8692         * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
8693         Stack_Address argument.
8694         Check that its value is equal to Null_Address because this target does
8695         not support the static stack allocation.
8696
8697 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
8698
8699         * usage.adb: Change "pragma inline" to "pragma Inline" in information
8700         and error messages
8701
8702 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
8703
8704         * exp_dist.adb: Split declaration of asynchronous flag out of
8705         Add_RACW_Read_Attribute.
8706         Minor reformatting for better alignment with PolyORB version.
8707         Store the entity for the asynchronous flag of an RACW, rather than the
8708         expression, in the asynchronous flags table. This will allow this flag
8709         to be used in other subprograms beside Add_RACW_Read_Attribute.
8710
8711 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
8712
8713         * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
8714         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
8715         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
8716         g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
8717         g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads:  Add new
8718         sockets constant MSG_NOSIGNAL (Linux-specific).
8719         Add new sockets constant MSG_Forced_Flags, list of flags to be set on
8720         all Send operations.
8721         For Linux, set MSG_NOSIGNAL on all send operations to prevent them
8722         from trigerring SIGPIPE.
8723         Rename components to avoid clash with Ada 2005 possible reserved
8724         word 'interface'.
8725         (Check_Selector): When the select system call returns with an error
8726         condition, propagate Socket_Error to the caller.
8727
8728 2004-10-01  Jan Hubicka  <jh@suse.cz>
8729
8730         * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
8731
8732 2004-09-23  Robert Dewar  <dewar@gnat.com>
8733
8734         PR ada/17540
8735
8736         * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
8737         instead do this at freeze time (we won't do it if there is an address
8738         clause).
8739         Change "pragma inline" to "pragma Inline" in information and error
8740         messages.
8741         Minor reformatting.
8742
8743         * freeze.adb (Check_Address_Clause): Remove previous change, not the
8744         right way of doing things after all.
8745         (Freeze_Entity): For object, set Is_Public for imported entities
8746         unless there is an address clause present.
8747
8748 2004-09-21  Olivier Hainque  <hainque@act-europe.fr>
8749
8750         * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
8751         dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
8752         ensures proper handling of types with rep clauses, which might have
8753         their TYPE_SIZE set already.
8754
8755 2004-09-21  Robert Dewar  <dewar@gnat.com>
8756
8757         * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
8758         packed array types in both little- and big-endian cases. This change
8759         ensures that we no longer count on the unused bits being initialized
8760         for such types (and in particular ensures that equality testing will
8761         only read the relevant bits).
8762         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
8763         These changes mean that we no longer need to initialize small packed
8764         arrays.
8765         (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
8766         optimization to an LJM field as to its parent field.
8767
8768         * ada-tree.h, trans.c, utils.c, utils2.c:
8769         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
8770
8771 2004-09-20  Jan Hubicka  <jh@suse.cz>
8772
8773         * utils.c (gnat_finalize): Remove.
8774         (end_subprog_body): Directly call cgraph_finalize_function;
8775         do not lower the nested functions.
8776
8777 2004-09-20  Robert Dewar  <dewar@gnat.com>
8778
8779         PR ada/17540
8780
8781         * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
8782         if an address clause is present, since that means that the Import
8783         should be ignored.
8784
8785 2004-09-20  Arnaud Charlet  <charlet@act-europe.fr>
8786
8787         * 5tsystem.ads: Removed, no longer used.
8788
8789 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
8790             Zack Weinberg  <zack@codesourcery.com>
8791
8792         * ada-tree.def: Use tree_code_class enumeration constants
8793         instead of code letters.
8794         * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
8795         Update for new tree-class enumeration constants.
8796
8797 2004-09-17  Vincent Celier  <celier@gnat.com>
8798
8799         * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
8800         capabilities of the general project manager.
8801
8802 2004-09-09  Vincent Celier  <celier@gnat.com>
8803
8804         * a-direct.ads: Add pragma Ada_05
8805         (Directory_Entry_Type): Give default value to component Kind to avoid
8806         not initialized warnings.
8807
8808         * a-direct.adb (Current_Directory): Remove directory separator at the
8809         end.
8810         (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
8811         an existing directory.
8812         (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
8813         (Size (String)): Function C_Size returns Long_Integer, not File_Size.
8814         Convert the result to File_Size.
8815
8816         * prj.ads: (Project_Error): New exception
8817
8818         * prj-attr.adb: Except in procedure Initialize, Fail comes from
8819         Prj.Com, not from Osint.
8820         (Attrs, Package_Attributes): Tables moved to private part of spec
8821         (Add_Attribute, Add_Unknown_Package): Moved to new child package
8822         Prj.Attr.PM.
8823         (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
8824         Prj.Project_Error after call to Fail.
8825         (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
8826         Fail. Check that package name is not already in use.
8827
8828         * prj-attr.ads: Comment updates to indicate that all subprograms may be
8829         used by tools, not only by the project manager, and to indicate that
8830         exception Prj.Prj_Error may be raised in case of problem.
8831         (Add_Unknown_Package, Add_Attribute): Moved to new child package
8832         Prj.Attr.PM.
8833         (Attrs, Package_Attributes): Table instantiations moved from the body to
8834         the private part to be accessible from Prj.Attr.PM body.
8835
8836         * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
8837         from new package Prj.Attr.PM.
8838         (Parse_Attribute_Declaration): Call Add_Attribute from new package
8839         Prj.Attr.PM.
8840
8841         * Makefile.in: Add prj-attr-pm.o to gnatmake object list
8842
8843         * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
8844         instead of Elaboration_Checks).
8845
8846         * a-calend.adb: Minor reformatting
8847
8848 2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8849
8850         * gigi.h (maybe_pad_type): New declaration.
8851         (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
8852
8853         * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
8854
8855         * cuintp.c: Convert to use buildN.
8856
8857         * decl.c (maybe_pad_type): No longer static.
8858         (gnat_to_gnu_entity, case E_Function): Handle case of returning by
8859         target pointer.
8860         Convert to use buildN.
8861
8862         * trans.c (call_to_gnu): Add arg GNU_TARGET; support
8863         TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
8864         (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
8865         RHS.
8866         (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
8867         (gnat_gimplify_expr, case ADDR_EXPR): New case.
8868         Convert to use buildN.
8869
8870         * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
8871         TREE_READONLY for const.
8872         Convert to use buildN.
8873
8874         * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
8875         (create_var_decl): Refine when TREE_STATIC is set.
8876         Convert to use buildN.
8877
8878 2004-09-09  Gary Dismukes  <dismukes@gnat.com>
8879
8880         * gnat_ugn.texi: Delete text relating to checking of ali and object
8881         consistency.
8882
8883         * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
8884         routines.
8885
8886 2004-09-09  Jose Ruiz  <ruiz@act-europe.fr>
8887
8888         * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
8889         pragmas recognized by GNAT.
8890
8891         * gnat_rm.texi: Document pragma Detect_Blocking.
8892
8893         * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
8894         raise Program_Error if called from a protected operation.
8895
8896         * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
8897         the protected action nesting level.
8898         (Lock_Read_Only): When pragma Detect_Blocking is active increase the
8899         protected action nesting level.
8900         (Unlock): When pragma Detect_Blocking is active decrease the protected
8901         action nesting level.
8902
8903         * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
8904         Protected_Action_Nesting.
8905
8906         * s-taskin.ads: Adding the field Protected_Action_Nesting to the
8907         Common_ATCB record. It contains the dynamic level of protected action
8908         nesting for each task. It is needed for checking whether potentially
8909         blocking operations are called from protected operations.
8910         (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
8911         Detect_Blocking is active or not in the partition.
8912
8913         * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
8914         raise Program_Error if called from a protected operation.
8915         (Task_Entry_Call): When pragma Detect_Blocking is active, raise
8916         Program_Error if called from a protected operation.
8917         (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
8918         Program_Error if called from a protected operation.
8919
8920         * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
8921         raise Program_Error if called from a protected operation.
8922
8923         * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
8924         raise Program_Error if called from a protected operation, and increase
8925         the protected action nesting level.
8926         (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
8927         Program_Error if called from a protected operation, and increase the
8928         protected action nesting level.
8929         (Unlock_Entries): When pragma Detect_Blocking is active decrease the
8930         protected action nesting level.
8931
8932         * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
8933         raise Program_Error if called from a protected operation, and increase
8934         the protected action nesting level.
8935         (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
8936         Program_Error if called from a protected operation, and increase the
8937         protected action nesting level.
8938         (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
8939         raise Program_Error if called from a protected operation.
8940         (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
8941         active, raise Program_Error if called from a protected operation.
8942         (Unlock_Entry): When pragma Detect_Blocking is active decrease the
8943         protected action nesting level.
8944
8945         * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
8946         insertion of the statement raising Program_Error. The run time
8947         contains the required machinery for handling that.
8948
8949         * sem_util.ads: Change comment associated to procedure
8950         Check_Potentially_Blocking_Operation.
8951         This procedure does not insert a call for raising the exception because
8952         that is currently done by the run time.
8953
8954         * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
8955
8956         * init.c: Add the global variable __gl_detect_blocking that indicates
8957         whether pragma Detect_Blocking is active (1) or not (0). Needed for
8958         making the pragma available at run time.
8959         (__gnat_set_globals): Pass and update the detect_blocking parameter.
8960
8961         * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
8962         pragma Detect_Blocking is active.
8963
8964         * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
8965
8966         * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
8967         DB is found in the ali file. Any unit compiled with pragma
8968         Detect_Blocking active forces its effect in the whole partition.
8969
8970         * a-retide.adb (Delay_Until): Raise Program_Error if pragma
8971         Detect_Blocking is active and delay is called from a protected
8972         operation.
8973
8974         * bindgen.adb (Gen_Adainit_Ada): When generating the call to
8975         __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
8976         Detect_Blocking is active (0 otherwise).
8977         (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
8978         as Detect_Blocking parameter if pragma Detect_Blocking is active (0
8979         otherwise).
8980
8981 2004-09-09  Thomas Quinot  <quinot@act-europe.fr>
8982
8983         * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
8984         GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
8985         package.
8986
8987         * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
8988         (Register_Receiving_Stub): Add Subp_Info formal parameter.
8989         Update API in placeholder implemetation of s-parint to reflect changes
8990         in distribution runtime library.
8991
8992         * sem_ch3.adb (Expand_Derived_Record): Rename to
8993         Expand_Record_Extension.
8994
8995         * sem_disp.adb (Check_Controlling_Formals): Improve error message for
8996         primitive operations of potentially distributed object types that have
8997         non-controlling anonymous access formals.
8998
8999         * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
9000         subprogram.
9001         New implementation of expansion for remote access-to-subprogram types,
9002         based on the RACW infrastructure.
9003         This version of sem_dist is compatible with PolyORB/DSA as well as
9004         GLADE.
9005
9006         * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
9007         Asynchrronous that applies to a remote access-to-subprogram type, mark
9008         the underlying RACW type as asynchronous.
9009
9010         * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
9011          __gnat_using_gnu_linker to 1.
9012
9013         * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
9014         g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
9015         GNAT.Perfect_Hash_Generators, and remove the empty
9016         GNAT.Perfect_Hash package.
9017
9018         * atree.adb: Minor reformatting
9019
9020         * exp_ch3.adb (Expand_Derived_Record): Rename to
9021         Expand_Record_Extension.
9022         (Build_Record_Init_Proc.Build_Assignment): The default expression in
9023         a component declaration must remain attached at that point in the
9024         tree so New_Copy_Tree copies it if the enclosing record type is derived.
9025         It is therefore necessary to take a copy of the expression when building
9026         the corresponding assignment statement in the init proc.
9027         As a side effect, in the case of a derived record type, we now see the
9028         original expression, without any rewriting that could have occurred
9029         during expansion of the ancestor type's init proc, and we do not need
9030         to go back to Original_Node.
9031
9032         * exp_ch3.ads (Expand_Derived_Record): Rename to
9033         Expand_Record_Extension.
9034
9035         * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
9036         Returns the RACW type used to implement a remote access-to-subprogram
9037         type.
9038         (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
9039         New subprograms. Used to create a proxy tagged object for a remote
9040         subprogram. The proxy object is used as the designated object
9041         for RAS values on the same partition (unless All_Calls_Remote applies).
9042         (Build_Get_Unique_RP_Call): New subprogram. Build a call to
9043         System.Partition_Interface.Get_Unique_Remote_Pointer.
9044         (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
9045         Renamed from Add_RAS_*_Attribute.
9046         (Add_Receiving_Stubs_To_Declarations): Generate a table of local
9047         subprograms.
9048         New implementation of expansion for remote access-to-subprogram types,
9049         based on the RACW infrastructure.
9050
9051         * exp_dist.ads (Copy_Specification): Update comment to note that this
9052         function can copy the specification from either a subprogram
9053         specification or an access-to-subprogram type definition.
9054
9055 2004-09-09  Ed Schonberg  <schonberg@gnat.com>
9056
9057         * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
9058         in an instance, between an explicit subprogram an one inherited from a
9059         type derived from an actual.
9060
9061         * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
9062         add a polling call if the subprogram is to be inlined by the back-end,
9063         to avoid repeated calls with multiple inlinings.
9064
9065         * checks.adb (Apply_Alignment_Check): If the expression in the address
9066         clause is a call whose name is not a static entity (e.g. a dispatching
9067         call), treat as dynamic.
9068
9069 2004-09-09  Robert Dewar  <dewar@gnat.com>
9070
9071         * g-trasym.ads: Minor reformatting
9072
9073         * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
9074         packed arrays, since unused bits are expected to be zero for a
9075         comparison.
9076
9077 2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>
9078
9079         * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
9080         comment.
9081
9082 2004-09-09  Pascal Obry  <obry@gnat.com>
9083
9084         * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
9085         enable map file generation. Add the right option to generate the map
9086         file if Map_File is set to True.
9087
9088         * gnatdll.adb (Gen_Map_File): New variable.
9089         (Syntax): Add info about new -m (Map_File) option.
9090         (Parse_Command_Line): Add support for -m option.
9091         (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
9092         Minor reformatting.
9093
9094 2004-09-09  Laurent Pautet  <pautet@act-europe.fr>
9095
9096         * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
9097         new gnatdist implementation.
9098         Define a subpackage isolating the output routines specific to this
9099         verbose mode.
9100
9101 2004-09-09  Joel Brobecker  <brobecker@gnat.com>
9102
9103         * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
9104
9105         * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
9106
9107 2004-09-09  Cyrille Comar  <comar@act-europe.fr>
9108
9109         * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
9110         internal unit.
9111
9112         * opt.ads: Add Ada_Version_Runtime constant used to decide which
9113         version of the language is used to compile the run time.
9114
9115 2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>
9116
9117         * sem_util.adb (Requires_Transient_Scope): Re-enable handling
9118         of variable length temporaries for function return now that the
9119         back-end and gigi support it.
9120
9121 2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9122
9123         * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
9124
9125         * trans.c (struct stmt_group): Delete field GLOBAL.
9126         (gnat_init_stmt_group): Do not initialize it.
9127         (call_to_gnu): Use save_expr, not protect_multiple_eval.
9128         (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
9129         (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
9130         (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
9131         (start_stmt_group): Likewise.
9132         (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
9133
9134         * utils2.c (ggc.h): Include.
9135         (build_call_raise): Call build_int_cst, not build_int_2.
9136
9137         * utils.c (gnat_init_decl_processing): Fix arg to
9138         build_common_tree_nodes.
9139         (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
9140         (gnat_define_builtin): Set built_in_decls.
9141         (init_gigi_decls): Call build_int_cst, not build_int_2.
9142
9143         * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
9144         (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
9145         (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
9146         (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
9147         SET_TYPE_MODULE): Use them.
9148         (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
9149         (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
9150         (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
9151         SET_TYPE_ADA_SIZE): Likewise.
9152         (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
9153         (DECL_CONST_CORRESPONDING_VAR,
9154         SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
9155         (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
9156         (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
9157         (TYPE_RM_SIZE_NUM): New macro.
9158         (TYPE_RM_SIZE): Modified to use above.
9159
9160         * cuintp.c: (build_cst_from_int): New function.
9161         (UI_To_gnu): Use it.
9162
9163         * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
9164         (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
9165         (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
9166         MIN_EXPR for the size, copy it into new.
9167
9168 2004-09-01  Robert Dewar  <dewar@gnat.com>
9169
9170         * exp_ch6.adb (Expand_Call): Properly handle validity checks for
9171         packed indexed component where array is an IN OUT formal. This
9172         generated garbage code previously.
9173
9174         * gnat_ugn.texi: Document -fverbose-asm
9175
9176         * gnat-style.texi: Minor updates (note that boolean constants and
9177         variables are joined with AND/OR rather than short circuit forms).
9178
9179 2004-09-01  Ed Schonberg  <schonberg@gnat.com>
9180
9181         * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
9182         it is an upward conversion of an untagged type with no representation
9183         change.
9184
9185 2004-09-01  Thomas Quinot  <quinot@act-europe.fr>
9186
9187         * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
9188         System.Partition_Interface.
9189
9190         * checks.adb (Apply_Access_Checks): Do not generate checks when
9191         expander is not active (but check for unset reference to prefix of
9192         dereference).
9193
9194         * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
9195         pragma Debug as an if statement with a constant condition, for
9196         consistent treatment of entity references contained within the
9197         enclosed procedure call.
9198
9199 2004-09-01  Vincent Celier  <celier@gnat.com>
9200
9201         * bindgen.adb: (Set_EA_Last): New procedure
9202         (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
9203         Set_EA_Last.
9204         (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
9205         (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
9206         linked without errors.
9207         (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
9208         ST and EA.
9209         (Gen_Exception_Table_C): Correct same bugs
9210
9211         * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
9212
9213         * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
9214         on Windows, make sure that the drive letter is in upper case.
9215
9216         * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
9217         Windows, when the drive letter is added and Case_Sensitive is True, the
9218         drive letter is forced to upper case.
9219
9220         * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
9221         to Options_2 for the call to MLib.Utl.Gcc.
9222
9223         * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
9224         directory separator when defining BASE_DIR.
9225
9226 2004-09-01  Pascal Obry  <obry@gnat.com>
9227
9228         * gprcmd.adb (Extend): Do not output trailing directory separator. This
9229         is not needed and it confuses Windows GNU/make which does not report
9230         directory terminated by a slash as a directory.
9231         (gprcmd): Idem for "pwd" internal command.
9232
9233         * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
9234         target names rewrite to fix regressions with recent version of
9235         GNU/make. Starting with GNU/make 3.80 the pipe character was not
9236         handled properly anymore.
9237
9238 2004-09-01  Andreas Schwab  <schwab@suse.de>
9239
9240         * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
9241         * raise.c [!IN_RTS]: Undef abort.
9242
9243 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
9244
9245         * utils2.c (build_allocator): Use ssize_int.
9246
9247         * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
9248
9249 2004-08-27  Andreas Schwab  <schwab@suse.de>
9250
9251         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
9252
9253 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
9254             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9255
9256         * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
9257
9258 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
9259
9260         * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
9261         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
9262         * utils.c (init_gigi_decls): Likewise.
9263         * utils2.c (build_call_raise, build_allocator): Likewise.
9264
9265 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
9266
9267         * utils.c (gnat_init_decl_processing): Adjust
9268         build_common_tree_nodes call.
9269
9270 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
9271
9272         * utils2.c (build_allocator): Use build_int_cst for negative
9273         size types.
9274
9275 2004-08-18  Richard Henderson  <rth@redhat.com>
9276
9277         * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
9278
9279 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
9280
9281         * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
9282         call.s
9283         * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
9284         (gnat_to_gnu): Likewise.
9285
9286 2004-08-16  Pascal Obry  <obry@gnat.com>
9287
9288         * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
9289         backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
9290         option and not mdll anymore. Update comment.
9291
9292 2004-08-16  Pascal Obry  <obry@gnat.com>
9293
9294         * bld.adb (Put_Include_Project): Properly handle directory separators
9295         on Windows.
9296
9297 2004-08-16  Ed Schonberg  <schonberg@gnat.com>
9298
9299         * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
9300         decreasing the number of allocated junk nodes while searching for the
9301         appropriate subprogram.
9302
9303 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
9304
9305         * cuintp.c (UI_To_gnu): Use build_int_cst..
9306         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
9307         * utils.c (init_gigi_decls): Likewise.
9308         * utils2.c (build_call_raise): Likewise.
9309
9310 2004-08-13  Olivier Hainque  <hainque@act-europe.fr>
9311
9312         * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
9313         for a global aliased object with a variable size and an unconstrained
9314         nominal subtype, pretend there is no initializer if the one we have is
9315         incomplete, and avoid referencing an inexistant component in there. The
9316         part we have will be rebuilt anyway and the reference may confuse
9317         further operations.
9318
9319 2004-08-13  Thomas Quinot  <quinot@act-europe.fr>
9320
9321         * einfo.ads: Minor reformatting
9322
9323         * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
9324         restrictions in the ALI if we only want to warn about violations.
9325
9326 2004-08-13  Vincent Celier  <celier@gnat.com>
9327
9328         * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
9329         when creating a new Unit_Record in table Units.
9330
9331         * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
9332         that are violated, if any.
9333
9334         * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
9335         add directory separator if path already ends with a directory separator.
9336
9337 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
9338
9339         * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
9340         unit, this is an attempt to inline a construct that is not available in
9341         the current restricted mode, so abort rather than trying to continue.
9342
9343         * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
9344         discriminants that rename those of the parent, recover names of
9345         original discriminants for the constraint on the full view of the
9346         parent.
9347         (Complete_Private_Subtype): Do not create a subtype declaration if the
9348         subtype is an itype.
9349
9350         * gnat_rm.texi: Added section on implementation of discriminated
9351         records with default values for discriminants.
9352
9353 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
9354
9355         PR ada/15601
9356         * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
9357         the second operand is overloaded.
9358
9359 2004-08-10  Richard Henderson  <rth@redhat.com>
9360
9361         * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
9362         add __builtin_alloca.
9363
9364 2004-08-10  Richard Henderson  <rth@redhat.com>
9365
9366         * config-lang.in (boot_language): Yes.
9367
9368 2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
9369
9370         * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
9371         from complaining on potential uninitialized reference.
9372         Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
9373         new specification and test explicitly for non-zero return value.
9374
9375         * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
9376         returning C.int, to avoid using a derived boolean type.
9377
9378         * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
9379         Duplicate_Subexpr_No_Checks in preference to direct use of
9380         Remove_Side_Effects and New_Copy_Tree.
9381         Clear Comes_From_Source on prefix of 'Size attribute reference.
9382
9383         * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
9384         g-socthi-vxworks.adb: Change calls to
9385         GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
9386         and test explicitly for non-zero return value.
9387
9388         * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
9389         (Is_Socket_In_Set): Declare imported function as returning C.int, to
9390         avoid using a derived boolean type.
9391
9392 2004-08-09  Albert Lee  <lee@gnat.com>
9393
9394         * system-irix-n32.ads: Refine tasking priority constants for IRIX.
9395
9396 2004-08-09  Pascal Obry  <obry@gnat.com>
9397
9398         * gnat_ugn.texi: Document new way to build DLLs on Windows using
9399         GCC's -shared option.
9400
9401         * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
9402         Options_2 parameter (options put after object files).
9403
9404 2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
9405
9406         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
9407         ignore overflows on low and high bounds of an index to also account for
9408         differences in signedness between sizetype and gnu_index_subtype.
9409         These are as legitimate as the ones caused by a lower TYPE_PRECISION
9410         on sizetype.
9411
9412 2004-08-09  Robert Dewar  <dewar@gnat.com>
9413
9414         * s-solita.ads, s-solita.adb: Minor reformatting
9415
9416         * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
9417         Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
9418         obsolescent section
9419         Add note that No_Implicit_Conditionals does not suppress
9420         run time constraint checks.
9421
9422         * vms_conv.ads: Minor reformatting
9423
9424         * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
9425         and necessary for following change).
9426         (Mark): Return new format Mark_Id containing sec stack address
9427         (Release): Use sec stack address from Mark_Id avoiding Self call
9428
9429         * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
9430         pointer (cleanup and necessary for following change).
9431         Define Mark_Id as record containing address of secondary stack, that way
9432         Release does not need to find the stack again, decreasing the number of
9433         calls to Self and improving efficiency.
9434
9435         * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
9436
9437         * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
9438         case variable into the individual case branches when possible.
9439
9440         * sem_ch11.adb: Minor reformatting
9441
9442         * prj.ads: Correct spelling of suffixs
9443
9444         * prj-nmsc.adb: Minor reformatting
9445         Correct spelling suffixs throughout (also in identifiers)
9446
9447         * freeze.adb: Minor spelling correction
9448
9449         * exp_ch2.adb: Cleanups to handling of Current_Value
9450         (no functional effect).
9451
9452         * bld.adb: Correct spelling of suffixs
9453
9454         * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
9455
9456 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
9457
9458         PR ada/15408
9459
9460         * sem_ch7.adb (Install_Private_Declarations): In the body of the
9461         package or of a child, private entities are both immediately_visible
9462         and not hidden.
9463
9464 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
9465
9466         * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
9467         there are no range checks on the value of the literal.
9468
9469         * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
9470         wrapped is the triggering alternative of an asynchronous select, action
9471         statements mustbe inserted before the select itself.
9472
9473         * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
9474         case where the prefix is a protected function call.
9475         (Resolve_Attribute, case 'Access): The attribute reference on a
9476         subprogram is legal in a generic body if the subprogram is declared
9477         elsewhere.
9478
9479 2004-08-09  Vincent Celier  <celier@gnat.com>
9480
9481         * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
9482         languages, otherwise building the library may fail with unresolved
9483         symbols.
9484         (Compile_Sources): Do not build libraries if -c switch is used
9485
9486         * gnatlink.adb (Process_Args): New switches -M and -Mmap
9487         (Write_Usage): If map file creation is supported, output new switches
9488         -M and -Mmap.
9489         (Gnatlink): When -M is specified, add the necessary switch(es) to the
9490         gcc call, when supported.
9491
9492         * Makefile.in: Added indepsw.o to the object list for gnatlink
9493         Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
9494
9495         * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
9496         indepsw.adb, indepsw.ads: New files.
9497
9498 2004-08-09  Bernard Banner  <banner@gnat.com>
9499
9500         * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
9501
9502         * Makefile.in: add section for vxworks x86
9503
9504 2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
9505
9506         * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
9507         per-object constrained components where the discriminant is of an
9508         Access type.
9509         (Build_Record_Init_Proc): Add condition to prevent the inheritance of
9510         the parent initialization procedure for derived Unchecked_Unions.
9511         Instead, derived Unchecked_Unions build their own initialization
9512         procedure.
9513         (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
9514         Check the body of the subprogram for details.
9515         (Freeze_Record_Type): Prevent the inheritance of discriminant checking
9516         functions for derived Unchecked_Union types by introducing a condition.
9517         Allow the creation of TSS equality functions for Unchecked_Unions.
9518         (Make_Eq_Case): Rename formal parameter Node to E in function signature.
9519         Add formal parameter Discr to function signature. Discr is used to
9520         control the generated case statement for Unchecked_Union types.
9521         (Make_Eq_If): Rename formal parameter Node to E in function signature.
9522
9523         * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
9524         Unchecked_Unions.
9525         Check the body of the subprogram for details.
9526         (Expand_Composite_Equality): Augment composite type equality to include
9527         correct handling of Unchecked_Union components.
9528         (Expand_N_In): Add condition to detect illegal membership tests when the
9529         subtype mark is a constrained Unchecked_Union and the expression lacks
9530         inferable discriminants, and build a Raise_Program_Error node.
9531         (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
9532         to detect types that contain components of unconstrained Unchecked_Union
9533         subtype. Add condition to detect equality between types that have an
9534         unconstrained Unchecked_Union component, and build a Raise_Program_Error
9535         node. Add condition to detect equality between Unchecked_Union types
9536         that lack inferable discriminants, and build a Raise_Program_Error node.
9537         Otherwise build a TSS equality function call.
9538         (Expand_N_Type_Conversion): Add condition to detect illegal conversions
9539         from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
9540         with the operand lacking inferable discriminants, and build a Raise_
9541         Program_Error node.
9542         (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
9543         composite equality.
9544         (Has_Inferable_Discriminants): Implement new predicate for objects and
9545         expressions of Unchecked_Union type. Check the body of subprogram for
9546         details.
9547         (Has_Unconstrained_UU_Components): Add function
9548         Component_Is_Unconstrained_UU. It is used to detect whether a single
9549         component is of an unconstrained Unchecked_Union subtype. Add function
9550         Variant_Is_Unconstrained_UU. It is used to detect whether a single
9551         component inside a variant is of an unconstrained Unchecked_Union type.
9552
9553         * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
9554         inferred discriminant values. Add condition to generate a case
9555         statement with an inferred discriminant as the switch.
9556         (Make_Component_List_Assign): Introduce a Boolean flag that determines
9557         the behaviour of the subprogram in the presence of an Unchecked_Union.
9558         Add condition to trigger the usage of the inferred discriminant value
9559         as the generated case statement switch.
9560         (Make_Field_Assign): Introduce a Boolean flag that determines the
9561         behaviour of the subprogram in the presence of an Unchecked_Union. Add
9562         condition to trigger the usage of the inferred discriminant value as
9563         the right-hand side of the generated assignment.
9564
9565         * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
9566         parameter generation when dealing with Unchecked_Unions.
9567
9568         * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
9569         checks for Unchecked_Unions.
9570
9571         * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
9572
9573         * exp_attr.adb (Expand_N_Attribute_Reference): Produce
9574         Raise_Program_Error nodes for the execution of Read and Write
9575         attributes of Unchecked_Union types and the execution of Input and
9576         Output attributes of Unchecked_Union types that lack default
9577         discriminant values.
9578
9579         * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
9580         Unchecked_Union. Add procedure Check_Component. It is used to inspect
9581         per-object constrained components of Unchecked_Unions for being
9582         Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
9583         check individual components withing a variant.
9584
9585         * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
9586         comparison of Unchecked_Unions.
9587         (Resolve_Equality_OP): Remove guard that prevents equality between
9588         Unchecked_Unions.
9589
9590         * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
9591         of component subtypes for Unchecked_Union components.
9592         (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
9593         since it is the actual subtype.
9594
9595         * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
9596         pass of Unchecked_Union subtypes as generic actuals to formal types
9597         that lack known_discriminant_parts or that are derived Unchecked_Union
9598         types, and do nothing. In any other case, produce an error message.
9599
9600         * sem_ch3.adb (Analyze_Component_Declaration): Add function
9601         Contains_POC. It determines whether a constraint uses the discriminant
9602         of an enclosing record type.
9603         Add condition to detect per-object constrained component and set the
9604         appropriate flag.
9605         (Derived_Type_Declaration): Remove guard that prevents derivation from
9606         Unchecked_Union types.
9607         (Process_Subtype): Remove quard that prevents the creation of Unchecked_
9608         Union subtypes.
9609
9610         * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
9611         references to Unchecked_Union discriminants.
9612
9613         * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
9614         formal generation when dealing with Unchecked_Unions.
9615         (Set_Actual_Subtypes): Add condition to prevent generation of actual
9616         subtypes for Unchecked_Unions.
9617
9618         * sem_ch7.adb (Analyze_Package_Specification): Add procedure
9619         Inspect_Unchecked_Union_Completion. It is used to detect incorrect
9620         completions of discriminated partial views by Unchecked_Unions and
9621         produce an error message.
9622
9623 2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9624
9625         * trans.c (struct stmt_group): New field, GLOBAL.
9626         (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
9627         (struct elab_info): New struct.
9628         (elab_info_list, gnu_elab_proc_stack): New variables.
9629         (Compilation_Unit_to_gnu): New procedure.
9630         (gigi): Call it and also handle elaboration procs we've saved.
9631         (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
9632         global field from parent.
9633         (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
9634         (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
9635         (start_stmt_group): Initialize global field from parent.
9636         (add_decl_expr): Set to global for current statement group.
9637         (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
9638         post.
9639
9640         * utils.c (global_bindings_p): True when no current_function_decl; no
9641         longer check current_binding_level.
9642
9643 2004-08-09  Ben Brosgol  <brosgol@gnat.com>
9644
9645         * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
9646         choice.
9647
9648         * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
9649
9650 2004-08-06  Andreas Schwab  <schwab@suse.de>
9651
9652         * utils.c (gnat_define_builtin): Remove second parameter of
9653         make_decl_rtl.
9654         (begin_subprog_body): Likewise.
9655
9656 2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
9657
9658         * sem_util.adb (Requires_Transient_Scope): Temporarily disable
9659         optimization, not supported by the tree-ssa back-end.
9660
9661 2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
9662
9663         * s-mastop-irix.adb: Update comments.
9664
9665         * a-except.adb (Exception_Information): Raise Constraint_Error if
9666         exception Id is Null_Id.
9667         This is required behavior, which is more reliably and clearly checked
9668         at the top level interface level.
9669
9670 2004-07-26  Javier Miranda  <miranda@gnat.com>
9671
9672         * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
9673         call if a component has no default_expression and the box is used.
9674
9675         * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
9676         default_expression and you use box, it behaves as if you had declared a
9677         stand-alone object.
9678         (Resolve_Record_Aggregate): If a component has no default_expression and
9679         you use box, it behaves as if you had declared a stand-alone object.
9680
9681         * sem_ch10.adb (Install_Siblings): Do not make visible the private
9682         entities of private-with siblings.
9683
9684 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
9685
9686         * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
9687         for a component of an itype, set the parent pointer for analysis,
9688         there is no list in which to insert it.
9689
9690         * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
9691         bona-fide renamings, not for inherited operations.
9692
9693         * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
9694         actual for a formal that is an access parameter, create local
9695         finalization list even if the expression is not an aggregate.
9696
9697 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
9698
9699         PR ada/16213
9700         * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
9701         Diagnose properly illegal subprogram renamings that are library units.
9702
9703 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
9704
9705         PR ada/15588
9706         * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
9707         conversion rewritten as an unchecked conversion, check that original
9708         expression is a variable.
9709
9710         * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
9711         unchecked_conversion, create new node rather than rewriting in place,
9712         to preserve original construct.
9713
9714 2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9715
9716         * gigi.h (gnat_expand_body): Deleted.
9717
9718         * Make-lang.in: (trans.o): Depends on function.h.
9719
9720         * misc.c: (gnat_expand_body): Moved to here.
9721
9722         * trans.c (gnat_expand_body_1): Deleted.
9723         (gnat_expand_body): Moved from here.
9724         (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
9725         (add_stmt): Check for marked visited with global_bindings_p.
9726         (gnat_gimplify_expr, case COMPONENT_REF): New case.
9727         (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
9728
9729         * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
9730         VIEW_CONVERT_EXPR if not operation type.
9731
9732         * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
9733         fat pointer.
9734
9735         * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
9736         changes: reformatting of negation operators, removing unneeded
9737         inequality comparison with zero, converting equality comparisons with
9738         zero to negations, changing int/0/1 to bool/false/true, replace calls
9739         to gigi_abort with abort, and various other similar changes.
9740
9741 2004-07-26  Vincent Celier  <celier@gnat.com>
9742
9743         * gnatcmd.adb (GNATCmd): Add processing for new built-in command
9744         "setup".
9745
9746         * make.adb (Gnatmake): Fail when a library is not present and there is
9747         no object directory.
9748
9749         * mlib-prj.adb (Check_Library): No need to check if the library needs
9750         to be rebuilt if there is no object directory, hence no object files
9751         to build the library.
9752
9753         * opt.ads (Setup_Projects): New Boolean flag.
9754
9755         * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
9756         Location.
9757         Create directory when Kind /= "" and in "gnat setup". Report error if
9758         directory cannot be created.
9759         (Ada_Check): Create library interface copy dir if it does not exist
9760         and we are in "gnat setup".
9761         (Find_Sources): No error if in "gnat setup" and no Ada sources were
9762         found.
9763         (Language_Independent_Check): Create object directory, exec directory
9764         and/or library directory if they do not exist and we are in
9765         "gnat setup".
9766
9767         * vms_conv.ads: (Command_Type): New command Setup.
9768
9769         * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
9770
9771         * vms_data.ads: Add qualifiers/switches for new built-in command
9772         "setup".
9773
9774 2004-07-25  Richard Henderson  <rth@redhat.com>
9775
9776         * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
9777         DECL_IGNORED_P on RESULT_DECL.
9778
9779 2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
9780
9781         * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
9782         allocation and potentially overflowing update with
9783         Tailored_Exception_Information. Use the sec-stack free procedural
9784         interface to output Exception_Information instead.
9785
9786         * a-except.adb (To_Stderr): New subprogram for character, and string
9787         version moved from a-exextr to be visible from other separate units.
9788         (Tailored_Exception_Information): Remove the procedural version,
9789         previously used by the default Last_Chance_Handler and not any more.
9790         Adjust various comments.
9791
9792         * a-exexda.adb: Generalize the exception information procedural
9793         interface, to minimize the use of secondary stack and the need for
9794         local buffers when the info is to be output to stderr:
9795         (Address_Image): Removed.
9796         (Append_Info_Character): New subprogram, checking for overflows and
9797         outputing to stderr if buffer to fill is of length 0.
9798         (Append_Info_String): Output to stderr if buffer to fill is of length 0.
9799         (Append_Info_Address, Append_Info_Exception_Name,
9800         Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
9801         Append_Info_Basic_Exception_Traceback,
9802         Append_Info_Exception_Information): New subprograms.
9803         (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
9804         (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
9805         Exception_Info_Maxlength, Exception_Name_Length,
9806         Exception_Message_Length): New subprograms.
9807         (Exception_Information): Use Append_Info_Exception_Information.
9808         (Tailored_Exception_Information): Use
9809         Append_Info_Basic_Exception_Information.
9810         Export services for the default Last_Chance_Handler.
9811
9812         * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
9813         other separate units.
9814
9815 2004-07-20  Vincent Celier  <celier@gnat.com>
9816
9817         * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
9818
9819 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
9820
9821         * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
9822         emit itype references for the designated types of component types that
9823         are declared outside of the full record declaration, and that may
9824         denote a partial view of that record type.
9825
9826 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
9827
9828         PR ada/15607
9829         * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
9830         which is the designated type in an access component declaration, to the
9831         list of incomplete dependents of the parent type, to avoid elaboration
9832         issues with out-of-scope subtypes.
9833         (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
9834         full view of the parent.
9835
9836 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
9837
9838         PR ada/15610
9839         * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
9840         entities that are hidden, such as references to generic actuals
9841         outside an instance.
9842
9843 2004-07-20  Javier Miranda  <miranda@gnat.com>
9844
9845         * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
9846         support to the new notation.
9847         (Analyze_Selected_Component): Add call to Try_Object_Operation.
9848
9849 2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
9850
9851         * s-taprob.adb: Adding the elaboration code required for initializing
9852         the tasking soft links that are common to the full and the restricted
9853         run times.
9854
9855         * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
9856         restricted run time has been moved to the package
9857         System.Soft_Links.Tasking.
9858
9859         * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
9860         restricted run time has been moved to the package
9861         System.Soft_Links.Tasking.
9862
9863         * Makefile.rtl: Add entry for s-solita.o in run-time library list.
9864
9865         * s-solita.ads, s-solita.adb: New files.
9866
9867 2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9868
9869         * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
9870         Case_Statement_to_gnu): Split off from gnat_to_gnu.
9871         (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
9872         Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
9873         Exception_Handler_to_gnu_zcx): Likewise.
9874
9875 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
9876
9877         * gigi.h (builtin_function): Declare.
9878
9879 2004-07-15  Robert Dewar  <dewar@gnat.com>
9880
9881         * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
9882         reformatting
9883
9884         * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
9885         access values as an example of a warning.
9886
9887         * gnat_rm.texi: Document new attribute Has_Access_Values
9888
9889         * gnat-style.texi: Document that box comments belong on nested
9890         subprograms
9891
9892         * sem_util.ads (Has_Access_Values): Improved documentation
9893
9894         * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
9895
9896         * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
9897         (Process_Interface_Name): Call to this new procedure
9898         (Set_Extended_Import_Export_External_Name): Call to this new procedure
9899
9900         * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
9901
9902         * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
9903
9904         * einfo.ads: Minor comment typo fixed
9905
9906 2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
9907
9908         * snames.adb: Add _atcb.
9909
9910         * snames.ads: Add Name_uATCB.
9911
9912         * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
9913         (in the expanded code) when using the restricted run time.
9914
9915         * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
9916         a in parameter in order to allow ATCBs to be preallocated (in the
9917         expanded code).
9918
9919         * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
9920         order to allow ATCBs to be preallocated. In case of error, the ATCB is
9921         deallocated in System.Tasking.Stages.
9922
9923         * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
9924         order to allow ATCBs to be preallocated.
9925
9926         * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
9927         here. It was previously done in Initialize_ATCB.
9928
9929         * rtsfind.ads: Make the Ada_Task_Control_Block visible.
9930
9931         * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
9932         Restricted run time.
9933
9934         * exp_ch3.adb: When using the Restricted run time, pass the
9935         preallocated Ada_Task_Control_Block when creating a task.
9936
9937 2004-07-15  Ed Schonberg  <schonberg@gnat.com>
9938
9939         * sem_util.adb (Normalize_Actuals): If there are no actuals on a
9940         function call that is itself an actual in an enclosing call, diagnose
9941         problem here rather than assuming that resolution will catch it.
9942
9943         * sem_ch7.adb (Analyze_Package_Specification): If the specification is
9944         the local copy of a generic unit for a formal package, and the generic
9945         is a child unit, install private part of ancestors before compiling
9946         private part of spec.
9947
9948         * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
9949         use scope entities rather than tree structures, to handle properly
9950         parent units that are instances rewritten as bodies for inlining
9951         purposes.
9952
9953         * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
9954         Remove_Parents): Handle properly a parent unit that is an
9955         instantiation, when the unit has been rewritten as a body for inlining
9956         purposes.
9957
9958         * par.adb (Goto_List): Global variable to collect goto statements in a
9959         given unit, for use in detecting natural loops.
9960
9961         * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
9962         use in detecting natural loops.
9963
9964         * par-labl.adb (Find_Natural_Loops): Recognize loops create by
9965         backwards goto's, and rewrite as a infinite loop, to improve locality
9966         of temporaries.
9967
9968         * exp_util.adb (Force_Evaluation): Recognize a left-hand side
9969         subcomponent that includes an indexed reference, to prevent the
9970         generation of copies that would miscompile the desired assignment
9971         statement.
9972         (Build_Task_Image_Decls): Add a numeric suffix to
9973         generated name for string variable, to avoid spurious conflicts with
9974         the name of the type of a single protected object.
9975
9976         * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
9977         loop with an explicit exit statement, to avoid generating an
9978         out-of-range value with 'Succ leading to spurious constraint_errors
9979         when compiling with -gnatVo.
9980
9981 2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
9982
9983         * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
9984         might not be analyzed yet, even if its Etype is already set (case of an
9985         unchecked conversion built using Unchecked_Convert_To, for example).
9986         If the prefix has already been analyzed, this will be a nop anyway.
9987
9988         * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
9989         controller type, or an assignment of a record type with controlled
9990         components, copy only user data, and leave the finalization chain
9991         pointers untouched.
9992
9993 2004-07-15  Vincent Celier  <celier@gnat.com>
9994
9995         * make.adb (Collect_Arguments): Improve error message when attempting
9996         to compile a source not part of any project, when -x is not used.
9997
9998         * prj.ads: (Defined_Variable_Kind): New subtype
9999
10000         * prj-attr.adb (Register_New_Package): Two new procedures to register
10001         a package with or without its attributes.
10002         (Register_New_Attribute): Mew procedure to register a new attribute in a
10003         package.
10004         New attribute oriented subprograms: Attribute_Node_Id_Of,
10005         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
10006         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
10007         Next_Attribute.
10008         New package oriented subprograms: Package_Node_Id_Of,
10009         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
10010
10011         * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
10012         type.
10013         (Package_Node_Id): Now a private, self initialized type
10014         (Register_New_Package): New procedure to register a package with its
10015         attributes.
10016         New attribute oriented subprograms: Attribute_Node_Id_Of,
10017         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
10018         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
10019         Next_Attribute.
10020         New package oriented subprograms: Package_Node_Id_Of,
10021         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
10022
10023         * prj-dect.adb (Parse_Attribute_Declaration,
10024         Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
10025
10026         * prj-makr.adb (Make): Parse existing project file before creating
10027         other files. Fail if there was an error during parsing.
10028
10029         * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
10030         new spec of Prj.Attr.
10031
10032         * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
10033         to new spec of Prj.Attr.
10034
10035 2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10036
10037         * utils2.c: Fix typo in comment.
10038
10039 2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10040
10041         * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
10042         * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
10043
10044 2004-07-14  Andreas Schwab  <schwab@suse.de>
10045
10046         * trans.c (gnat_init_stmt_group): Remove duplicate definition.
10047
10048 2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10049
10050         * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
10051         object type.
10052         (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
10053         TYPE_STUB_DECL.
10054
10055         * misc.c (gnat_types_compatible_p): New function.
10056         (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
10057         (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
10058
10059         * trans.c (gigi): Move processing of main N_Compilation_Unit here.
10060         (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
10061         (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
10062         (mark_visited): Don't mark dummy type.
10063         (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
10064         parameter, we must remove any LJM building from GNU_NAME.
10065         (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
10066         (pos_to_constructor): Use int_const_binop.
10067         (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
10068         PARM_DECL.
10069
10070         * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
10071         (gnat_pushlevel): Set TREE_USE on BLOCK node.
10072         (gnat_install_builtins): Add __builtin_memset.
10073
10074 2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
10075
10076         * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
10077         for a renaming, stabilize the initialization expression if we are at a
10078         local level.  At the local level, uses of the renaming may be performed
10079         by a direct dereference of the initializing expression, and we don't
10080         want possible variables there to be evaluated for every use.
10081
10082         * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
10083         Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
10084         them on the way.  Account for the fact that we may introduce side
10085         effects in the process.
10086
10087 2004-07-13  Richard Henderson  <rth@redhat.com>
10088
10089         * misc.c (default_pass_by_ref): Use pass_by_reference.
10090
10091 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
10092
10093         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
10094         LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
10095
10096 2004-07-08  Richard Henderson  <rth@redhat.com>
10097
10098         * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
10099         commentary.
10100
10101 2004-07-06  Vincent Celier  <celier@gnat.com>
10102
10103         * vms_conv.ads: Minor reformatting.
10104         Alphabetical order for enumerated values of type Command_Type, to have
10105         the command in alphabetical order for the usage.
10106
10107         * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
10108         the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
10109
10110         * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
10111
10112         * makegpr.adb (Global_Archive_Exists): New global Boolean variable
10113         (Add_Archive_Path): Only add the global archive if there is one.
10114         (Build_Global_Archive): Set Global_Archive_Exists depending if there is
10115         or not any object file to put in the global archive, and don't build
10116         a global archive if there is none.
10117         (X_Switches): New table
10118         (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
10119         in the X_Switches table, if any.
10120         (Initialize): Make sure the X_Switches table is empty
10121         (Scan_Arg): Record -X switches in table X_Switches
10122
10123         * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
10124
10125         * make.adb: Minor comment fix
10126
10127         * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
10128         invoked with directory information, add the directory in front of the
10129         path.
10130
10131         * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
10132         invoked with directory information, add the directory in front of the
10133         path.
10134
10135         * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
10136         when Keep_Temporary_Files is False.
10137         (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
10138         directory information, add the directory in front of the path.
10139         When not on VMS, handle new switch -dn before the command to set
10140         Keep_Temporary_Files to True.
10141         (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
10142         everywhere.
10143
10144         * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
10145         invoked with directory information, add the directory in front of the
10146         path.
10147
10148 2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
10149
10150         * snames.ads, snames.adb (Name_Stub): New name for the distributed
10151         systems annex.
10152
10153         * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
10154         New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
10155
10156         * g-socket.adb (To_Timeval): Fix incorrect conversion of
10157         Selector_Duration to Timeval for the case of 0.0.
10158
10159         * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
10160         documentation from Evolve_And_Then.
10161
10162 2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
10163
10164         * s-taprop-tru64.adb, s-taprop-os2.adb,
10165         s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
10166
10167 2004-07-06  Robert Dewar  <dewar@gnat.com>
10168
10169         * s-osinte-hpux.ads, s-osinte-freebsd.ads,
10170         s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
10171         s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
10172         s-interr-sigaction.adb, s-taprop-irix-athread.adb,
10173         s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
10174         s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
10175         s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
10176         s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
10177         a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
10178         a-tags.ads, bindgen.ads, checks.adb, checks.adb,
10179         csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
10180         exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
10181         g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
10182         i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
10183         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
10184         sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
10185         sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
10186         s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
10187         s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
10188         s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
10189         vms_data.ads: Minor reformatting,
10190         Fix bad box comment format.
10191
10192         * gnat_rm.texi: Fix minor grammatical error
10193
10194         * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
10195
10196         * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
10197         more cases of discriminated records to be recognized as not needing a
10198         secondary stack.
10199         (Has_Access_Values): New function.
10200
10201         * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
10202
10203         * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
10204         Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
10205         with LRM terminology).
10206         Change terminology in comments primitive type => elementary type.
10207
10208 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
10209
10210         PR ada/15602
10211         * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
10212         parameters do not impose any requirements on the presence of a body.
10213
10214 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
10215
10216         PR ada/15593
10217         * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
10218         compilation unit and is in an open scope at the point of instantiation,
10219         assume that a body may be present later.
10220
10221 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
10222
10223         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
10224         Improve error message when specified size is not supported.
10225
10226         * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
10227         is never a primitive operation.
10228
10229 2004-07-05  Andreas Schwab  <schwab@suse.de>
10230
10231         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
10232         RECORD_OR_UNION_CHECK.
10233         (TYPE_CONTAINS_TEMPLATE_P): Likewise.
10234
10235 2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
10236
10237         * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
10238         dependency on xgnatugn, instead build it via a submake.
10239         (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
10240
10241 2004-07-04  Richard Henderson  <rth@redhat.com>
10242
10243         * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
10244
10245 2004-07-01  Richard Henderson  <rth@redhat.com>
10246
10247         * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
10248         * utils.c (max_size): Likewise.
10249
10250 2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10251
10252         * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
10253         and rest_of_type_compilation; add arg to create_*_decl.
10254         (annotate_decl_with_node): Deleted.
10255         (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
10256         * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
10257         (get_current_block_context, gnat_pushdecl): New declarations.
10258         (gnat_init_stmt_group): Likewise.
10259         (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
10260         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
10261         (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
10262         (gnat_init): Call gnat_init_stmt_group.
10263         * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
10264         (gnu_pending_elaboration_list): Deleted.
10265         (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
10266         (gigi): Rearrange initialization calls and move some to last above.
10267         (gnat_to_gnu): If statement and not in procedure, go into elab proc.
10268         Delete calls to add_decl_expr; add arg to create_*_decl.
10269         (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
10270         (gnat_to_gnu, case N_Subprogram_Body): Move some code to
10271         begin_subprog_body and call it.
10272         Don't push and pop ggc context.
10273         (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
10274         (add_stmt): Remove handling of DECL_EXPR from here.
10275         If not in function, mark visited.
10276         (add_decl_expr): Put global at top level.
10277         Check for cases of DECL_INITIAL we have to handle here.
10278         (process_type): Add extra arg to create_type_decl.
10279         (build_unit_elab): Rework to just gimplify.
10280         * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
10281         (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
10282         (get_pending_elaborations, pending_elaborations_p): Likewise.
10283         (push_pending_elaborations, pop_pending_elaborations): Likewise.
10284         (get_elaboration_location, insert_elaboration_list): Likewise.
10285         (gnat_binding_level): Renamed from ada_binding_level.
10286         (init_gnat_to_gnu): Don't clear pending_elaborations.
10287         (global_bindings_p): Treat as global if no current_binding_level.
10288         (set_current_block_context): New function.
10289         (gnat_pushdecl): Renamed from pushdecl; major rework.
10290         All callers changed.
10291         (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
10292         (finish_record_type): Call call pushdecl for stub decl.
10293         (function_nesting_depth): Deleted.
10294         (begin_subprog_body): Delete obsolete code.
10295         * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
10296
10297 2004-06-28  Robert Dewar  <dewar@gnat.com>
10298
10299         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
10300         mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
10301         mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
10302         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
10303         a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
10304
10305         * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
10306         deal with problem of inefficient slices on machines with strict
10307         alignment, when the slice is a component of a composite.
10308
10309         * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
10310         machines, we need the check there as well.
10311
10312 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
10313
10314         * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
10315         determine safe copying direction for overlapping slice assignments
10316         when component is controlled.
10317
10318         * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
10319         formal derived type in the actual for a formal package are visible in
10320         the enclosing instance.
10321
10322 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
10323
10324         PR ada/15600
10325         * sem_util.adb (Trace_Components): Diagnose properly an illegal
10326         circularity involving a private type whose completion includes a
10327         self-referential component.
10328         (Enter_Name): Use Is_Inherited_Operation to distinguish a source
10329         renaming or an instantiation from an implicit derived operation.
10330
10331 2004-06-28  Pascal Obry  <obry@gnat.com>
10332
10333         * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
10334         DLL.
10335         (Library_File_Name_For): Idem.
10336
10337 2004-06-28  Matthew Gingell  <gingell@gnat.com>
10338
10339         * g-traceb.ads: Add explanatory note on the format of addresses
10340         expected by addr2line.
10341
10342 2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
10343
10344         * Makefile.in: Force debugging information on s-tasdeb.adb,
10345         a-except.adb and s-assert.adb needed by the debugger.
10346
10347 2004-06-28  Vincent Celier  <celier@gnat.com>
10348
10349         * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
10350         Need_To_Build_Lib.
10351         (Gnatmake): Ditto.
10352
10353         * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
10354
10355         * prj.adb: Minor reformatting
10356         (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
10357
10358         * prj.ads: Comment updates
10359         Minor reformatting
10360         (Project_Data): Change Flag1 to Need_To_Build_Lib.
10361         Remove Flag2: not used.
10362
10363         * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
10364         declaration.
10365
10366         * gnat_ugn.texi: Put a "null;" declaration in one project file example
10367
10368         * gnat_rm.texi: Document Empty declarations "null;".
10369
10370         * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
10371         front of the linker options.
10372         (Link_Foreign): Put the global archives and the libraries in front of
10373         the linker options.
10374
10375 2004-06-28  Javier Miranda  <miranda@gnat.com>
10376
10377         * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
10378         (RTU_Loaded): Code cleanup
10379         (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
10380         withed predefined units.
10381
10382         * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
10383         explicitly withed predefined units.
10384         Fix typo in comment
10385
10386         * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
10387         explicitly withed predefined units.
10388
10389 2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10390
10391         * ada-tree.def (DECL_STMT): Deleted.
10392         * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
10393         (DECL_STMT_VAR): Deleted.
10394         * decl.c: add_decl_stmt now add_decl_expr.
10395         * gigi.h: Likewise.
10396         * trans.c: Likewise.
10397         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
10398         (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
10399         (add_stmt): Only handle padded type here.
10400         (add_stmt_with_node): Allow gnat_node to not be present.
10401         (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
10402         (gnat_gimplify_stmt, case DECL_STMT): Deleted.
10403         (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
10404         make a SAVE_EXPR for the entire fat pointer.
10405         * utils.c (pushdecl): Walk a DECL_EXPR in global case.
10406         (create_index_type): Make a DECL_EXPR.
10407         (end_subprog_body): Don't call allocate_struct_function here but
10408         do clear cfun.
10409
10410 2004-06-25  Pascal Obry  <obry@gnat.com>
10411
10412         * makegpr.adb (Build_Library): Remove parameter Lib_Address and
10413         Relocatable from Build_Dynamic_Library call.
10414
10415         * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
10416         Relocatable are now synonym.
10417
10418         * Makefile.in: Use s-parame-mingw.adb on MingW platform.
10419
10420         * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
10421         Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
10422         call.
10423
10424         * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
10425         Lib_Address and Relocatable.
10426         (Default_DLL_Address): Removed.
10427
10428         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
10429         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
10430         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
10431         (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
10432         (Default_DLL_Address): Removed.
10433
10434         * mlib-tgt-mingw.adb: Ditto.
10435         (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
10436
10437         * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
10438         the initial thread stack size.
10439
10440         * a-strmap.ads: Move package L to private part as it is not used in
10441         the spec. Found while reading code.
10442
10443 2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
10444
10445         * tracebak.c: Introduce support for a GCC infrastructure based
10446         implementation of __gnat_backtrace.
10447
10448         * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
10449         any more. Use accessors instead. This eases maintenance and relaxes
10450         some alignment constraints.
10451         (_GNAT_Exception structure): Remove the Ada specific fields
10452         (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
10453         a-exexpr.adb.
10454         (is_handled_by, __gnat_eh_personality): Replace component references to
10455         exception structure by use of the new accessors.
10456
10457         * init.c (__gnat_initialize): Adjust comments to match the just
10458         reverted meaning of the -static link-time option.
10459
10460         * adaint.c (convert_addresses): Arrange not to define a stub for
10461         mips-irix any more, as we now want to rely on a real version from a
10462         recent libaddr2line.
10463
10464         * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
10465         the personality routine can use them and not have to rely on a C
10466         counterpart of the record anymore. This simplifies maintenance and
10467         relaxes the constraint of having Standard'Maximum_Alignment match
10468         BIGGEST_ALIGNMENT.
10469         Update comments, and add a section on the common header alignment issue.
10470
10471 2004-06-25  Geert Bosch  <bosch@gnat.com>
10472
10473         * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
10474         polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
10475
10476 2004-06-25  Robert Dewar  <dewar@gnat.com>
10477
10478         * gnat_rm.texi: Fix section on component clauses to indicate that the
10479         restriction on byte boundary placement still applies for bit packed
10480         arrays.
10481         Add comment on stack usage from Initialize_Scalars
10482
10483         * gnat_ugn.texi: Add documentation for -gnatyLnnn
10484
10485         * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
10486         limiting nesting level.
10487
10488         * usage.adb: Add line for -gnatyLnnn switch
10489
10490         * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
10491         sem_ch13.adb, exp_aggr.adb: Minor reformatting
10492
10493         * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
10494         type as well as on the subtype. This corrects a problem in freeze in
10495         setting alignments of atomic types.
10496
10497         * sem_eval.ads: Minor comment typo fixed
10498
10499         * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
10500         level.  Minor reformatting.
10501
10502         * fname.adb (Is_Predefined_File_Name): Require a letter after the
10503         minus sign. This means that file names like a--b.adb will not be
10504         considered predefined.
10505
10506         * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
10507         record Test new flag and give diagnostic for bad component clause.
10508         (Freeze_Entity): Set alignment of array from component alignment in
10509         cases where this is safe to do.
10510
10511         * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
10512         arrays.
10513
10514         * cstand.adb: (Create_Standard): Set alignment of String to 1
10515
10516         * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
10517
10518         * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
10519         code in the common constrained array cases.
10520
10521         * a-storio.adb: Change implementation to avoid possible alignment
10522         problems on machines requiring strict alignment (data should be moved
10523         as type Buffer, not type Elmt).
10524
10525         * checks.adb (Apply_Array_Size_Check): Improve these checks by
10526         killing the overflow checks which we really do not need (64-bits is
10527         enough).
10528
10529 2004-06-25  Vincent Celier  <celier@gnat.com>
10530
10531         * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
10532         (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
10533         inconditionally for the main project.
10534         (Recursive_Add_Archives.Add_Archive_Path): New procedure
10535         (Link_Executables.Check_Time_Stamps): New procedure
10536         (Link_Executables.Link_Foreign): New procedure
10537         Changes made to reduce nesting level of this package
10538         (Check): New procedure
10539         (Add_Switches): When not in quiet output, check that a switch is not
10540         the concatenation of several valid switches. If it is, issue a warning.
10541         (Build_Global_Archive): If the global archive is rebuilt, linking need
10542         to be done.
10543         (Compile_Sources): Rebuilding a library archive does not imply
10544         rebuilding the global archive.
10545         (Build_Global_Archive): New procedure
10546         (Build_Library): New name for Build_Archive, now only for library
10547         project
10548         (Check_Archive_Builder): New procedure
10549         (Create_Global_Archive_Dependency_File): New procedure
10550         (Gprmake): Call Build_Global_Archive before linking
10551         * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
10552         throughout.
10553         (Scan_Arg): Display the Copyright notice when -v is used
10554
10555         * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
10556         for gnatls.
10557
10558         * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
10559         COMPILE.
10560         Add new GNAT LIST qualifier /FILES=
10561         Added qualifier /DIRECTORY= to GNAT METRIC
10562         Added qualifier /FILES= to GNAT METRIC
10563         Added qualifier /FILES to GNAT PRETTY
10564
10565         * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
10566         to take into account both versions of the switch.
10567
10568         * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
10569         always be the last switch to the gcc driver. Disable switch storing so
10570         that switches automatically added by the gcc driver are not put in the
10571         ALI file.
10572
10573         * prj.adb (Project_Empty): Take into account changes in components of
10574         Project_Data.
10575
10576         * prj.ads (Languages_Processed): New enumaration value All_Languages.
10577
10578         * prj.ads (Project_Data): Remove component Lib_Elaboration: never
10579         used. Split Boolean component Ada_Sources_Present in two Boolean
10580         components Ada_Sources_Present and Other_Sources_Present.
10581         Minor reformatting
10582
10583         * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
10584         instead of Sources_Present.
10585         (Set_Ada_Paths.Add.Recursive_Add): Ditto
10586
10587         * prj-nmsc.adb: Minor reformatting
10588         (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
10589         (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
10590         Check_Ada_Naming_Scheme.
10591         Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
10592         throughout.
10593
10594         * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
10595         In_Limited.
10596         Make sure that all cycles where there is at least one "limited with"
10597         are detected.
10598         (Parse_Single_Project): New Boolean parameter In_Limited
10599
10600         * prj-proc.adb (Recursive_Check): When Process_Languages is
10601         All_Languages, call first Prj.Nmsc.Ada_Check, then
10602         Prj.Nmsc.Other_Languages_Check.
10603
10604         * prj-proc.adb (Process): Use Ada_Sources_Present or
10605         Other_Sources_Present (instead of Sources_Present) depending on
10606         Process_Languages.
10607
10608         * lang-specs.h: Keep -g and -m switches in the same order, and as the
10609         last switches.
10610
10611         * lib.adb (Switch_Storing_Enabled): New global Boolean flag
10612         (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
10613         False.
10614         (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
10615         False.
10616
10617         * lib.ads (Disable_Switch_Storing): New procedure.
10618
10619         * make.adb: Modifications to reduce nesting level of this package.
10620         (Check_Standard_Library): New procedure
10621         (Gnatmake.Check_Mains): New procedure
10622         (Gnatmake.Create_Binder_Mapping_File): New procedure
10623         (Compile_Sources.Compile): Add switch -gnatez as the last option
10624         (Display): Never display -gnatez
10625
10626         * Makefile.generic:
10627         When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
10628
10629         * gnatcmd.adb (Check_Project): New function
10630         (Process_Link): New procedure to reduce nesting depth
10631         (Check_Files): New procedure to reduce the nesting depth.
10632         For GNAT METRIC, include the inherited sources in extending projects.
10633         (GNATCmd): When GNAT LS is invoked with a project file and no files,
10634         add the list of files from the sources of the project file. If this list
10635         is too long, put it in a temp text files and use switch -files=
10636         (Delete_Temp_Config_Files): Delete the temp text file that contains
10637         a list of source for gnatpp or gnatmetric, if one has been created.
10638         (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
10639         in the project file is too large, create a temporary text file that
10640         list them and pass it to the tool with "-files=<temp text file>".
10641         (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
10642
10643         * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
10644         generated file is in not in Ada.
10645
10646         * gnatls.adb: Remove all parameters And_Save that are no longer used.
10647         (Scan_Ls_Arg): Add processing for -files=
10648         (Usage): Add line for -files=
10649
10650         * g-os_lib.adb (On_Windows): New global constant Boolean flag
10651         (Normalize_Pathname): When on Windows and the path starts with a
10652         directory separator, make sure that the resulting path will start with
10653         a drive letter.
10654
10655         * clean.adb (Clean_Archive): New procedure
10656         (Clean_Project): When there is non-Ada code, delete the global archive,
10657         the archive dependency files, the object files and their dependency
10658         files, if they exist.
10659         (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
10660
10661 2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
10662
10663         * sinfo.ads: Fix typo in comment.
10664
10665         * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
10666         the TSS for remote access-to-subprogram types, since these TSS are
10667         always present once the type has been analyzed.
10668         (RAS_E_Dereference): Same.
10669
10670         * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
10671         reference raises Bad_Attribute, mark the reference as analyzed so the
10672         node (and any children resulting from rewrites that could have occurred
10673         during the analysis that ultimately failed) is not analyzed again.
10674
10675         * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
10676
10677         * exp_dist.adb: Minor comment fix.
10678
10679         * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
10680         type is an anonymous access type, no unchecked deallocation of the
10681         allocated object can occur. If the object is controlled, attach it with
10682         a count of 1. This allows attachment to the Global_Final_List, if
10683         no other relevant list is available.
10684         (Get_Allocator_Final_List): For an anonymous access type that is
10685         the type of a discriminant or record component, the corresponding
10686         finalisation list is the one of the scope of the type.
10687
10688 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
10689
10690         * sem_ch3.adb (Replace_Type): When computing the signature of an
10691         inherited subprogram, use the first subtype if the derived type
10692         declaration has no constraint.
10693
10694         * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
10695         before applying previous optimization. Minor code cleanup.
10696
10697         * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
10698         placed at the beginning of an unpacked record without explicit
10699         alignment, a slice of it will be aligned and does not need a copy when
10700         used as an actual.
10701
10702 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
10703
10704         PR ada/15591
10705         PR ada/15592
10706         * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
10707         reference is written with expressions mimicking parameters.
10708
10709 2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
10710
10711         PR ada/15589
10712         * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
10713         STEP 2a. The constraints of a full type declaration of a derived record
10714         type are checked for conformance with those declared in the
10715         corresponding private extension declaration. The message
10716         "not conformant with previous declaration" is emitted if an error is
10717         detected.
10718
10719 2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
10720
10721         * g-traceb.ads: Document the need for -E binder switch in the spec.
10722
10723         * g-trasym.ads: Document the need for -E binder switch in the spec.
10724
10725 2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
10726
10727         * sem_prag.adb: Add handling of pragma Detect_Blocking.
10728
10729         * snames.h, snames.ads, snames.adb: Add entry for pragma
10730         Detect_Blocking.
10731
10732         * s-rident.ads: Change reference to pragma Detect_Blocking.
10733
10734         * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
10735         system.ads.
10736
10737         * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
10738         to indicate whether pragma Detect_Blocking is active.
10739
10740         * par-prag.adb: Add entry for pragma Detect_Blocking.
10741
10742         * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
10743         of not handling WITH.
10744         Note that this replaces the previous update which was incorrect.
10745
10746 2004-06-25  Javier Miranda  <miranda@gnat.com>
10747
10748         * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
10749         use-clauses to have a clean environment.
10750
10751         * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
10752         the installation of the use-clauses to stablish a clean environment in
10753         case of compilation of a separate unit; otherwise the call to
10754         use_one_package is protected by the barrier Applicable_Use.
10755
10756         * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
10757         the installation of the use-clauses to stablish a clean environment in
10758         case of compilation of a separate unit.
10759         (End_Use_Clauses): Minor comment cleanup.
10760
10761 2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
10762
10763         * gnat_ugn.texi: Add description of the gnatpp 'files' switch
10764
10765 2004-06-23  Richard Henderson  <rth@redhat.com>
10766
10767         * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
10768
10769 2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10770
10771         * decl.c (elaborate_expression, elaborate_expression_1): Arguments
10772         now bool instead of int.
10773         (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
10774         * trans.c (gnu_switch_label_stack): New function.
10775         (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
10776         elaboration of renamed entity returns.
10777         (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
10778         (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
10779         (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
10780         (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
10781         DECL_SIZE_UNIT and simplify variable-sized case.
10782         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
10783         Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
10784         (gnat_stabilize_reference): Add arg to COMPONENT_REF.
10785         (build_unit_elab): Disable for now.
10786         * utils.c (mark_visited): New function.
10787         (pushdecl): Walk tree to call it for global decl.
10788         (update_pointer_to): Update all variants of pointer and ref types.
10789         Add arg to COMPONENT_REF.
10790         (convert): Likewise.
10791         Move check for converting between variants lower down.
10792         * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
10793         (build_allocator): Don't force type of MODIFY_EXPR.
10794         (gnat_mark_addressable, case VAR_DECL): Unconditionally call
10795         put_var_into_stack.
10796
10797 2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10798
10799         * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
10800         * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
10801         * decl.c (gnat_to_gnu_entity): Also set force_global for imported
10802         subprograms.
10803         * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
10804         all callers changed.
10805         (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
10806         the way that EXIT_STMT finds the loop label.
10807         (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
10808         (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
10809         (add_stmt): Use annotate_with_locus insted of setting directly.
10810         (pos_to_construct): Set TREE_PURPOSE of each entry to index.
10811         (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
10812         * utils.c (gnat_install_builtins): Install __builtin_memcmp.
10813         (build_vms_descriptor): Add extra args to ARRAY_REF.
10814         (convert): Use VIEW_CONVERT_EXPR between aggregate types.
10815         * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
10816         New cases.
10817         (build_binary_op): Don't make explicit CONVERT_EXPR.
10818         Add extra rgs to ARRAY_REF.
10819
10820 2004-06-14  Pascal Obry  <obry@gnat.com>
10821
10822         * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
10823         Windows.  Fix minor typo.
10824
10825         * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
10826         which is now supported on Windows. With this implementation using the
10827         Library Project feature is no different on Windows than on UNIX.
10828
10829 2004-06-14  Vincent Celier  <celier@gnat.com>
10830
10831         * makegpr.adb (Compile_Sources): Nothing to do when there are no
10832         non-Ada sources.
10833
10834         * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
10835
10836         * prj-part.adb (Parse_Single_Project): When a duplicate project name is
10837         found, show the project name and the path of the previously parsed
10838         project file.
10839
10840 2004-06-14  Ed Schonberg  <schonberg@gnat.com>
10841
10842         * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
10843         array, avoid copying the actual before the call.
10844
10845 2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
10846
10847         * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
10848         Instead, allocate memory on worst-case alignment assumptions, and then
10849         return an aligned address within the allocated zone.
10850
10851 2004-06-14  Robert Dewar  <dewar@gnat.com>
10852
10853         * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
10854         elab entities in predefined units in No_Run_Time_Mode.
10855         (Gen_Adainit_C): Same fix
10856         (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
10857         units in No_Run_Time_Mode
10858         (Gen_Elab_Calls_C): Same fix
10859
10860         * symbols-vms-alpha.adb: Minor reformatting
10861
10862         * g-debpoo.ads: Minor reformatting
10863
10864         * lib.adb (In_Same_Extended_Unit): Version working on node id's
10865
10866         * lib.ads (In_Same_Extended_Unit): Version working on node id's
10867
10868         * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
10869         working on nodes.
10870
10871         * make.adb: Minor reformatting
10872
10873         * par-ch12.adb: Minor reformatting
10874
10875         * par-prag.adb: Add dummy entry for pragma Profile_Warnings
10876
10877         * prj-strt.adb: Minor reformatting
10878
10879         * restrict.ads, restrict.adb: Redo handling of profile restrictions to
10880         be more general.
10881
10882         * sem_attr.adb: Minor reformatting
10883
10884         * sem_ch7.adb: Minor reformatting
10885
10886         * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
10887         for type in the same unit as the object declaration.
10888
10889         * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
10890         static string expressions and not just string literals.
10891         Minor reformatting
10892         (Set_Warning): Reset restriction warning flag for restriction pragma
10893         Implement pragma Profile_Warnings
10894         Implement pragma Profile (Restricted)
10895         Give obolescent messages for old restrictions and pragmas
10896
10897         * snames.h, snames.ads, snames.adb: Add new entry for pragma
10898         Profile_Warnings.
10899
10900         * s-rident.ads: Add declarations for restrictions required by profile
10901         Restricted and profile Ravenscar.
10902
10903         * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
10904
10905         * gnat_ugn.texi: Correct some missing entries in the list of GNAT
10906         configuration pragmas.
10907
10908 2004-06-11  Vincent Celier  <celier@gnat.com>
10909
10910         * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
10911         gnatsym, when symbol policy is Restricted.
10912
10913         * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
10914         gnatsym, when symbol policy is Restricted.
10915
10916         * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
10917         read the symbol file.
10918         (Finalize): Fail in symbol policy Restricted if a symbol in the original
10919         symbol file is not in the object files. Do not create a new symbol file
10920         when symbol policy is Restricted.
10921
10922         * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
10923         in Scng.
10924
10925         * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
10926         Restricted.
10927         (Usage): Line for new switch -R
10928
10929         * make.adb (Initialize): When the platform is not VMS, add the
10930         directory where gnatmake is invoked in the front of the path, if
10931         gnatmake is invoked with directory information.  Change the Scan_Args
10932         while loop to a for loop.
10933         (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
10934         if Depth is equal or greater than the proposed depth, there is nothing
10935         to do.
10936         (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
10937         instead of 0.
10938
10939         * prj.ads: Add new symbol policy Restricted.
10940
10941         * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
10942         with the new parameters Check_All_Labels and Case_Location.
10943
10944         * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
10945         (Library_Symbol_File needs to be defined).
10946
10947         * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
10948         and Case_Location If Check_All_Labels is True, check that all values of
10949         the string type are used, and output warning(s) if they are not.
10950
10951         * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
10952         and Case_Location.
10953
10954         * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
10955
10956         * gnat_ugn.texi: Update documentation about the library directory in
10957         Library Projects.
10958
10959         * makegpr.adb (Display_Command): In verbose mode, also display the
10960         value of the CPATH env var, when the compiler is gcc.
10961         (Initialize): Change the Scan_Args while loop to a for loop
10962         (Compile_Individual_Sources): Change directory to object directory
10963         before compilations.
10964
10965         * symbols.ads: New symbol policy Restricted.
10966
10967 2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
10968
10969         * a-except.adb (Raise_After_Setup family): Remove. The responsibility
10970         is now taken care of internally in the Exception_Propagation package
10971         and does not require clients assistance any more.
10972
10973         * a-exexpr.adb (Is_Setup_And_Not_Propagated,
10974         Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
10975         functions. Helpers to maintain a predicate required in the handling of
10976         occurrence transfer between tasks.
10977         This is now handled internally and does not require clients assistance
10978         for the setup/propagate separation anymore.
10979         (Setup_Exception, Propagate_Exception): Simplify the Private_Data
10980         allocation strategy, handle the Setup_And_Not_Propagated predicate and
10981         document.
10982
10983         * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
10984         raise_after_setup, now that everything is handled internally within the
10985         setup/propagation engine.
10986
10987 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
10988
10989         * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
10990         Add additional conditions for the case of an actual being a simple
10991         name or literal. Improve inlining by preventing the generation
10992         of temporaries with a short lifetime (one use).
10993
10994 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
10995
10996         PR ada/15587
10997
10998         * einfo.ads: Minor comment updates for Has_Completion and
10999         E_Constant list of flags.
11000
11001         * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
11002         and constant redeclarations now set the Has_Completion flag of their
11003         defining identifiers.
11004
11005         * sem_ch7.adb (Analyze_Package_Spec): Add procedure
11006         Inspect_Deferred_Constant_Completion.
11007         Used to detect private deferred constants that have not been completed
11008         either by a constant redeclaration or pragma Import. Emits error message
11009         "constant declaration requires initialization expression".
11010
11011         * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
11012         completes a deferred constant.
11013
11014 2004-06-11  Geert Bosch  <bosch@gnat.com>
11015
11016         * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
11017
11018         * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
11019         calculating exponent for scaling denormal numbers.
11020         (Leading_Part): Properly raise Constraint_Error for zero or negative
11021         Adjustment.
11022         (Remainder): Properly raise Constraint_Error for zero divisor.
11023
11024 2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
11025
11026         * sem_util.adb: Minor reformatting.
11027
11028         * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
11029         dereference when accessing the entry parameter record.
11030         (Check_Array_Type): Always check for possible implicit dereference.
11031         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
11032         Abort if a pointer is still present (denoting that an implicit
11033         dereference was left in the tree by the front-end).
11034
11035         * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
11036         dereference when accessing the entry parameter record.
11037         (Check_Array_Type): Always check for possible implicit dereference.
11038         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
11039         Abort if a pointer is still present (denoting that an implicit
11040         dereference was left in the tree by the front-end).
11041
11042 2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
11043
11044         * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
11045         message, like the compiler itself does. Easier to parse the output.
11046
11047         * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
11048
11049         * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
11050         be base names, and not includes directories.
11051
11052 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
11053
11054         * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
11055         so that dependencies are properly taken into account by make.
11056
11057 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
11058
11059         PR ada/15622
11060         * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
11061         exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
11062
11063 2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
11064
11065         * Makefile.in (install-gnatlib): install target-specific run-time files.
11066
11067         * Make-lang.in: Remove obsolete targets.
11068
11069 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
11070
11071         * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
11072         specification, to catch misuses of program unit names.
11073
11074         * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
11075         superfluous conversions in an instance.
11076
11077 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
11078
11079         PR ada/15403
11080
11081         * sem_ch12.adb (Save_References): If operator node has been folded to
11082         enumeration literal, associated_node must be discarded.
11083
11084 2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
11085
11086         * s-stchop-vxworks.adb: Add required pragma Convention to
11087         Task_Descriptor because it is updated by a C function.
11088
11089 2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
11090
11091         PR ada/15568
11092
11093         * Makefile.in: Remove target specific SO_OPT on IRIX
11094
11095 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11096
11097         * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
11098         (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
11099         (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
11100         (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
11101         (STMT_STMT, USE_STMT): New statement codes.
11102         (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
11103         * ada-tree.h: Reflect above changes.
11104         (struct tree_loop_id): Deleted.
11105         (union lang_tree_node, struct lang_decl, struct lang_type):
11106         Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
11107         and DECL_LANGUAGE_SPECIFIC to reflect these changes.
11108         (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
11109         (IS_ADA_STMT): New macro.
11110         * decl.c (annotate_decl_with_node): New function.
11111         (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
11112         (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
11113         Call add_stmt_with_node to do needed assignments.
11114         Add call to update setjmp buffer directly, not via EXPR_STMT.
11115         (maybe_variable): Argment GNAT_NODE deleted.
11116         * gigi.h (maybe_variable): Likewise.
11117         (make_transform, add_stmt_with_node, set_block_for_group): New.
11118         (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
11119         (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
11120         (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
11121         (set_lineno, set_lineno_from_sloc): Likewise.
11122         (record_code_position, insert_code_for): Likewise.
11123         (gnat_poplevel): Now returns void.
11124         (end_subprog_body): Now takes argument.
11125         * misc.c (cgraph.h, tree-inline.h): New includes.
11126         (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
11127         (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
11128         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
11129         (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
11130         (gnat_parse_file): Don't set immediate_size_expand.
11131         Call cgraph functions.
11132         (gnat_expand_expr): Remove most cases.
11133         (record_code_position, insert_code_for): Remove from here.
11134         * trans.c (toplev.h, tree-gimple.h): Now included.
11135         (discard_file_names): Deleted.
11136         (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
11137         (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
11138         (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
11139         (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
11140         (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
11141         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
11142         (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
11143         (set_block_for_group, add_stmt_list): Likewise.
11144         (start_stmt_group): Renamed from start_block_stmt.
11145         (end_stmt_group): Likewise, from end_block_stmt.
11146         (build_stmt_group): Likewise, from build_block_stmt, also add arg.
11147         (gigi): Don't set discard_file_names or call set_lineno.
11148         Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
11149         (tree_transform): Deleted, now renamed to be gnat_to_gnu.
11150         Numerous changes throughout to reflect new names and complete
11151         function-at-a-time implementation.
11152         (gnat_expand_stmt): Delete or comment out all cases.
11153         (process_inlined_subprograms): Use add_stmt.
11154         (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
11155         call set_lineno; also remove unneeded block handling.
11156         (process_type): Remove unneeded block handling.
11157         (build_unit_elab): Remove calls to deleted functions.
11158         * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
11159         (tree-dump.h): Likewise.
11160         (struct ada_binding_level): Add field jmpbuf_decl.
11161         (gnat_define_builtin, gnat_install_builtins): New.
11162         (gnat_gimplify_function, gnat_finalize): Likewise.
11163         (gnat_poplevel): No longer return BLOCK, set it instead.
11164         Remove code dealing with nested functions.
11165         (gnat_init_decl_processing): Also set size_type_node.
11166         Call gnat_install_builtins.
11167         (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
11168         (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
11169         Remove special-case for "main".
11170         (end_subprog_body): Add arg and rework for tree-ssa.
11171         (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
11172         Add case for BOOLEAN_TYPE.
11173         * utils2.c (rtl.h): Now include.
11174         (build_call_raise): Test Debug_Flag_NN directly.
11175         (build_call_alloc_dealloc): Don't use local stack allocation for now.
11176         (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
11177         (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
11178
11179 2004-06-07  Robert Dewar  <dewar@gnat.com>
11180
11181         * a-direct.ads, einfo.ads: Minor comment updates
11182
11183         * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
11184         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
11185         s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
11186         s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
11187         s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
11188
11189         * s-interr-sigaction.adb: Remove unreferenced variable
11190         (Attached_Interrupts).  Minor reformatting.
11191         Avoid use of variable I (replace by J).
11192
11193         * par-ch10.adb: Fix text of one error message
11194
11195         * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
11196         exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
11197         exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
11198         opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
11199         par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
11200         par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
11201         sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
11202         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
11203         sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
11204         sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
11205         snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
11206         2005 support.
11207
11208 2004-06-07  Doug Rupp  <rupp@gnat.com>
11209
11210         * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
11211
11212         * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
11213
11214         * mlib-tgt-vms-ia64.adb: New file.
11215
11216         * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
11217         Add mlib-tgt-vms-ia64.adb
11218         Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
11219         Move to alpha specific ifeq section.
11220         Add VMS specific versions of symbols.adb
11221         Renaming of 5q vms files.
11222
11223         * 5qsystem.ads renamed to system-vms_64.ads.
11224
11225 2004-06-07  Vincent Celier  <celier@gnat.com>
11226
11227         * a-calend.ads: Add a GNAT Note comment after function Time_Of to
11228         explain that when a time of day corresponding to the non existing hour
11229         on the day switching to DST is specified, Split may return a different
11230         value for Seconds.
11231
11232         * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
11233         to GNAT PRETTY.
11234
11235         * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
11236         (Normalize_Pathname): Only resolve VMS logical names when on VMS.
11237
11238         * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
11239         to False.
11240         If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
11241         the linking options.
11242         (Build_Library.Check_Libs): On VMS, if there is a dependency on
11243         g-trasym.ads, set Gtrasymobj_Needed to True.
11244
11245         * prj-attr.adb: Add new package Metrics for gnatmetric
11246
11247         * prj-nmsc.adb (Record_Other_Sources): Put source file names in
11248         canonical case to take into account files with upper case characters on
11249         Windows.
11250         (Ada_Check): Load the reference symbol file name in the name buffer to
11251         check it, not the symbol file name.
11252
11253         * snames.ads, snames.adb: Add standard name Metrics (name of project
11254         file package for gnatmetric).
11255
11256         * vms_conv.ads: Add Metric to Comment_Type
11257
11258         * vms_conv.adb (Initialize): Add component dor Metric in Command_List
11259
11260         * vms_data.ads: Add qualifiers for GNAT METRIC
11261
11262         * makegpr.adb (Link_Executables): Take into account the switches
11263         specified in package Linker of the main project.
11264
11265 2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
11266
11267         * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
11268         the index of the last element is Units.Last, not Units.Table'Last
11269         (which is usually not a valid index within the actually allocated
11270         storage for the table).
11271
11272         * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
11273         determines whether to generate a call to a checked storage pool
11274         Dereference action.
11275         Generate such a call only for a dereference that either comes from
11276         source, or is the result of rewriting a dereference that comes from
11277         source.
11278
11279 2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
11280
11281         * bindgen.adb (Gen_Output_File): Add support for GAP builds.
11282
11283 2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
11284
11285         (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
11286         file level, elaborate the stride for inner dimensions in alignment
11287         units, not bytes.
11288
11289         * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
11290         in a comment.
11291
11292 2004-06-07  Javier Miranda  <miranda@gnat.com>
11293
11294         * exp_ch6.adb: Correct wrong modification in previous patch
11295
11296 2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
11297
11298         * g-trasym.ads: Corrected comment to properly reflect level of support
11299         on VMS.
11300
11301 2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
11302
11303         * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
11304         includes case of a variable referenced on the left hand side of an
11305         assignment, therefore remove redundant code. Variables and prefixes of
11306         indexed or selected components are now marked as referenced on left
11307         hand side. Warnings are now properly emitted when variables or prefixes
11308         are assigned but not read.
11309
11310         * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
11311         left hand side referenced variables. Private access types do not
11312         produce the warning "variable ... is assigned but never read".
11313         Add also additional checks to left hand side referenced variables.
11314         Aliased, renamed objects and access types do not produce the warning
11315         "variable ... is assigned but never read" since other entities may read
11316         the memory location.
11317
11318 2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
11319
11320         * Makefile.in: In the powerpc/vxworks-specific section, restore
11321         EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
11322         by mistake).
11323
11324 2004-06-07  Ed Schonberg  <schonberg@gnat.com>
11325
11326         * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
11327         predefined operators.
11328         Removes spurious type errors from g-trasym-vms.adb.
11329
11330         * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
11331         distinct from the operator appearing in the source, call appropriate
11332         routine to insert conversions when needed, and complete resolution of
11333         node.
11334         (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
11335         interpretations for rewritten right operand.
11336         (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
11337         the other operand is overloaded and the context is a type conversion.
11338
11339 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11340
11341         * ada-tree.def (BLOCK_STMT): Now has two operands.
11342         (BREAK_STMT): New.
11343
11344         * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
11345
11346         * gigi.h: (gnat_poplevel): Now returns a tree.
11347
11348         * trans.c (end_block_stmt): Add arg; all callers changed.
11349         (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
11350         (start_block_stmt): Clear BLOCK_STMT_BLOCK.
11351         (add_stmt): Set TREE_TYPE.
11352         (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
11353         (gnat_expand_stmt, case BREAK_STMT): New case.
11354
11355         * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
11356
11357 2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
11358
11359         * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
11360         procedure Set_Stack_Size that is not needed.
11361
11362 2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
11363
11364         * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
11365         used for gnatpp input file and for the files upon which it depends
11366
11367 2004-06-07  Ben Brosgol  <brosgol@gnat.com>
11368
11369         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
11370
11371 2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
11372
11373         * gnatvsn.ads: Bump version numbers appropriately.
11374         Add new build type.
11375
11376 2004-06-07  Pascal Obry  <obry@gnat.com>
11377
11378         * gnat_ugn.texi: Improve comments about imported names and link names
11379         on Windows. Add a note about the requirement to use -k gnatdll's option
11380         when working with a DLL which has stripped stdcall symbols (no @nn
11381         suffix).
11382
11383 2004-05-27  Vincent Celier  <celier@gnat.com>
11384
11385         * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
11386         COMMENTS_LAYOUT=UNTOUCHED
11387
11388         * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
11389         symbols-vms-alpha.adb
11390
11391 2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
11392
11393         * sem.ads: Clarify documentation on checks suppression.
11394
11395         * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
11396
11397 2004-05-27  Ed Schonberg  <schonberg@gnat.com>
11398
11399         * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
11400         the case of multiple derivations.
11401         (Is_Object_Reference): For a selected component, verify that the prefix
11402         is itself an object and not a value.
11403
11404         * sem_ch12.adb (Same_Instantiated_Constant): New name for
11405         Same_Instantiated_Entity.
11406         (Same_Instantiated_Variable): Subsidiary to
11407         Check_Formal_Package_Instance, to recognize actuals for in-out generic
11408         formals that are obtained from a previous formal package.
11409         (Instantiate_Subprogram_Body): Emit proper error when
11410         generating code and the proper body of a stub is missing.
11411
11412         * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
11413         has a universal interpretation, do the disambiguation here.
11414
11415         * exp_ch4.adb (Expand_N_Type_Conversion,
11416         Expand_N_Unchecked_Type_Conversion): Special handling when target type
11417         is Address, to avoid typing anomalies when Address is a visible integer
11418         type.
11419
11420         * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
11421         to determine whether a subprogram should not be marked Pure, even when
11422         declared in a pure package.
11423
11424 2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
11425
11426         * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
11427
11428         * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
11429         Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
11430         Update the documentation about the Ravenscar profile, following the
11431         definition found in AI-249.
11432
11433         * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
11434         setting the Profile (Ravenscar). This must be done in addition to
11435         setting the required restrictions.
11436
11437         * rtsfind.ads: Add the set of operations defined in package
11438         Ada.Interrupts.
11439
11440         * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
11441         restriction.
11442
11443 2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
11444
11445         lang-specs.h: Always require -c or -S and always redirect to /dev/null
11446         if -gnatc or -gnats is passed.
11447
11448 2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
11449
11450         * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
11451         a significant reference. Warnings are now properly emitted when a
11452         discriminated type is not referenced.
11453
11454         * lib-xref.adb (Generate_Reference): A deferred constant completion,
11455         record representation clause or record type discriminant does not
11456         produce a reference to its corresponding entity. Warnings are now
11457         properly emitted when deferred constants and record types are not
11458         referenced.
11459
11460 2004-05-27  Geert Bosch  <bosch@gnat.com>
11461
11462         * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
11463         Fixes ACATS Annex G tests.
11464
11465 2004-05-27  Robert Dewar  <dewar@gnat.com>
11466
11467         * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
11468         handling WITH
11469
11470 2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
11471
11472         * s-interr.adb (Server_Task): Take into account case of early return
11473         from sigwait under e.g. linux.
11474
11475 2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
11476
11477         * gnat_ugn.texi: Add description for the new gnatpp options:
11478          -rnb - replace the original source without creating its backup copy
11479          -c0 - do not format comments
11480
11481 2004-05-24  Geert Bosch  <bosch@gnat.com>
11482
11483         * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
11484         with 192 bits of precision, sufficient to reduce a double-extended
11485         arguments X with a maximum relative error of T'Machine_Epsilon, for X
11486         in -2.0**32 .. 2.0**32.
11487         (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
11488         reduction by the processor, which only uses a 68-bit approximation of
11489         Pi.
11490         (Tan): Always reduce arguments and compute function either using
11491         the processor's fptan instruction, or by dividing sin and cos as needed.
11492
11493 2004-05-24  Doug Rupp  <rupp@gnat.com>
11494
11495         * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
11496         gcc error on 32/64 bit VMS.
11497
11498 2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
11499
11500         * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
11501         since this is what we get for stack overflows although not documented
11502         as such.
11503         Document the issues which may require adjustments to our signal
11504         handlers.
11505
11506 2004-05-24  Ed Schonberg  <schonberg@gnat.com>
11507
11508         * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
11509         enclosing dynamic scope if the instantiation is within a generic unit.
11510
11511 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
11512
11513         * exp_dbug.ads: Fix typo.
11514
11515         * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
11516         Rename it to its proper name: system-linux-ia64.ads
11517         (stamp-gnatlib1): Remove extra target specific run time files when
11518         setting up the rts directory.
11519
11520 2004-05-24  Javier Miranda  <miranda@gnat.com>
11521
11522         * einfo.ads, einfo.adb (Limited_Views): Removed.
11523         (Limited_View): New attribute that replaces the previous one. It is
11524         now a bona fide package with the limited-view list through the
11525         first_entity and first_private attributes.
11526
11527         * sem_ch10.adb (Install_Private_With_Clauses): Give support to
11528         limited-private-with clause.
11529         (Install_Limited_Withed_Unit): Install the private declarations of a
11530         limited-private-withed package. Update the installation of the shadow
11531         entities according to the new structure (see Build_Limited_Views)
11532         (Build_Limited_Views): Replace the previous implementation of the
11533         limited view by a package entity that references the first shadow
11534         entity plus the first shadow private entity (required for limited-
11535         private-with clause)
11536         (New_Internal_Shadow_Entity): Code cleanup.
11537         (Remove_Limited_With_Clause): Update the implementation to undo the
11538         new work carried out by Build_Limited_Views.
11539         (Build_Chain): Complete documentation.
11540         Replace Ada0Y by Ada 0Y in comments
11541         Minor reformating
11542
11543         * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
11544         types the level of accessibility depends on the enclosing type
11545         declaration.
11546
11547         * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
11548         entities. Complete documentation of previous change.
11549
11550 2004-05-24  Robert Dewar  <dewar@gnat.com>
11551
11552         * namet.adb: Minor reformatting
11553         Avoid use of name I (replace by J)
11554         Minor code restructuring
11555
11556         * sem_ch6.adb: Minor reformatting
11557
11558         * lib-writ.adb: Do not set restriction as active if this is a
11559         Restriction_Warning case.
11560
11561         * sem_prag.adb: Reset restriction warning flag if real pragma
11562         restriction encountered.
11563
11564         * s-htable.adb: Minor reformatting
11565         Change rotate count to 3 in Hash (improves hash for small strings)
11566
11567         * 5qsystem.ads: Add comments for type Address (no literals allowed).
11568
11569         * gnat_ugn.texi: Add new section of documentation "Code Generation
11570         Control", which describes the use of -m switches.
11571
11572 2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
11573
11574         trans.c (tree_transform) <N_Identifier>: Do the dereference directly
11575         through the DECL_INITIAL for renamed variables.
11576
11577 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
11578
11579         * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
11580
11581 2004-05-19  Joel Brobecker  <brobecker@gnat.com>
11582
11583         * exp_dbug.ads: Correct comments concerning handling of overloading,
11584         since we no longer use $ anymore.
11585
11586 2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
11587
11588         * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
11589         ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
11590         with illegal subunits.
11591
11592 2004-05-19  Ed Schonberg  <schonberg@gnat.com>
11593
11594         * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
11595         body with front-end inlining enabled, check whether an inline pragma
11596         appears immediately after the body and applies to it.
11597
11598         * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
11599         enabled and the pragma appears after the body of the subprogram.
11600
11601 2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11602
11603         Part of function-at-a-time conversion
11604
11605         * misc.c (adjust_decl_rtl): Deleted.
11606         (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
11607         Define.
11608
11609         * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
11610         (add_decl_stmt, add_stmt, block_has_vars): New functions.
11611         (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
11612
11613         * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
11614         when making a decl.
11615         (gnat_to_gnu_entity): Likewise.
11616         Use add_stmt to update setjmp buffer.
11617         Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
11618         flush_addressof.
11619         No longer call adjust_decl_rtl.
11620         (DECL_INIT_BY_ASSIGN_P): New macro.
11621         (DECL_STMT_VAR): Likewise.
11622
11623         * trans.c (gigi): Call start_block_stmt to make the outermost
11624         BLOCK_STMT.
11625         (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
11626         Call start_block_stmt and end_block_stmt temporarily.
11627         Use gnat_expand_stmt instead of expand_expr_stmt.
11628         (add_decl_stmt): New function.
11629         (tree_transform): Call it.
11630         (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
11631         (end_block_stmt): Set type and NULL_STMT.
11632         (gnat_expand_stmt): Make recursize call instead of calling
11633         expand_expr_stmt.
11634         (gnat_expand_stmt, case DECL_STMT): New case.
11635         (set_lineno_from_sloc): Do nothing if global.
11636         (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
11637         (start_block_stmt, add_stmt, end_block_stmt): New functions.
11638         (build_block_stmt): Call them.
11639         (gnat_to_code): Don't expand NULL_STMT.
11640         (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
11641         args.
11642         (tree_transform): Likewise.
11643         (tree_transform, case N_Null_Statement): Return NULL_STMT.
11644         (gnat_expand_stmt, case NULL_STMT): New case.
11645         (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
11646         IF_STMT_TRUE.
11647
11648         * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
11649         TREE_ADDRESSABLE.
11650
11651         * utils.c (create_var_decl): Do not call expand_decl or
11652         expand_decl_init.
11653         Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
11654         Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
11655         here.
11656         (struct e_stack): Add chain_next to GTY.
11657         (struct binding_level): Deleted.
11658         (struct ada_binding_level): New struct.
11659         (free_block_chain): New.
11660         (global_binding_level, clear_binding_level): Deleted.
11661         (global_bindings_p): Rework to see if no chain.
11662         (kept_level_p, set_block): Deleted.
11663         (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
11664         new data structure and work directly on BLOCK node.
11665         (gnat_poplevel): Similarly.
11666         (get_decls): Look at BLOCK_VARS.
11667         (insert_block): Work directly on BLOCK node.
11668         (block_has_var): New function.
11669         (pushdecl): Rework for new binding structures.
11670         (gnat_init_decl_processing): Rename and rework calls to pushlevel and
11671         poplevel.
11672         (build_subprog_body): Likewise.
11673         (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
11674
11675         * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
11676
11677         * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
11678         (DECL_STMT_VAR): Likewise.
11679
11680 2004-05-17  Robert Dewar  <dewar@gnat.com>
11681
11682         * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
11683         procedure
11684
11685         * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
11686         of restriction synonyums by using
11687         Restrict.Process_Restriction_Synonyms.
11688
11689         * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
11690
11691         * s-restri.ads (Tasking_Allowed): Correct missing comment
11692
11693         * s-rident.ads: Add entries for restriction synonyms
11694
11695         * ali.adb: Fix some problems with badly formatted ALI files that can
11696         result in infinite loops.
11697
11698         * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
11699         s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
11700         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
11701         s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
11702         s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
11703         s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
11704         s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
11705         s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
11706         s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
11707         a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
11708         exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
11709         s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
11710         s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
11711         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
11712         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
11713         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
11714         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
11715         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
11716         s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
11717         s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
11718         to Task_Id (minor cleanup).
11719
11720 2004-05-17  Vincent Celier  <celier@gnat.com>
11721
11722         * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
11723         directory separator.
11724
11725         * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
11726         project being extended, if Languages is not declared in extending
11727         project.
11728
11729 2004-05-17  Javier Miranda  <miranda@gnat.com>
11730
11731         * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
11732         limited view of a visible sibling.
11733
11734 2004-05-14  Robert Dewar  <dewar@gnat.com>
11735
11736         * gnat_ugn.texi: Minor change to -gnatS documentation
11737
11738         * sprint.adb: Remove some instances of Assert (False) and for this
11739         purpose replace them by output of a ??? string.
11740
11741         * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
11742         Assert (False).
11743
11744         * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
11745         flag processing. This was suppressing required dependencies in
11746         No_Run_Time mode and is not needed since the binder does not generate
11747         references for things in libgnat anyway.
11748
11749         * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
11750         warning.
11751
11752 2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
11753
11754         * gnat_ugn.texi: Document AIX-specific issue with initialization of
11755         resolver library.
11756
11757         * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
11758         action for the case of an actual parameter in an init proc call.
11759
11760 2004-05-14  Ed Schonberg  <schonberg@gnat.com>
11761
11762         * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
11763         subtype, check visible entities in base type.
11764
11765         * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
11766         actions if the object is a renaming.
11767
11768         * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
11769         Check_Formal_Package_Instance, to determine more precisely when the
11770         formal and the actual denote the same entity.
11771
11772 2004-05-14  Javier Miranda  <miranda@gnat.com>
11773
11774         * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
11775
11776         * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
11777         corresponding to a private_with must be removed from visibility; it
11778         will be made visible later, just before we analyze the private part of
11779         the package.
11780         (Check_Private_Child_Unit): Allow private_with clauses in public
11781         siblings.
11782         (Install_Siblings): Make visible the private entities of private-withed
11783         siblings.
11784         (Install_Withed_Unit): Do not install the private withed unit if we
11785         are compiling a package declaration and the Private_With_OK flag was
11786         not set by the caller. These declarations will be installed later,
11787         just before we analyze the private part of the package.
11788
11789         * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
11790         during the evaluation of the expression that initializes the object,
11791         decorate it with the expected type to avoid cascade errors.
11792         Code cleanup.
11793
11794         * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
11795         subprogram we have to install the private_with clauses after its
11796         specification has been analyzed (as documented in AI-262.TXT).
11797
11798         * sem_ch8.adb (Has_Private_With): New function. Determines if the
11799         current compilation unit has a private with on a given entity.
11800         (Find_Direct_Name): Detect the Beaujolais problem described in
11801         AI-262.TXT
11802
11803         * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
11804         provides the functionality of the function Is_Ancestor that was
11805         previously available in sem_ch10. It has been renamed to avoid
11806         overloading.
11807
11808         * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
11809
11810 2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11811
11812         * utils.c (build_vms_descriptor): Use SImode pointers.
11813
11814 2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
11815
11816         * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
11817
11818 2004-05-14  GNAT Script  <nobody@gnat.com>
11819
11820         * Make-lang.in: Makefile automatically updated
11821
11822 2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
11823
11824         Renaming of target specific files for clarity
11825
11826         * Makefile.in: Rename GNAT target specific files.
11827
11828         * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
11829         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
11830         3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
11831         3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
11832         3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
11833         3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
11834         42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
11835         4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
11836         4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
11837         4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
11838         4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
11839         4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
11840         51osinte.adb, 51osinte.ads, 51system.ads,
11841         52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
11842         55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
11843         56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
11844         56tpopsp.adb, 57system.ads, 58system.ads,
11845         5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
11846         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
11847         5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
11848         5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
11849         5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
11850         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
11851         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
11852         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
11853         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
11854         5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
11855         5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
11856         5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
11857         5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
11858         5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
11859         5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
11860         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
11861         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
11862         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
11863         5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
11864         5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
11865         5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
11866         5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
11867         5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
11868         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
11869         5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
11870         5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
11871         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
11872         5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
11873         5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
11874         5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
11875         5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
11876         5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
11877         5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
11878         5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
11879         5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
11880         5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
11881         7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
11882         7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
11883         7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
11884         7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
11885
11886         * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
11887         a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
11888         a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
11889         a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
11890         a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
11891         a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
11892         a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
11893         a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
11894         a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
11895         a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
11896         g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
11897         g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
11898         g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
11899         g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
11900         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
11901         g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
11902         g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
11903         g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
11904         interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
11905         mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
11906         mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
11907         mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
11908         s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
11909         s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
11910         s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
11911         s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
11912         s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
11913         s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
11914         s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
11915         s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
11916         s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
11917         s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
11918         s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
11919         s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
11920         s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
11921         s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
11922         s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
11923         s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
11924         s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
11925         s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
11926         s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
11927         s-osinte-vms.ads, s-osinte-vxworks.adb,
11928         s-osinte-vxworks.ads, s-osprim-mingw.adb,
11929         s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
11930         s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
11931         s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
11932         s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
11933         s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
11934         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
11935         s-stchop-vxworks.adb, s-taprop-dummy.adb,
11936         s-taprop-hpux-dce.adb, s-taprop-irix.adb,
11937         s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
11938         s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
11939         s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
11940         s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
11941         s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
11942         s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
11943         s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
11944         s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
11945         s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
11946         s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
11947         s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
11948         s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
11949         s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
11950         s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
11951         s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
11952         s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
11953         s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
11954         symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
11955         system-hpux.ads, system-interix.ads, system-irix-n32.ads,
11956         system-irix-o32.ads, system-linux-x86_64.ads,
11957         system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
11958         system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
11959         system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
11960         system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
11961         system-vxworks-alpha.ads, system-vxworks-m68k.ads,
11962         system-vxworks-mips.ads, system-vxworks-ppc.ads,
11963         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
11964         above.
11965
11966 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
11967
11968         * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
11969
11970 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
11971
11972         Merge from tree-ssa-20020619-branch.
11973
11974         * config-lang.in (boot_language, build_by_default): Set
11975         to no.
11976         * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
11977         (max_size): Add static chain op for call_expr.
11978
11979 2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
11980
11981         PR target/15331
11982         * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
11983
11984 2004-05-11  Roger Sayle  <roger@eyesopen.com>
11985
11986         * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
11987         COND_EXPR.
11988
11989 2004-05-10  Doug Rupp  <rupp@gnat.com>
11990
11991         * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
11992         system.aux_dec.
11993
11994         * s-auxdec.ads: Add Short_Address subtype (moved here from System).
11995
11996         * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
11997
11998         * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
11999         Fixes undefined symbols in IA64 gnatlib.
12000
12001         * 5vinmaop.adb: Reference s-auxdec for Short_Address.
12002
12003         * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
12004         Short_Address). This will be moved to system.auxdec.
12005
12006 2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
12007
12008         * sem_util.adb: Replace test for presence of a node that is always
12009         present with a call to Discard_Node.
12010
12011         * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
12012         Analyze on the library unit node after generation of distribution stub
12013         constructs.  The call was a no-op because Unit_Node has already been
12014         Analyzed, and the tree fragments for the distribution stubs are
12015         analyzed as they are inserted in Exp_Dist.
12016         Update comment regarding to distribution stubs to reflect that we
12017         do not generate stub in separate files anymore.
12018
12019         * einfo.ads: Clarify the fact that a tagged private type has the
12020         E_Record_Type_With_Private Ekind.
12021
12022         * erroutc.adb: Minor reformatting
12023
12024         * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
12025         values if line length is increased using -gnatyM (noticed during code
12026         reading).
12027
12028         * eval_fat.adb: Minor reformatting
12029         Put spaces around exponentiation operator
12030
12031 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
12032
12033         PR ada/15005
12034         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
12035         has been rewritten as an explicit dereference, retrieve type of
12036         original node to check for possibly unconstrained record type.
12037
12038 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
12039
12040         * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
12041         overriding, use the operation of the parent unconditionally.
12042
12043         * sem_ch4.adb (Remove_Address_Interpretations): Remove address
12044         operation when either operand is a literal, to avoid further
12045         ambiguities.
12046
12047         * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
12048         overridden by a previous explicit declaration, mark the previous entity
12049         as overriding.
12050
12051         * sem_disp.adb (Check_Dispatching_Operation): New predicate
12052         Is_Visibly_Controlled, to determine whether a declaration of a
12053         primitive control operation for a derived type overrides an inherited
12054         one. Add warning if the explicit declaration does not override.
12055
12056 2004-05-10  Vincent Celier  <celier@gnat.com>
12057
12058         * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
12059         some cases when the sources are no longer present.
12060
12061         * make.adb (Collect_Arguments): Fail if an external source, not part
12062         of any project need to be compiled, when switch -x has not been
12063         specified.
12064
12065         * makeusg.adb: Document new switch -x
12066
12067         * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
12068         defaulted to False.
12069
12070         * switch-m.adb (Scan_Make_Switches): New switch -x
12071
12072         * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
12073         gnatmake switch -x.
12074
12075         * gnat_ugn.texi: Document new gnatmake switch -x
12076
12077 2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
12078
12079         * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
12080
12081         * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
12082         (process_attributes): Likewise.
12083
12084 2004-05-10  Joel Brobecker  <brobecker@gnat.com>
12085
12086         * s-inmaop.ads: Fix spelling mistake in one of the comments.
12087
12088 2004-05-10  Robert Dewar  <dewar@gnat.com>
12089
12090         * gnat_ugn.texi: Document that for config pragma files, the maximum
12091         line length is always 32767.
12092
12093         * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
12094         literals is now allowed.
12095
12096         * gnat-style.texi: Remove statement about splitting long lines before
12097         an operator rather than after, since we do not follow this rule at all.
12098         Clarify rule (really lack of rule) for spaces around exponentiation
12099
12100         * sem_elim.adb: Allow concatenation of string literals as well as a
12101         single string literal for pragma arguments.
12102
12103         * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
12104
12105         * a-textio.adb (Terminate_Line): Do not add line feed if nothing
12106         written for append case.
12107
12108         * frontend.adb: Changes to avoid checking max line length in config
12109         pragma files.
12110
12111         * g-os_lib.ads: Minor reformatting
12112
12113         * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
12114         wrong in any case. Instead use standard value. Noticed during code
12115         reading.
12116
12117         * opt.ads (Max_Line_Length): New field, used to implement removal of
12118         limitation on length of lines when scanning config pragma files.
12119
12120         * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
12121         makeutl.ads, makeutl.adb: Minor reformatting
12122
12123         * scn.adb: Do not check line length while scanning config pragma files
12124         Do not check line length while scanning out license information
12125
12126         * scng.adb: Changes to avoid line length checks while parsing config
12127         pragma files.
12128
12129 2004-05-10  GNAT Script  <nobody@gnat.com>
12130
12131         * Make-lang.in: Makefile automatically updated
12132
12133 2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
12134
12135         * osint.adb (Find_Program_Name): Fix handling of VMS version
12136         number.
12137
12138 2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
12139
12140         * g-os_lib.ads (Invalid_Time): New constant
12141
12142         * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
12143         return OS_Time instead of time_t to match what is imported by Ada.
12144         Now return -1 if the file doesn't exist, instead of a random value
12145
12146 2004-05-05  Robert Dewar  <dewar@gnat.com>
12147
12148         * usage.adb: Add line for -gnatR?s switch
12149
12150         * sem_ch13.adb, exp_ch2.adb: Minor reformatting
12151
12152         * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
12153         and for Match (Data_First, Data_last)
12154
12155         * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
12156         written when we are dealing with multi-unit files.
12157
12158 2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
12159
12160         * Makefile.in: Remove unused targets and variables.
12161
12162 2004-05-05  Vincent Celier  <celier@gnat.com>
12163
12164         * switch-m.adb: New gnatmake switch -eI
12165
12166         * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
12167         of new gnatmake switch -eInnn.
12168
12169         * makegpr.adb: Take into account new parameters Index and Src_Index in
12170         Prj.Util.
12171
12172         * clean.adb: Implement support for multi-unit sources, including new
12173         switch -i.
12174
12175         * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
12176         Src_Index.
12177
12178         * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
12179         (Extract_From_Q): New out parameter Index
12180         (Mark, Is_Marked): Subprograms moved to Makeutl
12181         (Switches_Of): New parameter Source_Index
12182         (Add_Switch): New parameter Index
12183         (Check): New parameter Source_Index
12184         (Collect_Arguments): New parameter Source_Index
12185         (Collect_Arguments_And_Compile): New parameter Source_Index
12186         (Compile): New parameter Source_Index
12187         Put subprograms in alphabetical order
12188         Add support for multi-source sources, including in project files.
12189
12190         * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
12191         (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
12192         Make.
12193
12194         * makeusg.adb: New gnatmake switch -eInnn
12195
12196         * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
12197         Prj.Util.Value_Of.
12198
12199         * opt.ads (Main_Index): New variable, defaulted to 0.
12200
12201         * osint.ads, osinte.adb (Add_File): New parameter Index
12202         (Current_Source_Index): New function
12203
12204         * prj.adb: Take into account new components Index and Src_Index
12205
12206         * prj.ads (String_Element): New component Index
12207         (Variable_Value): New component Index
12208         (Array_Element): New component Src_Index
12209
12210         * prj-attr.adb: Indicate that optional index may be specified for
12211         attributes Main, Executable, Spec, Body and some of Switches.
12212
12213         * prj-attr.ads (Attribute_Kind): New values for optional indexes
12214         (Attribute_Record): New component Optional_Index
12215
12216         * prj-com.ads (File_Name_Data): New component Index
12217
12218         * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
12219
12220         * prj-env.adb (Put): Output optional index
12221
12222         * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
12223         attributes Spec and Body.
12224
12225         * prj-nmsc.adb: Process optional indexes
12226
12227         * prj-pp.adb: Ouput "at" for optional indexes
12228
12229         * prj-proc.adb: Take into account optional indexes
12230
12231         * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
12232         Optional_Index. For string literal,
12233         process optional index when Optional_Index is True.
12234         (Parse_Expresion): New Boolean parameter Optional_Index
12235
12236         * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
12237         (Set_Source_Index_Of): New procedure
12238
12239         * prj-util.adb (Executable_Of, Value_Of): Take into account optional
12240         index.
12241
12242         * prj-util.ads (Executable_Of): New parameter Index
12243         (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
12244         New parameter Src_Index, defaulted to 0.
12245
12246 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
12247
12248         PR ada/15257
12249         * sem_ch3.adb (Access_Definition): If this is an access parameter
12250         whose designated type is imported through a limited_with clause, do
12251         not add the enclosing subprogram to the list of private dependents of
12252         the type.
12253
12254 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
12255
12256         PR ada/15258
12257         * sem_ch6.adb (Base_Types_Match): True if one type is imported through
12258         a limited_with clause, and the other is its non-limited view.
12259
12260 2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
12261
12262         * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
12263
12264         * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
12265         exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
12266         Stand.Boolean_Literals to produce references to entities
12267         Standard_False and Standard_True from compile-time computed boolean
12268         values.
12269
12270         * stand.ads (Boolean_Literals): New variable, provides the entity
12271         values for False and True, for use by the expander.
12272
12273 2004-05-05  Doug Rupp  <rupp@gnat.com>
12274
12275         * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
12276         5vinmaop.adb: Unchecked convert Short_Address vice Address
12277
12278         * adaint.c, raise.c: Caste CRTL function return value
12279         to avoid gcc error on 32/64 bit IVMS.
12280
12281         * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
12282         target = IA64/VMS.
12283
12284         * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
12285
12286         * 5qsystem.ads (Address): Declare as Long_Integer
12287         (Short_Address): Declare as 32 bit subtype of Address
12288         Declare  abstract address operations to avoid gratuitous ambiguities.
12289
12290 2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
12291
12292         * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
12293         instead of the old Boolean_Entry_Barriers.
12294         Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
12295
12296 2004-05-05  GNAT Script  <nobody@gnat.com>
12297
12298         * Make-lang.in: Makefile automatically updated
12299
12300 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
12301
12302         * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
12303
12304 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
12305
12306         PR ada/15152
12307
12308         * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
12309         alone. Replacing object references by literals is inappropriate in a
12310         so low level context.
12311
12312 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
12313
12314         * a-exexpr.adb: Add comments
12315
12316 2004-05-03  Joel Brobecker  <brobecker@gnat.com>
12317
12318         * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
12319         declare the Ancestor_Tags array in Type_Specific_Data with a small size
12320         without risking a bounds check error when accessing one of its
12321         components.
12322         (Type_Specific_Data): Define Ancestor_Tags as a small array.
12323         This prevents us from hitting a limitation during the debug info
12324         generation when using stabs.
12325
12326         * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
12327         small array.
12328         This prevents us from hitting a limitation during the debug info
12329         generation when using stabs.
12330
12331 2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
12332
12333         lang-specs.h: Remove -gnatz* from specs.
12334
12335 2004-05-03  Vincent Celier  <celier@gnat.com>
12336
12337         * gprmake.adb, makegpr.ads, makegpr.adb: New files.
12338
12339         * Make-lang.in, Makefile.in: Add gprmake
12340
12341 2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
12342
12343         * sem_aggr.adb: Fix typo in comment.
12344
12345 2004-05-03  Robert Dewar  <dewar@gnat.com>
12346
12347         * make.adb: Minor reformatting
12348
12349         * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
12350
12351         * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
12352         so that it works when address is not a private type.
12353
12354         * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
12355         properly with rewritten unchecked conversions. This prevents
12356         order-of-elaboration issues that can otherwise arise.
12357         (Minimum_Size): Don't check size of access types under VMS
12358
12359         * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
12360         interpretations of integer literals as type System.Address.
12361
12362         * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
12363         (Is_Descendent_Of): New function
12364
12365 2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
12366
12367         * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
12368         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
12369         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
12370
12371         * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
12372         of the old Max_Entry_Queue_Depth.
12373
12374         * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
12375         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
12376         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
12377
12378         * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
12379         New entry for proper handling of Max_Entry_Queue_Depth.
12380         New entry for proper handling of No_Dynamic_Interrupts.
12381
12382         * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
12383         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
12384         Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
12385         the GNAT specific restriction Max_Entry_Queue_Depth.
12386         Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
12387         the GNAT specific restriction No_Dynamic_Interrupts.
12388
12389         * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
12390         instead of the old Boolean_Entry_Barriers.
12391         Use the new restriction No_Dynamic_Attachment instead of the old
12392         No_Dynamic_Interrupts.
12393
12394         * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
12395         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
12396
12397         * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
12398         of the old Max_Entry_Queue_Depth.
12399
12400 2004-05-03  GNAT Script  <nobody@gnat.com>
12401
12402         * Make-lang.in: Makefile automatically updated
12403
12404 2004-04-29  Ed Schonberg  <schonberg@gnat.com>
12405
12406         * checks.adb (Enable_Range_Check): If the prefix of an index component
12407         is an access to an unconstrained array, perform check unconditionally.
12408
12409 2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12410
12411         * decl.c (gnat_to_gnu_field): Also call make_packable_type if
12412         Component_Clause.
12413
12414 2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
12415
12416         * init.c (__gnat_install_handler, __gnat_error_handler): Remove
12417         alternate stack setting. There was no support for the tasking cases
12418         and the changes eventually caused a number of side-effect failures in
12419         the non-tasking case too.
12420
12421 2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
12422
12423         lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
12424         -gnats is passed.
12425
12426 2004-04-29  Vincent Celier  <celier@gnat.com>
12427
12428         * make.adb (Gnatmake): Increase max size of argument array for
12429         gnatbind for the potential addition of -F.
12430         If there are Stand-Alone Library projects, invoke gnatbind with -F to
12431         be sure that elaboration flags will be checked.
12432
12433         * switch-c.adb: Correct call to Scan_Pos for -gnateI
12434
12435 2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
12436
12437         * sem_warn.adb (Check_References): Move '<access-variable> may be
12438         null' warning out of under Warn_On_No_Value_Assigned.
12439
12440 2004-04-29  Ed Falis  <falis@gnat.com>
12441
12442         * gnat_ugn.texi: Fixed texi error
12443
12444 2004-04-29  Robert Dewar  <dewar@gnat.com>
12445
12446         * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
12447         abstract operations if they come from predefined files.
12448
12449         * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
12450         Dynamic, not RM).
12451
12452         * s-addope.adb: Correct obvious error in mod function
12453
12454 2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
12455
12456         * Makefile.in: Add target pairs for powerpc darwin*
12457         tasking support.
12458
12459         * a-intnam-darwin.ads, s-osinte-darwin.adb,
12460         s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
12461
12462 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
12463
12464         * Makefile.in: Add target macro definitions for s390*-linux*.
12465         * system-linux-s390.ads: New file.
12466         * system-linux-s390x.ads: New file.
12467
12468 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
12469
12470         * gnat_ugn.texi: Correct argument to @setfilename.
12471
12472 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
12473
12474         * a-exexpr.adb (Unwind_Word): New data type.
12475         (Unwind_Exception): Use it as type of Private1 and Private2.
12476
12477         * raise.c (db_action_for): Fix debug printf.
12478
12479 2004-04-27  Ed Schonberg  <schonberg@gnat.com>
12480
12481         * a-wtmoio.ads: Formal type must be a modular type, not a signed
12482         integer type.
12483
12484 2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12485
12486         * decl.c (gnat_to_gnu_entity, case object): Call
12487         __builtin_update_setjmp_buf.
12488
12489         * gigi.h (update_setjmp_buf): Deleted.
12490         (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
12491
12492         * misc.c: (update_setjmp_buf): Deleted.
12493
12494         * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
12495         around block of RTL.
12496
12497         * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
12498
12499 2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
12500
12501         * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
12502         subprogram for which no pragma All_Calls_Remote applies, store the
12503         address of the real subprogram in the underlying record type, so local
12504         dereferences do not go through the PCS.
12505
12506 2004-04-26  Robert Dewar  <dewar@gnat.com>
12507
12508         * i-c.ads: Add some type qualifications to avoid ambiguities when
12509         compiling with s-auxdec.ads and a non-private address type.
12510
12511 2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
12512
12513         * Makefile.rtl: Fix error in previous check-in:
12514         Add s-addope.o to non tasking object list (rather than tasking object
12515         list).
12516
12517 2004-04-26  Javier Miranda  <miranda@gnat.com>
12518
12519         * sem_aggr.adb: Fix typo in comments
12520         (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
12521         Required to check the null-exclusion attribute.
12522
12523         * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
12524         case of anonymous access types in record and array components. For a
12525         component definition the level is the same of the enclosing composite
12526         type.
12527
12528         * sem_ch3.adb (Analyze_Component_Declaration): In case of components
12529         that are anonymous access types the level of accessibility depends on
12530         the enclosing type declaration. In order to have this information, set
12531         the scope of the anonymous access type to the enclosing record type
12532         declaration.
12533         (Array_Type_Declaration): In case of components that are anonymous
12534         access types the level of accessibility depends on the enclosing type
12535         declaration. In order to have this information, set the scope of the
12536         anonymous access type to the enclosing array type declaration.
12537
12538         * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
12539         access type.
12540
12541         * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
12542         renaming of anonymous access-to-constant types allowed if and only if
12543         the renamed object is access-to-constant.
12544
12545         * sem_util.adb (Type_Access_Level): In case of anonymous access types
12546         that are component_definition or discriminants of a nonlimited type,
12547         the level is the same as that of the enclosing component type.
12548
12549 2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
12550
12551         * sem_elim.adb: Some minor code reorganization from code reading. Fix
12552         misprint in the function name (File_Name_Match).
12553
12554 2004-04-23  Laurent GUERBY <laurent@guerby.net>
12555
12556         * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
12557         install.
12558
12559 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12560
12561         * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
12562
12563 2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
12564
12565         * adaint.c (__gnat_try_lock): No longer requires that the parent
12566         directory be writable, the directory itself is enough.
12567         (gnat_is_absolute_path): Change profile, so that the call from
12568         GNAT.OS_Lib can be made more efficient.
12569
12570         * adaint.h (gnat_is_absolute_path): Change profile, so that the call
12571         from GNAT.OS_Lib can be made more efficient.
12572
12573         * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
12574         one copy of the file name. Found by code reading.
12575
12576 2004-04-23  Vincent Celier  <celier@gnat.com>
12577
12578         * gnat_ugn.texi: Add documentation for gnatmake switch -eL
12579         Correct documentation on gnatmake switches transmitted to the compiler
12580
12581         * ali.ads: Minor comment fix
12582
12583 2004-04-23  Javier Miranda  <miranda@gnat.com>
12584
12585         * sem_ch6.adb: (Confirming Types): Code cleanup
12586
12587         * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
12588         subprogram types: E_Anonymous_Access_Subprogram_Type and
12589         E_Anonymous_Access_Protected_Subprogram_Type.
12590
12591 2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
12592
12593         * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
12594         whether a pragma All_Calls_Remote applies to the subprogram on which
12595         'Access is taken.
12596         No functional change is introduced by this revision; the new parameter
12597         will be used to allow calls to local RCI subprograms to be optimized
12598         to not use the PCS in the case where no pragma All_Calls_Remote applies,
12599         as is already done in the PolyORB implementation of the DSA.
12600
12601         * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
12602         whether a pragma All_Calls_Remote applies to the subprogram on which
12603         'Access is taken.
12604         No functional change is introduced by this revision; the new parameter
12605         will be used to allow calls to local RCI subprograms to be optimized
12606         to not use the PCS in the case where no pragma All_Calls_Remote applies,
12607         as is already done in the PolyORB implementation of the DSA.
12608
12609 2004-04-23  Robert Dewar  <dewar@gnat.com>
12610
12611         * Makefile.rtl: Add entry for s-addope.o in run time library list
12612         * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
12613         * s-addope.ads, s-addope.adb: New files.
12614
12615         * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
12616         s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
12617         s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
12618         System.Address to be non-private and signed.
12619
12620         * sem_elim.adb: Minor reformatting (fairly extensive)
12621         Some minor code reorganization from code reading
12622         Add a couple of ??? comments
12623
12624 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12625
12626         * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
12627         (tree_transform, case N_If_Statement): Remove non-determinism.
12628
12629         * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
12630
12631 2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
12632
12633         * gnat_rm.texi: Small fixes in the changes made in the 'pragma
12634         Eliminate' section.
12635
12636         * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
12637         no longer used as a parameter name for Eliminate pragma).
12638
12639 2004-04-22  Laurent GUERBY <laurent@guerby.net>
12640
12641         PR optimization/14984
12642         PR optimization/14985
12643         * trans.c (gigi): Fix non determinism leading to bootstrap
12644         comparison failures.
12645
12646 2004-04-21  Pascal Obry  <obry@gnat.com>
12647
12648         * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
12649         passed to spawnvp() to properly handle program pathname with spaces on
12650         Win32.
12651
12652 2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
12653
12654         * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
12655         (Allocate, Deallocate, Free_Physically): Make sure the tasks are
12656         unlocked in case of exceptions.
12657
12658 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
12659
12660         * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
12661         This function does not exist anymore.
12662
12663 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
12664
12665         * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
12666
12667         * link.c: Move variables to the __gnat name space.
12668
12669         * Makefile.in: list link.o explicitly when needed.
12670
12671         * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
12672
12673 2004-04-21  Javier Miranda  <miranda@gnat.com>
12674
12675         * einfo.adb (Original_Access_Type): New subprogram
12676         (Set_Original_Access_Type): New subprogram
12677         (Write_Field21_Name): Write the name of the new field
12678
12679         * einfo.ads (Original_Access_Type): New field present in access to
12680         subprogram types.
12681         Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
12682         E_Anonymous_Access_Protected_Subprogram_Type.
12683
12684         * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
12685         subprogram types.
12686
12687         * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
12688         to anonymous access to subprogram types.
12689
12690         * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
12691         to subprogram types.
12692
12693         * sem_ch3.adb (Access_Definition): Complete decoration of entities
12694         corresponding to anonymous access to subprogram types.
12695         (Analyze_Component_Declaration): Add new actual to the call to
12696         subprogram replace_anonymous_access_to_protected_subprogram.
12697         (Array_Type_Declaration): Add new actual to the call to subprogram
12698         replace_anonymous_access_to_protected_subprogram.
12699         (Process_Discriminants): Add new actual to the call to subprogram
12700         replace_anonymous_access_to_protected_subprogram.
12701         (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
12702
12703         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
12704         formal.
12705
12706         * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
12707         access to subprogram types.
12708
12709         * sem_util.adb (Has_Declarations): Addition of package_specification
12710         nodes.
12711
12712 2004-04-21  Ed Schonberg  <schonberg@gnat.com>
12713
12714         * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
12715         inlined flags to renamed entity only if in current unit.
12716
12717 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
12718
12719         * s-parint.ads: Add DSA implementation marker.
12720
12721         * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
12722         value of System.Partition_Interface.DSA_Implementation to determine
12723         what version of the distributed systems annex is available (no
12724         implementation, GLADE, or PolyORB).
12725
12726 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
12727
12728         * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
12729
12730 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12731
12732         * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
12733         with new type if alias sets differ.
12734         Fixes ACATS c41103b.
12735
12736 2004-04-21  Vincent Celier  <celier@gnat.com>
12737
12738         * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
12739         Add array Lang_Args for the language specific compiling argument
12740         switches.
12741
12742         * gnat_ugn.texi: Explain in more details when a library is rebuilt.
12743
12744 2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
12745
12746         * gnat_rm.texi: Update the descripton of the Eliminate pragma
12747         according to the recent changes in the format of the parameters of the
12748         pragma (replacing Homonym_Number with Source_Location).
12749
12750 2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
12751
12752         * 5isystem.ads: Removed, unused.
12753
12754         * gnat_rm.texi: Redo 1.13 change.
12755
12756 2004-04-19  Robert Dewar  <dewar@gnat.com>
12757
12758         * s-stoele.ads: Clean up definition of Storage_Offset (the new
12759         definition is cleaner, avoids the kludge of explicit Standard operator
12760         references, and also is consistent with a visible System.Address with
12761         no visible operations.
12762
12763         * s-geveop.adb: Add declarations to avoid assumption of visible
12764         operations on type System.Address (since these might not be available
12765         if Address is a non-private type for which the operations
12766         are made abstract).
12767
12768         * sem_eval.adb: Minor reformatting
12769
12770         * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
12771         s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
12772         reformatting (new function spec format).
12773
12774         * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
12775         s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
12776         s-caun64.adb: Add declarations to avoid assumption of visible
12777         operations on type System.Address (since these might not be available
12778         if Address is a non-private type for which the operations are made
12779         abstract).
12780
12781         * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
12782
12783         * exp_intr.adb: Minor comment update
12784
12785         * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
12786
12787         * 5omastop.adb: Add declarations to avoid assumption of visible
12788         operations on type System.Address (since these might not be available
12789         if Address is a non-private type for which the operations
12790         are made abstract).
12791
12792 2004-04-19  Vincent Celier  <celier@gnat.com>
12793
12794         * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
12795
12796         * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
12797         defaulted to Ada.
12798
12799         * prj-proc.adb (Process): New Boolean parameter Process_Languages,
12800         defaulted to Ada.
12801         Call Check with Process_Languages.
12802         (Check): New Boolean parameter Process_Languages. Call Recursive_Check
12803         with Process_Languages.
12804         (Recursive_Check): New Boolean parameter Process_Languages. Call
12805         Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
12806         Process_Languages.
12807
12808         * prj-proc.ads (Process): New Boolean parameter Process_Languages,
12809
12810         * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
12811         parameter Ada_Main, defaulted to True.
12812         Check for Ada specific characteristics only when Ada_Main is True.
12813
12814         * opt.ads: (Follow_Links): New Boolean flag for gnatmake
12815
12816         * prj.adb: (Project_Empty): Add new Project_Data components.
12817
12818         * prj.ads: New types and tables for non Ada languages.
12819         (Project_Data): New components Languages, Impl_Suffixes,
12820         First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
12821         Include_Path, Include_Data_Set.
12822
12823         * prj-env.ads, prj-env.adb: Minor reformatting
12824
12825         * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
12826         Put subprograms in alphabetical order
12827
12828         * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
12829         defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
12830         Opt.Follow_Links.
12831
12832         * mlib-prj.adb: Back out modification in last version, as they are
12833         incorrect.
12834         (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
12835
12836         * make.adb: (Mains): Moved to package Makeutl
12837         (Linker_Opts): Moved to package Makeutl
12838         (Is_External_Assignment): Moved to package Makeutl
12839         (Test_If_Relative_Path): Moved to package Makeutl
12840         (Gnatmake): Move sorting of linker options to function
12841         Makeutl.Linker_Options_Switches.
12842
12843         * makeutl.ads, makeutl.adb: New files.
12844
12845         * Makefile.in: Add makeutl.o to the object files for gnatmake
12846
12847         * makeusg.adb: Add line for new switch -eL.
12848
12849         * gnatls.adb (Image): New function.
12850         (Output_Unit): If in verbose mode, output the list of restrictions
12851         specified by pragmas Restrictions.
12852
12853         * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
12854         Text_IO.
12855
12856         * a-calend.adb (Split): Shift the date by multiple of 56 years, if
12857         needed, to put it in the range 1970 (included) - 2026 (excluded).
12858         (Time_Of): Do not shift Unix_Min_Year (1970).
12859         Shift the date by multiple of 56 years, if needed, to put it in the
12860         range 1970 (included) - 2026 (excluded).
12861
12862         * adaint.h, adaint.c (__gnat_set_executable): New function.
12863
12864 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12865
12866         * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
12867         and pop GC context.
12868         (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
12869         (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
12870         (tree_transform, case N_Procedure_Call_Statement): Build a tree.
12871         (tree_transform, case N_Code_Statement): Likewise.
12872         (gnat_expand_stmt, case LABEL_STMT): Don't look at
12873         LABEL_STMT_FIRST_IN_EH.
12874         (gnat_expand_stmt, case ASM_STMT): New case.
12875
12876         * utils2.c (build_unary_op): Properly set TREE_READONLY of
12877         UNCONSTRAINED_ARRAY_REF.
12878
12879         * utils.c (poplevel): Temporarily push/pop GC context around inline
12880         function expansion.
12881
12882         * decl.c (maybe_variable): Properly set TREE_READONLY of
12883         UNCONSTRAINED_ARRAY_REF.
12884         (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
12885
12886         * ada-tree.def: (ASM_STMT): New.
12887
12888         * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
12889         (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
12890         ASM_STMT_INPUT): New.
12891         (ASM_STMT_CLOBBER): Likewise.
12892
12893 2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
12894
12895         * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
12896         general rcheck mechanism to raise Program_Error for E.4(18), instead
12897         of a custom raiser in System.Partition_Interface.
12898         Part of general cleanup work before PolyORB integration.
12899
12900         * snames.ads, snames.adb: Add new runtime library entities and names
12901         for PolyORB DSA.
12902
12903         * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
12904         exp_dist.
12905         (Build_Subprogram_Id): New subprogram provided by exp_dist
12906         Code reorganisation in preparation for PolyORB integration.
12907
12908         * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
12909         exp_dist.
12910         (Build_Subprogram_Id): New subprogram provided by exp_dist
12911
12912         * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
12913         actual parameter types for call to dereference of an
12914         access-to-subprogram type.
12915
12916         * rtsfind.ads: Add new runtime library entities and names for PolyORB
12917         DSA.
12918
12919         * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
12920         instead, which has the same behaviour here since we never pass it a
12921         NULL pointer.
12922
12923         * link.c (run_path_option, Solaris case): Use -Wl, as for other
12924         platforms.
12925
12926         * Makefile.in: adjust object file lists for gnatlink and gnatmake
12927         to account for new dependency upon Interfaces.C.Strings + link.o
12928         For x86 FreeBSD, use 86numaux.
12929
12930         * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
12931         from Mlib.Tgt to Mlib.
12932
12933         * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
12934         target-independent.
12935
12936         * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
12937         target-specific versions of this subprogram, now implemented as a
12938         target-independent function in Mlib.
12939
12940         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
12941         5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
12942         (Linker_Library_Path_Option): Remove target-specific versions of this
12943         subprogram, now implemented as a target-independent function in Mlib.
12944
12945         * atree.adb: (Allocate_Initialize_Node): New subprogram.
12946         Factors out node table slots allocation.
12947         (Fix_Parents): New subprogram.
12948         Encapsulate the pattern of fixing up parent pointers for syntactic
12949         children of a rewritten node.
12950         (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
12951         (Rewrite): Use New_Copy when creating saved copy of original node.
12952         (Replace): Use Copy_Node to copy nodes.
12953
12954 2004-04-19  Javier Miranda  <miranda@gnat.com>
12955
12956         * sprint.adb (Sprint_Node_Actual): Give support to the new
12957         Access_To_Subprogram node available in Access_Definition nodes. In
12958         addition, give support to the AI-231 node fields: null-exclusion,
12959         all-present, constant-present.
12960
12961         * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
12962
12963         * sinfo.ads, sinfo.adb:
12964         New field Access_To_Subprogram_Definition in Access_Definition nodes
12965
12966         * sem_ch6.adb (Process_Formals): Move here the code that creates and
12967         decorates internal subtype declaration corresponding to the
12968         null-excluding formal. This code was previously in Set_Actual_Subtypes.
12969         In addition, carry out some code cleanup on this code. In case of
12970         access to protected subprogram call
12971         Replace_Anonymous_Access_To_Protected_Subprogram.
12972         (Set_Actual_Subtypes): Code cleanup.
12973
12974         * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
12975         Find_Type in case of anonymous access renamings. Add warning in case of
12976         null-excluding attribute used in anonymous access renaming.
12977
12978         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
12979         subprogram
12980
12981         * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
12982         subprogram.
12983         (Access_Definition): In case of anonymous access to subprograms call
12984         the corresponding semantic routine to decorate the node.
12985         (Access_Subprogram_Declaration): Addition of some comments indicating
12986         some code that probably should be added here. Detected by comparison
12987         with the access_definition subprogram.
12988         (Analyze_Component_Declaration): In case of access to protected
12989         subprogram call Replace_Anonymous_Access_To_Protected.
12990         (Array_Type_Declaration): In case of access to protected subprogram call
12991         Replace_Anonymous_Access_To_Protected_Subprogram.
12992         (Process_Discriminants): In case of access to protected subprogram call
12993         Replace_Anonymous_Access_To_Protected_Subprogram.
12994
12995         * par.adb (P_Access_Definition): New formal that indicates if the
12996         null-exclusion part was present.
12997         (P_Access_Type_Definition): New formal that indicates if the caller has
12998         already parsed the null-excluding part.
12999
13000         * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
13001         (P_Identifier_Declarations): Code cleanup and give support to renamings
13002         of anonymous access to subprogram types.
13003         (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
13004         (P_Array_Type_Definition): Give support to AI-254.
13005         (P_Component_Items): Give support to AI-254.
13006         (P_Access_Definition): New formal that indicates if the header was
13007         already parsed by the caller.
13008         (P_Access_Type_Definition): New formal that indicates if the caller has
13009         already parsed the null-excluding part.
13010
13011         * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
13012         call to P_Access_Definition.
13013
13014 2004-04-19  Geert Bosch  <bosch@gnat.com>
13015
13016         * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
13017         the delicate semantics of floating-point to integer conversion.
13018         (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
13019
13020         * eval_fat.adb (Machine_Mantissa): Moved to spec.
13021         (Machine_Radix): New function.
13022
13023         * eval_fat.ads (Machine_Mantissa): Moved from body for use in
13024         conversion checks.
13025         (Machine_Radix): New function also for use in conversion checks.
13026
13027 2004-04-19  Ed Schonberg  <schonberg@gnat.com>
13028
13029         * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
13030
13031         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
13032         to decorate the access-to-protected subprogram and the equivalent type.
13033
13034         * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
13035         to anonymous access to subprogram types.
13036
13037         * exp_ch4.adb (Expand_N_In): Preserve Static flag before
13038         constant-folding, for legality checks in contexts that require an RM
13039         static expression.
13040
13041         * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
13042         temporary but stack checking is not enabled, increment serial number
13043         to so that symbol generation is consistent with and without stack
13044         checking.
13045
13046         * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
13047         independent on whether stack checking is enabled, caller must check
13048         the corresponding flag.
13049
13050         * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
13051         range checks.
13052         (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
13053         parent if it has discriminants.
13054         (Build_Derived_Private_Type): Constructed full view does
13055         not come from source.
13056         (Process_Discriminants): Default discriminants on a tagged type are
13057         legal if this is the internal completion of a private untagged
13058         derivation.
13059
13060         * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
13061         no constraint checks, because it corresponds to an existing object.
13062
13063         * sem_prag.adb (Process_Convention): Pragma applies
13064         only to subprograms in the same declarative part, i.e. the same unit,
13065         not the same scope.
13066
13067         * sem_res.adb (Valid_Conversion): In an instance or inlined body,
13068         ignore type mismatch on a numeric conversion if expression comes from
13069         expansion.
13070
13071 2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
13072
13073         * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
13074         Homonym_Number parameter, add processing for Source_Location parameter
13075         corresponding.
13076         (Check_Eliminated): Remove the check for homonym numbers, add the check
13077         for source location traces.
13078
13079         * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
13080         with Arg_Source_Location corresponding to the changes in the format of
13081         the pragma.
13082
13083         * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
13084         Eliminate pragma corresponding to the changes in the format of the
13085         pragma: Homonym_Number is replaced with Source_Location, two ways of
13086         distinguishing homonyms are mutially-exclusive.
13087
13088 2004-04-19  Joel Brobecker  <brobecker@gnat.com>
13089
13090         * get_targ.ads (Get_No_Dollar_In_Label): Remove.
13091
13092         * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
13093         No_Dollar_In_Label, no longer necessary, as it is always True.
13094         (Strip_Suffixes): Likewise.
13095
13096 2004-04-19  Gary Dismukes  <dismukes@gnat.com>
13097
13098         * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
13099         modulus for compatibility with size clause on targets with 16-bit
13100         Integer.
13101
13102         * layout.adb (Discrimify): In the case of private types, set Vtyp to
13103         full type to fix type mismatches on calls to size functions for
13104         discriminant-dependent array components.
13105
13106 2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
13107
13108         * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
13109         lib.
13110
13111 2004-04-19  Pascal Obry  <obry@gnat.com>
13112
13113         * mdll-utl.adb (Locate): New version is idempotent.
13114
13115 2004-04-17  Laurent Guerby <laurent@guerby.net>
13116
13117         PR ada/14988 (partial)
13118         * impunit.adb: Fix typo.
13119
13120 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
13121
13122         * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
13123         and install-rts-cert targets.  Remove all gnatlib and gnattools
13124         targets and all other rts-* targets (moved to libada).  Remove (now)
13125         unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
13126         TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
13127
13128 2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13129
13130         * trans.c (tree_transform): Shortcut returning error_mark_node for
13131         statements in annotate_only_mode.
13132         (tree_transform, case N_Label, case N_Return_Statement,
13133         N_Goto_Statement): Make statement tree instead of generating code.
13134         (tree_transform, case N_Assignment_Statement): No longer check
13135         type_annotate_only.
13136         (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
13137         RETURN_STMT): New.
13138         (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
13139         New fcns.
13140         (gnat_to_gnu): Collect any RTL generated and deal with it.
13141         (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
13142         (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
13143         (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
13144
13145         * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
13146
13147         * ada-tree.def (EXPR_STMT): Fix typo in name.
13148         (BLOCK_STMT, IF_STMT): New nodes.
13149
13150         * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
13151         LABEL_STMT_FIRST_IN_EH): New macros.
13152         (RETURN_STMT_EXPR): Likewise.
13153
13154         * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
13155         IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
13156
13157 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
13158
13159         * atree.ads: Correct documentation on extended nodes.
13160
13161         * link.c: Set run_path_option for FreeBSD.
13162
13163 2004-04-08  Vincent Celier  <celier@gnat.com>
13164
13165         * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
13166         one of the ALI file, do not link with DEC lib.
13167
13168         * par.adb Remove the last two characters ("%s" or "%b") when checking
13169         if a language defined unit may be recompiled.
13170
13171 2004-04-08  Ed Schonberg  <schonberg@gnat.com>
13172
13173         * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
13174         removal of abstract operation leaves no possible interpretation for
13175         expression.
13176
13177         * sem_eval.adb (Eval_Qualified_Expression): Use
13178         Set_Raises_Constraint_Error on node when needed, so that it does not
13179         get optimized away by subsequent optimizations.
13180
13181         * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
13182         operands even when they are not wrapped in a type conversion.
13183
13184 2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
13185
13186         * sem_prag.adb (Set_Exported): Warn about making static as result of
13187         export only when the export is coming from source. This may be not
13188         be true e.g. on VMS where we expand export pragmas for exception codes
13189         together with imported or exported exceptions, and we don't want the
13190         user to be warned about something he didn't write.
13191
13192 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
13193
13194         * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
13195         duplication between normal entities and those declared as renamings.
13196         No functional change.
13197
13198         * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
13199         inline functions returning an unconstrained result.
13200
13201 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
13202
13203         * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
13204         conform to what other front-ends do.
13205
13206 2004-04-08  Doug Rupp  <rupp@gnat.com>
13207
13208         * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
13209         libraries.
13210
13211 2004-04-06  Pascal Obry  <obry@gnat.com>
13212
13213         * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
13214
13215         * osint.adb (Program_Name): Do not look past a directory separator.
13216
13217 2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
13218
13219         * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
13220
13221         * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
13222         requirement for preserving a copy of the original assignment node.
13223
13224         * sinfo.ads: Update comment (Original_Tree -> Original_Node).
13225
13226 2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
13227
13228         (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
13229         when supported.
13230
13231 2004-04-06  Ed Schonberg  <schonberg@gnat.com>
13232
13233         * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
13234         operator calls in functional notation, and apply
13235         Universal_Interpretation to operands, not to their type.
13236
13237 2004-04-06  Robert Dewar  <dewar@gnat.com>
13238
13239         * 5wdirval.adb: Minor reformatting
13240
13241 2004-04-06  Ed Falis  <falis@gnat.com>
13242
13243         * gnat_rm.texi: Improve a reference to the GCC manual
13244
13245 2004-04-05  Vincent Celier  <celier@gnat.com>
13246
13247         * adaint.h, adaint.c: Add function __gnat_named_file_length
13248
13249         * impunit.adb: Add Ada.Directories to the list
13250
13251         * Makefile.in: Add VMS and Windows versions of
13252         Ada.Directories.Validity package body.
13253
13254         * Makefile.rtl: Add a-direct and a-dirval
13255
13256         * mlib-tgt.ads: Minor comment update.
13257
13258         * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
13259         a-direct.ads, a-direct.adb: New files.
13260
13261 2004-04-05  Vincent Celier  <celier@gnat.com>
13262
13263         PR ada/13620
13264         * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
13265         just to the compiler.
13266
13267 2004-04-05  Robert Dewar  <dewar@gnat.com>
13268
13269         * a-except.adb (Exception_Name_Simple): Make sure lower bound of
13270         returned string is 1.
13271
13272         * ali-util.adb: Use proper specific form for Warnings (Off, entity)
13273
13274         * eval_fat.ads: Minor reformatting
13275
13276         * g-curexc.ads: Document that lower bound of returned string values
13277         is always one.
13278
13279         * gnatlink.adb: Add ??? comment for previous change
13280         (need to document why this is VMS specific)
13281
13282         * s-stoele.ads: Minor reformatting
13283
13284         * tbuild.ads: Minor reformatting throughout (new function specs)
13285
13286         * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
13287         after WITH.
13288
13289         * scng.adb: Minor reformatting
13290
13291 2004-04-05  Geert Bosch  <bosch@gnat.com>
13292
13293         * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
13294         (Leading_Part): Still perform truncation to machine number if the
13295         specified radix_digits is greater or equal to machine_mantissa.
13296
13297 2004-04-05  Javier Miranda  <miranda@gnat.com>
13298
13299         * par-ch3.adb: Complete documentation of previous change
13300         Correct wrong syntax documentation of the OBJECT_DECLARATION rule
13301         (aliased must appear before constant).
13302
13303         * par-ch4.adb: Complete documentation of previous change.
13304
13305         * par-ch6.adb: Complete documentation of previous change.
13306
13307         * sinfo.ads: Fix typo in commment.
13308
13309 2004-04-05  Ed Schonberg  <schonberg@gnat.com>
13310
13311         * sem_ch3.adb (Inherit_Components): If derived type is private and has
13312         stored discriminants, use its discriminants to constrain parent type,
13313         as is done for non-private derived record types.
13314
13315         * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
13316         Ada 2005 AI-310: an abstract non-dispatching operation is not a
13317         candidate interpretation in an overloaded call.
13318
13319         * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
13320         expression is Null and target type is not an access type (e.g. a
13321         non-private address type).
13322
13323 2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
13324
13325         * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
13326         statement whose right-hand side is an inlined call, save a copy of the
13327         original assignment subtree to preserve enough consistency for
13328         Analyze_Assignment to proceed.
13329
13330         * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
13331         complete assignment subtree which is now unnecessary, as the expansion
13332         of inlined call has been improved to preserve a consistent assignment
13333         tree.  Note_Possible_Modification must be called only
13334         after checks have been applied, or else unnecessary checks will
13335         be generated.
13336
13337         * sem_util.adb (Note_Possible_Modification): Reorganise the handling
13338         of explicit dereferences that do not Come_From_Source:
13339          - be selective on cases where we must go back to the dereferenced
13340            pointer (an assignment to an implicit dereference must not be
13341            recorded as modifying the pointer);
13342          - do not rely on Original_Node being present (Analyze_Assignment
13343            calls Note_Possible_Modification on a copied tree).
13344
13345         * sem_warn.adb (Check_References): When an unset reference to a pointer
13346         that is never assigned is encountered, prefer '<pointer> may be null'
13347         warning over '<pointer> is never assigned a value'.
13348
13349 2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
13350
13351         * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
13352         the ABI.
13353
13354 2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
13355
13356         * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
13357         libexc. We currently don't reference anything in this library and
13358         linking it in triggers linker warnings we don't want to see.
13359
13360         * init.c: Update comments.
13361
13362 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13363
13364         * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
13365         * utils.c (create_field_decl): Likewise.
13366         * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
13367
13368 2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
13369
13370         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
13371         Replace ifinfo by ifnottex, to make makeinfo --html happy again.
13372         Add info directory entry and category.
13373
13374 2004-04-02  Jan Hubicka  <jh@suse.cz>
13375
13376         * utils.c: Include function.h
13377         (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
13378
13379 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
13380
13381         PR ada/14150
13382         * Make-lang.in: Clean up generation of documentation
13383
13384         * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
13385
13386         * xgnatug.adb: Removed, replaced by xgnatugn.adb
13387
13388         * xgnatugn.adb: Replaces xgnatug.adb
13389
13390         * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
13391
13392         * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
13393
13394         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13395         gnat_ug_wnt.texi: Removed.
13396
13397 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
13398
13399         * utils2.c: Update copyright notice.
13400
13401 2004-04-01  Robert Dewar  <dewar@gnat.com>
13402
13403         * checks.adb: Minor reformatting throughout
13404         Note that prev checkin added RM reference to alignment warning
13405
13406 2004-04-01  Ed Schonberg  <schonberg@gnat.com>
13407
13408         * exp_aggr.adb (Get_Component_Val): Treat a string literal as
13409         non-static when building aggregate for bit-packed array.
13410
13411         * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
13412         function call that is itself the actual in a procedure call, build
13413         temporary for it.
13414
13415         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
13416         a string literal, create a temporary for it, constant folding only
13417         handles scalars here.
13418
13419 2004-04-01  Vincent Celier  <celier@gnat.com>
13420
13421         * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
13422         Error_Msg_SP): New empty procedures to instantiate the Scanner.
13423         (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
13424         tokens.
13425         (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
13426         (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
13427         and get the checksum.
13428
13429         * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
13430         already in the Q.
13431         Increase the Marking_Label at the end of the Multiple_Main_Loop,
13432         instead of at the beginning.
13433
13434         * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
13435         directly.
13436         (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
13437         on VMS.
13438
13439         * osint.ads (Multi_Unit_Index_Character): New Character global variable
13440
13441         * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
13442         not '~' directly.
13443
13444         * par.adb: Remove test on file name to detect language defined units.
13445         Add test on unit name, after parsing, to detect language defined units
13446         that are not compiled with -gnatg (except System.RPC and its children)
13447
13448         * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
13449         following units without style checking.
13450
13451         * switch-c.adb: Change -gnatC to -gnateI
13452
13453         * usage.adb: Document new switch -gnateInnn
13454
13455         * scng.adb (Accumulate_Token_Checksum): New procedure
13456         (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
13457         word or literal number.
13458         (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
13459         numbers.
13460
13461 2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
13462
13463         * a-tasatt.adb,
13464         g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
13465         switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
13466         5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
13467         5vtpopde.adb: Add missing 'constant' keywords.
13468
13469 2004-04-01  Javier Miranda  <miranda@gnat.com>
13470
13471         * par-ch4.adb: (P_Allocator): Code cleanup
13472
13473         * sem_ch3.adb (Access_Definition): Properly set the null-excluding
13474         attribute.
13475
13476         * sinfo.ads: Complete documentation of previous change
13477
13478 2004-04-01  Pascal Obry  <obry@gnat.com>
13479
13480         * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
13481         only on VMS.  This special handling was done because an old GNU/ld bug
13482         on Windows which has been fixed.
13483
13484 2004-04-01  GNAT Script  <nobody@gnat.com>
13485
13486         * Make-lang.in: Makefile automatically updated
13487
13488 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13489
13490         * decl.c (gnat_to_gnu_entity, make_type_from_size):
13491         Use TYPE_UNSIGNED, not TREE_UNSIGNED.
13492         * trans.c (tree_transform, convert_with_check): Likewise.
13493         * utils.c (gnat_signed_or_unsigned_type): Likewise.
13494         (build_vms_descriptor, unchecked_convert): Likewise.
13495         * utils2.c (nonbinary_modular_operation): Likewise.
13496
13497 2004-03-29  Javier Miranda  <miranda@gnat.com>
13498
13499         * checks.adb (Null_Exclusion_Static_Checks): New subprogram
13500         (Install_Null_Excluding_Check): Local subprogram that determines whether
13501         an access node requires a runtime access check and if so inserts the
13502         appropriate run-time check.
13503         (Apply_Access_Check): Call Install_Null_Excluding check if required
13504         (Apply_Constraint_Check): Call Install_Null_Excluding check if required
13505
13506         * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
13507
13508         * einfo.ads: Fix typo in comment
13509
13510         * exp_ch3.adb (Build_Assignment): Generate conversion to the
13511         null-excluding type to force the corresponding run-time check.
13512         (Expand_N_Object_Declaration): Generate conversion to the null-excluding
13513         type to force the corresponding run-time check.
13514
13515         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
13516         the null-excluding type to force the corresponding run-time check.
13517
13518         * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
13519         case of access types unless they have the null-excluding attribute.
13520
13521         * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
13522         part.
13523
13524         * exp_util.ads: Fix typo in comment
13525
13526         * par.adb (P_Null_Exclusion): New subprogram
13527         (P_Subtype_Indication): New formal that indicates if the null-excluding
13528         part has been scanned-out and it was present
13529
13530         * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
13531
13532         * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
13533         (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
13534         type to force the corresponding run-time check
13535         (Resolve_Aggregate): Propagate the null-excluding attribute to the array
13536         components
13537         (Resolve_Array_Aggregate): Carry out some static checks
13538         (Resolve_Record_Aggregate.Get_Value): Carry out some static check
13539
13540         * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
13541         attribute must be set only if specified by means of the null-excluding
13542         part. In addition, we must also propagate the access-constant attribute
13543         if present.
13544         (Access_Subprogram_Declaration, Access_Type_Declaration,
13545         Analyze_Component_Declaration, Analyze_Object_Declaration,
13546         Array_Type_Declaration, Process_Discriminants,
13547         Analyze_Subtype_Declaration): Propagate the null-excluding attribute
13548         and carry out some static checks.
13549         (Build_Derived_Access_Type): Set the null-excluding attribute
13550         (Derived_Type_Declaration, Process_Subtype): Carry out some static
13551         checks.
13552
13553         * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
13554
13555         * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
13556
13557         * sem_ch6.adb (Process_Formals): Carry out some static checks.
13558         (Set_Actual_Subtypes): Generate null-excluding subtype if the
13559         null-excluding part was present; it is not required to be done here in
13560         case of anonymous access types.
13561         (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
13562         value.
13563
13564         * sem_res.adb (Resolve_Actuals): Carry out some static check
13565         (Resolve_Null): Allow null in anonymous access
13566
13567         * sinfo.adb: New subprogram Null_Exclusion_Present
13568         All_Present and Constant_Present available on access_definition nodes
13569
13570         * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
13571         object_declaration, derived_type_definition, component_definition,
13572         discriminant_specification, access_to_object_definition,
13573         access_function_definition, allocator, access_procedure_definition,
13574         access_definition, parameter_specification, All_Present and
13575         Constant_Present flags available on access_definition nodes.
13576
13577 2004-03-29  Robert Dewar  <dewar@gnat.com>
13578
13579         * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
13580         gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
13581         opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
13582         par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
13583         sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
13584         sem_prag.adb: Updates to handle multiple units/file
13585
13586         * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
13587
13588         * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
13589         sem_util.adb: Minor reformatting
13590
13591         * sem_ch12.adb: Add comment for previous change
13592
13593 2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
13594
13595         * osint.adb (Executable_Prefix): Set Exec_Name to the current
13596         executable name when not initialized. Otherwise, use its current value.
13597
13598         * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
13599         initialize it to another executable name than the current one. This
13600         allows to configure paths for an executable name (gnatmake) different
13601         from the current one (gnatdist).
13602
13603 2004-03-29  Ed Schonberg  <schonberg@gnat.com>
13604
13605         * exp_ch6.adb (Expand_Call): A call to a function declared in the
13606         current unit cannot be inlined if it appears in the body of a withed
13607         unit, to avoid order of elaboration problems in gigi.
13608
13609         * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
13610         information for protected (wrapper) operation as well, to simplify gdb
13611         use.
13612
13613         * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
13614         protected body, indicate that the entity for the generated spec comes
13615         from source, to ensure that references are properly generated for it.
13616         (Build_Body_To_Inline): Do not inline a function that returns a
13617         controlled type.
13618
13619         * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
13620         apply convention to homonyms that are declared explicitly.
13621
13622         * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
13623         that renames an equality operator and the operands are overloaded,
13624         resolve them with the declared formal types, before rewriting as an
13625         operator.
13626
13627 2004-03-29  GNAT Script  <nobody@gnat.com>
13628
13629         * Make-lang.in: Makefile automatically updated
13630
13631 2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
13632
13633         * memtrack.adb: Log realloc calls, which are treated as free followed
13634         by alloc.
13635
13636 2004-03-25  Vincent Celier  <celier@gnat.com>
13637
13638         * prj-makr.adb (Process_Directories): Detect when a file contains
13639         several units. Do not include such files in the config pragmas or
13640         in the naming scheme.
13641
13642         * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
13643         Resolve links only when not in Trusted_Mode.
13644         (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
13645         Do not resolve links for the display names.
13646
13647         * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
13648         resolve links when computing the display names.
13649
13650 2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
13651
13652         * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
13653         attribute reference does not denote a subtype, it can be any
13654         expression that has a classwide type, potentially after an implicit
13655         dereference.  In particular, the prefix can be a view conversion for
13656         a classwide type (for which Is_Object_Reference holds), but it can
13657         also be a value conversion for an access-to-classwide type. In the
13658         latter case, there is an implicit dereference, and the original node
13659         for the prefix does not verify Is_Object_Reference.
13660
13661         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
13662         conversion of a discriminant-dependent component of a mutable object
13663         is one itself.
13664
13665 2004-03-25  Ed Schonberg  <schonberg@gnat.com>
13666
13667         * freeze.adb (Freeze_Entity): When an inherited subprogram is
13668         inherited, has convention C, and has unconstrained array parameters,
13669         place the corresponding warning on the derived type declaration rather
13670         than the original subprogram.
13671
13672         * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
13673         indication on renaming declaration, if formal has a box and actual
13674         is absent.
13675
13676         * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
13677         determine whether to generate an implicit or explicit reference to
13678         the renamed entity.
13679
13680         * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
13681         subprogram renaming comes from a defaulted formal subprogram in an
13682         instance.
13683
13684 2004-03-25  Gary Dismukes  <dismukes@gnat.com>
13685
13686         * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
13687         value expressions to ensure that calls within a component definition
13688         will be checked (since those are evaluated during the record type's
13689         elaboration).
13690
13691 2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
13692
13693         * s-tpobop.adb: Code clean up:
13694         (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
13695         code.
13696         (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
13697
13698 2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
13699
13700         * Makefile.in: Clean up in the ravenscar run time.
13701
13702 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13703
13704         * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
13705         of No_Strict_Aliasing to build_pointer_type_for_mode.
13706         * utils.c (update_pointer_to): Walk pointer and ref chains.
13707
13708 2004-03-22  Cyrille Comar  <comar@act-europe.fr>
13709
13710         * ali.ads: Fix Comment about Dynamic_Elab.
13711
13712         * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
13713         Has_RACW, Is_Generic, etc.)
13714         (Output_Object, Gnatls): Take into account ALI files not attached to
13715         an object.
13716
13717 2004-03-22  Vincent Celier  <celier@gnat.com>
13718
13719         * gprep.adb: Change all String_Access to Name_Id
13720         (Is_ASCII_Letter): new function
13721         (Double_File_Name_Buffer): New procedure
13722         (Preprocess_Infile_Name): New procedure
13723         (Process_Files): New procedure
13724         (Gnatprep): Check if output and input are existing directories.
13725         Call Process_Files to do the real job.
13726
13727 2004-03-22  Robert Dewar  <dewar@gnat.com>
13728
13729         * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
13730         s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
13731
13732 2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
13733
13734         * scn.adb (Contains): Add check for EOF, is needed for a degenerated
13735         case when the source contains only comments.
13736
13737 2004-03-22  Ed Schonberg  <schonberg@gnat.com>
13738
13739         * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
13740         declaration for a child subprogram body that acts as a spec, indicate
13741         that the entity in the declaration needs debugging information.
13742
13743         * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
13744         full view if the subtype is created for a constrained record component;
13745         gigi has enough information to construct the record, and there is no
13746         place in the tree for the declaration.
13747
13748         * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
13749         serial number for the dummy body that is built for analysis, to avoid
13750         inconsistencies in the generation of internal names when compiling
13751         with -gnatN.
13752
13753 2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
13754
13755         * sem_util.adb (Is_Object_Reference): A view conversion denotes an
13756         object.
13757
13758 2004-03-22  GNAT Script  <nobody@gnat.com>
13759
13760         * Make-lang.in: Makefile automatically updated
13761
13762 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13763
13764         * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
13765         * trans.c (tree_transform, emit_index_check): Likewise.
13766         * utils.c (build_template): Likewise.
13767         (max_size, convert): Remove handling of WITH_RECORD_EXPR.
13768         (maybe_unconstrained_array, unchecked_convert): Likewise.
13769         * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
13770         (build_unary_op): Likewise.
13771         (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
13772         (fill_vms_descriptor): Likewise.
13773         (build_call_alloc_dealloc): Likewise.
13774         ALIGN is unsigned.
13775         * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
13776
13777 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
13778
13779         PR other/14630
13780         * gnat_ug.texi: Add info directory category and entry.
13781         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13782         gnat_ug_wnt.texi: Regenerate.
13783
13784 2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
13785
13786         * ada-tree.h: Update copyright notice.
13787         Minor reformatting.
13788
13789 2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
13790
13791         * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
13792         as regular exception objects and not as mere integers representing the
13793         condition code.  The latter approach required some dynamics to mask off
13794         severity bits, which did not fit well into the GCC table based model.
13795         (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
13796         exception data objects. We don't it and it would conflict with the other
13797         external symbol we have to generate for such exceptions.
13798
13799         * trans.c (tree_transform, case N_Exception_Handler): Remove part of
13800         the special code for VMS exceptions, since these are now represented
13801         as regular exceptions objects.
13802
13803 2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13804
13805         * decl.c (debug_no_type_hash): Remove.
13806         (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
13807         * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
13808
13809 2004-03-19  Laurent Guerby <laurent@guerby.net>
13810
13811         * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
13812         aggregate, allows bootstrap from 3.3 on powerpc-darwin.
13813
13814 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13815
13816         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
13817         (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
13818         (TYPE_RM_SIZE_INT): Directly use type.values.
13819         (TREE_LOOP_ID): Clean up check.
13820         * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
13821         TYPE_VALUES, not TYPE_FIELDS.
13822         * trans.c (convert_with_check): Delay access of bounds of basetype
13823         until sure is numeric.
13824
13825 2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
13826
13827         * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
13828
13829         Code clean up:
13830         * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
13831         5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
13832         Specific.Set instead of direct call to e.g pthread_setspecific.
13833
13834 2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
13835
13836         * adaint.c: Update comments.
13837
13838         * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
13839         GNATLIB_SHARED for FreeBSD.
13840
13841 2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
13842
13843         * init.c [VxWorks]: Do not fix the stack size for the environment task.
13844         When needed (stack checking) the stack size is retrieved
13845         from the VxWorks kernel.
13846
13847         * Makefile.in: Flag -nostdinc is required when building the run time
13848         for avoiding looking for files in the base compiler.
13849         Add the VxWorks specific version of the package body for
13850         System.Stack_checking.Operations (5zstchop.adb).
13851
13852         * Make-lang.in: Add the object file for
13853         System.Stack_Checking.Operations.
13854
13855         * Makefile.rtl: Add object file for the package
13856         System.Stack_Checking.Operations.
13857
13858         * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
13859
13860         * s-stache.ads, s-stache.adb: Move the operations related to stack
13861         checking from this package to package System.Stack_Checking.Operations.
13862         This way, stack checking operations are only linked in the final
13863         executable when using the -fstack-check flag.
13864
13865 2004-03-18  Doug Rupp  <rupp@gnat.com>
13866
13867         * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
13868         Reorganize ifeq's.
13869
13870         * 5qsystem.ads, 5xcrtl.ads: New files.
13871
13872 2004-03-18  Vincent Celier  <celier@gnat.com>
13873
13874         * prj.adb (Reset): Reset hash table Files_Htable
13875
13876         * prj-env.adb (Source_Paths, Object_Paths): New tables.
13877         (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
13878         the procedures Add_To_Path_File.
13879         (Set_Ada_Paths): Accumulate source and object dirs in the tables,
13880         making sure that each directory is present only once and, for object
13881         dirs, when a directory already present is added, the duplicate is
13882         removed and the directory is always put as the last in the table.
13883         Write the path files at the end of these accumulations.
13884
13885         * prj-nmsc.adb (Record_Source): Add source file name in hash table
13886         Files_Htable for all sources.
13887
13888         * prj-proc.adb (Process): Remove restrictions between not directly
13889         related extending projects.
13890
13891 2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
13892
13893         * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
13894         (Find_Sources): Minor speed optimization.
13895
13896         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
13897         parameter Trusted_Mode.
13898
13899 2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
13900
13901         * scn.adb (Determine_License): Take into account a degenerated case
13902         when the source contains only comments.
13903
13904 2004-03-18  Ed Schonberg  <schonberg@gnat.com>
13905
13906         * sem_warn.adb (Check_References): For a warning on a selected
13907         component that does not come from source, locate an uninitialized
13908         component of the record type to produce a more precise error message.
13909
13910 2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
13911
13912         * 3zsoccon.ads: Fix multicast options.
13913
13914         * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
13915         in the spec.
13916
13917 2004-03-15  Robert Dewar  <dewar@gnat.com>
13918
13919         * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
13920         pragma used for a private type.
13921
13922         * lib-xref.adb (Generate_Reference): Do not generate warning if
13923         reference is in a different unit from the pragma Unreferenced.
13924
13925         * 5vtpopde.adb: Minor reformatting
13926         Fix casing of To_Task_ID
13927
13928         * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
13929         flag if we have an unchecked conversion to an access type in the same
13930         unit.
13931
13932 2004-03-15  Geert Bosch  <bosch@gnat.com>
13933
13934         * a-ngcoty.adb (Modulus): In alternate formula for large real or
13935         imaginary parts, use Double precision throughout.
13936
13937         * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
13938         we want to be able to compile run-time with -gnata for testing, but
13939         this may also be instantiated in user code that is compiled with -gnata.
13940
13941 2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
13942
13943         * s-stalib.ads (Exception_Code): New type, to represent Import/Export
13944         codes. Having a separate type for this is useful to enforce consistency
13945         throughout the various run-time units.
13946         (Exception_Data): Use Exception_Code for Import_Code.
13947
13948         * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
13949         Natural and Integer in various places.
13950         (Register_VMS_Exception): Use Base_Code_In to compute the exception code
13951         with the severity bits masked off.
13952         (Register_VMS_Exception): Handle the additional exception data pointer
13953         argument.
13954
13955         * raise.c (_GNAT_Exception structure): Remove the handled_by_others
13956         component, now reflected by an exported accessor.
13957         (is_handled_by): New routine to compute whether the propagated
13958         occurrence matches some handler choice specification. Extracted out of
13959         get_action_description_for, and expanded to take care of the VMS
13960         specifities.
13961         (get_action_description_for): Use is_handled_by instead of an explicit
13962         complex condition to decide if the current choice at hand catches the
13963         propagated occurrence.
13964
13965         * raise.h (Exception_Code): New type for C.
13966
13967         * rtsfind.ads (RE_Id, RE_Unit_Table): Add
13968         System.Standard_Library.Exception_Code, to allow references from the
13969         pragma import/export expander.
13970
13971         * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
13972         New accessors to allow easy access to GNAT exception data
13973         characteristics.
13974         (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
13975         redundant Handled_By_Others component, helper for the personality
13976         routine which will now be able to call the appropriate exception data
13977         accessor instead.
13978
13979         * cstand.adb (Create_Standard): Adjust the type of the Import_Code
13980         component of Standard_Exception_Type to be the closest possible to
13981         Exception_Code in System.Standard_Library, that we cannot get at this
13982         point. Expand a ??? comment to notify that this type node should
13983         probably be rewritten later on.
13984
13985         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
13986         registration call to include a pointer to the exception object in the
13987         arguments.
13988
13989         * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
13990         instead of int and explicit bitmasks.
13991
13992 2004-03-15  Vincent Celier  <celier@gnat.com>
13993
13994         * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
13995         equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
13996
13997         * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
13998         longer needed now that it is in the spec of
13999         System.Tasking.Task_Attributes.
14000
14001         * adaint.h, adaint.c: (__gnat_create_output_file): New function
14002
14003         * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
14004
14005         * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
14006
14007         * make.adb (Gnatmake): Do not check the executable suffix; it is being
14008         taken care of in Scan_Make_Arg.
14009         (Scan_Make_Arg): Add the executable suffix only if the argument
14010         following -o, in canonical case, does not end with the executable
14011         suffix.  When in verbose mode and executable file name does not end
14012         with executable suffix, output the executable name, in canonical case.
14013
14014         * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
14015         to avoid warnings when instantiating Ada.Task_Attributes.
14016         Minor reformating.
14017
14018         * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
14019         in the correct order.
14020
14021         * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
14022         redirect standard output and error to a file for the invocation of the
14023         compiler, then read the file.
14024
14025         * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
14026         directory, instead of the Value.
14027         (Find_Source_Dirs): Remove useless code & comments.
14028
14029 2004-03-15  Ed Schonberg  <schonberg@gnat.com>
14030
14031         * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
14032         tagged type is inherited, and the parent operation is not frozen yet,
14033         force generation of a freeze node for the inherited operation, so the
14034         corresponding dispatch entry is properly initialized.
14035         (Make_Predefined_Primitive_Specs): Check that return type is Boolean
14036         when looking for user-defined equality operation.
14037
14038         * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
14039         boolean when locating primitive equality of tagged component.
14040
14041         * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
14042         bit-aligned field and the right-hand side a string literal, introduce
14043         a temporary before expanding assignment into a loop.
14044
14045         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
14046         priority in full, to ensure that any expanded subepxressions of it are
14047         elaborated in the scope of the init_proc.
14048
14049         * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
14050         after object declaration, skipping over code that may have been
14051         generated for validity checks.
14052
14053         * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
14054         discriminants, ignore the known discriminants of its full view, if
14055         any, to check legality.
14056
14057         * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
14058         component if type has unknown discriminants.
14059         (Analyze_Private_Extension_Declaration): Discriminant constraint is
14060         null if type has unknown discriminants.
14061
14062         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
14063         for end label when present.
14064
14065         * s-fileio.adb (Open): When called with a C_Stream, use given name for
14066         temporary file, rather than an empty string.
14067
14068 2004-03-15  Ed Falis  <falis@gnat.com>
14069
14070         * s-thread.adb: Removed, no longer used.
14071
14072 2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14073
14074         * decl.c (target.h): Now include.
14075         (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
14076         in new build_pointer_from_mode calls for non-fat/non-thin pointer.
14077         (validate_size): For POINTER_TYPE, get smallest size permitted on
14078         machine.
14079
14080         * fe.h: Sort Einfo decls and add Set_Mechanism.
14081
14082         * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
14083         (ada/decl.o): Depends on target.h.
14084
14085         * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
14086         FUNCTION_BOUNDARY; always use TYPE_ALIGN.
14087
14088 2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
14089
14090         * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
14091
14092         * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
14093         Insert_Dereference_Action when rewriting an implicit dereference into
14094         an explicit one, this will be taken care of during expansion of the
14095         explicit dereference.
14096         (Expand_N_Slice): Same. Always do the rewriting, even for the case
14097         of non-packed slices, since the dereference action generated by
14098         expansion of the explicit dereference is needed in any case.
14099         (Expand_N_Selected_Component): When rewriting an implicit dereference,
14100         analyze and resolve the rewritten explicit dereference so it is seen
14101         by the expander.
14102         (Insert_Dereference_Action): This procedure is now called only for the
14103         expansion of an N_Explcit_Dereference_Node. Do insert a check even for
14104         dereferences that do not come from source (including explicit
14105         dereferences resulting from rewriting implicit ones), but do not
14106         recursively insert a check for the dereference nodes contained within
14107         the check.
14108         (Insert_Dereference_Action): Clarify and correct comment.
14109
14110 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
14111
14112         PR ada/14131
14113         Move language detection to the top level.
14114         * config-lang.in: Build by default.
14115
14116 2004-03-05  Robert Dewar  <dewar@gnat.com>
14117
14118         * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
14119
14120         * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
14121         i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
14122         5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
14123         5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
14124         unchecked conversion to spec to avoid warnings.
14125
14126         * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
14127         to Task_ID
14128
14129         * 7stpopsp.adb: Correct casing in To_Task_ID call
14130
14131         * a-strsea.ads, a-strsea.adb: Minor reformatting
14132
14133         * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
14134
14135         * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
14136         Adjust Max_Msg_Length to be clearly large enough.
14137
14138         * fe.h: Define In_Same_Source_Unit
14139
14140         * osint.adb: Add pragma Warnings Off to suppress warnings
14141         * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
14142         aliasing warnings.
14143
14144         * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
14145
14146         * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
14147
14148         * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
14149
14150         * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
14151
14152         * sem_prag.adb: Implement pragma No_Strict_Aliasing.
14153
14154         * sinfo.ads: Remove obsolete comment on validate unchecked conversion
14155         node. We now do generate them for gcc back end.
14156
14157         * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
14158         warning.
14159
14160         * sinput-c.adb: Fix bad name in header.
14161         Add pragma Warnings Off to suppress aliasing warning.
14162
14163         * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
14164
14165         * snames.h, snames.ads, snames.adb: Add entry for pragma
14166         No_Strict_Aliasing.
14167
14168 2004-03-05  Vincent Celier  <celier@gnat.com>
14169
14170         * prj-com.ads: Add hash table Files_Htable to check when a file name
14171         is already a source of another project.
14172
14173         * prj-nmsc.adb (Record_Source): Before recording a new source, check
14174         if its file name is not already a source of another project. Report an
14175         error if it is.
14176
14177         * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
14178         source file name, call gnatpp with all the sources of the main project.
14179
14180         * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
14181         of file names.
14182
14183         * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
14184         NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
14185         /RUNTIME_SYSTEM=, converted to --RTS=
14186         /NOTABS, converted to -notabs
14187
14188 2004-03-05  Pascal Obry  <obry@gnat.com>
14189
14190         * make.adb: Minor reformatting.
14191
14192 2004-03-05  Ed Schonberg  <schonberg@gnat.com>
14193
14194         Part of implemention of AI-262.
14195         * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
14196
14197         * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
14198         procedure.
14199
14200         * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
14201         when component type is a partially constrained class-wide subtype.
14202         (Constrain_Discriminated_Type): If parent type has unknown
14203         discriminants, a constraint is illegal, even if full view has
14204         discriminants.
14205         (Build_Derived_Record_Type): Inherit discriminants when deriving a type
14206         with unknown discriminants whose full view is a discriminated record.
14207
14208         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
14209         flag, to handle properly derivations of tagged types with unknown
14210         discriminants.
14211         (Analyze_Package_Spec, Analyze_Package_Body): Install
14212         Private_With_Clauses before analyzing private part or body.
14213
14214         * einfo.ads: Indicate that both Has_Unknown_Discriminants and
14215         Has_Discriminants can be true for a given type (documentation).
14216
14217 2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
14218
14219         * s-restri.ads: Fix license (GPL->GMGPL).
14220
14221         * s-tassta.adb: Minor reformatting.
14222
14223         * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
14224         by calls to Exit_One_ATC_Level, since additional clean up is performed
14225         by this function.
14226
14227         * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
14228         by calls to Exit_One_ATC_Level, since additional clean up is performed
14229         by this function.
14230
14231 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14232
14233         * trans.c: Reflect GCC changes to fix bootstrap problem.
14234         Add warning for suspicious aliasing unchecked conversion.
14235
14236 2004-03-05  GNAT Script  <nobody@gnat.com>
14237
14238         * Make-lang.in: Makefile automatically updated
14239
14240 2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
14241
14242         * ali.adb (Read_Instantiation_Instance): Do not modify the
14243         current_file_num when reading information about instantiations, since
14244         this corrupts files in later references.
14245
14246 2004-03-02  Vincent Celier  <celier@gnat.com>
14247
14248         * bcheck.adb (Check_Consistency): Get the full path of an ALI file
14249         before checking if it is read-only.
14250
14251         * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
14252         of SRC_DIRS and eliminate duplicates.
14253
14254         * gprcmd.adb: Replace command "path" with command "path_sep" to return
14255         the path separator.
14256         (Usage): Document path_sep
14257
14258         * Makefile.generic: For Ada and GNU C++ cases, link directly with the
14259         C++ compiler. No need for a script.
14260         Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
14261         Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
14262         subst.
14263
14264         * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
14265         where there are Ada sources.
14266         (Set_Ada_Paths): Only add to the include path the source dirs of project
14267         with Ada sources.
14268         (Add_To_Path): Add the Display_Values of the directories, not their
14269         Values.
14270
14271         * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
14272         data.
14273
14274         * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
14275         is not No_Name.
14276         (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
14277         Value is canonicalized.
14278         (Language_Independent_Check): Do not copy Value to Display_Value when
14279         canonicalizing Value.
14280
14281         * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
14282         path to find limited with cycles.
14283         (Parse_Single_Project): Use canonical cased path to find the end of a
14284         with cycle.
14285
14286 2004-03-02  Ed Schonberg  <schonberg@gnat.com>
14287
14288         * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
14289         and not a child unit.
14290
14291         * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
14292         appear in a with_clause.
14293
14294         * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
14295         only happen in type_annotate mode, do not try to elaborate it.
14296
14297         * exp_util.adb (Force_Evaluation): If expression is a selected
14298         component on the left of an assignment, use a renaming rather than a
14299         temporary to remove side effects.
14300
14301         * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
14302         inlined instance body, which is analyzed before the end of the
14303         enclosing scope.
14304
14305 2004-03-02  Robert Dewar  <dewar@gnat.com>
14306
14307         * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
14308         sem_ch4.adb: Use new feature for substitution of keywords in VMS
14309
14310         * errout.ads, errout.adb: Implement new circuit for substitution of
14311         keywords in VMS.
14312
14313         * sem_case.adb (Analyze_Choices): Place message properly when case is
14314         a subtype reference rather than an explicit range.
14315
14316         * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
14317
14318 2004-03-02  Doug Rupp  <rupp@gnat.com>
14319
14320         * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
14321
14322 2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
14323
14324         * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
14325
14326 2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14327
14328         * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
14329         BLKmode bitfield.
14330
14331 2004-02-25  Robert Dewar  <dewar@gnat.com>
14332
14333         * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
14334         55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
14335         5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
14336         5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
14337         5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
14338         5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
14339         the defining instance of the type to avoid aliasing problems.
14340         Fix copyright header.  Fix bad comments in package header.
14341
14342         * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
14343
14344 2004-02-25  Ed Schonberg  <schonberg@gnat.com>
14345
14346         * exp_ch2.adb (Param_Entity): Handle properly formals that have been
14347         rewritten as references when aliased through an address clause.
14348
14349         * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
14350         whether call can be interpreted as an indirect call to the result of a
14351         parameterless function call returning an access subprogram.
14352
14353 2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
14354
14355         Code clean up:
14356         * exp_ch7.adb (Make_Clean): Remove generation of calls to
14357         Unlock[_Entries], since this is now done by Service_Entries directly.
14358
14359         * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
14360
14361         * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
14362         Requeue_Call for better code readability. Change spec and update calls:
14363         PO_Service_Entries now unlock the PO on exit.
14364         (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
14365         PO_Service_Entries.
14366
14367         * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
14368
14369         * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
14370
14371 2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
14372
14373         * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
14374         protected subprogram call and analyzing the result of such expanding
14375         in case when the called protected subprogram is eliminated.
14376
14377         * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
14378         names.
14379
14380 2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
14381
14382         * Makefile.in: Clean ups.
14383
14384 2004-02-23  Ed Schonberg  <schonberg@gnat.com>
14385
14386         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
14387         protected operations if original subprogram is flagged as eliminated.
14388         (Expand_N_Subprogram_Body): For a protected operation, create
14389         discriminals for next operation before checking whether the operation
14390         is eliminated.
14391
14392         * exp_ch9.adb (Expand_N_Protected_Body,
14393         Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
14394         for internal protected operations if the original subprogram is
14395         eliminated.
14396
14397         * sem_elim.adb (Check_Eliminated): Handle properly protected operations
14398         declared in a single protected object.
14399
14400 2004-02-23  Vincent Celier  <celier@gnat.com>
14401
14402         * prj-attr.adb: Make attribute Builder'Executable an associative array,
14403         case insensitive if file names are case insensitive, instead of a
14404         standard associative array.
14405
14406         * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
14407         them as case insensitive on platforms where the file names are case
14408         sensitive.
14409
14410         * prj-part.adb (Parse_Single_Project): Make sure, when checking if
14411         project file has already been parsed that canonical path are compared.
14412
14413 2004-02-23  Robert Dewar  <dewar@gnat.com>
14414
14415         * sinput-c.ads: Correct bad unit title in header
14416
14417         * freeze.adb: Minor reformatting
14418
14419 2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14420
14421         * trans.c (tree_transform, case N_Procedure_Call_Statement): For
14422         nonaddressable COMPONENT_REF that is removing padding that we are
14423         taking the address of, take the address of the padded record instead
14424         if item is variable size.
14425
14426 2004-02-20  Robert Dewar  <dewar@gnat.com>
14427
14428         * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
14429
14430 2004-02-20  Ed Schonberg  <schonberg@gnat.com>
14431
14432         * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
14433         itype references for the constrained designated type of a component
14434         whose base type is already frozen.
14435
14436 2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
14437
14438         * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
14439         avoid GCC warnings.
14440
14441 2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
14442
14443         * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
14444         identifier for a phantom package that rewrites the formal package
14445         declaration with a box. The Add semantic decorations for the defining
14446         identifier from the original node (that represents the formal package).
14447
14448 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
14449
14450         * Make-lang.in (ada/stamp-sdefault): Use the top level
14451         move-if-change.
14452
14453 2004-02-19  Richard Henderson  <rth@redhat.com>
14454
14455         * misc.c (record_code_position): Add third build arg for RTL_EXPR.
14456
14457 2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
14458
14459         * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
14460         Scan_ALI can be used for multiple ALI files without reinitializing
14461         between calls.
14462
14463 2004-02-18  Robert Dewar  <dewar@gnat.com>
14464
14465         * debug.adb: Minor reformatting.
14466
14467 2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14468
14469         * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
14470         to zero if there is an address clause.
14471
14472 2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
14473
14474         * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
14475
14476 2004-02-18  Gary Dismukes  <dismukes@gnat.com>
14477
14478         * layout.adb (Layout_Component_List): Revise generation of call to
14479         discriminant-checking function to pass selections of all of the type's
14480         discriminants rather than just the variant-controlling discriminant.
14481
14482 2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
14483
14484         * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
14485         fail in the current setup and triggers spurious system error messages.
14486         Pretend it occurred and failed instead.
14487
14488 2004-02-18  Vincent Celier  <celier@gnat.com>
14489
14490         * bld.adb: Mark FLDFLAGS as saved
14491         (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
14492         it is not the root project.  Put each directory to be
14493         extended between double quotes to prevent it to be expanded on Windows.
14494         (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
14495         the project file. Set them back to their initial values if they have not
14496         been set in the project file.
14497
14498         * gprcmd.adb: (Gprdebug, Debug): New global variables
14499         (Display_Command): New procedure
14500         (Usage): Document new command "linkopts"
14501         Call Display_Command when env var GPRDEBUG has the value "TRUE"
14502         Implement new command "linkopts"
14503         Remove quotes that may be around arguments for "extend"
14504         Always call Normalize_Pathname with arguments formatted for the platform
14505
14506         * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
14507         Change @echo to @$(display) in target clean to be able to clean silently
14508
14509         * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
14510
14511         * prj-part.adb (Project_Path_Name_Of): Do not put final result in
14512         canonical case.
14513
14514         * prj-part.adb (Parse_Single_Project): Always call with From_Extended
14515         = Extending_All when current project is an extending all project.
14516
14517         * vms_conv.adb (Output_File_Expected): New Boolean global variable,
14518         set to True only for LINK command, after Unix switch -o.
14519         (Process_Arguments): Set Output_File_Expected to True for LINK command
14520         after Unix switch -o. When Output_File_Expected is True, never add an
14521         extension to a file name.
14522
14523         * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
14524         option file name, only to the --for-linker= switch.
14525         (Option_File_Name): If option file name do not end with ".opt", append
14526         "/OPTIONS".
14527
14528 2004-02-18  GNAT Script  <nobody@gnat.com>
14529
14530         * Make-lang.in: Makefile automatically updated
14531
14532 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
14533
14534         * Make-lang.in (stamp-sdefault): Do not depend on
14535         move-if-change.
14536
14537 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
14538
14539         * config-lang.in: Disable Ada by default until probe logic for
14540         a bootstrap Ada compiler can be moved to the top level configure
14541         script.
14542
14543 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
14544
14545         * decl.c (components_to_record): Don't claim that the internal fields
14546         we make to hold the variant parts are semantically addressable, because
14547         they are not.
14548
14549         * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
14550         adjust the comment describing the modular type form when we can use it.
14551         (Install_PAT): Account for the Esiz renaming.
14552
14553         * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
14554         sc_onstack context indication before raising the exception to which
14555         the signal is mapped. Allows better handling of later signals possibly
14556         triggered by the resumed user code if the exception is handled.
14557
14558 2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
14559
14560         * 5zinit.adb: Removed, no longer used.
14561
14562 2004-02-12  Robert Dewar  <dewar@gnat.com>
14563
14564         * ali.adb: Remove separating space between parameters on R line. Makes
14565         format consistent with format used by the binder for Set_Globals call.
14566
14567         * atree.ads, atree.adb: Minor reformatting (new function header format)
14568
14569         * bindgen.adb: Add Run-Time Globals documentation section containing
14570         detailed documentation of the globals passed from the binder file to
14571         the run time.
14572
14573         * gnatls.adb: Minor reformatting
14574
14575         * init.c (__gnat_set_globals): Add note pointing to documentation in
14576         bindgen.
14577
14578         * lib-writ.ads, lib-writ.adb: Remove separating space between
14579         parameters on R line.
14580         Makes format consistent with format used by the binder for Set_Globals
14581         call.
14582
14583         * osint.ads: Add 2004 to copyright notice
14584         Minor reformatting
14585
14586         * snames.ads: Correct capitalization of FIFO_Within_Priorities
14587         Noticed during code reading, documentation issue only
14588
14589         * usage.adb: Remove junk line for obsolete C switch
14590         Noticed during code reading
14591
14592 2004-02-12  Vincent Celier  <celier@gnat.com>
14593
14594         * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
14595         extend for each directory, so that multiple /** directories are
14596         extended individually.
14597         (Recursive_Process): Set the default for LANGUAGES to ada
14598
14599         * gprcmd.adb: Define new command "ignore", to do nothing.
14600         Implement new comment "path".
14601
14602         * Makefile.generic: Suppress output when SILENT is set
14603         Make sure that when compiler for C/C++ is gcc, the correct -x switch is
14604         used, so that the correct compiler is invoked.
14605         When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
14606         CXX_INCLUDE_PATH, to avoid failure with too long command lines.
14607
14608 2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
14609
14610         * Makefile.in: Clean ups and remove obsolete targets.
14611
14612 2004-02-12  Ed Schonberg  <schonberg@gnat.com>
14613
14614         * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
14615         predicate declared in exp_util.
14616
14617         * exp_util.adb: Add comments.
14618
14619         * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
14620         visibility before compiling context of the subunit.
14621
14622         * sem_res.adb (Check_Parameterless_Call): If the context expects a
14623         value but the name is a procedure, do not attempt to analyze as a call,
14624         in order to obtain more telling diagnostics.
14625
14626         * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
14627         'Access on parameterless function calls.
14628         (Normalize_Actuals): For a parameterless function call with missing
14629         actuals, defer diagnostic until resolution of enclosing call.
14630
14631         * sem_util.adb (Wrong_Type): If the context type is an access to
14632         subprogram and the expression is a procedure name, suggest a missing
14633         'attribute.
14634
14635 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
14636             Nathanael Nerode  <neroden@gcc.gnu.org>
14637
14638         PR ada/6637, PR ada/5911
14639         Merge with libada-branch:
14640         * config-lang.in: Build libada only when ada is built.
14641
14642 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
14643
14644         * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
14645         for a tagged type, verify that both formals have the same type.
14646
14647         * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
14648         temporary when the formal is an in-parameter and the actual a possibly
14649         unaligned slice.
14650
14651         * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
14652         when expansion is disabled, to ensure proper name capture with
14653         overloaded literals.  Condition can be of any boolean type, resolve
14654         accordingly.
14655
14656         * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
14657         renaming is for a formal subprogram with a default operator name, and
14658         there is a usable operator that is visible at the point of
14659         instantiation.
14660
14661 2004-02-09  Robert Dewar  <dewar@gnat.com>
14662
14663         * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
14664         rewrite to ignore errors in ali files, intended to allow tools downward
14665         compatibility with new versions of ali files.
14666
14667         * ali.ads: Add new parameter Ignore_Errors
14668
14669         * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
14670         duplicating the error message giving the file with restrictions.
14671
14672         * debug.adb: Add debug flag I for gnatbind
14673
14674         * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
14675         operators for the case where the operator is a defining operator.
14676
14677         * exp_ch3.adb: Minor reformatting (new function spec format).
14678
14679         * exp_ch4.adb: Add comment for previous change, and make minor
14680         adjustment to loop to always check for improper loop termination.
14681         Minor reformatting throughout (new function spec format).
14682
14683         * gnatbind.adb: Implement -di debug flag for gnatbind
14684
14685         * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
14686
14687         * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
14688
14689         * lib-load.adb: Fix bad assertion.
14690         Found by testing and code reading.
14691         Minor reformatting.
14692
14693         * lib-load.ads: Minor reformatting.
14694
14695         * lib-writ.adb: There is only one R line now.
14696
14697         * lib-writ.ads: Add documentation on making downward compatible changes
14698         to ali files so old tools work with new ali files.
14699         There is only one R line now.
14700         Add documentation on format incompatibilities (with special GPS note)
14701
14702         * namet.ads, namet.adb: (Is_Operator_Name): New procedure
14703
14704         * par-load.adb: Minor reformatting
14705
14706         * sem_ch8.adb: Fix to error message from last update
14707         Minor reformatting and restructuring of code from last update
14708
14709         * par-prag.adb, snames.adb, snames.ads, snames.h,
14710         sem_prag.adb: Implement pragma Profile.
14711
14712         * stylesw.adb: Implement -gnatyN switch to turn off all style check
14713         options.
14714
14715         * usage.adb: Add line for -gnatyN switch
14716
14717         * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
14718
14719 2004-02-09  Albert Lee  <lee@gnat.com>
14720
14721         * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
14722
14723 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
14724
14725         * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
14726         slices.
14727
14728         * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
14729         is nested in an instance that is not frozen yet, to avoid
14730         order-of-elaboration problems in gigi.
14731
14732         * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
14733         body the attribute is legal.
14734
14735 2004-02-09  Robert Dewar  <dewar@gnat.com>
14736
14737         * s-rident.ads: Minor comment correction
14738
14739         * targparm.adb: Remove dependence on uintp completely. There was
14740         always a bug in Make in that it called Targparm before initializing
14741         the Uint package. The old code appeared to get away with this, but
14742         the new code did not! This caused an assertion error in gnatmake.
14743
14744         * targparm.ads: Fix bad comment, restriction pragmas with parameters
14745         are indeed fully supported.
14746
14747 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
14748
14749         * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
14750
14751 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
14752
14753         * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
14754         with targetm.calls.promote_prototypes.
14755
14756 2004-02-04  Robert Dewar  <dewar@gnat.com>
14757
14758         * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
14759         ali.ads, gprcmd.adb: Minor reformatting
14760
14761         * bindgen.adb: Output restrictions string for new style restrictions
14762         handling
14763
14764         * impunit.adb: Add s-rident.ads (System.Rident) and
14765         s-restri (System.Restrictions)
14766
14767         * lib-writ.adb: Fix bug in writing restrictions string (last few
14768         entries wrong)
14769
14770         * s-restri.ads, s-restri.adb: Change name Restrictions to
14771         Run_Time_Restrictions to avoid conflict with package name.
14772         Add circuit to read and acquire run time restrictions.
14773
14774 2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
14775
14776         * restrict.ads, restrict.adb: Use the new restriction
14777         No_Task_Attributes_Package instead of the old No_Task_Attributes.
14778
14779         * sem_prag.adb: No_Task_Attributes is a synonym of
14780         No_Task_Attributes_Package.
14781
14782         * snames.ads, snames.adb: New entry for proper handling of
14783         No_Task_Attributes.
14784
14785         * s-rident.ads: Adding restriction No_Task_Attributes_Package
14786         (AI-00249) that supersedes the GNAT specific restriction
14787         No_Task_Attributes.
14788
14789 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
14790
14791         * sem_prag.adb:
14792         (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
14793          body, an identifier may be wrapped in an unchecked conversion.
14794
14795 2004-02-04  Vincent Celier  <celier@gnat.com>
14796
14797         * lib-writ.ads: Comment update for the W lines
14798
14799         * bld.adb: (Expression): An empty string list is static
14800
14801         * fname-uf.adb: Minor comment update
14802
14803         * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
14804
14805         * gnatbind.adb: Initialize Cumulative_Restrictions with the
14806         restrictions on the target.
14807
14808 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
14809
14810         * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
14811         gen_rtx.
14812
14813 2004-02-02  Arnaud Charlet  <charlet@gnat.com>
14814
14815         * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
14816
14817 2004-02-02  Vincent Celier  <celier@gnat.com>
14818
14819         * gprcmd.adb (Check_Args): If condition is false, print the invoked
14820         comment before the usage.
14821         Gprcmd: Fail when command is not recognized.
14822         (Usage): Document command "prefix"
14823
14824         * g-md5.adb (Digest): Process last block.
14825         (Update): Do not process last block. Store remaining characters and
14826         length in Context.
14827
14828         * g-md5.ads (Update): Document that several call to update are
14829         equivalent to one call with the concatenated string.
14830         (Context): Add fields to allow new Update behaviour.
14831
14832         * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
14833         defaulted to False.
14834         When May_Fail is True and no existing file can be found, return No_File.
14835
14836         * 6vcstrea.adb: Inlined functions are now wrappers to implementation
14837         functions.
14838
14839         * lib-writ.adb (Write_With_Lines): When body file does not exist, use
14840         spec file name instead on the W line.
14841
14842 2004-02-02  Robert Dewar  <dewar@gnat.com>
14843
14844         * ali.adb: Read and acquire info from new format restrictions lines
14845
14846         * bcheck.adb: Add circuits for checking restrictions with parameters
14847
14848         * bindgen.adb: Output dummy restrictions data
14849         To be changed later
14850
14851         * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
14852         exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
14853         freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
14854         sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
14855         sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
14856
14857         * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
14858         the warning message on access to possibly uninitialized variable S)
14859         Minor changes for new restrictions handling.
14860
14861         * gnatbind.adb: Minor reformatting
14862         Minor changes for new restrictions handling
14863         Move circuit for -r processing here from bcheck (cleaner)
14864
14865         * gnatcmd.adb, gnatlink.adb: Minor reformatting
14866
14867         * lib-writ.adb: Output new format restrictions lines
14868
14869         * lib-writ.ads: Document new R format lines for new restrictions
14870         handling.
14871
14872         * s-restri.ads/adb: New files
14873
14874         * Makefile.rtl: Add entry for s-restri.ads/adb
14875
14876         * par-ch3.adb: Fix bad error messages starting with upper case letter
14877         Minor reformatting
14878
14879         * restrict.adb: Major rewrite throughout for new restrictions handling
14880         Major point is to handle restrictions with parameters
14881
14882         * restrict.ads: Major changes in interface to handle restrictions with
14883         parameters. Also generally simplifies setting of restrictions.
14884
14885         * snames.ads/adb: New entry for proper handling of No_Requeue
14886
14887         * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
14888         restriction counting.
14889         Other minor changes for new restrictions handling
14890
14891         * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
14892         Restriction_Warnings now allows full parameter notation
14893         Major rewrite of Restrictions for new restrictions handling
14894
14895 2004-02-02  Javier Miranda  <miranda@gnat.com>
14896
14897         * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
14898         syntax rule for object renaming declarations.
14899         (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
14900         component definitions.
14901
14902         * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
14903         components.
14904         (Array_Type_Declaration): Give support to access components. In addition
14905         it was also modified to reflect the name of the object in anonymous
14906         array types. The old code did not take into account that it is possible
14907         to have an unconstrained anonymous array with an initial value.
14908         (Check_Or_Process_Discriminants): Allow access discriminant in
14909         non-limited types.
14910         (Process_Discriminants): Allow access discriminant in non-limited types
14911         Initialize the new Access_Definition field in N_Object_Renaming_Decl
14912         node.  Change Ada0Y to Ada 0Y in comments
14913
14914         * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
14915         equality operators.
14916         Change Ada0Y to Ada 0Y in comments
14917
14918         * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
14919         renamings Change Ada0Y to Ada 0Y in comments
14920
14921         * sem_type.adb (Find_Unique_Type): Give support to the equality
14922         operators for universal access types
14923         Change Ada0Y to Ada 0Y in comments
14924
14925         * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
14926
14927         * sinfo.ads (N_Component_Definition): Addition of Access_Definition
14928         field.
14929         (N_Object_Renaming_Declaration): Addition of Access_Definition field
14930         Change Ada0Y to Ada 0Y in comments
14931
14932         * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
14933         component definition and object renaming nodes
14934         Change Ada0Y to Ada 0Y in comments
14935
14936 2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
14937
14938         * restrict.adb: Use the new restriction identifier
14939         No_Requeue_Statements instead of the old No_Requeue for defining the
14940         restricted profile.
14941
14942         * sem_ch9.adb (Analyze_Requeue): Check the new restriction
14943         No_Requeue_Statements.
14944
14945         * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
14946         that supersedes the GNAT specific restriction No_Requeue. The later is
14947         kept for backward compatibility.
14948
14949 2004-02-02  Ed Schonberg  <schonberg@gnat.com>
14950
14951         * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
14952         5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
14953         pragma and fix incorrect ones.
14954
14955         * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
14956         warning if the pragma is redundant.
14957
14958 2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
14959
14960         * 5staprop.adb: Add missing 'constant' keywords.
14961
14962         * Makefile.in: use consistent value for SYMLIB on
14963         platforms where libaddr2line is supported.
14964
14965 2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14966
14967         * utils.c (end_subprog_body): Do not call rest_of_compilation if just
14968         annotating types.
14969
14970 2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
14971
14972         * init.c (__gnat_install_handler): Setup an alternate stack for signal
14973         handlers in the environment thread. This allows proper propagation of
14974         an exception on stack overflows in this thread even when the builtin
14975         ABI stack-checking scheme is used without support for a stack reserve
14976         region.
14977
14978         * utils.c (create_field_decl): Augment the head comment about bitfield
14979         creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
14980         here, because the former is not accurate enough at this point.
14981         Let finish_record_type decide instead.
14982         Don't make a bitfield if the field is to be addressable.
14983         Always set a size for the field if the record is packed, to ensure the
14984         checks for bitfield creation are triggered.
14985         (finish_record_type): During last pass over the fields, clear
14986         DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
14987         not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
14988         from DECL_BIT_FIELD.
14989
14990 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
14991
14992         * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
14993         (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
14994         (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
14995
14996 2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14997
14998         * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
14999
15000         * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
15001         (ZCX_By_Default): Likewise.
15002         (Front_End_ZCX_Support): Likewise.
15003
15004         * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
15005         (Initialize_Lock): Mark Level unreferenced.
15006         (Sleep): Mark Reason unreferenced.
15007         (Timed_Sleep): Likewise.
15008         (Wakeup): Likewise.
15009         (Exit_Task): Use Result.
15010         (Check_No_Locks): Mark Self_ID unreferenced.
15011
15012         * 5gtasinf.adb (New_Sproc): Make Attr constant.
15013         (Bound_Thread_Attributes): Make Sproc constant.
15014         (New_Bound_Thread_Attributes): Likewise.
15015
15016 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
15017
15018         * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
15019         one-dimensional array an slice assignments, when component type is
15020         controlled.
15021
15022         * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
15023         component type is controlled, and control_actions are in effect, use
15024         TSS procedure rather than generating inline code.
15025
15026         * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
15027         arrays with controlled components.
15028
15029 2004-01-26  Vincent Celier  <celier@gnat.com>
15030
15031         * gnatcmd.adb (GNATCmd): Add specification of argument file on the
15032         command line for the non VMS case.
15033
15034         * gnatlink.adb (Process_Binder_File): When building object file, if
15035         GNU linker is used, put all object paths between quotes, to prevent ld
15036         error when there are unusual characters (such as '!') in the paths.
15037
15038         * Makefile.generic: When there are sources in Ada and the main is in
15039         C/C++, invoke gnatmake with -B, instead of -z.
15040
15041         * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
15042         from VMS_Conversion.
15043         (Process_Argument): New procedure, extracted from VMS_Conversion. Add
15044         specification of argument file on the command line.
15045
15046 2004-01-26  Bernard Banner  <banner@gnat.com>
15047
15048         * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
15049
15050 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
15051
15052         * snames.adb: Update copyright notice.
15053         Add info on slice assignment for controlled arrays.
15054
15055 2004-01-23  Robert Dewar  <dewar@gnat.com>
15056
15057         * exp_aggr.adb: Minor reformatting
15058
15059         * exp_ch9.adb: Minor code clean up
15060         Minor reformatting
15061         Fix bad character in comment
15062
15063         PR ada/13471
15064         * targparm.adb (Get_Target_Parameters): Give clean abort error on
15065         unexpected end of file, along with more detailed message.
15066
15067 2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15068
15069         * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
15070         PAT.
15071
15072         * decl.c (copy_alias_set): New function.
15073         (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
15074
15075 2004-01-23  Doug Rupp  <rupp@gnat.com>
15076
15077         * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
15078         lib$${file} in case subsequent character is not a separator.
15079
15080 2004-01-23  Vincent Celier  <celier@gnat.com>
15081
15082         * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
15083         when the GCC version is at least 3.
15084
15085         * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
15086         Remove all "Opt.", to prepare for opt split
15087
15088         * prj-part.adb (Parse_Single_Project): New Boolean out parameter
15089         Extends_All. Set to True when the project parsed is an extending all
15090         project. Fails for importing an extending all project only when the
15091         imported project is an extending all project.
15092         (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
15093         depending on the value of Extends_All returned.
15094
15095         * prj-proc.adb (Process): Check that no project shares its object
15096         directory with a project that extends it, directly or indirectly,
15097         including a virtual project.
15098         Check that no project extended by another project shares its object
15099         directory with another also extended project.
15100
15101         * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
15102         Kind = N_With_Clause
15103
15104         * prj-tree.ads: Minor reformatting
15105         Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
15106
15107 2004-01-23  Ed Schonberg  <schonberg@gnat.com>
15108
15109         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
15110         applies to a type with an incomplete view, use full view in Name of
15111         clause, for consistency with uses of Get_Attribute_Definition_Clause.
15112
15113 2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
15114
15115         * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
15116         SCHED_RR, since other values are not supported by this policy.
15117         (Initialize): Move initialization of mutex attribute to package
15118         elaboration, to prevent early access to this variable.
15119
15120         * Makefile.in: Remove mention of Makefile.adalib, unused.
15121
15122         * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
15123         1ssecsta.ads: Removed, unused.
15124
15125 2004-01-21  Javier Miranda  <miranda@gnat.com>
15126
15127         * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
15128         entity if already built in the current scope.
15129
15130         * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
15131         reminder in internal scopes. Required for nested limited aggregates.
15132
15133 2004-01-21  Doug Rupp  <rupp@gnat.com>
15134
15135         * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
15136         VMS. Replace all occurences of libgnat- and libgnarl- with
15137         libgnat$(hyphen) and libgnarl$(hyphen).
15138         Fixed shared library build problem on VMS.
15139
15140 2004-01-21  Robert Dewar  <dewar@gnat.com>
15141
15142         * mlib-prj.adb: Minor reformatting
15143
15144 2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
15145
15146         * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
15147         'constant' keywords for declaration of pointers that are not modified.
15148
15149         * exp_pakd.adb: Fix English in comment.
15150
15151 2004-01-21  Ed Schonberg  <schonberg@gnat.com>
15152
15153         PR ada/10889
15154         * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
15155         copy all attributes of the parent, including the foreign language
15156         convention.
15157
15158 2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
15159
15160         PR ada/10565
15161         * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
15162         for 'delay until' statement.
15163
15164 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
15165
15166         * Make-lang.in: Replace $(docdir) with doc.
15167         (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
15168         doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
15169         to use consistent MAKEINFO rule.
15170         (ada.man, ada.srcman): Dummy entry.
15171         (ADA_INFOFILES): Define.
15172         (ada.info, ada.srcinfo): New rules.
15173
15174 2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
15175
15176         * utils.c: Update copyright notice, missed in previous change.
15177
15178 2004-01-19  Vincent Celier  <celier@gnat.com>
15179
15180         * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
15181         args if Bind is True. Set First_ALI, if not already done.
15182         (Build_Library): For Stand Alone Libraries, extract from one ALI file
15183         an eventual --RTS switch, for gnatbind, and all backend switches +
15184         --RTS, for linking.
15185
15186 2004-01-19  Robert Dewar  <dewar@gnat.com>
15187
15188         * sem_attr.adb, memtrack.adb: Minor reformatting
15189
15190 2004-01-19  Ed Schonberg  <schonberg@gnat.com>
15191
15192         * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
15193         that rename enumeration literals. This is properly done in sem_eval.
15194
15195         * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
15196         to functions that rename enumeration literals.
15197
15198         * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
15199         functions that rename enumeration literals.
15200
15201 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
15202
15203         * Make-lang.in (utils.o): Depend on target.h.
15204         * utils.c: Include target.h.
15205         (process_attributes): Use targetm.have_named_sections instead
15206         of ASM_OUTPUT_SECTION_NAME.
15207
15208 2004-01-16  Andreas Jaeger  <aj@suse.de>
15209
15210         * Makefile.in: Add $(DESTDIR).
15211
15212 2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
15213
15214         * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
15215         also when not defining if a Size clause applies. That information is
15216         not to be ignored.
15217
15218 2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
15219
15220         * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
15221         symbolic links for the shared gnat run time when needed.
15222
15223 2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
15224
15225         * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
15226         for writing, and terminate with an error message if not.
15227
15228 2004-01-15  Ed Schonberg  <schonberg@gnat.com>
15229
15230         * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
15231         warning on an access to subprogram in an instance, when the target
15232         type is declared in the same generic unit.
15233         (Eval_Attribute): If 'access is known to fail accessibility check,
15234         rewrite as a raise statement.
15235
15236 2004-01-15  GNAT Script  <nobody@gnat.com>
15237
15238         * Make-lang.in: Makefile automatically updated
15239
15240 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
15241
15242         * Make-lang.in (ada.srcextra): Dummy entry.
15243
15244 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
15245
15246         * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
15247
15248 2004-01-13  Ed Schonberg  <schonberg@gnat.com>
15249
15250         * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
15251         components that are initialized with aggregates.
15252
15253 2004-01-13  Vincent Celier  <celier@gnat.com>
15254
15255         * gnatlink.adb (Process_Binder_File): To find directory of shared
15256         libgcc, if "gcc-lib" is not a subdirectory, look for the last
15257         subdirectory "lib" in the path of the shared libgnat or libgnarl.
15258
15259         * make.adb (Gnatmake): If GCC version is at least 3, link with
15260         -shared-libgcc, when there is at least one shared library project.
15261
15262         * opt.ads (GCC_Version): New integer constant.
15263
15264         * adaint.c (get_gcc_version): New function.
15265
15266 2004-01-13  Robert Dewar  <dewar@gnat.com>
15267
15268         * sem_dist.adb, sem_res.adb, sem_util.adb,
15269         sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
15270         exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
15271
15272 2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
15273
15274         * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
15275         g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
15276         declarations.
15277
15278 2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
15279
15280         * misc.c: Remove trailing spaces.
15281         Update copyright notice missed in previous change.
15282
15283         PR ada/13572
15284         * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
15285         prefix/share/make
15286
15287         * Makefile.generic: Update copyright.
15288         Add license notice.
15289
15290         * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
15291         of prefix/share/make.
15292
15293         * Makefile.prolog: Update copyright.
15294         Add license notice.
15295
15296 2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
15297
15298         * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
15299         3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
15300         g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
15301         instead of String.
15302
15303         * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
15304         signature.
15305
15306 2004-01-12  Javier Miranda  <miranda@gnat.com>
15307
15308         * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
15309         exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
15310         sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
15311         sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
15312         Component_Definition node.
15313
15314 2004-01-12  Ed Falis  <falis@gnat.com>
15315
15316         * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
15317
15318 2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
15319
15320         * link.c: Change default libgnat kind to STATIC for FreeBSD.
15321
15322 2004-01-12  Bernard Banner  <banner@gnat.com>
15323
15324         * Makefile.in: map 86numaux to a-numaux for x86_64
15325
15326 2004-01-12  Ed Schonberg  <schonberg@gnat.com>
15327
15328         * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
15329         generated to rename a generic actual, go to the actual itself, the
15330         subtype is not a user-visible entity.
15331
15332         * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
15333         part is a private subtype, reset the visibility of its full view, if
15334         any, to be consistent.
15335
15336         PR ada/13417
15337         * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
15338         to use a generic package G as a formal package for another generic
15339         declared within G.
15340
15341 2004-01-12  Robert Dewar  <dewar@gnat.com>
15342
15343         * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
15344
15345         * usage.adb: Remove mention of obsolete -gnatwb switch
15346         Noticed during code reading
15347
15348 2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
15349
15350         * 1ssecsta.adb: Minor changes for -gnatwa warnings
15351
15352 2004-01-12  GNAT Script  <nobody@gnat.com>
15353
15354         * Make-lang.in: Makefile automatically updated
15355
15356 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
15357
15358         * misc.c (gnat_expand_expr): Add alt_rtl parameter.
15359
15360 2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15361
15362         * link.c [sgi] (shared_libgnat_default): Change to STATIC.
15363
15364 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
15365
15366         * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
15367         Update comment and copyright date.
15368         * stamp-xgnatug: Delete.
15369
15370 2004-01-05  Robert Dewar  <dewar@gnat.com>
15371
15372         * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
15373         be modified by the binder generated main program if the -D switch is
15374         used.
15375
15376         * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
15377         imported functions (since now we expect this to be done for imported
15378         functions)
15379
15380         * 5vtaprop.adb: Add several ??? for sections requiring more comments
15381         Minor reformatting throughout
15382
15383         * 5zinit.adb: Minor reformatting
15384         Add 2004 to copyright date
15385         Minor changes to avoid -gnatwa warnings
15386         Correct some instances of using OR instead of OR ELSE (noted while
15387         doing reformatting)
15388
15389         * sprint.adb: Minor updates to avoid -gnatwa warnings
15390
15391         * s-secsta.ads, s-secsta.adb:
15392         (SS_Get_Max): New function to obtain high water mark for ss stack
15393         Default_Secondary_Stack is not a constant since it may be modified by
15394         the binder generated main program if the -D switch is used.
15395
15396         * switch-b.adb: New -Dnnn switch for binder
15397
15398         * switch-c.adb:
15399         Make -gnatg imply all warnings currently in -gnatwa
15400
15401         * vms_conv.adb: Minor reformatting
15402         Add 2004 to copyright notice
15403         Add 2004 to printed copyright notice
15404
15405         * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
15406         3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
15407         5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
15408         5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
15409         5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
15410         5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
15411         5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
15412         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
15413         5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
15414         5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
15415         6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
15416         vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
15417         xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
15418         sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
15419         checks.adb, clean.adb, cstand.adb, einfo.ads,
15420         einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
15421         exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
15422         prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
15423         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
15424         g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
15425         lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
15426         Minor reformatting and code clean ups.
15427         Minor changes to prevent -gnatwa warnings
15428
15429         * ali.adb: Minor reformatting and cleanup of code
15430         Acquire new SS indication of secondary stack use from ali files
15431
15432         * a-numaux.ads: Add Pure_Function pragmas for all imported functions
15433         (since now we expect this to be done for imported functions)
15434
15435         * bindgen.adb: Generate call to modify default secondary stack size if
15436         -Dnnn switch given
15437
15438         * bindusg.adb: Add line for new -D switch
15439
15440         * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
15441         replacement name for Type_May_Have_Non_Bit_Aligned_Components!
15442         Add circuitry for both records and arrays to avoid gigi
15443         processing if the type involved has non-bit-aligned components
15444
15445         * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
15446         N_String_Literal node always references an E_String_Literal_Subtype
15447         entity. This may not be true in the future.
15448         (Possible_Bit_Aligned_Component): Move processing of
15449         Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
15450
15451         * exp_ch6.adb (Expand_Thread_Body): Pick up
15452         Default_Secondary_Stack_Size as variable so that we get value modified
15453         by possible -Dnnn binder parameter.
15454
15455         * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
15456         (Type_May_Have_Bit_Aligned_Components): New function.
15457
15458         * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
15459         (Type_May_Have_Bit_Aligned_Components): New function.
15460
15461         * fe.h: (Set_Identifier_Casing): Fix prototype.
15462         Add declaration for Sem_Elim.Eliminate_Error_Msg.
15463         Minor reformatting.
15464
15465         * freeze.adb (Freeze_Entity): Add RM reference to error message about
15466         importing constant atomic/volatile objects.
15467         (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
15468         unless explicit Pure_Function pragma given, to avoid insidious bug of
15469         call to non-pure imported function getting eliminated.
15470
15471         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
15472         gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
15473         gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
15474         Add 2004 to printed copyright notice
15475
15476         * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
15477         stack used.
15478
15479         * Makefile.rtl: Add entry for g-sestin.o
15480         g-sestin.ads: New file.
15481
15482         * mdll.adb: Minor changes to avoid -gnatwa warnings
15483
15484         * mlib-tgt.adb: Minor reformatting
15485
15486         * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
15487         New switch Sec_Stack_Used (GNAT, GNATBIND)
15488         Make Default_Secondary_Stack_Size a variable instead of a constant,
15489         so that it can be modified by the new -Dnnn bind switch.
15490
15491         * rtsfind.adb (Load_Fail): Give full error message in configurable
15492         run-time mode if all_errors mode is set. This was not done in the case
15493         of a file not found, which was an oversight.
15494         Note if secondary stack unit is used by compiler.
15495
15496         * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
15497         ineffective elaborate all pragmas on non-visible packages (this
15498         happened when a renamed subprogram was called). Now the elaborate all
15499         always goes on the package containing the renaming rather than the one
15500         containing the renamed subprogram.
15501
15502         * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
15503         (Process_Eliminate_Pragma): Add parameter to capture pragma location.
15504
15505         * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
15506         has an Etype that references an E_String_Literal.
15507         (Eval_String_Literal): Avoid assumption that N_String_Literal node
15508         always references an E_String_Literal_Subtype entity. This may not
15509         be true in the future.
15510
15511         * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
15512         pragma location.
15513
15514         * sem_res.adb (Resolve): Specialize msg for function name used in proc
15515         call.
15516
15517 2004-01-05  Ed Falis  <falis@gnat.com>
15518
15519         * g-debuti.adb: Replaced direct boolean operator with short-circuit
15520         form.
15521
15522 2004-01-05  Vincent Celier  <celier@gnat.com>
15523
15524         * bld.adb: Minor comment updates
15525         (Process_Declarative_Items): Correct incorrect name (Index_Name instead
15526         of Item_Name).
15527
15528         * make.adb (Gnatmake): Special process for files to compile/check when
15529         -B is specified. Fail when there are only foreign mains in attribute
15530         Main of the project file and -B is not specified. Do not skip bind/link
15531         steps when -B is specified.
15532
15533         * makeusg.adb: Document new switch -B
15534
15535         * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
15536
15537         * switch-m.adb: (Scan_Make_Switches): Process -B switch
15538
15539         * vms_data.ads: Add new GNAT PRETTY qualifier
15540         /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
15541
15542 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15543
15544         * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
15545         case.
15546
15547         * misc.c (gnat_printable_name): If VERBOSITY is 2, call
15548         Set_Identifier_Casing.
15549
15550         * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
15551         has size that overflows.
15552
15553 2004-01-05  Gary Dismukes  <dismukes@gnat.com>
15554
15555         * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
15556         -gnatwa warning on static condition.
15557
15558 2004-01-05  Doug Rupp  <rupp@gnat.com>
15559
15560         * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
15561
15562 2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
15563
15564         * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
15565         all attributes, including read-only attribute.
15566
15567 2004-01-05  Pascal Obry  <obry@gnat.com>
15568
15569         * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
15570         library naming scheme.
15571
15572         * mlib-prj.adb (Build_Library): Generate different names for the static
15573         or dynamic version of the GNAT runtime. This is needed to support the
15574         new shared library naming scheme.
15575         (Process_Binder_File): Add detection of shared library in binder file
15576         based on the new naming scheme.
15577
15578         * gnatlink.adb (Process_Binder_File): Properly detect the new naming
15579         scheme for the shared runtime libraries.
15580
15581         * Makefile.in:
15582         (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
15583         scheme.
15584         (install-gnatlib): Do not create symlinks for shared libraries.
15585         (gnatlib-shared-default): Idem.
15586         (gnatlib-shared-dual-win32): New target. Not used for now as the
15587         auto-import feature does not support arrays/records.
15588         (gnatlib-shared-win32): Do not create copy for the shared libraries.
15589         (gnatlib-shared-vms): Fix shared runtime libraries names.
15590
15591         * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
15592         dependent runtime shared library name.
15593
15594 2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
15595
15596         * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
15597         than the object.
15598
15599 2004-01-05  Ed Schonberg  <schonberg@gnat.com>
15600
15601         * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
15602         protected objects when allocator has a subtype indication, not a
15603         qualified expression. Note that qualified expressions may have to be
15604         checked when limited aggregates are implemented.
15605
15606         * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
15607         pure, emit warning.
15608         (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
15609         subprogram is imported, remove warning.
15610
15611 2004-01-05  Geert Bosch  <bosch@gnat.com>
15612
15613         * s-poosiz.adb: Update copyright notice.
15614         (Allocate): Use Task_Lock to protect against concurrent access.
15615         (Deallocate): Likewise.
15616
15617 2004-01-05  Joel Brobecker  <brobecker@gnat.com>
15618
15619         * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
15620         comment.
15621
15622 2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
15623
15624         * gnat_ug.texi: Force a CVS commit by updating copyright.
15625         * gnat_ug_vxw.texi: Regenerate.
15626         * gnat_ug_wnt.texi: Regenerate.
15627         * gnat_ug_vms.texi: Regenerate.
15628         * gnat_ug_unx.texi: Regenerate.
15629
15630 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
15631
15632         * trans.c: Remove uses of "register" specifier in
15633         declarations of local variables.
15634
15635 2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
15636
15637         * stamp-xgnatug: New stamp file.
15638         * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
15639         (ada/doctools/xgnatug): Add $(build_exeext).
15640         (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
15641         ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
15642
15643 2003-12-17  Ed Falis  <falis@gnat.com>
15644
15645         * a-elchha.adb (Tailored_Exception_Information): made Info constant to
15646         eliminate warning.
15647
15648         * a-exextr.adb: Add context clause for
15649         Ada.Exceptions.Last_Chance_Handler.
15650
15651 2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
15652
15653         * cstand.adb (Create_Standard): Change the way how the declaration of
15654         the Duration type is created (making it the same way as it is for all
15655         the other standard types).
15656
15657 2003-12-17  Robert Dewar  <dewar@gnat.com>
15658
15659         * s-crtl.ads: Fix header format
15660         Change Pure to Preelaborate
15661
15662 2003-12-17  Ed Schonberg  <schonberg@gnat.com>
15663
15664         * checks.adb (Selected_Length_Checks): Generate an Itype reference for
15665         the expression type only if it is declared in the current unit.
15666
15667         * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
15668         are universal and already analyzed, as can occur in constrained
15669         subcomponents that depend on discriminants, when one constraint is a
15670         subtype mark.
15671
15672         * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
15673         type Any_Fixed is legal as the argument of a conversion, if only one
15674         fixed-point type is in context.
15675
15676 2003-12-17  GNAT Script  <nobody@gnat.com>
15677
15678         * Make-lang.in: Makefile automatically updated
15679
15680 2003-12-15  Robert Dewar  <dewar@gnat.com>
15681
15682         * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
15683         sec stack size.
15684
15685 2003-12-15  Vincent Celier  <celier@gnat.com>
15686
15687         * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
15688         (Gnatchop): Do not set failure status when reporting the number of
15689         warnings.
15690
15691 2003-12-15  Doug Rupp  <rupp@gnat.com>
15692
15693         * s-ctrl.ads: New file.
15694
15695         * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
15696
15697         * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
15698         (GNATBIND_OBJS): Add ada/s-crtl.o.
15699
15700         * Makefile.in [VMS]: Clean up ifeq rules.
15701
15702         * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
15703         a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
15704         g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
15705         s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
15706         s-tasdeb.adb: Update copyright.
15707         Import System.CRTL.
15708         Make minor modifications to use System.CRTL declared functions instead
15709         of importing locally.
15710
15711 2003-12-15  GNAT Script  <nobody@gnat.com>
15712
15713         * Make-lang.in: Makefile automatically updated
15714
15715 2003-12-11  Ed Falis  <falis@gnat.com>
15716
15717         * 5zinit.adb: Clean up.
15718
15719         * 5zintman.adb (Notify_Exception): replaced case statement with a call
15720         to __gnat_map_signal, imported from init.c to support
15721         signal -> exception mappings that depend on the vxWorks version.
15722
15723         * init.c:
15724         Created and exported __gnat_map_signal to support signal -> exception
15725         mapping that is dependent on the VxWorks version.
15726         Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
15727
15728 2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
15729
15730         * 5wosinte.ads: Link with -mthreads switch.
15731
15732 2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
15733
15734         * init.c (__gnat_install_handler [NetBSD]): Set
15735         __gnat_handler_installed, as done on all other platforms.
15736         Remove duplicated code.
15737
15738 2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
15739
15740         * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
15741
15742 2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
15743
15744         * sinfo.ads: Fix inconsistent example code in comment.
15745
15746 2003-12-11  Robert Dewar  <dewar@gnat.com>
15747
15748         * a-tiinau.adb: Add a couple of comments
15749
15750         * sem_ch3.adb: Minor reformatting
15751
15752         * sem_prag.adb:
15753         Fix bad prototype of Same_Base_Type in body (code reading cleanup)
15754         Minor reformatting throughout
15755
15756 2003-12-11  Ed Schonberg  <schonberg@gnat.com>
15757
15758         * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
15759         bounds of a loop, create a separate block in order to generate proper
15760         cleanup actions to prevent memory leaks.
15761
15762         * sem_res.adb (Resolve_Call): After a call to
15763         Establish_Transient_Scope, the call may be rewritten and relocated, in
15764         which case no further processing is needed.
15765
15766         * sem_util.adb: (Wrong_Type): Refine previous fix.
15767          Fixes ACATS regressions.
15768
15769         PR ada/13353
15770
15771         * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
15772         be inlined.
15773
15774 2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
15775
15776         * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
15777         i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
15778         obsolete files.
15779
15780         * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
15781         (rts-zfp): Ditto.
15782
15783 2003-12-08  Robert Dewar  <dewar@gnat.com>
15784
15785         * 7sintman.adb: Minor reformatting
15786
15787         * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
15788         standard linker options to get standard libraries linked. We now plan
15789         to provide dummy versions of these libraries to match the appropriate
15790         configurable run-time (e.g. if a library is not needed at all, provide
15791         a dummy empty library).
15792
15793         * targparm.ads: Configurable_Run_Time mode no longer affects linker
15794         options (-L parameters and standard libraries). What we plan to do is
15795         to provide dummy libraries where the libraries are not required.
15796
15797         * gnatbind.adb: Minor comment improvement
15798
15799 2003-12-08  Javier Miranda  <miranda@gnat.com>
15800
15801         * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
15802         aggregate in the parent. Otherwise constants with limited aggregates
15803         are not supported. Add new formal to pass the component type (Ctype).
15804         It is required to call the corresponding IP subprogram in case of
15805         default initialized components.
15806         (Gen_Assign): In case of default-initialized component, generate a
15807         call to the IP subprogram associated with the component.
15808         (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
15809         of aggregate with default initialized components.
15810         (Has_Default_Init_Comps): Improve implementation to recursively check
15811         all the present expressions.
15812
15813         * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
15814         to indicate that the initialization call corresponds to a
15815         default-initialized component of an aggregate.
15816         In case of default initialized aggregate with tasks this parameter is
15817         used to generate a null string (this is just a workaround that must be
15818         improved later). In case of discriminants, this parameter is used to
15819         generate a selected component node that gives access to the discriminant
15820         value.
15821
15822         * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
15823         subprogram, based on Build_Task_Allocate_Block, but adapted to expand
15824         allocated aggregates with default-initialized components.
15825
15826         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
15827         the box notation is used in positional aggregates.
15828
15829 2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
15830
15831         * lib.ads: Fix typo in comment
15832
15833 2003-12-08  Vincent Celier  <celier@gnat.com>
15834
15835         * prj.adb (Project_Empty): New component Unkept_Comments
15836         (Scan): Remove procedure; moved to Prj.Err.
15837
15838         * prj.ads (Project_Data): New Boolean component Unkept_Comments
15839         (Scan): Remove procedure; moved to Prj.Err.
15840
15841         * prj-dect.adb: Manage comments for the different declarations.
15842
15843         * prj-part.adb (With_Record): New component Node
15844         (Parse): New Boolean parameter Store_Comments, defaulted to False.
15845         Set the scanner to return ends of line and comments as tokens, if
15846         Store_Comments is True.
15847         (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
15848         comments are associated with these nodes. Store the node IDs in the
15849         With_Records.
15850         (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
15851         With_Records.
15852         (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
15853         the N_Project node. Call Tree.Save and Tree.Reset before scanning the
15854         current project. Call Tree.Restore afterwards. Set the various nodes
15855         for comment storage (Next_End, End_Of_Line, Previous_Line,
15856         Previous_End).
15857
15858         * prj-part.ads (Parse): New Boolean parameter Store_Comments,
15859         defaulted to False.
15860
15861         * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
15862         to False. When Truncated is True, truncate the string, never go to the
15863         next line.
15864         (Write_End_Of_Line_Comment): New procedure
15865         (Print): Process comments for nodes N_With_Clause,
15866         N_Package_Declaration, N_String_Type_Declaration,
15867         N_Attribute_Declaration, N_Typed_Variable_Declaration,
15868         N_Variable_Declaration, N_Case_Construction, N_Case_Item.
15869         Process nodes N_Comment.
15870
15871         * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
15872         without comments and there are some comments, set the flag
15873         Unkept_Comments to True.
15874         (Scan): If there are comments, set the flag Unkept_Comments to True and
15875         clear the comments.
15876         (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
15877         (Next_End_Nodes: New table
15878         (Comment_Zones_Of): New function
15879         (Scan): New procedure; moved from Prj. Accumulate comments in the
15880         Comments table and set end of line comments, comments after, after end
15881         and before end.
15882         (Add_Comments): New procedure
15883         (Save, Restore, Seset_State): New procedures
15884         (There_Are_Unkept_Comments): New function
15885         (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
15886         (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
15887         procedures.
15888         (First_Comment_After, First_Comment_After_End): New functions
15889         (First_Comment_Before, First_Comment_Before_End): New functions
15890         (Next_Comment): New function
15891         (End_Of_Line_Comment, Follows_Empty_Line,
15892         Is_Followed_By_Empty_Line): New functions
15893         (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
15894         (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
15895         (Set_Next_Comment): New procedure
15896         (Default_Project_Node): Associate comment before if the node can store
15897         comments.
15898
15899         * scans.ads (Token_Type): New enumeration value Tok_Comment
15900         (Comment_Id): New global variable
15901
15902         * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
15903         defaulted to False.
15904         (Scan): Store position of start of comment. If comments are tokens, set
15905         Comment_Id and set Token to Tok_Comment when scanning a comment.
15906         (Set_Comment_As_Token): New procedure
15907
15908         * sinput-p.adb: Update Copyright notice
15909         (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
15910         that no longer exists.
15911
15912 2003-12-08  Javier Miranda  <miranda@gnat.com>
15913
15914         * sem_aggr.adb: Add dependence on Exp_Tss package
15915         Correct typo in comment
15916         (Resolve_Aggregate): In case of array aggregates set the estimated
15917         type of the aggregate before calling resolve. This is needed to know
15918         the name of the corresponding IP in case of limited array aggregates.
15919         (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
15920         in case of default initialized array components.
15921
15922         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
15923         types. Required to give support to limited aggregates in generic
15924         formals.
15925
15926 2003-12-08  Ed Schonberg  <schonberg@gnat.com>
15927
15928         * sem_ch3.adb (Check_Initialization): For legality purposes, an
15929         inlined body functions like an instantiation.
15930         (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
15931         until bounds are analyzed, to diagnose premature use of type.
15932
15933         * sem_util.adb (Wrong_Type): Improve error message when the type of
15934         the expression is used prematurely.
15935
15936 2003-12-08  GNAT Script  <nobody@gnat.com>
15937
15938         * Make-lang.in: Makefile automatically updated
15939
15940 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
15941
15942         * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
15943         they are automatically generated by Make-lang.in and cause nothing but
15944         maintenance troubles.
15945
15946 2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
15947
15948         * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
15949         version of this unit).
15950
15951 2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
15952
15953         * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
15954         5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
15955         5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
15956         the body of System.Interrupt_Management common to several targets.
15957         Update copyright notice when appropriate.
15958
15959         * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
15960         constant.
15961
15962         * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
15963         to ensure that the kernel fills in the interrupted context structure
15964         before calling a signal handler, which is necessary to be able to
15965         unwind past it. Update the copyright notice.
15966
15967 2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
15968
15969         * a-elchha.ads: New file.
15970
15971         * a-elchha.adb: New default last chance handler. Contents taken from
15972         Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
15973
15974         * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
15975         is moved to a-elchha.adb to provide a target-independent default last
15976         chance handler.
15977
15978         * Makefile.rtl: Add a-elchha.o
15979
15980         * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
15981
15982 2003-12-05  Ed Schonberg  <schonberg@gnat.com>
15983
15984         * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
15985         declared in an instance, do not inline the call if the instance is not
15986         frozen yet, to prevent order of elaboration problems.
15987
15988         * sem_prag.adb: Add comments for previous fix.
15989
15990 2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
15991
15992         * g-table.adb: Use the right variable in Set_Item.
15993         Update copyright notice.
15994
15995 2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
15996
15997         * Makefile.in: Remove unused rules.
15998
15999 2003-12-05  Vincent Celier  <celier@gnat.com>
16000
16001         * switch-c.adb (Scan_Front_End_Switches): Remove processing of
16002         -nostdlib. Not needed here after all.
16003
16004 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
16005
16006         PR ada/11724
16007
16008         * adaint.h, adaint.c, g-os_lib.ads:
16009         Do not assume that the offset argument to lseek(2) is a 32 bit integer,
16010         on some platforms (including FreeBSD), it is a 64 bit value.
16011         Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
16012
16013 2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
16014
16015         * gnatvsn.ads (Library_Version): Now contain only the relevant
16016         version info.
16017         (Verbose_Library_Version): New constant.
16018
16019         * g-spipat.adb, g-awk.adb, g-debpoo.adb,
16020         g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
16021         s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
16022
16023         * gnatlbr.adb: Clean up: replace Library_Version by
16024         Verbose_Library_Version.
16025
16026         * make.adb, lib-writ.adb, exp_attr.adb:
16027         Clean up: replace Library_Version by Verbose_Library_Version.
16028
16029         * 5lintman.adb: Removed.
16030
16031         * Makefile.in:
16032         Update and simplify computation of LIBRARY_VERSION.
16033         Fix computation of GSMATCH_VERSION.
16034         5lintman.adb is no longer used: replaced by 7sintman.adb.
16035
16036 2003-12-03  Robert Dewar  <dewar@gnat.com>
16037
16038         * exp_ch5.adb:
16039         (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
16040         name. Modified to consider small non-bit-packed arrays as troublesome
16041         and in need of component-by-component assigment expansion.
16042
16043 2003-12-03  Vincent Celier  <celier@gnat.com>
16044
16045         * lang-specs.h: Process nostdlib as nostdinc
16046
16047         * back_end.adb: Update Copyright notice
16048         (Scan_Compiler_Arguments): Process -nostdlib directly.
16049
16050 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
16051
16052         * Makefile.in:
16053         When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
16054         redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
16055         included in HIE_NONE_TARGET_PAIRS.
16056
16057 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
16058
16059         * sem_attr.adb:
16060         (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
16061         is legal in an instance, because legality is cheched in the template.
16062
16063         * sem_prag.adb:
16064         (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
16065         appplied to an unchecked conversion of a formal parameter.
16066
16067         * sem_warn.adb:
16068         (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
16069         variables.
16070
16071 2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
16072
16073         * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
16074         routines. The second one is new functionality to deal with backtracing
16075         through signal handlers.
16076         (unwind): Split into the two separate subroutines above.
16077         Update the documentation, and deal properly with sizeof (REG) different
16078         from sizeof (void*).
16079
16080 2003-12-01  Nicolas Setton  <setton@act-europe.fr>
16081
16082         * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
16083         so that the debugger can reliably access the value of the parameter,
16084         and therefore is able to display the exception name when an exception
16085         breakpoint is reached.
16086
16087 2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
16088
16089         * fmap.adb: Fix typo in warning message.
16090
16091         * g-socket.ads, g-socket.adb: Make Free a visible instance of
16092         Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
16093
16094 2003-12-01  Vincent Celier  <celier@gnat.com>
16095
16096         * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
16097         ther is no Afile.
16098         (Build_Library): Get the switches only if Default_Switches is declared
16099         in package Binder.
16100
16101 2003-12-01  Ed Schonberg  <schonberg@gnat.com>
16102
16103         * exp_ch6.adb (Expand_Actuals): When applying validity checks to
16104         actuals that are indexed components, reanalyze actual to ensure that
16105         packed array references are properly expanded.
16106
16107         * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
16108         attempted assignment to a discriminant.
16109
16110 2003-12-01  Robert Dewar  <dewar@gnat.com>
16111
16112         * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
16113         reformatting.
16114
16115         * switch-c.adb: Minor reformatting of comments
16116
16117 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
16118
16119         * Makefile.in: Clean ups.
16120
16121 2003-12-01  GNAT Script  <nobody@gnat.com>
16122
16123         * Make-lang.in: Makefile automatically updated
16124
16125 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
16126
16127         * 5wsystem.ads: Disable zero cost exception, not ready yet.
16128
16129 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
16130
16131         * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
16132         to force serialization.
16133
16134 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
16135
16136         * g-socket.ads, g-socket.adb:
16137         Clarify documentation of function Stream. Introduce a Free procedure
16138         to release the returned Stream once it becomes unused.
16139
16140         * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
16141
16142 2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
16143
16144         (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
16145         since NT 4 cannot handle timeout values that are too large,
16146         e.g. DWORD'Last - 1.
16147
16148 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
16149
16150         * exp_ch4.adb:
16151         (Expand_N_Slice): Recognize all cases of slices that appear as actuals
16152         in procedure calls and whose expansion must be deferred.
16153
16154         * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
16155         is in exp_ch4.
16156
16157         * sem_ch3.adb:
16158         (Build_Derived_Array_Type): Create operator for unconstrained type
16159         if ancestor is unconstrained.
16160
16161 2003-11-26  Vincent Celier  <celier@gnat.com>
16162
16163         * make.adb (Project_Object_Directory): New global variable
16164         (Change_To_Object_Directory): New procedure
16165         (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
16166         of Change_Dir directly. Do not change working directory to object
16167         directory of main project after each compilation.
16168         (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
16169         directly.
16170         Change to object directory of main project before binding step.
16171         (Initialize): Initialize Project_Object_Directory to No_Project
16172
16173         * mlib-prj.adb:
16174         (Build_Library): Take into account Builder'Default_Switches ("Ada") when
16175         binding a Stand-Alone Library.
16176
16177         * output.adb: Update Copyright notice
16178         (Write_Char): Output buffer when full
16179
16180 2003-11-26  Robert Dewar  <dewar@gnat.com>
16181
16182         * sem_ch13.adb: (Check_Size): Reset size if size is too small
16183
16184         * sem_ch13.ads:
16185         (Check_Size): Fix documentation to include bit-packed array case
16186
16187         * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
16188
16189         * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
16190
16191         * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
16192
16193 2003-11-24  Arnaud Charlet <charlet@act-europe.fr>
16194
16195         PR ada/13142
16196         * utils.c (init_gigi_decls): Change name of built-in setjmp to
16197         __builtin_setjmp, since this is apparently needed by recent
16198         non Ada changes.
16199
16200 2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16201
16202         * adadecode.c: Only include ctype.h if not IN_GCC.
16203         (__gnat_decode): Use ISDIGIT from safe-ctype.h.
16204
16205 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
16206
16207         * Makefile.in:
16208         Use 5zintman.ads for VxWorks targets. This file avoid confusion between
16209         signals and interrupts.
16210
16211         * 5zintman.ads: New File.
16212
16213         * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
16214         add exception signals to the set of unmasked signals.
16215
16216         * 5ztaprop.adb:
16217         Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
16218         between signals and interrupts.
16219         Add to Unblocked_Signal_Mask the set of signals that are in
16220         Keep_Unmasked.
16221
16222         * 7sinmaop.adb:
16223         Adding a check to see whether the Interrupt_ID we want to unmask is in
16224         the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
16225         reason is that the index type of the Keep_Unmasked array is not always
16226         Interrupt_ID; it may be a subtype of Interrupt_ID.
16227
16228 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
16229
16230         * exp_util.adb:
16231         (Remove_Side_Effects): Condition constantness of object created for a
16232          an unchecked type conversion on the constantness of the expression
16233          to ensure the correct value for 'Constrained when passing components
16234          of view-converted class-wide objects.
16235
16236 2003-11-24  Robert Dewar  <dewar@gnat.com>
16237
16238         * par-load.adb (Load): Improve handling of misspelled and missing units
16239         Removes several cases of compilation abandoned messages
16240
16241         * lib.adb: (Remove_Unit): New procedure
16242
16243         * lib.ads: (Remove_Unit): New procedure
16244
16245         * lib-load.adb: Minor reformatting
16246
16247 2003-11-24  Vincent Celier  <celier@gnat.com>
16248
16249         * make.adb:
16250         (Gnatmake, Initialize): Call Usage instead of Makeusg directly
16251         (Marking_Label): Label to mark processed source files. Incremented for
16252         each executable.
16253         (Gnatmake): Increase Marking_Labet for each executable
16254         (Is_Marked): Compare against marking label
16255         (Mark): Mark with marking label
16256
16257 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
16258
16259         * s-thread.ads:
16260         Move the declaration of the TSD for System.Threads to System.Soft_Links.
16261         Add some comments.
16262
16263         * Makefile.in: Added target pair for s-thread.adb for cert runtime.
16264         (rts-cert): build a single relocatable object for the run-time lib.
16265         Fix perms.
16266
16267 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
16268
16269         * Make-lang.in:
16270         Use gnatls rather than gcc to obtain the location of GNAT RTL for
16271         crosstools build.
16272
16273 2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
16274
16275         * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
16276         can not use it as before (that is, as a variable) when dumping it into
16277         the tree file. Add a local variable to store the result of this
16278         function and to be used as the string to be written into the tree.
16279
16280         * scn.adb (Initialize_Scanner): Add comments explaining the recent
16281         changes.
16282
16283         * sinput.adb (Source_First, Source_Last): In case of
16284         Internal_Source_File, replace returning attributes of
16285         Internal_Source_Ptr (which is wrong) with returning attributes of
16286         Internal_Source.
16287
16288 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
16289
16290         * sem_ch3.adb:
16291         (New_Concatenation_Op): Proper name for New_Binary_Operator, only
16292         used for implicit concatenation operators.
16293         Code cleanup.
16294
16295         * sem_elab.adb:
16296         (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
16297         task bodies that are in the scope of a Suppress pragma.
16298         (Check_A Call): Use the flag to prevent spurious elaboration checks.
16299
16300         * sinfo.ads, sinfo.adb:
16301         New flag No_Elaboration_Check on function/procedure calls, to properly
16302         suppress checks on calls in task bodies that are within a local suppress
16303         pragma.
16304
16305         * exp_ch4.adb:
16306         (Expand_Concatenate_Other): Use the proper integer type for the
16307         expression for the upper bound, to avoid universal_integer computations
16308         when possible.
16309
16310 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
16311
16312         * .cvsignore: Delete.
16313
16314 2003-11-21  Andreas Schwab  <schwab@suse.de>
16315
16316         * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
16317
16318 2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
16319
16320         * 5wsystem.ads: Enable zero cost exception.
16321
16322 2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
16323
16324         * 5ztiitho.adb: Remove an unreferenced variable.
16325
16326 2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
16327
16328         * adaint.c: For FreeBSD, use mkstemp.
16329
16330 2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
16331
16332         * gnatlbr.adb: Now reference Gnat_Static_Version_String.
16333
16334 2003-11-21  Robert Dewar  <dewar@gnat.com>
16335
16336         * bld.adb: Remove useless USE of gnatvsn
16337
16338         * gnatchop.adb: Minor reformatting
16339         Clean up version handling to be more consistent
16340
16341         * gnatxref.adb: Minor reformatting
16342
16343         * gprcmd.adb: Minor reformatting
16344         Fix output of copyright to be more consistent with other tools
16345
16346 2003-11-21  Vincent Celier  <celier@gnat.com>
16347
16348         * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
16349
16350 2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
16351
16352         * atree.adb (Initialize): Add initializations for global variables
16353         used in New_Copy_Tree.
16354
16355         * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
16356         Internal_Source_File as the actual).
16357         Put the set of statements creating Any_Character before the set of
16358         statements creating Any_Array to have Any_Character fully initialized
16359         when it is used in creating Any_Array.
16360
16361         * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
16362         not call Scan in case if the actual is Internal_Source_File
16363         Add 2003 to copyright note.
16364
16365         * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
16366         processing Internal_Source_File.
16367
16368         * types.ads: Add the constant Internal_Source_File representing the
16369         source buffer for artificial source-code-like strings created within
16370         the compiler (the definition of Source_File_Index is changed).
16371
16372 2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
16373
16374         * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
16375         56system.ads: New file, FreeBSD version.
16376
16377 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
16378
16379         * Make-lang.in (ada.extraclean): Delete.
16380
16381 2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
16382
16383         * gnatmem.adb: Clean up verbose output.
16384
16385         * gprcmd.adb: Change copyright to FSF.
16386
16387 2003-11-19  Vincent Celier  <celier@gnat.com>
16388
16389         * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
16390         and Version (ignored).
16391
16392         * symbols.ads: (Policy): New type
16393         (Initialize): New parameter Reference, Symbol_Policy and
16394         Library_Version.
16395         Remove parameter Force.
16396         Minor reformatting.
16397
16398         * snames.ads, snames.adbadb: New standard names
16399         Library_Reference_Symbol_File and Library_Symbol_Policy
16400
16401         * mlib-prj.adb:
16402         (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
16403         project.
16404
16405         * mlib-tgt.adb:
16406         (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
16407
16408         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
16409
16410         * prj.adb: (Project_Empty): New component Symbol_Data
16411
16412         * prj.ads: (Policy, Symbol_Record): New types
16413         (Project_Data): New component Symbol_Data
16414
16415         * prj-attr.adb:
16416         New attributes Library_Symbol_File, Library_Symbol_Policy and
16417         Library_Reference_Symbol_File.
16418
16419         * prj-nmsc.adb:
16420         (Ada_Check): When project is a Stand-Alone library project, process
16421         attribute Library_Symbol_File, Library_Symbol_Policy and
16422         Library_Reference_Symbol_File.
16423
16424         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
16425         5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
16426         5sml-tgt.adb (Build_Dynamic_Library): New parameter
16427         Symbol_Data (ignored).
16428
16429         * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
16430         (Build_Dynamic_Library): New parameter Symbol_Data. New internal
16431         functions Option_File_Name and Version_String. Set new options of
16432         gnatsym related to symbol file, symbol policy and reference symbol
16433         file.
16434
16435         * 5vsymbol.adb:
16436         Extensive modifications to take into account the reference symbol file,
16437         the symbol policy, the library version and to put in the symbol file the
16438         minor and major IDs.
16439
16440         * bld.adb (Process_Declarative_Items): Put second argument of
16441         gprcmd to_absolute between single quotes, to avoid problems with
16442         Windows.
16443
16444         * bld-io.adb: Update Copyright notice.
16445         (Flush): Remove last character of a line, if it is a back slash, to
16446         avoid make problems.
16447
16448         * gnatsym.adb:
16449         Implement new scheme with reference symbol file and symbol policy.
16450
16451         * g-os_lib.ads: (Is_Directory): Clarify comment
16452
16453 2003-11-19  Robert Dewar  <dewar@gnat.com>
16454
16455         * atree.adb: Move New_Copy_Tree global variables to head of package
16456
16457         * errout.adb: Minor reformatting
16458
16459 2003-11-19  Javier Miranda  <miranda@gnat.com>
16460
16461         * sem_ch4.adb: (Diagnose_Call): Improve error message.
16462         Add reference to Ada0Y (AI-50217)
16463
16464         * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
16465         sem_util.adb: Add reference to AI-50217
16466
16467         * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
16468
16469         * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
16470
16471         * sem_aggr.adb: Complete documentation of AI-287 changes
16472
16473         * par-ch4.adb: Document previous changes.
16474
16475         * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
16476         sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
16477         Ada0Y (AI-50217)
16478
16479         * exp_aggr.adb: Add references to AI-287 in previous changes
16480
16481 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
16482
16483         * exp_ch6.adb:
16484         (Add_Call_By_Copy_Node): Do not original node of rewritten expression
16485         in the rewriting is the result of an inlined call.
16486
16487         * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
16488         parameter is a type conversion, use original node to construct the
16489         post-call assignment, because expression may have been rewritten, e.g.
16490         if it is a packed array.
16491
16492         * sem_attr.adb:
16493         (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
16494         body, just as it is in an instance.
16495         Categorization routines
16496
16497         * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
16498         Instantiate_Object): Set proper sloc reference for message on missing
16499         actual.
16500
16501 2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
16502
16503         * Makefile.in: Add FreeBSD libgnat pairs.
16504
16505         * usage.adb: Fix typo in usage message.
16506
16507 2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
16508
16509         * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
16510         s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
16511         pragma Thread_Body.
16512         Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
16513
16514         * s-thread.adb: This file is now a dummy implementation of
16515         System.Thread.
16516
16517 2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
16518
16519         * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
16520
16521 2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
16522
16523         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
16524         instanciation references in the parent type description.
16525
16526 2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16527
16528         * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
16529
16530         * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
16531         TYPE_PRECISION directly from esize.
16532
16533 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
16534
16535         * cstreams.c:
16536         Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
16537
16538         * init.c: Initialization routines for FreeBSD
16539
16540         * link.c: Link info for FreeBSD
16541
16542         * sysdep.c: Add the case of FreeBSD
16543
16544 2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
16545
16546         * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
16547         already called in System.Threads.
16548
16549         * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
16550         environment task, as it has been moved to System.Threads.Initialization.
16551
16552 2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
16553
16554         * adaint.c (__gnatlib_install_locks): Only reference
16555         __gnat_install_locks on VMS, since other platforms can avoid using
16556         --enable-threads=gnat
16557
16558 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16559
16560         * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
16561
16562         * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
16563         TYPE_PACKED_ARRAY_TYPE_P.
16564         (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
16565
16566         Part of PR ada/12806
16567         * utils.c (float_type_for_precision): Renamed from float_type_for_size.
16568         Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
16569
16570 2003-11-17  Vincent Celier  <celier@gnat.com>
16571
16572         * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
16573         to False.
16574         Do not set exit status to Failure when Warning is True.
16575         (Gnatchop): Make errors "no compilation units found" and
16576         "no source files written" warnings only.
16577
16578         * make.adb (Gnatmake): When using a project file, set
16579         Look_In_Primary_Dir to False.
16580         (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
16581         and Local_Configuration_Pragmas in the project where they are declared
16582         not an extending project which might have inherited them.
16583
16584         * osint.adb (Locate_File): If Name is already an absolute path, do not
16585         look for a directory.
16586
16587         * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
16588         -gnats (Check_Syntax) is used, issue only a warning, not an error.
16589
16590         * prj.adb (Register_Default_Naming_Scheme): Add new component Project
16591         in objects of type Variable_Value.
16592
16593         * prj.ads: (Variable_Value): New component Project
16594
16595         * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
16596         is in a project extended by Project.
16597
16598         * prj-proc.adb (Add_Attributes): New parameter Project. Set component
16599         Project of Variable_Values to this new parameter value.
16600         (Expression): Set component Project of Variable_Values.
16601         (Process_Declarative_Items): Call Add_Attributes with parameter Project.
16602         Set the component Project in array elements.
16603
16604 2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
16605
16606         * errout.adb: (Initialize): Add initialization for error nodes.
16607
16608         * sem_ch12.adb (Initialize): Add missing initializations for
16609         Exchanged_Views and Hidden_Entities.
16610
16611 2003-11-17  Ed Schonberg  <schonberg@gnat.com>
16612
16613         * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
16614         already instantiated tree for use in subsequent inlining.
16615         (Analyze_Associations, Instantiate_Formal_Subprogram,
16616         Instantiate_Object): improve error message for mismatch in
16617         instantiations.
16618
16619         * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
16620         instantiations of subprograms declared in instances.
16621
16622 2003-11-17  Javier Miranda  <miranda@gnat.com>
16623
16624         * sem_ch4.adb (Analyze_Allocator): Previous modification must be
16625         executed only under the Extensions_Allowed flag.
16626
16627 2003-11-17  Robert Dewar  <dewar@gnat.com>
16628
16629         * a-exexda.adb (Address_Image): Fix documentation to indicate leading
16630         zeroes suppressed.
16631         (Address_Image): Fix bug of returning 0x instead of 0x0
16632         Minor reformatting (function specs).
16633
16634         * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
16635         (missed case of 33-63)
16636
16637         * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
16638
16639         * s-thread.adb: Add comments for pragma Restriction
16640
16641         * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
16642         sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
16643
16644 2003-11-17  Ed Falis  <falis@gnat.com>
16645
16646         * s-thread.adb: Added No_Tasking restriction for this implementation.
16647
16648 2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
16649
16650         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
16651         instanciation references in the parent type description.
16652
16653 2003-11-17  GNAT Script  <nobody@gnat.com>
16654
16655         * Make-lang.in: Makefile automatically updated
16656
16657 2003-11-16  Jason Merrill  <jason@redhat.com>
16658
16659         * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
16660         and TAGS files that include them for each front end.
16661
16662 2003-11-14  Andreas Jaeger  <aj@suse.de>
16663
16664         * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
16665         is the canonical version.
16666         * misc.c (gnat_handle_option): Likewise.
16667
16668         * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
16669
16670         * 5nsystem.ads: New file for x86_64-linux-gnu.
16671
16672 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
16673
16674         * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
16675
16676         * comperr.adb: Fix logic in previous change.
16677
16678 2003-11-13  Vincent Celier  <celier@gnat.com>
16679
16680         * 5bml-tgt.adb (Build_Dynamic_Library): Use
16681         Osint.Include_Dir_Default_Prefix instead of
16682         Sdefault.Include_Dir_Default_Name.
16683
16684         * gnatlbr.adb: Update Copyright notice
16685         (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
16686         Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
16687         instead of Sdefault.Object_Dir_Default_Name
16688
16689         * gnatlink.adb:
16690         (Process_Binder_File): Never suppress the option following -Xlinker
16691
16692         * mdll-utl.adb:
16693         (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
16694         Sdefault.Object_Dir_Default_Name.
16695
16696         * osint.ads, osint.adb:
16697         (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
16698         Minor reformatting.
16699
16700         * vms_conv.ads: Minor reformating
16701         Remove GNAT STANDARD and GNAT PSTA
16702
16703         * vms_conv.adb:
16704         Allow GNAT MAKE to have several files on the command line.
16705         (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
16706         Sdefault.Object_Dir_Default_Name.
16707         Minor Reformating
16708         Remove data for GNAT STANDARD
16709
16710         * vms_data.ads:
16711         Add new compiler qualifier /PRINT_STANDARD (-gnatS)
16712         Remove data for GNAT STANDARD
16713         Remove options and documentation for -gnatwb/-gnatwB: these warning
16714         options no longer exist.
16715
16716 2003-11-13  Ed Falis  <falis@gnat.com>
16717
16718         * 5zthrini.adb: (Init_RTS): Made visible
16719
16720         * 5zthrini.adb:
16721         (Register): Removed unnecessary call to taskVarGet that checked whether
16722          an ATSD was already set as a task var for the argument thread.
16723
16724         * s-thread.adb:
16725         Updated comment to reflect that this is a VxWorks version
16726         Added context clause for System.Threads.Initialization
16727         Added call to System.Threads.Initialization.Init_RTS
16728
16729 2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
16730
16731         * 5zthrini.adb:
16732         (Init_RTS): New procedure, for the initialization of the run-time lib.
16733
16734         * s-thread.adb:
16735         Remove dependancy on System.Init, so that this file can be used in the
16736         AE653 sequential run-time lib.
16737
16738 2003-11-13  Robert Dewar  <dewar@gnat.com>
16739
16740         * bindgen.adb: Minor reformatting
16741
16742 2003-11-13  Ed Schonberg  <schonberg@gnat.com>
16743
16744         * checks.adb:
16745         (Apply_Discriminant_Check): Do no apply check if target type is derived
16746         from source type with no applicable constraint.
16747
16748         * lib-writ.adb:
16749         (Ensure_System_Dependency): Do not apply the style checks that may have
16750         been specified for the main unit.
16751
16752         * sem_ch8.adb:
16753         (Find_Selected_Component): Further improvement in error message, with
16754         RM reference.
16755
16756         * sem_res.adb:
16757         (Resolve): Handle properly the case of an illegal overloaded protected
16758         procedure.
16759
16760 2003-11-13  Javier Miranda  <miranda@gnat.com>
16761
16762         * exp_aggr.adb:
16763         (Has_Default_Init_Comps): New function to check the presence of
16764         default initialization in an aggregate.
16765         (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
16766         extension aggregate of a limited record. In addition, a new formal
16767         was added to do not initialize the record controller (if any) during
16768         this recursive expansion of ancestors.
16769         (Init_Controller): Add support for limited record components.
16770         (Expand_Record_Aggregate): In case of default initialized components
16771         convert the aggregate into a set of assignments.
16772
16773         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
16774         describing the new syntax.
16775         Nothing else needed to be done because this subprogram delegates part of
16776         its work to P_Precord_Or_Array_Component_Association.
16777         (P_Record_Or_Array_Component_Association): Give support to the new
16778         syntax for default initialization of components.
16779
16780         * sem_aggr.adb:
16781         (Resolve_Aggregate): Relax the strictness of the frontend in case of
16782         limited aggregates.
16783         (Resolve_Record_Aggregate): Give support to default initialized
16784         components.
16785         (Get_Value): In case of default initialized components, duplicate
16786         the corresponding default expression (from the record type
16787         declaration). In case of default initialization in the *others*
16788         choice, do not check that all components have the same type.
16789         (Resolve_Extension_Aggregate): Give support to limited extension
16790         aggregates.
16791
16792         * sem_ch3.adb:
16793         (Check_Initialization): Relax the strictness of the front-end in case
16794         of aggregate and extension aggregates. This test is now done in
16795         Get_Value in a per-component manner.
16796
16797         * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
16798         expression corresponds to a limited aggregate. This test is now done
16799         in Get_Value.
16800
16801         * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
16802         Box_Present flag.
16803
16804         * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
16805         present in an N_Component_Association node
16806
16807 2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
16808
16809         * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
16810         type-conformant entry only if they are homographs.
16811
16812 2003-11-13  GNAT Script  <nobody@gnat.com>
16813
16814         * Make-lang.in: Makefile automatically updated
16815
16816 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16817
16818         * adadecode.c: Use <> form of include for ctype.h.
16819         * sysdep.c [IN_RTS]: Use <> form of include for time.h.
16820
16821 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16822
16823         * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
16824         Works around PR middle-end/6552.
16825
16826 2003-11-10  Ed Falis  <falis@gnat.com>
16827
16828         * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
16829
16830         * 5zinit.adb: (Install_Handler): Moved back to spec
16831         (Install_Signal_Handlers): Deleted
16832
16833         * 5zthrini.adb: Added context clause for System.Storage_Elements
16834         (Register): Only handles creation of taskVar; initialization moved to
16835         Thread_Body_Enter.
16836         (Reset_TSD): Deleted; replaced by Thread_Body_Enter
16837         Added declaration of environment task secondary stack and
16838         initialization.
16839
16840         * s-thread.adb: Implement bodies for thread body processing
16841
16842         * s-thread.ads:
16843         Added comment identifying supported targets for pragma Thread_Body.
16844
16845 2003-11-10  Pascal Obry  <obry@gnat.com>
16846
16847         * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
16848         GNAT_MAX_PATH_LEN.
16849
16850         * s-fileio.adb:
16851         (Open): Properly check for string length before copying into the buffer.
16852         Raises Name_Error if buffer is too small. Note that this was a potential
16853         buffer overflow.
16854
16855 2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
16856
16857         * bindgen.adb, comperr.adb: Code clean ups.
16858         * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
16859
16860 2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
16861
16862         * gnat1drv.adb: Add call to Sem_Elim.Initialize.
16863
16864 2003-11-10  Vincent Celier  <celier@gnat.com>
16865
16866         * gprcmd.adb:
16867         (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
16868         installation.
16869
16870         * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
16871
16872         * prj.adb: (Project_Empty): Add new boolean component Virtual
16873
16874         * prj.ads: (Virtual_Prefix): New constant string
16875         (Project_Data): New boolean component Virtual
16876
16877         * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
16878         a library project is extended by a virtual extending project.
16879
16880         * prj-part.adb:
16881         Modifications throughout to implement extending-all project, including:
16882         (Virtual_Hash, Processed_Hash): New hash tables
16883         (Create_Virtual_Extending_Project): New procedure
16884         (Look_For_Virtual_Projects_For): New procedure
16885
16886         * prj-proc.adb:
16887         (Process): After checking the projects, if main project is an
16888         extending-all project, set the object directory of all virtual extending
16889         project to the object directory of the main project.
16890         Adjust error message when a virtual extending project has the same
16891         object directory as an project being extended.
16892         (Recursive_Process): If name starts with the virtual prefix, set Virtual
16893         to True in the project data.
16894
16895         * prj-tree.adb:
16896         (Default_Project_Node): Add new boolean component Extending_All
16897         (Is_Extending_All): New function
16898         (Set_Is_Extending_All): New procedure
16899
16900         * prj-tree.ads: (Is_Extending_All): New function
16901         (Set_Is_Extending_All): New procedure
16902         (Project_Node_Record): New boolean component Extending_All
16903
16904         * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
16905
16906         * vms_data.ads:
16907         Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
16908
16909         * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
16910         "gprcmd prefix" to define it.
16911
16912 2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
16913
16914         * einfo.ads: Fix a typo and remove an extraneous word in comments.
16915
16916         * lib-load.adb:
16917         (Create_Dummy_Package_Unit): Set the scope of the entity for the
16918         created dummy package to Standard_Standard, not to itself, to
16919         defend other parts of the front-end against encoutering a cycle in
16920         the scope chain.
16921
16922         * sem_ch10.adb:
16923         (Analyze_With_Clause): When setting the entities for the successive
16924         N_Expanded_Names that constitute the name of a child unit, do not
16925         attempt to go further than Standard_Standard in the chain of scopes.
16926         This case arises from the placeholder units created by
16927         Create_Dummy_Package_Unit in the case of a with_clause for a
16928         nonexistent child unit.
16929
16930 2003-11-10  Ed Schonberg  <schonberg@gnat.com>
16931
16932         * exp_ch6.adb:
16933         (Expand_Thread_Body): Place subprogram on scope stack, so that new
16934         declarations are given the proper scope.
16935
16936         * sem_ch13.adb:
16937         (Check_Expr_Constants): Reject an expression that contains a constant
16938         created during expansion, and that appears after the object to which
16939         the address clause applies.
16940
16941         * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
16942         Analyze_Iteration_Scheme, to rewrite a loop parameter specification
16943         that uses 'Range of a function call with controlled components, so
16944         that the function result can be finalized before starting the loop.
16945
16946         * sem_ch8.adb:
16947         (Find_Selected_Component): Improve error message when prefix is
16948         an implicit dereference of an incomplete type.
16949
16950 2003-11-10  Robert Dewar  <dewar@gnat.com>
16951
16952         * opt.ads: New Print_Standard flag for -gnatS switch
16953
16954         * sem_ch13.adb: Remove some additional checks for unaligned arrays
16955
16956         * cstand.adb (Create_Standard): Print out package standard if -gnatS
16957         switch set
16958
16959         * debug.adb: Update doc for -gnatds to discuss relationship with new
16960         -gnatS flag
16961
16962         * sinfo.adb: Add new field Entity_Or_Associated_Node
16963
16964         * sinfo.ads: Add new field Entity_Or_Associated_Node
16965         Update documentation for Associated_Node and Entity fields to clarify
16966         relationship and usage.
16967
16968         * sprint.adb:
16969         (Write_Id): Properly process Associated_Node field in generic template
16970
16971         * switch-c.adb:
16972         Recognize new -gnatS switch for printing package Standard
16973         This replaces gnatpsta
16974
16975         * usage.adb:
16976         Add line for  new -gnatS switch for printing package Standard
16977         This replaces gnatpsta
16978
16979 2003-11-10  Andreas Jaeger  <aj@suse.de>
16980
16981         * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
16982         integer.
16983
16984 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
16985
16986         * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
16987         by gnat1.
16988
16989 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
16990
16991         * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
16992         no longer needed.
16993
16994         * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
16995
16996         * sysdep.c: Add handling of cygwin.
16997
16998 2003-11-10  GNAT Script  <nobody@gnat.com>
16999
17000         * Make-lang.in: Makefile automatically updated
17001
17002 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
17003
17004         PR 12950
17005         * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
17006         functions. Used to handle dynamic prefix relocation, via set_std_prefix.
17007         Replace GNAT_ROOT by GCC_ROOT.
17008
17009         * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
17010
17011 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
17012
17013         * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
17014         and update for changed meaning of GET_MODE_BITSIZE.
17015
17016 2003-11-04  Doug Rupp  <rupp@gnat.com>
17017
17018         * sysdep.c: Problem discovered during IA64 VMS port.
17019         [VMS] #include <unixio.h> to get proper prototypes.
17020
17021         * adaint.c:
17022         Issues discovered/problems fixed during IA64 VMS port.
17023         [VMS] #define _POSIX_EXIT for proper semantics.
17024         [VMS] #include <unixio.h> for proper prototypes.
17025         [VMS] (fork): #define IA64 version.
17026         (__gnat_os_exit): Remove unnecessary VMS specific code.
17027
17028 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17029
17030         Part of PR ada/12806
17031
17032         * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
17033         tree, not integer.
17034
17035         * decl.c:
17036         (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
17037         not integer.
17038
17039         * targtyps.c, decl.c, misc.c,
17040         gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
17041         routines to work around change in FP sizing semantics in GCC.
17042
17043         * utils.c:
17044         (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
17045
17046         * gigi.h: (enumerate_modes): New function.
17047
17048         * Make-lang.in: (ada/misc.o): Add real.h.
17049
17050         * misc.c: (enumerate_modes): New function.
17051
17052 2003-11-04  Robert Dewar  <dewar@gnat.com>
17053
17054         * 3vtrasym.adb: Minor reformatting
17055         Use terminology encoded/decoded name, rather than C++ specific notion
17056         of mangling (this is the terminology used throughout GNAT).
17057
17058         * einfo.h: Regenerated
17059
17060         * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
17061
17062         * exp_ch6.adb:
17063         (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
17064
17065         * par-prag.adb: Add dummy entry for Thread_Body pragma
17066
17067         * rtsfind.ads:
17068         Add entries for System.Threads entities for thread body processing
17069
17070         * sem_attr.adb:
17071         (Analyze_Pragma, Access attributes): Check these are not applied to a
17072         thread body, since this is not permitted
17073
17074         * sem_prag.adb: Add processing for Thread_Body pragma.
17075         Minor comment fix.
17076
17077         * sem_res.adb:
17078         (Resolve_Call): Check for incorrect attempt to call a thread body
17079          procedure with a direct call.
17080
17081         * snames.ads, snames.adb: Add entry for Thread_Body pragma
17082         Add names associated with thread body expansion
17083
17084         * snames.h: Add entry for Thread_Body pragma
17085
17086         * s-thread.adb: Add entries for thread body processing
17087         These are dummy bodies so far
17088
17089         * s-thread.ads: Add documentation on thread body handling.
17090         Add entries for thread body processing.
17091
17092 2003-11-04  Javier Miranda  <miranda@gnat.com>
17093
17094         * sem_ch10.adb:
17095         (Build_Limited_Views): Return after posting an error in case of limited
17096         with_clause on subprograms, generics, instances or generic renamings
17097         (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
17098         on subprograms, generics, instances or generic renamings
17099
17100 2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
17101
17102         * raise.c (setup_to_install): Correct mistake in last revision; two
17103         arguments out of order.
17104
17105         * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
17106         gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
17107         notice, missed in previous change.
17108         Remove trailing blanks and other style errors introduced in previous
17109         change.
17110
17111 2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
17112
17113         * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
17114         rid of the wrapper for a LJM type, ensuring we don't do that if the
17115         field is addressable.  This avoids potential low level type view
17116         mismatches later on, for instance in a by-reference argument passing
17117         process.
17118
17119 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17120
17121         * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
17122         aligned at byte boundary.
17123
17124 2003-11-04  Joel Brobecker  <brobecker@gnat.com>
17125
17126         * decl.c (components_to_record): Do not delete the empty variants from
17127         the end of the union type.
17128
17129 2003-11-04  Ed Schonberg  <schonberg@gnat.com>
17130
17131         * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
17132         operation for a derived type, an explicit declaration may use a local
17133         subtype of Boolean.
17134
17135 2003-11-04  Vincent Celier  <celier@gnat.com>
17136
17137         * make.adb (Gnatmake): Allow main sources on the command line with a
17138         library project when it is only for compilation (no binding or
17139         linking).
17140
17141 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17142
17143         * Makefile.in: Remove many duplicate variables.
17144
17145 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
17146
17147         * Make-lang.in (dvi): Move targets to $(docobjdir).
17148         (gnat_ug_vms.dvi): Simplify rule and adjust target.
17149         (gnat_ug_wnt.dvi): Likewise.
17150         (gnat_ug_unx.dvi): Likewise.
17151         (gnat_ug_vxw.dvi): Likewise.
17152         (gnat_rm.dvi): Likewise.
17153         (gnat-style.dvi): Likewise.
17154
17155 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
17156
17157         * gigi.h: Missed commit from update for C90.
17158
17159 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
17160
17161         * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
17162
17163 2003-10-31  Andreas Schwab  <schwab@suse.de>
17164
17165         * raise.c (get_action_description_for): Fix typo in last change.
17166
17167 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
17168
17169         PR ada/12761
17170         * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
17171         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
17172
17173 2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
17174
17175         * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
17176         ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
17177         gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
17178         sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
17179         trans.c, utils.c, utils2.c: Convert function prototypes to C90.
17180
17181 2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
17182
17183         * 3vtrasym.adb:
17184         Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
17185         numbers when symbol name is too long.
17186
17187 2003-10-30  Ed Falis  <falis@gnat.com>
17188
17189         * g-signal.ads, g-signal.adb: New files
17190
17191         * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
17192
17193         * Makefile.rtl: Introduce GNAT.Signals
17194
17195 2003-10-30  Robert Dewar  <dewar@gnat.com>
17196
17197         * freeze.adb: Minor reformatting
17198
17199         * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
17200
17201         * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
17202         par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
17203         New handling of Id_Check parameter to improve recognition of keywords
17204         used as identifiers.
17205         Update copyright notice to include 2003
17206
17207 2003-10-29  Robert Dewar  <dewar@gnat.com>
17208
17209         * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
17210         sem_ch10.adb: Minor reformatting
17211
17212         * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
17213         (Expand_Assign_Record): Test right hand side for bit unaligned as well
17214
17215 2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
17216
17217         * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
17218         Support for TBK$SYMBOLIZE-based symbolic traceback.
17219
17220 2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
17221
17222         * exp_disp.adb:
17223         Revert previous change, that did not work well when pragma No_Run_Time
17224         was used in conjunction with a run-time other than ZFP.
17225
17226 2003-10-29  Vincent Celier  <celier@gnat.com>
17227
17228         * make.adb:
17229         (Gnatmake): When there are no Ada mains in attribute Main, disable the
17230          bind and link steps only is switch -z is not used.
17231
17232 2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
17233
17234         * Makefile.generic: Remove duplicated setting of CC.
17235
17236         * Makefile.prolog: Set CC to gcc by default, to override make's
17237         default (cc).
17238
17239         * einfo.h: Regenerated.
17240
17241 2003-10-29  Ed Schonberg  <schonberg@gnat.com>
17242
17243         * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
17244         current body, after compiling subunit.
17245
17246         * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
17247         when in deleted code, because gigi needs properly ordered freeze
17248         actions to annotate types.
17249
17250         * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
17251         prevent the premature freezing of record type that contains
17252         subcomponents with a private type that does not yet have a completion.
17253
17254 2003-10-29  Javier Miranda  <miranda@gnat.com>
17255
17256         * sem_ch12.adb:
17257         (Analyze_Package_Instantiation): Check that instances can not be used in
17258         limited with_clauses.
17259
17260         * sem_ch8.adb:
17261         (Analyze_Package_Renaming): Check that limited withed packages cannot
17262         be renamed. Improve text on error messages related to limited
17263         with_clauses.
17264
17265         * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
17266
17267         * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
17268         Update copyright notice.
17269
17270         * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
17271         (Install_Limited_Context_Clauses): New subprogram that isolates all the
17272         checks required for limited context_clauses and installs the limited
17273         view.
17274         (Install_Limited_Withed_Unit): Complete its documentation.
17275         (Analyze_Context): Check that limited with_clauses are only allowed in
17276         package specs.
17277         (Install_Context): Call Install_Limited_Context_Clauses after the
17278         parents have been installed.
17279         (Install_Limited_Withed_Unit): Add documentation. Mark the installed
17280         package as 'From_With_Type'; this mark indicates that the limited view
17281         is installed. Used to check bad usages of limited with_clauses.
17282         (Build_Limited_Views): Do not add shadow entities to the scope's list
17283         of entities. Do not add real entities to the Non_Limited_Views chain.
17284         Improve error notification.
17285         (Remove_Context_Clauses): Remove context clauses in two phases:
17286         limited views first and regular views later (to maintain the
17287         stack model).
17288         (Remove_Limited_With_Clause): If the package is analyzed then reinstall
17289         its visible entities.
17290
17291 2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
17292
17293         * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
17294         with any type that Is_Fixed_Point_Type.
17295
17296         * sinfo.ads: Fix documentation for Associated_Node attribute.
17297
17298 2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
17299
17300         * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
17301         both '-gnatc' and '-gnatt' are specified.
17302
17303         * atree.adb (Initialize): Add initialization for Node_Count (set to
17304         zero).
17305
17306 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17307
17308         * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
17309         do not consider as Pure.
17310
17311         Part of implementation of function-at-a-time:
17312
17313         * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
17314         (tree_transform): Add new argument to build_component_ref.
17315         (tree_transform, case N_Assignment_Statement): Make and return an
17316         EXPR_STMT.
17317         (tree_transform): If result IS_STMT, set flags and return it.
17318         (gnat_expand_stmt, set_lineno_from_sloc): New functions.
17319
17320         * utils2.c (build_simple_component_ref, build_component_ref): Add new
17321         arg, NO_FOLD_P.
17322         (build_binary_op, case EQ_EXPR): Pass additional arg to it.
17323         (build_allocator): Likewise.
17324
17325         * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
17326         Add new arg to build_component_ref.
17327         (maybe_unconstrained_array, unchecked_convert): Likewise.
17328
17329         * ada-tree.def (EXPR_STMT): New code.
17330
17331         * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
17332
17333         * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
17334         build_component_ref calls.
17335
17336         * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
17337
17338         * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
17339         (build_component_ref): Add new argument, NO_FOLD_P.
17340
17341 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
17342
17343         * Makefile.generic: Add missing substitution on object_deps handling.
17344
17345         PR ada/5909:
17346         * Make-lang.in (check-ada): Enable ACATS test suite.
17347
17348 2003-10-27  Robert Dewar  <dewar@gnat.com>
17349
17350         * exp_ch3.adb:
17351         (Freeze_Array_Type): We do not need an initialization routine for types
17352         derived from String or Wide_String. They should be treated the same
17353         as String and Wide_String themselves. This caused problems with the
17354         use of Initialize_Scalars.
17355
17356         * exp_ch5.adb:
17357         (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
17358         composites. This allows use of component clauses that are not byte
17359         aligned.
17360
17361         * sem_prag.adb:
17362         (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
17363         is an attempt to pack an array of atomic objects.
17364
17365         * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
17366
17367 2003-10-27  Pascal Obry  <obry@gnat.com>
17368
17369         * g-dirope.adb:
17370         (Basename): Check for drive letters in a pathname only on DOS based OS.
17371
17372 2003-10-27  Vincent Celier  <celier@gnat.com>
17373
17374         * make.adb:
17375         (Gnatmake): When unable to change dir to the object dir, display the
17376         content of the parent dir of the obj dir, to try to understand why this
17377         happens.
17378
17379 2003-10-27  GNAT Script  <nobody@gnat.com>
17380
17381         * Make-lang.in: Makefile automatically updated
17382
17383 2003-10-27  Ed Schonberg  <schonberg@gnat.com>
17384
17385         * sem_ch12.adb:
17386         (Inline_Instance_Body): Indicate that the save/restore of use_clauses
17387         should not be done in Save/Restore_Scope_Stack, because it is performed
17388         locally.
17389
17390         * sem_ch8.adb:
17391         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
17392         whether use clauses should be removed/restored.
17393
17394         * sem_ch8.ads:
17395         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
17396         whether use clauses should be removed/restored.
17397
17398 2003-10-26  Andreas Jaeger  <aj@suse.de>
17399
17400         * Makefile.in: Remove duplicated lines.
17401
17402 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
17403
17404         * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
17405         minimize the differences with ACT tree.
17406
17407         * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
17408         gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
17409         Gnatvsn.Gnat_Static_Version_String to reduce differences between
17410         ACT and FSF trees.
17411
17412 2003-10-24  Pascal Obry  <obry@gnat.com>
17413
17414         * adadecode.c (ostrcpy): New function.
17415         (__gnat_decode): Use ostrcpy of strcpy.
17416         (has_prefix): Set first parameter a const.
17417         (has_suffix): Set first parameter a const.
17418         Update copyright notice. Fix source name in header.
17419         Removes a trailing space.
17420         PR ada/12014.
17421
17422 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
17423
17424         * exp_disp.adb:
17425         Remove the test against being in No_Run_Time_Mode before generating a
17426         call to Register_Tag. It is redundant with the test against the
17427         availability of the function Register_Tag.
17428
17429 2003-10-24  Vincent Celier  <celier@gnat.com>
17430
17431         * g-catiio.adb: (Month_Name): Correct spelling of February
17432
17433         * make.adb: (Mains): New package
17434         (Initialize): Call Mains.Delete
17435         (Gnatmake): Check that each main on the command line is a source of a
17436         project file and, if there are several mains, each of them is a source
17437         of the same project file.
17438         (Gnatmake): When a foreign language is specified in attribute Languages,
17439         no main is specified on the command line and attribute Mains is not
17440         empty, only build the Ada main. If there is no Ada main, just compile
17441         the Ada sources and their closure.
17442         (Gnatmake): If a main is specified on the command line with directory
17443         information, check that the source exists and, if it does, that the path
17444         is the actual path of a source of a project.
17445
17446         * prj-env.adb:
17447         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
17448         Full_Path is True, return the full path instead of the simple file name.
17449         (Project_Of): New function
17450
17451         * prj-env.ads:
17452         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
17453         defaulted to False.
17454         (Project_Of): New function
17455
17456 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
17457
17458         * Makefile.generic:
17459         Ensure objects of main project are always checked and rebuilt if needed.
17460         Set CC to gcc by default.
17461         Prepare new handling of link by creating a global archive (not activated
17462         yet).
17463
17464         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
17465         stringt.h: Update copyright notice. Remove trailing blanks.
17466         Fix source name in header.
17467
17468 2003-10-24  Robert Dewar  <dewar@gnat.com>
17469
17470         * sem_ch12.adb: Minor reformatting
17471
17472         * sem_ch3.adb:
17473         Minor reformatting (including new function return style throughout)
17474
17475         * sem_ch3.ads:
17476         Minor reformatting (including new function return style throughout)
17477
17478 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
17479
17480         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
17481         stringt.h: Update copyright notice. Remove trailing blanks.
17482         Fix source name in header.
17483
17484 2003-10-24  GNAT Script  <nobody@gnat.com>
17485
17486         * Make-lang.in: Makefile automatically updated
17487
17488 2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
17489
17490         * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
17491         stringt.h: Convert to ISO C90 declarations and definitions.
17492
17493 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
17494
17495         PR ada/11978:
17496         * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
17497         External_Tag attribute definition clauses.
17498
17499 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
17500
17501         PR ada/7613:
17502         * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
17503         child unit, generate a fully qualified name to avoid spurious errors
17504         when the context contains renamings of different child units with
17505         the same simple name.
17506
17507         * exp_dbug.ads: Add documentation on name qualification for renamings
17508         of child units.
17509
17510 2003-10-23  Robert Dewar  <dewar@gnat.com>
17511
17512         * g-regpat.ads, g-regpat.adb: Minor reformatting
17513
17514 2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
17515
17516         * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
17517
17518 2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17519
17520         * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
17521         Machine call.
17522
17523         * urealp.h: (Machine): Update to proper definition.
17524
17525 2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
17526
17527         * init.c, adaint.c: Minor reformatting.
17528
17529 2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
17530
17531         * adaint.c (w32_epoch_offset): Define static const at file level.
17532         (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
17533         rather than t_create, t_access in call to GetFileTime. Use union
17534         to convert between FILETIME and  unsigned long long.
17535         (__gnat_file_time_name): Test for invalid file handle.
17536         (__gnat_set_filetime_name): Support win32 targets using
17537         w32api SetFileTime.
17538
17539 2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
17540
17541         * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
17542
17543         * ctrl_c.c (__gnat_int_handler): Remove declaration.
17544
17545         * decl.c (creat_concat_name):  Const-ify prefix.
17546
17547         * adaint.c: Include ctype.h if __MINGW32__.
17548         (__gnat_readlink): Mark arguments as possibly unused.
17549         (__gnat_symlink): Likewise.
17550         (__gnat_is_symbolic_link): Likewise.
17551         (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
17552         declaration
17553         (__gnat_file_time_name): Don't declare struct stat statbuf when
17554         not needed.
17555         (__gnat_is_absolute_path): Add parenthesis around condition of
17556         'if' statement to avoid warning.
17557         (__gnat_plist_init): Specify void as parameter.
17558         (plist_enter): Likewise.
17559         (plist_leave): Likewise.
17560         (remove_handle): Make static. Initialize prev.
17561
17562 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
17563
17564         * Makefile.in: Disable build of gnatpsta. PR ada/10110.
17565         * cstreams.c (__gnat_full_name): Minor improvements and clean up
17566         of previous change.
17567
17568 2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17569
17570         * tracebak.c (MAX): Avoid redefinition warning.
17571
17572         * init.c [sgi] (__gnat_error_handler): Remove i, unused.
17573         Change msg to const char *.
17574         (__gnat_install_handler): Remove ss, unused.
17575         [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
17576         to const char *.
17577         * cstreams.c (__gnat_full_name): Declare p only when used.
17578         (__gnat_full_name) [sgi] Return buffer.
17579
17580 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
17581
17582         * mingw32.h: New file.
17583         * gnat_wrapper.adb: New file.
17584
17585 2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
17586
17587         * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
17588         string match a pre compiled regular expression (the corresponding
17589         version of the function working on a raw regular expression)
17590         Fix typos in various comments
17591         Update copyright notice in spec
17592
17593 2003-10-21  Gary Dismukes  <dismukes@gnat.com>
17594
17595         * exp_ch3.adb:
17596         (Component_Needs_Simple_Initialization): Return False when the type is a
17597         packed bit array. Revise spec comments to document this case.
17598
17599         * exp_prag.adb:
17600         (Expand_Pragma_Import): Set any expression on the imported object to
17601         empty to avoid initializing imported objects (in particular this
17602         covers the case of zero-initialization of bit arrays).
17603         Update copyright notice.
17604
17605 2003-10-21  Ed Schonberg  <schonberg@gnat.com>
17606
17607         * sem_ch12.adb:
17608         (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
17609         a subunit is missing.
17610         (Instantiate_Subprogram_Body): If body of function is missing, set type
17611         of return expression explicitly in dummy body, to prevent cascaded
17612         errors when a subunit is missing.
17613         Fixes PR 5677.
17614
17615         * sem_ch3.adb:
17616         (Access_Subprogram_Declaration): Verify that return type is valid.
17617         Fixes PR 8693.
17618
17619         * sem_elab.adb:
17620         (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
17621         generic.
17622         Fixes PR 12318.
17623
17624         * sem_util.adb:
17625         (Corresponding_Discriminant): If the scope of the discriminant is a
17626         private type without discriminant, use its full view.
17627         Fixes PR 8247.
17628
17629 2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
17630
17631         * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
17632         3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
17633         3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
17634         55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
17635         56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
17636         59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
17637         5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
17638         5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
17639         5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
17640         5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
17641         5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
17642         5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
17643         5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
17644         5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
17645         7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
17646         a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
17647         a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
17648         a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
17649         bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
17650         erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
17651         err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
17652         g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
17653         g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
17654         g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
17655         g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
17656         g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
17657         g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
17658         gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
17659         g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
17660         g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
17661         i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
17662         prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
17663         prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
17664         s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
17665         s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
17666         s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
17667         s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
17668         s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
17669         s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
17670         s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
17671         s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
17672         socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
17673         s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
17674         s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
17675         s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
17676         styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
17677         s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
17678         tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
17679         vms_conv.ads, vms_conv.adb, vms_data.ads,
17680         vxaddr2line.adb: Files added. Merge with ACT tree.
17681
17682         * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
17683         5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
17684         5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
17685         5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
17686         g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
17687         s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
17688         s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
17689         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
17690         s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
17691         s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
17692
17693         * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
17694         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
17695         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
17696         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
17697         4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
17698         4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
17699         4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
17700         4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
17701         51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
17702         53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
17703         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
17704         5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
17705         5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
17706         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
17707         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
17708         5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
17709         5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
17710         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
17711         5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
17712         5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
17713         5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
17714         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
17715         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
17716         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
17717         5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
17718         5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
17719         5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
17720         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
17721         5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
17722         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
17723         5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
17724         5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
17725         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
17726         5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
17727         6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
17728         7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
17729         7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
17730         a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
17731         a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
17732         a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
17733         a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
17734         a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
17735         ali.adb, ali.ads, ali-util.adb, ali-util.ads,
17736         a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
17737         a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
17738         a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
17739         a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
17740         a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
17741         a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
17742         a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
17743         a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
17744         a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
17745         a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
17746         a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
17747         a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
17748         atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
17749         a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
17750         a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
17751         bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
17752         checks.adb, checks.ads, cio.c, comperr.adb,
17753         comperr.ads, csets.adb, cstand.adb, cstreams.c,
17754         debug_a.adb, debug_a.ads, debug.adb, decl.c,
17755         einfo.adb, einfo.ads, errout.adb, errout.ads,
17756         eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
17757         expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
17758         exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
17759         exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
17760         exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
17761         exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
17762         exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
17763         exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
17764         exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
17765         fe.h, fmap.adb, fmap.ads, fname.adb,
17766         fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
17767         freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
17768         g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
17769         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
17770         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
17771         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
17772         g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
17773         g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
17774         g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
17775         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
17776         g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
17777         g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
17778         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
17779         g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
17780         gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
17781         gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
17782         gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
17783         gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
17784         gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
17785         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
17786         g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
17787         g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
17788         g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
17789         g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
17790         g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
17791         g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
17792         g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
17793         i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
17794         i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
17795         inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
17796         itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
17797         layout.adb, lib.adb, lib.ads, lib-list.adb,
17798         lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
17799         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
17800         link.c, live.adb, make.adb, make.ads,
17801         Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
17802         mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
17803         mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
17804         misc.c, mkdir.c, mlib.adb, mlib.ads,
17805         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
17806         mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
17807         namet.adb, namet.ads, namet.h, nlists.ads,
17808         nlists.h, nmake.adt, opt.adb, opt.ads,
17809         osint.adb, osint.ads, osint-b.adb, osint-c.adb,
17810         par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
17811         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
17812         par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
17813         par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
17814         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
17815         prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
17816         prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
17817         prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
17818         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
17819         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
17820         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
17821         prj-util.adb, prj-util.ads, raise.c, raise.h,
17822         repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
17823         rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
17824         s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
17825         s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
17826         scans.ads, scn.adb, scn.ads, s-crc32.adb,
17827         s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
17828         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
17829         sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
17830         sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
17831         sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
17832         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
17833         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
17834         sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
17835         sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
17836         sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
17837         sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
17838         sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
17839         s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
17840         s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
17841         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
17842         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
17843         s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
17844         s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
17845         s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
17846         sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
17847         sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
17848         sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
17849         s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
17850         s-memory.adb, s-memory.ads, snames.adb, snames.ads,
17851         snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
17852         s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
17853         s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
17854         s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
17855         s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
17856         s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
17857         s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
17858         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
17859         s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
17860         s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
17861         s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
17862         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
17863         s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
17864         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
17865         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
17866         s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
17867         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
17868         stringt.adb, stringt.ads, stringt.h, style.ads,
17869         stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
17870         s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
17871         s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
17872         switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
17873         s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
17874         table.adb, table.ads, targparm.adb, targparm.ads,
17875         targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
17876         trans.c, tree_io.adb, treepr.adb, treeprs.adt,
17877         ttypes.ads, types.ads, types.h, uintp.adb,
17878         uintp.ads, uintp.h, uname.adb, urealp.adb,
17879         urealp.ads, urealp.h, usage.adb, utils2.c,
17880         utils.c, validsw.adb, validsw.ads, widechar.adb,
17881         xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
17882         xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
17883         einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
17884         gnatvsn.ads: Merge with ACT tree.
17885
17886         * gnatvsn.adb: Rewritten in a simpler and more efficient way.
17887
17888 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
17889
17890         * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
17891         (gnat_ug_vmx.info): Likewise.
17892         (gnat_ug_vxw.info): Likewise.
17893         (gnat_ug_wnt.info): Likewise.
17894         (gnat_rm.info): Likewise.
17895         (gnat-style.info): Likewise.
17896
17897         * Make-lang.in (ada.install-info): Remove target.
17898         (info): New target.
17899         (install-info): Likewise.
17900         (gnat_ug_unx.info): Simplify rule.
17901         (gnat_ug_vmx.info): Likewise.
17902         (gnat_ug_vxw.info): Likewise.
17903         (gnat_ug_wnt.info): Likewise.
17904         (gnat_rm.info): Likewise.
17905         (gnat-style.info): Likewise.
17906
17907 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
17908
17909         * Make-lang.in: Replace uses of $(target_alias) with
17910         $(target_noncanonical).
17911         * ada/Makefile.in: Remove unused mention of $(target_alias).
17912
17913 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
17914
17915         * Make-lang.in (ada.info): Replace with ...
17916         (info): ... this.
17917         (ada.dvi): Replace with ...
17918         (dvi): ... this.
17919
17920 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
17921
17922         * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
17923         initialize dconstp5 and dconstmp5.
17924
17925 2003-09-28  Richard Henderson  <rth@redhat.com>
17926
17927         * trans.c (tree_transform): Update call to expand_asm_operands.
17928
17929 2003-09-21  Richard Henderson  <rth@redhat.com>
17930
17931         * trans.c, utils.c: Revert.
17932
17933 2003-09-21  Richard Henderson  <rth@redhat.com>
17934
17935         * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
17936         change to const.
17937
17938 2003-09-04  Michael Matz  <matz@suse.de>
17939
17940         * misc.c: Include "target.h".
17941         * Make-lang.in (misc.o): Add dependency on target.h.
17942
17943 2003-09-03  DJ Delorie  <dj@redhat.com>
17944
17945         * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
17946         hook.
17947
17948 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
17949
17950         * Makefile.in: Update substitutions to match changes to
17951         configure.  Use include directives instead of @-insertions
17952         to read in host and target fragments.  Add a rule to
17953         regenerate ada/Makefile.
17954
17955 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
17956
17957         * lang-options.h: Remove.
17958         * lang.opt: Add help text.
17959
17960 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
17961
17962         * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
17963         calls.
17964
17965 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
17966
17967         * misc.c (gnat_handle_option): Don't handle filenames.
17968
17969 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
17970
17971         * Make-lang.in: Replace PWD with PWD_COMMAND.
17972         * Makefile.adalib: Likewise.
17973         * Makefile.in: Likewise.
17974
17975 2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
17976
17977         * misc.c (gnat_argv): Revert last change.
17978         (gnat_handle_option, gnat_init_options): Copy arguments.
17979
17980 2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
17981
17982         * misc.c (gnat_argv): Make const.
17983
17984 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
17985
17986         * misc.c (save_argc, save_argv): Keep non-static!
17987
17988 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
17989
17990         * misc.c (save_argc, save_argv): Make static.
17991         (gnat_init_options): New prototype.
17992         (gnat_init_options): Update.
17993
17994 2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
17995
17996         * gnat_ug.texi: Remove unlikely characters from @vars.
17997         * gnat_ug_vms.texi: Regenerate.
17998
17999 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
18000
18001         * misc.c (record_code_position): Adjust emit_note call.
18002
18003 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
18004
18005         * misc.c (gnat_handle_option): Don't check for missing arguments.
18006
18007 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
18008
18009         * utils.c (end_subprog_body): Adjust expand_function_end call.
18010
18011 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
18012
18013         * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
18014         Bind_Main_Program.
18015
18016 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
18017
18018         * lang.opt: Declare Ada.
18019         * misc.c (gnat_init_options): Update.
18020
18021 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
18022
18023         * utils.c (begin_subprog_body): Adjust init_function_start call.
18024
18025 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
18026
18027         * Make-lang.in: Update to use options.c and options.h.
18028         * misc.c: Include options.h not aoptions.h.
18029         (gnat_handle_option): Abort on unrecognized switch.
18030         (gnat_init_options): Request Ada switches.
18031
18032 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
18033
18034         * lang.opt: Add -Wall.
18035         * misc.c (gnat_handle_option): Handle it.
18036
18037 2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
18038
18039         * misc.c (gnat_handle_option): Fix warnings.
18040
18041 2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
18042
18043         * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
18044
18045 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
18046
18047         * Make-lang.in: Update to handle command-line options.
18048         * lang.opt: New file.
18049         * misc.c: Include aoptions.h.
18050         (cl_options_count, cl_options): Remove.
18051         (gnat_handle_option): New.
18052         (gnat_decode_option): Remove.
18053         (LANG_HOOKS_DECODE_OPTION): Remove.
18054         (LANG_HOOKS_HANDLE_OPTION): Override.
18055
18056 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
18057
18058         * init.c, misc.c, trans.c, utils.c: Remove dead code.
18059
18060 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
18061
18062         * Makefile.in: Replace "host_canonical" with "host" for autoconf
18063         substitution.
18064
18065 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
18066
18067         * Make-lang.in: Update.
18068         * misc.c: Include opts.h. Define cl_options_count and cl_options.
18069
18070 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
18071
18072         * misc.c (gnat_init_options): Update.
18073
18074 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
18075
18076         * Make-lang.in (ada/b_gnatb.o-warn): Remove.
18077         * bindgen.adb (Gen_Main_C): Mark ensure_reference with
18078         __attribute__ ((__unused__)).
18079
18080 2003-06-05  Jan Hubicka  <jh@suse.cz>
18081
18082         * Make-lang.in:  Add support for stageprofile and stagefeedback
18083
18084 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
18085
18086         * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
18087         (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
18088
18089 2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
18090
18091         * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
18092         Remove non-VMS directive.
18093         (Switches for gnatlbr, Optimization Levels): Remove non-VMS
18094         alternatives.
18095         (Examples of gnatls Usage): Remove VMS alternative.
18096
18097 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
18098
18099         PR ada/9953:
18100         * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
18101         and turn ZCX_By_Default back to False since the underlying support
18102         is not quite there yet.
18103
18104 2003-06-01  Andreas Jaeger  <aj@suse.de>
18105
18106         * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
18107         and ROUND_TYPE_SIZE_UNIT.
18108
18109 2003-05-22   Geert Bosch <bosch@gnat.com>
18110
18111         * gnat_rm.texi : Remove reference to Ada Core Technologies.
18112
18113 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
18114
18115         * trans.c (tree_transform): Use location_t and input_location
18116         directly.
18117         (build_unit_elab): Likewise.
18118         * utils.c (create_label_decl): Likewise.
18119
18120 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
18121
18122         * trans.c (tree_transform, build_unit_elab,
18123         set_lineno): Rename lineno to input_line.
18124         * utils.c (pushdecl, create_label_decl, begin_subprog_body,
18125         end_subprog_body): Likewise.
18126         * utils2.c (build_call_raise): Likewise.
18127
18128 2003-05-01  Laurent Guerby <guerby@acm.org>
18129
18130         PR ada/10546
18131         * 5iosinte.ads: Increase pthread_cond_t size to match recent
18132         LinuxThread and NPTL version, merge from ACT.
18133
18134 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
18135
18136         * utils.c (convert): No need to clear TREE_CST_RTL.
18137
18138 2003-04-23   Geert Bosch <bosch@gnat.com>
18139
18140         * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
18141         1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
18142         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
18143         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
18144         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
18145         4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
18146         4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
18147         4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
18148         4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
18149         4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
18150         4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
18151         4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
18152         52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
18153         5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
18154         5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
18155         5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
18156         5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
18157         5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
18158         5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
18159         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
18160         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
18161         5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
18162         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
18163         5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
18164         5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
18165         5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
18166         5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
18167         5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
18168         5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
18169         5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
18170         5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
18171         5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
18172         5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
18173         5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
18174         5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
18175         5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
18176         5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
18177         5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
18178         5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
18179         5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
18180         5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
18181         5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
18182         5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
18183         5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
18184         6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
18185         7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
18186         7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
18187         9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
18188         a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
18189         a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
18190         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
18191         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
18192         a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
18193         a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
18194         a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
18195         a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
18196         a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
18197         a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
18198         a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
18199         a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
18200         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
18201         a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
18202         a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
18203         a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
18204         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
18205         a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
18206         a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
18207         a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
18208         a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
18209         a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
18210         a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
18211         a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
18212         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
18213         a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
18214         a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
18215         a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
18216         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
18217         a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
18218         a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
18219         a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
18220         a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
18221         a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
18222         a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
18223         a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
18224         a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
18225         a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
18226         a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
18227         a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
18228         a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
18229         a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
18230         a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
18231         a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
18232         a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
18233         a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
18234         a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
18235         a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
18236         a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
18237         a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
18238         a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
18239         a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
18240         a-wttest.ads, ada-tree.h, ada.ads, ada.h,
18241         adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
18242         ali.adb, ali.ads, alloc.ads, argv.c,
18243         atree.adb, atree.ads, atree.h, aux-io.c,
18244         back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
18245         binde.adb, binde.ads, binderr.adb, binderr.ads,
18246         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
18247         butil.adb, butil.ads, cal.c, calendar.ads,
18248         casing.adb, casing.ads, ceinfo.adb, checks.adb,
18249         checks.ads, cio.c, comperr.adb, comperr.ads,
18250         config-lang.in, csets.adb, csets.ads, csinfo.adb,
18251         cstand.adb, cstand.ads, cuintp.c, debug.adb,
18252         debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
18253         dec-io.ads, dec.ads, deftarg.c, directio.ads,
18254         einfo.adb, einfo.ads, elists.adb, elists.ads,
18255         elists.h, errno.c, errout.adb, errout.ads,
18256         eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
18257         exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
18258         exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
18259         exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
18260         exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
18261         exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
18262         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
18263         exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
18264         exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
18265         exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
18266         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
18267         exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
18268         exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
18269         exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
18270         exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
18271         fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
18272         fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
18273         freeze.adb, freeze.ads, frontend.adb, frontend.ads,
18274         g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
18275         g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
18276         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
18277         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
18278         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
18279         g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
18280         g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
18281         g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
18282         g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
18283         g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
18284         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
18285         g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
18286         g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
18287         g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
18288         g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
18289         g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
18290         g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
18291         g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
18292         g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
18293         g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
18294         g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
18295         g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
18296         get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
18297         gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
18298         gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
18299         gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
18300         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
18301         gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
18302         gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
18303         gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
18304         hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
18305         i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
18306         i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
18307         i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
18308         i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
18309         i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
18310         i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
18311         inline.adb, inline.ads, interfac.ads, ioexcept.ads,
18312         itypes.adb, itypes.ads, krunch.adb, krunch.ads,
18313         layout.adb, layout.ads, lib-list.adb, lib-load.adb,
18314         lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
18315         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
18316         lib.adb, lib.ads, live.adb, live.ads,
18317         machcode.ads, make.adb, make.ads, makeusg.adb,
18318         makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
18319         mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
18320         memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
18321         mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
18322         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
18323         mlib.ads, namet.adb, namet.ads, nlists.adb,
18324         nlists.ads, opt.adb, opt.ads, osint-b.adb,
18325         osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
18326         osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
18327         osint.ads, output.adb, output.ads, par-ch10.adb,
18328         par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
18329         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
18330         par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
18331         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
18332         par-tchk.adb, par-util.adb, par.adb, par.ads,
18333         prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
18334         prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
18335         prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
18336         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
18337         prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
18338         prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
18339         prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
18340         prj.adb, prj.ads, repinfo.adb, repinfo.ads,
18341         restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
18342         rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
18343         s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
18344         s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
18345         s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
18346         s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
18347         s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
18348         s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
18349         s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
18350         s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
18351         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
18352         s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
18353         s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
18354         s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
18355         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
18356         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
18357         s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
18358         s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
18359         s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
18360         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
18361         s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
18362         s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
18363         s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
18364         s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
18365         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
18366         s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
18367         s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
18368         s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
18369         s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
18370         s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
18371         s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
18372         s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
18373         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
18374         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
18375         s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
18376         s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
18377         s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
18378         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
18379         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
18380         s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
18381         s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
18382         s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
18383         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
18384         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
18385         s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
18386         s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
18387         s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
18388         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
18389         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
18390         s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
18391         s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
18392         s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
18393         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
18394         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
18395         s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
18396         s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
18397         s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
18398         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
18399         s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
18400         s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
18401         s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
18402         s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
18403         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
18404         s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
18405         s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
18406         s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
18407         s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
18408         s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
18409         s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
18410         s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
18411         s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
18412         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
18413         s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
18414         s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
18415         s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
18416         s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
18417         s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
18418         s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
18419         s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
18420         s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
18421         s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
18422         s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
18423         s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
18424         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
18425         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
18426         s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
18427         s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
18428         s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
18429         s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
18430         s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
18431         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
18432         s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
18433         s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
18434         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
18435         s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
18436         scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
18437         sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
18438         sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
18439         sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
18440         sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
18441         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
18442         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
18443         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
18444         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
18445         sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
18446         sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
18447         sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
18448         sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
18449         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
18450         sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
18451         sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
18452         sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
18453         sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
18454         sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
18455         sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
18456         sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
18457         snames.ads, sprint.adb, sprint.ads, stand.adb,
18458         stand.ads, stringt.adb, stringt.ads, style.adb,
18459         style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
18460         switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
18461         switch-m.ads, switch.adb, switch.ads, system.ads,
18462         table.adb, table.ads, targparm.adb, targparm.ads,
18463         tbuild.adb, tbuild.ads, text_io.ads, trans.c,
18464         tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
18465         tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
18466         ttypef.ads, ttypes.ads, types.adb, types.ads,
18467         uintp.adb, uintp.ads, uname.adb, uname.ads,
18468         unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
18469         usage.adb, usage.ads, validsw.adb, validsw.ads,
18470         widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
18471         xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
18472         xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
18473         formatting and other trivial changes from ACT.
18474
18475 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
18476
18477         * gigi.h, utils2.c (build_constructor):
18478         Rename gnat_build_constructor. Use build_constructor.
18479         * decl.c (gnat_to_gnu_entity)
18480         * trans.c (tree_transform, pos_to_constructor, extract_values)
18481         * ada/utils.c (build_template, convert_to_fat_pointer, convert)
18482         (unchecked_convert)
18483         * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
18484         (fill_vms_descriptor):
18485         Update to match.
18486
18487 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
18488
18489         * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
18490         * misc.c (gnat_tree_size): New function.
18491         (LANG_HOOKS_TREE_SIZE): Override.
18492
18493 2003-04-03  Jason Merrill  <jason@redhat.com>
18494
18495         * misc.c (gnat_adjust_rli): #if 0.
18496
18497 2003-03-31   Geert Bosch <bosch@gnat.com>
18498
18499         PR ada/10020
18500         * link.c : Fix misspelled "const" keyword
18501
18502 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
18503
18504         PR c++/7086
18505         * utils2.c: Adjust calls to put_var_into_stack.
18506
18507 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
18508
18509         * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
18510
18511 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
18512
18513         * misc.c (gnat_init): Update for new prototype.
18514
18515 2003-03-05  Olivier Hainque  <hainque@gnat.com>
18516
18517         ada/9961
18518         * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
18519         warning, and fix return type for the IN_RTS && !SJLJ case.
18520
18521 2003-03-04  Tom Tromey  <tromey@redhat.com>
18522
18523         * Make-lang.in (ada.tags): New target.
18524
18525 2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
18526
18527         ada/9911
18528         * a-except.adb (Unwind_RaiseException): Import a GNAT specific
18529         wrapper, which name remains constant whatever underlying GCC
18530         scheme.
18531
18532         * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
18533         the stable interface needed for a-except.
18534
18535 2003-03-02  Andreas Jaeger  <aj@suse.de>
18536
18537         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
18538         gnat_ug_wnt.texi: Regenerate.
18539
18540 2003-03-02  Laurent Guerby <guerby@acm.org>
18541
18542         * Makefile.in (install-gnatlib): Match previous change there
18543         so it works.
18544
18545 2003-02-28  Andreas Schwab  <schwab@suse.de>
18546
18547         * Make-lang.in (install-gnatlib): Change to ada directory before
18548         running make instead of using ada/Makefile directly.
18549
18550 2003-02-18  Ben Elliston  <bje@redhat.com>
18551
18552         Part of fix for PR ada/9406
18553         * gnat_ug.texi (Binder output file): Grammar fix.
18554
18555 2003-02-18  Ben Elliston  <bje@redhat.com>
18556
18557         PR other/7350
18558         * 5qtaprop.adb (Sleep): Fix typo in comment.
18559
18560 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
18561
18562         * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
18563         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
18564         gnat_ug_wnt.texi: Regenerate.
18565
18566 2003-02-03  Christian Cornelssen <ccorn@cs.tu-berlin.de>
18567
18568         * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
18569         be created if necessary.
18570         (ada.install-common): Let $(DESTDIR)$(bindir) be created
18571         if necessary.  Remove erroneous and redundant gnatchop
18572         installation commands.  Test for gnatdll before attempting
18573         to install it.
18574         (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
18575         and gnatdll from all plausible locations.
18576
18577 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
18578
18579         * utils2.c (build_unary_op): Don't check flag_volatile.
18580         * gnat_ug.texi: Remove -fvolatile from example.
18581         * gnat_ug_vxw.texi: Likewise.
18582
18583 2003-01-29  Laurent Guerby <guerby@acm.org>
18584
18585         PR ada/8344
18586         * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
18587         * Makefile.in: match previous change.
18588         * Make-lang.in: match previous change.
18589
18590 2003-01-29      Joel Sherrill <joel@OARcorp.com>
18591
18592         * 5rosinte.ads: Add SIGXCPU.
18593         * 5rtpopsp.adb: New file.
18594         * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
18595         * Makefile.in: Recognize more RTEMS targets and add the RTEMS
18596         specific file 5rtpopsp.adb.
18597         * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
18598         is likely needed for all newlib targets.
18599         * init.c: Add RTEMS specific version of __gnat_initialize().
18600
18601 2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18602
18603         * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
18604
18605 2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18606
18607         * init.c (__gnat_error_handler): Make msg const.
18608
18609         * gmem.c (convert_addresses): Move declaration ...
18610         * adaint.h: ... here.
18611         * adaint.c (convert_addresses): Adapt addrs type to match
18612         prototype.
18613
18614         * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
18615
18616 2003-01-24  Andreas Schwab  <schwab@suse.de>
18617
18618         * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
18619         size_t to avoid warning.
18620
18621 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
18622
18623         * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
18624
18625 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
18626
18627         * gnat_rm.texi: Remove RCS version number.
18628
18629         * ada-tree.h (union lang_tree_node): Add chain_next option.
18630
18631 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
18632
18633         * Make-lang.in (ada.install-info, ada.install-common,
18634         ada.uninstall): Prepend $(DESTDIR) to the destination
18635         directory in all (un)installation commands.
18636         * Makefile.in (install-gnatlib, install-rts): Ditto.
18637
18638 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
18639
18640         * gnat_rm.texi, gnat_ug.texi: Use @copying.
18641         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
18642         gnat_ug_wnt.texi: Regenerate.
18643
18644 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
18645
18646         * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
18647         only.
18648         * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
18649         $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
18650         $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
18651         ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
18652         ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
18653         $(srcdir)/doc/include/gcc-common.texi.
18654
18655 2002-12-15   Geert Bosch <bosch@gnat.com>
18656
18657         * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
18658
18659 2002-12-14   Geert Bosch <bosch@gnat.com>
18660
18661         * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
18662         case of a body created for a Renaming_As_Body, on which
18663         conformance checks are not performed. Fixes PR ada/5690.
18664
18665 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
18666
18667         * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
18668         utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
18669         not already included.
18670         * Make-lang.in: Update dependencies.
18671
18672 2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
18673         * adaint.c (__gnat_tmp_name): Better, but good enough for now,
18674         solution to buffer overflow bug on GNU/Linux.
18675
18676 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
18677         Closes PR ada/5856 and PR ada/6919 !
18678         * bindgen.adb: Remove all references to Public_Version.
18679         * comperr.adb: Remove all references to Public_Version and
18680         GNATPRO_Version; correct bug reporting instructions.
18681         * comperr.ads: Change to match bug box.
18682         * gnatvsn.ads: Remove all references to Public version and
18683         GNATPRO version.
18684
18685 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
18686         PR ada/6919
18687         * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
18688         GNU/Linux.
18689
18690         PR ada/6558
18691         * config-lang.in: Remove diff_excludes.
18692
18693 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
18694         PR ada/8358
18695         * trans.c (gnu_pending_elaboration_lists): New GC root.
18696         (build_unit_elab): Use..
18697
18698 2002-10-30   Geert Bosch <bosch@gnat.com>
18699         PR ada/6558
18700         * misc.c : Include optabs.h
18701
18702         * Make-lang.in (misc.o): Add dependency on optabs.h
18703
18704 2002-10-29   Geert Bosch <bosch@gnat.com>
18705         PR ada/6558
18706         * Make-lang.in (gnatbind): Depend on CONFIG_H
18707
18708 2002-10-29  Geert bosch  <bosch@gnat.com>
18709         PR ada/6558
18710         * misc.c: Unrevert misc.c (1.13)
18711
18712 2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
18713
18714         * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
18715         maintainership comments.
18716
18717 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
18718         PR ada/5904
18719         * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
18720         5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
18721         5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
18722         7staprop.adb: Correct statements in comments about
18723         maintainership of GNAT.
18724
18725         PR ada/5904
18726         * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
18727         gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
18728         osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
18729         osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
18730         s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
18731         s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
18732         sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
18733         switch-c.ads switch-m.adb switch-m.ads: Correct statements in
18734         comments about maintainership of GNAT.
18735
18736         PR ada/6919 (forward port of patch for PR ada/5904)
18737         * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
18738         4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
18739         4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
18740         4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
18741         4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
18742         4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
18743         4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
18744         52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
18745         5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
18746         5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
18747         5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
18748         5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
18749         5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
18750         5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
18751         5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
18752         5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
18753         5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
18754         5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
18755         5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
18756         5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
18757         5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
18758         5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
18759         5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
18760         5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
18761         5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
18762         5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
18763         5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
18764         5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
18765         7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
18766         a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
18767         a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
18768         a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
18769         a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
18770         a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
18771         a-except.adb a-except.ads a-excpol.adb a-exctra.adb
18772         a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
18773         a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
18774         a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
18775         a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
18776         a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
18777         a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
18778         a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
18779         a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
18780         a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
18781         a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
18782         a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
18783         a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
18784         a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
18785         a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
18786         a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
18787         a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
18788         a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
18789         a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
18790         a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
18791         a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
18792         a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
18793         a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
18794         a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
18795         a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
18796         a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
18797         a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
18798         a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
18799         a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
18800         a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
18801         a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
18802         a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
18803         a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
18804         a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
18805         adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
18806         alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
18807         back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
18808         binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
18809         bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
18810         ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
18811         csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
18812         cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
18813         debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
18814         einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
18815         errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
18816         exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
18817         exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
18818         exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
18819         exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
18820         exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
18821         exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
18822         exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
18823         exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
18824         exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
18825         exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
18826         exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
18827         exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
18828         exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
18829         final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
18830         fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
18831         freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
18832         g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
18833         g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
18834         gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
18835         gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
18836         gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
18837         gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
18838         gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
18839         gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
18840         i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
18841         i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
18842         i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
18843         i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
18844         impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
18845         itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
18846         lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
18847         lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
18848         lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
18849         lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
18850         makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
18851         namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
18852         nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
18853         osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
18854         par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
18855         par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
18856         par-endh.adb par-labl.adb par-load.adb par-prag.adb
18857         par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
18858         prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
18859         prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
18860         prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
18861         prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
18862         prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
18863         prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
18864         repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
18865         rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
18866         s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
18867         s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
18868         s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
18869         s-direio.adb s-direio.ads s-except.ads s-exctab.adb
18870         s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
18871         s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
18872         s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
18873         s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
18874         s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
18875         s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
18876         s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
18877         s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
18878         s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
18879         s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
18880         s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
18881         s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
18882         s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
18883         s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
18884         s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
18885         s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
18886         s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
18887         s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
18888         s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
18889         s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
18890         s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
18891         s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
18892         s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
18893         s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
18894         s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
18895         s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
18896         s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
18897         s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
18898         s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
18899         s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
18900         s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
18901         s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
18902         s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
18903         s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
18904         s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
18905         s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
18906         s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
18907         s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
18908         s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
18909         s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
18910         s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
18911         s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
18912         s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
18913         s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
18914         s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
18915         s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
18916         s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
18917         s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
18918         s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
18919         s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
18920         s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
18921         s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
18922         s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
18923         s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
18924         s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
18925         s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
18926         s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
18927         s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
18928         s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
18929         s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
18930         s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
18931         s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
18932         s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
18933         s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
18934         s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
18935         s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
18936         s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
18937         s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
18938         s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
18939         s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
18940         s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
18941         s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
18942         s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
18943         s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
18944         s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
18945         s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
18946         s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
18947         s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
18948         scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
18949         sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
18950         sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
18951         sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
18952         sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
18953         sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
18954         sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
18955         sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
18956         sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
18957         sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
18958         sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
18959         sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
18960         sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
18961         sem_type.adb sem_type.ads sem_util.adb sem_util.ads
18962         sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
18963         sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
18964         sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
18965         sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
18966         snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
18967         stringt.ads stringt.h style.adb style.ads stylesw.adb
18968         stylesw.ads switch.adb switch.ads sysdep.c system.ads
18969         table.adb table.ads targparm.adb targparm.ads targtyps.c
18970         tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
18971         tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
18972         treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
18973         types.adb types.ads types.h uintp.adb uintp.ads uintp.h
18974         uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
18975         usage.ads utils.c utils2.c validsw.adb validsw.ads
18976         widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
18977         xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
18978         xtreeprs.adb: Correct statements in comments about maintainership
18979         of GNAT.
18980
18981 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
18982
18983         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
18984         * Makefile.in (TOOLS_LIBS): Add ../../version.o.
18985         * gnatvsn.ads: Gnat_Version_String is now a function.
18986         * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
18987         copy the C version_string into a String and return it.
18988         * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
18989         gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
18990         Remove pragma Ident (Gnat_Version_String).  If this was the
18991         sole use of package Gnatvsn, remove the with statement too.
18992         * gnat1drv.adb: Tweak -gnatv output.
18993
18994 2002-09-17  Richard Henderson  <rth@redhat.com>
18995
18996         * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
18997         * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
18998         * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
18999         (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
19000         * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
19001         and real_2expN instead of a loop.
19002         * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
19003         (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
19004
19005 2002-08-25  Andre Leis <a.leis@gmx.net>
19006             David Billinghurst (David.Billinghurst@riotinto.com>
19007
19008         * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
19009
19010 2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19011
19012         * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
19013         Remove $(CONFIG_H) dependency.
19014
19015 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
19016
19017         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
19018
19019 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19020
19021         * adadecode.c (ada_demangle): Use xstrdup in lieu of
19022         xmalloc/strcpy.
19023         * misc.c (gnat_decode_option): Likewise.
19024
19025 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
19026
19027         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
19028         function approach did not work well because of a side effect (the
19029         function call could reallocate the table which was being indexed
19030         using its result). Fixes ada/4851. [RESURRECTED]
19031
19032 2002-07-01  Roger Sayle  <roger@eyesopen.com>
19033
19034         * ada/utils.c (builtin_function): Accept an additional parameter.
19035
19036 2002-06-28  Andreas Jaeger  <aj@suse.de>
19037
19038         PR ada/7144
19039         * Makefile.in: Fix typo in comment, patch by Adrian Knoth
19040         <adi@thur.de>.
19041
19042 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19043
19044         * Makefile.in (SHELL): Set to @SHELL@.
19045
19046 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19047
19048         * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
19049         array size calculation.
19050
19051 2002-06-04  Andreas Jaeger  <aj@suse.de>
19052
19053         * Make-lang.in (gnatbind): Readd rule that has been lost in last
19054         patch.
19055
19056 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
19057
19058         Merge from pch-branch:
19059
19060         * config-lang.in (gtfiles): Add ada-tree.h.
19061         * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
19062         (SET_TYPE_MODULUS): New.
19063         (SET_TYPE_INDEX): New.
19064         (SET_TYPE_DIGITS_VALUE): New.
19065         (SET_TYPE_RM_SIZE): New.
19066         (SET_TYPE_UNCONSTRAINED_ARRAY): New.
19067         (SET_TYPE_ADA_SIZE): New.
19068         (SET_TYPE_ACTUAL_BOUNDS): New.
19069         (SET_DECL_CONST_CORRESPONDING_VAR): New.
19070         (SET_DECL_ORIGINAL_FIELD): New.
19071         (TREE_LOOP_ID): Correct typo.
19072         * decl.c: Use new macros.
19073         * utils.c: Include debug.h, use new macros.
19074         * utils2.c: Use new macros.
19075
19076         * ada-tree.h: Update all macros for new tree description.
19077         (struct tree_loop_id): New.
19078         (union lang_tree_node): New.
19079         (struct lang_decl): New.
19080         (struct lang_type): New.
19081         * misc.c (gnat_mark_tree): Delete.
19082         (LANG_HOOKS_MARK_TREE): Delete.
19083         * trans.c (tree_transform): No longer any need to cast
19084         for TREE_LOOP_ID.
19085
19086         * utils.c (struct language_function): New dummy structure.
19087
19088         * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
19089         (misc.o): Likewise.
19090         (utils.o): Likewise; also gtype-ada.h.
19091         * Make-lang.in (gnat1): Add dependency on s-gtype.
19092         (gnatbind): Add dependency on $(CONFIG_H).
19093         * utils.c: Correct last #include.
19094         (stuct e_stack): Remove unnecessary 'static'.
19095         (mark_e_stack): Remove unused prototype.
19096
19097         * scn-nlit.adb: Remove whitespace after version number to
19098         keep lines under 80 chars.
19099         * snames.adb: Likewise.
19100         * treepr.ads: Likewise.
19101
19102         * Makefile.in (decl.o): Include gt-ada-<filename>.h.
19103         (misc.o): Likewise.
19104         (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
19105         * config-lang.in (gtfiles): New.
19106         * decl.c: Use gengtype for roots.
19107         * gigi.h: Use gengtype for roots.
19108         * trans.c: Use gengtype for roots.
19109         * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
19110
19111 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
19112
19113         * misc.c (gnat_init): Adjust setting of internal_error_function.
19114
19115 2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
19116
19117         * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
19118         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
19119         gnat_ug_wnt.texi: Regenerate.
19120
19121 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
19122
19123         * 5ntaprop.adb (with System.OS_Primitives): Remove.
19124
19125         * cstreams.c (max_path_len): Move from here ...
19126         * adaint.c (__gnat_max_path_len): ... to here.
19127         * adaint.c (__gnat_max_path_len): Declare.
19128         * g-dirope.adb (Max_Path): Adjust.
19129         * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
19130         * i-cstrea.ads (max_path_len): Adjust.
19131         * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
19132         * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
19133
19134         * Makefile.in, Make-lang.in: Documentation is now built in
19135         Make-lang.in.  Store Info and generated Texinfo files in the
19136         source directory.
19137         * gnat_ug.texi: Remove CVS keywords, correct version number.
19138         Set file name correctly.
19139
19140         * gnat_ug_*.texi: Add.
19141         * .cvsignore: Ignore generated Texinfo files.
19142
19143 2002-05-30  Zack Weinberg  <zack@codesourcery.com>
19144
19145         * ada.h: Add MI guard macro.
19146         (SUBTYPE): Define constants with an anonymous enum, not static
19147         const variables.
19148         (IN): Cast constants to appropriate type before use.
19149
19150 2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
19151
19152         * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
19153         (experimental)".
19154
19155 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19156
19157         * Make-lang.in (CP, ECHO): Copy from Makefile.in.
19158         (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
19159         (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
19160         (ALL_ADA_CFLAGS): Likewise.
19161         (ADA_INCLUDES): Likewise.
19162         Adapt for new working dir.
19163         (GNATBIND): Use Makefile.in version.
19164         (.SUFFIXES): Copy from Makefile.in.
19165         (ada-warn): Define.
19166         (.adb.o, .ads.o): Copy from Makefile.in.
19167         Added $(OUTPUT_OPTION).
19168         (GNAT1_C_OBJS): Moved from Makefile.in.
19169         Prefix with ada subdir.
19170         (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
19171         (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
19172         Adapt for new working dir.
19173         (EXTRA_GNATBIND_OBJS): Likewise.
19174         (ADA_BACKEND): Moved from Makefile.in.
19175         Renamed to avoid conflict with global BACKEND.
19176         Use that one.
19177         (TARGET_ADA_SRCS): Moved from Makefile.in.
19178         (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
19179         Use ADA_BACKEND.
19180         (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
19181         (ada_extra_files): Moved from Makefile.in.
19182         Prefix with ada subdir.
19183         (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
19184         (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
19185         (ada/nmake.ads): Likewise.
19186         (update-sources): Moved from Makefile.in.
19187         Prefix with ada subdir.
19188         (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
19189         (ADA_TREE_H): Likewise.
19190         (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
19191         (ada/memtrack.o): Likewise.
19192         (ada/adadecode.o): Likewise.
19193         Update dependencies.
19194         (ada/adaint.o): New.
19195         (ada/argv.o): Moved from Makefile.in.
19196         Prefix with ada subdir.
19197         Update dependencies.
19198         (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
19199         (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
19200         (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
19201         Prefix with ada subdir.
19202         (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
19203         (GNAT DEPENDENCIES): Regenerate.
19204         * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
19205         toplevel Makefile.in.
19206         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
19207         (TARGET_ADA_SRCS): Removed.
19208         (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
19209         (GNATBIND_OBJS): Likewise.
19210         (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
19211         (BACKEND): Removed.
19212         (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
19213         (TREE_H): Likewise.
19214         (ada_extra_files): Likewise.
19215         (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
19216         (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
19217         (update-sources): Likewise.
19218         (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
19219         (ADA_TREE_H): Likewise.
19220         (adadecoce.o): Likewise.
19221         (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
19222         (GNAT DEPENDENCIES): Likewise.
19223
19224 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19225
19226         * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
19227         * Makefile.in: Likewise.
19228
19229 2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19230
19231         * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
19232         Restore $(CONFIG_H) and prefix.o dependencies.
19233         (ada.stage[1-4]): Depend on stage?-start.
19234
19235         * Makefile.in (b_gnatb.c): Depend on interfac.o.
19236
19237 2002-05-02  Jim Wilson  <wilson@redhat.com>
19238
19239         * utils.c (finish_record_type): Change record_size to record_type.
19240
19241 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19242
19243         * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
19244         (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
19245         ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
19246
19247 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
19248
19249         * misc.c (gnat_parse_file): Update.
19250
19251 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
19252
19253         * misc.c (gnat_init): Don't set lang_attribute_common.
19254
19255 2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
19256
19257         * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
19258
19259 2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
19260
19261         * gnat_ug.texi: New file.
19262
19263         * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
19264         instead of gfdl.texi
19265
19266         * xgnatug.adb, ug_words: New files.
19267
19268         * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
19269         gnat_rm and gnat-style manuals.
19270
19271 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
19272
19273         * gigi.h (incomplete_type_error): Remove.
19274         * utils.c (incomplete_type_error): Remove.
19275
19276 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
19277
19278         * trans.c (tree_transform): Add has_scope argument to
19279         expand_start_stmt_expr.
19280
19281 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
19282
19283         * gigi.h (truthvalue_conversion): Rename.
19284         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
19285         * trans.c (tree_transform): Update.
19286         * utils2.c (truthvalue_conversion): Rename, update.
19287         (build_binary_op, build_unary_op): Update.
19288
19289 2002-04-04  Laurent Guerby  <guerby@acm.org>
19290
19291         * make.adb: Implement -margs, remove restriction about file name placement.
19292         * makeusg.adb: Documentation update.
19293         * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
19294         * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
19295
19296 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
19297
19298         * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
19299         (builtin_function): Similarly.
19300
19301 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
19302
19303         * decl.c (gnat_to_gnu_entity): Update.
19304         * gigi.h (mark_addressable): Rename.
19305         * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
19306         * trans.c (tree_transform): Update.
19307         * utils.c (create_var_decl): Update.
19308         * util2.c (build_binary_op, build_unary_op,
19309         fill_vms_descriptor): Update.
19310         (mark_addressable): Rename, update.
19311
19312 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
19313
19314         * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
19315         Rename.
19316         * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
19317         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
19318         * trans.c (tree_transform, convert_with_check): Update.
19319         * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
19320         Rename.
19321
19322 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
19323
19324         * gigi.h (finish_incomplete_decl): Rename.
19325         * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
19326         * utils.c (gnat_init_decl_processing): Don't set hook.
19327         (finish_incomplete_decl): Rename.
19328
19329 2002-03-29  Andreas Schwab  <schwab@suse.de>
19330
19331         * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
19332         directory.
19333
19334 2001-03-28  Robert Dewar <dewar@gnat.com>
19335
19336         * checks.ads:
19337         (Remove_Checks): New procedure
19338
19339         * checks.adb:
19340         (Remove_Checks): New procedure
19341
19342         * exp_util.adb:
19343         Use new Duplicate_Subexpr functions
19344         (Duplicate_Subexpr_No_Checks): New procedure
19345         (Duplicate_Subexpr_No_Checks_Orig): New procedure
19346         (Duplicate_Subexpr): Restore original form (checks duplicated)
19347         (Duplicate_Subexpr): Call Remove_Checks
19348
19349         * exp_util.ads:
19350         (Duplicate_Subexpr_No_Checks): New procedure
19351         (Duplicate_Subexpr_No_Checks_Orig): New procedure
19352         Add 2002 to copyright notice
19353
19354         * sem_util.adb: Use new Duplicate_Subexpr functions
19355
19356         * sem_eval.adb:
19357         (Eval_Indexed_Component): This is the place to call
19358         Constant_Array_Ref and to replace the value. We simply merge
19359         the code of this function in here, since it is now no longer
19360         used elsewhere. This fixes the problem of the back end not
19361         realizing we were clever enough to see that this was
19362         constant.
19363         (Expr_Val): Remove call to Constant_Array_Ref
19364         (Expr_Rep_Val): Remove call to Constant_Array_Ref
19365         Minor reformatting
19366         (Constant_Array_Ref): Deal with string literals (patch
19367         suggested by Zack Weinberg on the gcc list)
19368
19369 2001-03-28  Ed Schonberg <schonber@gnat.com>
19370
19371         * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
19372         Duplicate_Subexpr_Move_Checks.
19373
19374         * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
19375         Duplicate_Subexpr_Move_Checks.
19376
19377         * sem_eval.adb: (Constant_Array_Ref): Verify that constant
19378         value of array exists before retrieving it (it may a private
19379         protected component in a function).
19380
19381 2002-03-28   Geert Bosch <bosch@gnat.com>
19382
19383         * prj-pp.adb : New file.
19384
19385         * prj-pp.ads : New file.
19386
19387 2002-03-28  Andreas Jaeger  <aj@suse.de>
19388
19389         * Makefile.in (stamp-sdefault): Fix path for Makefile.
19390
19391 2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
19392
19393         * misc.c (gnat_expand_expr): Move prototype.
19394
19395 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
19396
19397         * misc.c (insert_default_attributes): Remove.
19398
19399 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
19400
19401         * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
19402         (gnat_init): Don't set hook.
19403         (gnat_expand_expr): Fix prototype.
19404
19405 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
19406
19407         * misc.c (ggc_p): Remove.
19408
19409 2002-03-27  Geert Bosch  <bosch@gnat.com>
19410
19411         * prj-makr.ads, prj-makr.adb : New files.
19412
19413 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
19414
19415         * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
19416         (lang_mark_tree): Make static, rename.
19417
19418 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
19419
19420         * misc.c (maybe_build_cleanup): Remove.
19421
19422 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
19423
19424         * gigi.h (yyparse): Remove.
19425
19426 2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
19427
19428         * gnat_rm.texi: Sync with ACT version.
19429           (From Ben Brosgol <brosgol@gnat.com>)
19430
19431 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
19432
19433         * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
19434         (gnat_init): Remove old hook.
19435
19436 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
19437
19438         * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
19439         (yyparse): Rename gnat_parse_file.
19440
19441 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
19442
19443         Delete all lines containing "$Revision:".
19444         * xeinfo.adb: Don't look for revision numbers.
19445         * xnmake.adb: Likewise.
19446         * xsinfo.adb: Likewise.
19447         * xsnames.adb: Likewise.
19448         * xtreeprs.adb: Likewise.
19449
19450 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19451
19452         * misc.c (gnat_tree_code_type, gnat_tree_code_length,
19453         gnat_tree_code_name): Delete.
19454         (tree_code_type, tree_code_length, tree_code_name): Define.
19455         (gnat_init): Don't try to copy into the various tree_code
19456         arrays.
19457
19458 2002-03-11  Richard Henderson  <rth@redhat.com>
19459
19460         * Makefile.in (.NOTPARALLEL): Add fake tag.
19461
19462 2002-03-07  Geert Bosch  <bosch@gnat.com>
19463
19464         * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
19465         s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
19466         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
19467         switch-m.adb, switch-m.ads : New files.
19468
19469 2002-03-07  Geert Bosch  <bosch@gnat.com>
19470
19471         * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
19472         4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
19473         4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
19474         4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
19475         5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
19476         5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
19477         5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
19478         5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
19479         5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
19480         5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
19481         5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
19482         5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
19483         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
19484         5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
19485         5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
19486         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
19487         5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
19488         5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
19489         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
19490         5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
19491         7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
19492         Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
19493         a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
19494         a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
19495         a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
19496         a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
19497         a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
19498         a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
19499         a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
19500         adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
19501         atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
19502         bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
19503         csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
19504         einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
19505         eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
19506         exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
19507         exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
19508         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
19509         exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
19510         exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
19511         expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
19512         freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
19513         g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
19514         g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
19515         g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
19516         g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
19517         g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
19518         g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
19519         gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
19520         gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
19521         gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
19522         i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
19523         impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
19524         lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
19525         lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
19526         memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
19527         mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
19528         nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
19529         output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
19530         par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
19531         prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
19532         prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
19533         prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
19534         rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
19535         s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
19536         s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
19537         s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
19538         s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
19539         s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
19540         s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
19541         s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
19542         s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
19543         s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
19544         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
19545         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
19546         s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
19547         s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
19548         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
19549         s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
19550         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
19551         sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
19552         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
19553         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
19554         sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
19555         sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
19556         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
19557         sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
19558         sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
19559         sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
19560         snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
19561         stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
19562         table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
19563         tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
19564         treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
19565         types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
19566         utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
19567         xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
19568
19569         * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
19570         g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
19571         mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
19572         osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
19573
19574         * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
19575         5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
19576
19577         * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
19578         to mdll-fil.ad[bs] and mdll-util.ad[bs]
19579
19580         * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
19581         from mdllfile.ad[bs] and mdlltool.ad[bs]
19582
19583 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19584
19585         * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
19586         lieu of explicit sizeof/sizeof.
19587
19588 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
19589
19590         * misc.c (copy_lang_decl): Remove.
19591
19592 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
19593
19594         * misc.c: Delete traditional-mode-related code copied from the
19595         C front end but not used, or used only to permit the compiler
19596         to link.
19597
19598 2002-02-07  Richard Henderson  <rth@redhat.com>
19599
19600         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
19601         * adaint.h (__gnat_to_gm_time): Update prototype.
19602
19603 2002-01-30  Richard Henderson  <rth@redhat.com>
19604
19605         * trans.c (tree_transform) [N_Loop_Statement]: Use
19606         expand_exit_loop_top_cond.
19607
19608 2001-12-23  Richard Henderson  <rth@redhat.com>
19609
19610         * utils.c (end_subprog_body): Push GC context around
19611         rest_of_compilation for nested functions.
19612
19613 2001-12-23  Richard Henderson  <rth@redhat.com>
19614
19615         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
19616
19617 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
19618
19619         * gnat-style.texi (Declarations and Types): Remove ancient style
19620         rule which was mandated by code generation issues.
19621
19622         * gnat-style.texi (header): Add @dircategory, @direntry.
19623         (title page): Remove date.
19624         (general) Add @./@: where approriate, and two spaces after the
19625         full stop at the end of a sentence.  Use @samp markup when
19626         referring concrete lexical entities (keywords, attribute names
19627         etc.), and @syntax for ARM grammar elements. Use @r for English
19628         text in comments.  Use @emph for emphasis.  Change "if-statements"
19629         etc. to "if statements" (without @samp). Break long lines.  Make
19630         casing of section names consistent.
19631         (Identifiers): Use @samp markup for variable names.
19632         (Comments): Use @samp markup for comment characters. Line-end
19633         comments may follow any Ada code, not just statements.  Fix
19634         misspelling of "Integer" as "integer".
19635         (Loop statements): Do not use variable name "I", use "J".
19636         (Subprogram Declarations): Document alignment.
19637         (Subprogram Bodies, Block statements): Document empty line before
19638         "begin".
19639
19640 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
19641
19642         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
19643         function approach did not work well because of a side effect (the
19644         function call could reallocate the table which was being indexed
19645         using its result). Fixes ada/4851.
19646
19647 2001-12-19  Robert Dewar <dewar@gnat.com>
19648
19649         * bindgen.adb: Minor reformatting
19650
19651         * cstand.adb: Minor reformatting
19652
19653         * fmap.adb: Minor reformatting
19654         Change name from Add for Add_To_File_Map (Add is much too generic)
19655         Change Path_Name_Of to Mapped_Path_Name
19656         Change File_Name_Of to Mapped_File_Name
19657         Fix copyright dates in header
19658
19659         * fmap.ads:
19660         Change name from Add for Add_To_File_Map (Add is much too generic)
19661         Change Path_Name_Of to Mapped_Path_Name
19662         Change File_Name_Of to Mapped_File_Name
19663         Fix copyright dates in header
19664
19665         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
19666         Add use clause for Fmap.
19667
19668         * make.adb: Minor reformatting
19669
19670         * osint.adb: Minor reformatting.  Change of names in Fmap.
19671         Add use clause for Fmap.
19672
19673         * prj-env.adb: Minor reformatting
19674
19675         * prj-env.ads: Minor reformatting
19676
19677         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
19678         error found (there were odd exceptions to this general rule in
19679         -gnatec/-gnatem processing)
19680
19681 2001-12-19  Olivier Hainque <hainque@gnat.com>
19682
19683         * raise.c (__gnat_eh_personality): Exception handling personality
19684         routine for Ada.  Still in rough state, inspired from the C++ version
19685         and still containing a bunch of debugging artifacts.
19686         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
19687         inspired from the C++ library.
19688
19689         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
19690         exception handling integration.
19691
19692 2001-12-19  Arnaud Charlet <charlet@gnat.com>
19693
19694         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
19695         (HIE_SOURCES): Add s-secsta.ad{s,b}.
19696         (HIE_OBJS): Add s-fat*.o
19697         (RAVEN_SOURCES): Remove files that are no longer required. Add
19698         interrupt handling files.
19699         (RAVEN_MOD): Removed, no longer needed.
19700
19701 2001-12-19  Robert Dewar <dewar@gnat.com>
19702
19703         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
19704         Add 2001 to copyright date
19705
19706         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
19707         need to force universal inlining for these cases.
19708
19709 2001-12-19  Arnaud Charlet <charlet@gnat.com>
19710
19711         * s-taprob.adb: Minor clean ups so that this unit can be used in
19712         Ravenscar HI.
19713
19714         * exp_ch7.adb: Allow use of secondary stack in HI mode.
19715         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
19716
19717 2001-12-19  Vincent Celier <celier@gnat.com>
19718
19719         * prj-tree.ads (Project_Node_Record): Add comments for components
19720         Pkg_Id and Case_Insensitive.
19721
19722 2001-12-19  Pascal Obry <obry@gnat.com>
19723
19724         * g-socket.adb: Minor reformatting. Found while reading code.
19725
19726 2001-12-19  Robert Dewar <dewar@gnat.com>
19727
19728         * prj-tree.ads: Minor reformatting
19729
19730 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
19731
19732         * config-lang.in (diff_excludes): Remove.
19733
19734 2001-12-17  Ed Schonberg <schonber@gnat.com>
19735
19736         * sem_res.adb (Resolve_Selected_Component): do not generate a
19737         discriminant check if the selected component is a component of
19738         the argument of an initialization procedure.
19739
19740         * trans.c (tree_transform, case of arithmetic operators): If result
19741         type is private, the gnu_type is the base type of the full view,
19742         given that the full view itself may be a subtype.
19743
19744 2001-12-17  Robert Dewar <dewar@gnat.com>
19745
19746         * sem_res.adb: Minor reformatting
19747
19748         * trans.c (tree_transform, case N_Real_Literal): Add missing third
19749         parameter in call to Machine (unknown horrible effects from this
19750         omission).
19751
19752         * urealp.h: Add definition of Round_Even for call to Machine
19753         Add third parameter for Machine
19754
19755 2001-12-17  Ed Schonberg <schonber@gnat.com>
19756
19757         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
19758         predefined units in No_Run_Time mode.
19759
19760 2001-12-17  Richard Kenner <kenner@gnat.com>
19761
19762         * misc.c (insn-codes.h): Now include.
19763
19764 2001-12-17  Olivier Hainque <hainque@gnat.com>
19765
19766         * a-except.adb: Preparation work for future integration of the GCC 3
19767         exception handling mechanism
19768         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
19769         to factorize previous code sequences and make them externally callable,
19770         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
19771         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
19772         Use the new notification routines.
19773
19774 2001-12-17  Emmanuel Briot <briot@gnat.com>
19775
19776         * prj-tree.ads (First_Choice_Of): Document the when others case
19777
19778 2001-12-17  Arnaud Charlet <charlet@gnat.com>
19779
19780         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
19781         HI-E mode, in order to support Ravenscar profile properly.
19782
19783         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
19784         mode on 32 bits targets.
19785
19786 2001-12-17  Vincent Celier <celier@gnat.com>
19787
19788         * fmap.adb: Initial version.
19789
19790         * fmap.ads: Initial version.
19791
19792         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
19793         If search is successfully done, add to mapping.
19794
19795         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
19796
19797         * make.adb:
19798         (Gnatmake): Add new local variable Mapping_File_Name.
19799          Create mapping file when using project file(s).
19800          Delete mapping file before exiting.
19801
19802         * opt.ads (Mapping_File_Name): New variable
19803
19804         * osint.adb (Find_File): Use path name found in mapping, if any.
19805
19806         * prj-env.adb (Create_Mapping_File): New procedure
19807
19808         * prj-env.ads (Create_Mapping_File): New procedure.
19809
19810         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
19811         (Mapping_File)
19812
19813         * usage.adb: Add entry for new switch -gnatem.
19814
19815         * Makefile.in: Add dependencies for fmap.o.
19816
19817 2001-12-17  Ed Schonberg <schonber@gnat.com>
19818
19819         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
19820         is a package instantiation rewritten as a package body.
19821         (Install_Withed_Unit): Undo previous change, now redundant.
19822
19823 2001-12-17  Gary Dismukes <dismukes@gnat.com>
19824
19825         * layout.adb:
19826         (Compute_Length): Move conversion to Unsigned to callers.
19827         (Get_Max_Size): Convert Len expression to Unsigned after calls to
19828         Compute_Length and Determine_Range.
19829         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
19830         Compute_Length and Determine_Range.
19831         Above changes fix problem with length computation for supernull arrays
19832         where Max (Len, 0) wasn't getting applied due to the Unsigned
19833         conversion used by Compute_Length.
19834
19835 2001-12-17  Arnaud Charlet <charlet@gnat.com>
19836
19837         * rtsfind.ads:
19838         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
19839          System.Secondary_Stack.
19840         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
19841          in HI-E mode.
19842         Remove unused entity RE_Exception_Data.
19843
19844         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
19845
19846         * rident.ads (No_Secondary_Stack): New restriction.
19847
19848 2001-12-17  Joel Brobecker <brobecke@gnat.com>
19849
19850         * gnat_rm.texi: Fix minor typos. Found while reading the section
19851         regarding "Bit_Order Clauses" that was sent to a customer.
19852         Very interesting documentation!
19853
19854 2001-12-17  Robert Dewar <dewar@gnat.com>
19855
19856         * sem_case.adb (Choice_Image): Avoid creating improper character
19857         literal names by using the routine Set_Character_Literal_Name. This
19858         fixes bombs in certain error message cases.
19859
19860 2001-12-17  Arnaud Charlet <charlet@gnat.com>
19861
19862         * a-reatim.adb: Minor reformatting.
19863
19864 2001-12-17  Ed Schonberg <schonber@gnat.com>
19865
19866         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
19867         case where the formal is an extension of another formal in the current
19868         unit or in a parent generic unit.
19869
19870 2001-12-17  Arnaud Charlet <charlet@gnat.com>
19871
19872         * s-tposen.adb: Update comments.  Minor reformatting.
19873         Minor code clean up.
19874
19875         * s-tarest.adb: Update comments.  Minor code reorganization.
19876
19877 2001-12-17  Gary Dismukes <dismukes@gnat.com>
19878
19879         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
19880         when Java_VM.
19881
19882 2001-12-17  Robert Dewar <dewar@gnat.com>
19883
19884         * exp_attr.adb: Minor reformatting
19885
19886 2001-12-17  Ed Schonberg <schonber@gnat.com>
19887
19888         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
19889         derivations nested within a child unit: verify that the parent
19890         type is declared in an outer scope.
19891
19892 2001-12-17  Robert Dewar <dewar@gnat.com>
19893
19894         * sem_ch12.adb: Minor reformatting
19895
19896 2001-12-17  Ed Schonberg <schonber@gnat.com>
19897
19898         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
19899         warning if current unit is a predefined one, from which bodies may
19900         have been deleted.
19901
19902 2001-12-17  Robert Dewar <dewar@gnat.com>
19903
19904         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
19905         Fix header format. Add 2001 to copyright date.
19906
19907         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
19908         which caused CE during compilation if checks were enabled.
19909
19910 2001-12-17  Vincent Celier <celier@gnat.com>
19911
19912         * make.adb:
19913         (Switches_Of): New function
19914         (Test_If_Relative_Path): New procedure
19915         (Add_Switches): Use new function Switches_Of
19916         (Collect_Arguments_And_Compile): Use new function Switches_Of.
19917         When using a project file, test if there are any relative
19918         search path. Fail if there are any.
19919         (Gnatmake): Only add switches for the primary directory when not using
19920         a project file. When using a project file, change directory to the
19921         object directory of the main project file. When using a project file,
19922         test if there are any relative search path. Fail if there are any.
19923         When using a project file, fail if specified executable is relative
19924         path with directory information, and prepend executable, if not
19925         specified as an absolute path, with the exec directory.  Make sure
19926         that only one -o switch is transmitted to the linker.
19927
19928         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
19929
19930         * prj-nmsc.adb:
19931         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
19932         when using a non standard naming scheme.
19933         (Check_Ada_Naming_Scheme): Make sure that error messages
19934         do not raise exceptions.
19935         (Is_Illegal_Append): Return True if there is no dot in the suffix.
19936         (Language_Independent_Check): Check the exec directory.
19937
19938         * prj.adb (Project_Empty): Add new component Exec_Directory
19939
19940         * prj.ads:
19941         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
19942         (Project_Data): Add component Exec_Directory
19943
19944         * snames.adb: Updated to match snames.ads revision 1.215
19945
19946         * snames.ads: Added Exec_Dir
19947
19948 2001-12-17  Robert Dewar <dewar@gnat.com>
19949
19950         * make.adb: Minor reformatting
19951
19952         * prj-nmsc.adb: Minor reformatting
19953
19954         * snames.adb: Updated to match snames.ads
19955
19956         * snames.ads: Alphebetize entries for project file
19957
19958 2001-12-17  Ed Schonberg <schonber@gnat.com>
19959
19960         * trans.c (process_freeze_entity): Do nothing if the entity is a
19961         subprogram that was already elaborated.
19962
19963 2001-12-17  Richard Kenner <kenner@gnat.com>
19964
19965         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
19966         and Esize if object is referenced via pointer.
19967
19968 2001-12-17  Ed Schonberg <schonber@gnat.com>
19969
19970         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
19971         is discrete before analyzing choices.
19972
19973 2001-12-17  Joel Brobecker <brobecke@gnat.com>
19974
19975         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
19976         containing the name of the Ada Main Program. This string is mainly
19977         intended for the debugger.
19978         (Gen_Output_File_C): Do the equivalent change when generating a C file.
19979
19980 2001-12-17  Robert Dewar <dewar@gnat.com>
19981
19982         * ali.adb: Set new Dummy_Entry field in dependency entry
19983
19984         * ali.ads: Add Dummy_Entry field to source dependency table
19985
19986         * bcheck.adb (Check_Consistency): Ignore dummy D lines
19987
19988         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
19989
19990         * lib-writ.ads: Document dummy D lines for missing files.
19991
19992         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
19993
19994 2001-12-17  Robert Dewar <dewar@gnat.com>
19995
19996         * ali.adb: Type reference does not reset current file.
19997
19998         * ali.adb: Recognize and scan renaming reference
19999
20000         * ali.ads: Add spec for storing renaming references.
20001
20002         * lib-xref.ads: Add documentation for handling of renaming references
20003
20004         * lib-xref.adb: Implement output of renaming reference.
20005
20006         * checks.adb:
20007         (Determine_Range): Document local variables
20008         (Determine_Range): Make sure Hbound is initialized. It looks as though
20009          there could be a real problem here with an uninitialized reference
20010          to Hbound, but no actual example of failure has been found.
20011
20012 2001-12-17  Laurent Pautet <pautet@gnat.com>
20013
20014         * g-socket.ads:
20015         Fix comment of Shutdown_Socket and Close_Socket. These functions
20016         should not fail silently because if they are called twice, this
20017         probably means that there is a race condition in the user program.
20018         Anyway, this behaviour is consistent with the rest of this unit.
20019         When an error occurs, an exception is raised with the error message
20020         as exception message.
20021
20022 2001-12-17  Robert Dewar <dewar@gnat.com>
20023
20024         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
20025         that it happens before modification of Sloc values for -gnatD.
20026
20027         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
20028         so that it happens before modification of Sloc values for -gnatD.
20029
20030         * switch.adb: Minor reformatting
20031
20032 2001-12-15  Richard Henderson  <rth@redhat.com>
20033
20034         * sem_ch7.adb: Wrap comment.
20035
20036 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
20037
20038         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
20039         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
20040         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
20041         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
20042         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
20043         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
20044         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
20045         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
20046         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
20047         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
20048         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
20049         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
20050         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
20051         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
20052         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
20053         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
20054         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
20055         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
20056         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
20057         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
20058         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
20059         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
20060         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
20061         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
20062         spelling errors.
20063
20064 2001-12-14  Vincent Celier <celier@gnat.com>
20065
20066         * osint.adb(Create_Debug_File): When an object file is specified,
20067         put the .dg file in the same directory as the object file.
20068
20069 2001-12-14  Robert Dewar <dewar@gnat.com>
20070
20071         * osint.adb: Minor reformatting
20072
20073         * lib-xref.adb (Output_Instantiation): New procedure to generate
20074         instantiation references.
20075
20076         * lib-xref.ads: Add documentation of handling of generic references.
20077
20078         * ali.adb (Read_Instantiation_Ref): New procedure to read
20079         instantiation references
20080
20081         * ali.ads: Add spec for storing instantiation references
20082
20083         * bindusg.adb: Minor reformatting
20084
20085         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20086
20087         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20088
20089         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20090
20091         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20092
20093         * csets.ads:
20094         Fix header format
20095         Add 2001 to copyright date
20096         Add entry for Latin-5 (Cyrillic ISO-8859-5)
20097
20098 2001-12-14  Matt Gingell <gingell@gnat.com>
20099
20100         * adaint.c: mktemp is a macro on Lynx and can not be used as an
20101         expression.
20102
20103 2001-12-14  Richard Kenner <kenner@gnat.com>
20104
20105         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
20106         if operand is CONSTRUCTOR.
20107
20108 2001-12-14  Ed Schonberg <schonber@gnat.com>
20109
20110         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
20111         before emiting check on right-hand side, so that exception information
20112         is correct.
20113
20114 2001-12-14  Richard Kenner <kenner@gnat.com>
20115
20116         * utils.c (create_var_decl): Throw away initializing expression
20117         if just annotating types and non-constant.
20118
20119 2001-12-14  Vincent Celier <celier@gnat.com>
20120
20121         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
20122         Default_Ada_...
20123
20124         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
20125         Remove functions.
20126         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
20127
20128         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
20129         Remove functions.
20130         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
20131
20132 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
20133
20134         * ChangeLog: Remove piece of diff output.
20135
20136 2001-12-14  Geert Bosch <bosch@gnat.com>
20137
20138         * config-lang.in: Update copyright notice
20139
20140         * layout.adb: Remove commented out code.
20141
20142         * mdllfile.ads: Update copyright notice. Fix header format.
20143
20144         * sem_case.ads: Likewise.
20145
20146         * sem_ch3.adb: Minor reformatting.
20147
20148 2001-12-12  Geert Bosch <bosch@gnat.com>
20149
20150         * freeze.ads: Update copyright date.
20151
20152         * g-comlin.ads: Minor reformatting.
20153
20154         * gnat-style.texi: Fix typo.
20155
20156 2001-12-12  Geert Bosch <bosch@gnat.com>
20157
20158         *  einfo.h: Regenerate.
20159
20160 2001-12-12  Ed Schonberg <schonber@gnat.com>
20161
20162         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
20163         on known node types, rather than untyped fields. Further cleanups.
20164
20165 2001-12-12  Robert Dewar <dewar@gnat.com>
20166
20167         * sem_ch12.adb:
20168         (Save_Entity_Descendant): Minor comment update.
20169         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
20170          of an N_Attribute_Reference node. As per note below, this does not
20171         eliminate need for Associated_Node in attribute ref nodes.
20172         (Associated_Node): Documentation explicitly mentions attribute
20173         reference nodes, since this field is used in such nodes.
20174
20175         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
20176
20177 2001-12-12  Robert Dewar <dewar@gnat.com>
20178
20179         * s-stalib.adb: Add more comments on with statements being needed
20180
20181         * par-ch12.adb: Minor reformatting
20182
20183         * prj-dect.ads: Fix copyright header
20184
20185         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
20186         inputs fit in 32 bits, but the result still overflows.
20187
20188         * s-fatgen.ads: Minor comment improvement
20189
20190 2001-12-12  Ed Schonberg <schonber@gnat.com>
20191
20192         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
20193         formal derived type, look for an inherited component from the full
20194         view of the parent, if any.
20195
20196 2001-12-12  Robert Dewar <dewar@gnat.com>
20197
20198         * checks.ads (Apply_Alignment_Check): New procedure.
20199
20200         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
20201         ensure that the alignment of objects with address clauses is
20202         appropriate, and raise PE if not.
20203
20204         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
20205         Exp_Pakd.Known_Aligned_Enough
20206
20207         * mdllfile.ads: Minor reformatting
20208
20209         * mlib-fil.ads: Minor reformatting
20210
20211 2001-12-12  Ed Schonberg <schonber@gnat.com>
20212
20213         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
20214         fix to any component reference if enclosing record has non-standard
20215         representation.
20216
20217 2001-12-12  Vincent Celier <celier@gnat.com>
20218
20219         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
20220         Iteration
20221
20222 2001-12-12  Ed Schonberg <schonber@gnat.com>
20223
20224         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
20225         sem_attr.
20226
20227 2001-12-12  Robert Dewar <dewar@gnat.com>
20228
20229         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
20230
20231 2001-12-12  Emmanuel Briot <briot@gnat.com>
20232
20233         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
20234         and it adds dependencies to system.io.
20235
20236 2001-12-12  Pascal Obry <obry@gnat.com>
20237
20238         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
20239         variable name.
20240
20241 2001-12-11  Ed Schonberg <schonber@gnat.com>
20242
20243         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
20244         that is the parent of other generics, the instance body replaces the
20245         instance node.  Retrieve the instance of the spec, which is the one
20246         that is visible in clients and within the body.
20247
20248 2001-12-11  Vincent Celier <celier@gnat.com>
20249
20250         * gnatmain.adb: Initial version.
20251
20252         * gnatmain.ads: Initial version.
20253
20254         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
20255
20256         * snames.adb: Updated to match snames.ads.
20257
20258         * snames.ads: Added Gnatstub.
20259
20260 2001-12-11  Vincent Celier <celier@gnat.com>
20261
20262         * prj-attr.adb (Initialization_Data): Change name from
20263         Initialisation_Data.
20264
20265 2001-12-11  Emmanuel Briot <briot@gnat.com>
20266
20267         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
20268         + and * applied to backslashed expressions like \r.
20269
20270 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
20271
20272         * g-os_lib.ads: String_List type added, Argument_List type is now
20273         subtype of String_List.
20274
20275 2001-12-11  Robert Dewar <dewar@gnat.com>
20276
20277         * g-os_lib.ads: Change copyright to FSF
20278         Add comments for String_List type
20279
20280 2001-12-11  Vincent Celier <celier@gnat.com>
20281
20282         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
20283         string to the buffer).
20284
20285 2001-12-11  Ed Schonberg <schonber@gnat.com>
20286
20287         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
20288         sem_attr.
20289
20290         * sem_attr.adb: Simplify previous fix for Address.
20291         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
20292         to avoid anomalies where the bound of the type appears to raise
20293         constraint error.
20294
20295 2001-12-11  Robert Dewar <dewar@gnat.com>
20296
20297         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
20298         handled.
20299
20300 2001-12-11  Ed Schonberg <schonber@gnat.com>
20301
20302         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
20303         renamed unit before checking for recursive instantiations.
20304
20305 2001-12-11  Emmanuel Briot <briot@gnat.com>
20306
20307         * prj.ads: Add comments for some of the fields.
20308
20309 2001-12-11  Robert Dewar <dewar@gnat.com>
20310
20311         * lib-xref.adb (Output_Refs): Don't output type references outside
20312         the main unit if they are not otherwise referenced.
20313
20314 2001-12-11  Ed Schonberg <schonber@gnat.com>
20315
20316         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
20317         code and diagnose additional illegal uses
20318
20319         * sem_util.adb (Is_Object_Reference): An indexed component is an
20320         object only if the prefix is.
20321
20322 2001-12-11  Vincent Celier <celier@gnat.com>
20323
20324         * g-diopit.adb: Initial version.
20325
20326         * g-diopit.ads: Initial version.
20327
20328         * g-dirope.adb:
20329         (Expand_Path): Avoid use of Unbounded_String
20330         (Find, Wildcard_Iterator): Moved to child package Iteration
20331
20332         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
20333
20334 2001-12-11  Robert Dewar <dewar@gnat.com>
20335
20336         * sem_attr.adb: Minor reformatting
20337
20338 2001-12-11  Ed Schonberg <schonber@gnat.com>
20339
20340         * sem_ch3.adb: Clarify some ???.
20341
20342 2001-12-11  Robert Dewar <dewar@gnat.com>
20343
20344         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
20345         Exp_Pakd.Known_Aligned_Enough
20346
20347         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
20348         version is moved to Exp_Ch13.
20349
20350 2001-12-11  Robert Dewar <dewar@gnat.com>
20351
20352         * einfo.ads: Minor reformatting
20353
20354         * exp_ch5.adb: Add comment for previous.change
20355
20356         * ali.adb: New interface for extended typeref stuff.
20357
20358         * ali.ads: New interface for typeref stuff.
20359
20360         * checks.adb (Apply_Alignment_Check): New procedure.
20361
20362         * debug.adb: Add -gnatdM for modified ALI output
20363
20364         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
20365
20366         * lib-xref.adb: Extend generation of <..> notation to cover
20367         subtype/object types. Note that this is a complete rewrite,
20368         getting rid of the very nasty quadratic algorithm previously
20369         used for derived type output.
20370
20371         * lib-xref.ads: Extend description of <..> notation to cover
20372         subtype/object types. Uses {..} for these other cases.
20373         Also use (..) for pointer types.
20374
20375         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
20376
20377         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
20378         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
20379
20380 2001-12-11  Vincent Celier <celier@gnat.com>
20381
20382         * gnatcmd.adb:
20383         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
20384         Changed /BIND_ONLY to /ACTIONS=BIND
20385         Changed /LINK_ONLY to /ACTIONS=LINK
20386
20387 2001-12-11  Ed Schonberg  <schonber@gnat.com>
20388
20389         * sem_ch8.adb (Find_Selected_Component): improved search for a
20390         candidate package in case of error.
20391
20392         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
20393         chain back on scope stack before reinstalling use clauses.
20394
20395         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
20396         is enabled, do not kill the code for the condition, to preserve
20397         warning.
20398
20399 2001-12-11  Robert Dewar <dewar@gnat.com>
20400
20401         * checks.adb (Insert_Valid_Check): Apply validity check to expression
20402         of conversion, not to result of conversion.
20403
20404 2001-12-11  Ed Schonberg <schonber@gnat.com>
20405
20406         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
20407         before freezing parent. If the declarations are mutually recursive,
20408         an access to the current record type may be frozen before the
20409         derivation is complete.
20410
20411 2001-12-05  Vincent Celier <celier@gnat.com>
20412
20413         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
20414         -c /COMPILE_ONLY, -l /LINK_ONLY
20415
20416         * opt.ads:
20417         (Bind_Only): New Flag
20418         (Link_Only): New flag
20419
20420         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
20421         and -l (Link_Only)
20422
20423         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
20424
20425         * make.adb:
20426         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
20427         (Gnatmake): Set the step flags. Only perform a step if the
20428         corresponding step flag is True.
20429         (Scan_Make_Arg): Reset the bind and link step flags when -u
20430         or -gnatc has been specified.
20431
20432 2001-12-05  Ed Schonberg <schonber@gnat.com>
20433
20434         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
20435         get bounds from right operand.
20436
20437         * sem_eval.adb: Minor reformatting
20438
20439         * exp_util.adb (Make_Literal_Range): use bound of literal rather
20440         than Index'First, its lower bound may be different from 1.
20441
20442         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
20443         and C48009J
20444
20445 2001-12-05  Vincent Celier <celier@gnat.com>
20446
20447         * prj-nmsc.adb Minor reformatting
20448
20449         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
20450         set and libraries are not supported.
20451
20452 2001-12-05  Ed Schonberg <schonber@gnat.com>
20453
20454         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
20455         private view explicitly, so the back-end can treat as a global
20456         when appropriate.
20457
20458 2001-12-05  Ed Schonberg <schonber@gnat.com>
20459
20460         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
20461          unit, always replace instance node with new body, for ASIS use.
20462
20463 2001-12-05  Vincent Celier <celier@gnat.com>
20464
20465         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
20466         libraries are not supported and both attributes Library_Name and
20467         Library_Dir are specified.
20468
20469         * prj-proc.adb (Expression): Set location of Result to location of
20470         first term.
20471
20472         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
20473         (prj-nmsc is now importing MLib.Tgt)
20474
20475         * prj-proc.adb: Put the change indicated above that was forgotten.
20476
20477 2001-12-05  Robert Dewar <dewar@gnat.com>
20478
20479         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
20480
20481 2001-12-05  Ed Schonberg <schonber@gnat.com>
20482
20483         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
20484         constraint, introduce explicit subtype declaration and derive from it.
20485
20486         * sem_ch3.adb: Minor reformatting
20487
20488 2001-12-05  Robert Dewar <dewar@gnat.com>
20489
20490         * checks.adb (Determine_Range): Increase cache size for checks.
20491         Minor reformatting
20492
20493         * exp_ch6.adb: Minor reformatting
20494         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
20495         a parameter whose root type is System.Address, since treating such
20496         subprograms as pure in the code generator is almost surely a mistake
20497         that will lead to unexpected results.
20498
20499         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
20500         change handling of conversions.
20501
20502         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
20503
20504 2001-12-05  Ed Schonberg <schonber@gnat.com>
20505
20506         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
20507         aggregate with static wrong size, attach generated Raise node to
20508         declaration.
20509
20510 2001-12-05  Robert Dewar <dewar@gnat.com>
20511
20512         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
20513         Fixes compilation abandoned bomb in B24009B.
20514
20515 2001-12-05  Ed Schonberg <schonber@gnat.com>
20516
20517         * sem_ch12.adb:
20518         Document use of Associated_Node on Selected_Components.
20519         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
20520         to clarify use of untyped descendant fields.
20521
20522 2001-12-05  Robert Dewar <dewar@gnat.com>
20523
20524         * prj-dect.ads: Add ??? comment
20525         Add 2001 to copyright notice (was not done in after all)
20526
20527         * prj-part.adb: Minor reformatting. Reword one awkward error message.
20528
20529         * prj.ads: Minor reformatting throughout, and add some ??? comments
20530
20531         * snames.ads: Minor reformatting
20532
20533 2001-12-05  Geert Bosch <bosch@gnat.com>
20534
20535         * snames.adb: Autoupdate
20536
20537 2001-12-05  Vincent Celier <celier@gnat.com>
20538
20539         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
20540
20541         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
20542
20543         * prj-env.adb: Minor comment changes (modifying -> extends).
20544
20545         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
20546
20547         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
20548         Tok_Extends.
20549
20550         * prj.adb (Initialize): Change Modifying to Extends.
20551
20552         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
20553
20554         * prj.ads: Minor comment change (Modifying -> extending).
20555
20556         * snames.ads: Change modifying to extends.
20557
20558 2001-12-05  Robert Dewar <dewar@gnat.com>
20559
20560         * sem_warn.adb: Remove stuff for conditionals, we are not going to
20561         do this after all.
20562
20563         * sem_warn.ads: Remove stuff for conditionals, we are not going to
20564         do this after all.  Add 2001 to copyright notice
20565
20566 2001-12-04  Geert Bosch <bosch@gnat.com>
20567
20568         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
20569
20570 2001-12-04  Robert Dewar <dewar@gnat.com>
20571
20572         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
20573         location if we already have errors. Stops some cases of cascaded
20574         errors.
20575
20576         * errout.adb: Improve comment.
20577
20578 2001-12-04  Robert Dewar <dewar@gnat.com>
20579
20580         * sem_ch12.adb:
20581         (Analyze_Formal_Type_Definition): Defend against Error.
20582         (Analyze_Formal_Subprogram): Defend against Error.
20583
20584         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
20585         remove following semicolon if present. Removes cascaded error.
20586
20587 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
20588
20589         * bindgen.adb:
20590         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
20591          exceptions equals 0.
20592         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
20593         Fixes PIWG E tests (which have to be run with -gnatL).
20594
20595 2001-12-04  Robert Dewar <dewar@gnat.com>
20596
20597         * einfo.ads: Minor reformatting
20598
20599 2001-12-04  Ed Schonberg <schonber@gnat.com>
20600
20601         * einfo.ads: Block_Node points to the identifier of the block, not to
20602         the block node itself, to preserve the link when the block is
20603         rewritten, e.g. within an if-statement with a static condition.
20604
20605         * inline.adb (Cleanup_Scopes): recover block statement from block
20606         entity using new meaning of Block_Node.
20607
20608         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
20609         identifier of block node, rather than to node itself.
20610
20611 2001-12-04  Gary Dismukes <dismukes@gnat.com>
20612
20613         * layout.adb:
20614         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
20615         (Discrimify): Go back to setting the Etypes of the selected component
20616         because the Vname component does not exist at this point and will
20617         fail name resolution. Also set Analyzed.
20618         Remove with and use of Sem_Res.
20619
20620 2001-12-04  Arnaud Charlet <charlet@gnat.com>
20621
20622         * Makefile.in: (HIE_SOURCES): add s-fat*.
20623
20624 2001-12-04  Robert Dewar <dewar@gnat.com>
20625
20626         * sem_attr.adb:
20627         (Compile_Time_Known_Attribute): New procedure.
20628         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
20629          proper range check.
20630
20631 2001-12-04  Ed Schonberg <schonber@gnat.com>
20632
20633         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
20634         processing discriminants to diagnose illegal default values.
20635
20636 2001-12-04  Ed Schonberg <schonber@gnat.com>
20637
20638         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
20639         access discriminant within a type extension that constrains its
20640         parent discriminants.
20641
20642 2001-12-04  Ed Schonberg <schonber@gnat.com>
20643
20644         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
20645         is malformed, use instance of Any_Id to allow analysis to proceed.
20646
20647         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
20648         type definition is illegal.
20649         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
20650         misplaced.
20651
20652 2001-12-04  Ed Schonberg <schonber@gnat.com>
20653
20654         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
20655         constants.
20656
20657 2001-12-04  Robert Dewar <dewar@gnat.com>
20658
20659         * errout.adb: Minor reformatting
20660
20661 2001-12-04  Robert Dewar <dewar@gnat.com>
20662
20663         * exp_util.adb: Minor reformatting from last change
20664
20665         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
20666         which is a rewriting of an expression, traverse the original
20667         expression to remove warnings that may have been posted on it.
20668
20669 2001-12-04  Ed Schonberg <schonber@gnat.com>
20670
20671         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
20672         record that has other packed components.
20673
20674 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
20675
20676         * adaint.c: Minor cleanups.
20677
20678 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
20679
20680         * adaint.c: Do not use utime.h on vxworks.
20681
20682 2001-12-04  Arnaud Charlet <charlet@gnat.com>
20683
20684         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
20685         more confusion than it solves.
20686
20687 2001-12-04  Geert bosch <bosch@gnat.com>
20688
20689         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
20690
20691 2001-12-04  Geert Bosch  <bosch@gnat.com>
20692
20693         * Makefile.in (update-sources): New target.
20694         For use by gcc_release script.
20695
20696 2001-12-04  Ed Schonberg <schonber@gnat.com>
20697
20698         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
20699         a configuration pragma, it is now legal wherever a pragma can appear.
20700
20701 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
20702
20703         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
20704         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
20705         is now @CROSS@ -DIN_GCC; update comment.
20706
20707 2001-12-04  Robert Dewar <dewar@gnat.com>
20708
20709         * einfo.adb (Has_Pragma_Pure_Function): New flag.
20710         Fix problem that stopped ceinfo from working
20711
20712         * einfo.ads (Has_Pragma_Pure_Function): New flag.
20713
20714         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
20715
20716 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
20717
20718         * gnatchop.adb:
20719         (File_Time_Stamp): New procedure.
20720         (Preserve_Mode): New boolean.
20721         (Write_Unit): Pass time stamp.
20722         Implement -p switch (preserve time stamps).
20723
20724         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
20725
20726         * gnatchop.adb: Do usage info for -p switch
20727
20728         * adaint.h (__gnat_set_file_time_name): New function
20729
20730         * adaint.c (__gnat_set_file_time_name): Implement
20731
20732         * adaint.h: Fix typo
20733
20734 2001-12-03  Robert Dewar <dewar@gnat.com>
20735
20736         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
20737         have Associated_Node.
20738
20739 2001-12-03  Robert Dewar <dewar@gnat.com>
20740
20741         * prj-proc.adb: Minor reformatting
20742
20743         * make.adb: Minor reformatting
20744
20745 2001-12-03  Geert Bosch <bosch@gnat.com>
20746
20747         * make.adb: Minor reformatting.
20748
20749 2001-12-03 Robert Dewar  <dewar@gnat.com>
20750
20751         * sem_ch12.adb: Minor reformatting
20752
20753 2001-12-03  Ed Schonberg <schonber@gnat.com>
20754
20755         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
20756         push Standard on the stack before analyzing the instance body,
20757         in order to have a clean visibility environment.
20758
20759         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
20760
20761 2001-12-03  Ed Schonberg <schonber@gnat.com>
20762
20763         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
20764         instantiation of a body that contains an inlined body.
20765
20766 2001-12-03  Ed Schonberg <schonber@gnat.com>
20767
20768         * sem_ch12.adb:
20769         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
20770         to prevent freezing within formal packages.
20771         (Freeze_Subprogram_Body): If body comes from another instance that
20772         appeared before its own body, place freeze node at end of current
20773         declarative part, to prevent a back-end crash.
20774         (Inline_Instance_Body): Handle properly a package instance within
20775         a subprogram instance that is a child unit.
20776
20777 2001-12-01  Graham Stott  <grahams@redhat.com>
20778
20779         * Makefile.in (misc.o): Add missing $(srcdir) prefix
20780         and add optabs.h dependency.
20781
20782         * misc.c: Include optabs.h
20783         (gnat_tree_code_type): Make static and const.
20784         (gnat_tree_code_length): Likewise.
20785         (gnat_tree_code_name): Likewise.
20786         (update_setjmp_buf): Obtain operands mode from insn_data.
20787
20788 2001-11-29  Richard Henderson  <rth@redhat.com>
20789
20790         * init.c: Remove obsolete dwarf2 frame.h section.
20791
20792 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
20793
20794         * Make-lang.in (ada.generated-manpages): New dummy target.
20795
20796 2001-11-29  Ed Schonberg <schonber@gnat.com>
20797
20798         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
20799         into Command, an array conversion is illegal here. Uncovered by
20800         ACATS B460005.
20801
20802 2001-11-28  Geert Bosch <bosch@gnat.com>
20803
20804         * init.c: Minor whitespace changes.
20805
20806 2001-11-28  Doug Rupp <rupp@gnat.com>
20807
20808         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
20809         signal stack.
20810
20811 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
20812
20813         * misc.c (gnat_expand_constant): Move declaration above
20814         definition of lang_hooks.
20815         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
20816         (gnat_init): lang_expand_constant no longer exists.
20817
20818         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
20819         always have vprintf.
20820         (gnat_init): Always call set_internal_error_function.
20821
20822 2001-11-27  Andreas Jaeger  <aj@suse.de>
20823
20824         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
20825
20826 2001-11-27  Laurent Guerby  <guerby@acm.org>
20827
20828         * Makefile.in: Regenerate Ada dependencies.
20829
20830 2001-11-26  Richard Henderson  <rth@redhat.com>
20831
20832         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
20833         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
20834         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
20835
20836 2001-11-25  Laurent Guerby  <guerby@acm.org>
20837
20838         * sysdep.c (rts_get_*): Fix style.
20839
20840 2001-11-19  Laurent Guerby  <guerby@acm.org>
20841
20842         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
20843         since it is of no apparent use and cause warnings.
20844
20845 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
20846
20847         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
20848         static too.
20849         (gnat_init): Don't return NULL.
20850         (finish_parse): Remove.
20851
20852 2001-11-17  Laurent Guerby  <guerby@acm.org>
20853
20854         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
20855         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
20856         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
20857         * lang-spec.h: Add missing struct field to silence warnings.
20858         * sysdep.c (rts_get_*): Provide K&R prototype.
20859         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
20860         * traceback.c (Unlock_Task, Lock_Task): Likewise.
20861         * tracebak.c (__gnat_backtrace): Remove unused variable.
20862         * utils.c (end_subprog_body): Move to K&R style.
20863
20864 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
20865
20866         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
20867
20868 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
20869
20870         * misc.c (gnat_init): Change prototype.  Include the
20871         functionality of the old init_parse and init_decl_processing.
20872         (gnat_init_decl_processing): New prototype.
20873         (init_parse): Remove.
20874         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
20875
20876 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
20877
20878         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
20879         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
20880         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
20881         set_yydebug): Remove.
20882
20883 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
20884
20885         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
20886         (struct lang_hooks): Constify.
20887         (language_string, lang_identify): Remove.
20888         * utils.c (init_decl_processing): Update.
20889
20890 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
20891
20892         * misc.c: Include langhooks-def.h.
20893         * Makefile.in: Update.
20894
20895 2001-10-30  Robert Dewar <dewar@gnat.com>
20896
20897         * style.adb:
20898         (Check_Identifier): Rewrite circuit to be compatible with use of letters
20899         in the upper half of ASCII.
20900         (Check_Identifier): Minor reformatting
20901
20902 2001-10-30  Geert Bosch <bosch@gnat.com>
20903
20904         * (Associated_Node, Set_Associated_Node): Do not check for
20905         Freeze_Entity.
20906
20907 2001-10-30  Robert Dewar <dewar@gnat.com>
20908
20909         * a-reatim.ads: Minor reformatting
20910
20911 2001-10-30  Robert Dewar <dewar@gnat.com>
20912
20913         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
20914         undocumented declarations.
20915
20916 2001-10-30  Pascal Obry <obry@gnat.com>
20917
20918         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
20919         to the binder and linker.
20920         Minor style fix.
20921
20922         * mdll.ads: Fix layout.  Update copyright notice.
20923
20924         * mdll.adb: Fix layout.  Update copyright notice.
20925
20926 2001-10-30  Robert Dewar <dewar@gnat.com>
20927
20928         * usage.adb: Minor fix to output for -gnaty.
20929
20930 2001-10-30  Ed Schonberg <schonber@gnat.com>
20931
20932         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
20933         to accommodate all its possible values.
20934
20935         * a-reatim.adb (Split): Special-case handling of Time_Span_First
20936         and of small absolute values of T.
20937
20938 2001-10-30  Richard Kenner <kenner@gnat.com>
20939
20940         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
20941         set_mem_attributes since not needed and wrong if RESULT if a REG;
20942         fixes ACATS failures.
20943
20944 2001-10-30  Geert Bosch <bosch@gnat.com>
20945
20946         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
20947         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
20948
20949 2001-10-30  Robert Dewar <dewar@gnat.com>
20950
20951         * bindusg.adb: Undocument -f switch.
20952
20953         * gnatcmd.adb: Remove /FULL_ELABORATION.
20954
20955         * opt.ads (Force_RM_Elaboration_Order): Document that this is
20956         obsolescent.
20957
20958         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
20959
20960         * gnatbind.adb: Minor update of warning msg.
20961
20962 2001-10-30  Vincent Celier <celier@gnat.com>
20963
20964         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
20965         for project file switches (-P (/PROJECT_FILE=),
20966          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
20967         or MEDIUM or HIGH)
20968
20969 2001-10-30  Geert Bosch <bosch@gnat.com>
20970
20971         * decl.c: Minor whitespace fixes.
20972
20973 2001-10-30  Richard Kenner <kenner@gnat.com>
20974
20975         * utils2.c (build_allocator): Test for SIZE overflow in array case too
20976
20977 2001-10-30  Geert Bosch <bosch@gnat.com>
20978
20979         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
20980         Found due to GCC 3.0 warning of using uninitialized value.
20981
20982         * layout.adb:
20983         (Get_Max_Size): Use variant record for tracking value/expression.
20984          Makes logic clearer and prevents warnings for uninitialized variables.
20985         (Layout_Array_Type): Use variant record for tracking value/expression.
20986          Makes logic clearer and prevents warnings for uninitialized variables.
20987
20988 2001-10-30  Robert Dewar <dewar@gnat.com>
20989
20990         * lib.adb: Minor reformatting
20991
20992         * s-taprop.ads: Minor reformatting
20993
20994 2001-10-29  Laurent Guerby  <guerby@acm.org>
20995
20996         * init.c:
20997         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
20998         const.
20999         (_gnat_error_handler): Make MSG const.
21000
21001 2001-10-29  Richard Kenner <kenner@gnat.com>
21002
21003         * sysdep.c: Fix localtime_r problem on LynxOS.
21004         Also remove #elif to avoid warnings.
21005
21006         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
21007         used by this.
21008
21009         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
21010
21011 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
21012
21013         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
21014         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
21015         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
21016         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
21017         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
21018         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
21019         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
21020         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
21021         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
21022         types.ads, urealp.adb: Fix spelling errors.
21023
21024 2001-10-27  Laurent Guerby <guerby@acm.org>
21025
21026         * trans.c (gigi): Fix non determinism leading to bootstrap
21027         comparison failures for debugging information.
21028
21029 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
21030
21031         * gnat_rm.texi: Use @./@: where appropriate.
21032
21033 2001-10-26  Robert Dewar <dewar@gnat.com>
21034
21035         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
21036
21037 2001-10-26  Richard Kenner <kenner@gnat.com>
21038
21039         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
21040
21041 2001-10-26  Richard Kenner <kenner@gnat.com>
21042
21043         * decl.c (validate_size): Modify message for bad size to avoid
21044         implication that compiler is modifying the size.
21045
21046 2001-10-26  Robert Dewar <dewar@gnat.com>
21047
21048         * prj-util.adb: Minor reformatting. Fix bad header format.
21049
21050 2001-10-26  Robert Dewar <dewar@gnat.com>
21051
21052         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
21053
21054         * sinfo.ads: Clarify use of Associated_Node (documentation only).
21055
21056         * sem_ch12.adb: Change Node4 to Associated_Node. Change
21057         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
21058         much more narrowly in places where needed. These are cleanups.
21059
21060 2001-10-26  Joel Brobecker <brobecke@gnat.com>
21061
21062         * 5zosinte.ads (null_pthread): new constant.
21063
21064         * 5ztaprop.adb:
21065         (Initialize_TCB): Initialize thread ID to null, to be able to verify
21066          later that this field has been set.
21067         (Finalize_TCB): ditto.
21068         (Suspend_Task): Verify that the thread ID is not null before using it.
21069         (Resume_Task): ditto.
21070
21071         * s-tasdeb.adb:
21072         (Resume_All_Tasks): Lock the tasks list before using it.
21073         (Suspend_All_Tasks): ditto.
21074
21075 2001-10-26  Richard Kenner <kenner@gnat.com>
21076
21077         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
21078         Make constant variant of designated type for Is_Access_Constant.
21079         Call update_pointer_to with main variant.
21080
21081         * trans.c (process_freeze_entity, process_type):
21082         Call update_pointer_to on main variant.
21083
21084         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
21085         If main variant, update all other variants.
21086
21087         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
21088         TREE_STATIC.
21089
21090 2001-10-26  Robert Dewar <dewar@gnat.com>
21091
21092         * prj-util.adb: Minor reformatting
21093
21094 2001-10-26  Robert Dewar <dewar@gnat.com>
21095
21096         * prj-util.adb: Minor reformatting
21097
21098 2001-10-26  Robert Dewar <dewar@gnat.com>
21099
21100         * prj-attr.adb: Minor reformatting throughout
21101
21102 2001-10-26  Robert Dewar <dewar@gnat.com>
21103
21104         * prj-attr.ads: Minor reformatting
21105         Add ??? comment (this whole spec has almost no comments)
21106
21107 2001-10-26  Vincent Celier <celier@gnat.com>
21108
21109         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
21110         ("//") that precede the drive letter on Interix.
21111
21112 2001-10-26  Geert Bosch <bosch@gnat.com>
21113
21114         * gnat_rm.texi: Add GNAT Reference Manual.
21115
21116 2001-10-25  Robert Dewar <dewar@gnat.com>
21117
21118         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
21119         is Error. Similar change for other renaming cases.
21120
21121 2001-10-25  Robert Dewar <dewar@gnat.com>
21122
21123         * s-atacco.ads: Add pragma Inline_Always for functions.
21124         Fix header format. Add copyright 2001
21125
21126 2001-10-25  Ed Schonberg <schonber@gnat.com>
21127
21128         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
21129         return Error rather than Empty so that analysis can proceed.
21130
21131 2001-10-25  Ed Schonberg <schonber@gnat.com>
21132
21133         * sem_util.adb (Enter_Name): better handling of cascaded error
21134         messages when a unit appears in its own context.
21135
21136 2001-10-25  Ed Schonberg <schonber@gnat.com>
21137
21138         * sem_util.adb (Defining_Entity): in case of error, attach created
21139         entity to specification, so that semantic analysis can proceed.
21140
21141 2001-10-25  Robert Dewar <dewar@gnat.com>
21142
21143         * sem_util.adb
21144         (Defining_Entity): Deal with Error.
21145         (Process_End_Label): Deal with bad end label for.
21146
21147 2001-10-25  Ed Schonberg <schonber@gnat.com>
21148
21149         * sem_elab.adb (Check_A_Call): refine message when call is in an
21150         instance but callee is not declared in the generic unit.
21151
21152 2001-10-25  Ed Schonberg <schonber@gnat.com>
21153
21154         * sem_elab.adb (Check_A_Call): check for renaming before finding the
21155         enclosing unit, which may already be different from the calling unit.
21156
21157 2001-10-25  Geert Bosch <bosch@gnat.com>
21158
21159         * 4gintnam.ads: fix header format.
21160
21161 2001-10-25  Ed Schonberg <schonber@gnat.com>
21162
21163         * sem_res.adb (Resolve_Call): if the call is actually an indexing
21164         operation on the result of a parameterless call, perform elaboration
21165         check after the node has been properly rewritten.
21166
21167         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
21168         inlined within the generic tree, the defining identifier is not a
21169         compilation_unit.
21170
21171 2001-10-25  Ed Schonberg <schonber@gnat.com>
21172
21173         * sem_res.adb (Resolve): special-case resolution of Null in an
21174          instance or an inlined body to avoid view conflicts.
21175
21176         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
21177          compatibility by retrieving the access type of the generic copy.
21178
21179 2001-10-25  Robert Dewar <dewar@gnat.com>
21180
21181         * sem_ch3.adb:
21182         (Analyze_Number_Declaration): Handle error expression.
21183         (Signed_Integer_Type_Declaration): Handle error bound.
21184         (Analyze_Subtype_Indication): Handle error range.
21185
21186         * sem_util.adb (Get_Index_Bounds): Check for Error.
21187
21188 2001-10-25  Robert Dewar <dewar@gnat.com>
21189
21190         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
21191         in no run time mode.
21192
21193 2001-10-25  Pascal Obry <obry@gnat.com>
21194
21195         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
21196         mode case for ALLOC case.
21197
21198         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
21199         all platforms. Improvement of last change.
21200
21201 2001-10-25  Robert Dewar <dewar@gnat.com>
21202
21203         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
21204
21205 2001-10-25  Geert Bosch  <bosch@gnat.com>
21206
21207         * osint.adb (Is_Relative): Remove duplicate.
21208
21209 2001-10-25  Pascal Obry <obry@gnat.com>
21210
21211         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
21212         pathnames in UNIX and DOS style with drive letter.
21213         (Is_Relative): new routine.
21214
21215         * osint.adb: Minor reformatting
21216
21217         * osint.adb (Is_Relative): implementation using
21218         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
21219
21220 2001-10-25  Pascal Obry <obry@gnat.com>
21221
21222         * g-dirope.adb (Basename): correctly compute offset between the
21223         original Path and the translated one.
21224
21225         * g-dirope.adb: (Base_Name): add some comments.
21226
21227 2001-10-25  Robert Dewar <dewar@gnat.com>
21228
21229         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
21230         in HIE mode, avoids compilation abandoned message
21231
21232         * exp_imgv.adb: Correct typo in previous change
21233
21234         * exp_imgv.adb: Correct typo in previous change (not my day!)
21235
21236 2001-10-25  Robert Dewar <dewar@gnat.com>
21237
21238         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
21239
21240 2001-10-25  Pascal Obry <obry@gnat.com>
21241
21242         * g-awk.ads: Move all pragma inlines next to the routine
21243          declarations. This is more uniform with other GNAT spec.
21244
21245 2001-10-22  Geert Bosch  <bosch@gnat.com>
21246
21247         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
21248
21249 2001-10-19  Geert Bosch  <bosch@gnat.com>
21250
21251         * Makefile.in (tools, gnattools): Remove gnatmem.
21252
21253 2001-10-17  Richard Henderson  <rth@redhat.com>
21254
21255         * Makefile.in (misc.o): Depend on langhooks.h.
21256         * misc.c: Include it.
21257         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
21258         (LANG_HOOKS_DECODE_OPTION): New.
21259         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
21260
21261 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
21262
21263         * trans.c (tree_transform): Adjust to recent change in
21264         expand_asm_operands to implement named asm operands.
21265
21266 2001-10-11  Ed Schonberg  <schonber@gnat.com>
21267
21268         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
21269         renaming of discriminant for mutable record type.
21270
21271 2001-10-11  Robert Dewar  <dewar@gnat.com>
21272
21273         * validsw.adb: Properly save -gnatVn status.
21274
21275 2001-10-11  Robert Dewar <dewar@gnat.com>
21276
21277         * usage.adb: Add lines for V switch.
21278
21279         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
21280         (/VALIDITY_CHECKING).
21281
21282 2001-10-11  Ed Schonberg <schonber@gnat.com>
21283
21284         * sem_type.adb (Add_One_Interp): an operator for a type declared in
21285         an extension of System is known to be visible.
21286
21287 2001-10-11  Ed Schonberg <schonber@gnat.com>
21288
21289         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
21290         properly. Fixes regression on ACATS C34005G.
21291
21292 2001-10-11  Robert Dewar <dewar@gnat.com>
21293
21294         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
21295         loop in generic instance, since this is likely not very useful.
21296
21297 2001-10-11  Robert Dewar <dewar@gnat.com>
21298
21299         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
21300         the error message for high integrity mode.
21301
21302         * rtsfind.adb (RTE): Give message if we try to find an entity that
21303         is not available in high integrity mode.
21304
21305         * rtsfind.ads:
21306         (OK_To_Use_In_HIE_Mode): New array.
21307         (RTE): May return Empty in high integrity mode.
21308
21309         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
21310         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
21311
21312         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
21313         unit if not inlined always and in no runtime mode. Fixes problem
21314         caused by new Rtsfind changes.
21315
21316         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
21317         body is deleted.
21318
21319         * rtsfind.adb (RTE): Make sure we do not try to load unit after
21320         giving message for entity not available in high integrity mode.
21321
21322 2001-10-11  Pascal Obry <obry@gnat.com>
21323
21324         * impunit.adb: Add GNAT.CRC32.
21325
21326 2001-10-11  Ed Schonberg <schonber@gnat.com>
21327
21328         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
21329         properly the case where one universal operand in a non-static
21330         exponentiation of a real literal.
21331
21332 2001-10-11  Ed Schonberg <schonber@gnat.com>
21333
21334         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
21335         clause, return the gobal finalization list, for lack of anthing else.
21336
21337 2001-10-11  Ed Schonberg <schonber@gnat.com>
21338
21339         * exp_ch7.adb (Make_Transient_Block): if statement is within
21340         exception handler, always use new transient scope to place Clean
21341         procedure.
21342
21343 2001-10-11  Pascal Obry <obry@gnat.com>
21344
21345         * Makefile.in:
21346         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
21347         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
21348         (GNATLS_RTL_OBJS): add g-crc32.o
21349         (GNATMAKE_RTL_OBJS): add g-crc32.o
21350
21351         * ali-util.adb:
21352         (CRC_Match): new function.
21353         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
21354         instead of the previous simple checksum algorithm.
21355         (Time_Stamp_Mismatch): use CRC_Match for comparison.
21356         (Set_Source_Table): idem.
21357
21358         * ali-util.ads:
21359         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
21360         instead of simple checksum.
21361         (CRC_Match): new function.
21362         (CRC_Error): new constant.
21363
21364         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
21365         a CRC now and not a simple checksum. A CRC uses lower-case hex
21366         letters, fixes ambiguity in parsing.
21367
21368         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
21369         is what this variable will store.
21370
21371         * bcheck.adb: Change reference to chechsum in comments by CRC.
21372         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
21373         rename All_Checksum_Match to All_CRC_Match. Change due to API
21374         renaming since now GNAT does not use a simple checksum but a
21375         CRC using GNAT.CRC32.
21376
21377         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
21378         now and not anymore a simple checksum.
21379
21380         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
21381         places.
21382
21383         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
21384
21385         * scans.adb:
21386         (Restore_Scan_State): rename Checksum to CRC.
21387         (Save_Scan_State): idem.
21388
21389         * scans.ads:
21390         With GNAT.CRC32.
21391         (Checksum): rename to CRC.
21392         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
21393
21394         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
21395         GNAT.CRC32).  Update copyright notice.
21396
21397         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
21398         GNAT.CRC32).  Update copyright notice.
21399
21400         * scn.adb:
21401         (Accumulate_Checksum): removed.
21402         (Update): new procedure. Add a wide-character into the CRC.
21403
21404         * sinput-l.adb:
21405         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
21406         (Load_File): fix initialization of S (change Source_Checksum to
21407         Source_CRC)
21408
21409         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
21410         Source_CRC in S initialization.
21411
21412         * sinput.adb (Source_Checksum): renamed to Source_CRC.
21413
21414         * sinput.ads (Source_Checksum): renamed to Source_CRC.
21415         Update comments for the CRC.
21416
21417         * types.adb (Hex): Use lowercase for the letter part.
21418
21419         * types.ads (Get_Hex_String): Returns the hexadecimal representation
21420         for a word. This is currently used only for CRC. In previous version,
21421         the checksum was using a representation with all letter being
21422         upper-case. With the new implementation (using CRC) we do not remove
21423         the 32th bit of the CRC, so we can have an upper-case starting letter
21424         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
21425         It is ambigous since the CRC was optional and could be followed by
21426         options like EB, EE. So now this routines uses lower-case letter for
21427         the hexadecimal representation. Strange enough only lower case letters
21428         where checked in Scan_ALI (even if this was not a possible case).
21429
21430         * gnatvsn.ads (Library_Version): changed to 3.15a.
21431
21432         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
21433         for the compiler.
21434
21435         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
21436         for the compiler.
21437
21438         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
21439         Add 2001 to copyright notice
21440         (Accumulate_Checksum): Modify to use System.CRC32.
21441
21442         * ali-util.ads: Redo changes of previous revision to continue to use
21443         the word Checksum. Add 2001 to copyright notice.
21444
21445         * ali.adb: Undo some of previous changes, not needed.
21446         Keep the change for lower case letters in the checksum.
21447
21448         * ali.ads: Undo previous change not needed.
21449
21450         * bcheck.adb: Undo most of previous change, not needed.
21451         But do use Checksums_Match for checksum comparison.
21452
21453         * gnatls.adb: Undo most of previous change, not needed.
21454         But do use Checksums_Match for comparing checksums.
21455
21456         * lib-load.adb: Undo previous change, not needed.
21457
21458         * lib-writ.adb: Undo previous change, not needed.
21459
21460         * lib-writ.ads: Document that checksums use lower case,
21461         not upper case letters.
21462
21463         * scans.adb: Undo previous change, not needed
21464
21465         * scans.ads: Undo previous change, not needed.
21466
21467         * scn-nlit.adb: Undo previous changes, not needed.
21468
21469         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
21470
21471         * scn.adb:
21472         (Accumulate_Checksum): Use System.CRC32.
21473         (Initialize_Checksum): New procedure.
21474         Remove other changes of previous revision.
21475
21476         * sinput-p.adb: Undo previous change, not needed.
21477
21478         * sinput.adb: Undo previous change, not needed.
21479
21480         * sinput-l.adb: Undo previous change, not needed.
21481
21482         * sinput.ads: Undo previous change, not needed.  Keep only comment
21483         on new checksum algorithm
21484
21485         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
21486         Also remove a-tags and a-stream from GNAT sources.
21487
21488         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
21489
21490         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
21491
21492 2001-10-11  Geert Bosch  <bosch@gnat.com>
21493
21494         * einfo.h: Regenerate.
21495
21496         * nmake.ads: Regenerate.
21497
21498         * nmake.adb: Regenerate.
21499
21500         * sinfo.h: Regenerate.
21501
21502         * treeprs.adb: Regenerate.
21503
21504 2001-10-10  Geert Bosch  <bosch@gnat.com>
21505
21506         * gnat-style.texi: New file describing coding guidelines for Ada.
21507
21508 2001-10-10  Ed Schonberg <schonber@gnat.com>
21509
21510         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
21511         is Flag174.
21512
21513 2001-10-10  Geert Bosch  <bosch@gnat.com>
21514
21515         * snames.ads: Add new names for project facility.
21516
21517         * snames.adb: Update to reflect snames.ads changes.
21518
21519         * snames.h: Update to reflect snames.ads changes.
21520
21521 2001-10-10  Vincent Celier <celier@gnat.com>
21522
21523         * make.adb:
21524         (Add_Switches): reflect the changes for the switches attributes
21525         Default_Switches indexed by the programming language,
21526         Switches indexed by the file name.
21527         (Collect_Arguments_And_Compile): Idem.
21528         Reflect the attribute name changes.
21529
21530         * prj-attr.adb:
21531         (Initialisation_Data): Change the names of some packages and
21532         attributes.
21533         (Initialize): process case insensitive associative arrays.
21534
21535         * prj-attr.ads:
21536         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
21537
21538         * prj-dect.adb:
21539         (Parse_Attribute_Declaration): For case insensitive associative
21540          arrays, set the index string to lower case.
21541
21542         * prj-env.adb:
21543         Reflect the changes of the project attributes.
21544
21545         * prj-nmsc.adb:
21546         Replace Check_Naming_Scheme by Ada_Check and
21547         Language_Independent_Check.
21548
21549         * prj-nmsc.ads:
21550         Replaced Check_Naming_Scheme by 2 procedures:
21551         Ada_Check and Language_Independent_Check.
21552
21553         * prj-proc.adb:
21554         (Process_Declarative_Items): For case-insensitive associative
21555         arrays, set the index string to lower case.
21556         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
21557         Prj.Nmsc.Check_Naming_Scheme.
21558
21559         * prj-tree.adb:
21560         (Case_Insensitive): New function
21561         (Set_Case_Insensitive): New procedure
21562
21563         * prj-tree.ads:
21564         (Case_Insensitive): New function
21565         (Set_Case_Insensitive): New procedure
21566         (Project_Node_Record): New flag Case_Insensitive.
21567
21568         * prj-util.adb:
21569         (Value_Of): new function to get the string value of a single
21570         string variable or attribute.
21571
21572         * prj-util.ads:
21573         (Value_Of): new function to get the string value of a single
21574         string variable or attribute.
21575
21576         * prj.adb:
21577         (Ada_Default_Spec_Suffix): New function
21578         (Ada_Default_Impl_Suffix): New function
21579         Change definitions of several constants to reflect
21580         new components of record types.
21581
21582         * prj.ads:
21583         (Naming_Data): Change several components to reflect new
21584         elements of naming schemes.
21585         (Project_Data): New flags Sources_Present and
21586         Language_Independent_Checked.
21587         (Ada_Default_Spec_Suffix): New function.
21588         (Ada_Default_Impl_Suffix): New function.
21589
21590         * snames.ads:
21591         Modification of predefined names for project manager: added
21592         Implementation, Specification_Exceptions, Implementation_Exceptions,
21593         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
21594         Default_Switches, _Languages, Builder, Cross_Reference,
21595         Finder. Removed Body_Part, Specification_Append, Body_Append,
21596         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
21597         Gnatlink.
21598
21599         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
21600         Add comments.
21601
21602         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
21603         not that it is Nil_Variable_Value.
21604
21605         * prj.ads: Add ??? for uncommented declarations
21606
21607 2001-10-10  Ed Schonberg <schonber@gnat.com>
21608
21609         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
21610         constant, do not indicate possible modification, so that gigi can
21611         treat it as a bona fide constant.
21612
21613 2001-10-10  Robert Dewar <dewar@gnat.com>
21614
21615         * sem_prag.adb: Add processing for pragma External.
21616
21617         * snames.ads: Add entry for pragma External.
21618
21619         * par-prag.adb: Add pragma External.
21620
21621         * snames.adb: Updated to match snames.ads.
21622
21623 2001-10-10  Ed Schonberg <schonber@gnat.com>
21624
21625         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
21626         a dynamic task if the allocator appears in an indexed assignment
21627         or selected component assignment.
21628
21629         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
21630         For a dynamic task in an assignment statement, use target of
21631         assignment to generate meaningful name.
21632
21633 2001-10-10  Ed Schonberg <schonber@gnat.com>
21634
21635         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
21636         a generic package.
21637
21638         * einfo.ads: Body_Entity is also defined for generic package.
21639         Documentation change only
21640
21641         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
21642         others_choice for a discriminated component initialization,
21643         convert discriminant references into the corresponding discriminals.
21644
21645         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
21646         only if original type is private and expression has to be wrapped
21647         in a conversion.
21648
21649         * checks.adb:
21650         (Apply_Constraint_Check): Do not perform length check
21651         if expression is an aggregate with only an others_choice.
21652         (Length_N_Cond): two references to the same in_parameter
21653         (typically the discriminal in an init_proc) denote the same value.
21654         Two useful optimization uncovered by bugfixes above.
21655
21656 2001-10-10  Robert Dewar <dewar@gnat.com>
21657
21658         * xeinfo.adb: Change int to char in translation of enumeration types.
21659         This fixes a problem in the C representation of component alignment.
21660         Add 2001 to copyright notice
21661
21662 2001-10-10  Richard Kenner <kenner@gnat.com>
21663
21664         * decl.c: (validate_size): Do check size of object of integral type
21665         if it is a packed array type.
21666
21667 2001-10-10  Richard Kenner <kenner@gnat.com>
21668
21669         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
21670         VAR_DECL for constant if not Is_Public but -O0.
21671
21672 2001-10-10  Richard Kenner  <kenner@gnat.com>
21673
21674         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
21675
21676 2001-10-10  Geert Bosch  <bosch@gnat.com>
21677
21678         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
21679         use '/' as switch character, allowing for absolute file names.
21680
21681 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
21682
21683         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
21684         FSF address.
21685
21686 2001-10-08  Geert Bosch  <bosch@gnat.com>
21687
21688         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
21689         Automatically build utilities when files need to be regenerated.
21690
21691 2001-10-08  Geert Bosch  <bosch@gnat.com>
21692
21693         * xsnames.adb: New utility for updating snames.ads and snames.adb
21694
21695 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
21696
21697         * Make-lang.in (ADAFLAGS): Add -W -Wall.
21698         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
21699         (gnat1): Also depend on attribs.o.
21700         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
21701         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
21702         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
21703         (ADAFLAGS): Add -W -Wall.
21704         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
21705         take out CFLAGS.
21706
21707         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
21708         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
21709         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
21710         Use $(ADAC), not $(CC), as compilation command.
21711
21712         (gnattools): Depend directly on tools to build, don't use
21713         recursive make.
21714         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
21715
21716         * einfo.h, sinfo.h: New files (autogenerated).
21717
21718 2001-10-08  Richard Henderson  <rth@redhat.com>
21719
21720         * comperr.adb (Abort_In_Progress): New.
21721         (Compiler_Abort): Use it to prevent recursion.
21722
21723 2001-10-08  Robert Dewar <dewar@gnat.com>
21724
21725         * atree.adb: Set Error_Posted in Error node, helps error recovery.
21726
21727         * par-endh.adb (Output_End_Expected): We should also not test
21728         Error_Posted on the Error node, since now it is always set.
21729
21730         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
21731         to help error recovery. Part of general work on 9407-004.
21732
21733         * par.adb: Add ??? for misuse of error
21734
21735         * sem_res.adb:
21736         (Resolve): Defend against Error, fixes 9407-003.
21737         (Resolve_Discrete_Subtype_Indication): Defend against Error.
21738
21739         * sinfo.ads (N_Error): Now has Etype field (which will be set
21740         to Any_Type to help error recovery).
21741
21742 2001-10-08  Richard Kenner (kenner@gnat.com)
21743
21744         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
21745         Consistently set MEM attributes from expression; fixes
21746         bootstrap failure on x86.
21747
21748 2001-10-08  Geert Bosch  (bosch@gnat.com)
21749
21750         * 5oosinte.adb: Add 2001 to copyright notice.
21751
21752 2001-10-08  Geert Bosch  (bosch@gnat.com)
21753
21754         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
21755
21756         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
21757
21758 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
21759
21760         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
21761
21762 2001-10-05  Geert Bosch  (bosch@gnat.com)
21763
21764         * adaint.h: Small formatting fix.
21765
21766 2001-10-04  Geert Bosch  <bosch@gnat.com>
21767
21768         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
21769         Arg is int, not FILE *, in dummy version of functions.
21770
21771         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
21772         Arg is int, not FILE *.
21773
21774 2001-10-04  Geert Bosch  <bosch@gnat.com>
21775
21776         * 3lsoccon.ads: Added file, missed with initial check ins.
21777
21778         * 4lintnam.ads: Fix header format.
21779         Change Linux to GNU/Linux.
21780
21781         * 5iosinte.adb: Change Linux to GNU/Linux.
21782
21783         * 5iosinte.ads: Change Linux to GNU/Linux.
21784
21785         * 5itaprop.adb: Change Linux to GNU/Linux.
21786
21787         * 5itaspri.ads: Change Linux to GNU/Linux.
21788         Update copyright notice.
21789
21790         * 5lintman.adb: Change Linux to GNU/Linux.
21791
21792         * 5lml-tgt.adb: Change Linux to GNU/Linux.
21793
21794         * 5losinte.ads: Change Linux to GNU/Linux.
21795
21796         * 5lsystem.ads: Change Linux to GNU/Linux.
21797
21798         * 5qosinte.adb: Change Linux to GNU/Linux.
21799
21800         * 5qosinte.ads: Change Linux to GNU/Linux.
21801
21802         * 5qparame.ads: Change Linux to GNU/Linux.
21803
21804         * 5qtaprop.adb: Change Linux to GNU/Linux.
21805
21806         * 5qtaspri.ads: Change Linux to GNU/Linux.
21807         Add 2001 to copyright notice.
21808
21809         * 5vintman.ads: Change Linux to GNU/Linux.
21810         Fix header format.  Add 2001 to copyright notice.
21811
21812         * g-soccon.ads: Change Linux to GNU/Linux.
21813
21814         * g-trasym.ads: Change Linux to GNU/Linux.
21815         Add 2001 to copyright notice.
21816
21817         * memtrack.adb: Change Linux to GNU/Linux.
21818
21819         * s-intman.ads: Change Linux to GNU/Linux.
21820         Add 2001 to copyright notice.  Fix header format.
21821
21822         * s-stache.adb: Change Linux to GNU/Linux.
21823
21824         * adaint.c: Change Linux to GNU/Linux.
21825
21826         * cio.c: Change Linux to GNU/Linux.
21827
21828         * cstreams.c: Change Linux to GNU/Linux.
21829
21830         * init.c: Change Linux to GNU/Linux.
21831
21832         * gmem.c: Change Linux to GNU/Linux.
21833
21834         * tracebak.c: Change Linux to GNU/Linux.
21835
21836
21837 2001-10-02  Geert Bosch  <bosch@gnat.com>
21838
21839         * misc.c (insert_default_attributes): Add dummy version.