Split ChangeLog
[official-gcc.git] / gcc / ada / ChangeLog
blobb64aedbe7d8c2b0a4865c3de7a679bd7744409f8
1 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
3         * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
4         license notices.
6 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
8         * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
10 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
12         * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
13         (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
14         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
15         Remove useless support code for packed array types and assert its
16         uselessness.
17         <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
18         adjust for TYPE_RM_SIZE change.
19         <all> Fix nits in comments.  Use Original_Array_Type accessor instead
20         of Associated_Node_For_Itype accessor for packed array types.
21         (make_packable_type): Likewise.
22         (maybe_pad_type): Likewise.
23         (set_rm_size): Likewise.  Rework conditional statement.  Adjust for
24         TYPE_RM_SIZE change.
25         (make_type_from_size): Adjust for TYPE_RM_SIZE change.
26         (rm_size): Fix nits in comments.  Rework conditional statements.
27         * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
28         change.
29         * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
30         * gcc-interface/utils.c (gnat_init_decl_processing): Use more
31         appropriate function to initialize the size_type_node.  Adjust for
32         TYPE_RM_SIZE change.
34 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
36         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
37         for imported subprograms.
39 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
41         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
42         constant objects covered by 13.3(19) volatile.
44 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
46         * gcc-interface/utils.c (create_type_decl): Do not pass declarations
47         of dummy fat pointer types to the debug back-end.
49 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
51         * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
52         <E_Signed_Integer_Subtype>: Set the RM size on the integer type
53         before wrapping it up in the record type.  Do not overwrite the
54         Ada size of the record type with the Esize.
56 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
58         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
59         (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
60         if the conversion is on the LHS of an assignment and a no-op.
61         <all> Do not convert the result to the result type if the Parent
62         node is such a conversion.
64 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
66         * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
67         * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
68         of types with unknown discriminants.
69         (substitute_in_type): Rewrite and restrict to formal substitutions.
70         * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
71         (update_pointer_to): Update comment.
73 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
75         * sem_ch8.adb (Use_One_Package): In an instance, if two
76         potentially_use_visible and non-overloadable homonyms are available
77         from  the actuals of distinct formal packages, retain the current one,
78         which was visible in the generic, to prevent spurious visibility
79         errors.
80         (End_Use_Package): Restore use_visibility when needed.
82 2009-04-20  Sergey Rybin  <rybin@adacore.com>
84         * gnat_ugn.texi, vms_data.ads: Update doc.
86 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
88         * gcc-interface/Make-lang.in: Update dependencies
90         * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
91         Windows.
93 2009-04-20  Robert Dewar  <dewar@adacore.com>
95         * checks.ads: Fix documentation of range check handling
97 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
99         * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
100         a redundant use_type clause.
102 2009-04-20  Robert Dewar  <dewar@adacore.com>
104         * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
105         this attribute can be evaluated at compile time.
106         (Eval_Attribute, case Range_Length): Same improvement
108         * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
110 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
112         * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
113         for better handling of null procedures.
114         (Check_Overriding_Indicator): Do not emit a warning on a missing
115         overriding indicator on an operator when the type of which the operator
116         is a primitive is private.
118 2009-04-20  Bob Duff  <duff@adacore.com>
120         * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
121         debugging output.
123 2009-04-20  Robert Dewar  <dewar@adacore.com>
125         * sem_attr.adb: Minor reformatting
127         * gnatcmd.adb: Minor reformatting
129 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
131         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
132         overloaded and one interpretation matches the context, label the
133         operand with the type of first formal.
135 2009-04-20  Bob Duff  <duff@adacore.com>
137         * debug.ads: Minor comment fix.
139         * debug.adb: Minor comment fixes.
141 2009-04-20  Javier Miranda  <miranda@adacore.com>
143         * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
145         * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
147         * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
148         is expanded into a call to Raise_Exception, avoid passing the
149         exception-name'identity in runtimes in which this argument
150         is not used.
152 2009-04-20  Jerome Lambourg  <lambourg@adacore.com>
154         * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
155         generated bindings for cil.
157 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
159         * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
160         discriminants, collect components from the Underlying_Record_View,
161         which will be used in the expansion of the aggregate into assignments.
163         * sem_ch3.adb: Do not label derived type with unknown discriminants as
164         having a private declaration.
166 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
168         * exp_util.adb (Expand_Subtype_From_Expr): use the
169         underlying_record_view when available, to create the proper constrained
170         subtype for an object of a derived type with unknown discriminants.
172 2009-04-20  Javier Miranda  <miranda@adacore.com>
174         * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
175         formals that have pragma unreferenced.
177 2009-04-20  Pascal Obry  <obry@adacore.com>
179         * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
180         Remove all calls to To_Lower_If_Case_Insensitive to preserve
181         the pathname original casing.
183 2009-04-20  Robert Dewar  <dewar@adacore.com>
185         * g-trasym.adb: Minor reformatting
187         * s-os_lib.adb: Minor reformatting
189         * sem.adb: Minor reformatting
190         Minor code reorganization
192         * sem_ch3.adb: Minor reformatting
194         * sem_ch4.adb: Minor reformatting
196         * sem_ch8.adb: Minor reformatting
198         * sem_type.adb: Minor reformatting
200 2009-04-20  Javier Miranda  <miranda@adacore.com>
202         * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
203         generated by derivations of tagged types use the aliased subprogram a
204         reference to locate their controlling type.
206 2009-04-20  Tristan Gingold  <gingold@adacore.com>
208         * g-trasym.adb: Set size of result buffer before calling
209         convert_address.
211 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
213         * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
214         to a function returning an array can be interpreted as a call with
215         defaulted parameters whose result is indexed, take into account the
216         types of all the indices of the array result type.
218 2009-04-20  Pascal Obry  <obry@adacore.com>
220         * a-direct.adb, s-os_lib.adb: Minor reformatting.
222 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
224         * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
225         null exclusion qualifiers for object renaming declarations.
227 2009-04-20  Nicolas Roche  <roche@adacore.com>
229         * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
230         unsigned long long. So compare local_time and utc_time before computing
231         the difference.
233 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
235         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
236         of the Underlying_Record_View before that of the derived type.
238         * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
239         with unknown discriminants with regard to the parent subtype.
241 2009-04-20  Bob Duff  <duff@adacore.com>
243         * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
244         that are not included. This is necessary if the main unit is a generic
245         instantiation.
247         * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
248         because it doesn't work if -gnatn is used.
250 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
252         * rtsfind.adb (RTE, RTE_Record_Component): In
253         Configurable_Run_Time_Mode, do not enable front-end inlining.
255 2009-04-20  Thomas Quinot  <quinot@adacore.com>
257         * g-socthi-vms.adb: Remove now unnecessary WITH clause on
258         System.Address_To_Access_Conversions.
260 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
262         * sem.adb: Guard against ill-formed subunits.
264 2009-04-20  Bob Duff  <duff@adacore.com>
266         * output.adb (Flush_Buffer): Do not indent blank lines.
267         (Ignore_Output): New procedure for output suppression.
269 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
271         * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
272         when it is positive.  This avoids a potential constraint error raised
273         by the conversion to Natural.
275 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
277         * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
278         involves a target that has a specified address, don't set Forward_OK
279         and Backward_OK to False if the rhs is an aggregate, since overlap
280         can't occur.
282 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
284         * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
285         in an object renaming declaration when the expected type is an
286         anonymous access type.
288         * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
289         ambiguity when one interpretation is an anonymous access type and the
290         other is a named access type, and the context itself is anonymous
292 2009-04-20  Thomas Quinot  <quinot@adacore.com>
294         * einfo.ads: Minor comment rewording
296         * sem_aggr.adb: Minor comment rewording
298         * sem_ch3.adb, sem_ch6.adb: Minor reformatting
300 2009-04-20  Pascal Obry  <obry@adacore.com>
302         * adaint.c (__gnat_is_readable_file): Check for file existence
303         when not using ACL (always the case on remote drives).
305 2009-04-20  Robert Dewar  <dewar@adacore.com>
307         * sinfo.ads: Minor comment fixes
309         * exp_disp.adb: Minor reformatting
311         * gnat1drv.adb: Minor reformatting
313         * output.adb: Minor reformatting
315         * s-vxwext-kernel.ads: Minor reformatting
317         * sem.ads: Minor reformatting
319         * sem.adb: Minor reformatting
321         * sem_elim.adb: Minor reformatting
323         * uname.ads: Minor reformatting
325 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
327         * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
328         a small dope of 4 words to the adjustment to the stack pointer.
330 2009-04-20  Thomas Quinot  <quinot@adacore.com>
332         * xoscons.adb: generate C header s-oscons.h in
333         addition to s-oscons.ads.
335         * socket.c: On VMS, use s-oscons.h.
337         * sem_ch3.adb: Minor reformatting
339         * exp_ch9.adb: Minor reformatting
341 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
343         * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
344         (Attribute_to_gnu): Do not call check_for_eliminated_entity.
345         (call_to_gnu): Likewise.
347 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
349         * gcc-interface/trans.c (gigi): Declare the name of the compilation
350         unit as the first global name at the very beginning.
352 2009-04-20  Thomas Quinot  <quinot@adacore.com>
354         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
355         s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
356         g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
357         since HP-UX supports neither inet_aton nor inet_pton (altough the
358         latter is part of the Single UNIX Specification!).
359         So reorganize code, and share C implementation based on inet_addr(3)
360         with VMS (instead of having a VMS specific Ada implementation in
361         g-socthi-vms.adb).
363 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
365         * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
366         to return the object file name saved by Set_Object_Output_File_Name.
368 2009-04-20  Emmanuel Briot  <briot@adacore.com>
370         * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
371         for the standard command line, when argc has been modified since the
372         start of the application.
374 2009-04-20  Thomas Quinot  <quinot@adacore.com>
376         * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
377         WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
379 2009-04-20  Bob Duff  <duff@adacore.com>
381         * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
382         pragma Debug.
384 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
386         * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
387         subprogram as Eliminated when source operation is.
388         (Expand_N_Protected_Type_Declaration): Generate protected and
389         unprotected specs for the internal operations, even if the source
390         operation is eliminated.
392 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
394         * exp_ch3.adb (Make_Predefined_Primitive_Specs,
395         Predefined_Primitive_Bodies): Do not create the declarations and bodies
396         of the primitive subprograms associated with dispatching select
397         statements when the runtime is in configurable mode.
399 2009-04-20  Ed Falis  <falis@adacore.com>
401         * s-vxwext-kernel.ads (tickGet): Use tick64Get.
403 2009-04-20  Thomas Quinot  <quinot@adacore.com>
405         * s-oscons-tmplt.c: Add support for generating a dummy version of
406         s-oscons.ads providing all possible constants.
408         * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
410         * socket.c (__gnat_inet_pton): On Windows make sure we always use the
411         ANSI version (not the UNICODE version) of WSAStringToAddress.
413 2009-04-20  Pascal Obry  <obry@adacore.com>
415         * adaint.c (__gnat_set_OWNER_ACL): properly free memory
416         allocated for the security descriptor and make sure all
417         handles are closed before leaving this procedure.
419 2009-04-20  Javier Miranda  <miranda@adacore.com>
421         * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
422         (Set_Is_Underlying_Record_View): New subprogram
424         * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
425         private types with unknown discriminants use the underlying record view
426         if available.
428         * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
429         underlying record view in the full view of private types whose parent
430         has unknown discriminants.
431         (Build_Derived_Record_Type): Avoid generating the class-wide entity
432         associated with an underlying record view.
433         (Derived_Type_Declaration): Avoid deriving parent primitives in
434         underlying record views.
436         * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
437         records with unknown discriminants.
439         * sem_type.adb (Covers): Handle underlying record views.
440         (Is_Ancestor): Add support for underlying record views.
442         * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
443         dispatching call if the type of the target object is tagged and has
444         unknown discriminants.
446         * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
447         unknown discriminants.
449         * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
450         tables for internally built underlying record views.
452         * sprint.adb (sprint_node_actual): Improve output of aggregates with an
453         empty list of component associations.
455 2009-04-20  Thomas Quinot  <quinot@adacore.com>
457         * sem_ch10.adb: Minor reformatting
459         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
460         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
461         (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
462         standard inet_pton API (and emulate it on platforms that do not
463         support it).
464         (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
465         DECC$INET_ADDR, imported in Ada.
466         (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
467         implementation provided by GNAT runtime.
468         (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
469         Windows.
471 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
473         * gnat_ugn.texi: Add documentation for -fno-ivopts.
475 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
477         * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
478         with_clause if it is the main unit.
480 2009-04-20  Thomas Quinot  <quinot@adacore.com>
482         * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
483         (no behaviour change): Use Append instead of Increment_Last followed
484         by assignment.
486 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
488         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
489         declarations of all primitives associated with dispatching asynchronous,
490         conditional and timed selects when dispaching calls are forbidden and
491         select statements are not allowed (such as in Ravenscar).
492         (Predefined_Primitive_Bodies): Ditto for bodies.
494         * exp_disp.ad (Make_DT): Do not create and populate the
495         Select_Specific_Data of the dispatch table when dispatching calls are
496         forbidden and select statements are not allowed (such as in Ravenscar).
498 2009-04-20  Robert Dewar  <dewar@adacore.com>
500         * a-tifiio.adb: Minor reformatting
502 2009-04-20  Thomas Quinot  <quinot@adacore.com>
504         * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
505         other C library functions, report *failure* with a zero status, and
506         success with a non-zero status.
508 2009-04-20  Bob Duff  <duff@adacore.com>
510         * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
511         (Semantics): After analyzing each unit, Append it to the
512         Comp_Unit_List, if appropriate.
514         * gnat1drv.adb (Check_Library_Items): New procedure for debugging
515         purposes.
516         (Gnat1drv): Correct comment regarding Back_End_Mode.
518 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
520         * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
522 2009-04-20  Thomas Quinot  <quinot@adacore.com>
524         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
525         output.adb, output.ads, s-taprop-hpux-dce.adb,
526         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
527         reformatting.
529 2009-04-20  Thomas Quinot  <quinot@adacore.com>
531         * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
532         g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
533         (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
534         (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
535         except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
536         (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
538         * debug.adb: Fix typo
540         * gnat_rm.texi: Minor doc fix.
542         * sem_ch7.adb, freeze.adb: Minor reformatting
544 2009-04-20  Thomas Quinot  <quinot@adacore.com>
546         * g-socket.ads: Add new constants:
547           Loopback_Inet_Addr
548           Unspecified_Group_Inet_Addr
549           All_Hosts_Group_Inet_Addr
550           All_Routers_Group_Inet_Addr
552         * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
553         ERANGE (Result too large).
554         (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
555         propagation of errno to caller.
557 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
559         * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
560         to 24. Increment Leap_Seconds_Count and add an entry to aggregate
561         Leap_Second_Times.
563 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
565         * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
566         checking for references to eliminated subprograms that should be
567         flagged.
568         (Eliminate_Error_Message): Update comment to say "references" rather
569         than "calls" (since attribute cases are handled here as well).
571         * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
572         checking for references to eliminated subprograms that should be
573         flagged.  Add with and use of Sem and Sem_Util.
575         * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
576         Add with and use of Sem_Elim.
578         * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
579         applied to eliminated subprograms.
580         (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
581         eliminated subprograms.
582         Add with and use of Sem_Elim.
584         * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
585         to eliminated subprograms, now handled during Resolve_Call.
586         Remove with and use of Sem_Elim.
588         * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
589         testing Is_Eliminated, for proper handling of primitive derived from
590         eliminated subprograms.
592 2009-04-20  Vincent Celier  <celier@adacore.com>
594         * mlib-prj.adb (Build_Library): Use the shared library linker, if one
595         has been declared (Library_GCC or Linker'Driver), for the driver name.
597         * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
598         Linker'Driver is, use Linker'Driver as the shared library linker.
599         (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
600         Library_GCC is declared.
601         (Check_Library_Attributes): Set up the shared linker driver: either
602         Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
603         declared.
605 2009-04-20  Thomas Quinot  <quinot@adacore.com>
607         * g-socket.ads (Send_Socket): Fix misleading comment.
609 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
611         * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
612         ASIS mode.
614 2009-04-20  Geert Bosch  <bosch@adacore.com>
616         * a-tifiio.adb (Put): Avoid generating too many digits for certain
617         fixed types with smalls that are neither integer or the reciprocal
618         of an integer.
620 2009-04-20  Bob Duff  <duff@adacore.com>
622         * uname.ads: Minor comment fix.
624         * types.ads: Minor comment fix.
626 2009-04-20  Pascal Obry  <obry@adacore.com>
628         * adaint.c (__gnat_get_libraries_from_registry): Fix code to
629         avoid warning. At the same time fix a memory leak.
631         * osint.adb (Get_Libraries_From_Registry): Properly free memory
632         returned by the above routine.
634 2009-04-20  Robert Dewar  <dewar@adacore.com>
636         * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
637         s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
638         s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
639         s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
641         * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
643 2009-04-20  Pascal Obry  <obry@adacore.com>
645         * initialize.c (__gnat_initialize): Add braces to kill warning.
647         * adaint.c: Minor reformatting, remove trailing spaces.
649 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
651         * gcc-interface/Make-lang.in: Update dependencies.
653 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
655         * adaint.h (__gnat_lwp_self): Declare on Linux.
657         * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
659 2009-04-20  Robert Dewar  <dewar@adacore.com>
661         * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
662         front-end part of -fpreserve-control-flow switch.
664 2009-04-20  Bob Duff  <duff@adacore.com>
666         * rtsfind.adb: Minor comment fix
668 2009-04-20  Robert Dewar  <dewar@adacore.com>
670         * exp_aggr.adb: Minor reformatting
671         Minor code reorganization (use Nkind_In)
673         * g-socket.adb: Minor reformatting
675         * g-socket.ads: Minor comment fix
677         * s-auxdec.ads: Minor comment and organization update.
679         * s-auxdec-vms_64.ads: Minor comment and organization update.
681         * sem_ch10.adb: Minor addition of ??? comment
683         * sem_disp.adb: Minor reformatting
685 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
687         * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
688         list a caller of an inlined subprogram, if the caller itself is not
689         called.
691 2009-04-20  Pascal Obry  <obry@adacore.com>
693         * adaint.c: Disable use of ACL on network drives.
695 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
697         * gnat_ugn.texi: Add examples.
699 2009-04-20  Thomas Quinot  <quinot@adacore.com>
701         * g-socket.ads (Abort_Selector): Clarify documentation.
703 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
705         * opt.ads (Inspector_Mode): Update documentation of this flag.
707 2009-04-20  Thomas Quinot  <quinot@adacore.com>
709         * g-socket.ads: Minor reformatting
711         * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
712         consider S_resolvLib error codes since we only use the hostLib wrappers.
714 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
716         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
717         of the Underlying_Record_View after that of the derived type.
719 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
721         * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
722         in inspector mode.
724 2009-04-20  Javier Miranda  <miranda@adacore.com>
726         * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
728         * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
729         documentation.
731         * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
733         * sem_disp.adb
734         (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
735         in internally built overriding subprograms.
737 2009-04-20  Doug Rupp  <rupp@adacore.com>
739         * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
741         * s-auxdec.ads: Likewise
743 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
745         * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
746         type by an interface.
748         * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
749         minimze difference in expanded tree when compiled as spec of the main
750         unit, or as a spec in the context of another unit.
752 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
754         * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
755         (localtime_tzoff): This routine no longer accepts an actual of type
756         tm_Pointer.
757         (UTC_Time_Offset): Remove local variable Secs_TM.
759         * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
760         actual of type struct tm*. Add local variable of type struct tm for all
761         targets that provide localtime_r and need to invoke it.
763 2009-04-20  Thomas Quinot  <quinot@adacore.com>
765         * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
766         (GNAT.Sockets.Resolve_Error): Add case of EPIPE
767         Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
769 2009-04-20  Robert Dewar  <dewar@adacore.com>
771         * sem_ch3.adb: Minor reformatting
773         * lib-load.adb: Minor reformatting
775         * sem_ch4.adb: Minor reformatting
777 2009-04-20  Robert Dewar  <dewar@adacore.com>
779         * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
780         (equal values => False).
782 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
784         * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
785         to null procedures can be inlined unconditionally.
787 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
789         * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
790         non-addressable parameter passed by reference, do not convert the
791         actual if its type is already the nominal type, unless it is of
792         self-referential size.
794 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
796         * gnat_ugn.texi: Fix typos.
798 2009-04-20  Robert Dewar  <dewar@adacore.com>
800         * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
801         Validate_Unchecked_Warnings to suppress warnings about size or
802         alignment or extra bits if either type involved has pragma Warnings
803         (Off) set for the type entity.
805 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
807         * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
808         a builtin type and give it a name.
810 2009-04-17  Diego Novillo  <dnovillo@google.com>
812         * gcc-interface/misc.c (gnat_expand_expr): Remove.
813         (LANG_HOOKS_EXPAND_EXPR): Remove.
815 2009-04-17  Robert Dewar  <dewar@adacore.com>
817         * sem_ch3.adb: Minor reformatting
819 2009-04-17  Pascal Obry  <obry@adacore.com>
821         * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
823 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
825         * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
826         illegal constraints on type derived from formal discrete types.
828 2009-04-17  Thomas Quinot  <quinot@adacore.com>
830         PR ada/35953
832         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
833         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
834         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
835         g-socket.ads (GNAT.Sockets.Thin.C_Send,
836         GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
837         Replace calls to send(2) with equivalent sendto(2) calls.
838         (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
839         (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
840         report an error in that case. Factor code common to the two versions
841         (datagram and stream) in common routine Stream_Write.
843 2009-04-17  Robert Dewar  <dewar@adacore.com>
845         * exp_disp.adb: Minor reformatting
846         Minor code reorganization (use Nkind_In)
848         * prepcomp.adb: Minor reformatting
850         * sem_ch3.adb: Minor reformatting
852         * sem_res.adb: Minor comment addition
854         * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
855         for address clause
857         * lib-xref.adb (Generate_Reference): Exclude recursive calls from
858         setting Is_Referenced
860         * types.ads: Minor reformatting
862 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
864         * gnat_ugn.texi: Initial documentation on binding generator.
866 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
868         * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
869         type extensions whose parent is a type with unknown discriminants.
871         * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
872         aggregate has unknown discriminants, use the Underlying_Record_View to
873         obtain the discriminants of the ancestor part.
875         * exp_disp.adb (Build_Dispatch_Tables): Types that are
876         Underlying_Record_Views share the dispatching information of the
877         original record extension.
879         * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
880         discriminants, propagate dispach table information to the
881         Underlying_Record_View.
883         * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
884         discriminants and declaration is not a completion, generate
885         Underlying_Record_View to provide proper discriminant information to
886         the front-end and to gigi.
888 2009-04-17  Robert Dewar  <dewar@adacore.com>
890         * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
891         s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
892         s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
893         g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
894         s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
895         s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
896         g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
897         s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
898         g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
899         s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
900         s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
901         s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
902         s-conca3.ads: Remove unneeded pragma Warnings
904 2009-04-17  Robert Dewar  <dewar@adacore.com>
906         * g-moreex.adb: Add comments.
908         * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
910         * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
911         Warnings (Off)
913         * prepcomp.adb: Add ??? comment
915         * a-tasatt.adb: Minor reformatting
917         * g-trasym-vms-alpha.adb: Add ??? comment
919         * g-trasym-vms-ia64.adb: Add ??? comment
921         * xoscons.adb: Minor reformatting
923         * s-tassta.adb: Minor reformatting
925         * s-scaval.adb: Add ??? comment
927         * stand.ads: Minor code clean up (remove junk with of Namet)
929         * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
930         s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
931         s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
932         s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
933         s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
934         s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
935         s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
936         s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
937         Warnings off pragmas.
939 2009-04-17  Pascal Obry  <obry@adacore.com>
941         * initialize.c: Fix test for reallocating the arguments array.
943 2009-04-17  Geert Bosch  <bosch@adacore.com>
945         * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
946         conversion truncate only for decimal fixed point types.
948 2009-04-17  Jerome Lambourg  <lambourg@adacore.com>
950         * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
951         reinitialized.
953 2009-04-17  Robert Dewar  <dewar@adacore.com>
955         * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
956         Backwards_OK if either operand has an address clause.
958 2009-04-17  Pascal Obry  <obry@adacore.com>
960         * initialize.c: Code clean up, use realloc.
962 2009-04-17  Pascal Obry  <obry@adacore.com>
964         * initialize.c: Do not get Unicode command line if Unicode support not
965         activated.
966         Add support for wildcard expansion for Unicode parameters on Win32.
968         * mingw32.h: Add missing macros when Unicode support not activated.
970 2009-04-17  Javier Miranda  <miranda@adacore.com>
972         * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
973         avoid generating code that references the Current_Master
974         when compiling without tasks.
976 2009-04-17  Vincent Celier  <celier@adacore.com>
978         * prj-attr.adb: New project level attribute Target
979         
980         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
981         attribute Target
982         
983         * prj.ads (Project_Configuration): New component Target
985 2009-04-17  Thomas Quinot  <quinot@adacore.com>
987         * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
988         case for the case of an aggregate component, the attach call for the
989         result is actually needed.
991         * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
992         an array aggregate must be disabled if the component type requires
993         controlled actions.
995         * exp_ch3.adb: Minor reformatting
997 2009-04-17  Bob Duff  <duff@adacore.com>
999         * output.ads (Indent,Outdent): New procedures for indenting the output.
1000         (Write_Char): Correct comment -- LF _is_ allowed.
1002         * output.adb (Indent,Outdent): New procedures for indenting the output.
1003         Keep track of the indentation level, and make sure it doesn't get too
1004         high.
1005         (Flush_Buffer): Insert spaces at the beginning of each line, if
1006         indentation level is nonzero.
1007         (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
1008         indentation level.
1009         (Set_Standard_Error,Set_Standard_Output): Remove superfluous
1010         "Next_Col := 1;".  Flush_Buffer does that.
1012         * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
1013         controlled by the -gnatdc switch. It now occurs on entry/exit to the
1014         relevant analysis routines, and calls Indent/Outdent to make the
1015         indentation reflect the nesting level.  Add "helper" routines, since
1016         otherwise lots of "return;" statements would skip the debugging output.
1018 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
1020         * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
1021         s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
1022         s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
1024 2009-04-17  Thomas Quinot  <quinot@adacore.com>
1026         * exp_aggr.adb: Minor code reorganization, no behaviour change.
1028 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1030         * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
1031         clause in a unit that is a package body or a subunit, when the previous
1032         clause appears in a spec or a parent.
1034 2009-04-17  Thomas Quinot  <quinot@adacore.com>
1036         * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
1038         * exp_ch7.adb: Minor reformatting
1040 2009-04-17  Bob Duff  <duff@adacore.com>
1042         * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
1043         allocator, check that the expression of the qualified expression obeys
1044         the constraints of the subtype of the qualified expression.
1046 2009-04-17  Thomas Quinot  <quinot@adacore.com>
1048         * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
1050 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1052         * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
1053         aggregate, using context imposed by subtype mark in allocator.
1055 2009-04-17  Pascal Obry  <obry@adacore.com>
1057         * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
1059 2009-04-17  Nicolas Roche  <roche@adacore.com>
1061         * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
1062         argument length.
1064 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
1066         * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
1067         cover both calls and attribute references ("call" => "reference").
1069 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1071         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
1072         type for which Storage_Size is set to 0 is legal in a pure unit.
1074 2009-04-17  Thomas Quinot  <quinot@adacore.com>
1076         * exp_ch7.adb: Minor reformatting
1078 2009-04-17  Robert Dewar  <dewar@adacore.com>
1080         * restrict.adb (Check_Restriction_No_Dependence): Don't check
1081         restriction if outside main extended source unit.
1083         * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
1084         for parents of child units as well as the child unit itself.
1086 2009-04-17  Bob Duff  <duff@adacore.com>
1088         * checks.ads: Minor comment fix
1090         * exp_aggr.ads: Minor comment fix
1092 2009-04-17  Nicolas Roche  <roche@adacore.com>
1094         * adaint.c: Improve cross compiler detection and handling.
1096 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
1098         * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
1100 2009-04-17  Pascal Obry  <obry@adacore.com>
1102         * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
1103         CurrentCodePage.
1105         * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
1106         value when no encoding form paramter is set on Text_IO services.
1108         * adaint.c: CurrentCodePage new variable on Windows.
1109         Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
1110         ones.
1112         * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
1113         ones.
1115         * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
1116         environment variable value. Default is UTF-8.
1118         * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
1119         fopen and freopen encoding parameter is now set to Unspecified.
1120         The default value is in this case UTF-8 (as it was before) but
1121         use the new macros that convert to/from the code page set
1122         at runtime (CurrentCodePage).
1124         * s-fileio.adb: When no encoding specified use Unspecified value.
1126 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1128         * atree.adb, atree.ads: Remove dead code.
1130 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
1132         * gcc-interface/Make-lang.in: Update dependencies.
1134 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1136         * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
1137         illegal uses of incomplete types in formal parts and return types.
1139         * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
1140         access to subprograms.
1142         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
1143         Taft-amendment types as the return type of an access_to_function type.
1145         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
1146         type for access_to_subprograms. The check is performed on package exit.
1148 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1150         * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
1152         * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
1153         
1154         * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
1156         * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
1157         semantic units, because the handling of itypes in the copied tree
1158         requires semantic information that does not belong in atree.
1160 2009-04-17  Robert Dewar  <dewar@adacore.com>
1162         * par-ch6.adb: Minor reformatting
1164         * prj.adb: Minor reformatting
1166 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
1168         * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
1169         on protected subprogram bodies, so exclude the case where Pf_Flags is
1170         Pf_Decl_Pbod from the error check.
1172         * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
1173         indicators on subprograms in protected bodies, and proceed with parsing
1174         the subprogram.
1176         * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
1177         subprograms from the check for primitiveness on subprograms with
1178         overriding indicators.
1179         (Check_Overriding_Indicator): Include protected subprograms in the
1180         style check for missing overriding indicators.
1182 2009-04-17  Tristan Gingold  <gingold@adacore.com>
1184         * init.c: Fix stack checking for x86 Darwin.
1186 2009-04-17  Vincent Celier  <celier@adacore.com>
1188         * prj-attr.adb: New project level attribute Object_File_Suffix
1189         (<language>).
1190         
1191         * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
1192         object file name
1193         (Process_Compiler): Process attribute Object_File_Suffix
1195         * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
1196         platform suffix, when specified.
1198         * prj.ads (Language_Config): New component Object_File_Suffix,
1199         defaulted to No_Name.
1200         (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
1202         * snames.ads-tmpl: New standard name Object_File_Suffix
1204 2009-04-17  Robert Dewar  <dewar@adacore.com>
1206         * gnat_rm.texi: Add documentation about No_Streams restriction
1208         * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
1209         attributes when checking No_Streams restriction.
1211 2009-04-17  Thomas Quinot  <quinot@adacore.com>
1213         * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
1215         * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
1216         missing calls to RE_Request_Destroy to deallocate request objects after
1217         use.
1219 2009-04-17  Nicolas Setton  <setton@adacore.com>
1221         * link.c: Fix support for passing a response file under Darwin.
1223 2009-04-17  Emmanuel Briot  <briot@adacore.com>
1225         * prj.adb (Free): new subprogram.
1227 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
1229         * sem_ch3.adb: additional initialization on incomplete subtypes.
1230         
1231         * sem_ch6.adb (Process_Formals): if the subprogram is in the private
1232         part and one of the formals is an incomplete tagged type, attach to
1233         list of private dependends of the type for later validation.
1235         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
1236         primitive operations of a Taft-amendmment type.
1238         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
1239         type. The check is performed on package exit, possibly after the
1240         subprogram is frozen.
1242 2009-04-17  Vincent Celier  <celier@adacore.com>
1244         * prj-nmsc.adb (Get_Directories): Get the object and exec directory
1245         before looking for source directories, but make sure that there are nil
1246         if they are not explicitely declared and there is explicitely no
1247         sources in the project.
1249 2009-04-17  Pascal Obry  <obry@adacore.com>
1251         * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
1253         * init.c: Fix minor typo and style fix.
1255 2009-04-17  Robert Dewar  <dewar@adacore.com>
1257         * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
1259         * sem_attr.adb (Analyze_Attribute, case Address): Use
1260         PE_Address_Of_Intrinsic.
1262         * types.ads: Add PE_Address_Of_Intrinsic
1264         * types.h: Add PE_Address_Of_Intrinsic
1266 2009-04-17  Nicolas Setton  <setton@adacore.com>
1268         * gcc-interface/Makefile.in: Under darwin, build shared libraries
1269         with install_name starting with "@rpath/".
1271 2009-04-17  Nicolas Setton  <setton@adacore.com>
1273         * link.c: Add darwin section
1275 2009-04-16  Robert Dewar  <dewar@adacore.com>
1277         * g-pehage.adb: Minor reformatting
1279         * sem_ch12.adb: Minor reformatting
1281         * exp_dist.adb: Minor reformatting
1283         * bindgen.adb: Minor style fixes.
1285 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1287         * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
1288         indexed components to the case where the prefix is a static string
1289         literal.
1291 2009-04-16  Javier Miranda  <miranda@adacore.com>
1293         * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
1294         objects avoid any further expansion of the expression initializing the
1295         object.
1297 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1299         * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
1300         that hides an outer homograph, make that homograph invisible when
1301         analyzing the actuals, to to prevent illegal direct visibility on it.
1303 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
1305         * g-pehage.adb (Initialize): Fix off-by-one error.
1307 2009-04-16  Tristan Gingold  <gingold@adacore.com>
1309         * init.c: Detect real stack overflow on Darwin.
1311         * system-darwin-x86.ads: Use stack probing on darwin x86.
1313 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1315         * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
1316         take the address of an intrinsic subprogram.
1318 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
1320         * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
1321         for the targets where GNAT.Traceback.Symbolic is not supported.
1323 2009-04-16  Vincent Celier  <celier@adacore.com>
1325         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
1327         * g-trasym.ads: Update comments.
1329 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
1331         * tracebak.c (STOP_FRAME): Verify validity of the current address
1332         before dereferencing.
1334 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1336         * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
1337         the original location of the index expressions and the index subtypes,
1338         to prevent spurious out-of-scope references in gigi.
1340 2009-04-16  Tristan Gingold  <gingold@adacore.com>
1342         * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
1343         Add support for stack checking on darwin.
1345 2009-04-16  Vincent Celier  <celier@adacore.com>
1347         * prj-attr.adb: New attribute Runtime_Source_Dir
1349         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
1350         attribute Runtime_Source_Dir.
1351         (Check_Naming_Schemes): Give default values to out parameters to avoid
1352         invalid data.
1354         * prj.ads (Language_Config): New component Runtime_Source_Dir
1356         * snames.ads-tmpl: New standard name Runtime_Source_Dir
1358 2009-04-16  Pascal Obry  <obry@adacore.com>
1360         * adaint.h, adaint.c (__gnat_rmdir): New routine.
1361         Simple wrapper routines used to convert to proper encoding on
1362         Windows.
1364         * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
1366         * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
1367         twice.
1369 2009-04-16  Pascal Obry  <obry@adacore.com>
1371         * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
1373 2009-04-16  Thomas Quinot  <quinot@adacore.com>
1375         * snames.ads-tmpl (Name_Defined): New predefined name for use by the
1376         integrated preprocessor.
1378         * prep.ads, prep.adb (Setup_Hooks): New subprogram.
1379         (Initialize): Split into two subprograms, Initialize (to be called
1380         prior to compiler command line processing) and Setup_Hooks (to be called
1381         later on when the first source file is loaded).
1383         * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
1384         Add call to Prep.Initialize.
1386         * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
1387         to Prep.Setup_Hooks.
1389 2009-04-16  Pascal Obry  <obry@adacore.com>
1391         * adaint.h, adaint.c (__gnat_chdir): New routine.
1392         Simple wrapper routines used to convert to proper encoding on
1393         Windows.
1395         * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
1397         * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
1399 2009-04-16  Quentin Ochem  <ochem@adacore.com>
1401         * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
1402         of Source.Init.
1404 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
1406         * a-convec.ads (Is_Empty): Mark inline.
1408 2009-04-16  Nicolas Roche  <roche@adacore.com>
1410         * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
1412 2009-04-16  Thomas Quinot  <quinot@adacore.com>
1414         * prepcomp.adb: Minor reformatting
1416 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
1418         * sem_prag.adb (Process_Import_Or_Interface): With .NET,
1419         Access_Subprogram types can also be imported.
1420         (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
1421         names.
1423 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1425         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
1426         preserve homonym chain when the declaration is rewritten into a
1427         renaming declaration, in order to preserve visibility structure.
1429 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
1431         * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
1432         taken into account for VM targets.
1434 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
1436         * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
1437         Year_Week_In_Year.
1438         (Year_Week_In_Year): New routine which contains the original code from
1439         Week_In_Year. Add the missing special case for January 1st falling on
1440         a Monday.
1442 2009-04-16  Thomas Quinot  <quinot@adacore.com>
1444         * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
1445         actual type, use the base type to build the To_Any function.
1446         (Build_From_Any_Function): Remove junk, useless subtype conversion.
1448 2009-04-16  Thomas Quinot  <quinot@adacore.com>
1450         * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
1451         restrict.adb: Minor code reorganization (use
1452         Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
1454 2009-04-16  Bob Duff  <duff@adacore.com>
1456         * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
1457         unused.
1459 2009-04-16  Thomas Quinot  <quinot@adacore.com>
1461         * sem_ch4.adb: Minor reformatting
1463         * adaint.c: Remove junk duplicated code.
1465         * sem_ch3.adb: Minor reformatting
1467         * exp_dist.adb: Minor comment rewording
1469 2009-04-16  Robert Dewar  <dewar@adacore.com>
1471         * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
1472         used together.
1474 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1476         * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
1477         usable before calling Add_One_Interp, to resolve spurious ambiguities.
1479 2009-04-16  Robert Dewar  <dewar@adacore.com>
1481         * Make-lang.in: Add entries for s-conca?.o
1483         * Makefile.rtl: Add entries for s-conca?
1485         * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
1486         of concatenation expansion
1488         * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
1489         string cases instead of expanding assignments inline.
1491         * opt.ads (Optimize_Size): New flag
1493         * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
1494         s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
1495         s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
1496         s-conca9.adb, s-conca9.ads: New file.
1498 2009-04-16  Robert Dewar  <dewar@adacore.com>
1500         * exp_ch6.adb: Add comments
1502         * rtsfind.ads: Add entries for s-conca? routines
1504 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
1506         * gcc-interface/Make-lang.in: Update dependencies.
1508         * gcc-interface/Makefile.in: Update translation for vms.
1510 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1512         * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
1513         and made global, to be used when installing parents of a child
1514         instance, to provide mappings for entities declared in formal packages
1515         of ancestor units. Now called from Install_Formal_Packages.
1517 2009-04-16  Doug Rupp  <rupp@adacore.com>
1519         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
1520         notation for clarity.
1522         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
1523         s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
1524         s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
1525         (Initialize): Initialize Known_Tasks with Environment task.
1527         * s-taskin.ads (Task_States): Move new states to end for the sake of
1528         GDB compatibility.
1530         * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
1532 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
1534         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
1535         operation has an inline pragma, propagate the flag to the internal
1536         unprotected subprogram.
1538 2009-04-16  Doug Rupp  <rupp@adacore.com>
1540         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
1541         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 
1542         s-taprop-hpux-dce.adb, s-taprop-posix.adb
1543         (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
1545         * s-taprop-vms.adb (Enter_Task): Likewise.
1546         (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
1548         * s-tassta.adb (Activate_Tasks): After task creation set state to
1549         Activating, vice Runnable. Initialize Known_Tasks, moved here from
1550         s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
1551         Set state to Runnable after above.
1552         (Task_Wrapper): Set Debug_Event_Run. In exception block set
1553         Debug_Event_Terminated.
1555         * s-taskin.ads (Task_States): Add new states Activiting and
1556         Activator_Delay_Sleep.
1557         (Bit_Array, Debug_Event_Array): New types.
1558         (Global_Task_Debug_Event_Set: New flag.
1559         (Common_ATCB): New field Debug_Events.
1561         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
1563         * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
1564         Activator_Sleep.
1566         * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
1567         Activating and when Acceptor_Delay_Sleep.
1569         * s-tasdeb.ads: Add constants for Debug_Events.
1570         (Debug_Event_Kind_Type): New subtype.
1571         (Signal_Debug_Event): New subprogram.
1573         * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
1575 2009-04-16  Thomas Quinot  <quinot@adacore.com>
1577         * sem_elim.adb: Minor reformatting
1579         * freeze.adb: Minor reformatting
1581         * exp_ch4.adb: Minor reformatting
1583 2009-04-16  Emmanuel Briot  <briot@adacore.com>
1585         * prj-nmsc.adb (Path_Name_Of): fix memory leak
1587 2009-04-16  Robert Dewar  <dewar@adacore.com>
1589         * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
1591 2009-04-16  Vincent Celier  <celier@adacore.com>
1593         * fmap.adb (Initialize): Show the current line when the mapping file
1594         is detected as "incorrectly formatted".
1596 2009-04-16  Robert Dewar  <dewar@adacore.com>
1598         * sem_ch12.adb: Minor reformatting
1600         * sem_ch5.adb: Minor comment addition
1602         * sem_util.adb: Minor reformatting
1604         * sinput-p.adb: Minor reformatting
1605         Add missing pragma Warnings (On)
1607 2009-04-16  Ed Falis  <falis@adacore.com>
1609         * s-vxwext-kernel.adb: (ERROR): deleted unused constant
1611 2009-04-16  Vincent Celier  <celier@adacore.com>
1613         * ali-util.adb: Minor comment spelling error fix
1615 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
1617         * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
1618         generate an assignment loop in case of overlap.
1620 2009-04-16  Olivier Hainque  <hainque@adacore.com>
1622         * gnat_ugn.texi (gnatmem description): Make it explicit that
1623         gnatmem is designed to work in association with static runtime
1624         library only.
1626 2009-04-16  Thomas Quinot  <quinot@adacore.com>
1628         * sem_type.adb: Minor reformatting
1630 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
1632         * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
1633         concerning return codes of gettimeofday and return value check.
1635 2009-04-16  Ed Falis  <falis@adacore.com>
1637         * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
1638         body can be renaming of imported routines.
1640 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
1642         * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
1643         targeted fashion.
1645 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
1647         * exp_ch9.adb: Comment improvements.
1648         (Build_Entry_Family_Name): Add parentheses around the index of a entry
1649         family member.
1651 2009-04-15  Bob Duff  <duff@adacore.com>
1653         * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
1654         "while X /= null loop" where X is unchanged inside the loop. We were
1655         not warning in this case, because of the pointers -- we feared that the
1656         loop variable could be updated via a pointer, if there are any pointers
1657         around the place. But that is impossible in this case.
1659         * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
1660         the case of dereferences. In X.all, X cannot be an l-value. We now
1661         catch that case (and implicit dereferences, too).
1663 2009-04-15  Vincent Celier  <celier@adacore.com>
1665         * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
1667 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1669         * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
1670         From code reading.
1671         (Analyze_Package_Instantiation): If generic unit in child instance is
1672         the same as generic unit in parent instance, look for an outer homonym
1673         to locate the desired generic.
1675 2009-04-15  Bob Duff  <duff@adacore.com>
1677         * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
1678         warnings unless the loop comes from source, because checking generated
1679         loops is a waste of time, and makes it harder to debug
1680         Check_Infinite_Loop_Warning.
1682         * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
1683         tested in the while loop is a renaming, do not warn. Otherwise, we get
1684         false alarms, because it's usually renaming something that we can't
1685         deal with (an indexed component, a global variable, ...).
1687         * gnat_rm.texi: Fix typo
1689 2009-04-15  Thomas Quinot  <quinot@adacore.com>
1691         * sem_ch6.adb: Minor reformatting
1693 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
1695         * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
1696         immediate parent of the controlled function call is a component
1697         association.
1699 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1701         * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
1702         corresponding class-wide type is also in use.
1704 2009-04-15  Thomas Quinot  <quinot@adacore.com>
1706         * frontend.adb: Minor comment fix
1708 2009-04-15  Robert Dewar  <dewar@adacore.com>
1710         * gnatchop.adb (BOM_Length): New global variable
1711         (Write_Unit): Add new parameter Write_BOM
1712         (Write_Chopped_Files): Check for BOM and set Write_BOM for call
1713         to Write_Unit
1715         * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
1717 2009-04-15  Geert Bosch  <bosch@adacore.com>
1719         * system-mingw-x86_64.ads, system-darwin-x86_64.ads
1720         (Backend_Overflow_Checks): Set to True.
1722 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
1724         * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
1725         keyword is given in a record extension.
1727 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
1729         * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
1730         of a controlled function call in the context of a record aggregate.
1731         This does not apply to array aggregates since the call will be expanded
1732         into assignments.
1734 2009-04-15  Ed Falis  <falis@adacore.com>
1736         * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
1737         s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
1738         s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
1739         s-osinte-vxworks* and s-vxwext*.
1741 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
1743         * gcc-interface/Make-lang.in: Update dependencies.
1745         * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
1746         and s-vxwext*.
1748 2009-04-15  Robert Dewar  <dewar@adacore.com>
1750         * sem_ch13.adb (Unchecked_Conversions): Store source location instead
1751         of node for location for warning messages.
1753         * gnatchop.adb: Minor reformatting
1755 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1757         * exp_ch6.adb: additional guard for renaming declarations for in
1758         parameters of an array type.
1760 2009-04-15  Robert Dewar  <dewar@adacore.com>
1762         * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
1763         in case they were rewritten by expander (Force_Evaluation).
1765         * targparm.adb (Get_Target_Parameters): Correct check for
1766         Suppress_Exception_Locations.
1768 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1770         * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
1771         inlined  is of an array type that is not bit-packed, use a renaming
1772         declaration to capture its value, rather than a constant declaration.
1774 2009-04-15  Robert Dewar  <dewar@adacore.com>
1776         * rtsfind.adb: Minor reformatting.
1778 2009-04-15  Emmanuel Briot  <briot@adacore.com>
1780         * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
1781         Restore, and free the saved context.
1783 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
1785         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
1786         for illegal private extension from a synchronized interface parent in
1787         front of check for illegal limited extension so that limited extension
1788         from a synchronized interface will be rejected.
1789         (Check_Ifaces): Check that a private extension that has a synchronized
1790         interface as a progenitor must be explicitly declared synchronized.
1791         Also check that a record extension cannot derive from a synchronized
1792         interface.
1794 2009-04-15  Pascal Obry  <obry@adacore.com>
1796         * adaint.h (__gnat_unlink): Add spec.
1797         (__gnat_rename): Likewise.
1799 2009-04-15  Vincent Celier  <celier@adacore.com>
1801         * prj-nmsc.adb: Minor spelling error corrections in error messages
1803 2009-04-15  Robert Dewar  <dewar@adacore.com>
1805         * sinfo.ads: Minor comment update
1807         * opt.ads: Minor comment updates
1809         * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
1810         modular type.
1812 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1814         * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
1815         that generates the code needed to update a dispatch table when a
1816         primitive operation is declared with a subprogram body without previous
1817         spec. Insertion of the generated code is responsibility of the caller.
1818         (Make_DT): When building static tables, append the code created by
1819         Register_Primitive to update a secondary table after it has been
1820         constructed.
1822         * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
1824         * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
1825         on an overriding operation that implements an interface operation only
1826         if not building static dispatch tables.
1828 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
1830         * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
1831         does not cause overflow when converted to Duration. Use the safe value
1832         as the maximum allowable time delay..
1834 2009-04-15  Jerome Lambourg  <lambourg@adacore.com>
1836         * g-comlin.adb (Set_Command_Line): When adding a switch with attached
1837         parameter, specify that the delimiter is NUL, otherwise "-j2" will be
1838         translated to "-j 2".
1840 2009-04-15  Bob Duff  <duff@adacore.com>
1842         * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
1843         with_clauses, to avoid code duplication. Change this processing so we
1844         always add a with_clause on the main unit if needed.
1846 2009-04-15  Pascal Obry  <obry@adacore.com>
1848         Add support for Win32 native encoding for delete/rename routines.
1849         
1850         * adaint.c (__gnat_unlink): New routine.
1851         (__gnat_rename): New routine.
1852         Simple wrapper routines used to convert to proper encoding on
1853         Windows.
1855         * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
1856         call to the C library.
1858         * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
1860 2009-04-15  Robert Dewar  <dewar@adacore.com>
1862         * s-tassta.adb: Minor reformatting
1864 2009-04-15  Robert Dewar  <dewar@adacore.com>
1866         * frontend.adb (Frontend): Set proper default for
1867         Warn_On_Non_Local_Exception.
1869         * opt.ads (Exception_Handler_Encountered): New flag
1870         (No_Warn_On_Non_Local_Exception): New flag
1872         * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
1874         * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
1875         (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
1877 2009-04-15  Cyrille Comar  <comar@adacore.com>
1879         * s-tassta.adb, a-exextr.adb, a-elchha.adb
1880         (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
1881         message when exception traces are active since it would generate
1882         redundant information.
1883         (Exception_Traces.Notify_Exception): put message output by a critical
1884         section to avoid unsynchronized output.
1885         (Trace_Unhandled_Exception_In_Task): put message output by a critical
1886         section to avoid unsynchronized output.
1888 2009-04-15  Emmanuel Briot  <briot@adacore.com>
1890         * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
1891         (Free): New subprogram.
1893 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
1895         * a-calend.adb: Add new constant Nanos_In_Four_Years.
1896         (Formatting_Operations.Time_Of): Change the way four year chunks of
1897         nanoseconds are added to the intermediate result.
1899 2009-04-15  Nicolas Setton  <setton@adacore.com>
1901         * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
1902         does not need to wait for a carriage return.
1904 2009-04-15  Tristan Gingold  <gingold@adacore.com>
1906         * bindgen.adb: Do not generate adafinal if No_Finalization restriction
1907         is set.
1909 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1911         * freeze.adb (Freeze_Entity): improve error message for improper use of
1912         incomplete types.
1913         Diagnose additional illegal uses of incomplete types in formal parts.
1914         appearing in formal parts.
1916         * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
1918 2009-04-15  Robert Dewar  <dewar@adacore.com>
1920         * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
1922 2009-04-15  Nicolas Roche  <roche@adacore.com>
1924         * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
1925         current thread.
1927         * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
1929         * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
1931 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1933         * sem_ch4.adb: improve error message on exponentiation.
1935 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
1937         * a-calend.adb: Move constant Epoch_Offset from package
1938         Conversion_Operations to top level.
1939         (Delay_Operations.To_Duration): Define a constant which represents
1940         "end of time" and use it as a guard against very distant delay dates.
1941         Protect the code against overflow when performing the origin shift to
1942         Unix time.
1944 2009-04-15  Robert Dewar  <dewar@adacore.com>
1946         * sem_prag.adb: Minor reformatting.
1948         * sem_type.adb: Minor reformatting
1950 2009-04-15  Javier Miranda  <miranda@adacore.com>
1952         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
1953         support to check eliminated subprograms.
1955         * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
1957         * sem_elim.adb (Set_Eliminated): Add support for elimination of
1958         dispatching subprograms.
1960         * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
1961         operations. Initialize with "null" the slots of eliminated dispaching
1962         primitives.
1963         (Write_DT): Add output for eliminated primitives.
1965         * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
1967 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1969         * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
1970         the second is redundant, regardless of scopes.
1972 2009-04-15  Vincent Celier  <celier@adacore.com>
1974         * prj-nmsc.adb (Get_Directories): Check for sources before checking
1975         the object directory as when there are no sources, they may not be any
1976         object directory.
1978         * make.adb (Gnatmake): Do not attempt to get the path name of the exec
1979         directory, when there are no exec directory.
1981 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1983         * sem_type.adb (Remove_Conversions): In order to resolve spurious
1984         ambiguities, refine removal of universal interpretations from complex
1985         expressions with literal arguments, when some numeric operators have
1986         been declared abstract.
1988 2009-04-15  Ed Falis  <falis@adacore.com>
1990         * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
1991         and backward compatibility for targets using probing for stack overflow
1993 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
1995         * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
1996         after any declaration, including renaming declarations.
1998 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
2000         * gcc-interface/Make-lang.in: Update dependencies.
2002         * gcc-interface/Makefile.in: Fix VxWorks target pairs.
2003         Update xenomai target pairs.
2005 2009-04-15  Javier Miranda  <miranda@adacore.com>
2007         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
2009         * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
2010         functions returning anonymous access to class-wide limited types. Mark
2011         also the containing scope as a task master.
2013         * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
2014         limited-withed packages. Required to restore their visibility after
2015         processing packages associated with implicit with-clauses.
2017         * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
2018         associated with return statements because this work is now done by
2019         Check_Anonymous_Return.
2020         (Build_Master): Code cleanup.
2022 2009-04-15  Thomas Quinot  <quinot@adacore.com>
2024         * sem_warn.ads: Minor reformatting
2026 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2028         * sem_ch3.adb: better error message for illegal interfaces
2030         * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
2031         formal is an incomplete type from a limited_with clause.
2033 2009-04-15  Vincent Celier  <celier@adacore.com>
2035         * prj-nmsc.adb (Locate_Directory): New Boolean parameter
2036         Externally_Built indicating if the project is externally built. If it
2037         is, and --subdirs is specified, but the subdir does not exist, look
2038         for the specified directory, without the subdir.
2040 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
2042         * a-tasatt.adb: Fix typo, plus minor reformatting
2044         * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
2046         * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
2048 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2050         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
2051         private extension whose parent is a synchronized interface carries an
2052         explicit synchronized keyword.
2054 2009-04-15  Thomas Quinot  <quinot@adacore.com>
2056         * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
2057         instantiate generic shared object package with the corresponding
2058         record type.
2060 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
2062         * system-linux-sparc.ads: Remove obsolete entries.
2064 2009-04-15  Thomas Quinot  <quinot@adacore.com>
2066         * s-tasuti.ads: Add ??? comment
2068 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
2070         * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
2071         type even if the designated type comes from a limited_with clause, to
2072         ensure that the symbol for the finalization list of the access type is
2073         created.
2075 2009-04-10  Robert Dewar  <dewar@adacore.com>
2077         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
2078         for warning suppression.
2080 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2082         * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
2083         identical, there is no redudancy to check.
2085 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
2087         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
2088         calls initializing SS_Allocator (which is initialized in following
2089         code).
2090         (Expand_Simple_Function_Return): Add comment about False value for
2091         Comes_From_Source on secondary-stack allocator.
2093         * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
2094         (Build_Entry_Name): Add comment.
2096 2009-04-10  Robert Dewar  <dewar@adacore.com>
2098         * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
2100         * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
2101         bound tested, since this is now done more generally in Sem_Res.
2103         * sem_res.adb (Resolve_Comparison_Op): Add call to
2104         Check_Lower_Bound_Tested.
2105         (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
2107         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
2108         (Low_Bound_Tested): New name for Low_Bound_Known flag
2110         * exp_ch5.adb: Minor reformatting
2112         * exp_ch4.adb:
2113         Add comments on copying the Comes_From_Source flag for allocators
2115         * sinfo.ads:
2116         Add comments on copying the Comes_From_Source flag for allocators
2118         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
2119         Comes_From_Source flag from old allocator to new one.
2121 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2123         * sem_ch6.ads: Address missing documentation query
2125 2009-04-10  Vincent Celier  <celier@adacore.com>
2127         * prj-attr.adb:
2128         Add new Linker attributes Max_Command_Line_Length, Response_File_Format
2129         and Response_File_Switches.
2131         * prj-nmsc.adb (Process_Linker): Process new attributes
2132         Max_Command_Line_Length, Response_File_Format and
2133         Response_File_Switches.
2135         * prj.ads (Response_File_Format): New enumeration type
2136         (Project_Configuration): New componants Max_Command_Line_Length,
2137         Resp_File_Format and Resp_File_Options.
2139         * snames.ads-tmpl: Add new standard names for linking response files
2140         for gprbuild: GNU, None, Object_List, Option_List,
2141         Max_Command_Line_Length, Response_File_Format and
2142         Response_File_Switches.
2144 2009-04-10  Geert Bosch  <bosch@adacore.com>
2146         * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
2147         system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
2148         system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
2149         system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
2150         system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
2151         system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
2152         system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
2153         system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
2154         system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
2155         system-vxworks-arm.ads, system-vxworks-m68k.ads,
2156         system-vxworks-mips.ads, system-vxworks-ppc.ads,
2157         system-vxworks-sparcv9.ads, system-vxworks-x86.ads
2158         (Backend_Overflow_Checks): Set to True.
2160 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2162         * exp_attr.adb: Minor reformatting
2164 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2166         * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
2167         analyze the expression for a postcondition, even if the compiler mode
2168         is Generate_Code.
2170 2009-04-10  Robert Dewar  <dewar@adacore.com>
2172         * sem_aux.adb: Minor reformatting
2174 2009-04-10  Ed Falis  <falis@adacore.com>
2176         * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
2178         * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
2180 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2182         * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
2183         undocumented formal.
2184         Minor reformatting
2186         * a-direio.ads: Fix typo in comment
2188         * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
2189         errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
2190         Use uniform phrasing for comment at start of subprogram body.
2192         * xsnamest.adb: Add note to explain why we use specific names for the
2193         newly generated files instead of generating snames.{ads,adb,h} directly
2195 2009-04-10  Sergey Rybin  <rybin@adacore.com>
2197         * vms_data.ads:
2198         Add qualifier for new gnatstub option '--no-exception'
2200         * gnat_ugn.texi:
2201         Add the description of the new gnatstub option '--no-exception'
2203 2009-04-10  Robert Dewar  <dewar@adacore.com>
2205         * rtsfind.adb: Minor reformatting
2207 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2209         * sem_disp.adb: Minor reformatting.
2210         Add comment pointing to RM clause for the case of warning against a
2211         (failed) attempt at declaring a primitive operation elsewhere than in a
2212         package spec.
2214 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2216         * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
2217         an actual for a previous formal package of the current instance.
2219 2009-04-10  Bob Duff  <duff@adacore.com>
2221         * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
2222         them first, rather than on the extended main unit.
2224 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2226         * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
2227         specification of full view carries a null exclusion indicator, create
2228         an itype for it, to check for conformance with partial view.
2230 2009-04-10  Bob Duff  <duff@adacore.com>
2232         * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
2234         * rtsfind.adb: Minor comment changes, and remove useless code.
2236         * sinfo.ads: Add ??? comment.
2238 2009-04-10  Vincent Celier  <celier@adacore.com>
2240         * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
2242 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2244         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
2245         type is a synchronized type, retrieve tag information from the
2246         corresponding record, which has the dispatch table link.
2248 2009-04-10  Jerome Lambourg  <lambourg@adacore.com>
2250         * g-comlin.adb (Group_Analysis): Take care of switches that might be
2251         decomposed afterwards, but are present as-is in the command line
2252         configuration, and thus should be kept as-is.
2254 2009-04-10  Robert Dewar  <dewar@adacore.com>
2256         * gnat_rm.texi: Document that postconditions are tested on implicit
2257         returns.
2259         * sem_aux.adb: Minor reformatting
2261 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
2263         * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
2264         setting Etype.
2265         
2266         * par-ch3.adb (P_Access_Type_Definition): Set new attribute
2267         Null_Exclusion_In_Return_Present when an access-to-function type has a
2268         result type with an explicit not null.
2270         * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
2271         given on the result type, then create a null-excluding itype for the
2272         function.
2274         * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
2275         the case where a null exclusion is imposed on a named access type.
2276         (Analyze_Subprogram_Specification): Push and pop the scope of the
2277         function around the call to Analyze_Return_Type in the case of no
2278         formals, for consistency with handling when formals are present
2279         (Process_Formals does this). Ensures that any itype created for the
2280         return type will be associated with the proper scope.
2282         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
2283         exclusion is given on a generic function's result type, then create a
2284         null-excluding itype for the generic function.
2285         (Instantiate_Object): Set Null_Exclusion_Present of a constant created
2286         for an actual for a formal in object according to the setting on the
2287         formal. Ensures null exclusion checks are done when the association is
2288         elaborated.
2290         * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
2291         N_Access_Function_Definition.
2293         * sinfo.adb: Add Get_ and Set_ operations for
2294         Null_Exclusion_In_Return_Present.
2296 2009-04-10  Bob Duff  <duff@adacore.com>
2298         * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
2299         call to the _Postconditions procedure in the case of implicit returns
2300         from analysis to expansion. This eliminates some duplicated code. Use
2301         the Postcondition_Proc to find the identity of this procedure during
2302         expansion.
2304 2009-04-10  Robert Dewar  <dewar@adacore.com>
2306         * sem_ch6.adb: Minor code clean up.
2308         * einfo.ads, sem_attr.adb: Minor comment fixes.
2310 2009-04-10  Robert Dewar  <dewar@adacore.com>
2312         * sem_ch8.adb: Minor reformatting
2314 2009-04-10  Robert Dewar  <dewar@adacore.com>
2316         * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
2317         procedures.
2319         * sem_ch6.adb: Minor code clean up.
2321 2009-04-10  Robert Dewar  <dewar@adacore.com>
2323         * mlib-tgt-specific-xi.adb: Minor reformatting
2325 2009-04-10  Bob Duff  <duff@adacore.com>
2327         * einfo.ads: Minor comment fixes
2329 2009-04-10  Vincent Celier  <celier@adacore.com>
2331         * snames.ads-tmpl: Remove names that are no longer used in the
2332         Project Manager.
2333         Mark specifically those that are used only in gprbuild
2335 2009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
2337         * init.c: Adjust EH support code on Alpha/Tru64.
2339 2009-04-10  Bob Duff  <duff@adacore.com>
2341         * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
2342         procedure on every path that could return implicitly (not via a return
2343         statement) from a procedure.
2345 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2347         * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
2348         valid scope for a task declarations and therefore for a master id.
2350 2009-04-10  Robert Dewar  <dewar@adacore.com>
2352         * sem_aux.adb: Minor reformatting
2354 2009-04-10  Vincent Celier  <celier@adacore.com>
2356         * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
2357         True.
2358         (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
2359         (Set_Obsolescent_Check): New procedure to change the value of
2360         Obsolescent_Check_Flag.
2362         * scn.ads (Set_Obsolescent_Check): New procedure to control
2363         Obsolescent_Check.
2365         * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
2366         obsolescent features while preprocessing.
2368 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2370         * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
2371         generated files on all platforms.
2373 2009-04-10  Robert Dewar  <dewar@adacore.com>
2375         * sem_aux.adb: Minor reformatting
2377 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2379         * sem_ch3.adb (Access_Definition): Handle properly the case of a
2380         protected function with formals that returns an anonymous access type.
2382 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2384         * sem_disp.adb: Minor reformatting
2386 2009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
2388         * seh_init.c: Do not use the 32-bit specific implementation of
2389         __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
2390         version TBD).
2392 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
2394         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
2395         a '/' at the end so we better use the complete target name to determine
2396         whether it is a PowerPC 55xx target.
2398 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2400         * sem_eval.adb: Minor reformatting
2402 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2404         * snames.h, snames.ads, snames.adb: Remove files, now generated from
2405         templates.
2407         * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
2408         above.
2410         * xsnamest.adb: New file.
2412         * gcc-interface/Make-lang.in: New target for automated generation of
2413         snames.ads, snames.adb and snames.h
2415 2009-04-10  Tristan Gingold  <gingold@adacore.com>
2417         * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
2418         avoid compile time warnings.
2419         Do not add gcc/config in include search list while compiling the RTS.
2420         Pragma Thread_Local_Storage is available on any target.
2422 2009-04-10  Bob Duff  <duff@adacore.com>
2424         * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
2426 2009-04-10  Tristan Gingold  <gingold@adacore.com>
2428         * init.c: Install signal handler on Darwin.
2430 2009-04-10  Robert Dewar  <dewar@adacore.com>
2432         * sem_prag.adb: Minor reformatting
2434         * exp_util.adb (Make_Non_Empty_Check): New function
2435         (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
2436         (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
2438 2009-04-10  Arnaud Charlet  <charlet@adacore.com>
2440         * make.adb, gnatlink.adb: Rename JGNAT toolchain.
2442 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
2444         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
2445         tool prefix for AVR and PowerPC 55xx targets.
2447 2009-04-10  Robert Dewar  <dewar@adacore.com>
2449         * sem_warn.adb (Within_Postcondition): New function
2450         (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
2452 2009-04-10  Robert Dewar  <dewar@adacore.com>
2454         * sem_warn.adb: Minor reformatting
2456         * make.adb: Minor reformatting.
2458 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
2460         * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
2461         entity and the scope is a subprogram, retrieve the Sloc of the
2462         subprogram's body rather than using the sloc of the spec, for better
2463         line-stepping behavior in gdb.
2464         (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
2465         controller, use the Sloc of the first declaration of the containing list
2466         rather than that of the node that triggered creation of the list
2467         controller.
2469 2009-04-10  Vincent Celier  <celier@adacore.com>
2471         * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
2472         to avoid gcc warning.
2474 2009-04-10  Robert Dewar  <dewar@adacore.com>
2476         * g-comlin.adb: Add ??? comment
2478 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2480         * sem_warn.adb (Check_Unused_Withs): Do not emit message about
2481         unreferenced entities for a package with no visible declarations.
2483 2009-04-10  Robert Dewar  <dewar@adacore.com>
2485         * exp_ch9.adb: Minor reformatting
2487 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2489         * sem_prag.adb: Minor reformatting
2491 2009-04-10  Vincent Celier  <celier@adacore.com>
2493         * prj-nmsc.adb:
2494         (Check_Library_Attributes): For a project qualified as a library project
2495         that is not a library project, indicate in the error message which
2496         attributes are missing (Library_Dir and/or Library_Name).
2498 2009-04-10  Bob Duff  <duff@adacore.com>
2500         * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
2501         generated nodes, because it might confuse various circuits in the FE.
2503 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
2505         * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
2506         of pragma. It will be recopied and analyzed when used in call to
2507         Create_Task.
2509         * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
2510         initialization operations and recognize use of it in procedure calls
2511         within init_procs.
2513         * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
2514         argument, because it may have side-effects.
2516         * exp_ch2.adb: Remove obsolete comments on default functions
2518 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
2520         * adaint.c (RTX section): Do for RTX the same thing as we do for
2521         Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
2523 2009-04-10  Robert Dewar  <dewar@adacore.com>
2525         * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
2527         * sem_res.adb (Resolve_Call): Fix test for
2528         Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
2529         a non-dynamic scope).
2531 2009-04-10  Robert Dewar  <dewar@adacore.com>
2533         * make.adb: Add comment.
2534         Minor reformatting
2536 2009-04-10  Nicolas Setton  <setton@adacore.com>
2538         * s-osprim-darwin.adb: New file.
2540         * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
2542 2009-04-10  Thomas Quinot  <quinot@adacore.com>
2544         * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
2546 2009-04-09  Nick Clifton  <nickc@redhat.com>
2548         * adadecode.h: Change copyright header to refer to version
2549         3 of the GNU General Public License with version 3.1 of the
2550         GCC Runtime Library Exception and to point readers at the
2551         COPYING3 and COPYING3.RUNTIME files and the FSF's license web
2552         page.
2553         * 9drpc.adb: Likewise.
2554         * a-assert.adb: Likewise.
2555         * a-astaco.adb: Likewise.
2556         * a-calari.adb: Likewise.
2557         * a-calcon.adb: Likewise.
2558         * a-calcon.ads: Likewise.
2559         * a-caldel.ads: Likewise.
2560         * a-calend-vms.adb: Likewise.
2561         * a-calend-vms.ads: Likewise.
2562         * a-calend.adb: Likewise.
2563         * a-calend.ads: Likewise.
2564         * a-calfor.adb: Likewise.
2565         * a-catizo.adb: Likewise.
2566         * a-cdlili.adb: Likewise.
2567         * a-cdlili.ads: Likewise.
2568         * a-cgaaso.adb: Likewise.
2569         * a-cgaaso.ads: Likewise.
2570         * a-cgarso.adb: Likewise.
2571         * a-cgcaso.adb: Likewise.
2572         * a-chacon.adb: Likewise.
2573         * a-chacon.ads: Likewise.
2574         * a-chahan.adb: Likewise.
2575         * a-chahan.ads: Likewise.
2576         * a-chlat9.ads: Likewise.
2577         * a-chtgke.adb: Likewise.
2578         * a-chtgke.ads: Likewise.
2579         * a-chtgop.adb: Likewise.
2580         * a-chtgop.ads: Likewise.
2581         * a-chzla1.ads: Likewise.
2582         * a-chzla9.ads: Likewise.
2583         * a-cidlli.adb: Likewise.
2584         * a-cidlli.ads: Likewise.
2585         * a-cihama.adb: Likewise.
2586         * a-cihama.ads: Likewise.
2587         * a-cihase.adb: Likewise.
2588         * a-cihase.ads: Likewise.
2589         * a-ciorma.adb: Likewise.
2590         * a-ciorma.ads: Likewise.
2591         * a-ciormu.adb: Likewise.
2592         * a-ciormu.ads: Likewise.
2593         * a-ciorse.adb: Likewise.
2594         * a-ciorse.ads: Likewise.
2595         * a-clrefi.adb: Likewise.
2596         * a-clrefi.ads: Likewise.
2597         * a-cohama.adb: Likewise.
2598         * a-cohama.ads: Likewise.
2599         * a-cohase.adb: Likewise.
2600         * a-cohase.ads: Likewise.
2601         * a-cohata.ads: Likewise.
2602         * a-coinve.adb: Likewise.
2603         * a-coinve.ads: Likewise.
2604         * a-colien.adb: Likewise.
2605         * a-colien.ads: Likewise.
2606         * a-colire.adb: Likewise.
2607         * a-colire.ads: Likewise.
2608         * a-comlin.adb: Likewise.
2609         * a-comlin.ads: Likewise.
2610         * a-convec.adb: Likewise.
2611         * a-convec.ads: Likewise.
2612         * a-coorma.adb: Likewise.
2613         * a-coorma.ads: Likewise.
2614         * a-coormu.adb: Likewise.
2615         * a-coormu.ads: Likewise.
2616         * a-coorse.adb: Likewise.
2617         * a-coorse.ads: Likewise.
2618         * a-coprnu.adb: Likewise.
2619         * a-coprnu.ads: Likewise.
2620         * a-crbltr.ads: Likewise.
2621         * a-crbtgk.adb: Likewise.
2622         * a-crbtgk.ads: Likewise.
2623         * a-crbtgo.adb: Likewise.
2624         * a-crbtgo.ads: Likewise.
2625         * a-crdlli.adb: Likewise.
2626         * a-crdlli.ads: Likewise.
2627         * a-cwila1.ads: Likewise.
2628         * a-cwila9.ads: Likewise.
2629         * a-decima.adb: Likewise.
2630         * a-decima.ads: Likewise.
2631         * a-diocst.adb: Likewise.
2632         * a-diocst.ads: Likewise.
2633         * a-direct.adb: Likewise.
2634         * a-direct.ads: Likewise.
2635         * a-direio.adb: Likewise.
2636         * a-direio.ads: Likewise.
2637         * a-dirval-mingw.adb: Likewise.
2638         * a-dirval-vms.adb: Likewise.
2639         * a-dirval.adb: Likewise.
2640         * a-dirval.ads: Likewise.
2641         * a-dynpri.adb: Likewise.
2642         * a-einuoc.adb: Likewise.
2643         * a-einuoc.ads: Likewise.
2644         * a-elchha.adb: Likewise.
2645         * a-elchha.ads: Likewise.
2646         * a-envvar.adb: Likewise.
2647         * a-excach.adb: Likewise.
2648         * a-except-2005.adb: Likewise.
2649         * a-except-2005.ads: Likewise.
2650         * a-except.adb: Likewise.
2651         * a-except.ads: Likewise.
2652         * a-excpol-abort.adb: Likewise.
2653         * a-excpol.adb: Likewise.
2654         * a-exctra.adb: Likewise.
2655         * a-exctra.ads: Likewise.
2656         * a-exetim-mingw.adb: Likewise.
2657         * a-exetim-mingw.ads: Likewise.
2658         * a-exexda.adb: Likewise.
2659         * a-exexpr-gcc.adb: Likewise.
2660         * a-exexpr.adb: Likewise.
2661         * a-exextr.adb: Likewise.
2662         * a-exstat.adb: Likewise.
2663         * a-filico.adb: Likewise.
2664         * a-filico.ads: Likewise.
2665         * a-finali.adb: Likewise.
2666         * a-finali.ads: Likewise.
2667         * a-interr.ads: Likewise.
2668         * a-intnam-aix.ads: Likewise.
2669         * a-intnam-darwin.ads: Likewise.
2670         * a-intnam-dummy.ads: Likewise.
2671         * a-intnam-freebsd.ads: Likewise.
2672         * a-intnam-hpux.ads: Likewise.
2673         * a-intnam-irix.ads: Likewise.
2674         * a-intnam-linux.ads: Likewise.
2675         * a-intnam-lynxos.ads: Likewise.
2676         * a-intnam-mingw.ads: Likewise.
2677         * a-intnam-rtems.ads: Likewise.
2678         * a-intnam-solaris.ads: Likewise.
2679         * a-intnam-tru64.ads: Likewise.
2680         * a-intnam-vms.ads: Likewise.
2681         * a-intnam-vxworks.ads: Likewise.
2682         * a-intsig.adb: Likewise.
2683         * a-intsig.ads: Likewise.
2684         * a-ngcefu.adb: Likewise.
2685         * a-ngcoar.adb: Likewise.
2686         * a-ngcoty.adb: Likewise.
2687         * a-ngcoty.ads: Likewise.
2688         * a-ngelfu.adb: Likewise.
2689         * a-ngrear.adb: Likewise.
2690         * a-ngrear.ads: Likewise.
2691         * a-nudira.adb: Likewise.
2692         * a-nudira.ads: Likewise.
2693         * a-nuflra.adb: Likewise.
2694         * a-nuflra.ads: Likewise.
2695         * a-numaux-darwin.adb: Likewise.
2696         * a-numaux-darwin.ads: Likewise.
2697         * a-numaux-libc-x86.ads: Likewise.
2698         * a-numaux-vxworks.ads: Likewise.
2699         * a-numaux-x86.adb: Likewise.
2700         * a-numaux-x86.ads: Likewise.
2701         * a-numaux.ads: Likewise.
2702         * a-rbtgso.adb: Likewise.
2703         * a-rbtgso.ads: Likewise.
2704         * a-reatim.ads: Likewise.
2705         * a-retide.adb: Likewise.
2706         * a-retide.ads: Likewise.
2707         * a-rttiev.adb: Likewise.
2708         * a-rttiev.ads: Likewise.
2709         * a-secain.adb: Likewise.
2710         * a-secain.ads: Likewise.
2711         * a-sequio.adb: Likewise.
2712         * a-sequio.ads: Likewise.
2713         * a-shcain.adb: Likewise.
2714         * a-shcain.ads: Likewise.
2715         * a-siocst.adb: Likewise.
2716         * a-siocst.ads: Likewise.
2717         * a-slcain.adb: Likewise.
2718         * a-slcain.ads: Likewise.
2719         * a-ssicst.adb: Likewise.
2720         * a-ssicst.ads: Likewise.
2721         * a-stboha.adb: Likewise.
2722         * a-stmaco.ads: Likewise.
2723         * a-storio.adb: Likewise.
2724         * a-strbou.adb: Likewise.
2725         * a-strbou.ads: Likewise.
2726         * a-stream.ads: Likewise.
2727         * a-strfix.adb: Likewise.
2728         * a-strhas.adb: Likewise.
2729         * a-strmap.adb: Likewise.
2730         * a-strmap.ads: Likewise.
2731         * a-strsea.adb: Likewise.
2732         * a-strsea.ads: Likewise.
2733         * a-strsup.adb: Likewise.
2734         * a-strsup.ads: Likewise.
2735         * a-strunb.adb: Likewise.
2736         * a-strunb.ads: Likewise.
2737         * a-ststio.adb: Likewise.
2738         * a-ststio.ads: Likewise.
2739         * a-stunau.adb: Likewise.
2740         * a-stunau.ads: Likewise.
2741         * a-stunha.adb: Likewise.
2742         * a-stwibo.adb: Likewise.
2743         * a-stwibo.ads: Likewise.
2744         * a-stwifi.adb: Likewise.
2745         * a-stwiha.adb: Likewise.
2746         * a-stwima.adb: Likewise.
2747         * a-stwima.ads: Likewise.
2748         * a-stwise.adb: Likewise.
2749         * a-stwise.ads: Likewise.
2750         * a-stwisu.adb: Likewise.
2751         * a-stwisu.ads: Likewise.
2752         * a-stwiun.adb: Likewise.
2753         * a-stwiun.ads: Likewise.
2754         * a-stzbou.adb: Likewise.
2755         * a-stzbou.ads: Likewise.
2756         * a-stzfix.adb: Likewise.
2757         * a-stzhas.adb: Likewise.
2758         * a-stzmap.adb: Likewise.
2759         * a-stzmap.ads: Likewise.
2760         * a-stzsea.adb: Likewise.
2761         * a-stzsea.ads: Likewise.
2762         * a-stzsup.adb: Likewise.
2763         * a-stzsup.ads: Likewise.
2764         * a-stzunb.adb: Likewise.
2765         * a-stzunb.ads: Likewise.
2766         * a-suteio.adb: Likewise.
2767         * a-suteio.ads: Likewise.
2768         * a-swbwha.adb: Likewise.
2769         * a-swmwco.ads: Likewise.
2770         * a-swunau.adb: Likewise.
2771         * a-swunau.ads: Likewise.
2772         * a-swuwha.adb: Likewise.
2773         * a-swuwti.adb: Likewise.
2774         * a-swuwti.ads: Likewise.
2775         * a-sytaco.adb: Likewise.
2776         * a-sytaco.ads: Likewise.
2777         * a-szbzha.adb: Likewise.
2778         * a-szmzco.ads: Likewise.
2779         * a-szunau.adb: Likewise.
2780         * a-szunau.ads: Likewise.
2781         * a-szuzha.adb: Likewise.
2782         * a-szuzti.adb: Likewise.
2783         * a-szuzti.ads: Likewise.
2784         * a-tags.adb: Likewise.
2785         * a-tags.ads: Likewise.
2786         * a-tasatt.ads: Likewise.
2787         * a-taside.adb: Likewise.
2788         * a-taside.ads: Likewise.
2789         * a-taster.adb: Likewise.
2790         * a-teioed.adb: Likewise.
2791         * a-teioed.ads: Likewise.
2792         * a-textio.adb: Likewise.
2793         * a-textio.ads: Likewise.
2794         * a-tiboio.adb: Likewise.
2795         * a-ticoau.adb: Likewise.
2796         * a-ticoau.ads: Likewise.
2797         * a-ticoio.adb: Likewise.
2798         * a-ticoio.ads: Likewise.
2799         * a-tideau.adb: Likewise.
2800         * a-tideau.ads: Likewise.
2801         * a-tideio.adb: Likewise.
2802         * a-tideio.ads: Likewise.
2803         * a-tienau.adb: Likewise.
2804         * a-tienau.ads: Likewise.
2805         * a-tienio.adb: Likewise.
2806         * a-tienio.ads: Likewise.
2807         * a-tifiio.adb: Likewise.
2808         * a-tifiio.ads: Likewise.
2809         * a-tiflau.adb: Likewise.
2810         * a-tiflau.ads: Likewise.
2811         * a-tiflio.adb: Likewise.
2812         * a-tiflio.ads: Likewise.
2813         * a-tigeau.adb: Likewise.
2814         * a-tigeau.ads: Likewise.
2815         * a-tiinau.adb: Likewise.
2816         * a-tiinau.ads: Likewise.
2817         * a-tiinio.adb: Likewise.
2818         * a-tiinio.ads: Likewise.
2819         * a-timoau.adb: Likewise.
2820         * a-timoau.ads: Likewise.
2821         * a-timoio.adb: Likewise.
2822         * a-timoio.ads: Likewise.
2823         * a-tiocst.adb: Likewise.
2824         * a-tiocst.ads: Likewise.
2825         * a-titest.adb: Likewise.
2826         * a-wichun.adb: Likewise.
2827         * a-wichun.ads: Likewise.
2828         * a-witeio.adb: Likewise.
2829         * a-witeio.ads: Likewise.
2830         * a-wtcoau.adb: Likewise.
2831         * a-wtcoau.ads: Likewise.
2832         * a-wtcoio.adb: Likewise.
2833         * a-wtcstr.adb: Likewise.
2834         * a-wtcstr.ads: Likewise.
2835         * a-wtdeau.adb: Likewise.
2836         * a-wtdeau.ads: Likewise.
2837         * a-wtdeio.adb: Likewise.
2838         * a-wtdeio.ads: Likewise.
2839         * a-wtedit.adb: Likewise.
2840         * a-wtedit.ads: Likewise.
2841         * a-wtenau.adb: Likewise.
2842         * a-wtenau.ads: Likewise.
2843         * a-wtenio.adb: Likewise.
2844         * a-wtenio.ads: Likewise.
2845         * a-wtfiio.adb: Likewise.
2846         * a-wtfiio.ads: Likewise.
2847         * a-wtflau.adb: Likewise.
2848         * a-wtflau.ads: Likewise.
2849         * a-wtflio.adb: Likewise.
2850         * a-wtflio.ads: Likewise.
2851         * a-wtgeau.adb: Likewise.
2852         * a-wtgeau.ads: Likewise.
2853         * a-wtinau.adb: Likewise.
2854         * a-wtinau.ads: Likewise.
2855         * a-wtinio.adb: Likewise.
2856         * a-wtmoau.adb: Likewise.
2857         * a-wtmoau.ads: Likewise.
2858         * a-wtmoio.adb: Likewise.
2859         * a-wtmoio.ads: Likewise.
2860         * a-wttest.adb: Likewise.
2861         * a-wwboio.adb: Likewise.
2862         * a-zchuni.adb: Likewise.
2863         * a-zchuni.ads: Likewise.
2864         * a-ztcoau.adb: Likewise.
2865         * a-ztcoau.ads: Likewise.
2866         * a-ztcoio.adb: Likewise.
2867         * a-ztcstr.adb: Likewise.
2868         * a-ztcstr.ads: Likewise.
2869         * a-ztdeau.adb: Likewise.
2870         * a-ztdeau.ads: Likewise.
2871         * a-ztdeio.adb: Likewise.
2872         * a-ztdeio.ads: Likewise.
2873         * a-ztedit.adb: Likewise.
2874         * a-ztedit.ads: Likewise.
2875         * a-ztenau.adb: Likewise.
2876         * a-ztenau.ads: Likewise.
2877         * a-ztenio.adb: Likewise.
2878         * a-ztenio.ads: Likewise.
2879         * a-ztexio.adb: Likewise.
2880         * a-ztexio.ads: Likewise.
2881         * a-ztfiio.adb: Likewise.
2882         * a-ztfiio.ads: Likewise.
2883         * a-ztflau.adb: Likewise.
2884         * a-ztflau.ads: Likewise.
2885         * a-ztflio.adb: Likewise.
2886         * a-ztflio.ads: Likewise.
2887         * a-ztgeau.adb: Likewise.
2888         * a-ztgeau.ads: Likewise.
2889         * a-ztinau.adb: Likewise.
2890         * a-ztinau.ads: Likewise.
2891         * a-ztinio.adb: Likewise.
2892         * a-ztmoau.adb: Likewise.
2893         * a-ztmoau.ads: Likewise.
2894         * a-ztmoio.adb: Likewise.
2895         * a-ztmoio.ads: Likewise.
2896         * a-zttest.adb: Likewise.
2897         * a-zzboio.adb: Likewise.
2898         * adadecode.c: Likewise.
2899         * adaint.c: Likewise.
2900         * adaint.h: Likewise.
2901         * alloc.ads: Likewise.
2902         * argv.c: Likewise.
2903         * arit64.c: Likewise.
2904         * atree.adb: Likewise.
2905         * atree.ads: Likewise.
2906         * aux-io.c: Likewise.
2907         * cal.c: Likewise.
2908         * casing.adb: Likewise.
2909         * casing.ads: Likewise.
2910         * cio.c: Likewise.
2911         * csets.adb: Likewise.
2912         * csets.ads: Likewise.
2913         * cstreams.c: Likewise.
2914         * ctrl_c.c: Likewise.
2915         * debug.adb: Likewise.
2916         * debug.ads: Likewise.
2917         * dec.ads: Likewise.
2918         * einfo.adb: Likewise.
2919         * einfo.ads: Likewise.
2920         * elists.adb: Likewise.
2921         * elists.ads: Likewise.
2922         * env.c: Likewise.
2923         * env.h: Likewise.
2924         * errno.c: Likewise.
2925         * exit.c: Likewise.
2926         * fe.h: Likewise.
2927         * final.c: Likewise.
2928         * fname.adb: Likewise.
2929         * fname.ads: Likewise.
2930         * g-allein.ads: Likewise.
2931         * g-alleve.adb: Likewise.
2932         * g-alleve.ads: Likewise.
2933         * g-altcon.adb: Likewise.
2934         * g-altcon.ads: Likewise.
2935         * g-altive.ads: Likewise.
2936         * g-alveop.adb: Likewise.
2937         * g-alveop.ads: Likewise.
2938         * g-alvety.ads: Likewise.
2939         * g-alvevi.ads: Likewise.
2940         * g-arrspl.adb: Likewise.
2941         * g-arrspl.ads: Likewise.
2942         * g-calend.ads: Likewise.
2943         * g-comlin.adb: Likewise.
2944         * g-debpoo.adb: Likewise.
2945         * g-debpoo.ads: Likewise.
2946         * g-eacodu-vms.adb: Likewise.
2947         * g-eacodu.adb: Likewise.
2948         * g-excact.adb: Likewise.
2949         * g-excact.ads: Likewise.
2950         * g-locfil.adb: Likewise.
2951         * g-os_lib.ads: Likewise.
2952         * g-rannum.adb: Likewise.
2953         * g-rannum.ads: Likewise.
2954         * g-regist.adb: Likewise.
2955         * g-regist.ads: Likewise.
2956         * g-signal.adb: Likewise.
2957         * g-signal.ads: Likewise.
2958         * g-soccon.ads: Likewise.
2959         * g-string.adb: Likewise.
2960         * g-string.ads: Likewise.
2961         * g-strspl.ads: Likewise.
2962         * g-timsta.adb: Likewise.
2963         * g-timsta.ads: Likewise.
2964         * g-trasym-vms-alpha.adb: Likewise.
2965         * g-trasym-vms-ia64.adb: Likewise.
2966         * g-utf_32.adb: Likewise.
2967         * g-utf_32.ads: Likewise.
2968         * g-wistsp.ads: Likewise.
2969         * g-zstspl.ads: Likewise.
2970         * gmem.c: Likewise.
2971         * gnatvsn.adb: Likewise.
2972         * gnatvsn.ads: Likewise.
2973         * gsocket.h: Likewise.
2974         * hostparm.ads: Likewise.
2975         * i-c.adb: Likewise.
2976         * i-cexten.ads: Likewise.
2977         * i-cobol.adb: Likewise.
2978         * i-cobol.ads: Likewise.
2979         * i-cpoint.adb: Likewise.
2980         * i-cpoint.ads: Likewise.
2981         * i-cpp.adb: Likewise.
2982         * i-cpp.ads: Likewise.
2983         * i-cstrea-vms.adb: Likewise.
2984         * i-cstrea.adb: Likewise.
2985         * i-cstrea.ads: Likewise.
2986         * i-cstrin.adb: Likewise.
2987         * i-cstrin.ads: Likewise.
2988         * i-forbla-darwin.adb: Likewise.
2989         * i-forbla-unimplemented.ads: Likewise.
2990         * i-forbla.adb: Likewise.
2991         * i-forbla.ads: Likewise.
2992         * i-forlap.ads: Likewise.
2993         * i-fortra.adb: Likewise.
2994         * i-pacdec.adb: Likewise.
2995         * i-pacdec.ads: Likewise.
2996         * i-vxwoio.adb: Likewise.
2997         * i-vxwoio.ads: Likewise.
2998         * indepsw-aix.adb: Likewise.
2999         * indepsw-gnu.adb: Likewise.
3000         * indepsw-mingw.adb: Likewise.
3001         * indepsw.adb: Likewise.
3002         * indepsw.ads: Likewise.
3003         * init.c: Likewise.
3004         * initialize.c: Likewise.
3005         * interfac.ads: Likewise.
3006         * krunch.adb: Likewise.
3007         * krunch.ads: Likewise.
3008         * lib-list.adb: Likewise.
3009         * lib-sort.adb: Likewise.
3010         * lib.adb: Likewise.
3011         * lib.ads: Likewise.
3012         * link.c: Likewise.
3013         * math_lib.adb: Likewise.
3014         * memtrack.adb: Likewise.
3015         * mingw32.h: Likewise.
3016         * mkdir.c: Likewise.
3017         * namet-sp.adb: Likewise.
3018         * namet-sp.ads: Likewise.
3019         * namet.adb: Likewise.
3020         * namet.ads: Likewise.
3021         * nlists.adb: Likewise.
3022         * nlists.ads: Likewise.
3023         * opt.adb: Likewise.
3024         * opt.ads: Likewise.
3025         * output.adb: Likewise.
3026         * output.ads: Likewise.
3027         * raise-gcc.c: Likewise.
3028         * raise.c: Likewise.
3029         * raise.h: Likewise.
3030         * repinfo.adb: Likewise.
3031         * repinfo.ads: Likewise.
3032         * repinfo.h: Likewise.
3033         * rident.ads: Likewise.
3034         * s-addima.adb: Likewise.
3035         * s-addima.ads: Likewise.
3036         * s-addope.adb: Likewise.
3037         * s-addope.ads: Likewise.
3038         * s-arit64.adb: Likewise.
3039         * s-arit64.ads: Likewise.
3040         * s-assert.adb: Likewise.
3041         * s-assert.ads: Likewise.
3042         * s-asthan-vms-alpha.adb: Likewise.
3043         * s-asthan.adb: Likewise.
3044         * s-asthan.ads: Likewise.
3045         * s-atacco.adb: Likewise.
3046         * s-atacco.ads: Likewise.
3047         * s-auxdec-empty.adb: Likewise.
3048         * s-auxdec-empty.ads: Likewise.
3049         * s-auxdec-vms_64.ads: Likewise.
3050         * s-auxdec.adb: Likewise.
3051         * s-auxdec.ads: Likewise.
3052         * s-bitops.adb: Likewise.
3053         * s-bitops.ads: Likewise.
3054         * s-boarop.ads: Likewise.
3055         * s-carsi8.adb: Likewise.
3056         * s-carsi8.ads: Likewise.
3057         * s-carun8.adb: Likewise.
3058         * s-carun8.ads: Likewise.
3059         * s-casi16.adb: Likewise.
3060         * s-casi16.ads: Likewise.
3061         * s-casi32.adb: Likewise.
3062         * s-casi32.ads: Likewise.
3063         * s-casi64.adb: Likewise.
3064         * s-casi64.ads: Likewise.
3065         * s-casuti.ads: Likewise.
3066         * s-caun16.adb: Likewise.
3067         * s-caun16.ads: Likewise.
3068         * s-caun32.adb: Likewise.
3069         * s-caun32.ads: Likewise.
3070         * s-caun64.adb: Likewise.
3071         * s-caun64.ads: Likewise.
3072         * s-chepoo.ads: Likewise.
3073         * s-crc32.adb: Likewise.
3074         * s-crc32.ads: Likewise.
3075         * s-crtl.ads: Likewise.
3076         * s-direio.adb: Likewise.
3077         * s-direio.ads: Likewise.
3078         * s-dsaser.ads: Likewise.
3079         * s-except.adb: Likewise.
3080         * s-except.ads: Likewise.
3081         * s-exctab.adb: Likewise.
3082         * s-exctab.ads: Likewise.
3083         * s-exnint.adb: Likewise.
3084         * s-exnint.ads: Likewise.
3085         * s-exnllf.adb: Likewise.
3086         * s-exnllf.ads: Likewise.
3087         * s-exnlli.adb: Likewise.
3088         * s-exnlli.ads: Likewise.
3089         * s-expint.adb: Likewise.
3090         * s-expint.ads: Likewise.
3091         * s-explli.adb: Likewise.
3092         * s-explli.ads: Likewise.
3093         * s-expllu.adb: Likewise.
3094         * s-expllu.ads: Likewise.
3095         * s-expmod.adb: Likewise.
3096         * s-expmod.ads: Likewise.
3097         * s-expuns.adb: Likewise.
3098         * s-expuns.ads: Likewise.
3099         * s-fatflt.ads: Likewise.
3100         * s-fatgen.adb: Likewise.
3101         * s-fatgen.ads: Likewise.
3102         * s-fatlfl.ads: Likewise.
3103         * s-fatllf.ads: Likewise.
3104         * s-fatsfl.ads: Likewise.
3105         * s-ficobl.ads: Likewise.
3106         * s-fileio.adb: Likewise.
3107         * s-fileio.ads: Likewise.
3108         * s-filofl.ads: Likewise.
3109         * s-finimp.adb: Likewise.
3110         * s-finimp.ads: Likewise.
3111         * s-finroo.adb: Likewise.
3112         * s-finroo.ads: Likewise.
3113         * s-fishfl.ads: Likewise.
3114         * s-fore.adb: Likewise.
3115         * s-fore.ads: Likewise.
3116         * s-fvadfl.ads: Likewise.
3117         * s-fvaffl.ads: Likewise.
3118         * s-fvagfl.ads: Likewise.
3119         * s-gearop.adb: Likewise.
3120         * s-gearop.ads: Likewise.
3121         * s-gecobl.adb: Likewise.
3122         * s-gecobl.ads: Likewise.
3123         * s-gecola.adb: Likewise.
3124         * s-gecola.ads: Likewise.
3125         * s-gerebl.adb: Likewise.
3126         * s-gerebl.ads: Likewise.
3127         * s-gerela.adb: Likewise.
3128         * s-gerela.ads: Likewise.
3129         * s-geveop.adb: Likewise.
3130         * s-geveop.ads: Likewise.
3131         * s-gloloc.adb: Likewise.
3132         * s-gloloc.ads: Likewise.
3133         * s-hibaen.ads: Likewise.
3134         * s-imenne.adb: Likewise.
3135         * s-imenne.ads: Likewise.
3136         * s-imgbiu.adb: Likewise.
3137         * s-imgbiu.ads: Likewise.
3138         * s-imgboo.adb: Likewise.
3139         * s-imgboo.ads: Likewise.
3140         * s-imgcha.adb: Likewise.
3141         * s-imgcha.ads: Likewise.
3142         * s-imgdec.adb: Likewise.
3143         * s-imgdec.ads: Likewise.
3144         * s-imgenu.adb: Likewise.
3145         * s-imgenu.ads: Likewise.
3146         * s-imgint.adb: Likewise.
3147         * s-imgint.ads: Likewise.
3148         * s-imgllb.adb: Likewise.
3149         * s-imgllb.ads: Likewise.
3150         * s-imglld.adb: Likewise.
3151         * s-imglld.ads: Likewise.
3152         * s-imglli.adb: Likewise.
3153         * s-imglli.ads: Likewise.
3154         * s-imgllu.adb: Likewise.
3155         * s-imgllu.ads: Likewise.
3156         * s-imgllw.adb: Likewise.
3157         * s-imgllw.ads: Likewise.
3158         * s-imgrea.adb: Likewise.
3159         * s-imgrea.ads: Likewise.
3160         * s-imguns.adb: Likewise.
3161         * s-imguns.ads: Likewise.
3162         * s-imgwch.adb: Likewise.
3163         * s-imgwch.ads: Likewise.
3164         * s-imgwiu.adb: Likewise.
3165         * s-imgwiu.ads: Likewise.
3166         * s-inmaop-dummy.adb: Likewise.
3167         * s-inmaop-vms.adb: Likewise.
3168         * s-inmaop.ads: Likewise.
3169         * s-interr-hwint.adb: Likewise.
3170         * s-interr-sigaction.adb: Likewise.
3171         * s-interr-vms.adb: Likewise.
3172         * s-interr.adb: Likewise.
3173         * s-interr.ads: Likewise.
3174         * s-intman-dummy.adb: Likewise.
3175         * s-intman-mingw.adb: Likewise.
3176         * s-intman-posix.adb: Likewise.
3177         * s-intman-solaris.adb: Likewise.
3178         * s-intman-vms.adb: Likewise.
3179         * s-intman-vms.ads: Likewise.
3180         * s-intman-vxworks.adb: Likewise.
3181         * s-intman-vxworks.ads: Likewise.
3182         * s-intman.ads: Likewise.
3183         * s-io.adb: Likewise.
3184         * s-io.ads: Likewise.
3185         * s-linux-alpha.ads: Likewise.
3186         * s-linux-hppa.ads: Likewise.
3187         * s-linux.ads: Likewise.
3188         * s-maccod.ads: Likewise.
3189         * s-mantis.adb: Likewise.
3190         * s-mantis.ads: Likewise.
3191         * s-mastop-irix.adb: Likewise.
3192         * s-mastop.adb: Likewise.
3193         * s-mastop.ads: Likewise.
3194         * s-memcop.ads: Likewise.
3195         * s-memory-mingw.adb: Likewise.
3196         * s-memory.adb: Likewise.
3197         * s-memory.ads: Likewise.
3198         * s-os_lib.ads: Likewise.
3199         * s-oscons-tmplt.c: Likewise.
3200         * s-osinte-aix.adb: Likewise.
3201         * s-osinte-darwin.adb: Likewise.
3202         * s-osinte-freebsd.adb: Likewise.
3203         * s-osinte-irix.adb: Likewise.
3204         * s-osinte-lynxos-3.adb: Likewise.
3205         * s-osinte-rtems.ads: Likewise.
3206         * s-osinte-tru64.adb: Likewise.
3207         * s-osinte-vxworks-kernel.adb: Likewise.
3208         * s-osinte-vxworks.adb: Likewise.
3209         * s-osprim-mingw.adb: Likewise.
3210         * s-osprim-posix.adb: Likewise.
3211         * s-osprim-solaris.adb: Likewise.
3212         * s-osprim-unix.adb: Likewise.
3213         * s-osprim-vms.adb: Likewise.
3214         * s-osprim-vms.ads: Likewise.
3215         * s-osprim-vxworks.adb: Likewise.
3216         * s-osprim.ads: Likewise.
3217         * s-pack03.adb: Likewise.
3218         * s-pack03.ads: Likewise.
3219         * s-pack05.adb: Likewise.
3220         * s-pack05.ads: Likewise.
3221         * s-pack06.adb: Likewise.
3222         * s-pack06.ads: Likewise.
3223         * s-pack07.adb: Likewise.
3224         * s-pack07.ads: Likewise.
3225         * s-pack09.adb: Likewise.
3226         * s-pack09.ads: Likewise.
3227         * s-pack10.adb: Likewise.
3228         * s-pack10.ads: Likewise.
3229         * s-pack11.adb: Likewise.
3230         * s-pack11.ads: Likewise.
3231         * s-pack12.adb: Likewise.
3232         * s-pack12.ads: Likewise.
3233         * s-pack13.adb: Likewise.
3234         * s-pack13.ads: Likewise.
3235         * s-pack14.adb: Likewise.
3236         * s-pack14.ads: Likewise.
3237         * s-pack15.adb: Likewise.
3238         * s-pack15.ads: Likewise.
3239         * s-pack17.adb: Likewise.
3240         * s-pack17.ads: Likewise.
3241         * s-pack18.adb: Likewise.
3242         * s-pack18.ads: Likewise.
3243         * s-pack19.adb: Likewise.
3244         * s-pack19.ads: Likewise.
3245         * s-pack20.adb: Likewise.
3246         * s-pack20.ads: Likewise.
3247         * s-pack21.adb: Likewise.
3248         * s-pack21.ads: Likewise.
3249         * s-pack22.adb: Likewise.
3250         * s-pack22.ads: Likewise.
3251         * s-pack23.adb: Likewise.
3252         * s-pack23.ads: Likewise.
3253         * s-pack24.adb: Likewise.
3254         * s-pack24.ads: Likewise.
3255         * s-pack25.adb: Likewise.
3256         * s-pack25.ads: Likewise.
3257         * s-pack26.adb: Likewise.
3258         * s-pack26.ads: Likewise.
3259         * s-pack27.adb: Likewise.
3260         * s-pack27.ads: Likewise.
3261         * s-pack28.adb: Likewise.
3262         * s-pack28.ads: Likewise.
3263         * s-pack29.adb: Likewise.
3264         * s-pack29.ads: Likewise.
3265         * s-pack30.adb: Likewise.
3266         * s-pack30.ads: Likewise.
3267         * s-pack31.adb: Likewise.
3268         * s-pack31.ads: Likewise.
3269         * s-pack33.adb: Likewise.
3270         * s-pack33.ads: Likewise.
3271         * s-pack34.adb: Likewise.
3272         * s-pack34.ads: Likewise.
3273         * s-pack35.adb: Likewise.
3274         * s-pack35.ads: Likewise.
3275         * s-pack36.adb: Likewise.
3276         * s-pack36.ads: Likewise.
3277         * s-pack37.adb: Likewise.
3278         * s-pack37.ads: Likewise.
3279         * s-pack38.adb: Likewise.
3280         * s-pack38.ads: Likewise.
3281         * s-pack39.adb: Likewise.
3282         * s-pack39.ads: Likewise.
3283         * s-pack40.adb: Likewise.
3284         * s-pack40.ads: Likewise.
3285         * s-pack41.adb: Likewise.
3286         * s-pack41.ads: Likewise.
3287         * s-pack42.adb: Likewise.
3288         * s-pack42.ads: Likewise.
3289         * s-pack43.adb: Likewise.
3290         * s-pack43.ads: Likewise.
3291         * s-pack44.adb: Likewise.
3292         * s-pack44.ads: Likewise.
3293         * s-pack45.adb: Likewise.
3294         * s-pack45.ads: Likewise.
3295         * s-pack46.adb: Likewise.
3296         * s-pack46.ads: Likewise.
3297         * s-pack47.adb: Likewise.
3298         * s-pack47.ads: Likewise.
3299         * s-pack48.adb: Likewise.
3300         * s-pack48.ads: Likewise.
3301         * s-pack49.adb: Likewise.
3302         * s-pack49.ads: Likewise.
3303         * s-pack50.adb: Likewise.
3304         * s-pack50.ads: Likewise.
3305         * s-pack51.adb: Likewise.
3306         * s-pack51.ads: Likewise.
3307         * s-pack52.adb: Likewise.
3308         * s-pack52.ads: Likewise.
3309         * s-pack53.adb: Likewise.
3310         * s-pack53.ads: Likewise.
3311         * s-pack54.adb: Likewise.
3312         * s-pack54.ads: Likewise.
3313         * s-pack55.adb: Likewise.
3314         * s-pack55.ads: Likewise.
3315         * s-pack56.adb: Likewise.
3316         * s-pack56.ads: Likewise.
3317         * s-pack57.adb: Likewise.
3318         * s-pack57.ads: Likewise.
3319         * s-pack58.adb: Likewise.
3320         * s-pack58.ads: Likewise.
3321         * s-pack59.adb: Likewise.
3322         * s-pack59.ads: Likewise.
3323         * s-pack60.adb: Likewise.
3324         * s-pack60.ads: Likewise.
3325         * s-pack61.adb: Likewise.
3326         * s-pack61.ads: Likewise.
3327         * s-pack62.adb: Likewise.
3328         * s-pack62.ads: Likewise.
3329         * s-pack63.adb: Likewise.
3330         * s-pack63.ads: Likewise.
3331         * s-parame-ae653.ads: Likewise.
3332         * s-parame-hpux.ads: Likewise.
3333         * s-parame-rtems.adb: Likewise.
3334         * s-parame-vms-alpha.ads: Likewise.
3335         * s-parame-vms-ia64.ads: Likewise.
3336         * s-parame-vms-restrict.ads: Likewise.
3337         * s-parame-vxworks.adb: Likewise.
3338         * s-parame-vxworks.ads: Likewise.
3339         * s-parame.adb: Likewise.
3340         * s-parame.ads: Likewise.
3341         * s-parint.adb: Likewise.
3342         * s-parint.ads: Likewise.
3343         * s-pooglo.adb: Likewise.
3344         * s-pooglo.ads: Likewise.
3345         * s-pooloc.adb: Likewise.
3346         * s-pooloc.ads: Likewise.
3347         * s-poosiz.adb: Likewise.
3348         * s-poosiz.ads: Likewise.
3349         * s-powtab.ads: Likewise.
3350         * s-proinf-irix-athread.adb: Likewise.
3351         * s-proinf-irix-athread.ads: Likewise.
3352         * s-proinf.adb: Likewise.
3353         * s-proinf.ads: Likewise.
3354         * s-purexc.ads: Likewise.
3355         * s-rannum.adb: Likewise.
3356         * s-rannum.ads: Likewise.
3357         * s-restri.adb: Likewise.
3358         * s-restri.ads: Likewise.
3359         * s-rident.ads: Likewise.
3360         * s-rpc.adb: Likewise.
3361         * s-rpc.ads: Likewise.
3362         * s-scaval.adb: Likewise.
3363         * s-scaval.ads: Likewise.
3364         * s-secsta.adb: Likewise.
3365         * s-secsta.ads: Likewise.
3366         * s-sequio.adb: Likewise.
3367         * s-sequio.ads: Likewise.
3368         * s-shasto.adb: Likewise.
3369         * s-shasto.ads: Likewise.
3370         * s-soflin.adb: Likewise.
3371         * s-soflin.ads: Likewise.
3372         * s-solita.adb: Likewise.
3373         * s-solita.ads: Likewise.
3374         * s-sopco3.adb: Likewise.
3375         * s-sopco3.ads: Likewise.
3376         * s-sopco4.adb: Likewise.
3377         * s-sopco4.ads: Likewise.
3378         * s-sopco5.adb: Likewise.
3379         * s-sopco5.ads: Likewise.
3380         * s-stache.adb: Likewise.
3381         * s-stache.ads: Likewise.
3382         * s-stalib.adb: Likewise.
3383         * s-stalib.ads: Likewise.
3384         * s-stausa.adb: Likewise.
3385         * s-stausa.ads: Likewise.
3386         * s-stchop-limit.ads: Likewise.
3387         * s-stchop-rtems.adb: Likewise.
3388         * s-stchop-vxworks.adb: Likewise.
3389         * s-stchop.adb: Likewise.
3390         * s-stchop.ads: Likewise.
3391         * s-stoele.adb: Likewise.
3392         * s-stoele.ads: Likewise.
3393         * s-stopoo.adb: Likewise.
3394         * s-stopoo.ads: Likewise.
3395         * s-stratt.adb: Likewise.
3396         * s-stratt.ads: Likewise.
3397         * s-strcom.adb: Likewise.
3398         * s-strcom.ads: Likewise.
3399         * s-string.adb: Likewise.
3400         * s-string.ads: Likewise.
3401         * s-strops.adb: Likewise.
3402         * s-strops.ads: Likewise.
3403         * s-strxdr.adb: Likewise.
3404         * s-ststop.adb: Likewise.
3405         * s-ststop.ads: Likewise.
3406         * s-taasde.adb: Likewise.
3407         * s-taasde.ads: Likewise.
3408         * s-tadeca.adb: Likewise.
3409         * s-tadeca.ads: Likewise.
3410         * s-tadert.adb: Likewise.
3411         * s-tadert.ads: Likewise.
3412         * s-taenca.adb: Likewise.
3413         * s-taenca.ads: Likewise.
3414         * s-taprob.ads: Likewise.
3415         * s-taprop-dummy.adb: Likewise.
3416         * s-taprop-hpux-dce.adb: Likewise.
3417         * s-taprop-irix.adb: Likewise.
3418         * s-taprop-linux.adb: Likewise.
3419         * s-taprop-lynxos.adb: Likewise.
3420         * s-taprop-mingw.adb: Likewise.
3421         * s-taprop-posix.adb: Likewise.
3422         * s-taprop-solaris.adb: Likewise.
3423         * s-taprop-tru64.adb: Likewise.
3424         * s-taprop-vms.adb: Likewise.
3425         * s-taprop-vxworks.adb: Likewise.
3426         * s-taprop.ads: Likewise.
3427         * s-tarest.adb: Likewise.
3428         * s-tarest.ads: Likewise.
3429         * s-tasdeb.adb: Likewise.
3430         * s-tasdeb.ads: Likewise.
3431         * s-tasinf-irix.ads: Likewise.
3432         * s-tasinf-linux.adb: Likewise.
3433         * s-tasinf-linux.ads: Likewise.
3434         * s-tasinf-mingw.adb: Likewise.
3435         * s-tasinf-mingw.ads: Likewise.
3436         * s-tasinf-solaris.adb: Likewise.
3437         * s-tasinf-solaris.ads: Likewise.
3438         * s-tasinf-tru64.ads: Likewise.
3439         * s-tasinf.adb: Likewise.
3440         * s-tasinf.ads: Likewise.
3441         * s-tasini.adb: Likewise.
3442         * s-tasini.ads: Likewise.
3443         * s-taskin.adb: Likewise.
3444         * s-taskin.ads: Likewise.
3445         * s-taspri-dummy.ads: Likewise.
3446         * s-taspri-hpux-dce.ads: Likewise.
3447         * s-taspri-mingw.ads: Likewise.
3448         * s-taspri-solaris.ads: Likewise.
3449         * s-taspri-tru64.ads: Likewise.
3450         * s-taspri-vms.ads: Likewise.
3451         * s-taspri-vxworks.ads: Likewise.
3452         * s-tasque.adb: Likewise.
3453         * s-tasque.ads: Likewise.
3454         * s-tasren.adb: Likewise.
3455         * s-tasren.ads: Likewise.
3456         * s-tasres.ads: Likewise.
3457         * s-tassta.adb: Likewise.
3458         * s-tassta.ads: Likewise.
3459         * s-tasuti.adb: Likewise.
3460         * s-tasuti.ads: Likewise.
3461         * s-tfsetr-default.adb: Likewise.
3462         * s-tfsetr-vxworks.adb: Likewise.
3463         * s-tpinop.adb: Likewise.
3464         * s-tpinop.ads: Likewise.
3465         * s-tpoben.adb: Likewise.
3466         * s-tpoben.ads: Likewise.
3467         * s-tpobop.adb: Likewise.
3468         * s-tpobop.ads: Likewise.
3469         * s-tpopde-vms.adb: Likewise.
3470         * s-tpopde-vms.ads: Likewise.
3471         * s-tpopsp-lynxos.adb: Likewise.
3472         * s-tpopsp-posix-foreign.adb: Likewise.
3473         * s-tpopsp-posix.adb: Likewise.
3474         * s-tpopsp-solaris.adb: Likewise.
3475         * s-tpopsp-vxworks.adb: Likewise.
3476         * s-tporft.adb: Likewise.
3477         * s-tposen.adb: Likewise.
3478         * s-tposen.ads: Likewise.
3479         * s-traceb.adb: Likewise.
3480         * s-traceb.ads: Likewise.
3481         * s-traces-default.adb: Likewise.
3482         * s-traces.adb: Likewise.
3483         * s-traces.ads: Likewise.
3484         * s-traent-vms.adb: Likewise.
3485         * s-traent-vms.ads: Likewise.
3486         * s-traent.adb: Likewise.
3487         * s-traent.ads: Likewise.
3488         * s-trafor-default.adb: Likewise.
3489         * s-trafor-default.ads: Likewise.
3490         * s-tratas-default.adb: Likewise.
3491         * s-tratas.adb: Likewise.
3492         * s-tratas.ads: Likewise.
3493         * s-unstyp.ads: Likewise.
3494         * s-utf_32.adb: Likewise.
3495         * s-utf_32.ads: Likewise.
3496         * s-vaflop-vms-alpha.adb: Likewise.
3497         * s-vaflop.adb: Likewise.
3498         * s-vaflop.ads: Likewise.
3499         * s-valboo.adb: Likewise.
3500         * s-valboo.ads: Likewise.
3501         * s-valcha.adb: Likewise.
3502         * s-valcha.ads: Likewise.
3503         * s-valdec.adb: Likewise.
3504         * s-valdec.ads: Likewise.
3505         * s-valenu.adb: Likewise.
3506         * s-valenu.ads: Likewise.
3507         * s-valint.adb: Likewise.
3508         * s-valint.ads: Likewise.
3509         * s-vallld.adb: Likewise.
3510         * s-vallld.ads: Likewise.
3511         * s-vallli.adb: Likewise.
3512         * s-vallli.ads: Likewise.
3513         * s-valllu.adb: Likewise.
3514         * s-valllu.ads: Likewise.
3515         * s-valrea.adb: Likewise.
3516         * s-valrea.ads: Likewise.
3517         * s-valuns.adb: Likewise.
3518         * s-valuns.ads: Likewise.
3519         * s-valuti.adb: Likewise.
3520         * s-valuti.ads: Likewise.
3521         * s-valwch.adb: Likewise.
3522         * s-valwch.ads: Likewise.
3523         * s-veboop.adb: Likewise.
3524         * s-veboop.ads: Likewise.
3525         * s-vector.ads: Likewise.
3526         * s-vercon.adb: Likewise.
3527         * s-vercon.ads: Likewise.
3528         * s-vmexta.adb: Likewise.
3529         * s-vmexta.ads: Likewise.
3530         * s-vxwext-kernel.ads: Likewise.
3531         * s-vxwext-rtp.adb: Likewise.
3532         * s-vxwext-rtp.ads: Likewise.
3533         * s-vxwext.ads: Likewise.
3534         * s-vxwork-arm.ads: Likewise.
3535         * s-vxwork-m68k.ads: Likewise.
3536         * s-vxwork-mips.ads: Likewise.
3537         * s-vxwork-ppc.ads: Likewise.
3538         * s-vxwork-sparcv9.ads: Likewise.
3539         * s-vxwork-x86.ads: Likewise.
3540         * s-wchcnv.adb: Likewise.
3541         * s-wchcnv.ads: Likewise.
3542         * s-wchcon.adb: Likewise.
3543         * s-wchcon.ads: Likewise.
3544         * s-wchjis.adb: Likewise.
3545         * s-wchjis.ads: Likewise.
3546         * s-wchstw.adb: Likewise.
3547         * s-wchstw.ads: Likewise.
3548         * s-wchwts.adb: Likewise.
3549         * s-wchwts.ads: Likewise.
3550         * s-widboo.adb: Likewise.
3551         * s-widboo.ads: Likewise.
3552         * s-widcha.adb: Likewise.
3553         * s-widcha.ads: Likewise.
3554         * s-widenu.adb: Likewise.
3555         * s-widenu.ads: Likewise.
3556         * s-widlli.adb: Likewise.
3557         * s-widlli.ads: Likewise.
3558         * s-widllu.adb: Likewise.
3559         * s-widllu.ads: Likewise.
3560         * s-widwch.adb: Likewise.
3561         * s-widwch.ads: Likewise.
3562         * s-win32.ads: Likewise.
3563         * s-winext.ads: Likewise.
3564         * s-wwdcha.adb: Likewise.
3565         * s-wwdcha.ads: Likewise.
3566         * s-wwdenu.adb: Likewise.
3567         * s-wwdenu.ads: Likewise.
3568         * s-wwdwch.adb: Likewise.
3569         * s-wwdwch.ads: Likewise.
3570         * scans.adb: Likewise.
3571         * scans.ads: Likewise.
3572         * seh_init.c: Likewise.
3573         * sfn_scan.adb: Likewise.
3574         * sinfo.adb: Likewise.
3575         * sinfo.ads: Likewise.
3576         * sinput.adb: Likewise.
3577         * sinput.ads: Likewise.
3578         * snames.adb: Likewise.
3579         * snames.ads: Likewise.
3580         * socket.c: Likewise.
3581         * stand.adb: Likewise.
3582         * stand.ads: Likewise.
3583         * stringt.adb: Likewise.
3584         * stringt.ads: Likewise.
3585         * sysdep.c: Likewise.
3586         * system-aix.ads: Likewise.
3587         * system-darwin-ppc.ads: Likewise.
3588         * system-darwin-x86.ads: Likewise.
3589         * system-darwin-x86_64.ads: Likewise.
3590         * system-freebsd-x86.ads: Likewise.
3591         * system-hpux-ia64.ads: Likewise.
3592         * system-hpux.ads: Likewise.
3593         * system-irix-n32.ads: Likewise.
3594         * system-irix-n64.ads: Likewise.
3595         * system-irix-o32.ads: Likewise.
3596         * system-linux-alpha.ads: Likewise.
3597         * system-linux-hppa.ads: Likewise.
3598         * system-linux-ia64.ads: Likewise.
3599         * system-linux-mips.ads: Likewise.
3600         * system-linux-mipsel.ads: Likewise.
3601         * system-linux-ppc.ads: Likewise.
3602         * system-linux-ppc64.ads: Likewise.
3603         * system-linux-s390.ads: Likewise.
3604         * system-linux-s390x.ads: Likewise.
3605         * system-linux-sh4.ads: Likewise.
3606         * system-linux-sparc.ads: Likewise.
3607         * system-linux-sparcv9.ads: Likewise.
3608         * system-linux-x86.ads: Likewise.
3609         * system-linux-x86_64.ads: Likewise.
3610         * system-lynxos-ppc.ads: Likewise.
3611         * system-lynxos-x86.ads: Likewise.
3612         * system-mingw-x86_64.ads: Likewise.
3613         * system-mingw.ads: Likewise.
3614         * system-rtems.ads: Likewise.
3615         * system-solaris-sparc.ads: Likewise.
3616         * system-solaris-sparcv9.ads: Likewise.
3617         * system-solaris-x86.ads: Likewise.
3618         * system-solaris-x86_64.ads: Likewise.
3619         * system-tru64.ads: Likewise.
3620         * system-vms-ia64.ads: Likewise.
3621         * system-vms-zcx.ads: Likewise.
3622         * system-vms.ads: Likewise.
3623         * system-vms_64.ads: Likewise.
3624         * system-vxworks-arm.ads: Likewise.
3625         * system-vxworks-m68k.ads: Likewise.
3626         * system-vxworks-mips.ads: Likewise.
3627         * system-vxworks-ppc.ads: Likewise.
3628         * system-vxworks-sparcv9.ads: Likewise.
3629         * system-vxworks-x86.ads: Likewise.
3630         * system.ads: Likewise.
3631         * table.adb: Likewise.
3632         * table.ads: Likewise.
3633         * targext.c: Likewise.
3634         * targparm.ads: Likewise.
3635         * tree_in.adb: Likewise.
3636         * tree_in.ads: Likewise.
3637         * tree_io.adb: Likewise.
3638         * tree_io.ads: Likewise.
3639         * types.adb: Likewise.
3640         * types.ads: Likewise.
3641         * uintp.adb: Likewise.
3642         * uintp.ads: Likewise.
3643         * uname.adb: Likewise.
3644         * uname.ads: Likewise.
3645         * urealp.adb: Likewise.
3646         * urealp.ads: Likewise.
3647         * vx_stack_info.c: Likewise.
3648         * widechar.adb: Likewise.
3649         * widechar.ads: Likewise.
3650         * exp_attr.adb: Change copyright header to refer to version
3651         3 of the GNU General Public License and to point readers at the
3652         COPYING3 file and the FSF's license web page.
3653         * sem.adb: Likewise.
3654         * sem_attr.ads: Likewise.
3655         * freeze.adb: Likewise.
3656         * freeze.ads: Likewise.
3657         * errout.ads: Likewise.
3658         * erroutc.adb: Likewise.
3659         * exp_ch11.ads: Likewise.
3661 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
3663         * config-lang.in: Change copyright header to refer to version
3664         3 of the GNU General Public License and to point readers at the
3665         COPYING3 file and the FSF's license web page.
3666         * gcc-interface/trans.c: Likewise.
3667         * gnathtml.pl: Likewise.
3668         * gcc-interface/ada.h: Likewise.  Remove runtime exception.
3669         * gcc-interface/gigi.h: Likewise.
3670         * gcc-interface/misc.c: Likewise.
3671         * gcc-interface/targtyps.c: Likewise.
3673 2009-04-09  Nicolas Setton  <setton@adacore.com>
3675         * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
3677         * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
3678         struct_timeval.
3680 2009-04-09  Bob Duff  <duff@adacore.com>
3682         * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
3683         internally-generated nodes related to select statements to avoid
3684         confusing the debugger.
3686 2009-04-09  Pascal Obry  <obry@adacore.com>
3688         * make.adb: Ensure that all linker arguments are duplicated.
3690 2009-04-09  Robert Dewar  <dewar@adacore.com>
3692         * sem_ch5.adb: Minor reformatting
3694 2009-04-09  Vincent Celier  <celier@adacore.com>
3696         * vms_data.ads:
3697         Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
3698         New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
3699         New qualifier /LXDEBUG=nnn for -gnatDnnn
3700         For H820-010
3702         * gnat_ugn.texi:
3703         Update documentation for VMS qualifiers equivalent to -gnatGnn and
3704         -gnatDnn
3706 2009-04-09  Nicolas Setton  <setton@adacore.com>
3708         * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
3709         to match layout of siginfo_t in sys/signal.h.
3711         * gcc-interface/Makefile.in: Add section for x86_64 darwin.
3713 2009-04-09  Thomas Quinot  <quinot@adacore.com>
3715         * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
3717 2009-04-09  Nicolas Setton  <setton@adacore.com>
3719         * s-oscons-tmplt.c: Allow long lines in the generated spec.
3720         Add generation of Darwin-specific constants needed when binding to the
3721         pthread library.
3723 2009-04-09  Robert Dewar  <dewar@adacore.com>
3725         * checks.adb:
3726         (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
3727         when no invalid values exist, Avoid duplicate read of atomic variable.
3729         * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
3730         (Standard_Unsigned): Set Is_Known_Valid
3732         * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
3733         subtype declaration if no constraint.
3734         (Set_Modular_Size): Set Is_Known_Valid if appropriate
3735         (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
3737 2009-04-09  Robert Dewar  <dewar@adacore.com>
3739         * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
3740         switch.ads: for numeric switches, an optional equal sign is always
3741         allowed.
3743 2009-04-09  Vincent Celier  <celier@adacore.com>
3745         * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
3746         the case of file names is not significant.
3748 2009-04-09  Vincent Celier  <celier@adacore.com>
3750         * errout.adb: Remove dependency on package Style
3752         * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
3753         moved to Stylesw.
3754         
3755         * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
3756         Styleg.
3758         * errutil.adb, par.adb: Import Stylesw
3760 2009-04-09  Arnaud Charlet  <charlet@adacore.com>
3762         * opt.ads: Fix typos.
3764 2009-04-09  Robert Dewar  <dewar@adacore.com>
3766         * einfo.adb: Minor reformatting
3768 2009-04-09  Robert Dewar  <dewar@adacore.com>
3770         * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
3771         units.
3773         * styleg-c.ads, styleg-c.adb: Removed, no longer used.
3775 2009-04-09  Robert Dewar  <dewar@adacore.com>
3777         * g-comver.adb: Minor reformatting.
3779 2009-04-09  Thomas Quinot  <quinot@adacore.com>
3781         * lib-load.ads (Load_Unit): Update documentation.
3783 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
3785         * lib-load.adb (Load_Unit): When loading the parent of a child unit
3786         named in a with_clause, retain the with_clause to preserve a
3787         limited_with indication.
3789 2009-04-09  Robert Dewar  <dewar@adacore.com>
3791         * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
3792         exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
3793         sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
3794         possible to replace an OR of two separate tests.
3796 2009-04-09  Robert Dewar  <dewar@adacore.com>
3798         * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
3799         Maximum_Messages.
3800         
3801         * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
3802         warning status as well.
3803         
3804         * opt.ads (Maximum_Messages): New name for Maximum_Errors.
3805         
3806         * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
3807         Maximum_Messages.
3808         
3809         * bindusg.adb, usage.adb: Update line for -gnatm switch
3811         * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
3812         -mnn binder switch.
3814 2009-04-09  Robert Dewar  <dewar@adacore.com>
3816         * sem_ch10.adb: Minor reformatting.
3818 2009-04-09  Bob Duff  <duff@adacore.com>
3820         * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
3821         Set Sloc of generated nodes for calls to Undefer_Aborts and
3822         Save_Occurrence to No_Location, so the debugger ignores them and
3823         therefore does not jump back and forth when single stepping.
3825 2009-04-09  Robert Dewar  <dewar@adacore.com>
3827         * switch-b.adb: Minor reformatting.
3829 2009-04-09  Robert Dewar  <dewar@adacore.com>
3831         * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
3832         sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
3833         exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
3834         sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
3835         einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
3836         tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
3837         exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
3838         sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
3839         sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
3840         sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
3841         Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
3843 2009-04-09  Robert Dewar  <dewar@adacore.com>
3845         * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
3847         * atree.h: Add Elist26
3849         * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
3850         backends.
3852 2009-04-09  Javier Miranda  <miranda@adacore.com>
3854         * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
3855         retrieve from the Dispatch_Table_Wrappers list the external name.
3856         Addition of documentation.
3857         (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
3858         used to export secondary dispatch tables (in the previous version of
3859         the frontend only primary dispatch tables were exported). Addition of
3860         documentation.
3861         (Import_DT): New subprogram (internal of Make_Tags). Used to import a
3862         dispatch table of a given tagged type. 
3863         (Make_Tags): Modified to import secondary dispatch tables.
3865         * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
3866         (Constant_Redeclaration): Code cleanup.
3868         * einfo.ads (Dispatch_Table_Wrapper): Renamed to
3869         Dispatch_Table_Wrappers.  Update documentation.
3871         * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
3872         Renamed to Dispatch_Table_Wrappers.
3874         * sem_util.adb (Collect_Interface_Components): Improve handling of
3875         private types.
3877         * atree.ads (Elist26, Set_Elist26): New subprograms
3879         * atree.adb (Elist26, Set_Elist26): New subprograms
3881 2009-04-09  Javier Miranda  <miranda@adacore.com>
3883         * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
3884         (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
3885         tagged types.
3887 2009-04-09  Robert Dewar  <dewar@adacore.com>
3889         * s-direio.adb: Minor reformatting
3891         * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
3893 2009-04-09  Robert Dewar  <dewar@adacore.com>
3895         * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
3897 2009-04-09  Pascal Obry  <obry@adacore.com>
3899         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
3900         s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
3901         a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
3902         a-filico.ads: Add some missing overriding keywords.
3904 2009-04-09  Pascal Obry  <obry@adacore.com>
3906         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
3907         a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
3908         a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
3909         reformatting.
3911 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
3913         * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
3914         missing overriding indicator if the new declaration is not seen as
3915         primitive.
3917 2009-04-09  Thomas Quinot  <quinot@adacore.com>
3919         * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
3920         overflows in computation of bounds.
3922 2009-04-09  Pascal Obry  <obry@adacore.com>
3924         * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
3925         typos in comment.
3927 2009-04-09  Robert Dewar  <dewar@adacore.com>
3929         * sem_attr.adb (Check_Stream_Attribute): Check violation of
3930         restriction No_Streams
3932         * gnat_rm.texi: Clarify No_Streams restriction
3934         * g-socket.adb: Minor reformatting.
3936 2009-04-09  Thomas Quinot  <quinot@adacore.com>
3938         * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
3940 2009-04-09  Geert Bosch  <bosch@adacore.com>
3942         * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
3943         (Set_Result): Likewise.
3944         (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
3945         conversion, as required by RM 4.6(31).
3947 2009-04-08  Robert Dewar  <dewar@adacore.com>
3949         * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
3950         suppressed.
3951         
3952         * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
3953         resolution steps.
3955 2009-04-08  Robert Dewar  <dewar@adacore.com>
3957         * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
3958         No_Local_Allocators restriction preventing local instantiation.
3960 2009-04-08  Thomas Quinot  <quinot@adacore.com>
3962         * sem_eval.adb: Minor comment fix
3964 2009-04-08  Thomas Quinot  <quinot@adacore.com>
3966         * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
3967         New limited controlled type used to automate the initialization and
3968         finalization of the sockets implementation.
3969         (GNAT.Sockets.Initialize, Finalize): Make these no-ops
3971 2009-04-08  Vincent Celier  <celier@adacore.com>
3973         * prj-attr.adb: New read-only project-level attribute Project_Dir
3975         * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
3976         read-only attribute of the same name.
3977         (Process_Declarative_Items): Call Add_Attributes with Project_Dir
3978         (Recursive_Process): Ditto
3980         * snames.adb: Add new standard name Project_Dir
3982         * snames.ads: Add new standard name Project_Dir
3984 2009-04-08  Thomas Quinot  <quinot@adacore.com>
3986         * checks.adb: Minor reformatting
3988 2009-04-08  Vincent Celier  <celier@adacore.com>
3990         * vms_data.ads: Add documentation for new style keyword
3991         OVERRIDING_INDICATORS
3993 2009-04-08  Robert Dewar  <dewar@adacore.com>
3995         * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
3996         spec is in the current unit.
3998 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
4000         * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
4001         presence of entity.
4003         * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
4005 2009-04-08  Vincent Celier  <celier@adacore.com>
4007         * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
4009 2009-04-08  Thomas Quinot  <quinot@adacore.com>
4011         * checks.ads: Minor reformatting
4013 2009-04-08  Robert Dewar  <dewar@adacore.com>
4015         * gnat_rm.texi: Update documentation of pragma Obsolescent
4016         
4017         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
4018         be omitted, and allow Entity parameter to be omitted.
4020 2009-04-08  Thomas Quinot  <quinot@adacore.com>
4022         * exp_util.adb: Minor comment fix
4024 2009-04-08  Robert Dewar  <dewar@adacore.com>
4026         * g-socket.ads: Fix bad syntax in pragma Obsolescent
4028         * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
4029         argument with no identifier following one that has an identifier. Was
4030         missed in some cases.
4032         * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
4033         identifier.
4034         (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
4036         * snames.adb: Add Name_Policy
4038         * snames.ads: Add Name_Policy
4040 2009-04-08  Robert Dewar  <dewar@adacore.com>
4042         * gnat_rm.texi: Minor reformatting
4044         * par-ch2.adb: Minor reformatting
4046 2009-04-08  Robert Dewar  <dewar@adacore.com>
4048         * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
4050 2009-04-08  Robert Dewar  <dewar@adacore.com>
4052         * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
4053         properly in the presence of Remote_Types or Remote_Call_Interface.
4055         * sem_util.adb: Add comment.
4057 2009-04-08  Robert Dewar  <dewar@adacore.com>
4059         * ug_words: Add /ASSUME_VALID for -gnatB
4061         * vms_data.ads: Add /ASSUME_VALID for -gnatB
4063         * sem_cat.adb: Add clarifying commment
4065         * a-direio.ads (Bytes): Make sure value is non-zero
4067 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
4069         * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
4070         that does not come from source, check for a rewritten function call in
4071         prefixed notation before other forms of rewriting.
4073 2009-04-08  Robert Dewar  <dewar@adacore.com>
4075         * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
4076         these are now obsolescent units used only for bootrapping with an
4077         older compiler.
4079 2009-04-08  Robert Dewar  <dewar@adacore.com>
4081         * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
4083         * sem_ch3.adb: Minor comment updates
4085 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
4087         * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
4088         that come from source.
4090 2009-04-08  Tristan Gingold  <gingold@adacore.com>
4092         * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
4093         * gcc-interface/decl.c (prepend_attributes): New case
4094         Pragma_Thread_Local_Storage.
4095         * gcc-interface/utils.c (process_attributes): New case
4096         ATTR_THREAD_LOCAL_STORAGE.
4098 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
4100         * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
4101         by the back-end if it contains a call to a subprogram without a
4102         previous spec that is declared in the same unit.
4104         * errout.ads: Update comments on uses of dirs
4106 2009-04-08  Robert Dewar  <dewar@adacore.com>
4108         * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
4110 2009-04-08  Tristan Gingold  <gingold@adacore.com>
4112         * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
4113         variables.
4114         Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
4116 2009-04-08  Vincent Celier  <celier@adacore.com>
4118         * prj-nmsc.adb:
4119         (Add_Source): Add the mapping of the unit name to source file name in
4120         the Unit_Sources_HT hash table, if the unit name is not null.
4122         * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
4124         * prj.ads (Unit_Sources_Htable): New hash table instantiation
4125         (Project_Tree_Data): New component Unit_Sources_HT
4127 2009-04-08  Thomas Quinot  <quinot@adacore.com>
4129         * sem_ch8.adb: Minor reformatting.
4130         Minor code reorganization.
4132 2009-04-08  Robert Dewar  <dewar@adacore.com>
4134         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
4135         snames.ads, freeze.adb, par-prag.adb: Add implementation of
4136         pragma Thread_Local_Storage, setting new flag
4137         Has_Pragma_Thread_Local_Storage in corresponding entities.
4139 2009-04-08  Emmanuel Briot  <briot@adacore.com>
4141         * prj.ads: Update comment on switches file
4143         * prj-nmsc.adb: Code clean up. Use renaming clauses.
4145 2009-04-08  Robert Dewar  <dewar@adacore.com>
4147         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
4149 2009-04-08  Thomas Quinot  <quinot@adacore.com>
4151         * ali-util.adb: Minor comment fix
4153 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
4155         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
4156         appears in a context clause, and the enclosing package is mentioned in
4157         a limited_with_clause.
4158         (Use_One_Type): Reject clause if type is still incomplete.
4160 2009-04-08  Emmanuel Briot  <briot@adacore.com>
4162         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
4163         avoid copies of Source_Data variables when possible, since these
4164         involve calls to memcpy() which are done too many times.
4166 2009-04-08  Robert Dewar  <dewar@adacore.com>
4168         * exp_ch4.adb (Expand_Concatenate): Clean up code
4170 2009-04-07  Thomas Quinot  <quinot@adacore.com>
4172         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
4173         type for the case of concatenating a constrained array indexed by an
4174         enumeration type.
4176 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4178         * sem_ch6.adb (Check_Conformance): when checking conformance of an
4179         operation that overrides an abstract operation inherited from an
4180         interface, return False if only one of the controlling formals is an
4181         access parameter.
4183 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4185         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
4186         mandated by AI05-105.
4188 2009-04-07  Vincent Celier  <celier@adacore.com>
4190         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
4192 2009-04-07  Thomas Quinot  <quinot@adacore.com>
4194         * usage.adb: Minor fix in usage message.
4196         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
4197         match declaration; the correct subtype is Node_Id, not Entity_Id,
4198         because the expected node kind is an identifier, not a defining
4199         identifier.
4201         * switch-c.adb: Minor reformatting.
4203         * uintp.adb: Minor reformatting.
4205 2009-04-07  Robert Dewar  <dewar@adacore.com>
4207         * exp_ch13.adb: Minor reformatting
4209 2009-04-07  Robert Dewar  <dewar@adacore.com>
4211         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
4212         against missing parent.
4214 2009-04-07  Thomas Quinot  <quinot@adacore.com>
4216         * xoscons.adb: Minor reformatting
4218 2009-04-07  Robert Dewar  <dewar@adacore.com>
4220         * rtsfind.ads: Remove obsolete string concatenation entries
4222 2009-04-07  Robert Dewar  <dewar@adacore.com>
4224         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
4226 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4228         * sem_ch10.adb (Check_Body_Required): Handle properly imported
4229         subprograms.
4231 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
4233         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
4234         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
4235         is of a scalar or string type then suppress the setting of the
4236         expression to Empty.
4238         * freeze.adb (Warn_Overlay): Also emit the warnings about default
4239         initialization for the cases of scalar and string objects when
4240         Init_Or_Norm_Scalars is True.
4242 2009-04-07  Bob Duff  <duff@adacore.com>
4244         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
4246 2009-04-07  Bob Duff  <duff@adacore.com>
4248         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
4249         Form parameter of Text_Translation=No allows binary mode for Text_IO
4250         files.
4252         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
4254 2009-04-07  Javier Miranda  <miranda@adacore.com>
4256         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
4257         processing the bounds for bit packed arrays or VM target machines.
4259 2009-04-07  Thomas Quinot  <quinot@adacore.com>
4261         * g-sothco.ads (Int_Access): Remove extraneous access type (use
4262         anonymous access instead).
4263         (Get_Socket_From_Set): Fix incorrectly reverted formals
4264         Last and Socket to match the underlying C routine.
4266         * g-socket.adb, g-socket.ads
4267         (Get): Use named parameter associations instead of positional ones in
4268         call go Get_Socket_From_Set, since this routine has two formals of the
4269         same type.
4270         (Image): New procedure.
4272         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
4273         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
4274         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
4275         for type of Arg formal.
4277         * sem_warn.adb: Minor reformatting
4279 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4281         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
4282         over record components.
4284 2009-04-07  Nicolas Roche  <roche@adacore.com>
4286         * gsocket.h:
4287         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
4288         has disappeared between VxWorks 6.4 and VxWorks 6.5
4289         In RTP mode use time.h instead of times.h
4291 2009-04-07  Robert Dewar  <dewar@adacore.com>
4293         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
4295 2009-04-07  Kevin Pouget  <pouget@adacore.com>
4297         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
4298         expanded code for constrained types.
4300 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4302         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
4303         AI05-105: in an object renaming declaration, anonymousness is a name
4304         resolution rule.
4306         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
4308 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
4310         * g-comlin.adb (Expansion): Fix old regression: also return directory
4311         names when matching.
4313 2009-04-07  Robert Dewar  <dewar@adacore.com>
4315         * exp_ch4.adb:
4316         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
4317         (Expand_Concatenate): New name for Expand_Concatenate_String which has
4318         been rewritten to handle all types.
4319         (Expand_Concatenate_Other): Remove
4321 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4323         * lib-xref.adb (Generate_Reference): A default subprogram in an
4324         instance appears within the tree for the instance, but generates an
4325         implicit reference in the ALI.
4327 2009-04-07  Javier Miranda  <miranda@adacore.com>
4329         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
4330         derived type that has discriminants, propagate the list of interfaces
4331         to the corresponding new base type. In addition, propagate also
4332         attribute Limited_Present (found working in this patch).
4334 2009-04-07  Robert Dewar  <dewar@adacore.com>
4336         * exp_ch4.adb: Rewrite concatenation expansion.
4338 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4340         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
4341         relevant to packages.
4343 2009-04-07  Robert Dewar  <dewar@adacore.com>
4345         * sem_attr.adb: Minor reformatting
4347         * sem_ch6.adb: Minor reformatting
4349 2009-04-07  Tristan Gingold  <gingold@adacore.com>
4351         * socket.c: Add more protections against S_resolvLib_ macros.
4353 2009-04-07  Thomas Quinot  <quinot@adacore.com>
4355         * sem_attr.adb: Minor reformatting
4357 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4359         * sem_ch6.adb (New_Overloaded_Entity): New predicate
4360         Is_Overriding_Alias to handle properly types that inherit two homonym
4361         operations that have distinct dispatch table entries.
4363 2009-04-07  Emmanuel Briot  <briot@adacore.com>
4365         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
4366         looking for the end of a parenthesis group
4368 2009-04-07  Tristan Gingold  <gingold@adacore.com>
4370         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
4372         * socket.c Don't use resolvLib_ macros if not defined.
4374 2009-04-07  Robert Dewar  <dewar@adacore.com>
4376         * g-socket.adb: Minor reformatting.
4378         * g-socthi-mingw.adb: Minor reformatting
4380         * g-sothco.ads: Minor reformatting
4382         * exp_ch4.adb:
4383         (Expand_Concatenate_String): Complete rewrite to generate efficient code
4384         inline instead of relying on external library routines.
4386         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
4387         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
4388         obsolescent
4390 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4392         * sem_attr.adb:
4393         (Eval_Attribute): for attributes of array objects that are not strings,
4394         attributes are not static if nominal subtype of object is unconstrained.
4396 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
4398         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
4399         operations for a type T in an instance do not override each other,
4400         when T is derived from a formal private type, the corresponding
4401         operations inherited by a type derived from T outside
4402         of the instance do not override each other either.
4404 2009-04-07  Robert Dewar  <dewar@adacore.com>
4406         (Osint.Fail): Change calling sequence to have one string arg
4407         (Make.Make_Failed): Same change
4408         All callers are adjusted to use concatenation
4410 2009-04-07  Robert Dewar  <dewar@adacore.com>
4412         * exp_ch4.adb: Fix documentation typo
4414 2009-04-07  Robert Dewar  <dewar@adacore.com>
4416         * tbuild.ads: Minor reformatting
4418 2009-04-07  Javier Miranda  <miranda@adacore.com>
4420         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
4421         when compiling under ZFP runtime.
4423 2009-04-07  Robert Dewar  <dewar@adacore.com>
4425         * g-comlin.adb: Minor reformatting
4427 2009-04-07  Thomas Quinot  <quinot@adacore.com>
4429         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
4430         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
4431         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
4432         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
4434 2009-04-07  Robert Dewar  <dewar@adacore.com>
4436         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
4438         * opt.ads (Sprint_Line_Limit): New parameter
4439         
4440         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
4441         
4442         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
4443         
4444         * usage.adb: Output information for -gnatGnn -gnatDnn
4446 2009-04-07  Robert Dewar  <dewar@adacore.com>
4448         * make.adb: Minor reformatting
4450 2009-04-07  Robert Dewar  <dewar@adacore.com>
4452         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
4454 2009-04-07  Robert Dewar  <dewar@adacore.com>
4456         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
4458 2009-04-07  Robert Dewar  <dewar@adacore.com>
4460         * checks.adb:
4461         Remove Assume_Valid parameter from In_Subrange_Of calls
4462         
4463         * sem_eval.adb:
4464         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
4465         (Is_In_Range): Remove incorrect use of Assume_Valid
4466         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
4467         
4468         * sem_eval.ads:
4469         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
4470         (Is_In_Range): Documentation cleanup
4471         (Is_Out_Of_Range): Documentation cleanup
4473         * gnat_rm.texi:
4474         Add documentation for Assume_No_Invalid_Values pragma
4476         * sem_ch12.adb: Minor reformatting
4478         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
4480         * sem_prag.adb: Improve error message.
4482         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
4483         LF/CR no longer recognized as line terminator
4485         * switch.ads: Minor documentation improvement
4487         * vms_data.ads: Minor reformatting
4489 2009-04-07  Robert Dewar  <dewar@adacore.com>
4491         * checks.adb (Determine_Range): Add Assume_Valid parameter
4492         
4493         * checks.ads (Determine_Range): Add Assume_Valid parameter
4494         
4495         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
4496          Is_Null_Loop to suppress warnings in a loop body.
4497         
4498         * exp_ch4.adb:
4499         (Rewrite_Comparison): Major rewrite to accomodate invalid values
4500         
4501         * exp_ch5.adb:
4502         (Expand_N_Loop_Statement): Delete loop known not to execute
4503         
4504         * opt.ads:
4505         (Assume_No_Invalid_Values): Now set to False, and as documented, this
4506          fully enables the proper handling of invalid values.
4507         
4508         * sem_attr.adb:
4509         New calling sequence for Is_In_Range
4510         
4511         * sem_ch5.adb:
4512         (Analyze_Iteration_Scheme): Accomodate possible invalid values
4513          in determining if a loop range is null.
4514         
4515         * sem_eval.adb:
4516         (Is_In_Range): Add Assume_Valid parameter
4517         (Is_Out_Of_Range): Add Assume_Valid_Parameter
4518         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
4519          also to do more accurate and complete range analysis, catching more
4520          cases.
4521         
4522         * sem_eval.ads:
4523         (Is_In_Range): Add Assume_Valid parameter
4524         (Is_Out_Of_Range): Add Assume_Valid_Parameter
4525         
4526         * sem_util.adb:
4527         New calling sequence for Is_In_Range
4528         
4529         * sinfo.adb:
4530         (Suppress_Loop_Warnings): New flag
4531         
4532         * sinfo.ads:
4533         (Is_Null_Loop): Update documentation
4534         (Suppress_Loop_Warnings): New flag
4535         
4536         * gnat_ugn.texi: Document -gnatB switch
4538 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
4540         * gnatvsn.ads: Bump version number.
4542 2009-04-07  Thomas Quinot  <quinot@adacore.com>
4544         * exp_ch3.adb: Minor rewording (comments)
4546 2009-04-07  Robert Dewar  <dewar@adacore.com>
4548         * exp_disp.adb: Minor reformatting
4550 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4552         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
4553         underlying type.
4554         * gcc-interface/trans.c (lvalue_required_p): Likewise.
4556 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4558         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
4559         Do not convert the result.  Remove obsolete comment.
4561 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4563         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
4564         DECL_CONTEXT.
4565         (Subprogram_Body_to_gnu): Fix pasto.
4567 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4569         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
4570         (void_type_decl_node): Remove.
4571         (init_gigi_decls): Likewise.
4572         (gnat_install_builtins): Declare.
4573         (record_builtin_type): Likewise.
4574         (create_type_stub_decl): Likewise.
4575         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
4576         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
4577         artificial.
4578         <E_Array_Subtype>: Use the index types, not only their name, in the
4579         record giving the names of the bounds, if any.
4580         For a packed array type, make it artificial only if the base type
4581         was artificial as well.  Remove redundant statement.
4582         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
4583         dummy types.
4584         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
4585         (rest_of_type_decl_compilation_no_defer): Likewise.
4586         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
4587         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
4588         and use create_type_stub_decl to build it.
4589         (gnat_pushdecl): Rewrite condition.
4590         (gnat_install_builtins): Remove bogus declaration.
4591         (record_builtin_type): New function.
4592         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
4593         of types.
4594         (create_type_stub_decl): New function.
4595         (create_type_decl): Assert that the type is not dummy.  If the type
4596         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
4597         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
4598         (build_vms_descriptor): Likewise.
4599         (init_gigi_decls): Delete and move bulk of code to...
4600         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
4601         (emit_range_check): Add gnat_node parameter.
4602         (emit_index_check): Likewise.
4603         (emit_check): Likewise.
4604         (build_unary_op_trapv): Likewise.
4605         (build_binary_op_trapv): Likewise.
4606         (convert_with_check): Likewise.
4607         (Attribute_to_gnu): Adjust calls for above changes.
4608         (call_to_gnu): Likewise.
4609         (gnat_to_gnu): Likewise.
4610         (assoc_to_constructor): Likewise.
4611         (pos_to_constructor): Likewise.
4612         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
4613         (process_type): Do not create TYPE_DECL for dummy types.
4615 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4617         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
4618         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
4619         * gcc-interface/utils.c: Fix comments.
4621 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4623         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
4624         move around.
4625         (gnat_to_gnu_type): Move around.
4626         (get_unpadded_type): Likewise.
4627         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
4628         Tidy comments.
4630 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4632         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
4633         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
4634         (call_to_gnu): Invoke it instead of manually checking.
4636 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
4638         * gcc-interface/utils.c (finish_record_type): Force structural equality
4639         checks if the record type is discriminated.
4641 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
4643         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
4644         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
4645         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
4646         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
4647         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
4648         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
4649         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
4651 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
4653         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
4654         of TREE_CONSTANT_OVERFLOW.
4656 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
4658         PR rtl-optimization/323
4659         * gcc-interface/misc.c (gnat_post_options): Set
4660         flag_excess_precision_cmdline.  Give an error for
4661         -fexcess-precision=standard for processors where the option is
4662         significant.
4664 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
4666         PR c/39323
4667         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
4668         on bit_align.
4670 2009-03-11  Olivier Hainque  <hainque@adacore.com>
4672         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
4673         checks processing, remove unintended TREE_TYPE walk on index type.
4675 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
4677         PR ada/39264
4678         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
4679         call make_packable_type on fat pointer types.
4680         <E_Array_Subtype>: Likewise.
4681         <E_Record_Subtype>: Call make_packable_type on all record types
4682         except for fat pointer types.
4683         (make_packable_type): Likewise.
4684         (gnat_to_gnu_field): Likewise.
4686 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
4688         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
4689         EH_MECHANISM change made on 2007-12-06.
4691 2009-02-26  Andreas Schwab  <schwab@suse.de>
4693         PR ada/39172
4694         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
4695         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
4696         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
4697         (AWK): Substitute.
4698         (target_cpu_default): Substitute.
4700 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
4702         PR ada/39221
4703         * a-teioed.adb (Expand): Fix Result overflow.
4705 2009-02-25  Laurent GUERBY <laurent@guerby.net>
4707         * gcc-interface/Makefile.in: Fix multilib handling for
4708         sparc64-linux.
4710 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4712         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
4714 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
4716         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
4718 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
4720         * gcc-interface/deftarg.c: Remove.
4722 2009-02-10  Olivier Hainque  <hainque@adacore.com>
4723             Eric Botcazou  <ebotcazou@adacore.com>
4725         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
4726         (copy_alias_set): Rename into...
4727         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
4728         underlying array of unconstrained arrays for the new type as well.
4729         If the old and new alias sets don't conflict, make one a subset of
4730         the other as per the OP parameter.
4731         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
4732         <E_Record_Type>: Do not copy the alias set for derived types.
4733         For all types, make the alias set of derived types a superset of
4734         that of their parent type.
4735         (make_aligning_type): Adjust calls to copy_alias_set.
4736         (make_packable_type): Likewise.
4737         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
4738         Check for alias set conflict instead of strict equality to issue the
4739         warning.
4741 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
4743         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
4744         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
4745         (copy_alias_set): Assert that arrays have the same aliasing settings.
4746         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
4748 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
4750         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
4751         Set TYPE_NONALIASED_COMPONENT on the array type.
4753 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
4755         * gcc-interface/Makefile.in: Fix mipsel linux handling.
4757 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
4759         * gcc-interface/Makefile.in: Fix multilib handling for
4760         powerpc64-linux.
4762 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
4764         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
4765         only useless conversions around renamed objects.
4767 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
4769         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
4770         the _Tag field before any discriminants in the field list.
4771         (components_to_record): Remove obsolete comment.
4775 Copyright (C) 2009 Free Software Foundation, Inc.
4777 Copying and distribution of this file, with or without modification,
4778 are permitted in any medium without royalty provided the copyright
4779 notice and this notice are preserved.