fe.h (Get_External_Name): Declare.
[official-gcc.git] / gcc / ada / ChangeLog
blob2bdc461f2dc0ce6254f866721b61aec8bda896cc
1 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
3         * fe.h (Get_External_Name): Declare.
4         * gcc-interface/gigi.h (concat_id_with_name): Rename to...
5         (concat_name): ...this.
6         * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
7         gnu_entity_name and adjust for above renaming.
8         <E_Access_Type>: Use create_concat_name to get the name of the various
9         types associated with unconstrained array types.
10         (make_aligning_type): Adjust for above renaming.
11         (maybe_pad_type): Likewise.
12         (components_to_record): Likewise.  Use get_identifier_with_length for
13         the encoding of the variant.
14         (get_entity_name): Use get_identifier_with_length.
15         (create_concat_name): Likewise.  Use Get_External_Name if no suffix.
16         Do not fiddle with Name_Buffer.
17         (concat_id_with_name): Rename to...
18         (concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
19         with Name_Buffer.
20         * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
21         above renaming.
23 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
25         * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
26         license notices.
28 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
30         * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
32 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
34         * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
35         (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
36         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
37         Remove useless support code for packed array types and assert its
38         uselessness.
39         <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
40         adjust for TYPE_RM_SIZE change.
41         <all> Fix nits in comments.  Use Original_Array_Type accessor instead
42         of Associated_Node_For_Itype accessor for packed array types.
43         (make_packable_type): Likewise.
44         (maybe_pad_type): Likewise.
45         (set_rm_size): Likewise.  Rework conditional statement.  Adjust for
46         TYPE_RM_SIZE change.
47         (make_type_from_size): Adjust for TYPE_RM_SIZE change.
48         (rm_size): Fix nits in comments.  Rework conditional statements.
49         * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
50         change.
51         * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
52         * gcc-interface/utils.c (gnat_init_decl_processing): Use more
53         appropriate function to initialize the size_type_node.  Adjust for
54         TYPE_RM_SIZE change.
56 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
58         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
59         for imported subprograms.
61 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
63         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
64         constant objects covered by 13.3(19) volatile.
66 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
68         * gcc-interface/utils.c (create_type_decl): Do not pass declarations
69         of dummy fat pointer types to the debug back-end.
71 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
73         * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
74         <E_Signed_Integer_Subtype>: Set the RM size on the integer type
75         before wrapping it up in the record type.  Do not overwrite the
76         Ada size of the record type with the Esize.
78 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
80         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
81         (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
82         if the conversion is on the LHS of an assignment and a no-op.
83         <all> Do not convert the result to the result type if the Parent
84         node is such a conversion.
86 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
88         * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
89         * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
90         of types with unknown discriminants.
91         (substitute_in_type): Rewrite and restrict to formal substitutions.
92         * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
93         (update_pointer_to): Update comment.
95 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
97         * sem_ch8.adb (Use_One_Package): In an instance, if two
98         potentially_use_visible and non-overloadable homonyms are available
99         from  the actuals of distinct formal packages, retain the current one,
100         which was visible in the generic, to prevent spurious visibility
101         errors.
102         (End_Use_Package): Restore use_visibility when needed.
104 2009-04-20  Sergey Rybin  <rybin@adacore.com>
106         * gnat_ugn.texi, vms_data.ads: Update doc.
108 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
110         * gcc-interface/Make-lang.in: Update dependencies
112         * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
113         Windows.
115 2009-04-20  Robert Dewar  <dewar@adacore.com>
117         * checks.ads: Fix documentation of range check handling
119 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
121         * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
122         a redundant use_type clause.
124 2009-04-20  Robert Dewar  <dewar@adacore.com>
126         * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
127         this attribute can be evaluated at compile time.
128         (Eval_Attribute, case Range_Length): Same improvement
130         * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
132 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
134         * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
135         for better handling of null procedures.
136         (Check_Overriding_Indicator): Do not emit a warning on a missing
137         overriding indicator on an operator when the type of which the operator
138         is a primitive is private.
140 2009-04-20  Bob Duff  <duff@adacore.com>
142         * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
143         debugging output.
145 2009-04-20  Robert Dewar  <dewar@adacore.com>
147         * sem_attr.adb: Minor reformatting
149         * gnatcmd.adb: Minor reformatting
151 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
153         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
154         overloaded and one interpretation matches the context, label the
155         operand with the type of first formal.
157 2009-04-20  Bob Duff  <duff@adacore.com>
159         * debug.ads: Minor comment fix.
161         * debug.adb: Minor comment fixes.
163 2009-04-20  Javier Miranda  <miranda@adacore.com>
165         * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
167         * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
169         * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
170         is expanded into a call to Raise_Exception, avoid passing the
171         exception-name'identity in runtimes in which this argument
172         is not used.
174 2009-04-20  Jerome Lambourg  <lambourg@adacore.com>
176         * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
177         generated bindings for cil.
179 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
181         * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
182         discriminants, collect components from the Underlying_Record_View,
183         which will be used in the expansion of the aggregate into assignments.
185         * sem_ch3.adb: Do not label derived type with unknown discriminants as
186         having a private declaration.
188 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
190         * exp_util.adb (Expand_Subtype_From_Expr): use the
191         underlying_record_view when available, to create the proper constrained
192         subtype for an object of a derived type with unknown discriminants.
194 2009-04-20  Javier Miranda  <miranda@adacore.com>
196         * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
197         formals that have pragma unreferenced.
199 2009-04-20  Pascal Obry  <obry@adacore.com>
201         * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
202         Remove all calls to To_Lower_If_Case_Insensitive to preserve
203         the pathname original casing.
205 2009-04-20  Robert Dewar  <dewar@adacore.com>
207         * g-trasym.adb: Minor reformatting
209         * s-os_lib.adb: Minor reformatting
211         * sem.adb: Minor reformatting
212         Minor code reorganization
214         * sem_ch3.adb: Minor reformatting
216         * sem_ch4.adb: Minor reformatting
218         * sem_ch8.adb: Minor reformatting
220         * sem_type.adb: Minor reformatting
222 2009-04-20  Javier Miranda  <miranda@adacore.com>
224         * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
225         generated by derivations of tagged types use the aliased subprogram a
226         reference to locate their controlling type.
228 2009-04-20  Tristan Gingold  <gingold@adacore.com>
230         * g-trasym.adb: Set size of result buffer before calling
231         convert_address.
233 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
235         * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
236         to a function returning an array can be interpreted as a call with
237         defaulted parameters whose result is indexed, take into account the
238         types of all the indices of the array result type.
240 2009-04-20  Pascal Obry  <obry@adacore.com>
242         * a-direct.adb, s-os_lib.adb: Minor reformatting.
244 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
246         * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
247         null exclusion qualifiers for object renaming declarations.
249 2009-04-20  Nicolas Roche  <roche@adacore.com>
251         * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
252         unsigned long long. So compare local_time and utc_time before computing
253         the difference.
255 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
257         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
258         of the Underlying_Record_View before that of the derived type.
260         * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
261         with unknown discriminants with regard to the parent subtype.
263 2009-04-20  Bob Duff  <duff@adacore.com>
265         * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
266         that are not included. This is necessary if the main unit is a generic
267         instantiation.
269         * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
270         because it doesn't work if -gnatn is used.
272 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
274         * rtsfind.adb (RTE, RTE_Record_Component): In
275         Configurable_Run_Time_Mode, do not enable front-end inlining.
277 2009-04-20  Thomas Quinot  <quinot@adacore.com>
279         * g-socthi-vms.adb: Remove now unnecessary WITH clause on
280         System.Address_To_Access_Conversions.
282 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
284         * sem.adb: Guard against ill-formed subunits.
286 2009-04-20  Bob Duff  <duff@adacore.com>
288         * output.adb (Flush_Buffer): Do not indent blank lines.
289         (Ignore_Output): New procedure for output suppression.
291 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
293         * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
294         when it is positive.  This avoids a potential constraint error raised
295         by the conversion to Natural.
297 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
299         * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
300         involves a target that has a specified address, don't set Forward_OK
301         and Backward_OK to False if the rhs is an aggregate, since overlap
302         can't occur.
304 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
306         * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
307         in an object renaming declaration when the expected type is an
308         anonymous access type.
310         * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
311         ambiguity when one interpretation is an anonymous access type and the
312         other is a named access type, and the context itself is anonymous
314 2009-04-20  Thomas Quinot  <quinot@adacore.com>
316         * einfo.ads: Minor comment rewording
318         * sem_aggr.adb: Minor comment rewording
320         * sem_ch3.adb, sem_ch6.adb: Minor reformatting
322 2009-04-20  Pascal Obry  <obry@adacore.com>
324         * adaint.c (__gnat_is_readable_file): Check for file existence
325         when not using ACL (always the case on remote drives).
327 2009-04-20  Robert Dewar  <dewar@adacore.com>
329         * sinfo.ads: Minor comment fixes
331         * exp_disp.adb: Minor reformatting
333         * gnat1drv.adb: Minor reformatting
335         * output.adb: Minor reformatting
337         * s-vxwext-kernel.ads: Minor reformatting
339         * sem.ads: Minor reformatting
341         * sem.adb: Minor reformatting
343         * sem_elim.adb: Minor reformatting
345         * uname.ads: Minor reformatting
347 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
349         * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
350         a small dope of 4 words to the adjustment to the stack pointer.
352 2009-04-20  Thomas Quinot  <quinot@adacore.com>
354         * xoscons.adb: generate C header s-oscons.h in
355         addition to s-oscons.ads.
357         * socket.c: On VMS, use s-oscons.h.
359         * sem_ch3.adb: Minor reformatting
361         * exp_ch9.adb: Minor reformatting
363 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
365         * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
366         (Attribute_to_gnu): Do not call check_for_eliminated_entity.
367         (call_to_gnu): Likewise.
369 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
371         * gcc-interface/trans.c (gigi): Declare the name of the compilation
372         unit as the first global name at the very beginning.
374 2009-04-20  Thomas Quinot  <quinot@adacore.com>
376         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
377         s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
378         g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
379         since HP-UX supports neither inet_aton nor inet_pton (altough the
380         latter is part of the Single UNIX Specification!).
381         So reorganize code, and share C implementation based on inet_addr(3)
382         with VMS (instead of having a VMS specific Ada implementation in
383         g-socthi-vms.adb).
385 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
387         * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
388         to return the object file name saved by Set_Object_Output_File_Name.
390 2009-04-20  Emmanuel Briot  <briot@adacore.com>
392         * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
393         for the standard command line, when argc has been modified since the
394         start of the application.
396 2009-04-20  Thomas Quinot  <quinot@adacore.com>
398         * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
399         WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
401 2009-04-20  Bob Duff  <duff@adacore.com>
403         * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
404         pragma Debug.
406 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
408         * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
409         subprogram as Eliminated when source operation is.
410         (Expand_N_Protected_Type_Declaration): Generate protected and
411         unprotected specs for the internal operations, even if the source
412         operation is eliminated.
414 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
416         * exp_ch3.adb (Make_Predefined_Primitive_Specs,
417         Predefined_Primitive_Bodies): Do not create the declarations and bodies
418         of the primitive subprograms associated with dispatching select
419         statements when the runtime is in configurable mode.
421 2009-04-20  Ed Falis  <falis@adacore.com>
423         * s-vxwext-kernel.ads (tickGet): Use tick64Get.
425 2009-04-20  Thomas Quinot  <quinot@adacore.com>
427         * s-oscons-tmplt.c: Add support for generating a dummy version of
428         s-oscons.ads providing all possible constants.
430         * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
432         * socket.c (__gnat_inet_pton): On Windows make sure we always use the
433         ANSI version (not the UNICODE version) of WSAStringToAddress.
435 2009-04-20  Pascal Obry  <obry@adacore.com>
437         * adaint.c (__gnat_set_OWNER_ACL): properly free memory
438         allocated for the security descriptor and make sure all
439         handles are closed before leaving this procedure.
441 2009-04-20  Javier Miranda  <miranda@adacore.com>
443         * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
444         (Set_Is_Underlying_Record_View): New subprogram
446         * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
447         private types with unknown discriminants use the underlying record view
448         if available.
450         * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
451         underlying record view in the full view of private types whose parent
452         has unknown discriminants.
453         (Build_Derived_Record_Type): Avoid generating the class-wide entity
454         associated with an underlying record view.
455         (Derived_Type_Declaration): Avoid deriving parent primitives in
456         underlying record views.
458         * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
459         records with unknown discriminants.
461         * sem_type.adb (Covers): Handle underlying record views.
462         (Is_Ancestor): Add support for underlying record views.
464         * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
465         dispatching call if the type of the target object is tagged and has
466         unknown discriminants.
468         * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
469         unknown discriminants.
471         * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
472         tables for internally built underlying record views.
474         * sprint.adb (sprint_node_actual): Improve output of aggregates with an
475         empty list of component associations.
477 2009-04-20  Thomas Quinot  <quinot@adacore.com>
479         * sem_ch10.adb: Minor reformatting
481         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
482         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
483         (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
484         standard inet_pton API (and emulate it on platforms that do not
485         support it).
486         (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
487         DECC$INET_ADDR, imported in Ada.
488         (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
489         implementation provided by GNAT runtime.
490         (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
491         Windows.
493 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
495         * gnat_ugn.texi: Add documentation for -fno-ivopts.
497 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
499         * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
500         with_clause if it is the main unit.
502 2009-04-20  Thomas Quinot  <quinot@adacore.com>
504         * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
505         (no behaviour change): Use Append instead of Increment_Last followed
506         by assignment.
508 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
510         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
511         declarations of all primitives associated with dispatching asynchronous,
512         conditional and timed selects when dispaching calls are forbidden and
513         select statements are not allowed (such as in Ravenscar).
514         (Predefined_Primitive_Bodies): Ditto for bodies.
516         * exp_disp.ad (Make_DT): Do not create and populate the
517         Select_Specific_Data of the dispatch table when dispatching calls are
518         forbidden and select statements are not allowed (such as in Ravenscar).
520 2009-04-20  Robert Dewar  <dewar@adacore.com>
522         * a-tifiio.adb: Minor reformatting
524 2009-04-20  Thomas Quinot  <quinot@adacore.com>
526         * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
527         other C library functions, report *failure* with a zero status, and
528         success with a non-zero status.
530 2009-04-20  Bob Duff  <duff@adacore.com>
532         * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
533         (Semantics): After analyzing each unit, Append it to the
534         Comp_Unit_List, if appropriate.
536         * gnat1drv.adb (Check_Library_Items): New procedure for debugging
537         purposes.
538         (Gnat1drv): Correct comment regarding Back_End_Mode.
540 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
542         * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
544 2009-04-20  Thomas Quinot  <quinot@adacore.com>
546         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
547         output.adb, output.ads, s-taprop-hpux-dce.adb,
548         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
549         reformatting.
551 2009-04-20  Thomas Quinot  <quinot@adacore.com>
553         * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
554         g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
555         (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
556         (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
557         except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
558         (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
560         * debug.adb: Fix typo
562         * gnat_rm.texi: Minor doc fix.
564         * sem_ch7.adb, freeze.adb: Minor reformatting
566 2009-04-20  Thomas Quinot  <quinot@adacore.com>
568         * g-socket.ads: Add new constants:
569           Loopback_Inet_Addr
570           Unspecified_Group_Inet_Addr
571           All_Hosts_Group_Inet_Addr
572           All_Routers_Group_Inet_Addr
574         * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
575         ERANGE (Result too large).
576         (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
577         propagation of errno to caller.
579 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
581         * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
582         to 24. Increment Leap_Seconds_Count and add an entry to aggregate
583         Leap_Second_Times.
585 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
587         * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
588         checking for references to eliminated subprograms that should be
589         flagged.
590         (Eliminate_Error_Message): Update comment to say "references" rather
591         than "calls" (since attribute cases are handled here as well).
593         * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
594         checking for references to eliminated subprograms that should be
595         flagged.  Add with and use of Sem and Sem_Util.
597         * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
598         Add with and use of Sem_Elim.
600         * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
601         applied to eliminated subprograms.
602         (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
603         eliminated subprograms.
604         Add with and use of Sem_Elim.
606         * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
607         to eliminated subprograms, now handled during Resolve_Call.
608         Remove with and use of Sem_Elim.
610         * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
611         testing Is_Eliminated, for proper handling of primitive derived from
612         eliminated subprograms.
614 2009-04-20  Vincent Celier  <celier@adacore.com>
616         * mlib-prj.adb (Build_Library): Use the shared library linker, if one
617         has been declared (Library_GCC or Linker'Driver), for the driver name.
619         * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
620         Linker'Driver is, use Linker'Driver as the shared library linker.
621         (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
622         Library_GCC is declared.
623         (Check_Library_Attributes): Set up the shared linker driver: either
624         Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
625         declared.
627 2009-04-20  Thomas Quinot  <quinot@adacore.com>
629         * g-socket.ads (Send_Socket): Fix misleading comment.
631 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
633         * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
634         ASIS mode.
636 2009-04-20  Geert Bosch  <bosch@adacore.com>
638         * a-tifiio.adb (Put): Avoid generating too many digits for certain
639         fixed types with smalls that are neither integer or the reciprocal
640         of an integer.
642 2009-04-20  Bob Duff  <duff@adacore.com>
644         * uname.ads: Minor comment fix.
646         * types.ads: Minor comment fix.
648 2009-04-20  Pascal Obry  <obry@adacore.com>
650         * adaint.c (__gnat_get_libraries_from_registry): Fix code to
651         avoid warning. At the same time fix a memory leak.
653         * osint.adb (Get_Libraries_From_Registry): Properly free memory
654         returned by the above routine.
656 2009-04-20  Robert Dewar  <dewar@adacore.com>
658         * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
659         s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
660         s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
661         s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
663         * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
665 2009-04-20  Pascal Obry  <obry@adacore.com>
667         * initialize.c (__gnat_initialize): Add braces to kill warning.
669         * adaint.c: Minor reformatting, remove trailing spaces.
671 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
673         * gcc-interface/Make-lang.in: Update dependencies.
675 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
677         * adaint.h (__gnat_lwp_self): Declare on Linux.
679         * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
681 2009-04-20  Robert Dewar  <dewar@adacore.com>
683         * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
684         front-end part of -fpreserve-control-flow switch.
686 2009-04-20  Bob Duff  <duff@adacore.com>
688         * rtsfind.adb: Minor comment fix
690 2009-04-20  Robert Dewar  <dewar@adacore.com>
692         * exp_aggr.adb: Minor reformatting
693         Minor code reorganization (use Nkind_In)
695         * g-socket.adb: Minor reformatting
697         * g-socket.ads: Minor comment fix
699         * s-auxdec.ads: Minor comment and organization update.
701         * s-auxdec-vms_64.ads: Minor comment and organization update.
703         * sem_ch10.adb: Minor addition of ??? comment
705         * sem_disp.adb: Minor reformatting
707 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
709         * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
710         list a caller of an inlined subprogram, if the caller itself is not
711         called.
713 2009-04-20  Pascal Obry  <obry@adacore.com>
715         * adaint.c: Disable use of ACL on network drives.
717 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
719         * gnat_ugn.texi: Add examples.
721 2009-04-20  Thomas Quinot  <quinot@adacore.com>
723         * g-socket.ads (Abort_Selector): Clarify documentation.
725 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
727         * opt.ads (Inspector_Mode): Update documentation of this flag.
729 2009-04-20  Thomas Quinot  <quinot@adacore.com>
731         * g-socket.ads: Minor reformatting
733         * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
734         consider S_resolvLib error codes since we only use the hostLib wrappers.
736 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
738         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
739         of the Underlying_Record_View after that of the derived type.
741 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
743         * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
744         in inspector mode.
746 2009-04-20  Javier Miranda  <miranda@adacore.com>
748         * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
750         * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
751         documentation.
753         * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
755         * sem_disp.adb
756         (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
757         in internally built overriding subprograms.
759 2009-04-20  Doug Rupp  <rupp@adacore.com>
761         * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
763         * s-auxdec.ads: Likewise
765 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
767         * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
768         type by an interface.
770         * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
771         minimze difference in expanded tree when compiled as spec of the main
772         unit, or as a spec in the context of another unit.
774 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
776         * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
777         (localtime_tzoff): This routine no longer accepts an actual of type
778         tm_Pointer.
779         (UTC_Time_Offset): Remove local variable Secs_TM.
781         * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
782         actual of type struct tm*. Add local variable of type struct tm for all
783         targets that provide localtime_r and need to invoke it.
785 2009-04-20  Thomas Quinot  <quinot@adacore.com>
787         * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
788         (GNAT.Sockets.Resolve_Error): Add case of EPIPE
789         Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
791 2009-04-20  Robert Dewar  <dewar@adacore.com>
793         * sem_ch3.adb: Minor reformatting
795         * lib-load.adb: Minor reformatting
797         * sem_ch4.adb: Minor reformatting
799 2009-04-20  Robert Dewar  <dewar@adacore.com>
801         * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
802         (equal values => False).
804 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
806         * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
807         to null procedures can be inlined unconditionally.
809 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
811         * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
812         non-addressable parameter passed by reference, do not convert the
813         actual if its type is already the nominal type, unless it is of
814         self-referential size.
816 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
818         * gnat_ugn.texi: Fix typos.
820 2009-04-20  Robert Dewar  <dewar@adacore.com>
822         * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
823         Validate_Unchecked_Warnings to suppress warnings about size or
824         alignment or extra bits if either type involved has pragma Warnings
825         (Off) set for the type entity.
827 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
829         * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
830         a builtin type and give it a name.
832 2009-04-17  Diego Novillo  <dnovillo@google.com>
834         * gcc-interface/misc.c (gnat_expand_expr): Remove.
835         (LANG_HOOKS_EXPAND_EXPR): Remove.
837 2009-04-17  Robert Dewar  <dewar@adacore.com>
839         * sem_ch3.adb: Minor reformatting
841 2009-04-17  Pascal Obry  <obry@adacore.com>
843         * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
845 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
847         * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
848         illegal constraints on type derived from formal discrete types.
850 2009-04-17  Thomas Quinot  <quinot@adacore.com>
852         PR ada/35953
854         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
855         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
856         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
857         g-socket.ads (GNAT.Sockets.Thin.C_Send,
858         GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
859         Replace calls to send(2) with equivalent sendto(2) calls.
860         (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
861         (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
862         report an error in that case. Factor code common to the two versions
863         (datagram and stream) in common routine Stream_Write.
865 2009-04-17  Robert Dewar  <dewar@adacore.com>
867         * exp_disp.adb: Minor reformatting
868         Minor code reorganization (use Nkind_In)
870         * prepcomp.adb: Minor reformatting
872         * sem_ch3.adb: Minor reformatting
874         * sem_res.adb: Minor comment addition
876         * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
877         for address clause
879         * lib-xref.adb (Generate_Reference): Exclude recursive calls from
880         setting Is_Referenced
882         * types.ads: Minor reformatting
884 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
886         * gnat_ugn.texi: Initial documentation on binding generator.
888 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
890         * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
891         type extensions whose parent is a type with unknown discriminants.
893         * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
894         aggregate has unknown discriminants, use the Underlying_Record_View to
895         obtain the discriminants of the ancestor part.
897         * exp_disp.adb (Build_Dispatch_Tables): Types that are
898         Underlying_Record_Views share the dispatching information of the
899         original record extension.
901         * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
902         discriminants, propagate dispach table information to the
903         Underlying_Record_View.
905         * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
906         discriminants and declaration is not a completion, generate
907         Underlying_Record_View to provide proper discriminant information to
908         the front-end and to gigi.
910 2009-04-17  Robert Dewar  <dewar@adacore.com>
912         * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
913         s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
914         s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
915         g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
916         s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
917         s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
918         g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
919         s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
920         g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
921         s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
922         s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
923         s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
924         s-conca3.ads: Remove unneeded pragma Warnings
926 2009-04-17  Robert Dewar  <dewar@adacore.com>
928         * g-moreex.adb: Add comments.
930         * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
932         * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
933         Warnings (Off)
935         * prepcomp.adb: Add ??? comment
937         * a-tasatt.adb: Minor reformatting
939         * g-trasym-vms-alpha.adb: Add ??? comment
941         * g-trasym-vms-ia64.adb: Add ??? comment
943         * xoscons.adb: Minor reformatting
945         * s-tassta.adb: Minor reformatting
947         * s-scaval.adb: Add ??? comment
949         * stand.ads: Minor code clean up (remove junk with of Namet)
951         * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
952         s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
953         s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
954         s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
955         s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
956         s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
957         s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
958         s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
959         Warnings off pragmas.
961 2009-04-17  Pascal Obry  <obry@adacore.com>
963         * initialize.c: Fix test for reallocating the arguments array.
965 2009-04-17  Geert Bosch  <bosch@adacore.com>
967         * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
968         conversion truncate only for decimal fixed point types.
970 2009-04-17  Jerome Lambourg  <lambourg@adacore.com>
972         * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
973         reinitialized.
975 2009-04-17  Robert Dewar  <dewar@adacore.com>
977         * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
978         Backwards_OK if either operand has an address clause.
980 2009-04-17  Pascal Obry  <obry@adacore.com>
982         * initialize.c: Code clean up, use realloc.
984 2009-04-17  Pascal Obry  <obry@adacore.com>
986         * initialize.c: Do not get Unicode command line if Unicode support not
987         activated.
988         Add support for wildcard expansion for Unicode parameters on Win32.
990         * mingw32.h: Add missing macros when Unicode support not activated.
992 2009-04-17  Javier Miranda  <miranda@adacore.com>
994         * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
995         avoid generating code that references the Current_Master
996         when compiling without tasks.
998 2009-04-17  Vincent Celier  <celier@adacore.com>
1000         * prj-attr.adb: New project level attribute Target
1001         
1002         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
1003         attribute Target
1004         
1005         * prj.ads (Project_Configuration): New component Target
1007 2009-04-17  Thomas Quinot  <quinot@adacore.com>
1009         * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
1010         case for the case of an aggregate component, the attach call for the
1011         result is actually needed.
1013         * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
1014         an array aggregate must be disabled if the component type requires
1015         controlled actions.
1017         * exp_ch3.adb: Minor reformatting
1019 2009-04-17  Bob Duff  <duff@adacore.com>
1021         * output.ads (Indent,Outdent): New procedures for indenting the output.
1022         (Write_Char): Correct comment -- LF _is_ allowed.
1024         * output.adb (Indent,Outdent): New procedures for indenting the output.
1025         Keep track of the indentation level, and make sure it doesn't get too
1026         high.
1027         (Flush_Buffer): Insert spaces at the beginning of each line, if
1028         indentation level is nonzero.
1029         (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
1030         indentation level.
1031         (Set_Standard_Error,Set_Standard_Output): Remove superfluous
1032         "Next_Col := 1;".  Flush_Buffer does that.
1034         * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
1035         controlled by the -gnatdc switch. It now occurs on entry/exit to the
1036         relevant analysis routines, and calls Indent/Outdent to make the
1037         indentation reflect the nesting level.  Add "helper" routines, since
1038         otherwise lots of "return;" statements would skip the debugging output.
1040 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
1042         * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
1043         s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
1044         s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
1046 2009-04-17  Thomas Quinot  <quinot@adacore.com>
1048         * exp_aggr.adb: Minor code reorganization, no behaviour change.
1050 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1052         * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
1053         clause in a unit that is a package body or a subunit, when the previous
1054         clause appears in a spec or a parent.
1056 2009-04-17  Thomas Quinot  <quinot@adacore.com>
1058         * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
1060         * exp_ch7.adb: Minor reformatting
1062 2009-04-17  Bob Duff  <duff@adacore.com>
1064         * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
1065         allocator, check that the expression of the qualified expression obeys
1066         the constraints of the subtype of the qualified expression.
1068 2009-04-17  Thomas Quinot  <quinot@adacore.com>
1070         * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
1072 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1074         * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
1075         aggregate, using context imposed by subtype mark in allocator.
1077 2009-04-17  Pascal Obry  <obry@adacore.com>
1079         * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
1081 2009-04-17  Nicolas Roche  <roche@adacore.com>
1083         * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
1084         argument length.
1086 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
1088         * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
1089         cover both calls and attribute references ("call" => "reference").
1091 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1093         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
1094         type for which Storage_Size is set to 0 is legal in a pure unit.
1096 2009-04-17  Thomas Quinot  <quinot@adacore.com>
1098         * exp_ch7.adb: Minor reformatting
1100 2009-04-17  Robert Dewar  <dewar@adacore.com>
1102         * restrict.adb (Check_Restriction_No_Dependence): Don't check
1103         restriction if outside main extended source unit.
1105         * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
1106         for parents of child units as well as the child unit itself.
1108 2009-04-17  Bob Duff  <duff@adacore.com>
1110         * checks.ads: Minor comment fix
1112         * exp_aggr.ads: Minor comment fix
1114 2009-04-17  Nicolas Roche  <roche@adacore.com>
1116         * adaint.c: Improve cross compiler detection and handling.
1118 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
1120         * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
1122 2009-04-17  Pascal Obry  <obry@adacore.com>
1124         * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
1125         CurrentCodePage.
1127         * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
1128         value when no encoding form paramter is set on Text_IO services.
1130         * adaint.c: CurrentCodePage new variable on Windows.
1131         Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
1132         ones.
1134         * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
1135         ones.
1137         * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
1138         environment variable value. Default is UTF-8.
1140         * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
1141         fopen and freopen encoding parameter is now set to Unspecified.
1142         The default value is in this case UTF-8 (as it was before) but
1143         use the new macros that convert to/from the code page set
1144         at runtime (CurrentCodePage).
1146         * s-fileio.adb: When no encoding specified use Unspecified value.
1148 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1150         * atree.adb, atree.ads: Remove dead code.
1152 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
1154         * gcc-interface/Make-lang.in: Update dependencies.
1156 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1158         * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
1159         illegal uses of incomplete types in formal parts and return types.
1161         * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
1162         access to subprograms.
1164         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
1165         Taft-amendment types as the return type of an access_to_function type.
1167         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
1168         type for access_to_subprograms. The check is performed on package exit.
1170 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1172         * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
1174         * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
1175         
1176         * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
1178         * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
1179         semantic units, because the handling of itypes in the copied tree
1180         requires semantic information that does not belong in atree.
1182 2009-04-17  Robert Dewar  <dewar@adacore.com>
1184         * par-ch6.adb: Minor reformatting
1186         * prj.adb: Minor reformatting
1188 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
1190         * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
1191         on protected subprogram bodies, so exclude the case where Pf_Flags is
1192         Pf_Decl_Pbod from the error check.
1194         * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
1195         indicators on subprograms in protected bodies, and proceed with parsing
1196         the subprogram.
1198         * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
1199         subprograms from the check for primitiveness on subprograms with
1200         overriding indicators.
1201         (Check_Overriding_Indicator): Include protected subprograms in the
1202         style check for missing overriding indicators.
1204 2009-04-17  Tristan Gingold  <gingold@adacore.com>
1206         * init.c: Fix stack checking for x86 Darwin.
1208 2009-04-17  Vincent Celier  <celier@adacore.com>
1210         * prj-attr.adb: New project level attribute Object_File_Suffix
1211         (<language>).
1212         
1213         * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
1214         object file name
1215         (Process_Compiler): Process attribute Object_File_Suffix
1217         * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
1218         platform suffix, when specified.
1220         * prj.ads (Language_Config): New component Object_File_Suffix,
1221         defaulted to No_Name.
1222         (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
1224         * snames.ads-tmpl: New standard name Object_File_Suffix
1226 2009-04-17  Robert Dewar  <dewar@adacore.com>
1228         * gnat_rm.texi: Add documentation about No_Streams restriction
1230         * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
1231         attributes when checking No_Streams restriction.
1233 2009-04-17  Thomas Quinot  <quinot@adacore.com>
1235         * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
1237         * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
1238         missing calls to RE_Request_Destroy to deallocate request objects after
1239         use.
1241 2009-04-17  Nicolas Setton  <setton@adacore.com>
1243         * link.c: Fix support for passing a response file under Darwin.
1245 2009-04-17  Emmanuel Briot  <briot@adacore.com>
1247         * prj.adb (Free): new subprogram.
1249 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1251         * sem_ch3.adb: additional initialization on incomplete subtypes.
1252         
1253         * sem_ch6.adb (Process_Formals): if the subprogram is in the private
1254         part and one of the formals is an incomplete tagged type, attach to
1255         list of private dependends of the type for later validation.
1257         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
1258         primitive operations of a Taft-amendmment type.
1260         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
1261         type. The check is performed on package exit, possibly after the
1262         subprogram is frozen.
1264 2009-04-17  Vincent Celier  <celier@adacore.com>
1266         * prj-nmsc.adb (Get_Directories): Get the object and exec directory
1267         before looking for source directories, but make sure that there are nil
1268         if they are not explicitely declared and there is explicitely no
1269         sources in the project.
1271 2009-04-17  Pascal Obry  <obry@adacore.com>
1273         * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
1275         * init.c: Fix minor typo and style fix.
1277 2009-04-17  Robert Dewar  <dewar@adacore.com>
1279         * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
1281         * sem_attr.adb (Analyze_Attribute, case Address): Use
1282         PE_Address_Of_Intrinsic.
1284         * types.ads: Add PE_Address_Of_Intrinsic
1286         * types.h: Add PE_Address_Of_Intrinsic
1288 2009-04-17  Nicolas Setton  <setton@adacore.com>
1290         * gcc-interface/Makefile.in: Under darwin, build shared libraries
1291         with install_name starting with "@rpath/".
1293 2009-04-17  Nicolas Setton  <setton@adacore.com>
1295         * link.c: Add darwin section
1297 2009-04-16  Robert Dewar  <dewar@adacore.com>
1299         * g-pehage.adb: Minor reformatting
1301         * sem_ch12.adb: Minor reformatting
1303         * exp_dist.adb: Minor reformatting
1305         * bindgen.adb: Minor style fixes.
1307 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1309         * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
1310         indexed components to the case where the prefix is a static string
1311         literal.
1313 2009-04-16  Javier Miranda  <miranda@adacore.com>
1315         * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
1316         objects avoid any further expansion of the expression initializing the
1317         object.
1319 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1321         * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
1322         that hides an outer homograph, make that homograph invisible when
1323         analyzing the actuals, to to prevent illegal direct visibility on it.
1325 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
1327         * g-pehage.adb (Initialize): Fix off-by-one error.
1329 2009-04-16  Tristan Gingold  <gingold@adacore.com>
1331         * init.c: Detect real stack overflow on Darwin.
1333         * system-darwin-x86.ads: Use stack probing on darwin x86.
1335 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1337         * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
1338         take the address of an intrinsic subprogram.
1340 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
1342         * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
1343         for the targets where GNAT.Traceback.Symbolic is not supported.
1345 2009-04-16  Vincent Celier  <celier@adacore.com>
1347         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
1349         * g-trasym.ads: Update comments.
1351 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
1353         * tracebak.c (STOP_FRAME): Verify validity of the current address
1354         before dereferencing.
1356 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1358         * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
1359         the original location of the index expressions and the index subtypes,
1360         to prevent spurious out-of-scope references in gigi.
1362 2009-04-16  Tristan Gingold  <gingold@adacore.com>
1364         * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
1365         Add support for stack checking on darwin.
1367 2009-04-16  Vincent Celier  <celier@adacore.com>
1369         * prj-attr.adb: New attribute Runtime_Source_Dir
1371         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
1372         attribute Runtime_Source_Dir.
1373         (Check_Naming_Schemes): Give default values to out parameters to avoid
1374         invalid data.
1376         * prj.ads (Language_Config): New component Runtime_Source_Dir
1378         * snames.ads-tmpl: New standard name Runtime_Source_Dir
1380 2009-04-16  Pascal Obry  <obry@adacore.com>
1382         * adaint.h, adaint.c (__gnat_rmdir): New routine.
1383         Simple wrapper routines used to convert to proper encoding on
1384         Windows.
1386         * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
1388         * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
1389         twice.
1391 2009-04-16  Pascal Obry  <obry@adacore.com>
1393         * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
1395 2009-04-16  Thomas Quinot  <quinot@adacore.com>
1397         * snames.ads-tmpl (Name_Defined): New predefined name for use by the
1398         integrated preprocessor.
1400         * prep.ads, prep.adb (Setup_Hooks): New subprogram.
1401         (Initialize): Split into two subprograms, Initialize (to be called
1402         prior to compiler command line processing) and Setup_Hooks (to be called
1403         later on when the first source file is loaded).
1405         * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
1406         Add call to Prep.Initialize.
1408         * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
1409         to Prep.Setup_Hooks.
1411 2009-04-16  Pascal Obry  <obry@adacore.com>
1413         * adaint.h, adaint.c (__gnat_chdir): New routine.
1414         Simple wrapper routines used to convert to proper encoding on
1415         Windows.
1417         * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
1419         * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
1421 2009-04-16  Quentin Ochem  <ochem@adacore.com>
1423         * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
1424         of Source.Init.
1426 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
1428         * a-convec.ads (Is_Empty): Mark inline.
1430 2009-04-16  Nicolas Roche  <roche@adacore.com>
1432         * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
1434 2009-04-16  Thomas Quinot  <quinot@adacore.com>
1436         * prepcomp.adb: Minor reformatting
1438 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
1440         * sem_prag.adb (Process_Import_Or_Interface): With .NET,
1441         Access_Subprogram types can also be imported.
1442         (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
1443         names.
1445 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1447         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
1448         preserve homonym chain when the declaration is rewritten into a
1449         renaming declaration, in order to preserve visibility structure.
1451 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
1453         * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
1454         taken into account for VM targets.
1456 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
1458         * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
1459         Year_Week_In_Year.
1460         (Year_Week_In_Year): New routine which contains the original code from
1461         Week_In_Year. Add the missing special case for January 1st falling on
1462         a Monday.
1464 2009-04-16  Thomas Quinot  <quinot@adacore.com>
1466         * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
1467         actual type, use the base type to build the To_Any function.
1468         (Build_From_Any_Function): Remove junk, useless subtype conversion.
1470 2009-04-16  Thomas Quinot  <quinot@adacore.com>
1472         * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
1473         restrict.adb: Minor code reorganization (use
1474         Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
1476 2009-04-16  Bob Duff  <duff@adacore.com>
1478         * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
1479         unused.
1481 2009-04-16  Thomas Quinot  <quinot@adacore.com>
1483         * sem_ch4.adb: Minor reformatting
1485         * adaint.c: Remove junk duplicated code.
1487         * sem_ch3.adb: Minor reformatting
1489         * exp_dist.adb: Minor comment rewording
1491 2009-04-16  Robert Dewar  <dewar@adacore.com>
1493         * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
1494         used together.
1496 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1498         * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
1499         usable before calling Add_One_Interp, to resolve spurious ambiguities.
1501 2009-04-16  Robert Dewar  <dewar@adacore.com>
1503         * Make-lang.in: Add entries for s-conca?.o
1505         * Makefile.rtl: Add entries for s-conca?
1507         * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
1508         of concatenation expansion
1510         * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
1511         string cases instead of expanding assignments inline.
1513         * opt.ads (Optimize_Size): New flag
1515         * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
1516         s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
1517         s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
1518         s-conca9.adb, s-conca9.ads: New file.
1520 2009-04-16  Robert Dewar  <dewar@adacore.com>
1522         * exp_ch6.adb: Add comments
1524         * rtsfind.ads: Add entries for s-conca? routines
1526 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
1528         * gcc-interface/Make-lang.in: Update dependencies.
1530         * gcc-interface/Makefile.in: Update translation for vms.
1532 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1534         * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
1535         and made global, to be used when installing parents of a child
1536         instance, to provide mappings for entities declared in formal packages
1537         of ancestor units. Now called from Install_Formal_Packages.
1539 2009-04-16  Doug Rupp  <rupp@adacore.com>
1541         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
1542         notation for clarity.
1544         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
1545         s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
1546         s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
1547         (Initialize): Initialize Known_Tasks with Environment task.
1549         * s-taskin.ads (Task_States): Move new states to end for the sake of
1550         GDB compatibility.
1552         * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
1554 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1556         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
1557         operation has an inline pragma, propagate the flag to the internal
1558         unprotected subprogram.
1560 2009-04-16  Doug Rupp  <rupp@adacore.com>
1562         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
1563         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 
1564         s-taprop-hpux-dce.adb, s-taprop-posix.adb
1565         (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
1567         * s-taprop-vms.adb (Enter_Task): Likewise.
1568         (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
1570         * s-tassta.adb (Activate_Tasks): After task creation set state to
1571         Activating, vice Runnable. Initialize Known_Tasks, moved here from
1572         s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
1573         Set state to Runnable after above.
1574         (Task_Wrapper): Set Debug_Event_Run. In exception block set
1575         Debug_Event_Terminated.
1577         * s-taskin.ads (Task_States): Add new states Activiting and
1578         Activator_Delay_Sleep.
1579         (Bit_Array, Debug_Event_Array): New types.
1580         (Global_Task_Debug_Event_Set: New flag.
1581         (Common_ATCB): New field Debug_Events.
1583         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
1585         * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
1586         Activator_Sleep.
1588         * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
1589         Activating and when Acceptor_Delay_Sleep.
1591         * s-tasdeb.ads: Add constants for Debug_Events.
1592         (Debug_Event_Kind_Type): New subtype.
1593         (Signal_Debug_Event): New subprogram.
1595         * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
1597 2009-04-16  Thomas Quinot  <quinot@adacore.com>
1599         * sem_elim.adb: Minor reformatting
1601         * freeze.adb: Minor reformatting
1603         * exp_ch4.adb: Minor reformatting
1605 2009-04-16  Emmanuel Briot  <briot@adacore.com>
1607         * prj-nmsc.adb (Path_Name_Of): fix memory leak
1609 2009-04-16  Robert Dewar  <dewar@adacore.com>
1611         * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
1613 2009-04-16  Vincent Celier  <celier@adacore.com>
1615         * fmap.adb (Initialize): Show the current line when the mapping file
1616         is detected as "incorrectly formatted".
1618 2009-04-16  Robert Dewar  <dewar@adacore.com>
1620         * sem_ch12.adb: Minor reformatting
1622         * sem_ch5.adb: Minor comment addition
1624         * sem_util.adb: Minor reformatting
1626         * sinput-p.adb: Minor reformatting
1627         Add missing pragma Warnings (On)
1629 2009-04-16  Ed Falis  <falis@adacore.com>
1631         * s-vxwext-kernel.adb: (ERROR): deleted unused constant
1633 2009-04-16  Vincent Celier  <celier@adacore.com>
1635         * ali-util.adb: Minor comment spelling error fix
1637 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
1639         * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
1640         generate an assignment loop in case of overlap.
1642 2009-04-16  Olivier Hainque  <hainque@adacore.com>
1644         * gnat_ugn.texi (gnatmem description): Make it explicit that
1645         gnatmem is designed to work in association with static runtime
1646         library only.
1648 2009-04-16  Thomas Quinot  <quinot@adacore.com>
1650         * sem_type.adb: Minor reformatting
1652 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
1654         * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
1655         concerning return codes of gettimeofday and return value check.
1657 2009-04-16  Ed Falis  <falis@adacore.com>
1659         * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
1660         body can be renaming of imported routines.
1662 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
1664         * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
1665         targeted fashion.
1667 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
1669         * exp_ch9.adb: Comment improvements.
1670         (Build_Entry_Family_Name): Add parentheses around the index of a entry
1671         family member.
1673 2009-04-15  Bob Duff  <duff@adacore.com>
1675         * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
1676         "while X /= null loop" where X is unchanged inside the loop. We were
1677         not warning in this case, because of the pointers -- we feared that the
1678         loop variable could be updated via a pointer, if there are any pointers
1679         around the place. But that is impossible in this case.
1681         * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
1682         the case of dereferences. In X.all, X cannot be an l-value. We now
1683         catch that case (and implicit dereferences, too).
1685 2009-04-15  Vincent Celier  <celier@adacore.com>
1687         * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
1689 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1691         * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
1692         From code reading.
1693         (Analyze_Package_Instantiation): If generic unit in child instance is
1694         the same as generic unit in parent instance, look for an outer homonym
1695         to locate the desired generic.
1697 2009-04-15  Bob Duff  <duff@adacore.com>
1699         * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
1700         warnings unless the loop comes from source, because checking generated
1701         loops is a waste of time, and makes it harder to debug
1702         Check_Infinite_Loop_Warning.
1704         * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
1705         tested in the while loop is a renaming, do not warn. Otherwise, we get
1706         false alarms, because it's usually renaming something that we can't
1707         deal with (an indexed component, a global variable, ...).
1709         * gnat_rm.texi: Fix typo
1711 2009-04-15  Thomas Quinot  <quinot@adacore.com>
1713         * sem_ch6.adb: Minor reformatting
1715 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
1717         * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
1718         immediate parent of the controlled function call is a component
1719         association.
1721 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1723         * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
1724         corresponding class-wide type is also in use.
1726 2009-04-15  Thomas Quinot  <quinot@adacore.com>
1728         * frontend.adb: Minor comment fix
1730 2009-04-15  Robert Dewar  <dewar@adacore.com>
1732         * gnatchop.adb (BOM_Length): New global variable
1733         (Write_Unit): Add new parameter Write_BOM
1734         (Write_Chopped_Files): Check for BOM and set Write_BOM for call
1735         to Write_Unit
1737         * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
1739 2009-04-15  Geert Bosch  <bosch@adacore.com>
1741         * system-mingw-x86_64.ads, system-darwin-x86_64.ads
1742         (Backend_Overflow_Checks): Set to True.
1744 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
1746         * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
1747         keyword is given in a record extension.
1749 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
1751         * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
1752         of a controlled function call in the context of a record aggregate.
1753         This does not apply to array aggregates since the call will be expanded
1754         into assignments.
1756 2009-04-15  Ed Falis  <falis@adacore.com>
1758         * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
1759         s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
1760         s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
1761         s-osinte-vxworks* and s-vxwext*.
1763 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
1765         * gcc-interface/Make-lang.in: Update dependencies.
1767         * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
1768         and s-vxwext*.
1770 2009-04-15  Robert Dewar  <dewar@adacore.com>
1772         * sem_ch13.adb (Unchecked_Conversions): Store source location instead
1773         of node for location for warning messages.
1775         * gnatchop.adb: Minor reformatting
1777 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1779         * exp_ch6.adb: additional guard for renaming declarations for in
1780         parameters of an array type.
1782 2009-04-15  Robert Dewar  <dewar@adacore.com>
1784         * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
1785         in case they were rewritten by expander (Force_Evaluation).
1787         * targparm.adb (Get_Target_Parameters): Correct check for
1788         Suppress_Exception_Locations.
1790 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1792         * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
1793         inlined  is of an array type that is not bit-packed, use a renaming
1794         declaration to capture its value, rather than a constant declaration.
1796 2009-04-15  Robert Dewar  <dewar@adacore.com>
1798         * rtsfind.adb: Minor reformatting.
1800 2009-04-15  Emmanuel Briot  <briot@adacore.com>
1802         * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
1803         Restore, and free the saved context.
1805 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
1807         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
1808         for illegal private extension from a synchronized interface parent in
1809         front of check for illegal limited extension so that limited extension
1810         from a synchronized interface will be rejected.
1811         (Check_Ifaces): Check that a private extension that has a synchronized
1812         interface as a progenitor must be explicitly declared synchronized.
1813         Also check that a record extension cannot derive from a synchronized
1814         interface.
1816 2009-04-15  Pascal Obry  <obry@adacore.com>
1818         * adaint.h (__gnat_unlink): Add spec.
1819         (__gnat_rename): Likewise.
1821 2009-04-15  Vincent Celier  <celier@adacore.com>
1823         * prj-nmsc.adb: Minor spelling error corrections in error messages
1825 2009-04-15  Robert Dewar  <dewar@adacore.com>
1827         * sinfo.ads: Minor comment update
1829         * opt.ads: Minor comment updates
1831         * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
1832         modular type.
1834 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1836         * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
1837         that generates the code needed to update a dispatch table when a
1838         primitive operation is declared with a subprogram body without previous
1839         spec. Insertion of the generated code is responsibility of the caller.
1840         (Make_DT): When building static tables, append the code created by
1841         Register_Primitive to update a secondary table after it has been
1842         constructed.
1844         * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
1846         * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
1847         on an overriding operation that implements an interface operation only
1848         if not building static dispatch tables.
1850 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
1852         * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
1853         does not cause overflow when converted to Duration. Use the safe value
1854         as the maximum allowable time delay..
1856 2009-04-15  Jerome Lambourg  <lambourg@adacore.com>
1858         * g-comlin.adb (Set_Command_Line): When adding a switch with attached
1859         parameter, specify that the delimiter is NUL, otherwise "-j2" will be
1860         translated to "-j 2".
1862 2009-04-15  Bob Duff  <duff@adacore.com>
1864         * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
1865         with_clauses, to avoid code duplication. Change this processing so we
1866         always add a with_clause on the main unit if needed.
1868 2009-04-15  Pascal Obry  <obry@adacore.com>
1870         Add support for Win32 native encoding for delete/rename routines.
1871         
1872         * adaint.c (__gnat_unlink): New routine.
1873         (__gnat_rename): New routine.
1874         Simple wrapper routines used to convert to proper encoding on
1875         Windows.
1877         * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
1878         call to the C library.
1880         * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
1882 2009-04-15  Robert Dewar  <dewar@adacore.com>
1884         * s-tassta.adb: Minor reformatting
1886 2009-04-15  Robert Dewar  <dewar@adacore.com>
1888         * frontend.adb (Frontend): Set proper default for
1889         Warn_On_Non_Local_Exception.
1891         * opt.ads (Exception_Handler_Encountered): New flag
1892         (No_Warn_On_Non_Local_Exception): New flag
1894         * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
1896         * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
1897         (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
1899 2009-04-15  Cyrille Comar  <comar@adacore.com>
1901         * s-tassta.adb, a-exextr.adb, a-elchha.adb
1902         (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
1903         message when exception traces are active since it would generate
1904         redundant information.
1905         (Exception_Traces.Notify_Exception): put message output by a critical
1906         section to avoid unsynchronized output.
1907         (Trace_Unhandled_Exception_In_Task): put message output by a critical
1908         section to avoid unsynchronized output.
1910 2009-04-15  Emmanuel Briot  <briot@adacore.com>
1912         * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
1913         (Free): New subprogram.
1915 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
1917         * a-calend.adb: Add new constant Nanos_In_Four_Years.
1918         (Formatting_Operations.Time_Of): Change the way four year chunks of
1919         nanoseconds are added to the intermediate result.
1921 2009-04-15  Nicolas Setton  <setton@adacore.com>
1923         * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
1924         does not need to wait for a carriage return.
1926 2009-04-15  Tristan Gingold  <gingold@adacore.com>
1928         * bindgen.adb: Do not generate adafinal if No_Finalization restriction
1929         is set.
1931 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1933         * freeze.adb (Freeze_Entity): improve error message for improper use of
1934         incomplete types.
1935         Diagnose additional illegal uses of incomplete types in formal parts.
1936         appearing in formal parts.
1938         * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
1940 2009-04-15  Robert Dewar  <dewar@adacore.com>
1942         * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
1944 2009-04-15  Nicolas Roche  <roche@adacore.com>
1946         * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
1947         current thread.
1949         * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
1951         * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
1953 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1955         * sem_ch4.adb: improve error message on exponentiation.
1957 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
1959         * a-calend.adb: Move constant Epoch_Offset from package
1960         Conversion_Operations to top level.
1961         (Delay_Operations.To_Duration): Define a constant which represents
1962         "end of time" and use it as a guard against very distant delay dates.
1963         Protect the code against overflow when performing the origin shift to
1964         Unix time.
1966 2009-04-15  Robert Dewar  <dewar@adacore.com>
1968         * sem_prag.adb: Minor reformatting.
1970         * sem_type.adb: Minor reformatting
1972 2009-04-15  Javier Miranda  <miranda@adacore.com>
1974         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
1975         support to check eliminated subprograms.
1977         * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
1979         * sem_elim.adb (Set_Eliminated): Add support for elimination of
1980         dispatching subprograms.
1982         * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
1983         operations. Initialize with "null" the slots of eliminated dispaching
1984         primitives.
1985         (Write_DT): Add output for eliminated primitives.
1987         * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
1989 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1991         * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
1992         the second is redundant, regardless of scopes.
1994 2009-04-15  Vincent Celier  <celier@adacore.com>
1996         * prj-nmsc.adb (Get_Directories): Check for sources before checking
1997         the object directory as when there are no sources, they may not be any
1998         object directory.
2000         * make.adb (Gnatmake): Do not attempt to get the path name of the exec
2001         directory, when there are no exec directory.
2003 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2005         * sem_type.adb (Remove_Conversions): In order to resolve spurious
2006         ambiguities, refine removal of universal interpretations from complex
2007         expressions with literal arguments, when some numeric operators have
2008         been declared abstract.
2010 2009-04-15  Ed Falis  <falis@adacore.com>
2012         * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
2013         and backward compatibility for targets using probing for stack overflow
2015 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2017         * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
2018         after any declaration, including renaming declarations.
2020 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
2022         * gcc-interface/Make-lang.in: Update dependencies.
2024         * gcc-interface/Makefile.in: Fix VxWorks target pairs.
2025         Update xenomai target pairs.
2027 2009-04-15  Javier Miranda  <miranda@adacore.com>
2029         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
2031         * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
2032         functions returning anonymous access to class-wide limited types. Mark
2033         also the containing scope as a task master.
2035         * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
2036         limited-withed packages. Required to restore their visibility after
2037         processing packages associated with implicit with-clauses.
2039         * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
2040         associated with return statements because this work is now done by
2041         Check_Anonymous_Return.
2042         (Build_Master): Code cleanup.
2044 2009-04-15  Thomas Quinot  <quinot@adacore.com>
2046         * sem_warn.ads: Minor reformatting
2048 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2050         * sem_ch3.adb: better error message for illegal interfaces
2052         * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
2053         formal is an incomplete type from a limited_with clause.
2055 2009-04-15  Vincent Celier  <celier@adacore.com>
2057         * prj-nmsc.adb (Locate_Directory): New Boolean parameter
2058         Externally_Built indicating if the project is externally built. If it
2059         is, and --subdirs is specified, but the subdir does not exist, look
2060         for the specified directory, without the subdir.
2062 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
2064         * a-tasatt.adb: Fix typo, plus minor reformatting
2066         * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
2068         * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
2070 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2072         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
2073         private extension whose parent is a synchronized interface carries an
2074         explicit synchronized keyword.
2076 2009-04-15  Thomas Quinot  <quinot@adacore.com>
2078         * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
2079         instantiate generic shared object package with the corresponding
2080         record type.
2082 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
2084         * system-linux-sparc.ads: Remove obsolete entries.
2086 2009-04-15  Thomas Quinot  <quinot@adacore.com>
2088         * s-tasuti.ads: Add ??? comment
2090 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2092         * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
2093         type even if the designated type comes from a limited_with clause, to
2094         ensure that the symbol for the finalization list of the access type is
2095         created.
2097 2009-04-10  Robert Dewar  <dewar@adacore.com>
2099         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
2100         for warning suppression.
2102 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2104         * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
2105         identical, there is no redudancy to check.
2107 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
2109         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
2110         calls initializing SS_Allocator (which is initialized in following
2111         code).
2112         (Expand_Simple_Function_Return): Add comment about False value for
2113         Comes_From_Source on secondary-stack allocator.
2115         * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
2116         (Build_Entry_Name): Add comment.
2118 2009-04-10  Robert Dewar  <dewar@adacore.com>
2120         * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
2122         * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
2123         bound tested, since this is now done more generally in Sem_Res.
2125         * sem_res.adb (Resolve_Comparison_Op): Add call to
2126         Check_Lower_Bound_Tested.
2127         (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
2129         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
2130         (Low_Bound_Tested): New name for Low_Bound_Known flag
2132         * exp_ch5.adb: Minor reformatting
2134         * exp_ch4.adb:
2135         Add comments on copying the Comes_From_Source flag for allocators
2137         * sinfo.ads:
2138         Add comments on copying the Comes_From_Source flag for allocators
2140         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
2141         Comes_From_Source flag from old allocator to new one.
2143 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2145         * sem_ch6.ads: Address missing documentation query
2147 2009-04-10  Vincent Celier  <celier@adacore.com>
2149         * prj-attr.adb:
2150         Add new Linker attributes Max_Command_Line_Length, Response_File_Format
2151         and Response_File_Switches.
2153         * prj-nmsc.adb (Process_Linker): Process new attributes
2154         Max_Command_Line_Length, Response_File_Format and
2155         Response_File_Switches.
2157         * prj.ads (Response_File_Format): New enumeration type
2158         (Project_Configuration): New componants Max_Command_Line_Length,
2159         Resp_File_Format and Resp_File_Options.
2161         * snames.ads-tmpl: Add new standard names for linking response files
2162         for gprbuild: GNU, None, Object_List, Option_List,
2163         Max_Command_Line_Length, Response_File_Format and
2164         Response_File_Switches.
2166 2009-04-10  Geert Bosch  <bosch@adacore.com>
2168         * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
2169         system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
2170         system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
2171         system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
2172         system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
2173         system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
2174         system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
2175         system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
2176         system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
2177         system-vxworks-arm.ads, system-vxworks-m68k.ads,
2178         system-vxworks-mips.ads, system-vxworks-ppc.ads,
2179         system-vxworks-sparcv9.ads, system-vxworks-x86.ads
2180         (Backend_Overflow_Checks): Set to True.
2182 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2184         * exp_attr.adb: Minor reformatting
2186 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2188         * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
2189         analyze the expression for a postcondition, even if the compiler mode
2190         is Generate_Code.
2192 2009-04-10  Robert Dewar  <dewar@adacore.com>
2194         * sem_aux.adb: Minor reformatting
2196 2009-04-10  Ed Falis  <falis@adacore.com>
2198         * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
2200         * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
2202 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2204         * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
2205         undocumented formal.
2206         Minor reformatting
2208         * a-direio.ads: Fix typo in comment
2210         * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
2211         errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
2212         Use uniform phrasing for comment at start of subprogram body.
2214         * xsnamest.adb: Add note to explain why we use specific names for the
2215         newly generated files instead of generating snames.{ads,adb,h} directly
2217 2009-04-10  Sergey Rybin  <rybin@adacore.com>
2219         * vms_data.ads:
2220         Add qualifier for new gnatstub option '--no-exception'
2222         * gnat_ugn.texi:
2223         Add the description of the new gnatstub option '--no-exception'
2225 2009-04-10  Robert Dewar  <dewar@adacore.com>
2227         * rtsfind.adb: Minor reformatting
2229 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2231         * sem_disp.adb: Minor reformatting.
2232         Add comment pointing to RM clause for the case of warning against a
2233         (failed) attempt at declaring a primitive operation elsewhere than in a
2234         package spec.
2236 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2238         * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
2239         an actual for a previous formal package of the current instance.
2241 2009-04-10  Bob Duff  <duff@adacore.com>
2243         * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
2244         them first, rather than on the extended main unit.
2246 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2248         * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
2249         specification of full view carries a null exclusion indicator, create
2250         an itype for it, to check for conformance with partial view.
2252 2009-04-10  Bob Duff  <duff@adacore.com>
2254         * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
2256         * rtsfind.adb: Minor comment changes, and remove useless code.
2258         * sinfo.ads: Add ??? comment.
2260 2009-04-10  Vincent Celier  <celier@adacore.com>
2262         * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
2264 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2266         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
2267         type is a synchronized type, retrieve tag information from the
2268         corresponding record, which has the dispatch table link.
2270 2009-04-10  Jerome Lambourg  <lambourg@adacore.com>
2272         * g-comlin.adb (Group_Analysis): Take care of switches that might be
2273         decomposed afterwards, but are present as-is in the command line
2274         configuration, and thus should be kept as-is.
2276 2009-04-10  Robert Dewar  <dewar@adacore.com>
2278         * gnat_rm.texi: Document that postconditions are tested on implicit
2279         returns.
2281         * sem_aux.adb: Minor reformatting
2283 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
2285         * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
2286         setting Etype.
2287         
2288         * par-ch3.adb (P_Access_Type_Definition): Set new attribute
2289         Null_Exclusion_In_Return_Present when an access-to-function type has a
2290         result type with an explicit not null.
2292         * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
2293         given on the result type, then create a null-excluding itype for the
2294         function.
2296         * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
2297         the case where a null exclusion is imposed on a named access type.
2298         (Analyze_Subprogram_Specification): Push and pop the scope of the
2299         function around the call to Analyze_Return_Type in the case of no
2300         formals, for consistency with handling when formals are present
2301         (Process_Formals does this). Ensures that any itype created for the
2302         return type will be associated with the proper scope.
2304         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
2305         exclusion is given on a generic function's result type, then create a
2306         null-excluding itype for the generic function.
2307         (Instantiate_Object): Set Null_Exclusion_Present of a constant created
2308         for an actual for a formal in object according to the setting on the
2309         formal. Ensures null exclusion checks are done when the association is
2310         elaborated.
2312         * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
2313         N_Access_Function_Definition.
2315         * sinfo.adb: Add Get_ and Set_ operations for
2316         Null_Exclusion_In_Return_Present.
2318 2009-04-10  Bob Duff  <duff@adacore.com>
2320         * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
2321         call to the _Postconditions procedure in the case of implicit returns
2322         from analysis to expansion. This eliminates some duplicated code. Use
2323         the Postcondition_Proc to find the identity of this procedure during
2324         expansion.
2326 2009-04-10  Robert Dewar  <dewar@adacore.com>
2328         * sem_ch6.adb: Minor code clean up.
2330         * einfo.ads, sem_attr.adb: Minor comment fixes.
2332 2009-04-10  Robert Dewar  <dewar@adacore.com>
2334         * sem_ch8.adb: Minor reformatting
2336 2009-04-10  Robert Dewar  <dewar@adacore.com>
2338         * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
2339         procedures.
2341         * sem_ch6.adb: Minor code clean up.
2343 2009-04-10  Robert Dewar  <dewar@adacore.com>
2345         * mlib-tgt-specific-xi.adb: Minor reformatting
2347 2009-04-10  Bob Duff  <duff@adacore.com>
2349         * einfo.ads: Minor comment fixes
2351 2009-04-10  Vincent Celier  <celier@adacore.com>
2353         * snames.ads-tmpl: Remove names that are no longer used in the
2354         Project Manager.
2355         Mark specifically those that are used only in gprbuild
2357 2009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
2359         * init.c: Adjust EH support code on Alpha/Tru64.
2361 2009-04-10  Bob Duff  <duff@adacore.com>
2363         * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
2364         procedure on every path that could return implicitly (not via a return
2365         statement) from a procedure.
2367 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2369         * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
2370         valid scope for a task declarations and therefore for a master id.
2372 2009-04-10  Robert Dewar  <dewar@adacore.com>
2374         * sem_aux.adb: Minor reformatting
2376 2009-04-10  Vincent Celier  <celier@adacore.com>
2378         * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
2379         True.
2380         (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
2381         (Set_Obsolescent_Check): New procedure to change the value of
2382         Obsolescent_Check_Flag.
2384         * scn.ads (Set_Obsolescent_Check): New procedure to control
2385         Obsolescent_Check.
2387         * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
2388         obsolescent features while preprocessing.
2390 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2392         * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
2393         generated files on all platforms.
2395 2009-04-10  Robert Dewar  <dewar@adacore.com>
2397         * sem_aux.adb: Minor reformatting
2399 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2401         * sem_ch3.adb (Access_Definition): Handle properly the case of a
2402         protected function with formals that returns an anonymous access type.
2404 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2406         * sem_disp.adb: Minor reformatting
2408 2009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
2410         * seh_init.c: Do not use the 32-bit specific implementation of
2411         __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
2412         version TBD).
2414 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
2416         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
2417         a '/' at the end so we better use the complete target name to determine
2418         whether it is a PowerPC 55xx target.
2420 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2422         * sem_eval.adb: Minor reformatting
2424 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2426         * snames.h, snames.ads, snames.adb: Remove files, now generated from
2427         templates.
2429         * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
2430         above.
2432         * xsnamest.adb: New file.
2434         * gcc-interface/Make-lang.in: New target for automated generation of
2435         snames.ads, snames.adb and snames.h
2437 2009-04-10  Tristan Gingold  <gingold@adacore.com>
2439         * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
2440         avoid compile time warnings.
2441         Do not add gcc/config in include search list while compiling the RTS.
2442         Pragma Thread_Local_Storage is available on any target.
2444 2009-04-10  Bob Duff  <duff@adacore.com>
2446         * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
2448 2009-04-10  Tristan Gingold  <gingold@adacore.com>
2450         * init.c: Install signal handler on Darwin.
2452 2009-04-10  Robert Dewar  <dewar@adacore.com>
2454         * sem_prag.adb: Minor reformatting
2456         * exp_util.adb (Make_Non_Empty_Check): New function
2457         (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
2458         (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
2460 2009-04-10  Arnaud Charlet  <charlet@adacore.com>
2462         * make.adb, gnatlink.adb: Rename JGNAT toolchain.
2464 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
2466         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
2467         tool prefix for AVR and PowerPC 55xx targets.
2469 2009-04-10  Robert Dewar  <dewar@adacore.com>
2471         * sem_warn.adb (Within_Postcondition): New function
2472         (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
2474 2009-04-10  Robert Dewar  <dewar@adacore.com>
2476         * sem_warn.adb: Minor reformatting
2478         * make.adb: Minor reformatting.
2480 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
2482         * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
2483         entity and the scope is a subprogram, retrieve the Sloc of the
2484         subprogram's body rather than using the sloc of the spec, for better
2485         line-stepping behavior in gdb.
2486         (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
2487         controller, use the Sloc of the first declaration of the containing list
2488         rather than that of the node that triggered creation of the list
2489         controller.
2491 2009-04-10  Vincent Celier  <celier@adacore.com>
2493         * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
2494         to avoid gcc warning.
2496 2009-04-10  Robert Dewar  <dewar@adacore.com>
2498         * g-comlin.adb: Add ??? comment
2500 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2502         * sem_warn.adb (Check_Unused_Withs): Do not emit message about
2503         unreferenced entities for a package with no visible declarations.
2505 2009-04-10  Robert Dewar  <dewar@adacore.com>
2507         * exp_ch9.adb: Minor reformatting
2509 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2511         * sem_prag.adb: Minor reformatting
2513 2009-04-10  Vincent Celier  <celier@adacore.com>
2515         * prj-nmsc.adb:
2516         (Check_Library_Attributes): For a project qualified as a library project
2517         that is not a library project, indicate in the error message which
2518         attributes are missing (Library_Dir and/or Library_Name).
2520 2009-04-10  Bob Duff  <duff@adacore.com>
2522         * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
2523         generated nodes, because it might confuse various circuits in the FE.
2525 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2527         * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
2528         of pragma. It will be recopied and analyzed when used in call to
2529         Create_Task.
2531         * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
2532         initialization operations and recognize use of it in procedure calls
2533         within init_procs.
2535         * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
2536         argument, because it may have side-effects.
2538         * exp_ch2.adb: Remove obsolete comments on default functions
2540 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
2542         * adaint.c (RTX section): Do for RTX the same thing as we do for
2543         Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
2545 2009-04-10  Robert Dewar  <dewar@adacore.com>
2547         * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
2549         * sem_res.adb (Resolve_Call): Fix test for
2550         Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
2551         a non-dynamic scope).
2553 2009-04-10  Robert Dewar  <dewar@adacore.com>
2555         * make.adb: Add comment.
2556         Minor reformatting
2558 2009-04-10  Nicolas Setton  <setton@adacore.com>
2560         * s-osprim-darwin.adb: New file.
2562         * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
2564 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2566         * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
2568 2009-04-09  Nick Clifton  <nickc@redhat.com>
2570         * adadecode.h: Change copyright header to refer to version
2571         3 of the GNU General Public License with version 3.1 of the
2572         GCC Runtime Library Exception and to point readers at the
2573         COPYING3 and COPYING3.RUNTIME files and the FSF's license web
2574         page.
2575         * 9drpc.adb: Likewise.
2576         * a-assert.adb: Likewise.
2577         * a-astaco.adb: Likewise.
2578         * a-calari.adb: Likewise.
2579         * a-calcon.adb: Likewise.
2580         * a-calcon.ads: Likewise.
2581         * a-caldel.ads: Likewise.
2582         * a-calend-vms.adb: Likewise.
2583         * a-calend-vms.ads: Likewise.
2584         * a-calend.adb: Likewise.
2585         * a-calend.ads: Likewise.
2586         * a-calfor.adb: Likewise.
2587         * a-catizo.adb: Likewise.
2588         * a-cdlili.adb: Likewise.
2589         * a-cdlili.ads: Likewise.
2590         * a-cgaaso.adb: Likewise.
2591         * a-cgaaso.ads: Likewise.
2592         * a-cgarso.adb: Likewise.
2593         * a-cgcaso.adb: Likewise.
2594         * a-chacon.adb: Likewise.
2595         * a-chacon.ads: Likewise.
2596         * a-chahan.adb: Likewise.
2597         * a-chahan.ads: Likewise.
2598         * a-chlat9.ads: Likewise.
2599         * a-chtgke.adb: Likewise.
2600         * a-chtgke.ads: Likewise.
2601         * a-chtgop.adb: Likewise.
2602         * a-chtgop.ads: Likewise.
2603         * a-chzla1.ads: Likewise.
2604         * a-chzla9.ads: Likewise.
2605         * a-cidlli.adb: Likewise.
2606         * a-cidlli.ads: Likewise.
2607         * a-cihama.adb: Likewise.
2608         * a-cihama.ads: Likewise.
2609         * a-cihase.adb: Likewise.
2610         * a-cihase.ads: Likewise.
2611         * a-ciorma.adb: Likewise.
2612         * a-ciorma.ads: Likewise.
2613         * a-ciormu.adb: Likewise.
2614         * a-ciormu.ads: Likewise.
2615         * a-ciorse.adb: Likewise.
2616         * a-ciorse.ads: Likewise.
2617         * a-clrefi.adb: Likewise.
2618         * a-clrefi.ads: Likewise.
2619         * a-cohama.adb: Likewise.
2620         * a-cohama.ads: Likewise.
2621         * a-cohase.adb: Likewise.
2622         * a-cohase.ads: Likewise.
2623         * a-cohata.ads: Likewise.
2624         * a-coinve.adb: Likewise.
2625         * a-coinve.ads: Likewise.
2626         * a-colien.adb: Likewise.
2627         * a-colien.ads: Likewise.
2628         * a-colire.adb: Likewise.
2629         * a-colire.ads: Likewise.
2630         * a-comlin.adb: Likewise.
2631         * a-comlin.ads: Likewise.
2632         * a-convec.adb: Likewise.
2633         * a-convec.ads: Likewise.
2634         * a-coorma.adb: Likewise.
2635         * a-coorma.ads: Likewise.
2636         * a-coormu.adb: Likewise.
2637         * a-coormu.ads: Likewise.
2638         * a-coorse.adb: Likewise.
2639         * a-coorse.ads: Likewise.
2640         * a-coprnu.adb: Likewise.
2641         * a-coprnu.ads: Likewise.
2642         * a-crbltr.ads: Likewise.
2643         * a-crbtgk.adb: Likewise.
2644         * a-crbtgk.ads: Likewise.
2645         * a-crbtgo.adb: Likewise.
2646         * a-crbtgo.ads: Likewise.
2647         * a-crdlli.adb: Likewise.
2648         * a-crdlli.ads: Likewise.
2649         * a-cwila1.ads: Likewise.
2650         * a-cwila9.ads: Likewise.
2651         * a-decima.adb: Likewise.
2652         * a-decima.ads: Likewise.
2653         * a-diocst.adb: Likewise.
2654         * a-diocst.ads: Likewise.
2655         * a-direct.adb: Likewise.
2656         * a-direct.ads: Likewise.
2657         * a-direio.adb: Likewise.
2658         * a-direio.ads: Likewise.
2659         * a-dirval-mingw.adb: Likewise.
2660         * a-dirval-vms.adb: Likewise.
2661         * a-dirval.adb: Likewise.
2662         * a-dirval.ads: Likewise.
2663         * a-dynpri.adb: Likewise.
2664         * a-einuoc.adb: Likewise.
2665         * a-einuoc.ads: Likewise.
2666         * a-elchha.adb: Likewise.
2667         * a-elchha.ads: Likewise.
2668         * a-envvar.adb: Likewise.
2669         * a-excach.adb: Likewise.
2670         * a-except-2005.adb: Likewise.
2671         * a-except-2005.ads: Likewise.
2672         * a-except.adb: Likewise.
2673         * a-except.ads: Likewise.
2674         * a-excpol-abort.adb: Likewise.
2675         * a-excpol.adb: Likewise.
2676         * a-exctra.adb: Likewise.
2677         * a-exctra.ads: Likewise.
2678         * a-exetim-mingw.adb: Likewise.
2679         * a-exetim-mingw.ads: Likewise.
2680         * a-exexda.adb: Likewise.
2681         * a-exexpr-gcc.adb: Likewise.
2682         * a-exexpr.adb: Likewise.
2683         * a-exextr.adb: Likewise.
2684         * a-exstat.adb: Likewise.
2685         * a-filico.adb: Likewise.
2686         * a-filico.ads: Likewise.
2687         * a-finali.adb: Likewise.
2688         * a-finali.ads: Likewise.
2689         * a-interr.ads: Likewise.
2690         * a-intnam-aix.ads: Likewise.
2691         * a-intnam-darwin.ads: Likewise.
2692         * a-intnam-dummy.ads: Likewise.
2693         * a-intnam-freebsd.ads: Likewise.
2694         * a-intnam-hpux.ads: Likewise.
2695         * a-intnam-irix.ads: Likewise.
2696         * a-intnam-linux.ads: Likewise.
2697         * a-intnam-lynxos.ads: Likewise.
2698         * a-intnam-mingw.ads: Likewise.
2699         * a-intnam-rtems.ads: Likewise.
2700         * a-intnam-solaris.ads: Likewise.
2701         * a-intnam-tru64.ads: Likewise.
2702         * a-intnam-vms.ads: Likewise.
2703         * a-intnam-vxworks.ads: Likewise.
2704         * a-intsig.adb: Likewise.
2705         * a-intsig.ads: Likewise.
2706         * a-ngcefu.adb: Likewise.
2707         * a-ngcoar.adb: Likewise.
2708         * a-ngcoty.adb: Likewise.
2709         * a-ngcoty.ads: Likewise.
2710         * a-ngelfu.adb: Likewise.
2711         * a-ngrear.adb: Likewise.
2712         * a-ngrear.ads: Likewise.
2713         * a-nudira.adb: Likewise.
2714         * a-nudira.ads: Likewise.
2715         * a-nuflra.adb: Likewise.
2716         * a-nuflra.ads: Likewise.
2717         * a-numaux-darwin.adb: Likewise.
2718         * a-numaux-darwin.ads: Likewise.
2719         * a-numaux-libc-x86.ads: Likewise.
2720         * a-numaux-vxworks.ads: Likewise.
2721         * a-numaux-x86.adb: Likewise.
2722         * a-numaux-x86.ads: Likewise.
2723         * a-numaux.ads: Likewise.
2724         * a-rbtgso.adb: Likewise.
2725         * a-rbtgso.ads: Likewise.
2726         * a-reatim.ads: Likewise.
2727         * a-retide.adb: Likewise.
2728         * a-retide.ads: Likewise.
2729         * a-rttiev.adb: Likewise.
2730         * a-rttiev.ads: Likewise.
2731         * a-secain.adb: Likewise.
2732         * a-secain.ads: Likewise.
2733         * a-sequio.adb: Likewise.
2734         * a-sequio.ads: Likewise.
2735         * a-shcain.adb: Likewise.
2736         * a-shcain.ads: Likewise.
2737         * a-siocst.adb: Likewise.
2738         * a-siocst.ads: Likewise.
2739         * a-slcain.adb: Likewise.
2740         * a-slcain.ads: Likewise.
2741         * a-ssicst.adb: Likewise.
2742         * a-ssicst.ads: Likewise.
2743         * a-stboha.adb: Likewise.
2744         * a-stmaco.ads: Likewise.
2745         * a-storio.adb: Likewise.
2746         * a-strbou.adb: Likewise.
2747         * a-strbou.ads: Likewise.
2748         * a-stream.ads: Likewise.
2749         * a-strfix.adb: Likewise.
2750         * a-strhas.adb: Likewise.
2751         * a-strmap.adb: Likewise.
2752         * a-strmap.ads: Likewise.
2753         * a-strsea.adb: Likewise.
2754         * a-strsea.ads: Likewise.
2755         * a-strsup.adb: Likewise.
2756         * a-strsup.ads: Likewise.
2757         * a-strunb.adb: Likewise.
2758         * a-strunb.ads: Likewise.
2759         * a-ststio.adb: Likewise.
2760         * a-ststio.ads: Likewise.
2761         * a-stunau.adb: Likewise.
2762         * a-stunau.ads: Likewise.
2763         * a-stunha.adb: Likewise.
2764         * a-stwibo.adb: Likewise.
2765         * a-stwibo.ads: Likewise.
2766         * a-stwifi.adb: Likewise.
2767         * a-stwiha.adb: Likewise.
2768         * a-stwima.adb: Likewise.
2769         * a-stwima.ads: Likewise.
2770         * a-stwise.adb: Likewise.
2771         * a-stwise.ads: Likewise.
2772         * a-stwisu.adb: Likewise.
2773         * a-stwisu.ads: Likewise.
2774         * a-stwiun.adb: Likewise.
2775         * a-stwiun.ads: Likewise.
2776         * a-stzbou.adb: Likewise.
2777         * a-stzbou.ads: Likewise.
2778         * a-stzfix.adb: Likewise.
2779         * a-stzhas.adb: Likewise.
2780         * a-stzmap.adb: Likewise.
2781         * a-stzmap.ads: Likewise.
2782         * a-stzsea.adb: Likewise.
2783         * a-stzsea.ads: Likewise.
2784         * a-stzsup.adb: Likewise.
2785         * a-stzsup.ads: Likewise.
2786         * a-stzunb.adb: Likewise.
2787         * a-stzunb.ads: Likewise.
2788         * a-suteio.adb: Likewise.
2789         * a-suteio.ads: Likewise.
2790         * a-swbwha.adb: Likewise.
2791         * a-swmwco.ads: Likewise.
2792         * a-swunau.adb: Likewise.
2793         * a-swunau.ads: Likewise.
2794         * a-swuwha.adb: Likewise.
2795         * a-swuwti.adb: Likewise.
2796         * a-swuwti.ads: Likewise.
2797         * a-sytaco.adb: Likewise.
2798         * a-sytaco.ads: Likewise.
2799         * a-szbzha.adb: Likewise.
2800         * a-szmzco.ads: Likewise.
2801         * a-szunau.adb: Likewise.
2802         * a-szunau.ads: Likewise.
2803         * a-szuzha.adb: Likewise.
2804         * a-szuzti.adb: Likewise.
2805         * a-szuzti.ads: Likewise.
2806         * a-tags.adb: Likewise.
2807         * a-tags.ads: Likewise.
2808         * a-tasatt.ads: Likewise.
2809         * a-taside.adb: Likewise.
2810         * a-taside.ads: Likewise.
2811         * a-taster.adb: Likewise.
2812         * a-teioed.adb: Likewise.
2813         * a-teioed.ads: Likewise.
2814         * a-textio.adb: Likewise.
2815         * a-textio.ads: Likewise.
2816         * a-tiboio.adb: Likewise.
2817         * a-ticoau.adb: Likewise.
2818         * a-ticoau.ads: Likewise.
2819         * a-ticoio.adb: Likewise.
2820         * a-ticoio.ads: Likewise.
2821         * a-tideau.adb: Likewise.
2822         * a-tideau.ads: Likewise.
2823         * a-tideio.adb: Likewise.
2824         * a-tideio.ads: Likewise.
2825         * a-tienau.adb: Likewise.
2826         * a-tienau.ads: Likewise.
2827         * a-tienio.adb: Likewise.
2828         * a-tienio.ads: Likewise.
2829         * a-tifiio.adb: Likewise.
2830         * a-tifiio.ads: Likewise.
2831         * a-tiflau.adb: Likewise.
2832         * a-tiflau.ads: Likewise.
2833         * a-tiflio.adb: Likewise.
2834         * a-tiflio.ads: Likewise.
2835         * a-tigeau.adb: Likewise.
2836         * a-tigeau.ads: Likewise.
2837         * a-tiinau.adb: Likewise.
2838         * a-tiinau.ads: Likewise.
2839         * a-tiinio.adb: Likewise.
2840         * a-tiinio.ads: Likewise.
2841         * a-timoau.adb: Likewise.
2842         * a-timoau.ads: Likewise.
2843         * a-timoio.adb: Likewise.
2844         * a-timoio.ads: Likewise.
2845         * a-tiocst.adb: Likewise.
2846         * a-tiocst.ads: Likewise.
2847         * a-titest.adb: Likewise.
2848         * a-wichun.adb: Likewise.
2849         * a-wichun.ads: Likewise.
2850         * a-witeio.adb: Likewise.
2851         * a-witeio.ads: Likewise.
2852         * a-wtcoau.adb: Likewise.
2853         * a-wtcoau.ads: Likewise.
2854         * a-wtcoio.adb: Likewise.
2855         * a-wtcstr.adb: Likewise.
2856         * a-wtcstr.ads: Likewise.
2857         * a-wtdeau.adb: Likewise.
2858         * a-wtdeau.ads: Likewise.
2859         * a-wtdeio.adb: Likewise.
2860         * a-wtdeio.ads: Likewise.
2861         * a-wtedit.adb: Likewise.
2862         * a-wtedit.ads: Likewise.
2863         * a-wtenau.adb: Likewise.
2864         * a-wtenau.ads: Likewise.
2865         * a-wtenio.adb: Likewise.
2866         * a-wtenio.ads: Likewise.
2867         * a-wtfiio.adb: Likewise.
2868         * a-wtfiio.ads: Likewise.
2869         * a-wtflau.adb: Likewise.
2870         * a-wtflau.ads: Likewise.
2871         * a-wtflio.adb: Likewise.
2872         * a-wtflio.ads: Likewise.
2873         * a-wtgeau.adb: Likewise.
2874         * a-wtgeau.ads: Likewise.
2875         * a-wtinau.adb: Likewise.
2876         * a-wtinau.ads: Likewise.
2877         * a-wtinio.adb: Likewise.
2878         * a-wtmoau.adb: Likewise.
2879         * a-wtmoau.ads: Likewise.
2880         * a-wtmoio.adb: Likewise.
2881         * a-wtmoio.ads: Likewise.
2882         * a-wttest.adb: Likewise.
2883         * a-wwboio.adb: Likewise.
2884         * a-zchuni.adb: Likewise.
2885         * a-zchuni.ads: Likewise.
2886         * a-ztcoau.adb: Likewise.
2887         * a-ztcoau.ads: Likewise.
2888         * a-ztcoio.adb: Likewise.
2889         * a-ztcstr.adb: Likewise.
2890         * a-ztcstr.ads: Likewise.
2891         * a-ztdeau.adb: Likewise.
2892         * a-ztdeau.ads: Likewise.
2893         * a-ztdeio.adb: Likewise.
2894         * a-ztdeio.ads: Likewise.
2895         * a-ztedit.adb: Likewise.
2896         * a-ztedit.ads: Likewise.
2897         * a-ztenau.adb: Likewise.
2898         * a-ztenau.ads: Likewise.
2899         * a-ztenio.adb: Likewise.
2900         * a-ztenio.ads: Likewise.
2901         * a-ztexio.adb: Likewise.
2902         * a-ztexio.ads: Likewise.
2903         * a-ztfiio.adb: Likewise.
2904         * a-ztfiio.ads: Likewise.
2905         * a-ztflau.adb: Likewise.
2906         * a-ztflau.ads: Likewise.
2907         * a-ztflio.adb: Likewise.
2908         * a-ztflio.ads: Likewise.
2909         * a-ztgeau.adb: Likewise.
2910         * a-ztgeau.ads: Likewise.
2911         * a-ztinau.adb: Likewise.
2912         * a-ztinau.ads: Likewise.
2913         * a-ztinio.adb: Likewise.
2914         * a-ztmoau.adb: Likewise.
2915         * a-ztmoau.ads: Likewise.
2916         * a-ztmoio.adb: Likewise.
2917         * a-ztmoio.ads: Likewise.
2918         * a-zttest.adb: Likewise.
2919         * a-zzboio.adb: Likewise.
2920         * adadecode.c: Likewise.
2921         * adaint.c: Likewise.
2922         * adaint.h: Likewise.
2923         * alloc.ads: Likewise.
2924         * argv.c: Likewise.
2925         * arit64.c: Likewise.
2926         * atree.adb: Likewise.
2927         * atree.ads: Likewise.
2928         * aux-io.c: Likewise.
2929         * cal.c: Likewise.
2930         * casing.adb: Likewise.
2931         * casing.ads: Likewise.
2932         * cio.c: Likewise.
2933         * csets.adb: Likewise.
2934         * csets.ads: Likewise.
2935         * cstreams.c: Likewise.
2936         * ctrl_c.c: Likewise.
2937         * debug.adb: Likewise.
2938         * debug.ads: Likewise.
2939         * dec.ads: Likewise.
2940         * einfo.adb: Likewise.
2941         * einfo.ads: Likewise.
2942         * elists.adb: Likewise.
2943         * elists.ads: Likewise.
2944         * env.c: Likewise.
2945         * env.h: Likewise.
2946         * errno.c: Likewise.
2947         * exit.c: Likewise.
2948         * fe.h: Likewise.
2949         * final.c: Likewise.
2950         * fname.adb: Likewise.
2951         * fname.ads: Likewise.
2952         * g-allein.ads: Likewise.
2953         * g-alleve.adb: Likewise.
2954         * g-alleve.ads: Likewise.
2955         * g-altcon.adb: Likewise.
2956         * g-altcon.ads: Likewise.
2957         * g-altive.ads: Likewise.
2958         * g-alveop.adb: Likewise.
2959         * g-alveop.ads: Likewise.
2960         * g-alvety.ads: Likewise.
2961         * g-alvevi.ads: Likewise.
2962         * g-arrspl.adb: Likewise.
2963         * g-arrspl.ads: Likewise.
2964         * g-calend.ads: Likewise.
2965         * g-comlin.adb: Likewise.
2966         * g-debpoo.adb: Likewise.
2967         * g-debpoo.ads: Likewise.
2968         * g-eacodu-vms.adb: Likewise.
2969         * g-eacodu.adb: Likewise.
2970         * g-excact.adb: Likewise.
2971         * g-excact.ads: Likewise.
2972         * g-locfil.adb: Likewise.
2973         * g-os_lib.ads: Likewise.
2974         * g-rannum.adb: Likewise.
2975         * g-rannum.ads: Likewise.
2976         * g-regist.adb: Likewise.
2977         * g-regist.ads: Likewise.
2978         * g-signal.adb: Likewise.
2979         * g-signal.ads: Likewise.
2980         * g-soccon.ads: Likewise.
2981         * g-string.adb: Likewise.
2982         * g-string.ads: Likewise.
2983         * g-strspl.ads: Likewise.
2984         * g-timsta.adb: Likewise.
2985         * g-timsta.ads: Likewise.
2986         * g-trasym-vms-alpha.adb: Likewise.
2987         * g-trasym-vms-ia64.adb: Likewise.
2988         * g-utf_32.adb: Likewise.
2989         * g-utf_32.ads: Likewise.
2990         * g-wistsp.ads: Likewise.
2991         * g-zstspl.ads: Likewise.
2992         * gmem.c: Likewise.
2993         * gnatvsn.adb: Likewise.
2994         * gnatvsn.ads: Likewise.
2995         * gsocket.h: Likewise.
2996         * hostparm.ads: Likewise.
2997         * i-c.adb: Likewise.
2998         * i-cexten.ads: Likewise.
2999         * i-cobol.adb: Likewise.
3000         * i-cobol.ads: Likewise.
3001         * i-cpoint.adb: Likewise.
3002         * i-cpoint.ads: Likewise.
3003         * i-cpp.adb: Likewise.
3004         * i-cpp.ads: Likewise.
3005         * i-cstrea-vms.adb: Likewise.
3006         * i-cstrea.adb: Likewise.
3007         * i-cstrea.ads: Likewise.
3008         * i-cstrin.adb: Likewise.
3009         * i-cstrin.ads: Likewise.
3010         * i-forbla-darwin.adb: Likewise.
3011         * i-forbla-unimplemented.ads: Likewise.
3012         * i-forbla.adb: Likewise.
3013         * i-forbla.ads: Likewise.
3014         * i-forlap.ads: Likewise.
3015         * i-fortra.adb: Likewise.
3016         * i-pacdec.adb: Likewise.
3017         * i-pacdec.ads: Likewise.
3018         * i-vxwoio.adb: Likewise.
3019         * i-vxwoio.ads: Likewise.
3020         * indepsw-aix.adb: Likewise.
3021         * indepsw-gnu.adb: Likewise.
3022         * indepsw-mingw.adb: Likewise.
3023         * indepsw.adb: Likewise.
3024         * indepsw.ads: Likewise.
3025         * init.c: Likewise.
3026         * initialize.c: Likewise.
3027         * interfac.ads: Likewise.
3028         * krunch.adb: Likewise.
3029         * krunch.ads: Likewise.
3030         * lib-list.adb: Likewise.
3031         * lib-sort.adb: Likewise.
3032         * lib.adb: Likewise.
3033         * lib.ads: Likewise.
3034         * link.c: Likewise.
3035         * math_lib.adb: Likewise.
3036         * memtrack.adb: Likewise.
3037         * mingw32.h: Likewise.
3038         * mkdir.c: Likewise.
3039         * namet-sp.adb: Likewise.
3040         * namet-sp.ads: Likewise.
3041         * namet.adb: Likewise.
3042         * namet.ads: Likewise.
3043         * nlists.adb: Likewise.
3044         * nlists.ads: Likewise.
3045         * opt.adb: Likewise.
3046         * opt.ads: Likewise.
3047         * output.adb: Likewise.
3048         * output.ads: Likewise.
3049         * raise-gcc.c: Likewise.
3050         * raise.c: Likewise.
3051         * raise.h: Likewise.
3052         * repinfo.adb: Likewise.
3053         * repinfo.ads: Likewise.
3054         * repinfo.h: Likewise.
3055         * rident.ads: Likewise.
3056         * s-addima.adb: Likewise.
3057         * s-addima.ads: Likewise.
3058         * s-addope.adb: Likewise.
3059         * s-addope.ads: Likewise.
3060         * s-arit64.adb: Likewise.
3061         * s-arit64.ads: Likewise.
3062         * s-assert.adb: Likewise.
3063         * s-assert.ads: Likewise.
3064         * s-asthan-vms-alpha.adb: Likewise.
3065         * s-asthan.adb: Likewise.
3066         * s-asthan.ads: Likewise.
3067         * s-atacco.adb: Likewise.
3068         * s-atacco.ads: Likewise.
3069         * s-auxdec-empty.adb: Likewise.
3070         * s-auxdec-empty.ads: Likewise.
3071         * s-auxdec-vms_64.ads: Likewise.
3072         * s-auxdec.adb: Likewise.
3073         * s-auxdec.ads: Likewise.
3074         * s-bitops.adb: Likewise.
3075         * s-bitops.ads: Likewise.
3076         * s-boarop.ads: Likewise.
3077         * s-carsi8.adb: Likewise.
3078         * s-carsi8.ads: Likewise.
3079         * s-carun8.adb: Likewise.
3080         * s-carun8.ads: Likewise.
3081         * s-casi16.adb: Likewise.
3082         * s-casi16.ads: Likewise.
3083         * s-casi32.adb: Likewise.
3084         * s-casi32.ads: Likewise.
3085         * s-casi64.adb: Likewise.
3086         * s-casi64.ads: Likewise.
3087         * s-casuti.ads: Likewise.
3088         * s-caun16.adb: Likewise.
3089         * s-caun16.ads: Likewise.
3090         * s-caun32.adb: Likewise.
3091         * s-caun32.ads: Likewise.
3092         * s-caun64.adb: Likewise.
3093         * s-caun64.ads: Likewise.
3094         * s-chepoo.ads: Likewise.
3095         * s-crc32.adb: Likewise.
3096         * s-crc32.ads: Likewise.
3097         * s-crtl.ads: Likewise.
3098         * s-direio.adb: Likewise.
3099         * s-direio.ads: Likewise.
3100         * s-dsaser.ads: Likewise.
3101         * s-except.adb: Likewise.
3102         * s-except.ads: Likewise.
3103         * s-exctab.adb: Likewise.
3104         * s-exctab.ads: Likewise.
3105         * s-exnint.adb: Likewise.
3106         * s-exnint.ads: Likewise.
3107         * s-exnllf.adb: Likewise.
3108         * s-exnllf.ads: Likewise.
3109         * s-exnlli.adb: Likewise.
3110         * s-exnlli.ads: Likewise.
3111         * s-expint.adb: Likewise.
3112         * s-expint.ads: Likewise.
3113         * s-explli.adb: Likewise.
3114         * s-explli.ads: Likewise.
3115         * s-expllu.adb: Likewise.
3116         * s-expllu.ads: Likewise.
3117         * s-expmod.adb: Likewise.
3118         * s-expmod.ads: Likewise.
3119         * s-expuns.adb: Likewise.
3120         * s-expuns.ads: Likewise.
3121         * s-fatflt.ads: Likewise.
3122         * s-fatgen.adb: Likewise.
3123         * s-fatgen.ads: Likewise.
3124         * s-fatlfl.ads: Likewise.
3125         * s-fatllf.ads: Likewise.
3126         * s-fatsfl.ads: Likewise.
3127         * s-ficobl.ads: Likewise.
3128         * s-fileio.adb: Likewise.
3129         * s-fileio.ads: Likewise.
3130         * s-filofl.ads: Likewise.
3131         * s-finimp.adb: Likewise.
3132         * s-finimp.ads: Likewise.
3133         * s-finroo.adb: Likewise.
3134         * s-finroo.ads: Likewise.
3135         * s-fishfl.ads: Likewise.
3136         * s-fore.adb: Likewise.
3137         * s-fore.ads: Likewise.
3138         * s-fvadfl.ads: Likewise.
3139         * s-fvaffl.ads: Likewise.
3140         * s-fvagfl.ads: Likewise.
3141         * s-gearop.adb: Likewise.
3142         * s-gearop.ads: Likewise.
3143         * s-gecobl.adb: Likewise.
3144         * s-gecobl.ads: Likewise.
3145         * s-gecola.adb: Likewise.
3146         * s-gecola.ads: Likewise.
3147         * s-gerebl.adb: Likewise.
3148         * s-gerebl.ads: Likewise.
3149         * s-gerela.adb: Likewise.
3150         * s-gerela.ads: Likewise.
3151         * s-geveop.adb: Likewise.
3152         * s-geveop.ads: Likewise.
3153         * s-gloloc.adb: Likewise.
3154         * s-gloloc.ads: Likewise.
3155         * s-hibaen.ads: Likewise.
3156         * s-imenne.adb: Likewise.
3157         * s-imenne.ads: Likewise.
3158         * s-imgbiu.adb: Likewise.
3159         * s-imgbiu.ads: Likewise.
3160         * s-imgboo.adb: Likewise.
3161         * s-imgboo.ads: Likewise.
3162         * s-imgcha.adb: Likewise.
3163         * s-imgcha.ads: Likewise.
3164         * s-imgdec.adb: Likewise.
3165         * s-imgdec.ads: Likewise.
3166         * s-imgenu.adb: Likewise.
3167         * s-imgenu.ads: Likewise.
3168         * s-imgint.adb: Likewise.
3169         * s-imgint.ads: Likewise.
3170         * s-imgllb.adb: Likewise.
3171         * s-imgllb.ads: Likewise.
3172         * s-imglld.adb: Likewise.
3173         * s-imglld.ads: Likewise.
3174         * s-imglli.adb: Likewise.
3175         * s-imglli.ads: Likewise.
3176         * s-imgllu.adb: Likewise.
3177         * s-imgllu.ads: Likewise.
3178         * s-imgllw.adb: Likewise.
3179         * s-imgllw.ads: Likewise.
3180         * s-imgrea.adb: Likewise.
3181         * s-imgrea.ads: Likewise.
3182         * s-imguns.adb: Likewise.
3183         * s-imguns.ads: Likewise.
3184         * s-imgwch.adb: Likewise.
3185         * s-imgwch.ads: Likewise.
3186         * s-imgwiu.adb: Likewise.
3187         * s-imgwiu.ads: Likewise.
3188         * s-inmaop-dummy.adb: Likewise.
3189         * s-inmaop-vms.adb: Likewise.
3190         * s-inmaop.ads: Likewise.
3191         * s-interr-hwint.adb: Likewise.
3192         * s-interr-sigaction.adb: Likewise.
3193         * s-interr-vms.adb: Likewise.
3194         * s-interr.adb: Likewise.
3195         * s-interr.ads: Likewise.
3196         * s-intman-dummy.adb: Likewise.
3197         * s-intman-mingw.adb: Likewise.
3198         * s-intman-posix.adb: Likewise.
3199         * s-intman-solaris.adb: Likewise.
3200         * s-intman-vms.adb: Likewise.
3201         * s-intman-vms.ads: Likewise.
3202         * s-intman-vxworks.adb: Likewise.
3203         * s-intman-vxworks.ads: Likewise.
3204         * s-intman.ads: Likewise.
3205         * s-io.adb: Likewise.
3206         * s-io.ads: Likewise.
3207         * s-linux-alpha.ads: Likewise.
3208         * s-linux-hppa.ads: Likewise.
3209         * s-linux.ads: Likewise.
3210         * s-maccod.ads: Likewise.
3211         * s-mantis.adb: Likewise.
3212         * s-mantis.ads: Likewise.
3213         * s-mastop-irix.adb: Likewise.
3214         * s-mastop.adb: Likewise.
3215         * s-mastop.ads: Likewise.
3216         * s-memcop.ads: Likewise.
3217         * s-memory-mingw.adb: Likewise.
3218         * s-memory.adb: Likewise.
3219         * s-memory.ads: Likewise.
3220         * s-os_lib.ads: Likewise.
3221         * s-oscons-tmplt.c: Likewise.
3222         * s-osinte-aix.adb: Likewise.
3223         * s-osinte-darwin.adb: Likewise.
3224         * s-osinte-freebsd.adb: Likewise.
3225         * s-osinte-irix.adb: Likewise.
3226         * s-osinte-lynxos-3.adb: Likewise.
3227         * s-osinte-rtems.ads: Likewise.
3228         * s-osinte-tru64.adb: Likewise.
3229         * s-osinte-vxworks-kernel.adb: Likewise.
3230         * s-osinte-vxworks.adb: Likewise.
3231         * s-osprim-mingw.adb: Likewise.
3232         * s-osprim-posix.adb: Likewise.
3233         * s-osprim-solaris.adb: Likewise.
3234         * s-osprim-unix.adb: Likewise.
3235         * s-osprim-vms.adb: Likewise.
3236         * s-osprim-vms.ads: Likewise.
3237         * s-osprim-vxworks.adb: Likewise.
3238         * s-osprim.ads: Likewise.
3239         * s-pack03.adb: Likewise.
3240         * s-pack03.ads: Likewise.
3241         * s-pack05.adb: Likewise.
3242         * s-pack05.ads: Likewise.
3243         * s-pack06.adb: Likewise.
3244         * s-pack06.ads: Likewise.
3245         * s-pack07.adb: Likewise.
3246         * s-pack07.ads: Likewise.
3247         * s-pack09.adb: Likewise.
3248         * s-pack09.ads: Likewise.
3249         * s-pack10.adb: Likewise.
3250         * s-pack10.ads: Likewise.
3251         * s-pack11.adb: Likewise.
3252         * s-pack11.ads: Likewise.
3253         * s-pack12.adb: Likewise.
3254         * s-pack12.ads: Likewise.
3255         * s-pack13.adb: Likewise.
3256         * s-pack13.ads: Likewise.
3257         * s-pack14.adb: Likewise.
3258         * s-pack14.ads: Likewise.
3259         * s-pack15.adb: Likewise.
3260         * s-pack15.ads: Likewise.
3261         * s-pack17.adb: Likewise.
3262         * s-pack17.ads: Likewise.
3263         * s-pack18.adb: Likewise.
3264         * s-pack18.ads: Likewise.
3265         * s-pack19.adb: Likewise.
3266         * s-pack19.ads: Likewise.
3267         * s-pack20.adb: Likewise.
3268         * s-pack20.ads: Likewise.
3269         * s-pack21.adb: Likewise.
3270         * s-pack21.ads: Likewise.
3271         * s-pack22.adb: Likewise.
3272         * s-pack22.ads: Likewise.
3273         * s-pack23.adb: Likewise.
3274         * s-pack23.ads: Likewise.
3275         * s-pack24.adb: Likewise.
3276         * s-pack24.ads: Likewise.
3277         * s-pack25.adb: Likewise.
3278         * s-pack25.ads: Likewise.
3279         * s-pack26.adb: Likewise.
3280         * s-pack26.ads: Likewise.
3281         * s-pack27.adb: Likewise.
3282         * s-pack27.ads: Likewise.
3283         * s-pack28.adb: Likewise.
3284         * s-pack28.ads: Likewise.
3285         * s-pack29.adb: Likewise.
3286         * s-pack29.ads: Likewise.
3287         * s-pack30.adb: Likewise.
3288         * s-pack30.ads: Likewise.
3289         * s-pack31.adb: Likewise.
3290         * s-pack31.ads: Likewise.
3291         * s-pack33.adb: Likewise.
3292         * s-pack33.ads: Likewise.
3293         * s-pack34.adb: Likewise.
3294         * s-pack34.ads: Likewise.
3295         * s-pack35.adb: Likewise.
3296         * s-pack35.ads: Likewise.
3297         * s-pack36.adb: Likewise.
3298         * s-pack36.ads: Likewise.
3299         * s-pack37.adb: Likewise.
3300         * s-pack37.ads: Likewise.
3301         * s-pack38.adb: Likewise.
3302         * s-pack38.ads: Likewise.
3303         * s-pack39.adb: Likewise.
3304         * s-pack39.ads: Likewise.
3305         * s-pack40.adb: Likewise.
3306         * s-pack40.ads: Likewise.
3307         * s-pack41.adb: Likewise.
3308         * s-pack41.ads: Likewise.
3309         * s-pack42.adb: Likewise.
3310         * s-pack42.ads: Likewise.
3311         * s-pack43.adb: Likewise.
3312         * s-pack43.ads: Likewise.
3313         * s-pack44.adb: Likewise.
3314         * s-pack44.ads: Likewise.
3315         * s-pack45.adb: Likewise.
3316         * s-pack45.ads: Likewise.
3317         * s-pack46.adb: Likewise.
3318         * s-pack46.ads: Likewise.
3319         * s-pack47.adb: Likewise.
3320         * s-pack47.ads: Likewise.
3321         * s-pack48.adb: Likewise.
3322         * s-pack48.ads: Likewise.
3323         * s-pack49.adb: Likewise.
3324         * s-pack49.ads: Likewise.
3325         * s-pack50.adb: Likewise.
3326         * s-pack50.ads: Likewise.
3327         * s-pack51.adb: Likewise.
3328         * s-pack51.ads: Likewise.
3329         * s-pack52.adb: Likewise.
3330         * s-pack52.ads: Likewise.
3331         * s-pack53.adb: Likewise.
3332         * s-pack53.ads: Likewise.
3333         * s-pack54.adb: Likewise.
3334         * s-pack54.ads: Likewise.
3335         * s-pack55.adb: Likewise.
3336         * s-pack55.ads: Likewise.
3337         * s-pack56.adb: Likewise.
3338         * s-pack56.ads: Likewise.
3339         * s-pack57.adb: Likewise.
3340         * s-pack57.ads: Likewise.
3341         * s-pack58.adb: Likewise.
3342         * s-pack58.ads: Likewise.
3343         * s-pack59.adb: Likewise.
3344         * s-pack59.ads: Likewise.
3345         * s-pack60.adb: Likewise.
3346         * s-pack60.ads: Likewise.
3347         * s-pack61.adb: Likewise.
3348         * s-pack61.ads: Likewise.
3349         * s-pack62.adb: Likewise.
3350         * s-pack62.ads: Likewise.
3351         * s-pack63.adb: Likewise.
3352         * s-pack63.ads: Likewise.
3353         * s-parame-ae653.ads: Likewise.
3354         * s-parame-hpux.ads: Likewise.
3355         * s-parame-rtems.adb: Likewise.
3356         * s-parame-vms-alpha.ads: Likewise.
3357         * s-parame-vms-ia64.ads: Likewise.
3358         * s-parame-vms-restrict.ads: Likewise.
3359         * s-parame-vxworks.adb: Likewise.
3360         * s-parame-vxworks.ads: Likewise.
3361         * s-parame.adb: Likewise.
3362         * s-parame.ads: Likewise.
3363         * s-parint.adb: Likewise.
3364         * s-parint.ads: Likewise.
3365         * s-pooglo.adb: Likewise.
3366         * s-pooglo.ads: Likewise.
3367         * s-pooloc.adb: Likewise.
3368         * s-pooloc.ads: Likewise.
3369         * s-poosiz.adb: Likewise.
3370         * s-poosiz.ads: Likewise.
3371         * s-powtab.ads: Likewise.
3372         * s-proinf-irix-athread.adb: Likewise.
3373         * s-proinf-irix-athread.ads: Likewise.
3374         * s-proinf.adb: Likewise.
3375         * s-proinf.ads: Likewise.
3376         * s-purexc.ads: Likewise.
3377         * s-rannum.adb: Likewise.
3378         * s-rannum.ads: Likewise.
3379         * s-restri.adb: Likewise.
3380         * s-restri.ads: Likewise.
3381         * s-rident.ads: Likewise.
3382         * s-rpc.adb: Likewise.
3383         * s-rpc.ads: Likewise.
3384         * s-scaval.adb: Likewise.
3385         * s-scaval.ads: Likewise.
3386         * s-secsta.adb: Likewise.
3387         * s-secsta.ads: Likewise.
3388         * s-sequio.adb: Likewise.
3389         * s-sequio.ads: Likewise.
3390         * s-shasto.adb: Likewise.
3391         * s-shasto.ads: Likewise.
3392         * s-soflin.adb: Likewise.
3393         * s-soflin.ads: Likewise.
3394         * s-solita.adb: Likewise.
3395         * s-solita.ads: Likewise.
3396         * s-sopco3.adb: Likewise.
3397         * s-sopco3.ads: Likewise.
3398         * s-sopco4.adb: Likewise.
3399         * s-sopco4.ads: Likewise.
3400         * s-sopco5.adb: Likewise.
3401         * s-sopco5.ads: Likewise.
3402         * s-stache.adb: Likewise.
3403         * s-stache.ads: Likewise.
3404         * s-stalib.adb: Likewise.
3405         * s-stalib.ads: Likewise.
3406         * s-stausa.adb: Likewise.
3407         * s-stausa.ads: Likewise.
3408         * s-stchop-limit.ads: Likewise.
3409         * s-stchop-rtems.adb: Likewise.
3410         * s-stchop-vxworks.adb: Likewise.
3411         * s-stchop.adb: Likewise.
3412         * s-stchop.ads: Likewise.
3413         * s-stoele.adb: Likewise.
3414         * s-stoele.ads: Likewise.
3415         * s-stopoo.adb: Likewise.
3416         * s-stopoo.ads: Likewise.
3417         * s-stratt.adb: Likewise.
3418         * s-stratt.ads: Likewise.
3419         * s-strcom.adb: Likewise.
3420         * s-strcom.ads: Likewise.
3421         * s-string.adb: Likewise.
3422         * s-string.ads: Likewise.
3423         * s-strops.adb: Likewise.
3424         * s-strops.ads: Likewise.
3425         * s-strxdr.adb: Likewise.
3426         * s-ststop.adb: Likewise.
3427         * s-ststop.ads: Likewise.
3428         * s-taasde.adb: Likewise.
3429         * s-taasde.ads: Likewise.
3430         * s-tadeca.adb: Likewise.
3431         * s-tadeca.ads: Likewise.
3432         * s-tadert.adb: Likewise.
3433         * s-tadert.ads: Likewise.
3434         * s-taenca.adb: Likewise.
3435         * s-taenca.ads: Likewise.
3436         * s-taprob.ads: Likewise.
3437         * s-taprop-dummy.adb: Likewise.
3438         * s-taprop-hpux-dce.adb: Likewise.
3439         * s-taprop-irix.adb: Likewise.
3440         * s-taprop-linux.adb: Likewise.
3441         * s-taprop-lynxos.adb: Likewise.
3442         * s-taprop-mingw.adb: Likewise.
3443         * s-taprop-posix.adb: Likewise.
3444         * s-taprop-solaris.adb: Likewise.
3445         * s-taprop-tru64.adb: Likewise.
3446         * s-taprop-vms.adb: Likewise.
3447         * s-taprop-vxworks.adb: Likewise.
3448         * s-taprop.ads: Likewise.
3449         * s-tarest.adb: Likewise.
3450         * s-tarest.ads: Likewise.
3451         * s-tasdeb.adb: Likewise.
3452         * s-tasdeb.ads: Likewise.
3453         * s-tasinf-irix.ads: Likewise.
3454         * s-tasinf-linux.adb: Likewise.
3455         * s-tasinf-linux.ads: Likewise.
3456         * s-tasinf-mingw.adb: Likewise.
3457         * s-tasinf-mingw.ads: Likewise.
3458         * s-tasinf-solaris.adb: Likewise.
3459         * s-tasinf-solaris.ads: Likewise.
3460         * s-tasinf-tru64.ads: Likewise.
3461         * s-tasinf.adb: Likewise.
3462         * s-tasinf.ads: Likewise.
3463         * s-tasini.adb: Likewise.
3464         * s-tasini.ads: Likewise.
3465         * s-taskin.adb: Likewise.
3466         * s-taskin.ads: Likewise.
3467         * s-taspri-dummy.ads: Likewise.
3468         * s-taspri-hpux-dce.ads: Likewise.
3469         * s-taspri-mingw.ads: Likewise.
3470         * s-taspri-solaris.ads: Likewise.
3471         * s-taspri-tru64.ads: Likewise.
3472         * s-taspri-vms.ads: Likewise.
3473         * s-taspri-vxworks.ads: Likewise.
3474         * s-tasque.adb: Likewise.
3475         * s-tasque.ads: Likewise.
3476         * s-tasren.adb: Likewise.
3477         * s-tasren.ads: Likewise.
3478         * s-tasres.ads: Likewise.
3479         * s-tassta.adb: Likewise.
3480         * s-tassta.ads: Likewise.
3481         * s-tasuti.adb: Likewise.
3482         * s-tasuti.ads: Likewise.
3483         * s-tfsetr-default.adb: Likewise.
3484         * s-tfsetr-vxworks.adb: Likewise.
3485         * s-tpinop.adb: Likewise.
3486         * s-tpinop.ads: Likewise.
3487         * s-tpoben.adb: Likewise.
3488         * s-tpoben.ads: Likewise.
3489         * s-tpobop.adb: Likewise.
3490         * s-tpobop.ads: Likewise.
3491         * s-tpopde-vms.adb: Likewise.
3492         * s-tpopde-vms.ads: Likewise.
3493         * s-tpopsp-lynxos.adb: Likewise.
3494         * s-tpopsp-posix-foreign.adb: Likewise.
3495         * s-tpopsp-posix.adb: Likewise.
3496         * s-tpopsp-solaris.adb: Likewise.
3497         * s-tpopsp-vxworks.adb: Likewise.
3498         * s-tporft.adb: Likewise.
3499         * s-tposen.adb: Likewise.
3500         * s-tposen.ads: Likewise.
3501         * s-traceb.adb: Likewise.
3502         * s-traceb.ads: Likewise.
3503         * s-traces-default.adb: Likewise.
3504         * s-traces.adb: Likewise.
3505         * s-traces.ads: Likewise.
3506         * s-traent-vms.adb: Likewise.
3507         * s-traent-vms.ads: Likewise.
3508         * s-traent.adb: Likewise.
3509         * s-traent.ads: Likewise.
3510         * s-trafor-default.adb: Likewise.
3511         * s-trafor-default.ads: Likewise.
3512         * s-tratas-default.adb: Likewise.
3513         * s-tratas.adb: Likewise.
3514         * s-tratas.ads: Likewise.
3515         * s-unstyp.ads: Likewise.
3516         * s-utf_32.adb: Likewise.
3517         * s-utf_32.ads: Likewise.
3518         * s-vaflop-vms-alpha.adb: Likewise.
3519         * s-vaflop.adb: Likewise.
3520         * s-vaflop.ads: Likewise.
3521         * s-valboo.adb: Likewise.
3522         * s-valboo.ads: Likewise.
3523         * s-valcha.adb: Likewise.
3524         * s-valcha.ads: Likewise.
3525         * s-valdec.adb: Likewise.
3526         * s-valdec.ads: Likewise.
3527         * s-valenu.adb: Likewise.
3528         * s-valenu.ads: Likewise.
3529         * s-valint.adb: Likewise.
3530         * s-valint.ads: Likewise.
3531         * s-vallld.adb: Likewise.
3532         * s-vallld.ads: Likewise.
3533         * s-vallli.adb: Likewise.
3534         * s-vallli.ads: Likewise.
3535         * s-valllu.adb: Likewise.
3536         * s-valllu.ads: Likewise.
3537         * s-valrea.adb: Likewise.
3538         * s-valrea.ads: Likewise.
3539         * s-valuns.adb: Likewise.
3540         * s-valuns.ads: Likewise.
3541         * s-valuti.adb: Likewise.
3542         * s-valuti.ads: Likewise.
3543         * s-valwch.adb: Likewise.
3544         * s-valwch.ads: Likewise.
3545         * s-veboop.adb: Likewise.
3546         * s-veboop.ads: Likewise.
3547         * s-vector.ads: Likewise.
3548         * s-vercon.adb: Likewise.
3549         * s-vercon.ads: Likewise.
3550         * s-vmexta.adb: Likewise.
3551         * s-vmexta.ads: Likewise.
3552         * s-vxwext-kernel.ads: Likewise.
3553         * s-vxwext-rtp.adb: Likewise.
3554         * s-vxwext-rtp.ads: Likewise.
3555         * s-vxwext.ads: Likewise.
3556         * s-vxwork-arm.ads: Likewise.
3557         * s-vxwork-m68k.ads: Likewise.
3558         * s-vxwork-mips.ads: Likewise.
3559         * s-vxwork-ppc.ads: Likewise.
3560         * s-vxwork-sparcv9.ads: Likewise.
3561         * s-vxwork-x86.ads: Likewise.
3562         * s-wchcnv.adb: Likewise.
3563         * s-wchcnv.ads: Likewise.
3564         * s-wchcon.adb: Likewise.
3565         * s-wchcon.ads: Likewise.
3566         * s-wchjis.adb: Likewise.
3567         * s-wchjis.ads: Likewise.
3568         * s-wchstw.adb: Likewise.
3569         * s-wchstw.ads: Likewise.
3570         * s-wchwts.adb: Likewise.
3571         * s-wchwts.ads: Likewise.
3572         * s-widboo.adb: Likewise.
3573         * s-widboo.ads: Likewise.
3574         * s-widcha.adb: Likewise.
3575         * s-widcha.ads: Likewise.
3576         * s-widenu.adb: Likewise.
3577         * s-widenu.ads: Likewise.
3578         * s-widlli.adb: Likewise.
3579         * s-widlli.ads: Likewise.
3580         * s-widllu.adb: Likewise.
3581         * s-widllu.ads: Likewise.
3582         * s-widwch.adb: Likewise.
3583         * s-widwch.ads: Likewise.
3584         * s-win32.ads: Likewise.
3585         * s-winext.ads: Likewise.
3586         * s-wwdcha.adb: Likewise.
3587         * s-wwdcha.ads: Likewise.
3588         * s-wwdenu.adb: Likewise.
3589         * s-wwdenu.ads: Likewise.
3590         * s-wwdwch.adb: Likewise.
3591         * s-wwdwch.ads: Likewise.
3592         * scans.adb: Likewise.
3593         * scans.ads: Likewise.
3594         * seh_init.c: Likewise.
3595         * sfn_scan.adb: Likewise.
3596         * sinfo.adb: Likewise.
3597         * sinfo.ads: Likewise.
3598         * sinput.adb: Likewise.
3599         * sinput.ads: Likewise.
3600         * snames.adb: Likewise.
3601         * snames.ads: Likewise.
3602         * socket.c: Likewise.
3603         * stand.adb: Likewise.
3604         * stand.ads: Likewise.
3605         * stringt.adb: Likewise.
3606         * stringt.ads: Likewise.
3607         * sysdep.c: Likewise.
3608         * system-aix.ads: Likewise.
3609         * system-darwin-ppc.ads: Likewise.
3610         * system-darwin-x86.ads: Likewise.
3611         * system-darwin-x86_64.ads: Likewise.
3612         * system-freebsd-x86.ads: Likewise.
3613         * system-hpux-ia64.ads: Likewise.
3614         * system-hpux.ads: Likewise.
3615         * system-irix-n32.ads: Likewise.
3616         * system-irix-n64.ads: Likewise.
3617         * system-irix-o32.ads: Likewise.
3618         * system-linux-alpha.ads: Likewise.
3619         * system-linux-hppa.ads: Likewise.
3620         * system-linux-ia64.ads: Likewise.
3621         * system-linux-mips.ads: Likewise.
3622         * system-linux-mipsel.ads: Likewise.
3623         * system-linux-ppc.ads: Likewise.
3624         * system-linux-ppc64.ads: Likewise.
3625         * system-linux-s390.ads: Likewise.
3626         * system-linux-s390x.ads: Likewise.
3627         * system-linux-sh4.ads: Likewise.
3628         * system-linux-sparc.ads: Likewise.
3629         * system-linux-sparcv9.ads: Likewise.
3630         * system-linux-x86.ads: Likewise.
3631         * system-linux-x86_64.ads: Likewise.
3632         * system-lynxos-ppc.ads: Likewise.
3633         * system-lynxos-x86.ads: Likewise.
3634         * system-mingw-x86_64.ads: Likewise.
3635         * system-mingw.ads: Likewise.
3636         * system-rtems.ads: Likewise.
3637         * system-solaris-sparc.ads: Likewise.
3638         * system-solaris-sparcv9.ads: Likewise.
3639         * system-solaris-x86.ads: Likewise.
3640         * system-solaris-x86_64.ads: Likewise.
3641         * system-tru64.ads: Likewise.
3642         * system-vms-ia64.ads: Likewise.
3643         * system-vms-zcx.ads: Likewise.
3644         * system-vms.ads: Likewise.
3645         * system-vms_64.ads: Likewise.
3646         * system-vxworks-arm.ads: Likewise.
3647         * system-vxworks-m68k.ads: Likewise.
3648         * system-vxworks-mips.ads: Likewise.
3649         * system-vxworks-ppc.ads: Likewise.
3650         * system-vxworks-sparcv9.ads: Likewise.
3651         * system-vxworks-x86.ads: Likewise.
3652         * system.ads: Likewise.
3653         * table.adb: Likewise.
3654         * table.ads: Likewise.
3655         * targext.c: Likewise.
3656         * targparm.ads: Likewise.
3657         * tree_in.adb: Likewise.
3658         * tree_in.ads: Likewise.
3659         * tree_io.adb: Likewise.
3660         * tree_io.ads: Likewise.
3661         * types.adb: Likewise.
3662         * types.ads: Likewise.
3663         * uintp.adb: Likewise.
3664         * uintp.ads: Likewise.
3665         * uname.adb: Likewise.
3666         * uname.ads: Likewise.
3667         * urealp.adb: Likewise.
3668         * urealp.ads: Likewise.
3669         * vx_stack_info.c: Likewise.
3670         * widechar.adb: Likewise.
3671         * widechar.ads: Likewise.
3672         * exp_attr.adb: Change copyright header to refer to version
3673         3 of the GNU General Public License and to point readers at the
3674         COPYING3 file and the FSF's license web page.
3675         * sem.adb: Likewise.
3676         * sem_attr.ads: Likewise.
3677         * freeze.adb: Likewise.
3678         * freeze.ads: Likewise.
3679         * errout.ads: Likewise.
3680         * erroutc.adb: Likewise.
3681         * exp_ch11.ads: Likewise.
3683 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
3685         * config-lang.in: Change copyright header to refer to version
3686         3 of the GNU General Public License and to point readers at the
3687         COPYING3 file and the FSF's license web page.
3688         * gcc-interface/trans.c: Likewise.
3689         * gnathtml.pl: Likewise.
3690         * gcc-interface/ada.h: Likewise.  Remove runtime exception.
3691         * gcc-interface/gigi.h: Likewise.
3692         * gcc-interface/misc.c: Likewise.
3693         * gcc-interface/targtyps.c: Likewise.
3695 2009-04-09  Nicolas Setton  <setton@adacore.com>
3697         * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
3699         * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
3700         struct_timeval.
3702 2009-04-09  Bob Duff  <duff@adacore.com>
3704         * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
3705         internally-generated nodes related to select statements to avoid
3706         confusing the debugger.
3708 2009-04-09  Pascal Obry  <obry@adacore.com>
3710         * make.adb: Ensure that all linker arguments are duplicated.
3712 2009-04-09  Robert Dewar  <dewar@adacore.com>
3714         * sem_ch5.adb: Minor reformatting
3716 2009-04-09  Vincent Celier  <celier@adacore.com>
3718         * vms_data.ads:
3719         Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
3720         New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
3721         New qualifier /LXDEBUG=nnn for -gnatDnnn
3722         For H820-010
3724         * gnat_ugn.texi:
3725         Update documentation for VMS qualifiers equivalent to -gnatGnn and
3726         -gnatDnn
3728 2009-04-09  Nicolas Setton  <setton@adacore.com>
3730         * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
3731         to match layout of siginfo_t in sys/signal.h.
3733         * gcc-interface/Makefile.in: Add section for x86_64 darwin.
3735 2009-04-09  Thomas Quinot  <quinot@adacore.com>
3737         * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
3739 2009-04-09  Nicolas Setton  <setton@adacore.com>
3741         * s-oscons-tmplt.c: Allow long lines in the generated spec.
3742         Add generation of Darwin-specific constants needed when binding to the
3743         pthread library.
3745 2009-04-09  Robert Dewar  <dewar@adacore.com>
3747         * checks.adb:
3748         (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
3749         when no invalid values exist, Avoid duplicate read of atomic variable.
3751         * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
3752         (Standard_Unsigned): Set Is_Known_Valid
3754         * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
3755         subtype declaration if no constraint.
3756         (Set_Modular_Size): Set Is_Known_Valid if appropriate
3757         (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
3759 2009-04-09  Robert Dewar  <dewar@adacore.com>
3761         * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
3762         switch.ads: for numeric switches, an optional equal sign is always
3763         allowed.
3765 2009-04-09  Vincent Celier  <celier@adacore.com>
3767         * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
3768         the case of file names is not significant.
3770 2009-04-09  Vincent Celier  <celier@adacore.com>
3772         * errout.adb: Remove dependency on package Style
3774         * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
3775         moved to Stylesw.
3776         
3777         * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
3778         Styleg.
3780         * errutil.adb, par.adb: Import Stylesw
3782 2009-04-09  Arnaud Charlet  <charlet@adacore.com>
3784         * opt.ads: Fix typos.
3786 2009-04-09  Robert Dewar  <dewar@adacore.com>
3788         * einfo.adb: Minor reformatting
3790 2009-04-09  Robert Dewar  <dewar@adacore.com>
3792         * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
3793         units.
3795         * styleg-c.ads, styleg-c.adb: Removed, no longer used.
3797 2009-04-09  Robert Dewar  <dewar@adacore.com>
3799         * g-comver.adb: Minor reformatting.
3801 2009-04-09  Thomas Quinot  <quinot@adacore.com>
3803         * lib-load.ads (Load_Unit): Update documentation.
3805 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
3807         * lib-load.adb (Load_Unit): When loading the parent of a child unit
3808         named in a with_clause, retain the with_clause to preserve a
3809         limited_with indication.
3811 2009-04-09  Robert Dewar  <dewar@adacore.com>
3813         * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
3814         exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
3815         sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
3816         possible to replace an OR of two separate tests.
3818 2009-04-09  Robert Dewar  <dewar@adacore.com>
3820         * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
3821         Maximum_Messages.
3822         
3823         * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
3824         warning status as well.
3825         
3826         * opt.ads (Maximum_Messages): New name for Maximum_Errors.
3827         
3828         * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
3829         Maximum_Messages.
3830         
3831         * bindusg.adb, usage.adb: Update line for -gnatm switch
3833         * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
3834         -mnn binder switch.
3836 2009-04-09  Robert Dewar  <dewar@adacore.com>
3838         * sem_ch10.adb: Minor reformatting.
3840 2009-04-09  Bob Duff  <duff@adacore.com>
3842         * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
3843         Set Sloc of generated nodes for calls to Undefer_Aborts and
3844         Save_Occurrence to No_Location, so the debugger ignores them and
3845         therefore does not jump back and forth when single stepping.
3847 2009-04-09  Robert Dewar  <dewar@adacore.com>
3849         * switch-b.adb: Minor reformatting.
3851 2009-04-09  Robert Dewar  <dewar@adacore.com>
3853         * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
3854         sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
3855         exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
3856         sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
3857         einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
3858         tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
3859         exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
3860         sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
3861         sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
3862         sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
3863         Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
3865 2009-04-09  Robert Dewar  <dewar@adacore.com>
3867         * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
3869         * atree.h: Add Elist26
3871         * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
3872         backends.
3874 2009-04-09  Javier Miranda  <miranda@adacore.com>
3876         * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
3877         retrieve from the Dispatch_Table_Wrappers list the external name.
3878         Addition of documentation.
3879         (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
3880         used to export secondary dispatch tables (in the previous version of
3881         the frontend only primary dispatch tables were exported). Addition of
3882         documentation.
3883         (Import_DT): New subprogram (internal of Make_Tags). Used to import a
3884         dispatch table of a given tagged type. 
3885         (Make_Tags): Modified to import secondary dispatch tables.
3887         * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
3888         (Constant_Redeclaration): Code cleanup.
3890         * einfo.ads (Dispatch_Table_Wrapper): Renamed to
3891         Dispatch_Table_Wrappers.  Update documentation.
3893         * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
3894         Renamed to Dispatch_Table_Wrappers.
3896         * sem_util.adb (Collect_Interface_Components): Improve handling of
3897         private types.
3899         * atree.ads (Elist26, Set_Elist26): New subprograms
3901         * atree.adb (Elist26, Set_Elist26): New subprograms
3903 2009-04-09  Javier Miranda  <miranda@adacore.com>
3905         * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
3906         (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
3907         tagged types.
3909 2009-04-09  Robert Dewar  <dewar@adacore.com>
3911         * s-direio.adb: Minor reformatting
3913         * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
3915 2009-04-09  Robert Dewar  <dewar@adacore.com>
3917         * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
3919 2009-04-09  Pascal Obry  <obry@adacore.com>
3921         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
3922         s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
3923         a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
3924         a-filico.ads: Add some missing overriding keywords.
3926 2009-04-09  Pascal Obry  <obry@adacore.com>
3928         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
3929         a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
3930         a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
3931         reformatting.
3933 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
3935         * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
3936         missing overriding indicator if the new declaration is not seen as
3937         primitive.
3939 2009-04-09  Thomas Quinot  <quinot@adacore.com>
3941         * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
3942         overflows in computation of bounds.
3944 2009-04-09  Pascal Obry  <obry@adacore.com>
3946         * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
3947         typos in comment.
3949 2009-04-09  Robert Dewar  <dewar@adacore.com>
3951         * sem_attr.adb (Check_Stream_Attribute): Check violation of
3952         restriction No_Streams
3954         * gnat_rm.texi: Clarify No_Streams restriction
3956         * g-socket.adb: Minor reformatting.
3958 2009-04-09  Thomas Quinot  <quinot@adacore.com>
3960         * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
3962 2009-04-09  Geert Bosch  <bosch@adacore.com>
3964         * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
3965         (Set_Result): Likewise.
3966         (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
3967         conversion, as required by RM 4.6(31).
3969 2009-04-08  Robert Dewar  <dewar@adacore.com>
3971         * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
3972         suppressed.
3973         
3974         * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
3975         resolution steps.
3977 2009-04-08  Robert Dewar  <dewar@adacore.com>
3979         * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
3980         No_Local_Allocators restriction preventing local instantiation.
3982 2009-04-08  Thomas Quinot  <quinot@adacore.com>
3984         * sem_eval.adb: Minor comment fix
3986 2009-04-08  Thomas Quinot  <quinot@adacore.com>
3988         * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
3989         New limited controlled type used to automate the initialization and
3990         finalization of the sockets implementation.
3991         (GNAT.Sockets.Initialize, Finalize): Make these no-ops
3993 2009-04-08  Vincent Celier  <celier@adacore.com>
3995         * prj-attr.adb: New read-only project-level attribute Project_Dir
3997         * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
3998         read-only attribute of the same name.
3999         (Process_Declarative_Items): Call Add_Attributes with Project_Dir
4000         (Recursive_Process): Ditto
4002         * snames.adb: Add new standard name Project_Dir
4004         * snames.ads: Add new standard name Project_Dir
4006 2009-04-08  Thomas Quinot  <quinot@adacore.com>
4008         * checks.adb: Minor reformatting
4010 2009-04-08  Vincent Celier  <celier@adacore.com>
4012         * vms_data.ads: Add documentation for new style keyword
4013         OVERRIDING_INDICATORS
4015 2009-04-08  Robert Dewar  <dewar@adacore.com>
4017         * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
4018         spec is in the current unit.
4020 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
4022         * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
4023         presence of entity.
4025         * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
4027 2009-04-08  Vincent Celier  <celier@adacore.com>
4029         * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
4031 2009-04-08  Thomas Quinot  <quinot@adacore.com>
4033         * checks.ads: Minor reformatting
4035 2009-04-08  Robert Dewar  <dewar@adacore.com>
4037         * gnat_rm.texi: Update documentation of pragma Obsolescent
4038         
4039         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
4040         be omitted, and allow Entity parameter to be omitted.
4042 2009-04-08  Thomas Quinot  <quinot@adacore.com>
4044         * exp_util.adb: Minor comment fix
4046 2009-04-08  Robert Dewar  <dewar@adacore.com>
4048         * g-socket.ads: Fix bad syntax in pragma Obsolescent
4050         * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
4051         argument with no identifier following one that has an identifier. Was
4052         missed in some cases.
4054         * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
4055         identifier.
4056         (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
4058         * snames.adb: Add Name_Policy
4060         * snames.ads: Add Name_Policy
4062 2009-04-08  Robert Dewar  <dewar@adacore.com>
4064         * gnat_rm.texi: Minor reformatting
4066         * par-ch2.adb: Minor reformatting
4068 2009-04-08  Robert Dewar  <dewar@adacore.com>
4070         * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
4072 2009-04-08  Robert Dewar  <dewar@adacore.com>
4074         * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
4075         properly in the presence of Remote_Types or Remote_Call_Interface.
4077         * sem_util.adb: Add comment.
4079 2009-04-08  Robert Dewar  <dewar@adacore.com>
4081         * ug_words: Add /ASSUME_VALID for -gnatB
4083         * vms_data.ads: Add /ASSUME_VALID for -gnatB
4085         * sem_cat.adb: Add clarifying commment
4087         * a-direio.ads (Bytes): Make sure value is non-zero
4089 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
4091         * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
4092         that does not come from source, check for a rewritten function call in
4093         prefixed notation before other forms of rewriting.
4095 2009-04-08  Robert Dewar  <dewar@adacore.com>
4097         * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
4098         these are now obsolescent units used only for bootrapping with an
4099         older compiler.
4101 2009-04-08  Robert Dewar  <dewar@adacore.com>
4103         * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
4105         * sem_ch3.adb: Minor comment updates
4107 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
4109         * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
4110         that come from source.
4112 2009-04-08  Tristan Gingold  <gingold@adacore.com>
4114         * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
4115         * gcc-interface/decl.c (prepend_attributes): New case
4116         Pragma_Thread_Local_Storage.
4117         * gcc-interface/utils.c (process_attributes): New case
4118         ATTR_THREAD_LOCAL_STORAGE.
4120 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
4122         * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
4123         by the back-end if it contains a call to a subprogram without a
4124         previous spec that is declared in the same unit.
4126         * errout.ads: Update comments on uses of dirs
4128 2009-04-08  Robert Dewar  <dewar@adacore.com>
4130         * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
4132 2009-04-08  Tristan Gingold  <gingold@adacore.com>
4134         * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
4135         variables.
4136         Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
4138 2009-04-08  Vincent Celier  <celier@adacore.com>
4140         * prj-nmsc.adb:
4141         (Add_Source): Add the mapping of the unit name to source file name in
4142         the Unit_Sources_HT hash table, if the unit name is not null.
4144         * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
4146         * prj.ads (Unit_Sources_Htable): New hash table instantiation
4147         (Project_Tree_Data): New component Unit_Sources_HT
4149 2009-04-08  Thomas Quinot  <quinot@adacore.com>
4151         * sem_ch8.adb: Minor reformatting.
4152         Minor code reorganization.
4154 2009-04-08  Robert Dewar  <dewar@adacore.com>
4156         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
4157         snames.ads, freeze.adb, par-prag.adb: Add implementation of
4158         pragma Thread_Local_Storage, setting new flag
4159         Has_Pragma_Thread_Local_Storage in corresponding entities.
4161 2009-04-08  Emmanuel Briot  <briot@adacore.com>
4163         * prj.ads: Update comment on switches file
4165         * prj-nmsc.adb: Code clean up. Use renaming clauses.
4167 2009-04-08  Robert Dewar  <dewar@adacore.com>
4169         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
4171 2009-04-08  Thomas Quinot  <quinot@adacore.com>
4173         * ali-util.adb: Minor comment fix
4175 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
4177         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
4178         appears in a context clause, and the enclosing package is mentioned in
4179         a limited_with_clause.
4180         (Use_One_Type): Reject clause if type is still incomplete.
4182 2009-04-08  Emmanuel Briot  <briot@adacore.com>
4184         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
4185         avoid copies of Source_Data variables when possible, since these
4186         involve calls to memcpy() which are done too many times.
4188 2009-04-08  Robert Dewar  <dewar@adacore.com>
4190         * exp_ch4.adb (Expand_Concatenate): Clean up code
4192 2009-04-07  Thomas Quinot  <quinot@adacore.com>
4194         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
4195         type for the case of concatenating a constrained array indexed by an
4196         enumeration type.
4198 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4200         * sem_ch6.adb (Check_Conformance): when checking conformance of an
4201         operation that overrides an abstract operation inherited from an
4202         interface, return False if only one of the controlling formals is an
4203         access parameter.
4205 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4207         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
4208         mandated by AI05-105.
4210 2009-04-07  Vincent Celier  <celier@adacore.com>
4212         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
4214 2009-04-07  Thomas Quinot  <quinot@adacore.com>
4216         * usage.adb: Minor fix in usage message.
4218         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
4219         match declaration; the correct subtype is Node_Id, not Entity_Id,
4220         because the expected node kind is an identifier, not a defining
4221         identifier.
4223         * switch-c.adb: Minor reformatting.
4225         * uintp.adb: Minor reformatting.
4227 2009-04-07  Robert Dewar  <dewar@adacore.com>
4229         * exp_ch13.adb: Minor reformatting
4231 2009-04-07  Robert Dewar  <dewar@adacore.com>
4233         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
4234         against missing parent.
4236 2009-04-07  Thomas Quinot  <quinot@adacore.com>
4238         * xoscons.adb: Minor reformatting
4240 2009-04-07  Robert Dewar  <dewar@adacore.com>
4242         * rtsfind.ads: Remove obsolete string concatenation entries
4244 2009-04-07  Robert Dewar  <dewar@adacore.com>
4246         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
4248 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4250         * sem_ch10.adb (Check_Body_Required): Handle properly imported
4251         subprograms.
4253 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
4255         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
4256         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
4257         is of a scalar or string type then suppress the setting of the
4258         expression to Empty.
4260         * freeze.adb (Warn_Overlay): Also emit the warnings about default
4261         initialization for the cases of scalar and string objects when
4262         Init_Or_Norm_Scalars is True.
4264 2009-04-07  Bob Duff  <duff@adacore.com>
4266         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
4268 2009-04-07  Bob Duff  <duff@adacore.com>
4270         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
4271         Form parameter of Text_Translation=No allows binary mode for Text_IO
4272         files.
4274         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
4276 2009-04-07  Javier Miranda  <miranda@adacore.com>
4278         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
4279         processing the bounds for bit packed arrays or VM target machines.
4281 2009-04-07  Thomas Quinot  <quinot@adacore.com>
4283         * g-sothco.ads (Int_Access): Remove extraneous access type (use
4284         anonymous access instead).
4285         (Get_Socket_From_Set): Fix incorrectly reverted formals
4286         Last and Socket to match the underlying C routine.
4288         * g-socket.adb, g-socket.ads
4289         (Get): Use named parameter associations instead of positional ones in
4290         call go Get_Socket_From_Set, since this routine has two formals of the
4291         same type.
4292         (Image): New procedure.
4294         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
4295         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
4296         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
4297         for type of Arg formal.
4299         * sem_warn.adb: Minor reformatting
4301 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4303         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
4304         over record components.
4306 2009-04-07  Nicolas Roche  <roche@adacore.com>
4308         * gsocket.h:
4309         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
4310         has disappeared between VxWorks 6.4 and VxWorks 6.5
4311         In RTP mode use time.h instead of times.h
4313 2009-04-07  Robert Dewar  <dewar@adacore.com>
4315         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
4317 2009-04-07  Kevin Pouget  <pouget@adacore.com>
4319         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
4320         expanded code for constrained types.
4322 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4324         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
4325         AI05-105: in an object renaming declaration, anonymousness is a name
4326         resolution rule.
4328         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
4330 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
4332         * g-comlin.adb (Expansion): Fix old regression: also return directory
4333         names when matching.
4335 2009-04-07  Robert Dewar  <dewar@adacore.com>
4337         * exp_ch4.adb:
4338         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
4339         (Expand_Concatenate): New name for Expand_Concatenate_String which has
4340         been rewritten to handle all types.
4341         (Expand_Concatenate_Other): Remove
4343 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4345         * lib-xref.adb (Generate_Reference): A default subprogram in an
4346         instance appears within the tree for the instance, but generates an
4347         implicit reference in the ALI.
4349 2009-04-07  Javier Miranda  <miranda@adacore.com>
4351         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
4352         derived type that has discriminants, propagate the list of interfaces
4353         to the corresponding new base type. In addition, propagate also
4354         attribute Limited_Present (found working in this patch).
4356 2009-04-07  Robert Dewar  <dewar@adacore.com>
4358         * exp_ch4.adb: Rewrite concatenation expansion.
4360 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4362         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
4363         relevant to packages.
4365 2009-04-07  Robert Dewar  <dewar@adacore.com>
4367         * sem_attr.adb: Minor reformatting
4369         * sem_ch6.adb: Minor reformatting
4371 2009-04-07  Tristan Gingold  <gingold@adacore.com>
4373         * socket.c: Add more protections against S_resolvLib_ macros.
4375 2009-04-07  Thomas Quinot  <quinot@adacore.com>
4377         * sem_attr.adb: Minor reformatting
4379 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4381         * sem_ch6.adb (New_Overloaded_Entity): New predicate
4382         Is_Overriding_Alias to handle properly types that inherit two homonym
4383         operations that have distinct dispatch table entries.
4385 2009-04-07  Emmanuel Briot  <briot@adacore.com>
4387         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
4388         looking for the end of a parenthesis group
4390 2009-04-07  Tristan Gingold  <gingold@adacore.com>
4392         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
4394         * socket.c Don't use resolvLib_ macros if not defined.
4396 2009-04-07  Robert Dewar  <dewar@adacore.com>
4398         * g-socket.adb: Minor reformatting.
4400         * g-socthi-mingw.adb: Minor reformatting
4402         * g-sothco.ads: Minor reformatting
4404         * exp_ch4.adb:
4405         (Expand_Concatenate_String): Complete rewrite to generate efficient code
4406         inline instead of relying on external library routines.
4408         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
4409         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
4410         obsolescent
4412 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4414         * sem_attr.adb:
4415         (Eval_Attribute): for attributes of array objects that are not strings,
4416         attributes are not static if nominal subtype of object is unconstrained.
4418 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4420         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
4421         operations for a type T in an instance do not override each other,
4422         when T is derived from a formal private type, the corresponding
4423         operations inherited by a type derived from T outside
4424         of the instance do not override each other either.
4426 2009-04-07  Robert Dewar  <dewar@adacore.com>
4428         (Osint.Fail): Change calling sequence to have one string arg
4429         (Make.Make_Failed): Same change
4430         All callers are adjusted to use concatenation
4432 2009-04-07  Robert Dewar  <dewar@adacore.com>
4434         * exp_ch4.adb: Fix documentation typo
4436 2009-04-07  Robert Dewar  <dewar@adacore.com>
4438         * tbuild.ads: Minor reformatting
4440 2009-04-07  Javier Miranda  <miranda@adacore.com>
4442         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
4443         when compiling under ZFP runtime.
4445 2009-04-07  Robert Dewar  <dewar@adacore.com>
4447         * g-comlin.adb: Minor reformatting
4449 2009-04-07  Thomas Quinot  <quinot@adacore.com>
4451         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
4452         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
4453         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
4454         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
4456 2009-04-07  Robert Dewar  <dewar@adacore.com>
4458         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
4460         * opt.ads (Sprint_Line_Limit): New parameter
4461         
4462         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
4463         
4464         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
4465         
4466         * usage.adb: Output information for -gnatGnn -gnatDnn
4468 2009-04-07  Robert Dewar  <dewar@adacore.com>
4470         * make.adb: Minor reformatting
4472 2009-04-07  Robert Dewar  <dewar@adacore.com>
4474         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
4476 2009-04-07  Robert Dewar  <dewar@adacore.com>
4478         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
4480 2009-04-07  Robert Dewar  <dewar@adacore.com>
4482         * checks.adb:
4483         Remove Assume_Valid parameter from In_Subrange_Of calls
4484         
4485         * sem_eval.adb:
4486         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
4487         (Is_In_Range): Remove incorrect use of Assume_Valid
4488         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
4489         
4490         * sem_eval.ads:
4491         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
4492         (Is_In_Range): Documentation cleanup
4493         (Is_Out_Of_Range): Documentation cleanup
4495         * gnat_rm.texi:
4496         Add documentation for Assume_No_Invalid_Values pragma
4498         * sem_ch12.adb: Minor reformatting
4500         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
4502         * sem_prag.adb: Improve error message.
4504         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
4505         LF/CR no longer recognized as line terminator
4507         * switch.ads: Minor documentation improvement
4509         * vms_data.ads: Minor reformatting
4511 2009-04-07  Robert Dewar  <dewar@adacore.com>
4513         * checks.adb (Determine_Range): Add Assume_Valid parameter
4514         
4515         * checks.ads (Determine_Range): Add Assume_Valid parameter
4516         
4517         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
4518          Is_Null_Loop to suppress warnings in a loop body.
4519         
4520         * exp_ch4.adb:
4521         (Rewrite_Comparison): Major rewrite to accomodate invalid values
4522         
4523         * exp_ch5.adb:
4524         (Expand_N_Loop_Statement): Delete loop known not to execute
4525         
4526         * opt.ads:
4527         (Assume_No_Invalid_Values): Now set to False, and as documented, this
4528          fully enables the proper handling of invalid values.
4529         
4530         * sem_attr.adb:
4531         New calling sequence for Is_In_Range
4532         
4533         * sem_ch5.adb:
4534         (Analyze_Iteration_Scheme): Accomodate possible invalid values
4535          in determining if a loop range is null.
4536         
4537         * sem_eval.adb:
4538         (Is_In_Range): Add Assume_Valid parameter
4539         (Is_Out_Of_Range): Add Assume_Valid_Parameter
4540         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
4541          also to do more accurate and complete range analysis, catching more
4542          cases.
4543         
4544         * sem_eval.ads:
4545         (Is_In_Range): Add Assume_Valid parameter
4546         (Is_Out_Of_Range): Add Assume_Valid_Parameter
4547         
4548         * sem_util.adb:
4549         New calling sequence for Is_In_Range
4550         
4551         * sinfo.adb:
4552         (Suppress_Loop_Warnings): New flag
4553         
4554         * sinfo.ads:
4555         (Is_Null_Loop): Update documentation
4556         (Suppress_Loop_Warnings): New flag
4557         
4558         * gnat_ugn.texi: Document -gnatB switch
4560 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
4562         * gnatvsn.ads: Bump version number.
4564 2009-04-07  Thomas Quinot  <quinot@adacore.com>
4566         * exp_ch3.adb: Minor rewording (comments)
4568 2009-04-07  Robert Dewar  <dewar@adacore.com>
4570         * exp_disp.adb: Minor reformatting
4572 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4574         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
4575         underlying type.
4576         * gcc-interface/trans.c (lvalue_required_p): Likewise.
4578 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4580         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
4581         Do not convert the result.  Remove obsolete comment.
4583 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4585         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
4586         DECL_CONTEXT.
4587         (Subprogram_Body_to_gnu): Fix pasto.
4589 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4591         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
4592         (void_type_decl_node): Remove.
4593         (init_gigi_decls): Likewise.
4594         (gnat_install_builtins): Declare.
4595         (record_builtin_type): Likewise.
4596         (create_type_stub_decl): Likewise.
4597         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
4598         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
4599         artificial.
4600         <E_Array_Subtype>: Use the index types, not only their name, in the
4601         record giving the names of the bounds, if any.
4602         For a packed array type, make it artificial only if the base type
4603         was artificial as well.  Remove redundant statement.
4604         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
4605         dummy types.
4606         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
4607         (rest_of_type_decl_compilation_no_defer): Likewise.
4608         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
4609         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
4610         and use create_type_stub_decl to build it.
4611         (gnat_pushdecl): Rewrite condition.
4612         (gnat_install_builtins): Remove bogus declaration.
4613         (record_builtin_type): New function.
4614         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
4615         of types.
4616         (create_type_stub_decl): New function.
4617         (create_type_decl): Assert that the type is not dummy.  If the type
4618         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
4619         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
4620         (build_vms_descriptor): Likewise.
4621         (init_gigi_decls): Delete and move bulk of code to...
4622         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
4623         (emit_range_check): Add gnat_node parameter.
4624         (emit_index_check): Likewise.
4625         (emit_check): Likewise.
4626         (build_unary_op_trapv): Likewise.
4627         (build_binary_op_trapv): Likewise.
4628         (convert_with_check): Likewise.
4629         (Attribute_to_gnu): Adjust calls for above changes.
4630         (call_to_gnu): Likewise.
4631         (gnat_to_gnu): Likewise.
4632         (assoc_to_constructor): Likewise.
4633         (pos_to_constructor): Likewise.
4634         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
4635         (process_type): Do not create TYPE_DECL for dummy types.
4637 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4639         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
4640         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
4641         * gcc-interface/utils.c: Fix comments.
4643 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4645         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
4646         move around.
4647         (gnat_to_gnu_type): Move around.
4648         (get_unpadded_type): Likewise.
4649         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
4650         Tidy comments.
4652 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4654         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
4655         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
4656         (call_to_gnu): Invoke it instead of manually checking.
4658 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
4660         * gcc-interface/utils.c (finish_record_type): Force structural equality
4661         checks if the record type is discriminated.
4663 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
4665         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
4666         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
4667         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
4668         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
4669         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
4670         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
4671         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
4673 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
4675         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
4676         of TREE_CONSTANT_OVERFLOW.
4678 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
4680         PR rtl-optimization/323
4681         * gcc-interface/misc.c (gnat_post_options): Set
4682         flag_excess_precision_cmdline.  Give an error for
4683         -fexcess-precision=standard for processors where the option is
4684         significant.
4686 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
4688         PR c/39323
4689         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
4690         on bit_align.
4692 2009-03-11  Olivier Hainque  <hainque@adacore.com>
4694         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
4695         checks processing, remove unintended TREE_TYPE walk on index type.
4697 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
4699         PR ada/39264
4700         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
4701         call make_packable_type on fat pointer types.
4702         <E_Array_Subtype>: Likewise.
4703         <E_Record_Subtype>: Call make_packable_type on all record types
4704         except for fat pointer types.
4705         (make_packable_type): Likewise.
4706         (gnat_to_gnu_field): Likewise.
4708 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
4710         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
4711         EH_MECHANISM change made on 2007-12-06.
4713 2009-02-26  Andreas Schwab  <schwab@suse.de>
4715         PR ada/39172
4716         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
4717         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
4718         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
4719         (AWK): Substitute.
4720         (target_cpu_default): Substitute.
4722 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
4724         PR ada/39221
4725         * a-teioed.adb (Expand): Fix Result overflow.
4727 2009-02-25  Laurent GUERBY <laurent@guerby.net>
4729         * gcc-interface/Makefile.in: Fix multilib handling for
4730         sparc64-linux.
4732 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4734         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
4736 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
4738         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
4740 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
4742         * gcc-interface/deftarg.c: Remove.
4744 2009-02-10  Olivier Hainque  <hainque@adacore.com>
4745             Eric Botcazou  <ebotcazou@adacore.com>
4747         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
4748         (copy_alias_set): Rename into...
4749         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
4750         underlying array of unconstrained arrays for the new type as well.
4751         If the old and new alias sets don't conflict, make one a subset of
4752         the other as per the OP parameter.
4753         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
4754         <E_Record_Type>: Do not copy the alias set for derived types.
4755         For all types, make the alias set of derived types a superset of
4756         that of their parent type.
4757         (make_aligning_type): Adjust calls to copy_alias_set.
4758         (make_packable_type): Likewise.
4759         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
4760         Check for alias set conflict instead of strict equality to issue the
4761         warning.
4763 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
4765         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
4766         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
4767         (copy_alias_set): Assert that arrays have the same aliasing settings.
4768         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
4770 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
4772         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
4773         Set TYPE_NONALIASED_COMPONENT on the array type.
4775 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
4777         * gcc-interface/Makefile.in: Fix mipsel linux handling.
4779 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
4781         * gcc-interface/Makefile.in: Fix multilib handling for
4782         powerpc64-linux.
4784 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
4786         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
4787         only useless conversions around renamed objects.
4789 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
4791         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
4792         the _Tag field before any discriminants in the field list.
4793         (components_to_record): Remove obsolete comment.
4797 Copyright (C) 2009 Free Software Foundation, Inc.
4799 Copying and distribution of this file, with or without modification,
4800 are permitted in any medium without royalty provided the copyright
4801 notice and this notice are preserved.