OSDN Git Service

2009-10-16 Joel Sherrill <joel.sherrill@oarcorp.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2009-10-16  Joel Sherrill <joel.sherrill@oarcorp.com>
2
3         * s-osinte-rtems.ads: Add mutex type to pthread_mutexattr_t
4         * s-stchop-rtems.adb: Correct binding to rtems_stack_checker_is_blown.
5
6 2009-10-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7
8         * env.c [__alpha__ && __osf__] (AES_SOURCE): Define.
9
10 2009-10-10  Samuel Tardieu  <sam@rfc1149.net>
11
12         * sem_eval.adb: Give a more precise error message.
13
14 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
15
16         PR ada/41383
17         * a-rttiev.adb (Time_Of_Event): Return Time_First for unset event.
18
19 2009-10-06  Samuel Tardieu  <sam@rfc1149.net>
20
21         PR ada/38333
22         * sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract
23         subprogram to be completed with a "pragma Import".
24
25 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
26
27         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>:
28         Generate an XVZ variable alongside the XVS type if the size is
29         not constant.
30         (maybe_pad_type): Minor tweak.
31
32 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
33
34         * gcc-interface/decl.c (check_ok_for_atomic): Do nothing if the type
35         doesn't come from source.
36
37 2009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
38
39         * gcc-interface/decl.c (gnat_to_gnu_component_type): Force at least
40         unit size for the component size of an array with aliased components.
41         (maybe_pad_type): Do not warn for MAX_EXPR.
42
43 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
44
45         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Factor out
46         common code processing the component type into...
47         <E_Array_Subtype>: Likewise.
48         (gnat_to_gnu_component_type): ...this new static function.
49         (maybe_pad_type): Minor cleanup.
50
51 2009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
52
53         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Rewrite
54         the handling of constrained discriminated record subtypes.
55         (components_to_record): Declare the type of the variants and of the
56         qualified union.
57         (build_subst_list): Move around.
58         (compute_field_positions): Rename into...
59         (build_position_list): ...this.  Return a TREE_VEC.
60         (annotate_rep): Adjust for above renaming.
61         (build_variant_list): New static function.
62         (create_field_decl_from): Likewise.
63         (get_rep_part): Likewise.
64         (get_variant_part): Likewise.
65         (create_variant_part_from): Likewise.
66         (copy_and_substitute_in_size): Likewise.
67
68 2009-09-28  Olivier Hainque  <hainque@adacore.com>
69
70         PR ada/41100
71         * gcc-interface/targtyps.c (get_target_default_allocator_alignment):
72         Account for observable alignments out of default allocators.
73
74 2009-09-28  Richard Henderson  <rth@redhat.com>
75
76         * gcc-interface/utils.c (gnat_install_builtins): Update call to
77         build_common_builtin_nodes.
78
79 2009-09-26  Eric Botcazou  <ebotcazou@adacore.com>
80
81         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Filter out
82         negative size for the array dimensions like in the constrained case.
83         <E_Array_Subtype>: Do not create an artificially non-constant high
84         bound if the low bound is non-constant.  Minor tweaks.
85
86         * gcc-interface/trans.c (lvalue_required_p): Add CONSTANT parameter
87         and turn ALIASED into a boolean parameter.  Adjust calls to self.
88         <N_Attribute_Reference>: Return 1 for more attributes.
89         <N_Object_Renaming_Declaration>: Return 1 for non-constant objects.
90         <N_Assignment_Statement>: Return 1 for the LHS.
91         (Identifier_to_gnu): Adjust calls to lvalue_required_p.
92         (call_to_gnu): Be prepared for wrapped boolean rvalues.
93
94 2009-09-25  Olivier Hainquqe  <hainque@adacore.com>
95             Eric Botcazou  <ebotcazou@adacore.com>
96
97         * gcc-interface/ada-tree.h (TYPE_REPRESENTATIVE_ARRAY): New language
98         specific node.  Representative array type for VECTOR_TYPE entities.
99         * gcc-interface/utils.c (handle_vector_type_attribute): New handler.
100         Turn an ARRAY_TYPE entity into a VECTOR_TYPE.   
101         (gnat_types_compatible_p): Handle VECTOR_TYPEs.
102         (convert): Likewise.  Arrange to produce VECTOR_CST out of constant
103         array aggregates for VECTOR_TYPE entities.
104         (unchecked_convert): Likewise.
105         (maybe_vector_array): New function. If EXP has VECTOR_TYPE, return EXP
106         converted to the associated TYPE_REPRESENTATIVE_ARRAY.
107         (handle_pure_attribute, handle_sentinel_attribute,
108         handle_noreturn_attribute, handle_malloc_attribute,
109         handle_vector_size_attribute): Replace uses of qE format by qs.
110         Remove GCC_DIAG_STYLE definition.
111         * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Convert
112         vector input to representative array type on entry.
113         <N_Op_Eq, etc>: Likewise.
114         * gcc-interface/gigi.h (maybe_vector_array): Declare.
115         (VECTOR_TYPE_P): New predicate.
116         * gcc-interface/misc.c (gnat_print_type): Handle VECTOR_TYPE.
117
118 2009-09-24  Eric Botcazou  <ebotcazou@adacore.com>
119
120         * gcc-interface/ada.h: Fix outdated comment.
121         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Use MARK_VISITED in
122         lieu of mark_visited.
123         * gcc-interface/gigi.h (mark_visited): Change type of parameter.
124         (MARK_VISITED): New macro.
125         (gnat_truthvalue_conversion): Delete.
126         * gcc-interface/decl.c (gnat_to_gnu_entity): Use MARK_VISITED in lieu
127         of mark_visited.
128         (annotate_rep): Fix formatting and tidy.
129         (compute_field_positions): Get rid of useless variable.
130         * gcc-interface/trans.c (gnat_to_gnu): Retrieve the Nkind of the GNAT
131         node only once.  Use IN operator for the Nkind in more cases.
132         Remove calls to gnat_truthvalue_conversion.
133         (mark_visited): Change type of parameter and adjust.
134         (mark_visited_r): Dereference TP only once.
135         (add_decl_expr): Use MARK_VISITED in lieu of mark_visited.
136         * gcc-interface/utils2.c (gnat_truthvalue_conversion): Delete.
137         (build_binary_op): Remove calls to gnat_truthvalue_conversion.
138         (build_unary_op): Likewise.
139
140 2009-09-24  Dave Korn  <dave.korn.cygwin@gmail.com>
141
142         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Simplify test for
143         a-except% in target pairs list; don't (implicitly) compare whitespace.
144
145 2009-09-24  Jakub Jelinek  <jakub@redhat.com>
146
147         * gcc-interface/utils.c (gnat_pushdecl): Don't set
148         DECL_NO_STATIC_CHAIN, set DECL_STATIC_CHAIN for
149         nested functions.
150
151 2009-09-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
152
153         * s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0.
154         Bind to getpagesize() in RTEMS 4.10 and newer.
155
156 2009-09-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
157
158         * env.c [__alpha__ && __osf__] (_BSD): Define.
159         * init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
160         to const char *.
161
162 2009-09-18  Pascal Obry  <obry@adacore.com>
163
164         * mingw32.h: Activate Unicode support for x86-64 Windows platform.
165
166 2009-09-18  Vadim Godunko  <godunko@adacore.com>
167
168         * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
169
170 2009-09-18  Javier Miranda  <miranda@adacore.com>
171
172         * exp_aggr.adb (Backend_Processing_Possible): Disable backend
173         processing for array aggregates in the VM backend if the array has
174         aliased components.
175
176 2009-09-18  Ed Schonberg  <schonberg@adacore.com>
177
178         * sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
179         the prefix indicates a previous semantic error, and this is the first
180         error in the program.
181
182 2009-09-18  Bob Duff  <duff@adacore.com>
183
184         * gnat_ugn.texi: Minor editing.
185
186 2009-09-18  Vincent Celier  <celier@adacore.com>
187
188         * prj.ads, prj.adb (Project_Data): New component
189         Imported_Directories_Switches.
190
191 2009-09-18  Pascal Obry  <obry@adacore.com>
192
193         * mingw32.h: Include standard _mingw.h file.
194         Define _WIN32_WINNT only if not already defined.
195
196 2009-09-18  Thomas Quinot  <quinot@adacore.com>
197
198         * g-socket.adb (Is_Open): New function indicating whether a
199         Selector_Type object is open.
200
201 2009-09-18  Vincent Celier  <celier@adacore.com>
202
203         * osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
204         is deleted before creating it.
205
206 2009-09-18  Robert Dewar  <dewar@adacore.com>
207
208         * bindgen.adb: Minor reformatting
209
210 2009-09-18  Arnaud Charlet  <charlet@adacore.com>
211
212         * s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
213         s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
214         signal handler is installed.
215         * s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
216         tasks if Abort_Task_Interrupt cannot be used.
217
218 2009-09-18  Vincent Celier  <celier@adacore.com>
219
220         * prj-tree.ads: Minor comment update
221
222 2009-09-17  Bob Duff  <duff@adacore.com>
223
224         * g-socket.ads: Document the fact that Close_Selector has no effect on
225         a closed selector.
226         * g-socket.adb: Raise an exception when a Selector that should be open
227         is closed.
228         (Check_Selector): Declare RSig as a constant rather than a renames,
229         less confusing.
230
231 2009-09-17  Robert Dewar  <dewar@adacore.com>
232
233         * exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
234         prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb,
235         prj-tree.ads: Minor reformatting
236
237 2009-09-17  Emmanuel Briot  <briot@adacore.com>
238
239         * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
240         spec.
241         (Do_Autoconf): If the object directory does not exists, create auto.cgpr
242         in a temporary directory instead
243
244 2009-09-17  Bob Duff  <duff@adacore.com>
245
246         * a-dynpri.adb (Set_Priority): Don't do anything if the task is already
247         terminated.
248         (Get_Priority): Correct message for "terminated" case -- it said "null".
249
250 2009-09-17  Robert Dewar  <dewar@adacore.com>
251
252         * exp_ch6.adb: Minor reformatting
253
254 2009-09-17  Emmanuel Briot  <briot@adacore.com>
255
256         * gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
257         switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
258         (Project_Node_Tree_Data.Project_Path): New field.
259
260         * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
261
262 2009-09-17  Emmanuel Briot  <briot@adacore.com>
263
264         * prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
265         Remove duplicate code.
266         (Prj.Ext): Fix memory leak
267         (Check): Now allow the syntax "-Xfoo=" to set an empty value to the
268         variable. This was previously allowed in the code in
269         Is_External_Assignment, and some tests rely on it
270
271 2009-09-17  Bob Duff  <duff@adacore.com>
272
273         * gnat_rm.texi, s-oscons-tmplt.c: Minor typo
274
275 2009-09-17  Emmanuel Briot  <briot@adacore.com>
276
277         * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
278         makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
279         prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
280         prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
281         Scenario variables are now specific to each project tree loaded in
282         memory.
283         Code clean ups.
284
285 2009-09-17  Javier Miranda  <miranda@adacore.com>
286
287         * exp_disp.adb (Make_DT): Remove wrong line of code that was
288         undocumented and probably added by mistake.
289
290 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
291
292         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
293         conversions between original and packable version of types from
294         the expression.
295
296 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
297
298         * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
299         If a padding type was made for the field, declare it.
300         (components_to_record): Add DEBUG_INFO_P parameter.  Adjust call
301         to gnat_to_gnu_field and call to self.
302         (gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
303         <E_Array_Subtype>: Likewise.
304         Adjust calls to gnat_to_gnu_field and components_to_record.
305
306 2009-09-16  Robert Dewar  <dewar@adacore.com>
307
308         * prj-nmsc.adb: Minor reformatting
309
310 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
311
312         * exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
313         expression is a by-reference type (tagged or inherently limited)
314         introduce an access type to capture references to the values of each
315         branch of the conditional.
316
317 2009-09-16  Emmanuel Briot  <briot@adacore.com>
318
319         * prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
320         (Project_Name_And_Node.Display_Name): new field
321         The display name of a project (as written in the .gpr file) is now
322         computed when the project file itself is parsed, not when it is
323         processed.
324
325 2009-09-16  Thomas Quinot  <quinot@adacore.com>
326
327         * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
328         intrinsics untouched (to be expanded later on by gigi) if an external
329         name has been specified.
330         (Freeze_Entity): Do not generate a default external name for
331         imported subprograms with convention Intrinsic (so that the above code
332         can identify the case where an external name has been explicitly
333         provided).
334
335         * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
336         replaced by something else due to an existing #define clause.
337
338 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
339
340         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
341         Parameter_Association node, created for the extra actual generated for
342         an access parameter of a function that dispatches on result, to prevent
343         double generation of such actuals when the call is rewritten is a
344         dispatching call.
345         * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
346         * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
347         that carry this flag when rewriting the original call as a dispatching
348         call, after propagating the controlling tag.
349
350 2009-09-16  Vincent Celier  <celier@adacore.com>
351
352         * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
353         in the source data.
354         (Check_File): New parameter Source_Dir_Rank, to check if a duplicate
355         source is allowed.
356         (Find_Source_Dirs): New parameter Rank to be recorded with the source
357         directories.
358         (Search_Directories): Call Check_File with the rank of the directory
359         * prj.adb (Project_Empty): Add new component Source_Dir_Ranks
360         (Free): Free also Number_Lists
361         (Reset): Init also Number_Lists
362         * prj.ads (Number_List_Table): New dynamic table for lists of numbers
363         (Source_Data): New component Source_Dir_Rank. Remove component
364         Known_Order_Of_Source_Dirs, no longer needed.
365         (Project_Data): New component Source_Dir_Ranks
366         (Project_Tree_Data): New components Number_Lists
367
368 2009-09-16  Vincent Celier  <celier@adacore.com>
369
370         * gprep.adb (Yes_No): New global constant
371         Unix_Line_Terminators: New global Boolean variable
372         (Process_One_File): Create the out file with a "Text_Translation=" form
373         that depends on the use of option -T.
374         (Scan_Command_Line): Add option -T
375         (Usage): Add line for option -T
376
377 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
378
379         * exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
380         predicate that describes a proper subset of
381         Is_Predefined_Dispatching_Operation and excludes stream operations,
382         which can be overridden by the user.
383         * sem_ch6.adb (Create_Extra_Formals): use
384         Is_Predefined_Internal_Operation, so that stream operations get extra
385         formals.
386         * exp_ch6.adb (Prevent double generation of extra actuals in calls to
387         'Input, which may be expanded twice, first as a function call and then
388         as a dispatching call.
389
390 2009-09-16  Thomas Quinot  <quinot@adacore.com>
391
392         * s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
393         * g-expect.adb (Set_Up_Child_Communications): Use
394         System.OS_Constants.Target_OS to determine whether running on Windows.
395
396 2009-09-14  Richard Henderson  <rth@redhat.com>
397
398         * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
399
400 2009-09-14  Eric Botcazou  <ebotcazou@adacore.com>
401
402         * exp_dbug.ads (Packed Array Encoding): Document the new encoding for
403         the unconstrained case.
404         * gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
405         the encoding.  Do not give a name to the pointer type to the XUT type.
406         * gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
407         for fat pointer types, if any.  Make sure DECL_ARTIFICIAL is cleared
408         on nodes with DECL_ORIGINAL_TYPE set.
409         (update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
410         for fat pointer types.  Make sure DECL_ARTIFICIAL is cleared.
411
412 2009-09-14  Richard Henderson  <rth@redhat.com>
413
414         * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
415         default_init_unwind_resume_libfunc.
416         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use
417         __builtin_eh_pointer.
418         * gcc-interface/utils.c (gnat_install_builtins): Update call
419         to build_common_builtin_nodes.
420
421 2009-09-13  Richard Guenther  <rguenther@suse.de>
422             Rafael Avila de Espindola  <espindola@google.com>
423
424         * gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables
425         eh_personality_libfunc and lang_eh_runtime_type.
426         (LANG_HOOKS_EH_PERSONALITY): Define.
427         (gnat_eh_personality_decl): New static variable.
428         (gnat_eh_personality): New static function.
429         Include gt-ada-misc.h.
430         * gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
431         * gcc-interface/config-lang.in (gtfiles): Add misc.c.
432
433 2009-09-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
434
435         PR ada/18302
436         * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
437
438 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
439
440         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
441         flow of control.
442         Avoid useless work when processing the Treat_As_Volatile flag.
443
444 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
445
446         * gcc-interface/targtyps.c: Reorder include directives.
447
448 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
449
450         * gcc-interface/targtyps.c: Add missing include for tm_p.h.
451         * gcc-interface/Make-lang.in: Update dependencies.
452
453 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
454
455         * make.adb: Add missing documentation for multilib handling.
456         
457 2009-09-03  Diego Novillo  <dnovillo@google.com>
458
459         * gcc-interface/misc.c (lang_hooks): Remove const qualifier.
460
461 2009-09-02  Richard Henderson  <rth@redhat.com>
462
463         * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
464
465 2009-09-02  Olivier Hainque  <hainque@adacore.com>
466
467         * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
468         and uc arguments.
469         
470 2009-09-02  Olivier Hainque  <hainque@adacore.com>
471
472         * gcc-interface/decl.c (cannot_be_superflat_p): Handle
473         Signed_Integer_Type_Definition Scalar_Ranges.
474
475 2009-09-02  Eric Botcazou  <ebotcazou@adacore.com>
476
477         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the
478         SAVE_EXPR built for misaligned arguments.  Remove redundant stuff.
479         (addressable_p): Return true for more rvalues.
480
481 2009-09-01  Jakub Jelinek  <jakub@redhat.com>
482
483         * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
484         POINTER_SIZE to HOST_WIDE_INT.
485
486 2009-09-01  Richard Guenther  <rguenther@suse.de>
487
488         * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
489
490 2009-08-25  Eric Botcazou  <ebotcazou@adacore.com>
491
492         * gcc-interface/trans.c (call_to_gnu): Tidy.
493         (gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
494         non-constant size but the array itself has constant size.
495         * gcc-interface/utils.c (convert_vms_descriptor64): Fix type
496         consistency error.
497         (convert_vms_descriptor32): Likewise.
498
499 2009-08-22  Aurelien Jarno  <aurelien@aurel32.net>
500
501         * gcc-interface/Makefile.in: Add Ada support for 
502         GNU/kFreeBSD x86_64.
503         * system-freebsd-x86_64.ads: New file based on 
504         system-freebsd-x86.ads.
505
506 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
507
508         * gcc-interface/utils.c (convert): In the padded case, do the final
509         conversion as an unchecked conversion if the underlying types are
510         array types with variable size.
511
512 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
513
514         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
515         as visited.
516         * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
517         bounds.
518         * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
519         fields.
520         (gnat_gimplify_expr) <DECL_EXPR>: New case.
521
522 2009-08-17  Aurelien Jarno  <aurelien@aurel32.net>
523
524         * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
525         (stack_t): New record type.
526         (sigaltstack): New imported function.
527         (Alternate_Stack): New imported variable.
528         (Alternate_Stack_Size): New constant.
529
530 2009-08-17  Vasiliy Fofanov  <fofanov@adacore.com>
531
532         * a-calend-vms.adb: Fix typo.
533
534 2009-08-17  Tristan Gingold  <gingold@adacore.com>
535
536         * s-taprop-posix.adb: Round up the stack size to avoid failure on
537         Darwin.
538
539 2009-08-17  Gary Dismukes  <dismukes@adacore.com>
540
541         * sem_cat.adb (Validate_Static_Object_Name): Update comment.
542
543 2009-08-17  Vincent Celier  <celier@adacore.com>
544
545         * make.adb (Arguments_Collected): Unneeded, removed
546         (Change_To_Object_Directory): Use Project directly. Add pragma Assert to
547         ensure caller does not pass in No_Project.
548         (Compile): Add new parameter Project. Let procedure
549         Collect_Arguments_And_Compile provide the proper value.
550
551         * switch-c.adb: Add documentation for -gnatea and -gnatez
552
553 2009-08-17  Ben Brosgol  <brosgol@adacore.com>
554
555         * gnat_ugn.texi: Changed name of package in SAL example, to avoid
556         clash with Ada 2005 reserved word (interface).
557
558 2009-08-17  Robert Dewar  <dewar@adacore.com>
559
560         * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
561         a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
562         a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
563         (use conditional expressions).
564
565 2009-08-17  Robert Dewar  <dewar@adacore.com>
566
567         * make.adb: Add ??? comment
568         * tbuild.adb: Minor reformatting
569
570 2009-08-17  Thomas Quinot  <quinot@adacore.com>
571
572         * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
573         Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
574         Use Tbuild.Make_Temporary to create entity for the temporary.
575
576 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
577
578         * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
579         and ignore -mieee switch to avoid spawning an extra gcc in this case.
580
581 2009-08-17  Thomas Quinot  <quinot@adacore.com>
582
583         * tbuild.adb: Minor reformatting
584
585 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
586
587         * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
588         exist, as is the case for synchronized types, use the type of the
589         discriminal in the parameter specification, to prevent a spurious
590         subtype mismatch in gigi.
591
592 2009-08-17  Robert Dewar  <dewar@adacore.com>
593
594         * prj-env.adb: Minor reformatting
595         * make.adb: Minor reformatting
596         Comment updates
597
598 2009-08-17  Javier Miranda  <miranda@adacore.com>
599
600         * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
601
602 2009-08-17  Emmanuel Briot  <briot@adacore.com>
603
604         * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
605         (Processing_Flags.Require_Obj_Dirs): new field, which controls whether
606         object directories must be present. In the case of gprclean at least,
607         these are optional (if they do not exist there is nothing to clean)
608
609 2009-08-17  Robert Dewar  <dewar@adacore.com>
610
611         * prj-env.adb: Minor reformatting
612         * sem_ch3.adb: Minor reformatting
613
614 2009-08-17  Hristian Kirtchev  <kirtchev@adacore.com>
615
616         * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
617         the time zone since VxWorks chose positive values to represent west
618         time zones and negative for east zones.
619
620 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
621
622         * sem_ch3.adb (Access_Definition): Do not create an Itype reference for
623         an anonymous access type whose designated type is generic.
624
625 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
626
627         * comperr.adb (Compiler_Abort): Do not generate a bug box when in
628         codepeer mode, friendlier.
629
630 2009-08-10  Laurent GUERBY  <laurent@guerby.net>
631
632         * make.adb: Handle multilib
633         
634 2009-08-10  Vincent Celier  <celier@adacore.com>
635
636         * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
637         the temporary file name in the error message when the temporary file
638         cannot be created.
639
640 2009-08-10  Yannick Moy  <moy@adacore.com>
641
642         * gnat_ugn.texi: Fix typo
643
644 2009-08-10  Robert Dewar  <dewar@adacore.com>
645
646         * exp_ch7.adb: Add ??? comment for last change
647
648 2009-08-10  Vincent Celier  <celier@adacore.com>
649
650         * prj-env.adb (Add_To_Buffer): New procedure
651         (Create_Config_Pragmas_File): Write to temporary file in one shot
652         (Create_Mapping_File): Ditto
653         (Set_Ada_Paths): Ditto
654
655 2009-08-10  Vincent Celier  <celier@adacore.com>
656
657         PR ada/17566
658         * xref_lib.adb (Print_Xref): Make sure that there is at least one space
659         between a declaration name and its type.
660
661 2009-08-07  Javier Miranda  <miranda@adacore.com>
662
663         * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
664         SCIL node.
665
666 2009-08-07  Robert Dewar  <dewar@adacore.com>
667
668         * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
669
670 2009-08-07  Vincent Celier  <celier@adacore.com>
671
672         * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
673         specified on the command line and there are switches in the Compiler
674         package of the project file, use these compilation switches to invoke
675         the tool.
676
677 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
678
679         * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
680
681 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
682
683         * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
684         even if not in main unit, to simplify debugging.
685
686 2009-08-07  Arnaud Charlet  <charlet@adacore.com>
687
688         * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
689         * gcc-interface/Make-lang.in: Update dependencies.
690
691 2009-08-07  Robert Dewar  <dewar@adacore.com>
692
693         * types.ads: Minor reformatting
694         * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
695         * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
696         Output_Non_Modified_In_Out_Warnings.
697         * sem_ch13.adb: Remove ??? comment.
698
699 2009-08-07  Vincent Celier  <celier@adacore.com>
700
701         * mlib-prj.adb (Build_Library): Include binder generate object file
702         for SAL when library name is only one character.
703
704 2009-08-07  Thomas Quinot  <quinot@adacore.com>
705
706         * targparm.adb: Minor reformatting
707         * sem.adb: Minor reformatting
708         * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
709
710 2009-08-07  Emmanuel Briot  <briot@adacore.com>
711
712         * prj-conf.adb: Remove duplicate directory separator in the output when
713         an object directory does not exist.
714
715 2009-08-07  Robert Dewar  <dewar@adacore.com>
716
717         * exp_util.adb: Minor reformatting
718
719 2009-08-07  Vincent Celier  <celier@adacore.com>
720
721         * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
722         length used).
723
724 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
725
726         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
727         detect non-static private components that will violate restriction
728         No_Implicit_Heap_Allocation.
729
730 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
731
732         * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
733
734 2009-08-02  Eric Botcazou  <ebotcazou@adacore.com>
735
736         * gcc-interface/gigi.h (end_subprog_body): Tweak comment.
737         * gcc-interface/utils.c (end_subprog_body): Likewise.
738         * gcc-interface/trans.c (gigi): Likewise.
739         (gnat_to_gnu): Likewise.
740
741 2009-07-30  Ben Brosgol  <brosgol@adacore.com>
742
743         * gnat_ugn.texi: Correct minor texi glitch.
744
745 2009-07-30  Ed Schonberg  <schonberg@adacore.com>
746
747         * exp_util.adb (Expand_Subtype_From_Expr): If the type of the
748         expression has an underlying representation that is an unchecked union,
749         there is no subtype to build.
750
751 2009-07-30  Robert Dewar  <dewar@adacore.com>
752
753         * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads,
754         s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb,
755         sem_ch7.adb, adaint.c: Minor reformatting
756
757 2009-07-29  Javier Miranda  <miranda@adacore.com>
758
759         * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
760         moved from the expander to the semantic analyzer to allow the
761         generation of these internal entities when compiling with no code
762         generation. Required by ASIS.
763         * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
764         * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
765         * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
766         (Expand_Freeze_Record_Type): Remove call to
767         Add_Internal_Interface_Entities because this routine is now called at
768         early stage --when the freezing node is analyzed.
769
770 2009-07-29  Robert Dewar  <dewar@adacore.com>
771
772         * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
773         exp_disp.adb, g-socket.adb: Minor reformatting
774
775 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
776
777         * sem_ch7.adb (New_Private_Type): Create class-wide type after other
778         attributes have been established, so that they are all inherited by the
779         class-wide type.
780         * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
781         properly named subtypes of class-wide types.
782
783 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
784
785         * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
786         indicators on user-defined operators.
787
788 2009-07-29  Vadim Godunko  <godunko@adacore.com>
789
790         * g-socket.adb (Receive_Vector): Add comment.
791
792 2009-07-29  Javier Miranda  <miranda@adacore.com>
793
794         * frontend.adb (Frontend): Code cleanup.
795         * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
796         Rewriten as a procedure because it a new out-mode parameters to
797         keep up-to-date the controlling tag node in the caller.
798         (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
799         new out-mode parameter to keep up-to-date the controlling tag node in
800         the caller.
801         * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
802         exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
803         package Sem_SCIL.
804         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
805         available in new package Sem_SCIL.
806         (Next_Non_SCIL_Node): Ditto.
807         * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
808         package Sem_SCIL.
809         (Expand_Dispatching_Call): Update call to modified Exp_Atags routines
810         plus complete decoration of SCIL dispatching node.
811         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
812         * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
813         package Sem_SCIL.
814         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
815         * exp_ch3.adb (Build_Init_Procedure): Fix comment.
816         * sem_scil.ads, sem_scil.adb: New files.
817         * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
818         Update dependencies.
819
820 2009-07-28  Robert Dewar  <dewar@adacore.com>
821
822         * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
823         makeutl.adb: Minor reformatting & code reorganization
824         * sem_ch3.adb: Minor reformatting.
825         Fix spelling error (constraint for constrain) in error msg.
826
827 2009-07-28  Emmanuel Briot  <briot@adacore.com>
828
829         * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
830         global variable that also exists in makeutl.ads, and that some routines
831         in that package use already.
832         (Check): Moved part of the code to makeutl.adb for better sharing with
833         gprbuild.
834
835 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
836
837         * gcc-interface/Make-lang.in: Update dependencies.
838
839 2009-07-28  Emmanuel Briot  <briot@adacore.com>
840
841         * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
842         importing project does not end up in the list, in the case of extending
843         projects.
844         * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
845         makeutl.ads, for better sharing with gprbuild.
846
847 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
848
849         * gnat_ugn.texi: Fix typo.
850
851 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
852
853         * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
854         derivation that renames some discriminants and constrain others.
855         * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
856         prefix is a derived untagged type, convert to the root type to conform
857         to the signature of the protected operations.
858
859 2009-07-28  Robert Dewar  <dewar@adacore.com>
860
861         * sinfo.ads: Update comments.
862         * exp_attr.adb: Minor reformatting
863
864 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
865
866         * sem_aggr.adb (Get_Value): A named association in a record aggregate
867         should be treated as a modification of the named component, not as a
868         reference.
869
870 2009-07-28  Quentin Ochem  <ochem@adacore.com>
871
872         * prj-tree.ads, prj-tree.adb (Free): Minor editing.
873         * prj.ads, prj.adb (Image): Ditto.
874
875 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
876
877         * frontend.adb: Minor reformatting.
878         (Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
879         for efficiency.
880
881 2009-07-28  Bob Duff  <duff@adacore.com>
882
883         * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
884         'Address to get a pointer to the protected body wrapper.
885
886 2009-07-28  Javier Miranda  <miranda@adacore.com>
887
888         * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
889         nodes if we are not generating code.
890         * frontend.adb (Check_SCIL_Node): New subprogram. Used to check
891         attribute SCIL_Related_Node of SCIL dispatching nodes.
892         (Check_SCIL_Nodes): New instantiation of Traverse_Proc.
893         * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
894         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
895         (SCIL_Entity): Update documentation.
896         (SCIL_Related_Node): Update documentation.
897         (SCIL_Controlling_Tag): New attribute.
898         (SCIL_Target_Prim): Update documentation.
899         (N_Null_Statement): Remove attributes associated with SCIL nodes.
900         (N_SCIL_Dispatch_Table_Object_Init): New node.
901         (N_SCIL_Dispatch_Table_Tag_Init): New node.
902         (N_SCIL_Dispatching_Call): New node.
903         (N_SCIL_Tag_Init): New node.
904         * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
905         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
906         (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
907         (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
908         (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
909         (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
910         N_SCIL_Dispatching_Call nodes.
911         * sem.adb (Analyze): No need to analyze SCIL nodes.
912         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
913         (Next_Non_SCIL_Node): New subprogram
914         * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
915         dispatching nodes.
916         * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
917         dispatching node.
918         * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
919         dispatching node.
920         * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
921         null statement nodes.
922         (Build_Init_Procedure): Generate new SCIL node.
923         * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
924         node.
925         * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
926         they are currently implemented as special N_Null_Statement nodes.
927         * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
928         procedure call then check if some SCIL node references it and needs
929         readjustment.
930         * exp_disp.ads (SCIL_Node_Kind): Removed.
931         (Adjust_SCIL_Node): New subprogram.
932         (Find_SCIL_Node): New subprogram.
933         (Get_SCIL_Node_Kind): Removed.
934         (New_SCIL_Node): Removed.
935         * exp_disp.adb (Adjust_SCIL_Node): New subprogram
936         (Expand_Dispatching_Call): Generate new SCIL dispatching node including
937         decoration of its new controlling_tag attribute.
938         (Get_SCIL_Node_Kind): Removed.
939         (Find_SCIL_Node): New subprogram.
940         (Make_Secondary_DT): Generate new SCIL nodes.
941         (Make_Tags): Generate new SCIL nodes.
942         (New_SCIL_Node): Removed.
943         * exp_util.adb (Insert_Actions): Handle SCIL nodes.
944         (Remove_Side_Effects): Check if relocated nodes require readjustment
945         of some SCIL dispatching node.
946         * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
947
948 2009-07-28  Robert Dewar  <dewar@adacore.com>
949
950         * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
951
952 2009-07-28  Sergey Rybin  <rybin@adacore.com>
953
954         * gnat_ugn.texi: Add section about gnatcheck rule exemption.
955
956 2009-07-28  Vadim Godunko  <godunko@adacore.com>
957
958         * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
959         not defined by limits.h.
960
961         * g-socket.adb (Receive_Vector): Use minimum length from user's vector
962         length and maximum supported length of data vector.
963
964 2009-07-28  Gary Dismukes  <dismukes@adacore.com>
965
966         * usage.adb: Inhibit printing gcc-specific switches for AAMP target.
967         * make.adb: Call Get_Target_Parameters before calling Usage so that
968         VM_Target and AAMP_On_Target will be set.
969
970 2009-07-28  Olivier Hainque  <hainque@adacore.com>
971
972         * g-ssinty.ads: Remove, pointless and just confusing at this stage.
973         * gnat_rm.texi: Remove documentation.
974         * g-sse.ads: Minor reorg along the way.
975         * gcc-interface/Makefile.in: Remove processing for g-ssinty.
976         * g-ssvety.ads: Minor comment updates.
977
978 2009-07-28  Sergey Rybin  <rybin@adacore.com>
979
980         * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
981         for the new format of the report file.
982
983 2009-07-28  Sergey Rybin  <rybin@adacore.com>
984
985         * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
986
987 2009-07-28  Pascal Obry  <obry@adacore.com>
988
989         * g-expect.adb: Record standard handles only on Windows.
990
991 2009-07-27  Emmanuel Briot  <briot@adacore.com>
992
993         * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
994         Add comments.
995
996 2009-07-27  Sergey Rybin  <rybin@adacore.com>
997
998         * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
999         rule definition the paragraph that explains that generic functions and
1000         functions from generic packages are not checked.
1001
1002 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
1003
1004         * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
1005         procedure when determining whether to set the Overridden_Operation
1006         field of a subprogram overriding an inherited subprogram.
1007         
1008 2009-07-27  Robert Dewar  <dewar@adacore.com>
1009
1010         * a-except.adb, a-except-2005.ads: Minor reformatting
1011
1012 2009-07-27  Robert Dewar  <dewar@adacore.com>
1013
1014         * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
1015
1016 2009-07-27  Javier Miranda  <miranda@adacore.com>
1017
1018         * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
1019         add some documentation explaining why the SCIL nodes must be generated
1020         at that point.
1021
1022 2009-07-27  Olivier Hainque  <hainque@adacore.com>
1023
1024         * a-except.adb: Bind to __builtin_longjmp directly.
1025         * a-except-2005.ads: Provide direct binding to __builtin_longjmp
1026         for sjlj variants.
1027         * a-exexpr.adb: Use it.
1028         * a-except-xi.adb: Likewise.
1029         * raise.c (_gnat_builtin_longjmp): Remove and update comments.
1030         * raise.h (_gnat_builtin_longjmp): Remove declaration.
1031
1032 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
1033
1034         * sem_eval.adb (Compile_Time_Compare): More precise handling of
1035         Known_Valid flag, to prevent spurious range deductions when scalar
1036         variables may be uninitialized. New predicate Is_Known_Valid_Operand.
1037
1038 2009-07-27  Robert Dewar  <dewar@adacore.com>
1039
1040         * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
1041         and code clean up.
1042
1043 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
1044
1045         * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
1046         Ravenscar mode. Error has already been posted on specification.
1047
1048         * sem.adb: Further code clean ups.
1049
1050 2009-07-27  Robert Dewar  <dewar@adacore.com>
1051
1052         * g-sse.ads: Minor reformatting
1053
1054 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
1055
1056         * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
1057         alternate ali extension.
1058         * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
1059         account Osint.ALI_Suffix.
1060         * osint.ads (ALI_Suffix): Make visible.
1061         * gnatfind.adb (Gnatfind): Add support for --ext= switch.
1062         * gnat_ugn.texi: Document new gnatfind --ext= switch.
1063
1064 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
1065
1066         * sem.adb (Walk_Library_Items): If main unit is an instance body, do
1067         its spec first.
1068
1069 2009-07-27  Javier Miranda  <miranda@adacore.com>
1070
1071         * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
1072         the dispatching call has is expanded.
1073
1074 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
1075
1076         * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
1077         Is_Known_Valid flag on the temporary created for the value whose
1078         validity is being checked.
1079
1080         * sem.adb (Do_Unit_And_Dependents): Further code reorganization to
1081         handle properly main units that are package specifications.
1082
1083 2009-07-27  Geert Bosch  <bosch@adacore.com>
1084
1085         * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
1086         * sem_aux.ads: Fix typo in comment
1087         * sem_util.ads (Is_LHS): Adjust comment to match body
1088
1089 2009-07-27  Sergey Rybin  <rybin@adacore.com>
1090
1091         * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
1092         rule definition.
1093
1094 2009-07-27  Olivier Hainque  <hainque@adacore.com>
1095
1096         * g-sse.ads, g-ssvety.ads: Update comments.
1097
1098 2009-07-27  Sergey Rybin  <rybin@adacore.com>
1099
1100         * gnat_ugn.texi: Update gnatcheck doc.
1101
1102 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
1103
1104         * lib-xref.ads: Allocate/document 'o' char for use by references to
1105         spark 'own' variables.
1106
1107 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
1108
1109         * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
1110         objects, since these are implicitly referenced by the return statement.
1111         * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
1112         Is_Return_Object in this procedure, as return objects will never make
1113         it here since they're now marked as Referenced.
1114
1115 2009-07-27  Robert Dewar  <dewar@adacore.com>
1116
1117         * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
1118
1119 2009-07-27  Robert Dewar  <dewar@adacore.com>
1120
1121         * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
1122
1123         * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
1124
1125 2009-07-27  Geert Bosch  <bosch@adacore.com>
1126
1127         * checks.adb (Find_Check): Minor streamlining of logic.
1128         * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
1129         * debug.adb: Document -gnatdX debug flag
1130         * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
1131         list information about reads from scalar entities.
1132         Also slightly simplify condition for Expand_Current_Value.
1133         * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
1134         functions.
1135
1136 2009-07-26  Dave Korn  <dave.korn.cygwin@gmail.com>
1137
1138         PR bootstrap/40578
1139         * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
1140         (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
1141         to these.
1142         (__gnat_stat): Adjust reference to STAT in prototype.
1143         * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
1144         __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
1145         __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
1146         __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
1147         __gnat_is_writable_file, __gnat_is_executable_file,
1148         __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
1149         __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
1150         __gnat_copy_attribs): Adjust all references to the above.
1151         * cstreams.c (__gnat_is_regular_file_fd): Likewise.
1152
1153 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1154
1155         * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
1156         done at the same time, guard against listing a body more than once.
1157
1158 2009-07-23  Robert Dewar  <dewar@adacore.com>
1159
1160         * exp_ch6.adb: Minor reformatting
1161
1162 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1163
1164         * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
1165         static expression is known valid.
1166         * sem_eval.adb (Compile_Time_Compare): Handle properly non-static
1167         operands of a subtype with a single value.
1168
1169 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1170
1171         * sem.adb (Do_Units_And_Dependents): Process bodies only for units that
1172         are in the context of the main unit body.
1173
1174 2009-07-23  Sergey Rybin  <rybin@adacore.com>
1175
1176         * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
1177         misprint in rule description.
1178
1179 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
1180
1181         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
1182         test that the object declaration is within an extended return statement
1183         with direct test of whether the declared object associated with the
1184         build-in-place call is a return object, since the enclosing function
1185         might not even be a build-in-place function.
1186
1187 2009-07-23  Robert Dewar  <dewar@adacore.com>
1188
1189         * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
1190         Minor code reorganization
1191
1192 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
1193
1194         * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
1195         for static analysis, only packed arrays are causing troubles.
1196
1197 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
1198
1199         * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
1200         ancestor part is a call to a limited function with an unconstrained
1201         result subtype unless the aggregate has a null extension type.
1202         * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
1203         the parent type declaration to avoid blowups on subtype cases.
1204
1205 2009-07-23  Robert Dewar  <dewar@adacore.com>
1206
1207         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
1208         comma.
1209
1210         * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
1211
1212         * s-regexp.adb: Minor reformatting
1213         * scos.ads: Minor reformatting.
1214
1215 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
1216
1217         * freeze.adb (Set_Small_Size): Remove extra space for consistency with
1218         other similar messages.
1219         * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
1220         messages/implicit packing in CodePeer mode.
1221         (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
1222         * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
1223         CodePeer mode.
1224
1225 2009-07-23  Pascal Obry  <obry@adacore.com>
1226
1227         * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
1228         systems.
1229
1230 2009-07-23  Robert Dewar  <dewar@adacore.com>
1231
1232         * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
1233         Minor reformatting.
1234
1235 2009-07-23  Yannick Moy  <moy@adacore.com>
1236
1237         * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
1238         pattern.
1239         (Raise_Exception_If_No_More_Chars): Remove extra blank in exception
1240         string.
1241         (Raise_Exception): Ditto.
1242
1243 2009-07-23  Olivier Hainque  <hainque@adacore.com>
1244
1245         * g-sse.ads: Simplify comment.
1246
1247 2009-07-23  Olivier Hainque  <hainque@adacore.com>
1248
1249         * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
1250         low level internal type definitions for distinct higher level
1251         binding development activities (user type definitions and
1252         operations).
1253         * gnat_rm.texi: Document it.
1254         * g-ssvety.ads: Use it.
1255         * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
1256         g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
1257         * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
1258         for the "may_alias" attribute.
1259
1260 2009-07-23  Thomas Quinot  <quinot@adacore.com>
1261
1262         * scos.ads: Minor typo fix
1263
1264         * gcc-interface/decl.c (validate_alignment): For the case of an
1265         implicit array base type, look for alignment clause on first subtype.
1266
1267 2009-07-23  Robert Dewar  <dewar@adacore.com>
1268
1269         * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
1270         with tagged parent if tagged parent is fully repped.
1271
1272 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1273
1274         * sem.adb (Walk_Library_Units): Handle properly the case where a unit
1275         in the context depends on the spec of the main unit, by delaying
1276         processing of the main unit body until all other units have been
1277         processed.
1278
1279 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
1280
1281         * a-convec.adb: Add comments about suspicious/subtle code.
1282
1283 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1284
1285         * einfo.ads: Document use of Alias in private overriding
1286
1287 2009-07-23  Thomas Quinot  <quinot@adacore.com>
1288
1289         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
1290         an array type, propagate alignment from first subtype to implicit base
1291         type so that other subtypes (such as the itypes for aggregates of the
1292         type) also receive the expected alignment.
1293
1294         * g-comlin.ads: Minor documentation clarification/rewording. 
1295         * scos.ads: Minor comments update.
1296         * lib-writ.ads: Minor reformatting
1297
1298 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
1299
1300         * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
1301         of a class-wide interface type that is a return object of a
1302         build-in-place function, bypass the interface-related expansions into
1303         renamings with displacement conversions, etc.
1304         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
1305         for the case where a renaming occurs in a build-in-place context, to
1306         assert that the bypassing of the build-in-place treatment only occurs
1307         in the case of a renaming that is an expansion of a return expression
1308         that is itself a build-in-place function call.
1309
1310 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1311
1312         * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
1313         valid candidate interpretation in a prefixed view if it is hidden, but
1314         overrides an inherited operation declared in the visible part.
1315
1316 2009-07-23  Robert Dewar  <dewar@adacore.com>
1317
1318         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
1319         division operands to 64-bit at all in any circumstances.
1320
1321 2009-07-23  Robert Dewar  <dewar@adacore.com>
1322
1323         * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
1324         checking ranges for mod/rem to see if conditional jump will be
1325         generated.
1326         (Analyze_N_Op_Rem): Don't try to check actual lower bounds for
1327         generating special -1 test for rem, generate it whenever both
1328         operands can be negative (match circuit in Sem_Res).
1329         (Analyze_N_Op_Rem): Don't go to base type, no longer needed and
1330         destroys memory of positive range.
1331         * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
1332         checking ranges for mod/rem to see if conditional jump will be generated
1333
1334 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1335
1336         * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
1337         scalar components has non-static bounds, the equivalent aggregate
1338         cannot be built, even if the expression is static, because range checks
1339         will be generated.
1340
1341 2009-07-23  Robert Dewar  <dewar@adacore.com>
1342
1343         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
1344         division operands to 64-bit inside a conversion if 64-bit division not
1345         available.
1346
1347 2009-07-23  Sergey Rybin  <rybin@adacore.com>
1348
1349         * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
1350
1351 2009-07-23  Javier Miranda  <miranda@adacore.com>
1352
1353         * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
1354         (Entity/Set_Entity): not available in N_Null_Statement nodes
1355         (Is_Scil_Node): renamed as Is_SCIL_Node
1356         (Scil_Nkind): renamed as SCIL_Nkind
1357         (Scil_Related_Node): renamed as SCIL_Related_Node
1358         (Scil_Target_Prim): renamed as SCIL_Target_Prim
1359         (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
1360         (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
1361         (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
1362         Update documentation
1363         * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
1364         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
1365         (New_Scil_Node): Renamed as New_SCIL_Node
1366         * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
1367         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
1368         (New_Scil_Node): Renamed as New_SCIL_Node
1369         * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
1370
1371 2009-07-23  Robert Dewar  <dewar@adacore.com>
1372
1373         * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
1374         * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
1375         * einfo.adb: Minor reformatting
1376
1377 2009-07-23  Robert Dewar  <dewar@adacore.com>
1378
1379         * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
1380         cross-referencing the new related code in
1381         Exp_Ch4.Expand_N_Type_Conversion.
1382         * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
1383
1384         * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
1385         Add comment.
1386
1387 2009-07-23  Javier Miranda  <miranda@adacore.com>
1388
1389         * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
1390         Scil_Target_Prim, N_Has_Entity): Add missing documentation.
1391         * exp_disp.ads (Scil_Node_Kind): Ditto.
1392         * exp_disp.adb (Make_DT, Make_Tags): Ditto.
1393         * exp_ch3.adb (Build_Init_Procedure): Ditto.
1394
1395 2009-07-23  Javier Miranda  <miranda@adacore.com>
1396
1397         * einfo.adb (Component_Type): Add missing assertion.
1398         * sem_res.adb (Resolve_Call): Ensure proper kind of entity before
1399         reading attribute Component_Size.
1400         * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
1401         before reading attributes Component_Size and Component_Type.
1402         * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
1403         before reading attribute Component_Type.
1404
1405 2009-07-23  Olivier Hainque  <hainque@adacore.com>
1406
1407         * gnat_rm.texi: Document the GNAT.SSE units.
1408
1409 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1410
1411         * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
1412         not null return if it appears on a subunit.
1413
1414 2009-07-23  Robert Dewar  <dewar@adacore.com>
1415
1416         * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
1417         check right away so it does not get skipped for early returns, e.g.
1418         array assignments.
1419         (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
1420         left-side unless we really know the value is valid.
1421
1422         * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
1423         reformatting. Minor code reorganization. Add comments.
1424
1425 2009-07-23  Robert Dewar  <dewar@adacore.com>
1426
1427         * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
1428         complex condition.
1429
1430 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
1431
1432         * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
1433         with test of coverage, to allow specific type objects in extended
1434         returns of class-wide functions. Remove now-unnecessary special-case
1435         tests that allowed this in certain cases of expanded extended returns.
1436
1437 2009-07-23  Javier Miranda  <miranda@adacore.com>
1438
1439         * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
1440         N_Null_Statements (for SCIL nodes).
1441         (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
1442         (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
1443         (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
1444         nodes).
1445         (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
1446         * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
1447         associated with dispatching call.
1448         (Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
1449         (Make_DT, Make_Tags): Add generation of SCIL nodes associated with
1450         initialization of dispatch tables and initialization of tags.
1451         (New_Scil_Node): New function that creates a new SCIL node.
1452         (Build_Init_Procedure): Add generation of SCIL node associated with the
1453         initialization of tags done in the IP subprogram.
1454
1455 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1456
1457         * errout.adb (Error_Msg_NEL): If the entity in the initial message has
1458         Warnings_Off, do not emit continuation messages.
1459
1460         * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
1461         spec.
1462
1463 2009-07-23  Emmanuel Briot  <briot@adacore.com>
1464
1465         * ali.adb: Minor comment update
1466
1467 2009-07-23  Vasiliy Fofanov  <fofanov@adacore.com>
1468
1469         * s-win32.ads (HANDLE): Define to be the same size as address type.
1470         Fix copyright.
1471
1472 2009-07-23  Olivier Hainque  <hainque@adacore.com>
1473
1474         * g-sse.ads: New file. Root of the SSE facilities trees, with
1475         general description and common declarations.
1476         * g-ssvety.ads: New file. Expose user level SSE vector types.
1477         * impunit.adb (Non_Imp_File_Names_95): Register new units.
1478         * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
1479         EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
1480
1481 2009-07-23  Ben Brosgol  <brosgol@adacore.com>
1482
1483         * gnat_ugn.texi: Wordsmithing.
1484
1485 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
1486
1487         * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
1488
1489 2009-07-22  Eric Botcazou  <ebotcazou@adacore.com>
1490
1491         * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
1492         they are already of the base type of the index.
1493
1494 2009-07-22  Brett Porter  <porter@adacore.com>
1495
1496         * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
1497
1498 2009-07-22  Robert Dewar  <dewar@adacore.com>
1499
1500         * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS)
1501         * gnat_ugn.texi: Add documentation for -gnateS switch
1502         * ug_words: Add entry for -gnateS /SCO_OUTPUT
1503         * gcc-interface/Make-lang.in: Update dependencies.
1504
1505         * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb,
1506         par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial
1507         complete information for SCO input/output.
1508
1509 2009-07-22  Sergey Rybin  <rybin@adacore.com>
1510
1511         * gnat_ugn.texi: Update doc for some gnatcheck rules.
1512
1513 2009-07-22  Robert Dewar  <dewar@adacore.com>
1514
1515         * par_sco.adb, par_sco.ads (pscos): New debug routine to output
1516         contents of SCO tables.
1517         * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads,
1518         scos.adb, scos.ads: New files.
1519         * gcc-interface/Make-lang.in: Update dependencies.
1520
1521         * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
1522         fixes and reformatting.
1523
1524 2009-07-22  Robert Dewar  <dewar@adacore.com>
1525
1526         * g-socket.ads: Minor reformatting
1527
1528 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
1529
1530         * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
1531         include the entity kind for following cases of unreferenced entities:
1532         E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
1533
1534 2009-07-22  Ed Falis  <falis@adacore.com>
1535
1536         * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
1537         with taskSuspend.
1538
1539 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
1540
1541         * adadecode.c: Make this file compilable outside of GCC.
1542
1543 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1544
1545         * g-socket.adb, g-socket.ads (Check_Selector): Make sure that
1546         (partially) default-initialized socket sets are handled properly by
1547         clearing their Set component.
1548
1549 2009-07-22  Bob Duff  <duff@adacore.com>
1550
1551         * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
1552
1553 2009-07-22  Robert Dewar  <dewar@adacore.com>
1554
1555         * gnat_ugn.texi: Minor reformatting
1556
1557 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1558
1559         * errout.adb (Error_Msg): A style message within an instantiation
1560         should not be labelled as an error.
1561
1562 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1563
1564         * freeze.adb (Freeze_Entity): Do not generate extra formal for function
1565         in initialization expression if function does not have convention Ada.
1566
1567 2009-07-22  Sergey Rybin  <rybin@adacore.com>
1568
1569         * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
1570         '--separate-label' to control label layout.
1571
1572 2009-07-22  Robert Dewar  <dewar@adacore.com>
1573
1574         * exp_tss.ads, sem_eval.adb: Minor reformatting
1575
1576 2009-07-22  Bob Duff  <duff@adacore.com>
1577
1578         * exp_dist.adb, exp_dist.ads: Update comments.
1579
1580 2009-07-22  Brett Porter  <porter@adacore.com>
1581
1582         * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
1583         FPSCR.
1584         * sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
1585
1586 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
1587
1588         * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
1589         exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
1590         Minor reformatting.
1591         * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
1592         used poor terminology.
1593
1594 2009-07-22  Robert Dewar  <dewar@adacore.com>
1595
1596         * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
1597         * sem_eval.adb, exp_tss.adb: Minor comment update.
1598         * stylesw.adb: Code clean up.
1599
1600 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1601
1602         * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
1603         component size is an exact number of bytes, an array type can have a
1604         size clause that forces packing even though the array type itself is
1605         not bit-packed.
1606
1607 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1608
1609         * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
1610         if there is a previous entity with the same name in the scope, ignore
1611         it if it is the renaming declaration for a generic package introduced
1612         in instances.
1613
1614 2009-07-22  Nicolas Roche  <roche@adacore.com>
1615
1616         * seh_init.c: use RtlAddFunctionTable to register our SEH exception
1617         handler on x86_64 windows.
1618
1619 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
1620
1621         * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
1622         false positives in CodePeer, so ignore this pragma in this mode.
1623
1624 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1625
1626         * sem_util.adb, sem_ch10.adb: Minor reformatting
1627
1628         * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
1629         special handling for the case of no data received and Item'First =
1630         Stream_Element_Offset'First.
1631         (Last_Index): New subprogram factoring the above special handling
1632         over the various locations where it is required.
1633
1634 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
1635
1636         * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
1637         checks in CodePeer_Mode.
1638         * gcc-interface/Make-lang.in: Update dependencies.
1639
1640 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1641
1642         * sem_aggr.adb: Improve error message.
1643
1644         * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
1645         of an address representation clause.
1646         * freeze.adb (Freeze_Static_Object): An local imported object is legal
1647         if it has an address clause.
1648
1649 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1650
1651         * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
1652         expression to insert an elab check using a conditional expression, be
1653         sure to carry the original list of interpretations to the new location.
1654
1655 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
1656
1657         * gnat1drv.adb: Fix spelling error.
1658
1659 2009-07-22  Javier Miranda  <miranda@adacore.com>
1660
1661         * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram
1662         at the library level and fix a hidden bug in its implementation: its
1663         functionality for renaming objects was broken because
1664         N_Object_Renaming_Declarations nodes are not a subclass of
1665         N_Declaration nodes (as documented in sinfo.ads).
1666         * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
1667         check nodes that are actuals of generic instantiations.
1668
1669 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1670
1671         * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the
1672         context of a compilation unit is being analyzed. Used to detect
1673         circularities created by with_clauses that are not detected by the
1674         loading machinery.
1675         * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
1676         analyzing the context of the current compilation unit, to detect
1677         possible circularities created by with_clauses.
1678
1679 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1680
1681         * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
1682
1683 2009-07-22  Robert Dewar  <dewar@adacore.com>
1684
1685         * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
1686         * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
1687         procedure.
1688         * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch
1689         * gnat_ugn.texi: Add documentation of -gnatyB
1690         * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
1691
1692 2009-07-22  Robert Dewar  <dewar@adacore.com>
1693
1694         * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
1695         make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
1696         s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
1697         s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
1698         errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
1699         a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
1700         s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
1701         a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
1702         erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
1703         obey short-circuit style rule.
1704
1705 2009-07-20  Bob Duff  <duff@adacore.com>
1706
1707         * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
1708         instead of "and", because otherwise Parent_Last_Bit is read
1709         uninitialized in the case where it's not a tagged type, or the tagged
1710         parent does not have a complete rep clause.
1711
1712 2009-07-20  Robert Dewar  <dewar@adacore.com>
1713
1714         * stylesw.ads: Minor documentation change.
1715
1716         * types.ads: Minor reformatting
1717
1718 2009-07-20  Javier Miranda  <miranda@adacore.com>
1719
1720         * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of
1721         generating the tag checks associated with dispatching calls.
1722         * exp_disp.adb (Apply_Access_Checks): New subprogram.
1723         (New_Value): This routine was previously local to expand dispatching
1724         calls but it is now used also by Apply_Access_Checks.
1725         (Expand_Dispatching_Calls): Cleanup code because the functionality of
1726         tag checks is now provided by Apply_Access_Checks. 
1727         * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
1728         case of dispatching calls.
1729
1730 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
1731
1732         * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
1733         CodePeer_Mode.
1734
1735 2009-07-20  Gary Dismukes  <dismukes@adacore.com>
1736
1737         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
1738         for VMS, only rewrite the first component of the associated exception's
1739         aggregate init (as 'V'), and eliminate the bogus rewrites of the second
1740         and third components  that were being replaced with 'M' and 'S'.
1741
1742 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
1743
1744         * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
1745         Also do not generate error when parsing a spec in CodePeer mode.
1746
1747 2009-07-20  Javier Miranda  <miranda@adacore.com>
1748
1749         * checks.adb (Apply_Access_Check): Avoid checks on availability of
1750         runtime function Offset_To_Top_Ptr when compiling with no tagged
1751         types expansion.
1752         * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
1753         adding code to the init proc when compiling for VM backends.
1754
1755 2009-07-20  Vincent Celier  <celier@adacore.com>
1756
1757         * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
1758         account switches -gnatw.?
1759
1760 2009-07-20  Thomas Quinot  <quinot@adacore.com>
1761
1762         * sem_dist.adb, exp_dist.adb: Minor reformatting
1763
1764         * Make-generated.in: New file.
1765
1766         * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
1767
1768 2009-07-20  Javier Miranda  <miranda@adacore.com>
1769
1770         * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
1771         subprogram.
1772         * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
1773         dynamically tagged expression.
1774         * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
1775         factorizes code.
1776         * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
1777         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
1778
1779 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
1780
1781         * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
1782         CodePeer_Mode is set, to benefit from full front-end expansion
1783         (e.g. generics).
1784
1785 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
1786
1787         * sem_res.adb: Add guard.
1788
1789         * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
1790         for possible attribute definition of External_Tag, in case clause
1791         appears in the private part of a package.
1792
1793 2009-07-20  Jerome Guitton  <guitton@adacore.com>
1794
1795         * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
1796
1797 2009-07-20  Vadim Godunko  <godunko@adacore.com>
1798
1799         * a-coorma.adb: Minor reformatting.
1800
1801 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
1802
1803         * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
1804         access return types.
1805         * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
1806         provide an itype reference to gigi to force elaboration of the subtype
1807         at the proper point.
1808
1809 2009-07-20  Tristan Gingold  <gingold@adacore.com>
1810
1811         * g-expect.adb: Avoid closeing already closed handle.
1812
1813 2009-07-20  Robert Dewar  <dewar@adacore.com>
1814
1815         * sprint.adb (Write_Subprogram_Name): New procedure to output
1816         subprogram name with possible preceding $ (replaces
1817         Note_Implicit_Run_Time_Call).
1818
1819 2009-07-20  Robert Dewar  <dewar@adacore.com>
1820
1821         * vms_data.ads: Minor reformatting
1822
1823         * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
1824         applies to base type.
1825         (Parent_Subtype): Now allowed on record subtype, applies to base type
1826         * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
1827         for case of fully repped tagged type.
1828         (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
1829         tag save/restore for fully repped tagged type case.
1830         * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
1831         * fe.h (Is_Fully_Repped_Tagged_Type): New function
1832         * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
1833         overlap of tagged type components with parent type if parent type is
1834         fully repped.
1835         * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
1836
1837         * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
1838         comparisons.
1839         (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
1840         (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
1841
1842         * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
1843         logical operators (AND/OR/XOR), not comparison operators.
1844
1845         * sprint.ads: Minor reformatting
1846
1847 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
1848
1849         * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
1850         intrinsics, check that argument is a string literal, rather than
1851         checking for staticness.
1852
1853 2009-07-20  Robert Dewar  <dewar@adacore.com>
1854
1855         * sem_ch13.adb: Minor reformatting
1856
1857         * einfo.ads: Minor reformatting
1858         Component_Bit_Offset is no longer considered obsolescent
1859
1860 2009-07-20  Nicolas Roche  <roche@adacore.com>
1861
1862         * a-calend.adb: Redefine time_t as signed integer with same size as
1863         Address type.
1864         * s-os_lib.ads: Redefine OS_Time as signed integer with same size as
1865         Address type
1866         * adaint.h: On Windows 64bits declare OS_Time as long long instead of
1867         long
1868
1869 2009-07-20  Javier Miranda  <miranda@adacore.com>
1870
1871         * exp_tss.adb (Init_Proc): Add missing support for non-default C++
1872         constructors that have anonymous access type formals.
1873
1874         * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
1875         class-wide arguments in case of imported C++ subprograms.
1876
1877         * exp_ch3.adb (Build_Initialization_Call): Add assertion.
1878
1879 2009-07-20  Sergey Rybin  <rybin@adacore.com>
1880
1881         * vms_data.ads: Update qualifiers.
1882
1883 2009-07-20  Robert Dewar  <dewar@adacore.com>
1884
1885         * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
1886         reformatting
1887
1888 2009-07-17  Richard Guenther  <rguenther@suse.de>
1889
1890         PR c/40401
1891         * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
1892         state.  Remove unused parameter.
1893         (gnat_gimplify_function): Do not gimplify here.
1894         Fold into its only caller and remove.
1895         (gnat_builtin_function): Adjust for end_subprog_body signature change.
1896         (gnat_write_global_declarations): Also finalize the CU.
1897         * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
1898         * gcc-interface/trans.c (gigi): Revert to pre-tuples state.
1899         (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
1900         change.
1901         * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
1902
1903 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
1904
1905         * gcc-interface/Make-lang.in: Update dependencies
1906
1907         * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
1908
1909 2009-07-15  Robert Dewar  <dewar@adacore.com>
1910
1911         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
1912         N_Label. Remove SCO table entry for entry point (not used).
1913
1914         * par_sco.ads: Remove SCO entry point type (not used)
1915
1916         * switch.adb: Minor code clean up.
1917
1918 2009-07-15  Eric Botcazou  <ebotcazou@adacore.com>
1919
1920         * exp_dbug.ads (Base Record Types): Document enhanced encoding.
1921
1922 2009-07-15  Thomas Quinot  <quinot@adacore.com>
1923
1924         * gnatls.adb: Minor reformatting
1925
1926         * gnatcmd.adb: Minor code reorganization
1927
1928 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
1929
1930         * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
1931         determine whether a component of a private type has a composite type.
1932
1933 2009-07-15  Robert Dewar  <dewar@adacore.com>
1934
1935         * sem_ch10.adb: Minor reformatting throughout
1936         Minor code reorganization (put nested subprograms in alpha order)
1937
1938 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
1939
1940         * exp_ch6.adb (Expand_Call): Prevent double attachment of the result
1941         when compiling a call to a protected function that returns a controlled
1942         object.
1943
1944 2009-07-15  Hristian Kirtchev  <kirtchev@adacore.com>
1945
1946         * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
1947         one. Add task locking and unlocking around the critical region which
1948         mentions localtime_r and global variable timezone for various targets.
1949         Comment reformatting.
1950
1951 2009-07-15  Robert Dewar  <dewar@adacore.com>
1952
1953         * gnat_rm.texi: Document s-ststop.ads
1954
1955         * impunit.ad: (Map_Array): New table of alternative names
1956         (Get_Kind_Of_Unit): Return possible suggested alternative name
1957
1958         * impunit.ads (Get_Kind_Of_Unit): Return possible suggested
1959         alternative name.
1960
1961         * sem_ch10.adb (Analalyze_With_Clause): Add name of possible
1962         alternative unit if an implementation unit is with'ed.
1963
1964 2009-07-15  Robert Dewar  <dewar@adacore.com>
1965
1966         * gnat_ugn.texi: Minor updates.
1967
1968         * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
1969
1970 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
1971
1972         * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
1973         conditions of a derived boolean type.
1974         Minor reformatting
1975
1976 2009-07-15  Robert Dewar  <dewar@adacore.com>
1977
1978         * gnat1drv.adb: Initialize SCO tables
1979
1980         * par-load.adb: Call SCO_Record for main unit spec
1981
1982         * par.adb: Make call to SCO_Record for main unit
1983
1984         * par_sco.adb (Unit_Table): Change format to facilitate sort
1985         (Process_Decisions): New procedure with list argument
1986         (Traverse_Generic_Package_Declaration): New procedure
1987         (Initialize): New procedure, replaces Init
1988         (SCO_Output): Sort unit table before output
1989         (SCO_Record): Avoid duplications
1990         (SCO_Record): Handle remaining cases of units
1991         (Traverse_Declarations_Or_Statements): Handle generics
1992
1993         * par_sco.ads (Initialize): New peocedure (replaces Init)
1994
1995         * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
1996         subunit.
1997
1998 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
1999
2000         * debug.adb: Add -gnatd.J switch for now to support scil generation in
2001         parallel. Add missing doc for -gnatd.I and -gnatd.O
2002
2003 2009-07-15  Robert Dewar  <dewar@adacore.com>
2004
2005         * lib-load.adb: Minor reformatting
2006
2007         * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
2008
2009 2009-07-15  Robert Dewar  <dewar@adacore.com>
2010
2011         * par.adb: Minor reformatting
2012         Add ??? comment for possible bad comment
2013
2014         * par-ch10.adb: Minor reformatting
2015
2016 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
2017
2018         * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
2019         is a literal of a derived boolean type, it appears as an unchecked
2020         conversion. Retrieve actual value from expression of conversion.
2021
2022 2009-07-15  Robert Dewar  <dewar@adacore.com>
2023
2024         * sem_ch3.adb: Minor reformatting
2025
2026         * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
2027         lib-writ.ads, lib-writ.adb: Minor reformatting.
2028         Fix problem with SCO format in ALI files
2029
2030 2009-07-15  Robert Dewar  <dewar@adacore.com>
2031
2032         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
2033         exp_aggr.adb: Minor code reorganization (better calling sequence for
2034         Make_Temporary).
2035
2036 2009-07-15  Thomas Quinot  <quinot@adacore.com>
2037
2038         * opt.ads: Minor comment edits
2039
2040 2009-07-15  Tristan Gingold  <gingold@adacore.com>
2041
2042         * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
2043         needed.
2044
2045 2009-07-15  Robert Dewar  <dewar@adacore.com>
2046
2047         * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
2048         information.
2049
2050         * lib-writ.ads: Document addition of SCO lines to ALI file
2051
2052         * par_sco.ads, par_sco.adb: New files.
2053
2054         * opt.ads (Generate_SCO): New switch
2055
2056         * par.adb (Par): Call SCO_Record to record SCO information
2057
2058         * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
2059
2060         * switch-c.adb: Recognize -gnateS to generate SCO information
2061
2062         * usage.adb: Add line for -gnateS
2063
2064         * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
2065
2066 2009-07-15  Robert Dewar  <dewar@adacore.com>
2067
2068         * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
2069         reformatting.
2070
2071 2009-07-15  Thomas Quinot  <quinot@adacore.com>
2072
2073         * g-socthi-mingw.adb: Minor comment addition
2074
2075         * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
2076
2077 2009-07-15  Robert Dewar  <dewar@adacore.com>
2078
2079         * g-htable.ads, s-htable.ads: Minor reformatting
2080
2081 2009-07-15  Robert Dewar  <dewar@adacore.com>
2082
2083         * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
2084         new switch -gnatw.g.
2085         (Set_GNAT_Mode_Warnings): New procedure.
2086
2087         * lib-xref.adb: Minor reformatting
2088
2089 2009-07-15  Robert Dewar  <dewar@adacore.com>
2090
2091         * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
2092         Minor code reorganization
2093
2094 2009-07-14  Taras Glek  <tglek@mozilla.com>
2095             Rafael Espindola  <espindola@google.com>
2096
2097         * gcc-interface/Make-lang.in (ada.install-plugin): New target for
2098         installing plugin headers.
2099
2100 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2101
2102         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
2103         exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
2104         and link it to the expression whose value it captures.
2105
2106 2009-07-13  Robert Dewar  <dewar@adacore.com>
2107
2108         * output.adb: Minor comment addition for last change
2109
2110         * sinfo.ads: Minor reformatting
2111
2112 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
2113
2114         * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
2115         spawn failed like on all other targets.
2116
2117 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2118
2119         * exp_ch7.adb: Indicate origin of temporary for transient expression.
2120
2121 2009-07-13  Thomas Quinot  <quinot@adacore.com>
2122
2123         * s-oscons-tmplt.c: Add comment.
2124
2125 2009-07-13  Robert Dewar  <dewar@adacore.com>
2126
2127         * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
2128         reformatting. Minor code reorganization (add 9 argument version of
2129         Nkind_In).
2130
2131         * impunit.adb: Remove s-os_lib from list of system extensions.
2132
2133         * sem_util.ads: Minor reformatting
2134
2135         * output.adb: Add warnings off/on around System.OS_Lib.
2136
2137 2009-07-13  Bob Duff  <duff@adacore.com>
2138
2139         * exp_dist.adb: Minor comment updates.
2140
2141 2009-07-13  Gary Dismukes  <dismukes@adacore.com>
2142
2143         * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
2144         several references to CodePeer.
2145
2146 2009-07-13  Bob Duff  <duff@adacore.com>
2147
2148         * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
2149         Build_TypeCode_Function_All): Do not recurse if the type is the base
2150         type.
2151
2152 2009-07-13  Robert Dewar  <dewar@adacore.com>
2153
2154         * exp_ch4.adb: Minor comment change
2155
2156 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2157
2158         * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
2159         type of iteration, to prevent spurious warnings.
2160
2161 2009-07-13  Nicolas Roche  <roche@adacore.com>
2162
2163         * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
2164         included.
2165
2166 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
2167
2168         * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
2169         gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
2170         Generate_SCIL.
2171         (CodePeer_Mode): New -gnatC switch.
2172         (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
2173         CodePeer_Mode.
2174
2175 2009-07-13  Eric Botcazou  <ebotcazou@adacore.com>
2176
2177         * checks.adb (Selected_Range_Checks): Do not consider that a non-static
2178         integer bound forces the check if it is compared to its subtype range.
2179
2180 2009-07-13  Robert Dewar  <dewar@adacore.com>
2181
2182         * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
2183         prj-strt.ads: Minor reformatting
2184
2185 2009-07-13  Thomas Quinot  <quinot@adacore.com>
2186
2187         * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
2188         set the type of the From_Any call to the base type.
2189
2190 2009-07-13  Doug Rupp  <rupp@adacore.com>
2191
2192         * symbols-processing-vms-ia64.adb (Process): Add variables and
2193         constants to retrieve and check for symbol visibility.
2194
2195 2009-07-13  Javier Miranda  <miranda@adacore.com>
2196
2197         * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
2198         the identical type we remove the conversion completely because
2199         it is useless.
2200
2201 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2202
2203         * prj-err.adb (Error_Msg): One more case where a message should be
2204         considered as a warning.
2205
2206         * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
2207
2208 2009-07-13  Thomas Quinot  <quinot@adacore.com>
2209
2210         * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
2211         calling stubs in the (library level) scope of the RCI locator, where it
2212         is attached, not in the caller's scope.
2213
2214 2009-07-13  Javier Miranda  <miranda@adacore.com>
2215
2216         * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
2217         interface object declarations we delay the generation of the equivalent
2218         record type declarations until its expansion because there are cases in
2219         which they are not required.            
2220
2221         * sem_util.adb (Implements_Interface): Add missing support for subtypes.
2222
2223         * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
2224         addition of assertion.
2225
2226         * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
2227         interface types require no equivalent constrained type declarations
2228         because the expanded code only references the tag component associated
2229         with the interface.
2230         (Find_Interface_Tag): Improve management of interfaces that are
2231         ancestors of tagged types.
2232
2233         * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
2234         class-wide object declarations to add missing support to statically
2235         displace the pointer to the object to reference the tag component
2236         associated with the interface.
2237
2238         * exp_disp.adb (Make_Tags) Avoid generation of internally generated
2239         auxiliary types associated with user-defined dispatching calls if the
2240         type has no user-defined primitives.
2241
2242 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
2243
2244         * mingw32.h: Make it explicit that we need XP or later.
2245
2246         * initialize.c: Remove useless extern symbol declaration.
2247
2248         * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
2249         code reuse in expect.c.
2250
2251         * adaint.c: Changes throughout the Windows section to redesign storage
2252         of the child process list and the process identification.
2253
2254         * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
2255         for interfacing, fix errors.
2256         (__gnat_expect_portable_execvp): use function in adaint.c
2257
2258 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2259
2260         * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
2261         prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
2262         prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
2263         errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
2264         (Prj.Nmsc.Report_Error): Removed, no longer needed.
2265         Always use Prj.Err.Report_Message.
2266
2267 2009-07-13  Robert Dewar  <dewar@adacore.com>
2268
2269         * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
2270         & comment edits.
2271
2272 2009-07-13  Robert Dewar  <dewar@adacore.com>
2273
2274         * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
2275         prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
2276
2277 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2278
2279         * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
2280         mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
2281         Ada_Prj_Include_File_Set): Removed, since not needed
2282         Code clean up.
2283
2284 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2285
2286         * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
2287         Analyze_Membership_Op.
2288
2289         * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
2290         Resolve_Membership_Op.
2291
2292         * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
2293         Expand_N_In.
2294
2295 2009-07-13  Robert Dewar  <dewar@adacore.com>
2296
2297         * clean.adb: Minor reformattting
2298
2299 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2300
2301         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
2302         gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
2303         prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
2304         prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
2305         and attributes in a project tree.
2306         (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
2307         Remove last remaining mode-specific code (ada_only or
2308         multi_language). This was duplicating code
2309         (Get_Mode, Set_Mode): removed, no longer used.
2310         (Initialize_Project_Path): all tools will now take into account both
2311         GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
2312         Remove some global variables and subprograms no longer used
2313         Make temporary files tree-specific, to avoid interferences between
2314         trees loaded in memory at the same time.
2315         (Prj.Delete_Temporary_File): new subprogram
2316         (Object_Paths, Source_Paths): fields no longer stored in the project
2317         tree, since they are only needed locally in Set_Ada_Paths.
2318         (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
2319         effect in practice.
2320         (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
2321         by local variables in the appropriate subprograms
2322         (Has_Foreign_Sources): removed.
2323
2324         * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
2325
2326 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
2327
2328         * gnat1drv.adb (Adjust_Global_Switches): No longer set
2329         Back_Annotate_Rep_Info in inspector mode.
2330         (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
2331
2332         * opt.ads: Update comment.
2333
2334 2009-07-13  Robert Dewar  <dewar@adacore.com>
2335
2336         * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
2337         prj.ads: Minor reformatting and code reorganization.
2338
2339         * par-ch3.adb (Check_Restricted_Expression): New procedure
2340
2341 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2342
2343         * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
2344         attribute into a call of the corresponding suprogram, create extra
2345         formals for the subprogram, because it may be a renaming whose
2346         analysis does not create extra formals.
2347
2348 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2349
2350         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
2351         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
2352         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
2353         prj-tree.ads: Minor reformatting.
2354         (Processing_Flags): new record to encapsulate the set of common
2355         parameters to several subprograms in the project manager.
2356         (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
2357         Remove the need for the Current_Dir parameter in subprograms.
2358         (Look_For_Sources): minor refactoring, now that we no longer need to
2359         share subprograms between the two Ada_Only and Multi_Language modes
2360         (Processing_Flags): New field Error_On_Unknown_Language.
2361         Merge tests for library project between gnatmake and gprbuild.
2362
2363 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
2364
2365         * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
2366         Minor reformatting.
2367
2368 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2369
2370         * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
2371         than units.
2372
2373 2009-07-13  Thomas Quinot  <quinot@adacore.com>
2374
2375         * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
2376         Write,Input,Output} from private view to full view.
2377
2378         * sem_type.adb, sem_type.ads: Minor reformatting
2379
2380 2009-07-13  Nicolas Setton  <setton@adacore.com>
2381
2382         * exp_dbug.ads: Add documentation note on the utility of
2383         DW_AT_GNAT_encoding for IDEs.
2384
2385 2009-07-13  Robert Dewar  <dewar@adacore.com>
2386
2387         * g-socthi-vxworks.adb: Minor reformatting
2388
2389         * gnatcmd.adb: Minor reformatting
2390
2391 2009-07-13  Thomas Quinot  <quinot@adacore.com>
2392
2393         * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
2394         removed, not used anymore.
2395         (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
2396         New subprogram, implements copy of an Any value into a limited object.
2397         (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
2398         Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
2399         Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
2400         of parameters of a limited type, use the above new subprogram.
2401
2402 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2403
2404         * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
2405         Location.
2406         (Copy_ALI_Files): Avoid calls to read when pointing outside of the
2407         allocated space.
2408         (Error_Report): Remove global variable, replaced by parameters.
2409
2410 2009-07-13  Thomas Quinot  <quinot@adacore.com>
2411
2412         * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
2413         standard sendto(2) interface for connected sockets (passing a null
2414         destination address). Use send(2) instead for that case.
2415
2416 2009-07-13  Pascal Obry  <obry@adacore.com>
2417
2418         * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
2419
2420 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2421
2422         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
2423         prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
2424         variables and tables in prj-nmsc.adb.
2425         (Tree_Processing_Data): Renames Processing_Data, some new fields added
2426         (Project_Processing_Data): New record
2427         Simplify/unify check for missing sources.
2428
2429 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2430
2431         * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
2432         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
2433         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
2434         prj-tree.ads (Immediate_Directory_Of): Removed.
2435         (Prj.Pars): Now parse the project simulating a default config file.
2436         (Add_Default_GNAT_Naming_Scheme): New subprogram
2437         (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
2438         Remove gnatmake-specific parsing of source files.
2439         (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
2440         the error itself to provide more precise diagnostics.
2441         (Process_Exceptions_Unit_Based): Avoid duplicate error message when
2442         a unit belongs to several projects.
2443         (Copy_Interface_Sources): Search the full path of files to copy in the
2444         list of sources of the application rather than in the list of units.
2445         (Parse_Project_And_Apply_Config): Do not reset the name of the main
2446         project file.
2447         (Check_File): Use htables to find out whether a source is duplicated.
2448         (Add_Source): check whether the source or unit were already seen earlier
2449
2450         * gcc-interface/Makefile.in: Update gnatmake dependencies.
2451
2452 2009-07-13  Robert Dewar  <dewar@adacore.com>
2453
2454         * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
2455         expression if extensions permitted.
2456
2457         * par-ch4.adb (P_Membership_Test): New procedure (implement membership
2458         set tests).
2459         (P_Relation): Use P_Membership_Test
2460
2461         * par.adb (P_Membership_Test): New procedure (implement membership set
2462         tests).
2463
2464         * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
2465
2466         * sprint.adb (Sprint_Node): Handle set form for membership tests.
2467
2468 2009-07-13  Thomas Quinot  <quinot@adacore.com>
2469
2470         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
2471         Do not attempt to generate stubs for predefined primitives of
2472         synchronized interfaces.
2473         (Add_Stub_Type): Factor some code from the PCS-specific variants of
2474         Build_Stub_Type.
2475
2476 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2477
2478         * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
2479         Controlling_Result flag from the operation they override.
2480
2481 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
2482
2483         * gcc-interface/Make-lang.in: Update dependencies
2484
2485 2009-07-13  Robert Dewar  <dewar@adacore.com>
2486
2487         * gnat_ugn.texi: The gnatf switch no longer is needed to get full
2488         details on unsupported constructs.
2489
2490         * rtsfind.adb: Remove references to All_Errors_Mode, give errors
2491         unconditionally.
2492
2493         * s-trafor-default.adb: Correct some warnings
2494
2495         * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
2496         sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
2497         Minor reformatting.
2498
2499         * par-ch4.adb (Conditional_Expression): Capture proper location for
2500         conditional expression, should point to IF.
2501
2502         * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
2503         s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
2504         g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
2505         reorganization (use conditional expressions).
2506
2507 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2508
2509         * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
2510         build-in-place function that returns an inherently limited type (not
2511         just a task type) create proper object declaration so that extra
2512         build-in-place actuals are properly added to the call.
2513
2514 2009-07-13  Robert Dewar  <dewar@adacore.com>
2515
2516         * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
2517
2518         * gnat_ugn.texi: Add documentation for -gnatw.m/.M
2519
2520         * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
2521
2522         * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
2523         Warn_On_Suspicious_Modulus_Value.
2524
2525         * ug_words: Add entries for -gnatw.m/-gnatw.M.
2526
2527         * usage.adb: Add lines for -gnatw.m/.M switches.
2528
2529         * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
2530
2531 2009-07-13  Javier Miranda  <miranda@adacore.com>
2532
2533         * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
2534         reading the Is_Interface attribute of the dispatching type.
2535
2536 2009-07-13  Robert Dewar  <dewar@adacore.com>
2537
2538         * a-convec.adb: Minor code reorganization (use conditional expressions)
2539
2540 2009-07-13  Robert Dewar  <dewar@adacore.com>
2541
2542         * freeze.adb (Check_Suspicious_Modulus): New procedure.
2543
2544 2009-07-13  Robert Dewar  <dewar@adacore.com>
2545
2546         * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
2547         warning).
2548
2549         * par-ch4.adb: Minor reformatting
2550
2551 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2552
2553         * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
2554         => Is_Atomic_Aggregate
2555
2556 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2557
2558         * prj-nmsc.adb: Avoid traversing the list of source files if
2559         we have already processed all locally removed files.
2560
2561 2009-07-13  Jose Ruiz  <ruiz@adacore.com>
2562
2563         * gnat_ugn.texi: Fix typo.
2564
2565 2009-07-13  Robert Dewar  <dewar@adacore.com>
2566
2567         * freeze.adb: Minor reformatting
2568         Minor code reorganization (use Nkind_In)
2569
2570         * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
2571
2572 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
2573
2574         * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
2575         local variable and do not test it in Compile_Time_Bad_Alignment.
2576         Do not issue size or alignment warnings for the X'Address form.
2577         * sem_util.ads (Find_Overlaid_Object): Delete.
2578         (Find_Overlaid_Entity): New procedure.
2579         * sem_util.adb (Find_Overlaid_Object): Rename to...
2580         (Find_Overlaid_Entity): ...this and turn into a procedure.  Report
2581         whether the address is offseted within the overlaid entity.
2582         (Has_Compatible_Alignment): Track the offset globally instead of
2583         passing it to Check_Offset.  For an indexed component, compute the
2584         full offset when possible.  If the resulting offset is zero, only
2585         check the prefix.
2586         (Check_Offset): Delete.
2587         * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
2588         (Address_Aliased_Entity): Delete.
2589         (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
2590         Find_Overlaid_Entity to find the overlaid entity and the offset.
2591         Adjust throughout for above change.
2592         (Validate_Address_Clauses): Always use attributes of entities, not of
2593         their type.  Tweak message for warning.  Call Has_Compatible_Alignment
2594         if the address is offseted to warn about incompatible alignments.
2595         * gcc-interface/gigi.h (annotate_object): Declare.
2596         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
2597         entity.  Call annotate_object instead of annotating manually objects.
2598         (annotate_object): New function.
2599         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
2600         at the end.
2601
2602 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
2603
2604         * gcc-interface/ada-tree.h: Minor reorganization.
2605         * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
2606         (gnat_print_type): Likewise.
2607
2608 2009-07-11  Thomas Quinot  <quinot@adacore.com>
2609
2610         * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
2611         Lvalue -> lvalue
2612
2613         * exp_ch6.adb: Minor reformatting
2614
2615 2009-07-11  Ed Schonberg  <schonberg@adacore.com>
2616
2617         * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
2618         account possible type qualification to determine whether aggregate
2619         needs a target temporary to respect atomic type or object.
2620
2621         * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
2622         Expand_Atomic_Aggregate.
2623
2624 2009-07-11  Emmanuel Briot  <briot@adacore.com>
2625
2626         * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
2627         algorithm.
2628         (Excluded_Sources_Htable): No longer a global table.
2629         Change error message to indicate which files are illegal in the list
2630         of excluded files, as opposed to only the location in the project
2631         file.
2632         (Find_Source): New subprogram.
2633
2634 2009-07-10  Thomas Quinot  <quinot@adacore.com>
2635
2636         * exp_ch7.adb: Update comments.
2637
2638 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
2639
2640         * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
2641         clause if -gnatI is set instead of crashing.
2642
2643 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2644
2645         * sem_ch11.adb (Same_Expression): Null is always equal to itself.
2646         Additional work to remove redundant successive raise statements, in
2647         this case access checks.
2648
2649 2009-07-10  Vincent Celier  <celier@adacore.com>
2650
2651         * make.adb (Compile): Always create a deep copy of the mapping file
2652         argument (-gnatem=...) as it may be deallocate/reallocate by
2653         Normalize_Arguments.
2654
2655 2009-07-10  Javier Miranda  <miranda@adacore.com>
2656
2657         * einfo.adb (Directly_Designated_Type): Add assertion.
2658         
2659         * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
2660         access types before using attribute Directly_Designated_Type.
2661
2662 2009-07-10  Emmanuel Briot  <briot@adacore.com>
2663
2664         * prj.ads: Minor typo fix
2665
2666 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2667
2668         * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
2669         special treatment.
2670
2671         * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
2672         subprogram is a function call, resolve properly, to ensure that extra
2673         actuals are added as needed.
2674
2675 2009-07-10  Thomas Quinot  <quinot@adacore.com>
2676
2677         * sem_aggr.adb: Minor comments editing
2678
2679         * exp_tss.adb, exp_ch3.adb: Minor reformatting
2680
2681 2009-07-10  Robert Dewar  <dewar@adacore.com>
2682
2683         * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
2684
2685         * exp_ch4.adb: Add ??? comment for conditional expressions on limited
2686         types.
2687
2688         * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
2689         replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
2690         case of conditional expressions that may not be elaborated.
2691
2692         * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
2693         conditional expression where we may not execute then then or else
2694         branches.
2695
2696 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
2697
2698         * i-cexten.ads (bool): New type.
2699
2700 2009-07-10  Robert Dewar  <dewar@adacore.com>
2701
2702         * sinfo.ads (N_Short_Circuit): New definition
2703         
2704         * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
2705         treepr.adb: Minor code reorganization (use N_Short_Circuit)
2706
2707 2009-07-10  Javier Miranda  <miranda@adacore.com>
2708
2709         * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
2710         non-tagged record types.
2711
2712         * sem_prag.adb
2713         (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
2714         with non-tagged types. Required to import C++ classes that have no
2715         virtual primitives.
2716         (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
2717         returning non-tagged types. For backward compatibility, if the
2718         constructor returns a class wide type we internally change the
2719         returned type to the corresponding non class-wide type.
2720
2721         * sem_aggr.adb
2722         (Valid_Ancestor_Type): CPP_Constructors code cleanup.
2723         (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
2724         (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
2725         (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
2726
2727         * sem_ch3.adb
2728         (Analyze_Object_Declaration): CPP_Constructors code cleanup.
2729
2730         * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
2731
2732         * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
2733
2734         * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
2735
2736         * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
2737         cleanup.
2738         
2739         * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
2740
2741         * gnat_rm.texi
2742         (pragma CPP_Class): Document that it can be used now with non-tagged
2743         record types.
2744         (pragma CPP_Constructor): Document that it can be used now with
2745         functions returning specific types. For backward compatibility
2746         we also support functions returning class-wide types.
2747
2748         * gnat_ugn.texi
2749         (Interfacing with C++ constructors): Update the examples to incorporate
2750         the new syntax in which the functions used to import C++ constructors
2751         return specific types.
2752         (Interfacing with C++ at the Class Level): Update the examples to
2753         incorporate the new syntax in which the functions used to import
2754         C++ constructors return specific types.
2755
2756 2009-07-10  Thomas Quinot  <quinot@adacore.com>
2757
2758         * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
2759         Make_Disp_Conditional_Select_Body,
2760         Make_Disp_Timed_Select_Body): For the case of a type that is neither an
2761         interface nor a concurrent type, the primitive body is empty. Generate
2762         a null statement so that it remains well formed.
2763
2764 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2765
2766         * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
2767         replace references to them in defaulted component expressions with
2768         references to the values of the discriminants of the target object.
2769
2770 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2771
2772         * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
2773         pragma, to capture global references if the context is generic.
2774
2775         * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
2776         appears within the initialization procedure for the corresponding
2777         record, replace it with the proper discriminal.
2778
2779 2009-07-10  Vincent Celier  <celier@adacore.com>
2780
2781         * make.adb: Do not include object directories or library ALI
2782         directories of library projects in the object path.
2783
2784 2009-07-10  Javier Miranda  <miranda@adacore.com>
2785
2786         * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
2787         Typ argument to ensure proper management of access types.
2788
2789 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2790
2791         * exp_ch7.adb (Build_Final_List): If the list is being built for a
2792         Taft-Amendment type, place the finalization list in the package body,
2793         to ensure that the tree for the spec is identical whenever it is
2794         compiled.
2795
2796 2009-07-10  Javier Miranda  <miranda@adacore.com>
2797
2798         * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
2799         inheriting attributes from a private Parent_Base.
2800
2801 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2802
2803         * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
2804         statements with the same condition.
2805
2806 2009-07-10  Robert Dewar  <dewar@adacore.com>
2807
2808         * exp_ch4.adb (Raise_Accessibility_Error): New procedure
2809
2810 2009-07-09  Tom Tromey  <tromey@redhat.com>
2811
2812         * raise-gcc.c: Include dwarf2h (unconditionally).
2813
2814 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2815
2816         * sem_ch10.adb (Install_Context): If the unit is a package body,
2817         install the private with_clauses of the corresponding package
2818         declaration.
2819
2820 2009-07-09  Robert Dewar  <dewar@adacore.com>
2821
2822         * checks.adb: Minor reformatting
2823
2824 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
2825
2826         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
2827         into ug_words.
2828
2829 2009-07-09  Thomas Quinot  <quinot@adacore.com>
2830
2831         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
2832         Do not warn for a constant overlaying any constant object
2833
2834 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2835
2836         * sem_ch10.adb (Install_Context): If the unit is a package body,
2837         install the private with_clauses of the corresponding package
2838         declaration.
2839
2840 2009-07-09  Robert Dewar  <dewar@adacore.com>
2841
2842         * checks.adb: Minor reformatting
2843
2844 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
2845
2846         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
2847         into ug_words.
2848
2849 2009-07-09  Thomas Quinot  <quinot@adacore.com>
2850
2851         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
2852         Do not warn for a constant overlaying any constant object
2853
2854 2009-07-09  Arnaud Charlet  <charlet@adacore.com>
2855
2856         * gcc-interface/Make-lang.in: Update dependencies
2857
2858 2009-07-09  Thomas Quinot  <quinot@adacore.com>
2859
2860         * g-socket.adb (Check_Selector): Do not create local copies of the
2861         socket sets on the stack.
2862
2863 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
2864
2865         * gnat_ugn.texi: Add missing VMS translations.
2866
2867 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2868
2869         * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
2870         condition, to prevent generation of visible code during expansion,
2871         when Check is not enabled.
2872
2873 2009-07-09  Gary Dismukes  <dismukes@adacore.com>
2874
2875         * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
2876         the check gets registered for any available local handler
2877         (Set_Local_Raise).
2878
2879         * sem_util.adb: Add with and use of Exp_Ch11.
2880         (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
2881         that the check gets registered for any available local handler.
2882
2883         * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
2884         on slice ranges.
2885
2886 2009-07-09  Steve Baird  <baird@adacore.com>
2887
2888         * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
2889         function.
2890         (Expand_N_Exception_Declaration): Fix handling of exceptions
2891         declared in a subprogram.
2892
2893 2009-07-09  Emmanuel Briot  <briot@adacore.com>
2894
2895         * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
2896         multi-unit files.
2897
2898 2009-07-09  Thomas Quinot  <quinot@adacore.com>
2899
2900         * freeze.adb: Minor reformatting
2901
2902         * exp_ch3.adb: Minor comment fix.
2903
2904         * sinfo.ads: Minor comment fix
2905
2906 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2907
2908         * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
2909
2910 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2911
2912         * freeze.adb (Freeze_Expression): If the expression is the name of a
2913         function in a call, and the function has not been frozen yet, create
2914         extra formals for it to ensure that the proper actuals are created
2915         when expanding the call.
2916
2917 2009-07-09  Emmanuel Briot  <briot@adacore.com>
2918
2919         * prj-pp.adb (Print): Fix handling of source index when set on a
2920         declaration node.
2921
2922 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2923
2924         * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
2925         a temporary to the source expression whose value it captures.
2926
2927         * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
2928
2929 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2930
2931         * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
2932         EXPR_LOCATION.
2933
2934 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
2935
2936         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
2937         parameters when the subtype of the actual is not known to be a subrange
2938         of the formal's subtype.
2939         (Expand_Call): Generate a range check only in the E_In_parameter case
2940         (in out parameter range checks are now handled in Expand_Actuals).
2941
2942         * exp_ch4.adb (Expand_N_Slice): Restore code that calls
2943         Enable_Range_Check.
2944
2945 2009-07-07  Robert Dewar  <dewar@adacore.com>
2946
2947         * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
2948
2949 2009-07-07  Javier Miranda  <miranda@adacore.com>
2950
2951         * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
2952         designated type comes from a limited views.
2953
2954 2009-07-07  Emmanuel Briot  <briot@adacore.com>
2955
2956         * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
2957         locally removed files that are later made visible again in an importing
2958         project.
2959
2960 2009-07-07  Robert Dewar  <dewar@adacore.com>
2961
2962         * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
2963
2964 2009-07-07  Sergey Rybin  <rybin@adacore.com>
2965
2966         * gnat_ugn.texi: Add an example to the description of gnatcheck
2967         'Style_Checks' rule option.
2968
2969 2009-07-07  Tristan Gingold  <gingold@adacore.com>
2970
2971         * seh_init.c: Fix inline assembly statement in seh_init.c
2972
2973 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
2974
2975         * sem_warn.adb (Check_References): Do not emit warnings on formals of
2976         an entry body. Only the formals of the entry declaration are traced.
2977
2978 2009-07-07  Robert Dewar  <dewar@adacore.com>
2979
2980         * s-osprim-mingw.adb: Minor code reorganization
2981
2982 2009-07-07  Robert Dewar  <dewar@adacore.com>
2983
2984         * prj-nmsc.adb: Minor reformatting
2985
2986 2009-07-07  Pascal Obry  <obry@adacore.com>
2987
2988         * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
2989         cases where Pattern is longer than Source.
2990
2991 2009-07-07  Pascal Obry  <obry@adacore.com>
2992
2993         * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
2994
2995 2009-07-07  Emmanuel Briot  <briot@adacore.com>
2996
2997         * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
2998         project file.
2999
3000 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
3001
3002         * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
3003         primitive operations, in case one of them is called in the
3004         initialization procedure for the type.
3005
3006 2009-07-07  Robert Dewar  <dewar@adacore.com>
3007
3008         * a-calend.adb: Minor code reorganization (use conditional expressions)
3009
3010         * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
3011         prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
3012         s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
3013         s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
3014         s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
3015         g-comlin.adb, exp_ch11.adb: Minor reformatting.
3016
3017 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
3018
3019         * checks.adb (Generate_Range_Check): Replace type conversions with
3020         unchecked conversions to support the case of performing range checks
3021         on Enum'Val (permits integer values to be converted to enumeration).
3022
3023         * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
3024         Attribute_Succ): Set Do_Range_Check to False before calling
3025         Expand_Pred_Succ, to prevent gigi from generating any range checks.
3026         (Expand_N_Attribute_Reference, case Attribute_Val):
3027         Generate a range check when needed (and set Do_Range_Check to False).
3028
3029         * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
3030         scalar object initialization if needed.
3031
3032         * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
3033         when needed on scalar allocators.
3034         (Expand_N_Qualified_Expression): Generate range check when needed.
3035         (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
3036         Checks on slice ranges handled in Resolve_Slice.
3037
3038         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
3039         when needed, for all scalar assignments, not just discrete.
3040         (Expand_Simple_Function_Return): Resolve the conversion created for a
3041         scalar function return so that the conversion will get expanded to
3042         generate a possible constraint check.
3043
3044         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
3045         in out scalar actuals when subtypes don't match, to ensure generation
3046         of return checks (and set Do_Range_Check to False).
3047         (Expand_Call): Uncomment code to perform range checks, but make it apply
3048         only to in and in out parameters (checks on parameter returns are
3049         handled in Expand_Actuals). If a scalar actual for a call to a derived
3050         subprogram is marked as needing a range check, peform it here (and set
3051         Do_Range_Check to False).
3052
3053         * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
3054         range check on scalar component associations when needed.
3055
3056         * sem_eval.adb (In_Subrange_Of): Return False when the first type has
3057         infinities but the second type does not, as these aren't compatible
3058         floating-point types.
3059
3060         * sem_res.adb (Resolve_Slice): In the case where the prefix of the
3061         slice is itself a slice, pick up the Etype of the prefix. This handles
3062         the case where the prefix was an Image attribute expanded to a slice,
3063         and ensures that we get the subtype with the slice constraint rather
3064         than the unconstrained subbtype of the 'Image.
3065
3066 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
3067
3068         * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
3069         overloaded expressions in a conditional expressions.
3070
3071         * sem_res.adb (Resolve): Handle properly overloaded conditional
3072         expressions.
3073
3074 2009-07-07  Robert Dewar  <dewar@adacore.com>
3075
3076         * scng.adb: Minor reformattting
3077
3078         * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
3079         association allows conditional expression without parens.
3080
3081         * par-ch4.adb (P_Name): Attribute arguments can be conditional
3082         expressions without enclosing parentheses, and also as parameters,
3083         indexing expressions etc.
3084         (P_Conditional_Expression): New procedure
3085         (P_Expression_If_OK): New procedure
3086
3087         * par.adb (P_Conditional_Expression): New procedure
3088         (P_Expression_If_OK): New procedure
3089
3090         * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
3091         form of conditional expression.
3092
3093         * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
3094         missing True argument if ELSE argument missing.
3095
3096         * sinfo.adb (Is_Elsif): New flag
3097
3098         * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
3099         part of the language, and the documentation is modified accordingly.
3100         (Is_Elsif): New flag
3101
3102 2009-07-06  Olivier Hainque  <hainque@adacore.com>
3103
3104         * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
3105         setjmp_longjmp): Attach the exception propagation reraise fallback
3106         to the sequence end label location when we have it.
3107
3108 2009-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3109
3110         PR ada/40608
3111         * init.c (APPLE): Include <mach/mach_init.h>.
3112         (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
3113
3114 2009-07-04  Eric Botcazou  <ebotcazou@adacore.com>
3115
3116         * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
3117         (SET_DECL_LANG_SPECIFIC): Likewise.
3118         (TYPE_RM_VALUE): New macro.
3119         (SET_TYPE_RM_VALUE): Likewise.
3120         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
3121         (TYPE_RM_MIN_VALUE): Likewise.
3122         (TYPE_RM_MAX_VALUE): Likewise.
3123         (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
3124         (SET_TYPE_RM_MIN_VALUE): Likewise.
3125         (SET_TYPE_RM_MAX_VALUE): Likewise.
3126         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
3127
3128 2009-07-04  Laurent GUERBY  <laurent@guerby.net>
3129
3130         PR ada/40631
3131         * tracebak.c (__gnat_backtrace): Fix old-style definition.
3132
3133 2009-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3134
3135         * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
3136
3137 2009-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3138
3139         PR ada/40609
3140         * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
3141         ucontext argument.
3142
3143 2009-07-01  Eric Botcazou  <ebotcazou@adacore.com>
3144
3145         * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
3146
3147 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
3148
3149         * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
3150         the type of the left operand if it pads a self-referential type when
3151         the right operand is a constructor.
3152
3153         * gcc-interface/lang-specs.h: Fix copyright date.
3154
3155 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
3156
3157         * gcc-interface/decl.c: Include tree-inline.h.
3158         (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
3159         * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
3160         * gcc-interface/utils2.c: Include tree-inline.
3161         (known_alignment) <CALL_EXPR>: Likewise.
3162
3163 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
3164
3165         * raise-gcc.c: Include dwarf2.h conditionally.
3166         
3167 2009-06-29  Tom Tromey  <tromey@redhat.com>
3168
3169         * raise-gcc.c: Include elf/dwarf2.h.
3170
3171 2009-06-27  Laurent GUERBY  <laurent@guerby.net>
3172
3173         * tb-gcc.c (trace_callback): Add casts to silence warning.
3174
3175 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
3176
3177         * tb-gcc.c: Fix copyright notice.
3178
3179 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
3180
3181         * init.c (__gnat_set_globals): Add prototype.
3182         * adaint.c (__gnat_binder_supports_auto_init): Likewise.
3183         (__gnat_sals_init_using_constructors): Likewise.
3184         * gcc-interface/utils.c (gnat_pushlevel): Likewise.
3185         (get_block_jmpbuf_decl): Likewise.
3186         (gnat_poplevel): Likewise.
3187         (merge_sizes): Rename local variable.
3188         (copy_type): Likewise.
3189         (build_vms_descriptor32): Likewise.
3190         (build_vms_descriptor): Likewise.
3191         (convert_vms_descriptor64): Likewise.
3192         (convert_vms_descriptor32): Likewise.
3193         (convert_to_fat_pointer): Likewise.
3194         (maybe_unconstrained_array): Likewise.
3195         (def_fn_type): Use promoted type with va_arg.
3196         * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
3197         (substitute_in_type): Rename local variable.
3198         * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
3199
3200 2009-06-26  Laurent GUERBY  <laurent@guerby.net>
3201
3202         * tb-gcc.c (trace_callback): Use char* instead of void*.
3203         * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
3204         * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
3205         (Attribute_to_gnu): Adjust for above change.
3206         (Subprogram_Body_to_gnu): Likewise.
3207         * gcc-interface/utils.c (merge_sizes): Rename local variable.
3208         (copy_type): Likewise.
3209         (build_vms_descriptor32): Likewise.
3210         (build_vms_descriptor): Likewise.
3211         (convert_vms_descriptor64): Likewise.
3212         (convert_vms_descriptor32): Likewise.
3213         (convert_to_fat_pointer): Likewise.
3214         (maybe_unconstrained_array): Likewise.
3215         * gcc-interface/decl.c (substitute_in_type): Likewise.
3216
3217 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
3218
3219         * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
3220         (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
3221         of the upper bound of the index types.
3222
3223 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
3224
3225         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
3226         out common predicate.  Use the maximum to compute the upper bound of
3227         the index type only when it is not wider than sizetype.  Perform the
3228         comparison in the index type for the generic expression.  Use real
3229         precision to decide whether to generate special types for debugging
3230         information.
3231
3232 2009-06-26  Matthew Gingell  <gingell@adacore.com>
3233
3234         * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
3235
3236 2009-06-26  Vincent Celier  <celier@adacore.com>
3237
3238         * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
3239         default.
3240
3241 2009-06-26  Robert Dewar  <dewar@adacore.com>
3242
3243         * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
3244
3245 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
3246
3247         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
3248         correct arguments to create_field_decl.  Remove redundant iteration.
3249         Rewrite computation of the maximum size.
3250         <E_Array_Subtype>: Reorder and simplify handling of special cases.
3251         Rewrite computation of the maximum size.  Use consistent naming.
3252         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
3253         comparison order for consistency.  Use generic integer node to
3254         build the operator and fold the result.
3255
3256 2009-06-25  Vincent Celier  <celier@adacore.com>
3257
3258         * vms_data.ads: Minor comment change
3259
3260 2009-06-25  Gary Dismukes  <dismukes@adacore.com>
3261
3262         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
3263         assignment statement to targeting a caller-provided object when the
3264         result type is an interface type.
3265
3266         * exp_ch6.adb (Expand_Call): Remove redundant test of
3267         Is_Limited_Interface (Is_Inherently_Limited is sufficient).
3268         (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
3269
3270         * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
3271         to OK_For_Limited_Init.
3272
3273         * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
3274         condition so that True is returned for all limited interfaces, not
3275         just synchronized ones. Ignore components of an interface type when
3276         checking for limited components (such a component can be a parent
3277         component).
3278
3279         * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
3280         (OK_For_Limited_Init): Add type parameter.
3281
3282         * sem_ch3.adb (Check_Initialization): Add type in call to
3283         OK_For_Limited_Init.
3284         (OK_For_Limited_Init): Add new type param in call to
3285         OK_For_Limited_Init_In_05.
3286         (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
3287         nonlimited type when the context type is a limited interface. Add type
3288         on recursive calls.
3289
3290         * sem_ch4.adb (Analyze_Allocator): Add type in call to
3291         OK_For_Limited_Init.
3292
3293         * sem_ch6.adb (Check_Limited_Return): Add type in call to
3294         OK_For_Limited_Init.
3295
3296         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
3297         OK_For_Limited_Init.
3298         (Instantiate_Object): Add type in call to OK_For_Limited_Init.
3299
3300         * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
3301         class-wide interface, get the base type before applying Etype, in order
3302         to account for class-wide subtypes.
3303
3304 2009-06-25  Emmanuel Briot  <briot@adacore.com>
3305
3306         * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
3307         prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
3308         between gnatmake and gprbuild.
3309         (Naming_Data): Removed, no longer used
3310         (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
3311         needed locally in one subprogram, no need to store forever in the
3312         structure.
3313         (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
3314         a similar role.
3315         (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
3316         Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
3317         Spec_Suffix_Id_Of): removed, no longer used.
3318
3319 2009-06-25  Javier Miranda  <miranda@adacore.com>
3320
3321         * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
3322         types on qualified expression in calls to imported C++ constructors.
3323
3324         * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
3325         imported C++ constructors.
3326
3327 2009-06-25  Sergey Rybin  <rybin@adacore.com>
3328
3329         * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
3330
3331 2009-06-25  Vincent Celier  <celier@adacore.com>
3332
3333         * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
3334         provided, on Windows change all '/' to '\'.
3335
3336         * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
3337         used. Minor comment changes
3338
3339         * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
3340         Remove_Forbidden_File_Name.
3341
3342 2009-06-25  Quentin Ochem  <ochem@adacore.com>
3343
3344         * prj.ads (Unit_Index): Now general access type.
3345
3346 2009-06-25  Pascal Obry  <obry@adacore.com>
3347
3348         * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
3349
3350 2009-06-25  Emmanuel Briot  <briot@adacore.com>
3351
3352         * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
3353         prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
3354         computed efficiently from the other fields.
3355         (Object_To_Global_Archive): New subprogram
3356         (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
3357         (Override_Kind): Fix handling of separates in Ada.
3358         (Create_Mapping_File): Remove duplicate code
3359         (Naming_Data.Implementation_Exception, Specification_Exception):
3360         field removed, since never used.
3361         (Naming_Data.Specs, .Bodies): field removed, since this is only
3362         used while processing the project and is not needed once the tree
3363         is in memory. This brings Naming_Data and Lang_Naming_Data
3364         closer (same content now, but different use still).
3365
3366 2009-06-25  Pascal Obry  <obry@adacore.com>
3367
3368         * sem_ch4.adb: Minor reformatting.
3369
3370         * a-strsea.adb: Fix confusion between 'Length and 'Last.
3371
3372 2009-06-25  Ed Schonberg  <schonberg@adacore.com>
3373
3374         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
3375         Unchecked_Access): If the context is an interface type, and the prefix
3376         is of the corresponding class-wide type, do not insert a conversion
3377         because the pointer displacement has already taken place, and we must
3378         retain the class-wide type in a dispatching context.
3379
3380 2009-06-25  Emmanuel Briot  <briot@adacore.com>
3381
3382         * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
3383         the previous source file.
3384         (Create_Mapping): Iterate on sources rather than on units.
3385
3386 2009-06-25  Emmanuel Briot  <briot@adacore.com>
3387
3388         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
3389         prj-env.adb, prj-env.ads (Slash): removed, no longer used
3390         (Source_Data): no longer use Path.Name to point to a locally removed
3391         file. Instead we use the field Locally_Removed which is clearer
3392
3393 2009-06-25  Arnaud Charlet  <charlet@adacore.com>
3394
3395         * gcc-interface/Make-lang.in: Remove references to sem_maps.o
3396
3397         * sem_maps.adb, sem_maps.ads: Removed, not used.
3398
3399 2009-06-25  Ed Falis  <falis@adacore.com>
3400
3401         * s-vxwext-rtp.ads: Add missing declaration
3402
3403 2009-06-25  Matthew Gingell  <gingell@adacore.com>
3404
3405         * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
3406         speed up unmapped case.
3407
3408 2009-06-25  Vincent Celier  <celier@adacore.com>
3409
3410         * prj-nmsc.adb (Check): Change error message for illegal abstract
3411         projects.
3412
3413 2009-06-25  Robert Dewar  <dewar@adacore.com>
3414
3415         * gnat_ugn.texi: Add note on use of -gnatct for ASIS
3416
3417 2009-06-25  Emmanuel Briot  <briot@adacore.com>
3418
3419         * fmap.ads: Add documentation on mapping files
3420
3421 2009-06-25  Robert Dewar  <dewar@adacore.com>
3422
3423         * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
3424         reformatting
3425
3426 2009-06-24  Robert Dewar  <dewar@adacore.com>
3427
3428         * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
3429
3430         * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
3431         case.
3432         (Index): Ditto.
3433
3434 2009-06-24  Ed Schonberg  <schonberg@adacore.com>
3435
3436         * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
3437         present when checking whether a call may be interpreted as an indexing
3438         of the result of a call.
3439
3440         * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
3441         body for a null procedure on the freeze actions for the procedure, so
3442         that it will be analyzed at the proper place without premature freezing
3443         of actuals.
3444
3445         * sem_ch3.adb (Check_Completion): Code cleanup. 
3446         Do not diagnose a null procedure without a body, if previous errors
3447         have disabled expansion.
3448
3449 2009-06-24  Doug Rupp  <rupp@adacore.com>
3450
3451         * init.c [VMS] Resignal C$_SIGKILL
3452
3453 2009-06-24  Ed Falis  <falis@adacore.com>
3454
3455         * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
3456         Define ERROR in body for VxWorks 6 kernel
3457
3458 2009-06-24  Pascal Obry  <obry@adacore.com>
3459
3460         * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
3461         in [Send/Receive]_Socket.
3462
3463 2009-06-24  Emmanuel Briot  <briot@adacore.com>
3464
3465         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
3466         prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
3467         to several subprograms.
3468         (Source_Data.Other_Part): Removed, since can be computed from the
3469         language.
3470         (Other_Part): New subprogram.
3471
3472 2009-06-24  Emmanuel Briot  <briot@adacore.com>
3473
3474         * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
3475         the full base name of the file when the suffix doesn't start with a '.'.
3476
3477 2009-06-24  Vincent Celier  <celier@adacore.com>
3478
3479         * prj-nmsc.adb (Check): A project declared abstract is legal if no
3480         attribute Source_Dirs, Source_Files, Source_List_File or Languages is
3481         declared.
3482
3483 2009-06-24  Robert Dewar  <dewar@adacore.com>
3484
3485         * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
3486         prj-env.adb: Minor reformatting
3487
3488 2009-06-24  Ed Falis  <falis@adacore.com>
3489
3490         * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
3491         s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
3492         s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
3493         support for VxWorks SMP.
3494
3495         * gcc-interface/Make-lang.in: Update dependencies
3496
3497 2009-06-24  Emmanuel Briot  <briot@adacore.com>
3498
3499         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
3500         prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
3501         no longer useful.
3502         (Source_Data.Lang_Kind): Removed, since it duplicates information
3503         already available through Language.Config.
3504         (Source_Data.Compile): Removed, since information is already available
3505         through the language.
3506         (Is_Compilable): New subprogram.
3507         (Source_Data.Dependency): Removed, since already available through
3508         the language.
3509         (Source_Data.Object_Exist, Object_Linked): Removed since available
3510         through the language already.
3511         (Unit_Data.File_Names): Is now also set in multi_language mode, to
3512         bring the two modes closer in the resulting data structures.
3513         (Source_Data.Unit): Now a direct pointer to the unit data, rather than
3514         just the name that would point into a hash table.
3515         (Get_Language_From_Name): New subprogram.
3516
3517 2009-06-24  Javier Miranda  <miranda@adacore.com>
3518
3519         * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
3520         visible through limited-with context clauses. In addition, avoid an
3521         extra tag check that is not required when the class-wide
3522         designated types of the operand and target types are
3523         the same entity.
3524         (Tagged_Membership): Handle entities from the limited view.
3525
3526 2009-06-24  Emmanuel Briot  <briot@adacore.com>
3527
3528         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
3529         prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
3530         (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
3531         different vocabularies for similar concepts (Impl/Body_Part and
3532         Spec/Specification).
3533         (Unit_Data): now points directly to a Source_Id, rather than duplicating
3534         some of the information in File_Name_Data. This also saves a bit of
3535         memory. However, since we are now using a pointer we need to test
3536         for null explicitly in several places of the code
3537
3538 2009-06-24  Javier Miranda  <miranda@adacore.com>
3539
3540         * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
3541         from processing the type conversion when the node is
3542         replaced by an N_Raise_Program_Error node.
3543
3544 2009-06-24  Hristian Kirtchev  <kirtchev@adacore.com>
3545
3546         * sem_ch6.adb (Designates_From_With_Type): New routine.
3547         (Process_Formals): Since anonymous access types are no longer flagged
3548         as from with types, traverse the designated type to determine whether
3549         it is coming from a limited view.
3550
3551         * sem_res.adb: Remove with and use clauses for Sem_Ch10.
3552         (Full_Designated_Type): Use Available_View to extract the non-limited /
3553         full view of a type.
3554
3555 2009-06-24  Robert Dewar  <dewar@adacore.com>
3556
3557         * exp_ch6.adb: Minor reformatting
3558
3559         * layout.adb: Minor reformatting
3560
3561         * make.adb: Minor reformatting
3562
3563 2009-06-24  Thomas Quinot  <quinot@adacore.com>
3564
3565         * sem_ch10.adb: Minor code reorganization.
3566
3567 2009-06-24  Eric Botcazou  <ebotcazou@adacore.com>
3568
3569         * ttypes.ads: Minor editing.
3570         
3571 2009-06-24  Robert Dewar  <dewar@adacore.com>
3572
3573         * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
3574         in deciding to do call-by-copy code.
3575
3576 2009-06-24  Vincent Celier  <celier@adacore.com>
3577
3578         * make.adb (Gnatmake): To decide if an executable should be rebuilt,
3579         check if an externally built library file is more current than the
3580         executable.
3581
3582 2009-06-23  Olivier Hainque  <hainque@adacore.com>
3583
3584         * gcc-interface/utils.c (handle_vector_size_attribute): Import from
3585         c-common.c and populate in gnat_internal_attribute_table.
3586         
3587 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
3588
3589         * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
3590         Available_View only when designated type of an anonymous access type
3591         is  limited view.
3592
3593 2009-06-23  Robert Dewar  <dewar@adacore.com>
3594
3595         * sem_ch10.adb: Minor reformatting
3596
3597         * ali.ads: Mino reformatting.
3598
3599         * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
3600         turning off inlining if ASIS mode active).
3601         
3602         * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
3603         This belongs in gnat1drv.adb after switches are scanned.
3604
3605 2009-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
3606
3607         * sem_attr.adb: Add with and use clauses for Sem_Ch10.
3608         (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
3609         when dealing with class-wide types. Detect a legal shadow entity and
3610         retrieve its non-limited view.
3611
3612         * sem_ch10.adb (Has_With_Clause): Move the spec and body of the
3613         subprogram to top package level from Intall_Limited_Withed_Unit.
3614         (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
3615         Add check which prevents the installation of a limited view if the
3616         non-limited view is already visible through a with clause.
3617         (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
3618         legal shadow entity which may occur in subprogram formals of anonymous
3619         access type.
3620
3621         * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
3622
3623         * sem_ch3.adb (Access_Definition): Remove the propagation of flag
3624         From_With_Type from the designated type to the generated anonymous
3625         access type. Remove associated comment.
3626
3627         * sem_res.adb Add with and use clauses for Sem_Ch10.
3628         (Full_Designated_Type): Detect a legal shadow entity and retrieve its
3629         non-limited view. Since the shadow entity may replace a regular
3630         incomplete type, return the available full view.
3631
3632 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
3633
3634         * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
3635         incomplete type declarations. Previous code was potentially quadratic
3636         in the number of visible declarations in any package appearing in a
3637         limited_with_clause.
3638
3639 2009-06-23  Robert Dewar  <dewar@adacore.com>
3640
3641         * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
3642         xref_lib.adb: Minor reformatting
3643
3644 2009-06-23  Robert Dewar  <dewar@adacore.com>
3645
3646         * a-stzhas.adb: Provide dummy body to avoid build problems with old
3647         versions which did have a body for this unit.
3648
3649 2009-06-23  Vincent Celier  <celier@adacore.com>
3650
3651         * prj-attr.adb: Attribute names Initial_Required_Switches and
3652         Final_Required_Switches changed to Leading_Required_Switches and
3653         Trailing_Required_Switches.
3654
3655         * prj-nmsc.adb (Process_Compiler): Attribute names
3656         Initial_Required_Switches and Final_Required_Switches changed to
3657         Leading_Required_Switches and Trailing_Required_Switches.
3658
3659         * prj.ads (Language_Config): Component Initial_Required_Switches and
3660         Final_Required_Switches changed to Leading_Required_Switches and
3661         Trailing_Required_Switches.
3662
3663         * snames.ads-tmpl: Remove standard names Initial_Required_Switches and
3664         Final_Required_Switches; add standard names Leading_Required_Switches
3665         and Trailing_Required_Switches.
3666
3667 2009-06-23  Thomas Quinot  <quinot@adacore.com>
3668
3669         * prj-conf.adb: Minor reformatting
3670
3671         * xref_lib.adb: Minor cleanup
3672
3673 2009-06-23  Emmanuel Briot  <briot@adacore.com>
3674
3675         * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
3676         prj-conf.ads (Check_Configuration): New parameter
3677         Compiler_Driver_Mandatory.
3678
3679 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
3680
3681         * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
3682         context of the current unit has an inline pragma, the instance is not
3683         rewritten as the declaration of the package wrapper. Handle both
3684         possibilities when retrieving the visible subprogram that renames the
3685         instantiation itself.
3686
3687 2009-06-23  Javier Miranda  <miranda@adacore.com>
3688
3689         * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
3690         designated types referencing entities from the limited view.
3691
3692 2009-06-23  Robert Dewar  <dewar@adacore.com>
3693
3694         * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
3695
3696         * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
3697         small values
3698
3699         * prj-conf.ads: Minor reformatting
3700
3701         * prj-conf.adb: Minor reformatting
3702
3703 2009-06-23  Vasiliy Fofanov  <fofanov@adacore.com>
3704
3705         * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
3706         to correspond to the log format that gnatmem now expects.
3707
3708 2009-06-23  Vincent Celier  <celier@adacore.com>
3709
3710         * prj-attr.adb: New attributes Initial_Required_Switches,
3711         Final_Required_Switches and Object_File_Switches
3712         
3713         * prj-nmsc.adb (Process_Compiler): Process new attributes
3714         Name_Final_Required_Switches, Name_Initial_Required_Switches and
3715         Name_Object_File_Switches.
3716
3717         * prj.ads (Language_Config): New component
3718         Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
3719         Compiler_Final_Required_Switches and Object_File_Switches.
3720
3721         * snames.ads-tmpl: New standard names Initial_Required_Switches,
3722         Final_Required_Switches and Object_File_Switches
3723
3724 2009-06-23  Pascal Obry  <obry@adacore.com>
3725
3726         * s-strhas.adb, s-strhas.ads: Minor reformatting.
3727
3728 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
3729
3730         * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
3731         not indicate that the enclosing unit needs a body.
3732
3733 2009-06-23  Emmanuel Briot  <briot@adacore.com>
3734
3735         * prj-conf.ads, prj-conf.adb: New files part of the project manager.
3736
3737 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
3738
3739         * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
3740         primitive equality include it with its source name even if the
3741         operation is currently invisible, to make sure that the corresponding
3742         slot in the dispatch table is reserved for the internal equality
3743         subsequently generated during expansion.
3744
3745 2009-06-23  Matthew Gingell  <gingell@adacore.com>
3746
3747         * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
3748
3749 2009-06-22  Jose Ruiz  <ruiz@adacore.com>
3750
3751         * sysdep.c (__gnat_localtime_tzoff for RTX):
3752         SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
3753         GetTimeZoneInformation instead.
3754
3755 2009-06-22  Robert Dewar  <dewar@adacore.com>
3756
3757         * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
3758
3759 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
3760
3761         * sem_ch12.adb (Collect_Previous_Instances): Do not collect
3762         instantiations declared in a previous generic package body.
3763
3764 2009-06-22  Robert Dewar  <dewar@adacore.com>
3765
3766         * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
3767         restriction No_Direct_Boolean_Operators.
3768
3769 2009-06-22  Thomas Quinot  <quinot@adacore.com>
3770
3771         * bindusg.adb: Minor fixes to gnatbind usage message
3772
3773         * sem_eval.adb: Minor reformatting
3774
3775 2009-06-22  Javier Miranda  <miranda@adacore.com>
3776
3777         * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
3778         freezing point the check on the use of abstract types in object
3779         declarations. Done to allow the declaration of C++ imported variables
3780         or constants whose type corresponds with an imported C++ classes for
3781         which the constructor is not imported.
3782
3783 2009-06-22  Thomas Quinot  <quinot@adacore.com>
3784
3785         * sem_ch6.adb: Minor reformatting
3786
3787 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
3788
3789         * exp_ch3.adb (Build_Initialization_Call): If a discriminated record
3790         component is constrained with an expression rather than with a
3791         discriminant of the enclosing type, use that expression when building
3792         the call to default-initialize the component, when the call is part of
3793         an aggregate with box initialization.
3794
3795 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
3796
3797         * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
3798         unconditional rather than a style check, because a formal name out of
3799         order is suspicious.
3800
3801 2009-06-22  Vincent Celier  <celier@adacore.com>
3802
3803         * prj-nmsc.adb (Locate_Directory): Indicate the project name when
3804         creating a directory automatically.
3805
3806 2009-06-22  Eric Botcazou  <ebotcazou@adacore.com>
3807
3808         * sem_ch3.adb (Create_Constrained_Components): For a subtype of an
3809         untagged derived type, add a hidden component for every constrained
3810         discriminant of the parent type to keep record layout consistent.
3811
3812 2009-06-22  Thomas Quinot  <quinot@adacore.com>
3813
3814         * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
3815         copy).
3816
3817 2009-06-22  Matthew Gingell  <gingell@adacore.com>
3818
3819         * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
3820         s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
3821         g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
3822         a-swuwha.adb: New unit System.String_Hash.  
3823         Refactor redundant cut and pasted hash functions with instances of a
3824         new generic hash function.
3825         Implement a new string hashing algorithm which appears in testing to
3826         be move effective than to previous approach.
3827
3828 2009-06-22  Ed Falis  <falis@adacore.com>
3829
3830         * sysdep.c: remove include for nfsLib.h and an NFS specific error
3831         message for VxWorks 653 vThreads: not supported by the OS.
3832
3833         * gsocket.h: disable sockets for VxWorks 653 vThreads.
3834
3835 2009-06-22  Robert Dewar  <dewar@adacore.com>
3836
3837         * sem_ch6.adb: Add ??? comment for bad use of Style_Check
3838
3839 2009-06-22  Robert Dewar  <dewar@adacore.com>
3840
3841         * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
3842         by Sloc_Range.
3843
3844         * freeze.adb: Minor comment updates
3845
3846         * s-valrea.adb (Bad_Based_Value): New procedure
3847         (Scan_Real): Raise exceptions with messages
3848
3849 2009-06-22  Matthew Gingell  <gingell@adacore.com>
3850
3851         * adaint.h: Complete previous change.
3852
3853 2009-06-22  Thomas Quinot  <quinot@adacore.com>
3854
3855         * exp_ch7.ads, exp_ch3.adb: Minor reformatting
3856
3857 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
3858
3859         * sem_ch6.adb (Check_Overriding_Indicator): When style checks are
3860         enabled, emit warning when a non-controlling argument of the overriding
3861         operation appears out of place vis-a-vis of the formal of the
3862         overridden operation.
3863
3864 2009-06-22  Vincent Celier  <celier@adacore.com>
3865
3866         * gnatcmd.adb (Check_Files): Close temporary files after all file names
3867         have been written into it.
3868
3869 2009-06-22  Matthew Gingell  <gingell@adacore.com>
3870
3871         * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
3872         available.
3873
3874 2009-06-22  Thomas Quinot  <quinot@adacore.com>
3875
3876         * sem_disp.adb (Check_Direct_Call): Handle the case where the full
3877         view of the root type is visible at the point of the call.
3878
3879 2009-06-22  Pat Rogers  <rogers@adacore.com>
3880
3881         * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
3882
3883 2009-06-22  Jerome Lambourg  <lambourg@adacore.com>
3884
3885         * freeze.adb: Add comments.
3886
3887 2009-06-21  Thomas Quinot  <quinot@adacore.com>
3888
3889         * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
3890         sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
3891         Factor out code to new subprogram...
3892         (Exp_Util.Find_Init_Call): New shared routine to find the init proc call
3893         for a default initialized variable.
3894         (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
3895         entity that has an associated freeze node.
3896         (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
3897         If there is an init call for the object, defer it to the object freeze
3898         point.
3899         (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
3900         name clash with new subprogram introduced in Exp_Util.
3901
3902 2009-06-21  Robert Dewar  <dewar@adacore.com>
3903
3904         * einfo.ads: Minor reformatting
3905
3906 2009-06-21  Ed Falis  <falis@adacore.com>
3907
3908         * env.c (__gnat_environ): return NULL for vThreads - unimplemented
3909
3910 2009-06-21  Eric Botcazou  <ebotcazou@adacore.com>
3911
3912         * einfo.ads: Update comments.
3913
3914 2009-06-21  Hristian Kirtchev  <kirtchev@adacore.com>
3915
3916         * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
3917         where the controlling formal is of private class-wide type whose
3918         completion is a synchronized type can be converted into direct calls.
3919
3920 2009-06-21  Vincent Celier  <celier@adacore.com>
3921
3922         * gnatcmd.adb (Check_Files): When all sources of the project are to be
3923         indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
3924         of sources using -files=, so that the distinction can be made by the
3925         tool of a call with no source (to display the usage) from a call with
3926         a project file that contains no source.
3927
3928 2009-06-21  Jerome Lambourg  <lambourg@adacore.com>
3929
3930         * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
3931         case of VM convention arrays.
3932
3933 2009-06-20  Robert Dewar  <dewar@adacore.com>
3934
3935         * a-nudira.adb: Minor reformatting
3936
3937 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
3938
3939         * exp_ch3.adb (Build_Record_Init_Proc): When copying initial
3940         expressions (possibly from a parent type) indicate that the scope of
3941         the new itypes is the initialization procedure being built.
3942
3943 2009-06-20  Robert Dewar  <dewar@adacore.com>
3944
3945         * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
3946         Needs_64, and now computed without anomolies for some dynamic types.
3947
3948 2009-06-20  Thomas Quinot  <quinot@adacore.com>
3949
3950         * sem_prag.adb: Minor reformatting
3951
3952         * exp_disp.ads: Minor reformatting
3953
3954 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
3955
3956         * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
3957         function call is a legal expression to initialize a limited object.
3958
3959         * exp_ch3.adb: Rename various freeze operations that perform expansion
3960         actions, to prevent confusion with subprograms in the freeze package.
3961
3962 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
3963
3964         * sem.adb (Walk_Library_Units): Check instantiations first.
3965
3966         * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
3967         private primitive if it is a function with a controlling result that is
3968         a type extension with progenitors.
3969
3970         * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
3971         a primitive operation of a synchronized tagged type that has a
3972         controlling result.
3973
3974 2009-06-20  Thomas Quinot  <quinot@adacore.com>
3975
3976         * einfo.ads: Fix typo.
3977
3978 2009-06-20  Ed Falis  <falis@adacore.com>
3979
3980         * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
3981
3982 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
3983
3984         * gcc-interface/trans.c (emit_check): Do not wrap up the result
3985         in a SAVE_EXPR.
3986         (protect_multiple_eval): Always protect complex expressions.
3987
3988 2009-06-19  Emmanuel Briot  <briot@adacore.com>
3989
3990         * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
3991         make sure we always return a name ending with a path separator.
3992
3993 2009-06-19  Javier Miranda  <miranda@adacore.com>
3994
3995         * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
3996         Save and restore the visibility of the parent when installed.
3997
3998 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
3999
4000         * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
4001         by Common which contains all these fields.
4002
4003         * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
4004         Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
4005         Remove code duplication in this package by means of calling the
4006         equivalent code in s-taprob.
4007
4008 2009-06-19  Robert Dewar  <dewar@adacore.com>
4009
4010         * a-einuoc.ads: Minor reformatting
4011
4012 2009-06-19  Ed Falis  <falis@adacore.com>
4013
4014         * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
4015         s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
4016
4017 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
4018
4019         * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
4020
4021 2009-06-19  Robert Dewar  <dewar@adacore.com>
4022
4023         * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
4024         ranges
4025
4026         * checks.adb (Determine_Range): Move the test for generic types later.
4027
4028         * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
4029         cases.
4030         (Eval_Relational_Op): Fold more cases including string compares
4031
4032         * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
4033         function.
4034
4035 2009-06-19  Robert Dewar  <dewar@adacore.com>
4036
4037         * sem_type.ads, sem_ch12.adb: Minor reformatting
4038
4039         * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
4040
4041 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
4042
4043         * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
4044         primitive operation of a rivate extension whose controlling argument
4045         is an out parameter.
4046
4047         * sem.adb (Walk_Library_Units): exclude generic package declarations
4048         from check.
4049
4050 2009-06-19  Thomas Quinot  <quinot@adacore.com>
4051
4052         * i-vxwoio.ads: Add comments
4053
4054 2009-06-19  Thomas Quinot  <quinot@adacore.com>
4055
4056         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
4057         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
4058         g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
4059         (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
4060         (GNAT.Sockets.Thin.Socket_Ioctl): Use new function
4061         Thin_Common.Socket_Ioctl.
4062         (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
4063         __gnat_socket_ioctl.
4064         (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
4065         argument after the file descriptor and request code.
4066
4067 2009-06-19  Robert Dewar  <dewar@adacore.com>
4068
4069         * checks.adb: Minor reformatting
4070
4071 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
4072
4073         * env.c (__gnat_environ): RTX does not support this functionality.
4074
4075 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
4076
4077         * sem.adb (Walk_Library_Items): Include bodies in the list of units to
4078         traverse, to account for front-end inlining and instantiations in a
4079         spec or in the main unit.
4080
4081 2009-06-19  Robert Dewar  <dewar@adacore.com>
4082
4083         * checks.adb (Determine_Range): Do not attempt to get range of generic
4084         type.
4085
4086 2009-06-19  Sergey Rybin  <rybin@adacore.com>
4087
4088         * gnat_ugn.texi, vms_data.ads: Add the documentation for the new
4089         gnatmetric option for generating the schema file for gnatmetric XML
4090         output. Add corresponding VMS qualifier.
4091
4092 2009-06-19  Robert Dewar  <dewar@adacore.com>
4093
4094         * g-cgi.adb: Minor reformatting
4095
4096 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
4097
4098         * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
4099         signal code for SIGFPE and raise Program_Error for SIGILL.
4100
4101         * s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
4102
4103 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
4104
4105         * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
4106         generic package if there is a visibility candidate that is declared in
4107         a regular package.
4108
4109 2009-06-18  Olivier Hainque  <hainque@adacore.com>
4110
4111         * system-aix64.ads: New file.
4112         * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
4113         64bit system.ads for ppc64 multilib variants.
4114
4115 2009-06-16  Robert Dewar  <dewar@adacore.com>
4116             Olivier Hainque  <hainque@adacore.com>
4117
4118         Relax constraints on Machine_Attribute argument types:
4119         * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
4120         missing type.
4121         (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
4122         * gcc-interface/decl.c (prepend_attributes): Accept static
4123         expressions of any type as attribute arguments, not only string
4124         literals.
4125         * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
4126         the relaxation of the restriction on the Info argument type.
4127         
4128 2009-06-13  Aldy Hernandez  <aldyh@redhat.com>
4129
4130         * gcc-interface/utils.c (record_builtin_type): Pass location
4131         argument to build_decl.
4132         (create_type_stub_decl): Same.
4133         (create_type_decl): Same.
4134         (create_var_decl_1): Same.
4135         (create_field_decl): Same.
4136         (create_param_decl): Same.
4137         (create_label_decl): Same.
4138         (create_subprog_decl): Same.
4139         * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
4140         * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
4141         argument to create_artificial_label.
4142         (Loop_Statement_to_gnu): Same.
4143         (Subprogram_Body_to_gnu): Same.
4144         (gnat_gimplify_stmt): Same.
4145
4146 2009-06-11  Richard Henderson  <rth@redhat.com>
4147
4148         * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
4149         OPT_gdwarfplus.
4150
4151 2009-06-11  Ed Schonberg  <schonberg@adacore.com>
4152
4153         * sem_attr.adb (Resolve_Attribute, case 'access): Add missing
4154         accessibiliy check on access_to_subprogram in the context of an
4155         anonymous access that is not an access parameter.
4156
4157 2009-06-11  Eric Botcazou  <ebotcazou@adacore.com>
4158
4159         * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
4160         
4161 2009-06-11  Quentin Ochem  <ochem@adacore.com>
4162
4163         * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
4164         comments for message handled by GPS.
4165
4166 2009-06-11  Matthew Gingell  <gingell@adacore.com>
4167
4168         * adaint.c: Use fopen64 instead of fopen on platforms where we know
4169         it's supported.
4170
4171 2009-06-11  Pascal Obry  <obry@adacore.com>
4172
4173         * g-cgi.ads: Fix comment typo.
4174
4175         * g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
4176
4177 2009-06-10  Eric Botcazou  <ebotcazou@adacore.com>
4178
4179         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
4180         a reference to the original type for the type of the field of the
4181         XVS type.
4182         (maybe_pad_type): Likewise.
4183
4184         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
4185         common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
4186         Pass correctly typed arguments to create_field_decl.
4187         <E_Record_Subtype>: Set BLKmode for tagged and limited types in the
4188         case of contrained discriminants as well.  Use the padded base type
4189         in the other case as well.  Rename temporary variable.  Tweak test.
4190         Factor common access pattern.  Set GNU_SIZE only once.
4191
4192 2009-06-09  Olivier Hainque  <hainque@adacore.com>
4193
4194         * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
4195         helper for build_call_alloc_dealloc with arguments to be interpreted
4196         identically.  Process the case where a GNAT_PROC to call is provided.
4197         (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
4198         and return an allocator for DATA_SIZE bytes aimed at containing a
4199         DATA_TYPE object, using the default __gnat_malloc allocator.  Honor
4200         DATA_TYPE alignments greater than what the latter offers.
4201         (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
4202         release a DATA_TYPE object designated by DATA_PTR using the
4203         __gnat_free entry point.
4204         (build_call_alloc_dealloc): Expect object data type instead of naked
4205         alignment constraint. Use the new helpers.
4206         (build_allocator): Remove special processing for the super-aligned
4207         case, now handled by build_call_alloc_dealloc.  Pass data
4208         type instead of the former alignment argument, as expected by the new
4209         interface.
4210         * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
4211         and comment.
4212         * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
4213         Remove special processing for the super-aligned case, now handled
4214         by build_call_alloc_dealloc.  Pass data type instead of the former
4215         alignment argument, as expected by the new interface.
4216         
4217 2009-06-08  Alexandre Oliva  <aoliva@redhat.com>
4218
4219         * lib-writ.adb (flag_compare_debug): Import.
4220         (Write_ALI): Skip during -fcompare-debug-second.
4221
4222 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
4223
4224         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
4225         adjusting the discriminant nodes in an extension, use the full view
4226         of the parent subtype if it is of a private kind.
4227
4228 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
4229
4230         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the
4231         _Parent field, if any, to the record before adding the other fields.
4232         <E_Record_Subtype>: Put the _Controller field before the other fields
4233         except for the _Tag or _Parent fields.
4234         (components_to_record): Likewise.  Retrieve the _Parent field from the
4235         record type.
4236
4237 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
4238
4239         * gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
4240         remove unused parameter and simplify.
4241         (gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS.  Factor
4242         common predicate.  Rewrite loop for clarity.  Use GNU_TYPE directly
4243         as context for all discriminants.  Fix formatting nits.
4244         <E_Record_Subtype>: Add cosmetic 'break'.  Test Has_Discriminants
4245         before Discriminant_Constraint.  Adjust for above renaming.  Do not
4246         set GNU_TYPE more than once.
4247         (elaborate_entity): Test Has_Discriminants on the entity and use
4248         Implementation_Base_Type.
4249         (components_to_record): Rename component_list to gnat_component_list.
4250         Retrieve the _Parent field from the list.  Fix nits in comments.
4251         Clarify logic in loop.  Pass correct arguments to create_field_decl.
4252
4253 2009-06-02  Eric Botcazou  <ebotcazou@adacore.com>
4254
4255         * gcc-interface/Make-lang.in: Fix formatting.
4256
4257 2009-06-01  Olivier Hainque  <hainque@adacore.com>
4258             Eric Botcazou  <ebotcazou@adacore.com>
4259         
4260         * gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
4261         to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
4262         on the result if at least one of the input fields couldn't be output
4263         as a static constant any more.
4264
4265 2009-06-01  Olivier Hainque  <hainque@adacore.com>
4266             Eric Botcazou  <ebotcazou@adacore.com>
4267         
4268         * gcc-interface/utils2.c (gnat_build_constructor): Factor
4269         out code.  Use initializer_constant_valid_for_bitfield_p and
4270         CONSTRUCTOR_BITFIELD_P for bit-fields.
4271
4272 2009-05-26  Ian Lance Taylor  <iant@google.com>
4273
4274         * gcc-interface/Makefile.in (COMPILER): Define.
4275         (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
4276         (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
4277         (seh_init.o, tracebak.o): Likewise.
4278         * gcc-interface/Make-lang.in (ada/targext.o): Likewise.
4279         (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
4280         (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
4281         (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
4282         (ada/utils2.o): Likewise.
4283
4284 2009-05-24  Olivier Hainque  <hainque@adacore.com>
4285
4286         * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
4287         * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
4288         Add -auxbase variants to the list of recognized internal switches.
4289         * back_end.adb (Scan_Back_End_Switches): Use the new functions and
4290         adjust comments.
4291         * lib.ads: Make comment on internal GCC switches more general.
4292         * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
4293         as for C.       
4294         
4295 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
4296
4297         * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
4298
4299 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
4300
4301         * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
4302         types.
4303
4304 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
4305
4306         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
4307         original type because of the alignment when there is an address clause.
4308
4309 2009-05-20  Eric Botcazou  <ebotcazou@adacore.com>
4310
4311         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
4312         discriminants affect the shape of the subtype, retrieve the GCC type
4313         directly from the original field if the GNAT types for the field and
4314         the original field are the same.
4315
4316 2009-05-15  Eric Botcazou  <ebotcazou@adacore.com>
4317
4318         * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
4319         New macros.
4320         (TYPE_RM_VALUES): Likewise.
4321         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
4322         (SET_TYPE_RM_SIZE): New macro.
4323         (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
4324         (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
4325         (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
4326         * gcc-interface/gigi.h (create_range_type): Declare.
4327         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
4328         Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
4329         <E_Signed_Integer_Subtype>: Build a regular integer type first and
4330         then set the RM bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
4331         <E_Floating_Point_Subtype>: Build a regular floating-point type first
4332         and then set the RM bounds.
4333         <E_Array_Type>: Use create_range_type instead of build_range_type.
4334         <E_Array_Subtype>: Build a regular integer type first and then set
4335         the RM bounds for the extra subtype.
4336         <E_String_Literal_Subtype>: Use create_range_type instead of
4337         build_range_type.
4338         <all>: Set the RM bounds for enumeration types and the GCC bounds for
4339         floating-point types.
4340         (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
4341         (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
4342         to set the bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
4343         (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
4344         types and with RM bounds for subtypes.
4345         * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
4346         (gnat_print_type) <REAL_TYPE>: New case.
4347         <ENUMERAL_TYPE>: Fall through to above case.
4348         (gnat_get_subrange_bounds): New function.
4349         * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
4350         TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
4351         * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
4352         for booleans.  Adjust and use SET_TYPE_RM_SIZE to set the RM size.
4353         (create_range_type): New function.
4354         (create_param_decl): Build a regular integer type first and then set
4355         the RM bounds for the extra subtype.
4356         (unchecked_convert): Remove kludge for 'Valid.
4357         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
4358         the index to sizetype instead of TYPE_DOMAIN.
4359
4360 2009-05-14  Eric Botcazou  <ebotcazou@adacore.com>
4361
4362         * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
4363         parameter and move check for static expression to...
4364         (elaborate_expression): ...here.  Adjust call to above function.
4365         (gnat_to_gnu_entity): Likewise for all calls.  Use correct arguments
4366         in calls to elaborate_expression.
4367         (elaborate_entity): Likewise.
4368         (substitution_list): Likewise.
4369         (maybe_variable): Fix formatting.
4370         (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
4371         missing guard.
4372         * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
4373
4374 2009-05-07  Arnaud Charlet  <charlet@adacore.com>
4375
4376         * gcc-interface/Make-lang.in: Update dependencies.
4377
4378 2009-05-06  Laurent GUERBY  <laurent@guerby.net>
4379
4380         * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
4381         Define sa_handler_pos.
4382         * s-osinte-linux.ads: Use it.
4383         * s-linux-mipsel.ads: New.
4384         * system-linux-mips64el.ads: New.
4385         * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
4386         mips64el-linux.
4387
4388 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
4389
4390         * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
4391         targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
4392         opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
4393         (Tagged_Type_Expansion): New flag.
4394         Replace use of VM_Target related to tagged types expansion by
4395         Tagged_Type_Expansion, since tagged type expansion is not necessarily
4396         linked to VM targets.
4397
4398 2009-05-06  Robert Dewar  <dewar@adacore.com>
4399
4400         * sem_attr.adb: Add processing for Standard'Compiler_Version
4401
4402         * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
4403         skipping.
4404         (Expr_First_Char): Add ??? comment that paren skipping needs work
4405         (Expr_Last_Char): Add ??? comment that paren skipping needs work
4406
4407         * exp_attr.adb: Add processing for Compiler_Version
4408
4409         * sem_attr.adb: New attribute Compiler_Version
4410
4411         * snames.ads-tmpl: Add entries for Compiler_Version attribute
4412
4413         * gnat_rm.texi: Document Compiler_Version attribute
4414
4415 2009-05-06  Robert Dewar  <dewar@adacore.com>
4416
4417         * errout.adb: Minor reformatting
4418
4419         * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
4420         sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
4421         styleg.adb: Add stylized comments to error messages that are included
4422         in the codefix circuitry of IDE's such as GPS.
4423
4424 2009-05-06  Sergey Rybin  <rybin@adacore.com>
4425
4426         * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
4427         new form of the rule parameter that allows to specify the suffix for
4428         access-to-access type names.
4429
4430 2009-05-06  Robert Dewar  <dewar@adacore.com>
4431
4432         * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
4433         out parameter assigned when exception handlers are present.
4434
4435         * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
4436         assignments on exit.
4437
4438         * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
4439         sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
4440         prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
4441         par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
4442         messages that are included in the codefix circuitry of IDE's such as
4443         GPS.
4444
4445         * sinput.ads, sinput.adb (Expr_First_Char): New function
4446         (Expr_Last_Char): New function
4447
4448 2009-05-06  Sergey Rybin  <rybin@adacore.com>
4449
4450         * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
4451         Add formal definition for extra exit point metric
4452
4453 2009-05-06  Pascal Obry  <obry@adacore.com>
4454
4455         * adaint.c: Support for setting attributes on unicode filename on
4456         Windows.
4457
4458 2009-05-06  Robert Dewar  <dewar@adacore.com>
4459
4460         * sem_warn.adb: Minor reformatting
4461
4462 2009-05-06  Javier Miranda  <miranda@adacore.com>
4463
4464         * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
4465         not have discriminants or components with default expressions.
4466         (Analyze_Pragma): For pragma CPP_Class check that imported types
4467         have no discriminants and components have no default expression.
4468
4469         * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
4470         class-wide types in the expression of a record component association.
4471
4472 2009-05-06  Sergey Rybin  <rybin@adacore.com>
4473
4474         * vms_data.ads: Add qualifier for gnatmetric extra exit points metric
4475
4476         * gnat_ugn.texi: Add description for the new extra exit points metric
4477         (gnatmetric section).
4478
4479 2009-05-06  Robert Dewar  <dewar@adacore.com>
4480
4481         * s-fileio.adb: Minor comment update
4482
4483         * sem_ch8.adb: Minor reformatting
4484
4485         * exp_ch3.adb: Update comments.
4486
4487 2009-05-06  Tristan Gingold  <gingold@adacore.com>
4488
4489         * init.c, s-osinte-darwin.ads: Reduce alternate stack size
4490
4491 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
4492
4493         * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
4494         Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
4495
4496         * gcc-interface/Make-lang.in: Update dependencies
4497
4498 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
4499
4500         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
4501         change. The context clause of a generic instance declaration must be
4502         preserved until the end of the compilation, because it may have to be
4503         installed/removed repeatedly.
4504         The latest change to sem.adb ensures that the context of both spec and
4505         body of an instance is traversed before the instance itself, making
4506         this patch redundant.
4507
4508 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
4509
4510         * sem_aggr.adb: Fix typo.
4511
4512 2009-05-06  Thomas Quinot  <quinot@adacore.com>
4513
4514         * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
4515         declaration, do not adjust if the declaration is to be rewritten into
4516         a renaming.
4517
4518 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
4519
4520         * sem_ch8.adb (Find_Type): Reject the use of a task type in its own
4521         discriminant part.
4522
4523 2009-05-06  Bob Duff  <duff@adacore.com>
4524
4525         * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
4526         otherwise the compiler would be allowed to optimize away the cleanup
4527         code.
4528
4529 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
4530
4531         * gnat_ugn.texi: Fix typo.
4532
4533 2009-05-06  Thomas Quinot  <quinot@adacore.com>
4534
4535         * g-debuti.adb: Minor reformatting
4536
4537         * exp_attr.adb: Minor reformatting
4538
4539 2009-05-06  Robert Dewar  <dewar@adacore.com>
4540
4541         * sem_aggr.adb: Minor reformatting.
4542
4543         * g-socthi-vms.adb: Minor reformatting
4544
4545 2009-05-06  Bob Duff  <duff@adacore.com>
4546
4547         * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
4548         (Append_All): Add Append_All to g-table and g-dyntab, similar to table.
4549
4550 2009-05-06  Bob Duff  <duff@adacore.com>
4551
4552         * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
4553         flags.
4554
4555 2009-05-06  Javier Miranda  <miranda@adacore.com>
4556
4557         * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
4558         (Resolve_Extension_Aggregate): Do not reject C++ constructors in
4559         extension aggregates.
4560         (Resolve_Record_Aggregate): Add support for C++ constructors in
4561         extension aggregates.
4562
4563         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
4564         constructors in extension aggregates.
4565
4566 2009-05-06  Robert Dewar  <dewar@adacore.com>
4567
4568         * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
4569         clause.
4570
4571 2009-05-06  Thomas Quinot  <quinot@adacore.com>
4572
4573         * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
4574         packed type, since on OpenVMS, struct msghdr is packed.
4575
4576 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
4577
4578         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
4579         call returning an unconstrained composite value, create the proper
4580         subtype for it, as is done for object dclarations with unconstrained
4581         nominal subtypes. Perform this transformation regarless of whether
4582         call comes from source.
4583
4584 2009-05-06  Robert Dewar  <dewar@adacore.com>
4585
4586         * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
4587         records
4588
4589         * gnat_rm.texi:
4590         Add documentation for pragma Implicit_Packing applied to record
4591         types.
4592
4593 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
4594
4595         * sem.adb (Walk_Library_Items): Place all with_clauses of an
4596         instantiation on the spec, because late instance bodies may generate
4597         with_clauses for the instance body but are inserted in the instance
4598         spec.
4599
4600 2009-05-06  Emmanuel Briot  <briot@adacore.com>
4601
4602         * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
4603         support for returning the directory even if it doesn't exist. This is
4604         used for the object directory, since we are always setting it to a
4605         non-null value, and we should set it to an absolute name rather than a
4606         relative name for the sake of external tools that might depend on it.
4607         (Check_Library_Attributes): When Project.Library_Dir is known, check
4608         that the directory exists.
4609
4610 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
4611
4612         * sem_attr.adb (Check_Dereference): If the prefix of an attribute
4613         reference is an implicit dereference, do not freeze the designated type
4614         if within a default expression or when preanalyzing a pre/postcondtion.
4615
4616 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
4617
4618         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
4619         call returning an unconstrained composite value, create the proper
4620         subtype for it, as is done for object dclarations with unconstrained
4621         nominal subtypes
4622
4623 2009-05-06  Robert Dewar  <dewar@adacore.com>
4624
4625         * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
4626         improvements
4627
4628         * freeze.adb: Minor reformatting
4629
4630 2009-05-06  Thomas Quinot  <quinot@adacore.com>
4631
4632         * sem_ch3.adb (Access_Type_Declaration): An access type whose
4633         designated type is a limited view from a limited with clause (flagged
4634         From_With_Type) is not itself such a limited view.
4635
4636 2009-05-06  Emmanuel Briot  <briot@adacore.com>
4637
4638         * prj-nmsc.adb: Remove unused variable.
4639
4640         * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
4641         prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
4642         makeutl.ads, since not all users of prj.ads need this.
4643
4644 2009-05-06  Javier Miranda  <miranda@adacore.com>
4645
4646         * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
4647         constructor in case of aggregates whose type is a CPP_Class type.
4648
4649 2009-05-06  Robert Dewar  <dewar@adacore.com>
4650
4651         * sem_ch13.adb: Minor comment additions
4652
4653         * osint.adb: Minor reformatting
4654
4655 2009-05-06  Pascal Obry  <obry@adacore.com>
4656
4657         * initialize.c: On Windows, keep full pathname to expanded command
4658         line patterns.
4659
4660 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
4661
4662         * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
4663         an aggregate with box default is of a discriminated private type, do
4664         not build a subaggregate for it.
4665         A proper call to the initialization procedure is generated for it.
4666
4667 2009-05-06  Thomas Quinot  <quinot@adacore.com>
4668
4669         * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
4670         (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
4671         Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
4672         use standard array code for Standard.String.
4673         (Exp_Dist): Bump PolyORB s-parint API version to 3.
4674         (Rtsfind): New entities TA_Std_String, Unbounded_String.
4675
4676 2009-05-06  Robert Dewar  <dewar@adacore.com>
4677
4678         * g-comlin.ads: Minor reformatting
4679
4680         * xoscons.adb: Minor reformatting
4681
4682 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
4683
4684         * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
4685         Underlying_Type before retrieving the type definition for gathering
4686         components, to account for the case where the type is private.
4687
4688 2009-05-06  Tristan Gingold  <gingold@adacore.com>
4689
4690         * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
4691
4692 2009-05-06  Thomas Quinot  <quinot@adacore.com>
4693
4694         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
4695         g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
4696         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
4697         (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
4698         Windows versions): Fix incorrect base
4699         address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
4700         (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
4701         System.Address for the To parameter instead of a Sockaddr_In_Access, to
4702         achieve independance from AF_INET family, and also to allow this
4703         parameter to be retrieved from a Msghdr for the Windows case where
4704         these routines are used to implement C_Sendmsg and C_Recvmsg.
4705
4706 2009-05-06  Bob Duff  <duff@adacore.com>
4707
4708         * g-expect.adb, g-expect.ads: Minor reformatting
4709
4710         * sdefault.ads: Minor comment fix
4711
4712         * g-expect-vms.adb: Minor reformatting
4713
4714         * table.ads, table.adb (Append_All): New convenience procedure for
4715         appending a whole array.
4716
4717         * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
4718         box message. Call Osint.Dump_Source_File_Names to print out the file
4719         list, instead of rummaging around in various data structures.
4720
4721         * debug.adb: New switch -gnatd.n, to print source file names as they
4722         are read.
4723
4724         * alloc.ads: Add parameters for Osint.File_Name_Chars.
4725
4726         * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
4727         out source file names during a "bug box".
4728         (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
4729         (Read_Source_File): Print out the file name, if requested via -gnatd.n.
4730         If it's not part of the runtimes, store it for later printing by
4731         Dump_Source_File_Names.
4732
4733 2009-05-06  Javier Miranda  <miranda@adacore.com>
4734
4735         * gnat_rm.texi (CPP_Constructor): Avoid duplication of the
4736         documentation and add reference to the GNAT user guide for further
4737         details.
4738
4739 2009-05-06  Javier Miranda  <miranda@adacore.com>
4740
4741         * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
4742         also wrong examples that use extension aggregates.
4743
4744 2009-05-06  Albert Lee  <lee@adacore.com>
4745
4746         * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
4747         of Msg_Iovlen_T for VMS.
4748
4749 2009-05-04   Laurent GUERBY  <laurent@guerby.net>
4750
4751         PR ada/38874
4752         * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
4753         
4754 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4755
4756         * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
4757         box-defaulted operator in an instantiation, when the type of the
4758         operands is not directly visible.
4759
4760 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
4761
4762         * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
4763         (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
4764         analysis of the ancestor part. Remove prohibition against limited
4765         interpretations of the ancestor expression in the case of Ada 2005.
4766         Revise error message in overloaded case, adding a message to cover
4767         the Ada 2005 case.
4768
4769 2009-04-29  Thomas Quinot  <quinot@adacore.com>
4770
4771         * xoscons.adb: Minor reformatting
4772
4773 2009-04-29  Bob Duff  <duff@adacore.com>
4774
4775         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
4776         attribute_definition_clauses for the following attributes when the
4777         -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
4778         Storage_Size, Write. Otherwise, we get spurious errors (for example,
4779         missing Read attribute on remote types).
4780
4781         * gnat_ugn.texi: Document the change, and add a stern warning.
4782
4783 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4784
4785         * sem_attr.adb (Check_Local_Access): Indicate that value tracing is
4786         disabled not just for the current scope, but for the innermost dynamic
4787         scope as well.
4788
4789 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
4790
4791         * gcc-interface/Make-lang.in: Update dependencies
4792
4793 2009-04-29  Vincent Celier  <celier@adacore.com>
4794
4795         * prj-part.adb: Minor comment update
4796
4797 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4798
4799         * sem_aggr.adb (Resolve_Record_Aggregate): handle properly
4800         box-initialized records with discriminated subcomponents that are
4801         constrained by discriminants of enclosing components. New subsidiary
4802         procedures Add_Discriminant_Values, Propagate_Discriminants.
4803
4804 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
4805
4806         * g-socket.adb: Code clean up.
4807
4808 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
4809
4810         * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
4811         function entity, to cover the case of a parameterless function call
4812         that has not been resolved.
4813
4814 2009-04-29  Robert Dewar  <dewar@adacore.com>
4815
4816         * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
4817         reformatting and comment updates.
4818
4819 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
4820
4821         * gnat_ugn.texi: Update some documentation about interfacing with C++
4822         Mention -fkeep-inline-functions.
4823
4824         * gnat_ugn.texi: Minor edits
4825
4826 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4827
4828         * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
4829         for a defaulted component of an enclosing aggregate, inherit the type
4830         from the component declaration of the enclosing type. 
4831
4832 2009-04-29  Albert Lee  <lee@adacore.com>
4833
4834         * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
4835         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
4836         (System.OS_Constants): New type Msg_Iovlen_T which follows whether the
4837         msg_iovlen field in struct msghdr is 32 or 64 bits wide.
4838         Relocate the Msghdr record type from GNAT.Sockets.Thin to
4839         GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
4840         type for the Msg_Iovlen field.
4841
4842 2009-04-29  Vincent Celier  <celier@adacore.com>
4843
4844         * sinput-l.adb (Load_File): When preprocessing, set temporarily the
4845         Source_File_Index_Table entries for the source, to avoid crash when
4846         reporting an error.
4847
4848         * gnatcmd.adb (Test_If_Relative_Path): Use
4849         Makeutl.Test_If_Relative_Path.
4850         
4851         * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
4852         Including_RTS is True.
4853
4854         * makeutl.ads (Test_If_Relative_Path): New Boolean parameter
4855         Including_RTS defaulted to False.
4856
4857         * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
4858         a default value.
4859
4860 2009-04-29  Javier Miranda  <miranda@adacore.com>
4861
4862         * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
4863
4864 2009-04-29  Javier Miranda  <miranda@adacore.com>
4865
4866         * sem_ch3.adb (Analyze_Object_Declaration): Disable error message
4867         associated with dyamically tagged expressions if the expression
4868         initializing a tagged type corresponds with a non default CPP
4869         constructor.
4870         (OK_For_Limited_Init): CPP constructor calls are OK for initialization
4871         of limited type objects.
4872
4873         * sem_ch5.adb (Analyze_Assignment): Improve the error message reported
4874         when a CPP constructor is called in an assignment. Disable also the
4875         error message associated with dyamically tagged expressions if the
4876         exporession initializing a tagged type corresponds with a non default
4877         CPP constructor.
4878
4879         * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
4880         non-default C++ constructors.
4881
4882         * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
4883
4884         * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
4885         non-default constructors.
4886         (Init_Proc): Add support for non-default constructors.
4887
4888         * exp_disp.adb (Set_Default_Constructor): Removed.
4889         (Set_CPP_Constructors): Code based in removed Set_Default_Constructor
4890         but extending its functionality to handle non-default constructors.
4891
4892         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
4893         constructors. Minor code cleanup removing unrequired label and goto
4894         statement.
4895
4896         * exp_ch3.adb (Build_Initialization_Call): Add support for non-default
4897         constructors.
4898         (Build_Init_Statements): Add support for non-default constructors.
4899         (Expand_N_Object_Declaration): Add support for non-default constructors.
4900         (Freeze_Record_Type): Replace call to Set_Default_Constructor by call
4901         to Set_CPP_Constructors.
4902
4903         * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
4904         non-default constructors.
4905         Required to handle its use in build-in-place statements.
4906
4907         * gnat_rm.texi (CPP_Constructor): Document new extended use of this
4908         pragma for non-default C++ constructors and the new compiler support
4909         that allows the use of these constructors in record components, limited
4910         aggregates, and extended return statements.
4911
4912 2009-04-29  Vincent Celier  <celier@adacore.com>
4913
4914         * prj-part.adb (Parse_Single_Project): Do not attempt to find a
4915         project extending an abstract project.
4916
4917 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
4918
4919         * targparm.ads: Fix oversight.
4920
4921 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4922
4923         * lib-xref.adb (Output_Overridden_Op): Follow several levels of
4924         derivation when necessary, to find the user-subprogram that is actally
4925         being overridden.
4926
4927 2009-04-29  Robert Dewar  <dewar@adacore.com>
4928
4929         * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
4930         components
4931
4932 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4933
4934         * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
4935         primitive operation, rather than source line of synchronized type, when
4936         building the wrapper for a primitive operation that overrides an
4937         operation inherited from a progenitor, to improve the error message on
4938         duplicate declarations.
4939
4940         * sem_ch3.adb (Process_Full_View): Use new signature of
4941         Build_Wrapper_Spec.
4942
4943 2009-04-29  Robert Dewar  <dewar@adacore.com>
4944
4945         * prj-nmsc.ads: Minor reformatting
4946
4947 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
4948
4949         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
4950         expression on the existing parent If statement.
4951
4952 2009-04-29  Robert Dewar  <dewar@adacore.com>
4953
4954         * prj-proc.adb, prj.ads: Minor reformatting
4955
4956 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
4957
4958         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
4959         existing parent If statement on the newly created one.
4960
4961 2009-04-29  Emmanuel Briot  <briot@adacore.com>
4962
4963         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
4964         prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
4965         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
4966         (Set_In_Configuration, In_Configuration): Removed.
4967         Replaced by an extra parameter Is_Config_File in several parameter to
4968         avoid global variables to store the state of the parser.
4969
4970 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4971
4972         * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
4973         with_clauses generated for the same unit through rtsfind, and that
4974         appear in the context of different units.
4975
4976         * rtsfind.adb: New attribute First_Implicit_With, component of the
4977         Unit_Record that stores information about a unit loaded through rtsfind.
4978
4979 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
4980
4981         * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
4982         (other conditions permitting), so that abstract stream subprograms will
4983         be declared for them.
4984
4985 2009-04-29  Bob Duff  <duff@adacore.com>
4986
4987         * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
4988
4989         * g-expect.ads: Minor comment fixes.
4990
4991 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
4992
4993         * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
4994         dispatching operation is a body without previous spec, update the list
4995         of primitive operations to ensure that cross-reference information is
4996         up-to-date.
4997
4998 2009-04-29  Albert Lee  <lee@adacore.com>
4999
5000         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5001         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
5002         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
5003         (GNAT.Sockets.Thin.C_Readv,
5004         GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
5005         (GNAT.Sockets.Thin.C_Recvmsg,
5006         GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
5007         sendmsg(2).  
5008         (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
5009         C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
5010
5011 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5012
5013         * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
5014         operation is a body without previous spec, update the list of
5015         primitive operations to ensure that cross-reference information is
5016         up-to-date.
5017
5018         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
5019         new compilation unit node for the instance declaration, keep the
5020         context items of the original unit on it, so that the context of the
5021         instance body only holds the context inherited from the generic body.
5022
5023 2009-04-29  Bob Duff  <duff@adacore.com>
5024
5025         * sem_res.adb: Minor comment fix.
5026
5027 2009-04-29  Thomas Quinot  <quinot@adacore.com>
5028
5029         * sem_elim.adb: Minor reformatting
5030
5031 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5032
5033         * exp_aggr.adb (Convert_To_Positional): if the current unit is a
5034         predefined unit, allow arbitrary number of components in static
5035         aggregate, to ensure that the same level of constant folding applies
5036         for Ada 95 and Ada 05 versions of the file.
5037
5038 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5039
5040         * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
5041         information: no need for full scope check.
5042         (Eliminate_Error): Do not emit error in a generic context.
5043
5044 2009-04-29  Ed Falis  <falis@adacore.com>
5045
5046         * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
5047         VxWorks 653 POS does not support rmdir.
5048
5049 2009-04-29  Matteo Bordin  <bordin@adacore.com>
5050
5051         * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
5052         results are printed.
5053
5054 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
5055
5056         * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
5057         unused assignment.
5058
5059 2009-04-29  Thomas Quinot  <quinot@adacore.com>
5060
5061         * make.adb: Minor reformatting.
5062         Minor code reorganization throughout.
5063
5064 2009-04-29  Matteo Bordin  <bordin@adacore.com>
5065
5066         * s-stausa.ads: Changed visibility of type Task_Result: moved to
5067         public part to give application visibility over it.
5068         This is for future improvement and to build a public API on top of it.
5069         Changed record components name of type Task_Result to reflect the new
5070         way of reporting. 
5071
5072         * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
5073         reporting Stack usage.
5074
5075         * gnat_ugn.texi: Update doc of stack usage report.
5076
5077         * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
5078
5079         * Makefile.rtl: Add new run-time files.
5080
5081 2009-04-29  Pascal Obry  <obry@adacore.com>
5082
5083         * initialize.c: Do not expand quoted arguments.
5084
5085 2009-04-29  Emmanuel Briot  <briot@adacore.com>
5086
5087         * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
5088
5089         * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
5090          Prj.Ultimate_Extending_Project_Of
5091
5092 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5093
5094         * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
5095         Amendment type, add the with_clause for Finalization.List_Controller
5096         only if the current context is a package body.
5097
5098 2009-04-29  Thomas Quinot  <quinot@adacore.com>
5099
5100         * sem_ch12.adb: Minor reformatting
5101
5102         * sem_aggr.adb: Minor reformatting
5103
5104         * sem_ch6.adb, sem_cat.ads: Minor reformatting
5105
5106         * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
5107
5108 2009-04-29  Quentin Ochem  <ochem@adacore.com>
5109
5110         * prj.ads (Source_Id): Now general pointer type.
5111
5112 2009-04-29  Thomas Quinot  <quinot@adacore.com>
5113
5114         * exp_ch7.adb, rtsfind.adb: Minor reformatting
5115
5116         * sem_res.adb: Minor reformatting
5117
5118 2009-04-29  Thomas Quinot  <quinot@adacore.com>
5119
5120         * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
5121         operands is static only if it is a predefined concatenation operator.
5122
5123         * sem_util.adb: Minor reformatting
5124
5125         * sem_ch12.adb (Save_References): When propagating semantic information
5126         from generic copy back to generic template, for the case of an
5127         identifier that has been rewritten to an explicit dereference whose
5128         prefix is either an object name or a parameterless funcion call
5129         denoting a global object or function, properly capture the denoted
5130         global entity: perform the corresponding rewriting in the template,
5131         and point the rewritten identifier to the correct global entity (not
5132         to the associated identifier in the generic copy).
5133
5134 2009-04-29  Robert Dewar  <dewar@adacore.com>
5135
5136         * rtsfind.adb, prj-env.adb: Minor reformatting
5137         Minor code reorganization
5138
5139 2009-04-29  Emmanuel Briot  <briot@adacore.com>
5140
5141         * make.adb: Fix comment
5142
5143         * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
5144         is given as argument, as might happen in gnatmake.
5145
5146 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
5147
5148         * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
5149         an abstract operation of a progenitor is not properly overridden by an
5150         operation of a derived synchronized type.
5151
5152 2009-04-29  Robert Dewar  <dewar@adacore.com>
5153
5154         * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
5155         prj-proc.adb: Minor reformatting
5156         Minor code reorganization
5157
5158 2009-04-29  Bob Duff  <duff@adacore.com>
5159
5160         * exp_ch7.adb (Build_Final_List): For an access type that designates a
5161         Taft Amendment type, if the access type needs finalization, make sure
5162         the implicit with clause for List_Controller occurs on the package spec.
5163
5164         * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
5165         with's created for the pseudo-children of Text_IO and friends. In
5166         particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
5167         Ada.Text_IO.Integer_IO both with-ing each other.
5168
5169         * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
5170         oddball cases when pragma Extend_System is used.
5171
5172         * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
5173         the case where a package spec instantiates a generic whose body with's
5174         this package, so Walk_Library_Items won't complain about cyclic with's.
5175
5176 2009-04-29  Emmanuel Briot  <briot@adacore.com>
5177
5178         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
5179         prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
5180         mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
5181         (Project_Id): now a real pointer to Project_Data, instead of an index
5182         into the Projects_Table. This simplifies the API significantly, avoiding
5183         extra lookups in this table and the need to pass the Project_Tree_Ref
5184         parameter in several cases
5185
5186 2009-04-29  Nicolas Setton  <setton@adacore.com>
5187
5188         * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
5189         darwin.
5190
5191 2009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
5192
5193         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
5194         back kludge.
5195
5196 2009-04-24  Robert Dewar  <dewar@adacore.com>
5197
5198         * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
5199         clean.adb: Minor reformatting.
5200         Minor code reorganization and message improvement.
5201
5202 2009-04-24  Emmanuel Briot  <briot@adacore.com>
5203
5204         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
5205         (Alternate_Languages): now implemented as a malloc-ed list rather
5206         than through a table.
5207
5208 2009-04-24  Thomas Quinot  <quinot@adacore.com>
5209
5210         * sem_res.adb (Static_Concatenation): Simplify predicate to make it
5211         accurately handle cases such as "lit" & "lit" and
5212         "lit" & static_string_constant
5213
5214 2009-04-24  Emmanuel Briot  <briot@adacore.com>
5215
5216         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
5217         prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
5218         removed. Lists of projects are now implemented via standard malloc
5219         rather than through the table.
5220
5221 2009-04-24  Thomas Quinot  <quinot@adacore.com>
5222
5223         * sem_ch12.adb: Minor reformatting
5224
5225         * g-trasym.adb: Minor reformatting
5226
5227         * exp_ch6.adb: Minor reformatting
5228
5229 2009-04-24  Robert Dewar  <dewar@adacore.com>
5230
5231         * layout.adb (Layout_Type): For packed array type, copy unset
5232         size/alignment fields from the referenced Packed_Array_Type.
5233
5234 2009-04-24  Bob Duff  <duff@adacore.com>
5235
5236         * lib-load.adb (Make_Instance_Unit): Revert previous change, no
5237         longer needed after sem_ch12 changes.
5238
5239         * sem.adb (Walk_Library_Items): Include with's in some debugging
5240         printouts.
5241
5242 2009-04-24  Emmanuel Briot  <briot@adacore.com>
5243
5244         * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
5245         only ever using the Project field.
5246
5247 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
5248
5249         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
5250         Body_Required on the generated compilation node. The new node is linked
5251         to its body, but both share the same file, so we do not set this flag
5252         on the new unit so as not to create a spurious dependency on a
5253         non-existent body in the ali file for the instance.
5254
5255 2009-04-24  Robert Dewar  <dewar@adacore.com>
5256
5257         * make.adb: Minor reformatting
5258
5259 2009-04-24  Emmanuel Briot  <briot@adacore.com>
5260
5261         * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
5262         Add_Source): merge some code between those. In particular change where
5263         file normalization is done to avoid a few extra calls to
5264         Canonicalize_File_Name. This also removes the need for passing
5265         Current_Dir in a number of subprograms.
5266
5267 2009-04-24  Bob Duff  <duff@adacore.com>
5268
5269         * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
5270         False, assign the correct unit to the Cunit field of the new table
5271         entry. We want the spec unit, not the body unit.
5272
5273         * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
5274         interface for these.
5275         (Maybe_Add_With): Check whether we're trying to a with on the current
5276         unit, and avoid creating such directly self-referential with clauses.
5277         (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
5278         [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
5279         and matches existing comments in the spec.
5280
5281         * sem.adb (Walk_Library_Items): Add various special cases to make the
5282         assertions pass.
5283
5284         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
5285         instead of Parent (N), for uniformity.
5286
5287 2009-04-24  Robert Dewar  <dewar@adacore.com>
5288
5289         * errout.ads: Minor reformatting
5290
5291 2009-04-24  Emmanuel Briot  <briot@adacore.com>
5292
5293         * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
5294         behavior when the project includes sources from multiple languages
5295
5296 2009-04-24  Vincent Celier  <celier@adacore.com>
5297
5298         * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
5299         is a language other than Ada declared.
5300
5301         * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
5302         Imported_First set to True.
5303
5304 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
5305
5306         * sem_res.adb: additional optimization to inhibit creation of
5307         redundant transient scopes.
5308
5309 2009-04-24  Bob Duff  <duff@adacore.com>
5310
5311         * rtsfind.ads: Minor comment fix
5312
5313 2009-04-24  Emmanuel Briot  <briot@adacore.com>
5314
5315         * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
5316         Get_Path_Name_And_Record_Ada_Sources): merged, since these were
5317         basically doing the same work (for explicit or implicit sources).
5318         (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
5319         role. Rewritten to share some code (testing that all explicit sources
5320         have been found) between ada_only and multi_language modes.
5321
5322 2009-04-24  Jerome Lambourg  <lambourg@adacore.com>
5323
5324         * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
5325         for CLI imported types.
5326         (Analyze_Pragma): Allow CIL or Java imported functions returning
5327         access-to-subprogram types.
5328
5329 2009-04-24  Emmanuel Briot  <briot@adacore.com>
5330
5331         * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
5332         (Project_Data.Dir_Path): field removed, since it can be computed
5333         directly from .Directory, and is needed only once when processing the
5334         project is buildgpr.adb or make.adb
5335
5336 2009-04-24  Robert Dewar  <dewar@adacore.com>
5337
5338         * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
5339         rtsfind.adb: Minor reformatting.
5340         Minor code reorganization
5341
5342 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
5343
5344         * mlib-prj.adb: Use friendlier english identifier.
5345
5346         * gnatcmd.adb, make.adb: Use better english identifiers.
5347
5348 2009-04-24  Robert Dewar  <dewar@adacore.com>
5349
5350         * clean.adb: Minor reformatting
5351
5352 2009-04-24  Robert Dewar  <dewar@adacore.com>
5353
5354         * einfo.adb (OK_To_Rename): New flag
5355
5356         * einfo.ads (OK_To_Rename): New flag
5357
5358         * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
5359         OK_To_Rename set.
5360
5361         * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
5362
5363         * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
5364         OK_To_Rename.
5365
5366 2009-04-24  Emmanuel Briot  <briot@adacore.com>
5367
5368         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
5369         clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
5370         field removed. This is not a property of the
5371         project, just a boolean used to traverse the project tree, and storing
5372         it in the structure prevents doing multiple traversal in parallel.
5373         (Project_Data.Checked): also removed, since it was playing the same role
5374         as Seen when we had two nested loops, and this is no longer necessary
5375         (For_All_Imported_Projects): removed, since in fact there was already
5376         the equivalent in For_Every_Project_Imported. The latter was rewritten
5377         to use a local hash table instead of Project_Data.Seen
5378         Various loops were rewritten to use For_Every_Project_Imported, thus
5379         removing the need for Project_Data.Seen. This avoids a lot of code
5380         duplication
5381
5382 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
5383
5384         * sem_res.adb (Resolve_Actuals): Do not create blocks around code
5385         statements, even though the actual of the call is a concatenation,
5386         because the argument is static, and we want to preserve warning
5387         messages  about sequences of code statements that are not marked
5388         volatile.
5389
5390         * sem_warn.adb: remove obsolete comment about warning being obsolete
5391
5392         * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
5393         requeued and the delay has expired while within the accept statement
5394         that executes the requeue, do not perform the requeue and indicate that
5395         the timed call has been aborted.
5396
5397 2009-04-24  Emmanuel Briot  <briot@adacore.com>
5398
5399         * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
5400         (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
5401         (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
5402         since they can be computed from the above.
5403
5404 2009-04-24  Vincent Celier  <celier@adacore.com>
5405
5406         * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
5407
5408         * prj-env.adb: Move all global variables to the private part of the
5409         project tree data.
5410         Access these new components instead of the global variables no longer
5411         in existence.
5412         (Add_To_Path): New Project_Tree_Ref parameter, to access the new
5413         components that were previously global variables.
5414
5415         * prj-env.ads (Initialize): New Project_Tree_Ref parameter
5416         (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
5417         parameter.
5418
5419         * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
5420         be able to call Set_Mapping_File_Initial_State_To_Empty with it.
5421
5422         * prj.adb (Initialize): Do not call Prj.Env.Initialize
5423         (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
5424         components in the private part of the project tree data.
5425
5426         * prj.ads (Private_Project_Tree_Data): new components moved from
5427         Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
5428         Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
5429         Ada_Prj_Objects_File_Set, Fill_Mapping_File.
5430
5431 2009-04-24  Vincent Celier  <celier@adacore.com>
5432
5433         * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
5434
5435         * prj-nmsc.adb (Check_Library): No error for imports by shared library
5436         projects, when --unchecked-shared-lib-imports is used.
5437
5438 2009-04-24  Robert Dewar  <dewar@adacore.com>
5439
5440         * sem_ch7.adb: Minor reformatting
5441
5442 2009-04-24  Tristan Gingold  <gingold@adacore.com>
5443
5444         * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
5445         mach thread id.
5446
5447 2009-04-24  Emmanuel Briot  <briot@adacore.com>
5448
5449         * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
5450         Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
5451         (For_All_Imported_Projects): new procedure
5452         (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
5453         above rather than duplicating code.
5454
5455 2009-04-24  Emmanuel Briot  <briot@adacore.com>
5456
5457         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
5458         (Source_Id, Source_Data): use a real list to store sources rather than
5459         using an external table to store the elements. This makes code more
5460         efficient and more readable.
5461
5462 2009-04-24  Emmanuel Briot  <briot@adacore.com>
5463
5464         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
5465         (Source_Iterator): new type.
5466         This removes the need for having the sources on three different
5467         lists at the project tree, project and language level. They are now
5468         on a single list.
5469
5470 2009-04-24  Emmanuel Briot  <briot@adacore.com>
5471
5472         * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
5473
5474 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
5475
5476         * sem_warn.adb: Add comment on obsolete warning
5477
5478 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
5479
5480         * s-tassta.adb (Create_Task): Fix violation of locking rule.
5481
5482 2009-04-24  Emmanuel Briot  <briot@adacore.com>
5483
5484         * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
5485         to Language_Ptr to better reflect its new implementation.
5486         (Project_Data.First_Languages_Processing): renamed to Languages now
5487         that the field with that name is no longer used
5488         (Project_Data.Languages): removed, no longer used, and duplicates
5489         information already available through First_Language_Processing.
5490         (Prj.Language_Index): now an actual pointer, instead of an index into
5491         a table. This makes the list somewhat more obvious, but more importantly
5492         removes the need to pass a pointer to the project_tree_data in a few
5493         places, and makes accessing the attributes of a languages more
5494         efficient.
5495
5496 2009-04-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5497             Thomas Quinot  <quinot@adacore.com>
5498
5499         * fe.h (Set_Identifier_Casing): Add const to second parameter.
5500         * gcc-interface/misc.c (internal_error_function): Make copy of return
5501         from pp_formatted_text before assigning BUFFER to it.
5502         (gnat_init): Likewise for main_input_filename and gnat_argv.
5503         (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
5504
5505 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
5506
5507         * ttypes.ads (Target_Double_Float_Alignment): New variable.
5508         (Target_Double_Scalar_Alignment): Likewise.
5509         * get_targ.ads (Get_Strict_Alignment): Adjust external name.
5510         (Get_Double_Float_Alignment): New imported function.
5511         (Get_Double_Scalar_Alignment): Likewise.
5512         * layout.adb (Set_Elem_Alignment): Take into account specific caps for
5513         the alignment of "double" floating-point types and "double" or larger
5514         scalar types, as parameterized by Target_Double_Float_Alignment and
5515         Target_Double_Scalar_Alignment respectively.
5516         * gcc-interface/gigi.h (double_float_alignment): Declare.
5517         (double_scalar_alignment): Likewise.
5518         (is_double_float_or_array): Likewise.
5519         (is_double_scalar_or_array): Likewise.
5520         (get_target_double_float_alignment): Likewise.
5521         (get_target_double_scalar_alignment): Likewise.
5522         * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
5523         (get_target_strict_alignment): ...this.
5524         (get_target_double_float_alignment): New function.
5525         (get_target_double_scalar_alignment): Likewise.
5526         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
5527         Test the presence of an alignment clause for under-aligned integer
5528         types.  Take into account specific caps for the alignment of "double"
5529         floating-point types and "double" or larger scalar types, as
5530         parameterized by Target_Double_Float_Alignment and
5531         Target_Double_Scalar_Alignment respectively.
5532         (validate_alignment): Likewise.
5533         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
5534         (gigi): Initialize double_float_alignment and double_scalar_alignment.
5535         * gcc-interface/utils.c (double_float_alignment): New global variable.
5536         (double_scalar_alignment): Likewise.
5537         (is_double_float_or_array): New predicate.
5538         (is_double_scalar_or_array): Likewise.
5539
5540 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
5541
5542         * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
5543         the conditional expression only if it is common to both arms.
5544
5545 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
5546
5547         * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
5548         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
5549         arguments to build_allocator.
5550         * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
5551         Remove code handling special allocator and assert its uselessness.
5552
5553 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
5554
5555         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
5556         alignment is specified, do not promote that of the component type
5557         beyond it.
5558         <E_Array_Subtype>: Likewise.
5559
5560 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
5561
5562         * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
5563         * sinfo.ads (Object Declaration): Likewise.
5564         (Assignment Statement): Likewise.
5565         * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
5566         Do not force Is_True_Constant to false on the temporary.
5567         (Freeze_Entity): Do not force Is_True_Constant to false on names on
5568         the RHS of object declarations.
5569         * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
5570         New case.  Return 1 if the object is atomic.
5571         <N_Assignment_Statement>: Likewise.
5572
5573 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
5574
5575         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
5576         For packed array types, make the original array type a parallel type
5577         for the modular type and its JM wrapper if the type is bit-packed.
5578         <E_Array_Subtype>: Likewise.  Do not generate the special XA parallel
5579         record type for packed array types.  Remove kludge.
5580
5581 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
5582
5583         * gcc-interface/gigi.h (create_index_type): Adjust head comment.
5584         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
5585         Use front-end predicates to compute signedness and precision.
5586         <E_String_Literal_Subtype>: Fold range type.
5587         Make sure to set longest_float_type_node to a scalar type.
5588         (elaborate_entity): Use consistent Constraint_Error spelling.
5589         (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
5590         * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
5591         output for the modulus, if any.
5592         <ENUMERAL_TYPE>: Likewise for the RM size.
5593         * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
5594         spelling.
5595         * gcc-interface/utils.c (finish_record_type): Really test the alignment
5596         of BLKmode bit-fields to compute their addressability.
5597         (create_index_type): Adjust comments.
5598         (create_param_decl): Create the biased subtype manually.
5599         * gcc-interface/utils2.c (build_component_ref): Use consistent
5600         Constraint_Error spelling.
5601
5602 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
5603
5604         * gcc-interface/cuintp.c: Clean up include directives.
5605         * gcc-interface/targtyps.c: Likewise.
5606         * gcc-interface/decl.c: Likewise.
5607         * gcc-interface/misc.c: Likewise.
5608         * gcc-interface/trans.c: Likewise.
5609         * gcc-interface/utils.c: Likewise.
5610         * gcc-interface/utils2.c: Likewise.
5611         * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
5612
5613 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
5614
5615         * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
5616         (SET_TYPE_LANG_SPECIFIC): Likewise.  Fix formatting.
5617         (SET_DECL_LANG_SPECIFIC): Likewise.
5618         Reorder macros.
5619         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
5620         Update comment about use of build_range_type.
5621         <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
5622         <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
5623         check for other cases of overloading.
5624         * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
5625         * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
5626         Use size_int in lieu of build_int_cst.
5627         (build_call_alloc_dealloc): Use build_index_2_type in lieu of
5628         build_range_type.
5629
5630 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
5631
5632         * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
5633         type is an enumeral or a boolean type, change it to an integer type
5634         with the same mode and signedness.
5635
5636 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
5637
5638         * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
5639         for an external constant whose initializer is not absolute.
5640
5641 2009-04-22  Taras Glek  <tglek@mozilla.com>
5642
5643         * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
5644         * gcc-interface/trans.c: Likewise.
5645         * gcc-interface/utils.c: Likewise.
5646
5647 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
5648
5649         * sem_res.adb: Create block around procedure call when actual is a
5650         concatenation.
5651
5652 2009-04-22  Thomas Quinot  <quinot@adacore.com>
5653
5654         * s-soflin.ads: Fix typos
5655
5656 2009-04-22  Vincent Celier  <celier@adacore.com>
5657
5658         * prj-env.adb: Minor comment change
5659
5660         * prj-nmsc.adb (Check_Common): Add guard to avoid calling
5661         Get_Name_String with No_File.
5662
5663         * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
5664         cannot be created even when not in verbose mode.
5665
5666 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5667
5668         * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
5669         prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
5670         Multi_Language modes, to avoid code duplication.
5671         (Project_Data.Include_Language): Removed.
5672
5673 2009-04-22  Vincent Celier  <celier@adacore.com>
5674
5675         * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
5676         the temporary file cannot be created, indicating the directory when the
5677         creation was attempted.
5678
5679 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5680
5681         * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
5682         the language names, not their indices.
5683
5684 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5685
5686         * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
5687         (Source_Data.Language_Name): Field removed.
5688
5689 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5690
5691         * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
5692         Two fields removed.
5693
5694 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5695
5696         * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
5697         separate_suffix to the same value as the body_suffix.
5698
5699 2009-04-22  Robert Dewar  <dewar@adacore.com>
5700
5701         * prj.adb: Minor code reorganization
5702         Code clean up.
5703
5704         * prj-proc.adb: Minor code reorganization, clean up.
5705
5706         * prj-nmsc.adb: Minor reformatting
5707         Minor code reorganization
5708
5709         * gnat_ugn.texi: Add to doc on strict aliasing
5710
5711 2009-04-22  Pascal Obry  <obry@adacore.com>
5712
5713         * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
5714         SpinCount.
5715
5716         * s-tasini.adb: Minor reformatting.
5717
5718         * s-tassta.adb: Minor reformatting.
5719
5720 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5721
5722         * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
5723         smaller subprograms.
5724         Renamed to Check_File_Naming_Schemes to avoid confusion with the
5725         other Check_Naming_Schemes functions that plays a totally different
5726         role.
5727         (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
5728         extracted from the above. These were partially rewritten to avoid
5729         unnecessary code and temporary variables.
5730         (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
5731         and Get_Unit (which for now still exist since they contain mode-specific
5732         code)
5733
5734 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5735
5736         * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
5737         Remove duplicated code.
5738         (Canonical_Case_File_Name): new subprogram
5739         (Check_And_Normalize_Unit_Names): new subprogram
5740         (Write_Attr): new subprogram
5741         Better sharing of code
5742         (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
5743         split Check_Naming and help find duplicated code
5744         (Check_Common): new subprogram, sharing code between ada_only and
5745         multi_language mode.
5746         (Naming_Data.Dot_Repl_Loc): field removed
5747
5748 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5749
5750         * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
5751         Minor refactoring to reduce the size of
5752         Process_Sources_In_Multi_Language_Mode.
5753         Avoid extra copied of Source_Data, which we found in the past could be
5754         quite slow.
5755         (Mark_Excluded_Sources): new subprogram.
5756         (Remove_Locally_Removed_Files_From_Units): merged into the above
5757         Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
5758         and allow better sharing of code between multi_lang and ada_only modes
5759         (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
5760
5761 2009-04-22  Emmanuel Briot  <briot@adacore.com>
5762
5763         * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
5764         Removed, since unused.
5765
5766 2009-04-22  Vincent Celier  <celier@adacore.com>
5767
5768         * prj-attr.adb: New single project level attribute
5769         Separate_Run_Path_Options.
5770
5771         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
5772         attribute Seperate_Run_Path_Options.
5773
5774         * prj.ads: (Project_Configuration): New Boolean component
5775         Separate_Run_Path_Options, defaulted to False.
5776
5777         * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
5778
5779 2009-04-22  Robert Dewar  <dewar@adacore.com>
5780
5781         * sem_type.adb: Minor reformatting
5782
5783         * mlib.adb: Minor reformatting
5784
5785         * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
5786         syntax error.
5787
5788 2009-04-22  Nicolas Setton  <setton@adacore.com>
5789
5790         * link.c: Add flag __gnat_separate_run_path_options.
5791
5792         * mlib.adb (Separate_Run_Path_Options): New subprogram.
5793
5794         * mlib.ads (Separate_Run_Path_Options): Declare.
5795
5796         * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
5797         switch per directory, rather than one "rpath" switch listing all
5798         directories.
5799
5800         * gnatlink.adb (Process_Binder_File): Likewise.
5801
5802         * make.adb (Gnatmake): Likewise.
5803
5804 2009-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
5805
5806         * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
5807         Add a call to Move_Final_List when the target of the assignment is a
5808         return object that needs finalization and the expression is a
5809         controlled build-in-place function.
5810
5811 2009-04-22  Vincent Celier  <celier@adacore.com>
5812
5813         * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
5814         Including_Libraries set to True.
5815
5816 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
5817
5818         * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
5819         create a unit table entry for the subprogram declaration created for a
5820         child suprogram body that has no separate specification.
5821
5822         * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
5823         subprogram body, call Make_Child_Decl_Unit.
5824
5825         * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
5826         table can only be the created specification of a child subprogram body
5827         that is the main unit, which has not been entered in the table yet.
5828
5829         * errout.adb  (Output_Messages): Ignore created specification of a
5830         child subprogram body to prevent repeated listing of error messages.
5831
5832         * gnat1drv.adb (gnat1drv): The generated specification for a child
5833         subprogram body does not generate code.
5834
5835 2009-04-22  Arnaud Charlet  <charlet@adacore.com>
5836
5837         * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
5838         since this unit is now part of bootstrap units, so must use Ada 95
5839         syntax only.
5840
5841 2009-04-22  Thomas Quinot  <quinot@adacore.com>
5842
5843         * a-tasatt.adb: Minor reformatting
5844
5845 2009-04-22  Bob Duff  <duff@adacore.com>
5846
5847         * s-stalib.ads: Remove "with System;" since we're inside System, so
5848         it's unnecessary.
5849
5850 2009-04-22  Vincent Celier  <celier@adacore.com>
5851
5852         * prj-nmsc.adb (Add_Source): Always put the dependency file name in
5853         the source record, as there may be a dependency file even if no object
5854         file is created.
5855
5856 2009-04-22  Robert Dewar  <dewar@adacore.com>
5857
5858         * lib-load.adb: Minor reformatting
5859
5860         * lib-load.ads: Minor reformatting
5861
5862         * sinfo.ads: Minor reformatting
5863
5864 2009-04-22  Bob Duff  <duff@adacore.com>
5865
5866         * exp_pakd.adb: Minor comment fixes.
5867
5868         * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
5869         sem_ch12.adb: Change the meaning of the Library_Unit attribute to
5870         include units containing instantiations, as well as units that are
5871         generic instantiations.
5872
5873         * sem.adb: Include dependents and corresponding specs/bodies in the
5874         unit walk.
5875
5876         * gcc-interface/Make-lang.in:
5877         sem now depends on s-bitops, because of the packed array of Booleans.
5878
5879 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
5880
5881         * gcc-interface/ada-tree.def: Fix formatting nits.
5882         (REGION_STMT): Delete.
5883         (HANDLER_STMT): Likewise.
5884         * gcc-interface/ada-tree.h: Fix formatting nits.
5885         (IS_STMT): Delete.
5886         (REGION_STMT_BODY): Likewise.
5887         (REGION_STMT_HANDLE): Likewise.
5888         (REGION_STMT_BLOCK): Likewise.
5889         (HANDLER_STMT_ARG): Likewise.
5890         (HANDLER_STMT_LIST): Likewise.
5891         (HANDLER_STMT_BLOCK): Likewise.
5892         * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
5893         (fp_size_to_prec): Likewise.
5894         (largest_move_alignment): Delete.
5895         (gnat_compute_largest_alignment): Likewise.
5896         Fix minor nits.
5897         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
5898         Remove redundant code.
5899         <E_Array_Type>: Remove redundant assert.
5900         <E_Array_Subtype>: Exit early from index computation in pathological
5901         cases.
5902         Rewrite conditional assignment.
5903         (make_type_from_size): Likewise.
5904         * gcc-interface/misc.c (largest_move_alignment): Delete.
5905         (gnat_finish_incomplete_decl): Likewise.
5906         (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
5907         (asm_out_file): Likewise
5908         (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
5909         (gnat_dwarf_name): Move around.
5910         * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
5911         (gigi): Remove call to gnat_compute_largest_alignment.
5912         * utils.c (create_field_decl): Rewrite conditional assignment.
5913         Fix minor nits.
5914
5915 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
5916
5917         * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
5918         on entry.  Defer common processing for types.  Reorder and clean up.
5919         Compute the equivalent GNAT node and the default size for types only.
5920         <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
5921         <E_Access_Type>: For an unconstrained designated type, do not pretend
5922         that a dummy type is always made.
5923         <all> Fix nits in comments.
5924         (validate_size): Fix formatting nits and comments.
5925         (set_rm_size): Likewise.
5926         * gcc-interface/utils.c (create_param_decl): Replace bogus argument
5927         passed to TARGET_PROMOTE_PROTOTYPES hook.
5928
5929 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
5930
5931         * fe.h (Get_External_Name): Declare.
5932         * gcc-interface/gigi.h (concat_id_with_name): Rename to...
5933         (concat_name): ...this.
5934         * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
5935         gnu_entity_name and adjust for above renaming.
5936         <E_Access_Type>: Use create_concat_name to get the name of the various
5937         types associated with unconstrained array types.
5938         (make_aligning_type): Adjust for above renaming.
5939         (maybe_pad_type): Likewise.
5940         (components_to_record): Likewise.  Use get_identifier_with_length for
5941         the encoding of the variant.
5942         (get_entity_name): Use get_identifier_with_length.
5943         (create_concat_name): Likewise.  Use Get_External_Name if no suffix.
5944         Do not fiddle with Name_Buffer.
5945         (concat_id_with_name): Rename to...
5946         (concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
5947         with Name_Buffer.
5948         * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
5949         above renaming.
5950
5951 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
5952
5953         * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
5954         license notices.
5955
5956 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
5957
5958         * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
5959
5960 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
5961
5962         * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
5963         (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
5964         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
5965         Remove useless support code for packed array types and assert its
5966         uselessness.
5967         <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
5968         adjust for TYPE_RM_SIZE change.
5969         <all> Fix nits in comments.  Use Original_Array_Type accessor instead
5970         of Associated_Node_For_Itype accessor for packed array types.
5971         (make_packable_type): Likewise.
5972         (maybe_pad_type): Likewise.
5973         (set_rm_size): Likewise.  Rework conditional statement.  Adjust for
5974         TYPE_RM_SIZE change.
5975         (make_type_from_size): Adjust for TYPE_RM_SIZE change.
5976         (rm_size): Fix nits in comments.  Rework conditional statements.
5977         * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
5978         change.
5979         * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
5980         * gcc-interface/utils.c (gnat_init_decl_processing): Use more
5981         appropriate function to initialize the size_type_node.  Adjust for
5982         TYPE_RM_SIZE change.
5983
5984 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
5985
5986         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
5987         for imported subprograms.
5988
5989 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
5990
5991         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
5992         constant objects covered by 13.3(19) volatile.
5993
5994 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
5995
5996         * gcc-interface/utils.c (create_type_decl): Do not pass declarations
5997         of dummy fat pointer types to the debug back-end.
5998
5999 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6000
6001         * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
6002         <E_Signed_Integer_Subtype>: Set the RM size on the integer type
6003         before wrapping it up in the record type.  Do not overwrite the
6004         Ada size of the record type with the Esize.
6005
6006 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6007
6008         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
6009         (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
6010         if the conversion is on the LHS of an assignment and a no-op.
6011         <all> Do not convert the result to the result type if the Parent
6012         node is such a conversion.
6013
6014 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6015
6016         * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
6017         * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
6018         of types with unknown discriminants.
6019         (substitute_in_type): Rewrite and restrict to formal substitutions.
6020         * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
6021         (update_pointer_to): Update comment.
6022
6023 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6024
6025         * sem_ch8.adb (Use_One_Package): In an instance, if two
6026         potentially_use_visible and non-overloadable homonyms are available
6027         from  the actuals of distinct formal packages, retain the current one,
6028         which was visible in the generic, to prevent spurious visibility
6029         errors.
6030         (End_Use_Package): Restore use_visibility when needed.
6031
6032 2009-04-20  Sergey Rybin  <rybin@adacore.com>
6033
6034         * gnat_ugn.texi, vms_data.ads: Update doc.
6035
6036 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
6037
6038         * gcc-interface/Make-lang.in: Update dependencies
6039
6040         * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
6041         Windows.
6042
6043 2009-04-20  Robert Dewar  <dewar@adacore.com>
6044
6045         * checks.ads: Fix documentation of range check handling
6046
6047 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6048
6049         * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
6050         a redundant use_type clause.
6051
6052 2009-04-20  Robert Dewar  <dewar@adacore.com>
6053
6054         * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
6055         this attribute can be evaluated at compile time.
6056         (Eval_Attribute, case Range_Length): Same improvement
6057
6058         * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
6059
6060 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6061
6062         * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
6063         for better handling of null procedures.
6064         (Check_Overriding_Indicator): Do not emit a warning on a missing
6065         overriding indicator on an operator when the type of which the operator
6066         is a primitive is private.
6067
6068 2009-04-20  Bob Duff  <duff@adacore.com>
6069
6070         * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
6071         debugging output.
6072
6073 2009-04-20  Robert Dewar  <dewar@adacore.com>
6074
6075         * sem_attr.adb: Minor reformatting
6076
6077         * gnatcmd.adb: Minor reformatting
6078
6079 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6080
6081         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
6082         overloaded and one interpretation matches the context, label the
6083         operand with the type of first formal.
6084
6085 2009-04-20  Bob Duff  <duff@adacore.com>
6086
6087         * debug.ads: Minor comment fix.
6088
6089         * debug.adb: Minor comment fixes.
6090
6091 2009-04-20  Javier Miranda  <miranda@adacore.com>
6092
6093         * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
6094
6095         * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
6096
6097         * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
6098         is expanded into a call to Raise_Exception, avoid passing the
6099         exception-name'identity in runtimes in which this argument
6100         is not used.
6101
6102 2009-04-20  Jerome Lambourg  <lambourg@adacore.com>
6103
6104         * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
6105         generated bindings for cil.
6106
6107 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6108
6109         * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
6110         discriminants, collect components from the Underlying_Record_View,
6111         which will be used in the expansion of the aggregate into assignments.
6112
6113         * sem_ch3.adb: Do not label derived type with unknown discriminants as
6114         having a private declaration.
6115
6116 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6117
6118         * exp_util.adb (Expand_Subtype_From_Expr): use the
6119         underlying_record_view when available, to create the proper constrained
6120         subtype for an object of a derived type with unknown discriminants.
6121
6122 2009-04-20  Javier Miranda  <miranda@adacore.com>
6123
6124         * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
6125         formals that have pragma unreferenced.
6126
6127 2009-04-20  Pascal Obry  <obry@adacore.com>
6128
6129         * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
6130         Remove all calls to To_Lower_If_Case_Insensitive to preserve
6131         the pathname original casing.
6132
6133 2009-04-20  Robert Dewar  <dewar@adacore.com>
6134
6135         * g-trasym.adb: Minor reformatting
6136
6137         * s-os_lib.adb: Minor reformatting
6138
6139         * sem.adb: Minor reformatting
6140         Minor code reorganization
6141
6142         * sem_ch3.adb: Minor reformatting
6143
6144         * sem_ch4.adb: Minor reformatting
6145
6146         * sem_ch8.adb: Minor reformatting
6147
6148         * sem_type.adb: Minor reformatting
6149
6150 2009-04-20  Javier Miranda  <miranda@adacore.com>
6151
6152         * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
6153         generated by derivations of tagged types use the aliased subprogram a
6154         reference to locate their controlling type.
6155
6156 2009-04-20  Tristan Gingold  <gingold@adacore.com>
6157
6158         * g-trasym.adb: Set size of result buffer before calling
6159         convert_address.
6160
6161 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6162
6163         * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
6164         to a function returning an array can be interpreted as a call with
6165         defaulted parameters whose result is indexed, take into account the
6166         types of all the indices of the array result type.
6167
6168 2009-04-20  Pascal Obry  <obry@adacore.com>
6169
6170         * a-direct.adb, s-os_lib.adb: Minor reformatting.
6171
6172 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6173
6174         * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
6175         null exclusion qualifiers for object renaming declarations.
6176
6177 2009-04-20  Nicolas Roche  <roche@adacore.com>
6178
6179         * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
6180         unsigned long long. So compare local_time and utc_time before computing
6181         the difference.
6182
6183 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6184
6185         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
6186         of the Underlying_Record_View before that of the derived type.
6187
6188         * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
6189         with unknown discriminants with regard to the parent subtype.
6190
6191 2009-04-20  Bob Duff  <duff@adacore.com>
6192
6193         * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
6194         that are not included. This is necessary if the main unit is a generic
6195         instantiation.
6196
6197         * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
6198         because it doesn't work if -gnatn is used.
6199
6200 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6201
6202         * rtsfind.adb (RTE, RTE_Record_Component): In
6203         Configurable_Run_Time_Mode, do not enable front-end inlining.
6204
6205 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6206
6207         * g-socthi-vms.adb: Remove now unnecessary WITH clause on
6208         System.Address_To_Access_Conversions.
6209
6210 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6211
6212         * sem.adb: Guard against ill-formed subunits.
6213
6214 2009-04-20  Bob Duff  <duff@adacore.com>
6215
6216         * output.adb (Flush_Buffer): Do not indent blank lines.
6217         (Ignore_Output): New procedure for output suppression.
6218
6219 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
6220
6221         * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
6222         when it is positive.  This avoids a potential constraint error raised
6223         by the conversion to Natural.
6224
6225 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
6226
6227         * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
6228         involves a target that has a specified address, don't set Forward_OK
6229         and Backward_OK to False if the rhs is an aggregate, since overlap
6230         can't occur.
6231
6232 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6233
6234         * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
6235         in an object renaming declaration when the expected type is an
6236         anonymous access type.
6237
6238         * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
6239         ambiguity when one interpretation is an anonymous access type and the
6240         other is a named access type, and the context itself is anonymous
6241
6242 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6243
6244         * einfo.ads: Minor comment rewording
6245
6246         * sem_aggr.adb: Minor comment rewording
6247
6248         * sem_ch3.adb, sem_ch6.adb: Minor reformatting
6249
6250 2009-04-20  Pascal Obry  <obry@adacore.com>
6251
6252         * adaint.c (__gnat_is_readable_file): Check for file existence
6253         when not using ACL (always the case on remote drives).
6254
6255 2009-04-20  Robert Dewar  <dewar@adacore.com>
6256
6257         * sinfo.ads: Minor comment fixes
6258
6259         * exp_disp.adb: Minor reformatting
6260
6261         * gnat1drv.adb: Minor reformatting
6262
6263         * output.adb: Minor reformatting
6264
6265         * s-vxwext-kernel.ads: Minor reformatting
6266
6267         * sem.ads: Minor reformatting
6268
6269         * sem.adb: Minor reformatting
6270
6271         * sem_elim.adb: Minor reformatting
6272
6273         * uname.ads: Minor reformatting
6274
6275 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6276
6277         * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
6278         a small dope of 4 words to the adjustment to the stack pointer.
6279
6280 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6281
6282         * xoscons.adb: generate C header s-oscons.h in
6283         addition to s-oscons.ads.
6284
6285         * socket.c: On VMS, use s-oscons.h.
6286
6287         * sem_ch3.adb: Minor reformatting
6288
6289         * exp_ch9.adb: Minor reformatting
6290
6291 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6292
6293         * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
6294         (Attribute_to_gnu): Do not call check_for_eliminated_entity.
6295         (call_to_gnu): Likewise.
6296
6297 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6298
6299         * gcc-interface/trans.c (gigi): Declare the name of the compilation
6300         unit as the first global name at the very beginning.
6301
6302 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6303
6304         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
6305         s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
6306         g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
6307         since HP-UX supports neither inet_aton nor inet_pton (altough the
6308         latter is part of the Single UNIX Specification!).
6309         So reorganize code, and share C implementation based on inet_addr(3)
6310         with VMS (instead of having a VMS specific Ada implementation in
6311         g-socthi-vms.adb).
6312
6313 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
6314
6315         * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
6316         to return the object file name saved by Set_Object_Output_File_Name.
6317
6318 2009-04-20  Emmanuel Briot  <briot@adacore.com>
6319
6320         * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
6321         for the standard command line, when argc has been modified since the
6322         start of the application.
6323
6324 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6325
6326         * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
6327         WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
6328
6329 2009-04-20  Bob Duff  <duff@adacore.com>
6330
6331         * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
6332         pragma Debug.
6333
6334 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6335
6336         * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
6337         subprogram as Eliminated when source operation is.
6338         (Expand_N_Protected_Type_Declaration): Generate protected and
6339         unprotected specs for the internal operations, even if the source
6340         operation is eliminated.
6341
6342 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
6343
6344         * exp_ch3.adb (Make_Predefined_Primitive_Specs,
6345         Predefined_Primitive_Bodies): Do not create the declarations and bodies
6346         of the primitive subprograms associated with dispatching select
6347         statements when the runtime is in configurable mode.
6348
6349 2009-04-20  Ed Falis  <falis@adacore.com>
6350
6351         * s-vxwext-kernel.ads (tickGet): Use tick64Get.
6352
6353 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6354
6355         * s-oscons-tmplt.c: Add support for generating a dummy version of
6356         s-oscons.ads providing all possible constants.
6357
6358         * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
6359
6360         * socket.c (__gnat_inet_pton): On Windows make sure we always use the
6361         ANSI version (not the UNICODE version) of WSAStringToAddress.
6362
6363 2009-04-20  Pascal Obry  <obry@adacore.com>
6364
6365         * adaint.c (__gnat_set_OWNER_ACL): properly free memory
6366         allocated for the security descriptor and make sure all
6367         handles are closed before leaving this procedure.
6368
6369 2009-04-20  Javier Miranda  <miranda@adacore.com>
6370
6371         * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
6372         (Set_Is_Underlying_Record_View): New subprogram
6373
6374         * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
6375         private types with unknown discriminants use the underlying record view
6376         if available.
6377
6378         * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
6379         underlying record view in the full view of private types whose parent
6380         has unknown discriminants.
6381         (Build_Derived_Record_Type): Avoid generating the class-wide entity
6382         associated with an underlying record view.
6383         (Derived_Type_Declaration): Avoid deriving parent primitives in
6384         underlying record views.
6385
6386         * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
6387         records with unknown discriminants.
6388
6389         * sem_type.adb (Covers): Handle underlying record views.
6390         (Is_Ancestor): Add support for underlying record views.
6391
6392         * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
6393         dispatching call if the type of the target object is tagged and has
6394         unknown discriminants.
6395
6396         * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
6397         unknown discriminants.
6398
6399         * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
6400         tables for internally built underlying record views.
6401
6402         * sprint.adb (sprint_node_actual): Improve output of aggregates with an
6403         empty list of component associations.
6404
6405 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6406
6407         * sem_ch10.adb: Minor reformatting
6408
6409         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
6410         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
6411         (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
6412         standard inet_pton API (and emulate it on platforms that do not
6413         support it).
6414         (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
6415         DECC$INET_ADDR, imported in Ada.
6416         (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
6417         implementation provided by GNAT runtime.
6418         (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
6419         Windows.
6420
6421 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6422
6423         * gnat_ugn.texi: Add documentation for -fno-ivopts.
6424
6425 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6426
6427         * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
6428         with_clause if it is the main unit.
6429
6430 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6431
6432         * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
6433         (no behaviour change): Use Append instead of Increment_Last followed
6434         by assignment.
6435
6436 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
6437
6438         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
6439         declarations of all primitives associated with dispatching asynchronous,
6440         conditional and timed selects when dispaching calls are forbidden and
6441         select statements are not allowed (such as in Ravenscar).
6442         (Predefined_Primitive_Bodies): Ditto for bodies.
6443
6444         * exp_disp.ad (Make_DT): Do not create and populate the
6445         Select_Specific_Data of the dispatch table when dispatching calls are
6446         forbidden and select statements are not allowed (such as in Ravenscar).
6447
6448 2009-04-20  Robert Dewar  <dewar@adacore.com>
6449
6450         * a-tifiio.adb: Minor reformatting
6451
6452 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6453
6454         * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
6455         other C library functions, report *failure* with a zero status, and
6456         success with a non-zero status.
6457
6458 2009-04-20  Bob Duff  <duff@adacore.com>
6459
6460         * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
6461         (Semantics): After analyzing each unit, Append it to the
6462         Comp_Unit_List, if appropriate.
6463
6464         * gnat1drv.adb (Check_Library_Items): New procedure for debugging
6465         purposes.
6466         (Gnat1drv): Correct comment regarding Back_End_Mode.
6467
6468 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6469
6470         * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
6471
6472 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6473
6474         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
6475         output.adb, output.ads, s-taprop-hpux-dce.adb,
6476         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
6477         reformatting.
6478
6479 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6480
6481         * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
6482         g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
6483         (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
6484         (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
6485         except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
6486         (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
6487
6488         * debug.adb: Fix typo
6489
6490         * gnat_rm.texi: Minor doc fix.
6491
6492         * sem_ch7.adb, freeze.adb: Minor reformatting
6493
6494 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6495
6496         * g-socket.ads: Add new constants:
6497           Loopback_Inet_Addr
6498           Unspecified_Group_Inet_Addr
6499           All_Hosts_Group_Inet_Addr
6500           All_Routers_Group_Inet_Addr
6501
6502         * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
6503         ERANGE (Result too large).
6504         (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
6505         propagation of errno to caller.
6506
6507 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
6508
6509         * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
6510         to 24. Increment Leap_Seconds_Count and add an entry to aggregate
6511         Leap_Second_Times.
6512
6513 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
6514
6515         * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
6516         checking for references to eliminated subprograms that should be
6517         flagged.
6518         (Eliminate_Error_Message): Update comment to say "references" rather
6519         than "calls" (since attribute cases are handled here as well).
6520
6521         * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
6522         checking for references to eliminated subprograms that should be
6523         flagged.  Add with and use of Sem and Sem_Util.
6524
6525         * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
6526         Add with and use of Sem_Elim.
6527
6528         * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
6529         applied to eliminated subprograms.
6530         (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
6531         eliminated subprograms.
6532         Add with and use of Sem_Elim.
6533
6534         * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
6535         to eliminated subprograms, now handled during Resolve_Call.
6536         Remove with and use of Sem_Elim.
6537
6538         * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
6539         testing Is_Eliminated, for proper handling of primitive derived from
6540         eliminated subprograms.
6541
6542 2009-04-20  Vincent Celier  <celier@adacore.com>
6543
6544         * mlib-prj.adb (Build_Library): Use the shared library linker, if one
6545         has been declared (Library_GCC or Linker'Driver), for the driver name.
6546
6547         * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
6548         Linker'Driver is, use Linker'Driver as the shared library linker.
6549         (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
6550         Library_GCC is declared.
6551         (Check_Library_Attributes): Set up the shared linker driver: either
6552         Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
6553         declared.
6554
6555 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6556
6557         * g-socket.ads (Send_Socket): Fix misleading comment.
6558
6559 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
6560
6561         * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
6562         ASIS mode.
6563
6564 2009-04-20  Geert Bosch  <bosch@adacore.com>
6565
6566         * a-tifiio.adb (Put): Avoid generating too many digits for certain
6567         fixed types with smalls that are neither integer or the reciprocal
6568         of an integer.
6569
6570 2009-04-20  Bob Duff  <duff@adacore.com>
6571
6572         * uname.ads: Minor comment fix.
6573
6574         * types.ads: Minor comment fix.
6575
6576 2009-04-20  Pascal Obry  <obry@adacore.com>
6577
6578         * adaint.c (__gnat_get_libraries_from_registry): Fix code to
6579         avoid warning. At the same time fix a memory leak.
6580
6581         * osint.adb (Get_Libraries_From_Registry): Properly free memory
6582         returned by the above routine.
6583
6584 2009-04-20  Robert Dewar  <dewar@adacore.com>
6585
6586         * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
6587         s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
6588         s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
6589         s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
6590
6591         * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
6592
6593 2009-04-20  Pascal Obry  <obry@adacore.com>
6594
6595         * initialize.c (__gnat_initialize): Add braces to kill warning.
6596
6597         * adaint.c: Minor reformatting, remove trailing spaces.
6598
6599 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
6600
6601         * gcc-interface/Make-lang.in: Update dependencies.
6602
6603 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6604
6605         * adaint.h (__gnat_lwp_self): Declare on Linux.
6606
6607         * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
6608
6609 2009-04-20  Robert Dewar  <dewar@adacore.com>
6610
6611         * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
6612         front-end part of -fpreserve-control-flow switch.
6613
6614 2009-04-20  Bob Duff  <duff@adacore.com>
6615
6616         * rtsfind.adb: Minor comment fix
6617
6618 2009-04-20  Robert Dewar  <dewar@adacore.com>
6619
6620         * exp_aggr.adb: Minor reformatting
6621         Minor code reorganization (use Nkind_In)
6622
6623         * g-socket.adb: Minor reformatting
6624
6625         * g-socket.ads: Minor comment fix
6626
6627         * s-auxdec.ads: Minor comment and organization update.
6628
6629         * s-auxdec-vms_64.ads: Minor comment and organization update.
6630
6631         * sem_ch10.adb: Minor addition of ??? comment
6632
6633         * sem_disp.adb: Minor reformatting
6634
6635 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6636
6637         * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
6638         list a caller of an inlined subprogram, if the caller itself is not
6639         called.
6640
6641 2009-04-20  Pascal Obry  <obry@adacore.com>
6642
6643         * adaint.c: Disable use of ACL on network drives.
6644
6645 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
6646
6647         * gnat_ugn.texi: Add examples.
6648
6649 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6650
6651         * g-socket.ads (Abort_Selector): Clarify documentation.
6652
6653 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
6654
6655         * opt.ads (Inspector_Mode): Update documentation of this flag.
6656
6657 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6658
6659         * g-socket.ads: Minor reformatting
6660
6661         * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
6662         consider S_resolvLib error codes since we only use the hostLib wrappers.
6663
6664 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6665
6666         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
6667         of the Underlying_Record_View after that of the derived type.
6668
6669 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
6670
6671         * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
6672         in inspector mode.
6673
6674 2009-04-20  Javier Miranda  <miranda@adacore.com>
6675
6676         * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
6677
6678         * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
6679         documentation.
6680
6681         * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
6682
6683         * sem_disp.adb
6684         (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
6685         in internally built overriding subprograms.
6686
6687 2009-04-20  Doug Rupp  <rupp@adacore.com>
6688
6689         * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
6690
6691         * s-auxdec.ads: Likewise
6692
6693 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6694
6695         * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
6696         type by an interface.
6697
6698         * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
6699         minimze difference in expanded tree when compiled as spec of the main
6700         unit, or as a spec in the context of another unit.
6701
6702 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
6703
6704         * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
6705         (localtime_tzoff): This routine no longer accepts an actual of type
6706         tm_Pointer.
6707         (UTC_Time_Offset): Remove local variable Secs_TM.
6708
6709         * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
6710         actual of type struct tm*. Add local variable of type struct tm for all
6711         targets that provide localtime_r and need to invoke it.
6712
6713 2009-04-20  Thomas Quinot  <quinot@adacore.com>
6714
6715         * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
6716         (GNAT.Sockets.Resolve_Error): Add case of EPIPE
6717         Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
6718
6719 2009-04-20  Robert Dewar  <dewar@adacore.com>
6720
6721         * sem_ch3.adb: Minor reformatting
6722
6723         * lib-load.adb: Minor reformatting
6724
6725         * sem_ch4.adb: Minor reformatting
6726
6727 2009-04-20  Robert Dewar  <dewar@adacore.com>
6728
6729         * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
6730         (equal values => False).
6731
6732 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
6733
6734         * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
6735         to null procedures can be inlined unconditionally.
6736
6737 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
6738
6739         * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
6740         non-addressable parameter passed by reference, do not convert the
6741         actual if its type is already the nominal type, unless it is of
6742         self-referential size.
6743
6744 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
6745
6746         * gnat_ugn.texi: Fix typos.
6747
6748 2009-04-20  Robert Dewar  <dewar@adacore.com>
6749
6750         * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
6751         Validate_Unchecked_Warnings to suppress warnings about size or
6752         alignment or extra bits if either type involved has pragma Warnings
6753         (Off) set for the type entity.
6754
6755 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
6756
6757         * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
6758         a builtin type and give it a name.
6759
6760 2009-04-17  Diego Novillo  <dnovillo@google.com>
6761
6762         * gcc-interface/misc.c (gnat_expand_expr): Remove.
6763         (LANG_HOOKS_EXPAND_EXPR): Remove.
6764
6765 2009-04-17  Robert Dewar  <dewar@adacore.com>
6766
6767         * sem_ch3.adb: Minor reformatting
6768
6769 2009-04-17  Pascal Obry  <obry@adacore.com>
6770
6771         * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
6772
6773 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
6774
6775         * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
6776         illegal constraints on type derived from formal discrete types.
6777
6778 2009-04-17  Thomas Quinot  <quinot@adacore.com>
6779
6780         PR ada/35953
6781
6782         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6783         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
6784         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
6785         g-socket.ads (GNAT.Sockets.Thin.C_Send,
6786         GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
6787         Replace calls to send(2) with equivalent sendto(2) calls.
6788         (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
6789         (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
6790         report an error in that case. Factor code common to the two versions
6791         (datagram and stream) in common routine Stream_Write.
6792
6793 2009-04-17  Robert Dewar  <dewar@adacore.com>
6794
6795         * exp_disp.adb: Minor reformatting
6796         Minor code reorganization (use Nkind_In)
6797
6798         * prepcomp.adb: Minor reformatting
6799
6800         * sem_ch3.adb: Minor reformatting
6801
6802         * sem_res.adb: Minor comment addition
6803
6804         * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
6805         for address clause
6806
6807         * lib-xref.adb (Generate_Reference): Exclude recursive calls from
6808         setting Is_Referenced
6809
6810         * types.ads: Minor reformatting
6811
6812 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
6813
6814         * gnat_ugn.texi: Initial documentation on binding generator.
6815
6816 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
6817
6818         * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
6819         type extensions whose parent is a type with unknown discriminants.
6820
6821         * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
6822         aggregate has unknown discriminants, use the Underlying_Record_View to
6823         obtain the discriminants of the ancestor part.
6824
6825         * exp_disp.adb (Build_Dispatch_Tables): Types that are
6826         Underlying_Record_Views share the dispatching information of the
6827         original record extension.
6828
6829         * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
6830         discriminants, propagate dispach table information to the
6831         Underlying_Record_View.
6832
6833         * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
6834         discriminants and declaration is not a completion, generate
6835         Underlying_Record_View to provide proper discriminant information to
6836         the front-end and to gigi.
6837
6838 2009-04-17  Robert Dewar  <dewar@adacore.com>
6839
6840         * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
6841         s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
6842         s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
6843         g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
6844         s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
6845         s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
6846         g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
6847         s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
6848         g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
6849         s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
6850         s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
6851         s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
6852         s-conca3.ads: Remove unneeded pragma Warnings
6853
6854 2009-04-17  Robert Dewar  <dewar@adacore.com>
6855
6856         * g-moreex.adb: Add comments.
6857
6858         * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
6859
6860         * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
6861         Warnings (Off)
6862
6863         * prepcomp.adb: Add ??? comment
6864
6865         * a-tasatt.adb: Minor reformatting
6866
6867         * g-trasym-vms-alpha.adb: Add ??? comment
6868
6869         * g-trasym-vms-ia64.adb: Add ??? comment
6870
6871         * xoscons.adb: Minor reformatting
6872
6873         * s-tassta.adb: Minor reformatting
6874
6875         * s-scaval.adb: Add ??? comment
6876
6877         * stand.ads: Minor code clean up (remove junk with of Namet)
6878
6879         * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
6880         s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
6881         s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
6882         s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
6883         s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
6884         s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
6885         s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
6886         s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
6887         Warnings off pragmas.
6888
6889 2009-04-17  Pascal Obry  <obry@adacore.com>
6890
6891         * initialize.c: Fix test for reallocating the arguments array.
6892
6893 2009-04-17  Geert Bosch  <bosch@adacore.com>
6894
6895         * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
6896         conversion truncate only for decimal fixed point types.
6897
6898 2009-04-17  Jerome Lambourg  <lambourg@adacore.com>
6899
6900         * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
6901         reinitialized.
6902
6903 2009-04-17  Robert Dewar  <dewar@adacore.com>
6904
6905         * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
6906         Backwards_OK if either operand has an address clause.
6907
6908 2009-04-17  Pascal Obry  <obry@adacore.com>
6909
6910         * initialize.c: Code clean up, use realloc.
6911
6912 2009-04-17  Pascal Obry  <obry@adacore.com>
6913
6914         * initialize.c: Do not get Unicode command line if Unicode support not
6915         activated.
6916         Add support for wildcard expansion for Unicode parameters on Win32.
6917
6918         * mingw32.h: Add missing macros when Unicode support not activated.
6919
6920 2009-04-17  Javier Miranda  <miranda@adacore.com>
6921
6922         * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
6923         avoid generating code that references the Current_Master
6924         when compiling without tasks.
6925
6926 2009-04-17  Vincent Celier  <celier@adacore.com>
6927
6928         * prj-attr.adb: New project level attribute Target
6929         
6930         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
6931         attribute Target
6932         
6933         * prj.ads (Project_Configuration): New component Target
6934
6935 2009-04-17  Thomas Quinot  <quinot@adacore.com>
6936
6937         * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
6938         case for the case of an aggregate component, the attach call for the
6939         result is actually needed.
6940
6941         * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
6942         an array aggregate must be disabled if the component type requires
6943         controlled actions.
6944
6945         * exp_ch3.adb: Minor reformatting
6946
6947 2009-04-17  Bob Duff  <duff@adacore.com>
6948
6949         * output.ads (Indent,Outdent): New procedures for indenting the output.
6950         (Write_Char): Correct comment -- LF _is_ allowed.
6951
6952         * output.adb (Indent,Outdent): New procedures for indenting the output.
6953         Keep track of the indentation level, and make sure it doesn't get too
6954         high.
6955         (Flush_Buffer): Insert spaces at the beginning of each line, if
6956         indentation level is nonzero.
6957         (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
6958         indentation level.
6959         (Set_Standard_Error,Set_Standard_Output): Remove superfluous
6960         "Next_Col := 1;".  Flush_Buffer does that.
6961
6962         * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
6963         controlled by the -gnatdc switch. It now occurs on entry/exit to the
6964         relevant analysis routines, and calls Indent/Outdent to make the
6965         indentation reflect the nesting level.  Add "helper" routines, since
6966         otherwise lots of "return;" statements would skip the debugging output.
6967
6968 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
6969
6970         * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
6971         s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
6972         s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
6973
6974 2009-04-17  Thomas Quinot  <quinot@adacore.com>
6975
6976         * exp_aggr.adb: Minor code reorganization, no behaviour change.
6977
6978 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
6979
6980         * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
6981         clause in a unit that is a package body or a subunit, when the previous
6982         clause appears in a spec or a parent.
6983
6984 2009-04-17  Thomas Quinot  <quinot@adacore.com>
6985
6986         * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
6987
6988         * exp_ch7.adb: Minor reformatting
6989
6990 2009-04-17  Bob Duff  <duff@adacore.com>
6991
6992         * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
6993         allocator, check that the expression of the qualified expression obeys
6994         the constraints of the subtype of the qualified expression.
6995
6996 2009-04-17  Thomas Quinot  <quinot@adacore.com>
6997
6998         * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
6999
7000 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
7001
7002         * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
7003         aggregate, using context imposed by subtype mark in allocator.
7004
7005 2009-04-17  Pascal Obry  <obry@adacore.com>
7006
7007         * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
7008
7009 2009-04-17  Nicolas Roche  <roche@adacore.com>
7010
7011         * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
7012         argument length.
7013
7014 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
7015
7016         * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
7017         cover both calls and attribute references ("call" => "reference").
7018
7019 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
7020
7021         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
7022         type for which Storage_Size is set to 0 is legal in a pure unit.
7023
7024 2009-04-17  Thomas Quinot  <quinot@adacore.com>
7025
7026         * exp_ch7.adb: Minor reformatting
7027
7028 2009-04-17  Robert Dewar  <dewar@adacore.com>
7029
7030         * restrict.adb (Check_Restriction_No_Dependence): Don't check
7031         restriction if outside main extended source unit.
7032
7033         * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
7034         for parents of child units as well as the child unit itself.
7035
7036 2009-04-17  Bob Duff  <duff@adacore.com>
7037
7038         * checks.ads: Minor comment fix
7039
7040         * exp_aggr.ads: Minor comment fix
7041
7042 2009-04-17  Nicolas Roche  <roche@adacore.com>
7043
7044         * adaint.c: Improve cross compiler detection and handling.
7045
7046 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
7047
7048         * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
7049
7050 2009-04-17  Pascal Obry  <obry@adacore.com>
7051
7052         * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
7053         CurrentCodePage.
7054
7055         * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
7056         value when no encoding form paramter is set on Text_IO services.
7057
7058         * adaint.c: CurrentCodePage new variable on Windows.
7059         Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
7060         ones.
7061
7062         * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
7063         ones.
7064
7065         * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
7066         environment variable value. Default is UTF-8.
7067
7068         * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
7069         fopen and freopen encoding parameter is now set to Unspecified.
7070         The default value is in this case UTF-8 (as it was before) but
7071         use the new macros that convert to/from the code page set
7072         at runtime (CurrentCodePage).
7073
7074         * s-fileio.adb: When no encoding specified use Unspecified value.
7075
7076 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
7077
7078         * atree.adb, atree.ads: Remove dead code.
7079
7080 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
7081
7082         * gcc-interface/Make-lang.in: Update dependencies.
7083
7084 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
7085
7086         * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
7087         illegal uses of incomplete types in formal parts and return types.
7088
7089         * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
7090         access to subprograms.
7091
7092         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
7093         Taft-amendment types as the return type of an access_to_function type.
7094
7095         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
7096         type for access_to_subprograms. The check is performed on package exit.
7097
7098 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
7099
7100         * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
7101
7102         * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
7103         
7104         * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
7105
7106         * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
7107         semantic units, because the handling of itypes in the copied tree
7108         requires semantic information that does not belong in atree.
7109
7110 2009-04-17  Robert Dewar  <dewar@adacore.com>
7111
7112         * par-ch6.adb: Minor reformatting
7113
7114         * prj.adb: Minor reformatting
7115
7116 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
7117
7118         * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
7119         on protected subprogram bodies, so exclude the case where Pf_Flags is
7120         Pf_Decl_Pbod from the error check.
7121
7122         * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
7123         indicators on subprograms in protected bodies, and proceed with parsing
7124         the subprogram.
7125
7126         * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
7127         subprograms from the check for primitiveness on subprograms with
7128         overriding indicators.
7129         (Check_Overriding_Indicator): Include protected subprograms in the
7130         style check for missing overriding indicators.
7131
7132 2009-04-17  Tristan Gingold  <gingold@adacore.com>
7133
7134         * init.c: Fix stack checking for x86 Darwin.
7135
7136 2009-04-17  Vincent Celier  <celier@adacore.com>
7137
7138         * prj-attr.adb: New project level attribute Object_File_Suffix
7139         (<language>).
7140         
7141         * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
7142         object file name
7143         (Process_Compiler): Process attribute Object_File_Suffix
7144
7145         * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
7146         platform suffix, when specified.
7147
7148         * prj.ads (Language_Config): New component Object_File_Suffix,
7149         defaulted to No_Name.
7150         (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
7151
7152         * snames.ads-tmpl: New standard name Object_File_Suffix
7153
7154 2009-04-17  Robert Dewar  <dewar@adacore.com>
7155
7156         * gnat_rm.texi: Add documentation about No_Streams restriction
7157
7158         * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
7159         attributes when checking No_Streams restriction.
7160
7161 2009-04-17  Thomas Quinot  <quinot@adacore.com>
7162
7163         * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
7164
7165         * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
7166         missing calls to RE_Request_Destroy to deallocate request objects after
7167         use.
7168
7169 2009-04-17  Nicolas Setton  <setton@adacore.com>
7170
7171         * link.c: Fix support for passing a response file under Darwin.
7172
7173 2009-04-17  Emmanuel Briot  <briot@adacore.com>
7174
7175         * prj.adb (Free): new subprogram.
7176
7177 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
7178
7179         * sem_ch3.adb: additional initialization on incomplete subtypes.
7180         
7181         * sem_ch6.adb (Process_Formals): if the subprogram is in the private
7182         part and one of the formals is an incomplete tagged type, attach to
7183         list of private dependends of the type for later validation.
7184
7185         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
7186         primitive operations of a Taft-amendmment type.
7187
7188         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
7189         type. The check is performed on package exit, possibly after the
7190         subprogram is frozen.
7191
7192 2009-04-17  Vincent Celier  <celier@adacore.com>
7193
7194         * prj-nmsc.adb (Get_Directories): Get the object and exec directory
7195         before looking for source directories, but make sure that there are nil
7196         if they are not explicitely declared and there is explicitely no
7197         sources in the project.
7198
7199 2009-04-17  Pascal Obry  <obry@adacore.com>
7200
7201         * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
7202
7203         * init.c: Fix minor typo and style fix.
7204
7205 2009-04-17  Robert Dewar  <dewar@adacore.com>
7206
7207         * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
7208
7209         * sem_attr.adb (Analyze_Attribute, case Address): Use
7210         PE_Address_Of_Intrinsic.
7211
7212         * types.ads: Add PE_Address_Of_Intrinsic
7213
7214         * types.h: Add PE_Address_Of_Intrinsic
7215
7216 2009-04-17  Nicolas Setton  <setton@adacore.com>
7217
7218         * gcc-interface/Makefile.in: Under darwin, build shared libraries
7219         with install_name starting with "@rpath/".
7220
7221 2009-04-17  Nicolas Setton  <setton@adacore.com>
7222
7223         * link.c: Add darwin section
7224
7225 2009-04-16  Robert Dewar  <dewar@adacore.com>
7226
7227         * g-pehage.adb: Minor reformatting
7228
7229         * sem_ch12.adb: Minor reformatting
7230
7231         * exp_dist.adb: Minor reformatting
7232
7233         * bindgen.adb: Minor style fixes.
7234
7235 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
7236
7237         * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
7238         indexed components to the case where the prefix is a static string
7239         literal.
7240
7241 2009-04-16  Javier Miranda  <miranda@adacore.com>
7242
7243         * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
7244         objects avoid any further expansion of the expression initializing the
7245         object.
7246
7247 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
7248
7249         * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
7250         that hides an outer homograph, make that homograph invisible when
7251         analyzing the actuals, to to prevent illegal direct visibility on it.
7252
7253 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
7254
7255         * g-pehage.adb (Initialize): Fix off-by-one error.
7256
7257 2009-04-16  Tristan Gingold  <gingold@adacore.com>
7258
7259         * init.c: Detect real stack overflow on Darwin.
7260
7261         * system-darwin-x86.ads: Use stack probing on darwin x86.
7262
7263 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
7264
7265         * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
7266         take the address of an intrinsic subprogram.
7267
7268 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
7269
7270         * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
7271         for the targets where GNAT.Traceback.Symbolic is not supported.
7272
7273 2009-04-16  Vincent Celier  <celier@adacore.com>
7274
7275         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
7276
7277         * g-trasym.ads: Update comments.
7278
7279 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
7280
7281         * tracebak.c (STOP_FRAME): Verify validity of the current address
7282         before dereferencing.
7283
7284 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
7285
7286         * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
7287         the original location of the index expressions and the index subtypes,
7288         to prevent spurious out-of-scope references in gigi.
7289
7290 2009-04-16  Tristan Gingold  <gingold@adacore.com>
7291
7292         * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
7293         Add support for stack checking on darwin.
7294
7295 2009-04-16  Vincent Celier  <celier@adacore.com>
7296
7297         * prj-attr.adb: New attribute Runtime_Source_Dir
7298
7299         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
7300         attribute Runtime_Source_Dir.
7301         (Check_Naming_Schemes): Give default values to out parameters to avoid
7302         invalid data.
7303
7304         * prj.ads (Language_Config): New component Runtime_Source_Dir
7305
7306         * snames.ads-tmpl: New standard name Runtime_Source_Dir
7307
7308 2009-04-16  Pascal Obry  <obry@adacore.com>
7309
7310         * adaint.h, adaint.c (__gnat_rmdir): New routine.
7311         Simple wrapper routines used to convert to proper encoding on
7312         Windows.
7313
7314         * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
7315
7316         * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
7317         twice.
7318
7319 2009-04-16  Pascal Obry  <obry@adacore.com>
7320
7321         * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
7322
7323 2009-04-16  Thomas Quinot  <quinot@adacore.com>
7324
7325         * snames.ads-tmpl (Name_Defined): New predefined name for use by the
7326         integrated preprocessor.
7327
7328         * prep.ads, prep.adb (Setup_Hooks): New subprogram.
7329         (Initialize): Split into two subprograms, Initialize (to be called
7330         prior to compiler command line processing) and Setup_Hooks (to be called
7331         later on when the first source file is loaded).
7332
7333         * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
7334         Add call to Prep.Initialize.
7335
7336         * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
7337         to Prep.Setup_Hooks.
7338
7339 2009-04-16  Pascal Obry  <obry@adacore.com>
7340
7341         * adaint.h, adaint.c (__gnat_chdir): New routine.
7342         Simple wrapper routines used to convert to proper encoding on
7343         Windows.
7344
7345         * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
7346
7347         * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
7348
7349 2009-04-16  Quentin Ochem  <ochem@adacore.com>
7350
7351         * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
7352         of Source.Init.
7353
7354 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
7355
7356         * a-convec.ads (Is_Empty): Mark inline.
7357
7358 2009-04-16  Nicolas Roche  <roche@adacore.com>
7359
7360         * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
7361
7362 2009-04-16  Thomas Quinot  <quinot@adacore.com>
7363
7364         * prepcomp.adb: Minor reformatting
7365
7366 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
7367
7368         * sem_prag.adb (Process_Import_Or_Interface): With .NET,
7369         Access_Subprogram types can also be imported.
7370         (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
7371         names.
7372
7373 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
7374
7375         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
7376         preserve homonym chain when the declaration is rewritten into a
7377         renaming declaration, in order to preserve visibility structure.
7378
7379 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
7380
7381         * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
7382         taken into account for VM targets.
7383
7384 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
7385
7386         * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
7387         Year_Week_In_Year.
7388         (Year_Week_In_Year): New routine which contains the original code from
7389         Week_In_Year. Add the missing special case for January 1st falling on
7390         a Monday.
7391
7392 2009-04-16  Thomas Quinot  <quinot@adacore.com>
7393
7394         * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
7395         actual type, use the base type to build the To_Any function.
7396         (Build_From_Any_Function): Remove junk, useless subtype conversion.
7397
7398 2009-04-16  Thomas Quinot  <quinot@adacore.com>
7399
7400         * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
7401         restrict.adb: Minor code reorganization (use
7402         Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
7403
7404 2009-04-16  Bob Duff  <duff@adacore.com>
7405
7406         * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
7407         unused.
7408
7409 2009-04-16  Thomas Quinot  <quinot@adacore.com>
7410
7411         * sem_ch4.adb: Minor reformatting
7412
7413         * adaint.c: Remove junk duplicated code.
7414
7415         * sem_ch3.adb: Minor reformatting
7416
7417         * exp_dist.adb: Minor comment rewording
7418
7419 2009-04-16  Robert Dewar  <dewar@adacore.com>
7420
7421         * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
7422         used together.
7423
7424 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
7425
7426         * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
7427         usable before calling Add_One_Interp, to resolve spurious ambiguities.
7428
7429 2009-04-16  Robert Dewar  <dewar@adacore.com>
7430
7431         * Make-lang.in: Add entries for s-conca?.o
7432
7433         * Makefile.rtl: Add entries for s-conca?
7434
7435         * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
7436         of concatenation expansion
7437
7438         * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
7439         string cases instead of expanding assignments inline.
7440
7441         * opt.ads (Optimize_Size): New flag
7442
7443         * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
7444         s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
7445         s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
7446         s-conca9.adb, s-conca9.ads: New file.
7447
7448 2009-04-16  Robert Dewar  <dewar@adacore.com>
7449
7450         * exp_ch6.adb: Add comments
7451
7452         * rtsfind.ads: Add entries for s-conca? routines
7453
7454 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
7455
7456         * gcc-interface/Make-lang.in: Update dependencies.
7457
7458         * gcc-interface/Makefile.in: Update translation for vms.
7459
7460 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
7461
7462         * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
7463         and made global, to be used when installing parents of a child
7464         instance, to provide mappings for entities declared in formal packages
7465         of ancestor units. Now called from Install_Formal_Packages.
7466
7467 2009-04-16  Doug Rupp  <rupp@adacore.com>
7468
7469         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
7470         notation for clarity.
7471
7472         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
7473         s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
7474         s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
7475         (Initialize): Initialize Known_Tasks with Environment task.
7476
7477         * s-taskin.ads (Task_States): Move new states to end for the sake of
7478         GDB compatibility.
7479
7480         * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
7481
7482 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
7483
7484         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
7485         operation has an inline pragma, propagate the flag to the internal
7486         unprotected subprogram.
7487
7488 2009-04-16  Doug Rupp  <rupp@adacore.com>
7489
7490         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
7491         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 
7492         s-taprop-hpux-dce.adb, s-taprop-posix.adb
7493         (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
7494
7495         * s-taprop-vms.adb (Enter_Task): Likewise.
7496         (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
7497
7498         * s-tassta.adb (Activate_Tasks): After task creation set state to
7499         Activating, vice Runnable. Initialize Known_Tasks, moved here from
7500         s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
7501         Set state to Runnable after above.
7502         (Task_Wrapper): Set Debug_Event_Run. In exception block set
7503         Debug_Event_Terminated.
7504
7505         * s-taskin.ads (Task_States): Add new states Activiting and
7506         Activator_Delay_Sleep.
7507         (Bit_Array, Debug_Event_Array): New types.
7508         (Global_Task_Debug_Event_Set: New flag.
7509         (Common_ATCB): New field Debug_Events.
7510
7511         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
7512
7513         * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
7514         Activator_Sleep.
7515
7516         * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
7517         Activating and when Acceptor_Delay_Sleep.
7518
7519         * s-tasdeb.ads: Add constants for Debug_Events.
7520         (Debug_Event_Kind_Type): New subtype.
7521         (Signal_Debug_Event): New subprogram.
7522
7523         * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
7524
7525 2009-04-16  Thomas Quinot  <quinot@adacore.com>
7526
7527         * sem_elim.adb: Minor reformatting
7528
7529         * freeze.adb: Minor reformatting
7530
7531         * exp_ch4.adb: Minor reformatting
7532
7533 2009-04-16  Emmanuel Briot  <briot@adacore.com>
7534
7535         * prj-nmsc.adb (Path_Name_Of): fix memory leak
7536
7537 2009-04-16  Robert Dewar  <dewar@adacore.com>
7538
7539         * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
7540
7541 2009-04-16  Vincent Celier  <celier@adacore.com>
7542
7543         * fmap.adb (Initialize): Show the current line when the mapping file
7544         is detected as "incorrectly formatted".
7545
7546 2009-04-16  Robert Dewar  <dewar@adacore.com>
7547
7548         * sem_ch12.adb: Minor reformatting
7549
7550         * sem_ch5.adb: Minor comment addition
7551
7552         * sem_util.adb: Minor reformatting
7553
7554         * sinput-p.adb: Minor reformatting
7555         Add missing pragma Warnings (On)
7556
7557 2009-04-16  Ed Falis  <falis@adacore.com>
7558
7559         * s-vxwext-kernel.adb: (ERROR): deleted unused constant
7560
7561 2009-04-16  Vincent Celier  <celier@adacore.com>
7562
7563         * ali-util.adb: Minor comment spelling error fix
7564
7565 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
7566
7567         * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
7568         generate an assignment loop in case of overlap.
7569
7570 2009-04-16  Olivier Hainque  <hainque@adacore.com>
7571
7572         * gnat_ugn.texi (gnatmem description): Make it explicit that
7573         gnatmem is designed to work in association with static runtime
7574         library only.
7575
7576 2009-04-16  Thomas Quinot  <quinot@adacore.com>
7577
7578         * sem_type.adb: Minor reformatting
7579
7580 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
7581
7582         * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
7583         concerning return codes of gettimeofday and return value check.
7584
7585 2009-04-16  Ed Falis  <falis@adacore.com>
7586
7587         * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
7588         body can be renaming of imported routines.
7589
7590 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
7591
7592         * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
7593         targeted fashion.
7594
7595 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
7596
7597         * exp_ch9.adb: Comment improvements.
7598         (Build_Entry_Family_Name): Add parentheses around the index of a entry
7599         family member.
7600
7601 2009-04-15  Bob Duff  <duff@adacore.com>
7602
7603         * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
7604         "while X /= null loop" where X is unchanged inside the loop. We were
7605         not warning in this case, because of the pointers -- we feared that the
7606         loop variable could be updated via a pointer, if there are any pointers
7607         around the place. But that is impossible in this case.
7608
7609         * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
7610         the case of dereferences. In X.all, X cannot be an l-value. We now
7611         catch that case (and implicit dereferences, too).
7612
7613 2009-04-15  Vincent Celier  <celier@adacore.com>
7614
7615         * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
7616
7617 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7618
7619         * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
7620         From code reading.
7621         (Analyze_Package_Instantiation): If generic unit in child instance is
7622         the same as generic unit in parent instance, look for an outer homonym
7623         to locate the desired generic.
7624
7625 2009-04-15  Bob Duff  <duff@adacore.com>
7626
7627         * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
7628         warnings unless the loop comes from source, because checking generated
7629         loops is a waste of time, and makes it harder to debug
7630         Check_Infinite_Loop_Warning.
7631
7632         * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
7633         tested in the while loop is a renaming, do not warn. Otherwise, we get
7634         false alarms, because it's usually renaming something that we can't
7635         deal with (an indexed component, a global variable, ...).
7636
7637         * gnat_rm.texi: Fix typo
7638
7639 2009-04-15  Thomas Quinot  <quinot@adacore.com>
7640
7641         * sem_ch6.adb: Minor reformatting
7642
7643 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
7644
7645         * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
7646         immediate parent of the controlled function call is a component
7647         association.
7648
7649 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7650
7651         * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
7652         corresponding class-wide type is also in use.
7653
7654 2009-04-15  Thomas Quinot  <quinot@adacore.com>
7655
7656         * frontend.adb: Minor comment fix
7657
7658 2009-04-15  Robert Dewar  <dewar@adacore.com>
7659
7660         * gnatchop.adb (BOM_Length): New global variable
7661         (Write_Unit): Add new parameter Write_BOM
7662         (Write_Chopped_Files): Check for BOM and set Write_BOM for call
7663         to Write_Unit
7664
7665         * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
7666
7667 2009-04-15  Geert Bosch  <bosch@adacore.com>
7668
7669         * system-mingw-x86_64.ads, system-darwin-x86_64.ads
7670         (Backend_Overflow_Checks): Set to True.
7671
7672 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
7673
7674         * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
7675         keyword is given in a record extension.
7676
7677 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
7678
7679         * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
7680         of a controlled function call in the context of a record aggregate.
7681         This does not apply to array aggregates since the call will be expanded
7682         into assignments.
7683
7684 2009-04-15  Ed Falis  <falis@adacore.com>
7685
7686         * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
7687         s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
7688         s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
7689         s-osinte-vxworks* and s-vxwext*.
7690
7691 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
7692
7693         * gcc-interface/Make-lang.in: Update dependencies.
7694
7695         * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
7696         and s-vxwext*.
7697
7698 2009-04-15  Robert Dewar  <dewar@adacore.com>
7699
7700         * sem_ch13.adb (Unchecked_Conversions): Store source location instead
7701         of node for location for warning messages.
7702
7703         * gnatchop.adb: Minor reformatting
7704
7705 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7706
7707         * exp_ch6.adb: additional guard for renaming declarations for in
7708         parameters of an array type.
7709
7710 2009-04-15  Robert Dewar  <dewar@adacore.com>
7711
7712         * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
7713         in case they were rewritten by expander (Force_Evaluation).
7714
7715         * targparm.adb (Get_Target_Parameters): Correct check for
7716         Suppress_Exception_Locations.
7717
7718 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7719
7720         * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
7721         inlined  is of an array type that is not bit-packed, use a renaming
7722         declaration to capture its value, rather than a constant declaration.
7723
7724 2009-04-15  Robert Dewar  <dewar@adacore.com>
7725
7726         * rtsfind.adb: Minor reformatting.
7727
7728 2009-04-15  Emmanuel Briot  <briot@adacore.com>
7729
7730         * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
7731         Restore, and free the saved context.
7732
7733 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
7734
7735         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
7736         for illegal private extension from a synchronized interface parent in
7737         front of check for illegal limited extension so that limited extension
7738         from a synchronized interface will be rejected.
7739         (Check_Ifaces): Check that a private extension that has a synchronized
7740         interface as a progenitor must be explicitly declared synchronized.
7741         Also check that a record extension cannot derive from a synchronized
7742         interface.
7743
7744 2009-04-15  Pascal Obry  <obry@adacore.com>
7745
7746         * adaint.h (__gnat_unlink): Add spec.
7747         (__gnat_rename): Likewise.
7748
7749 2009-04-15  Vincent Celier  <celier@adacore.com>
7750
7751         * prj-nmsc.adb: Minor spelling error corrections in error messages
7752
7753 2009-04-15  Robert Dewar  <dewar@adacore.com>
7754
7755         * sinfo.ads: Minor comment update
7756
7757         * opt.ads: Minor comment updates
7758
7759         * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
7760         modular type.
7761
7762 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7763
7764         * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
7765         that generates the code needed to update a dispatch table when a
7766         primitive operation is declared with a subprogram body without previous
7767         spec. Insertion of the generated code is responsibility of the caller.
7768         (Make_DT): When building static tables, append the code created by
7769         Register_Primitive to update a secondary table after it has been
7770         constructed.
7771
7772         * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
7773
7774         * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
7775         on an overriding operation that implements an interface operation only
7776         if not building static dispatch tables.
7777
7778 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
7779
7780         * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
7781         does not cause overflow when converted to Duration. Use the safe value
7782         as the maximum allowable time delay..
7783
7784 2009-04-15  Jerome Lambourg  <lambourg@adacore.com>
7785
7786         * g-comlin.adb (Set_Command_Line): When adding a switch with attached
7787         parameter, specify that the delimiter is NUL, otherwise "-j2" will be
7788         translated to "-j 2".
7789
7790 2009-04-15  Bob Duff  <duff@adacore.com>
7791
7792         * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
7793         with_clauses, to avoid code duplication. Change this processing so we
7794         always add a with_clause on the main unit if needed.
7795
7796 2009-04-15  Pascal Obry  <obry@adacore.com>
7797
7798         Add support for Win32 native encoding for delete/rename routines.
7799         
7800         * adaint.c (__gnat_unlink): New routine.
7801         (__gnat_rename): New routine.
7802         Simple wrapper routines used to convert to proper encoding on
7803         Windows.
7804
7805         * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
7806         call to the C library.
7807
7808         * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
7809
7810 2009-04-15  Robert Dewar  <dewar@adacore.com>
7811
7812         * s-tassta.adb: Minor reformatting
7813
7814 2009-04-15  Robert Dewar  <dewar@adacore.com>
7815
7816         * frontend.adb (Frontend): Set proper default for
7817         Warn_On_Non_Local_Exception.
7818
7819         * opt.ads (Exception_Handler_Encountered): New flag
7820         (No_Warn_On_Non_Local_Exception): New flag
7821
7822         * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
7823
7824         * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
7825         (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
7826
7827 2009-04-15  Cyrille Comar  <comar@adacore.com>
7828
7829         * s-tassta.adb, a-exextr.adb, a-elchha.adb
7830         (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
7831         message when exception traces are active since it would generate
7832         redundant information.
7833         (Exception_Traces.Notify_Exception): put message output by a critical
7834         section to avoid unsynchronized output.
7835         (Trace_Unhandled_Exception_In_Task): put message output by a critical
7836         section to avoid unsynchronized output.
7837
7838 2009-04-15  Emmanuel Briot  <briot@adacore.com>
7839
7840         * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
7841         (Free): New subprogram.
7842
7843 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
7844
7845         * a-calend.adb: Add new constant Nanos_In_Four_Years.
7846         (Formatting_Operations.Time_Of): Change the way four year chunks of
7847         nanoseconds are added to the intermediate result.
7848
7849 2009-04-15  Nicolas Setton  <setton@adacore.com>
7850
7851         * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
7852         does not need to wait for a carriage return.
7853
7854 2009-04-15  Tristan Gingold  <gingold@adacore.com>
7855
7856         * bindgen.adb: Do not generate adafinal if No_Finalization restriction
7857         is set.
7858
7859 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7860
7861         * freeze.adb (Freeze_Entity): improve error message for improper use of
7862         incomplete types.
7863         Diagnose additional illegal uses of incomplete types in formal parts.
7864         appearing in formal parts.
7865
7866         * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
7867
7868 2009-04-15  Robert Dewar  <dewar@adacore.com>
7869
7870         * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
7871
7872 2009-04-15  Nicolas Roche  <roche@adacore.com>
7873
7874         * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
7875         current thread.
7876
7877         * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
7878
7879         * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
7880
7881 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7882
7883         * sem_ch4.adb: improve error message on exponentiation.
7884
7885 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
7886
7887         * a-calend.adb: Move constant Epoch_Offset from package
7888         Conversion_Operations to top level.
7889         (Delay_Operations.To_Duration): Define a constant which represents
7890         "end of time" and use it as a guard against very distant delay dates.
7891         Protect the code against overflow when performing the origin shift to
7892         Unix time.
7893
7894 2009-04-15  Robert Dewar  <dewar@adacore.com>
7895
7896         * sem_prag.adb: Minor reformatting.
7897
7898         * sem_type.adb: Minor reformatting
7899
7900 2009-04-15  Javier Miranda  <miranda@adacore.com>
7901
7902         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
7903         support to check eliminated subprograms.
7904
7905         * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
7906
7907         * sem_elim.adb (Set_Eliminated): Add support for elimination of
7908         dispatching subprograms.
7909
7910         * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
7911         operations. Initialize with "null" the slots of eliminated dispaching
7912         primitives.
7913         (Write_DT): Add output for eliminated primitives.
7914
7915         * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
7916
7917 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7918
7919         * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
7920         the second is redundant, regardless of scopes.
7921
7922 2009-04-15  Vincent Celier  <celier@adacore.com>
7923
7924         * prj-nmsc.adb (Get_Directories): Check for sources before checking
7925         the object directory as when there are no sources, they may not be any
7926         object directory.
7927
7928         * make.adb (Gnatmake): Do not attempt to get the path name of the exec
7929         directory, when there are no exec directory.
7930
7931 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7932
7933         * sem_type.adb (Remove_Conversions): In order to resolve spurious
7934         ambiguities, refine removal of universal interpretations from complex
7935         expressions with literal arguments, when some numeric operators have
7936         been declared abstract.
7937
7938 2009-04-15  Ed Falis  <falis@adacore.com>
7939
7940         * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
7941         and backward compatibility for targets using probing for stack overflow
7942
7943 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7944
7945         * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
7946         after any declaration, including renaming declarations.
7947
7948 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
7949
7950         * gcc-interface/Make-lang.in: Update dependencies.
7951
7952         * gcc-interface/Makefile.in: Fix VxWorks target pairs.
7953         Update xenomai target pairs.
7954
7955 2009-04-15  Javier Miranda  <miranda@adacore.com>
7956
7957         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
7958
7959         * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
7960         functions returning anonymous access to class-wide limited types. Mark
7961         also the containing scope as a task master.
7962
7963         * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
7964         limited-withed packages. Required to restore their visibility after
7965         processing packages associated with implicit with-clauses.
7966
7967         * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
7968         associated with return statements because this work is now done by
7969         Check_Anonymous_Return.
7970         (Build_Master): Code cleanup.
7971
7972 2009-04-15  Thomas Quinot  <quinot@adacore.com>
7973
7974         * sem_warn.ads: Minor reformatting
7975
7976 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7977
7978         * sem_ch3.adb: better error message for illegal interfaces
7979
7980         * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
7981         formal is an incomplete type from a limited_with clause.
7982
7983 2009-04-15  Vincent Celier  <celier@adacore.com>
7984
7985         * prj-nmsc.adb (Locate_Directory): New Boolean parameter
7986         Externally_Built indicating if the project is externally built. If it
7987         is, and --subdirs is specified, but the subdir does not exist, look
7988         for the specified directory, without the subdir.
7989
7990 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
7991
7992         * a-tasatt.adb: Fix typo, plus minor reformatting
7993
7994         * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
7995
7996         * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
7997
7998 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
7999
8000         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
8001         private extension whose parent is a synchronized interface carries an
8002         explicit synchronized keyword.
8003
8004 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8005
8006         * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
8007         instantiate generic shared object package with the corresponding
8008         record type.
8009
8010 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
8011
8012         * system-linux-sparc.ads: Remove obsolete entries.
8013
8014 2009-04-15  Thomas Quinot  <quinot@adacore.com>
8015
8016         * s-tasuti.ads: Add ??? comment
8017
8018 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
8019
8020         * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
8021         type even if the designated type comes from a limited_with clause, to
8022         ensure that the symbol for the finalization list of the access type is
8023         created.
8024
8025 2009-04-10  Robert Dewar  <dewar@adacore.com>
8026
8027         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
8028         for warning suppression.
8029
8030 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
8031
8032         * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
8033         identical, there is no redudancy to check.
8034
8035 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
8036
8037         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
8038         calls initializing SS_Allocator (which is initialized in following
8039         code).
8040         (Expand_Simple_Function_Return): Add comment about False value for
8041         Comes_From_Source on secondary-stack allocator.
8042
8043         * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
8044         (Build_Entry_Name): Add comment.
8045
8046 2009-04-10  Robert Dewar  <dewar@adacore.com>
8047
8048         * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
8049
8050         * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
8051         bound tested, since this is now done more generally in Sem_Res.
8052
8053         * sem_res.adb (Resolve_Comparison_Op): Add call to
8054         Check_Lower_Bound_Tested.
8055         (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
8056
8057         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
8058         (Low_Bound_Tested): New name for Low_Bound_Known flag
8059
8060         * exp_ch5.adb: Minor reformatting
8061
8062         * exp_ch4.adb:
8063         Add comments on copying the Comes_From_Source flag for allocators
8064
8065         * sinfo.ads:
8066         Add comments on copying the Comes_From_Source flag for allocators
8067
8068         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
8069         Comes_From_Source flag from old allocator to new one.
8070
8071 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
8072
8073         * sem_ch6.ads: Address missing documentation query
8074
8075 2009-04-10  Vincent Celier  <celier@adacore.com>
8076
8077         * prj-attr.adb:
8078         Add new Linker attributes Max_Command_Line_Length, Response_File_Format
8079         and Response_File_Switches.
8080
8081         * prj-nmsc.adb (Process_Linker): Process new attributes
8082         Max_Command_Line_Length, Response_File_Format and
8083         Response_File_Switches.
8084
8085         * prj.ads (Response_File_Format): New enumeration type
8086         (Project_Configuration): New componants Max_Command_Line_Length,
8087         Resp_File_Format and Resp_File_Options.
8088
8089         * snames.ads-tmpl: Add new standard names for linking response files
8090         for gprbuild: GNU, None, Object_List, Option_List,
8091         Max_Command_Line_Length, Response_File_Format and
8092         Response_File_Switches.
8093
8094 2009-04-10  Geert Bosch  <bosch@adacore.com>
8095
8096         * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
8097         system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
8098         system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
8099         system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
8100         system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
8101         system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
8102         system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
8103         system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
8104         system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
8105         system-vxworks-arm.ads, system-vxworks-m68k.ads,
8106         system-vxworks-mips.ads, system-vxworks-ppc.ads,
8107         system-vxworks-sparcv9.ads, system-vxworks-x86.ads
8108         (Backend_Overflow_Checks): Set to True.
8109
8110 2009-04-10  Thomas Quinot  <quinot@adacore.com>
8111
8112         * exp_attr.adb: Minor reformatting
8113
8114 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
8115
8116         * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
8117         analyze the expression for a postcondition, even if the compiler mode
8118         is Generate_Code.
8119
8120 2009-04-10  Robert Dewar  <dewar@adacore.com>
8121
8122         * sem_aux.adb: Minor reformatting
8123
8124 2009-04-10  Ed Falis  <falis@adacore.com>
8125
8126         * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
8127
8128         * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
8129
8130 2009-04-10  Thomas Quinot  <quinot@adacore.com>
8131
8132         * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
8133         undocumented formal.
8134         Minor reformatting
8135
8136         * a-direio.ads: Fix typo in comment
8137
8138         * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
8139         errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
8140         Use uniform phrasing for comment at start of subprogram body.
8141
8142         * xsnamest.adb: Add note to explain why we use specific names for the
8143         newly generated files instead of generating snames.{ads,adb,h} directly
8144
8145 2009-04-10  Sergey Rybin  <rybin@adacore.com>
8146
8147         * vms_data.ads:
8148         Add qualifier for new gnatstub option '--no-exception'
8149
8150         * gnat_ugn.texi:
8151         Add the description of the new gnatstub option '--no-exception'
8152
8153 2009-04-10  Robert Dewar  <dewar@adacore.com>
8154
8155         * rtsfind.adb: Minor reformatting
8156
8157 2009-04-10  Thomas Quinot  <quinot@adacore.com>
8158
8159         * sem_disp.adb: Minor reformatting.
8160         Add comment pointing to RM clause for the case of warning against a
8161         (failed) attempt at declaring a primitive operation elsewhere than in a
8162         package spec.
8163
8164 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
8165
8166         * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
8167         an actual for a previous formal package of the current instance.
8168
8169 2009-04-10  Bob Duff  <duff@adacore.com>
8170
8171         * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
8172         them first, rather than on the extended main unit.
8173
8174 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
8175
8176         * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
8177         specification of full view carries a null exclusion indicator, create
8178         an itype for it, to check for conformance with partial view.
8179
8180 2009-04-10  Bob Duff  <duff@adacore.com>
8181
8182         * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
8183
8184         * rtsfind.adb: Minor comment changes, and remove useless code.
8185
8186         * sinfo.ads: Add ??? comment.
8187
8188 2009-04-10  Vincent Celier  <celier@adacore.com>
8189
8190         * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
8191
8192 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
8193
8194         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
8195         type is a synchronized type, retrieve tag information from the
8196         corresponding record, which has the dispatch table link.
8197
8198 2009-04-10  Jerome Lambourg  <lambourg@adacore.com>
8199
8200         * g-comlin.adb (Group_Analysis): Take care of switches that might be
8201         decomposed afterwards, but are present as-is in the command line
8202         configuration, and thus should be kept as-is.
8203
8204 2009-04-10  Robert Dewar  <dewar@adacore.com>
8205
8206         * gnat_rm.texi: Document that postconditions are tested on implicit
8207         returns.
8208
8209         * sem_aux.adb: Minor reformatting
8210
8211 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
8212
8213         * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
8214         setting Etype.
8215         
8216         * par-ch3.adb (P_Access_Type_Definition): Set new attribute
8217         Null_Exclusion_In_Return_Present when an access-to-function type has a
8218         result type with an explicit not null.
8219
8220         * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
8221         given on the result type, then create a null-excluding itype for the
8222         function.
8223
8224         * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
8225         the case where a null exclusion is imposed on a named access type.
8226         (Analyze_Subprogram_Specification): Push and pop the scope of the
8227         function around the call to Analyze_Return_Type in the case of no
8228         formals, for consistency with handling when formals are present
8229         (Process_Formals does this). Ensures that any itype created for the
8230         return type will be associated with the proper scope.
8231
8232         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
8233         exclusion is given on a generic function's result type, then create a
8234         null-excluding itype for the generic function.
8235         (Instantiate_Object): Set Null_Exclusion_Present of a constant created
8236         for an actual for a formal in object according to the setting on the
8237         formal. Ensures null exclusion checks are done when the association is
8238         elaborated.
8239
8240         * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
8241         N_Access_Function_Definition.
8242
8243         * sinfo.adb: Add Get_ and Set_ operations for
8244         Null_Exclusion_In_Return_Present.
8245
8246 2009-04-10  Bob Duff  <duff@adacore.com>
8247
8248         * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
8249         call to the _Postconditions procedure in the case of implicit returns
8250         from analysis to expansion. This eliminates some duplicated code. Use
8251         the Postcondition_Proc to find the identity of this procedure during
8252         expansion.
8253
8254 2009-04-10  Robert Dewar  <dewar@adacore.com>
8255
8256         * sem_ch6.adb: Minor code clean up.
8257
8258         * einfo.ads, sem_attr.adb: Minor comment fixes.
8259
8260 2009-04-10  Robert Dewar  <dewar@adacore.com>
8261
8262         * sem_ch8.adb: Minor reformatting
8263
8264 2009-04-10  Robert Dewar  <dewar@adacore.com>
8265
8266         * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
8267         procedures.
8268
8269         * sem_ch6.adb: Minor code clean up.
8270
8271 2009-04-10  Robert Dewar  <dewar@adacore.com>
8272
8273         * mlib-tgt-specific-xi.adb: Minor reformatting
8274
8275 2009-04-10  Bob Duff  <duff@adacore.com>
8276
8277         * einfo.ads: Minor comment fixes
8278
8279 2009-04-10  Vincent Celier  <celier@adacore.com>
8280
8281         * snames.ads-tmpl: Remove names that are no longer used in the
8282         Project Manager.
8283         Mark specifically those that are used only in gprbuild
8284
8285 2009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
8286
8287         * init.c: Adjust EH support code on Alpha/Tru64.
8288
8289 2009-04-10  Bob Duff  <duff@adacore.com>
8290
8291         * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
8292         procedure on every path that could return implicitly (not via a return
8293         statement) from a procedure.
8294
8295 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
8296
8297         * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
8298         valid scope for a task declarations and therefore for a master id.
8299
8300 2009-04-10  Robert Dewar  <dewar@adacore.com>
8301
8302         * sem_aux.adb: Minor reformatting
8303
8304 2009-04-10  Vincent Celier  <celier@adacore.com>
8305
8306         * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
8307         True.
8308         (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
8309         (Set_Obsolescent_Check): New procedure to change the value of
8310         Obsolescent_Check_Flag.
8311
8312         * scn.ads (Set_Obsolescent_Check): New procedure to control
8313         Obsolescent_Check.
8314
8315         * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
8316         obsolescent features while preprocessing.
8317
8318 2009-04-10  Thomas Quinot  <quinot@adacore.com>
8319
8320         * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
8321         generated files on all platforms.
8322
8323 2009-04-10  Robert Dewar  <dewar@adacore.com>
8324
8325         * sem_aux.adb: Minor reformatting
8326
8327 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
8328
8329         * sem_ch3.adb (Access_Definition): Handle properly the case of a
8330         protected function with formals that returns an anonymous access type.
8331
8332 2009-04-10  Thomas Quinot  <quinot@adacore.com>
8333
8334         * sem_disp.adb: Minor reformatting
8335
8336 2009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
8337
8338         * seh_init.c: Do not use the 32-bit specific implementation of
8339         __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
8340         version TBD).
8341
8342 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
8343
8344         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
8345         a '/' at the end so we better use the complete target name to determine
8346         whether it is a PowerPC 55xx target.
8347
8348 2009-04-10  Thomas Quinot  <quinot@adacore.com>
8349
8350         * sem_eval.adb: Minor reformatting
8351
8352 2009-04-10  Thomas Quinot  <quinot@adacore.com>
8353
8354         * snames.h, snames.ads, snames.adb: Remove files, now generated from
8355         templates.
8356
8357         * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
8358         above.
8359
8360         * xsnamest.adb: New file.
8361
8362         * gcc-interface/Make-lang.in: New target for automated generation of
8363         snames.ads, snames.adb and snames.h
8364
8365 2009-04-10  Tristan Gingold  <gingold@adacore.com>
8366
8367         * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
8368         avoid compile time warnings.
8369         Do not add gcc/config in include search list while compiling the RTS.
8370         Pragma Thread_Local_Storage is available on any target.
8371
8372 2009-04-10  Bob Duff  <duff@adacore.com>
8373
8374         * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
8375
8376 2009-04-10  Tristan Gingold  <gingold@adacore.com>
8377
8378         * init.c: Install signal handler on Darwin.
8379
8380 2009-04-10  Robert Dewar  <dewar@adacore.com>
8381
8382         * sem_prag.adb: Minor reformatting
8383
8384         * exp_util.adb (Make_Non_Empty_Check): New function
8385         (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
8386         (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
8387
8388 2009-04-10  Arnaud Charlet  <charlet@adacore.com>
8389
8390         * make.adb, gnatlink.adb: Rename JGNAT toolchain.
8391
8392 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
8393
8394         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
8395         tool prefix for AVR and PowerPC 55xx targets.
8396
8397 2009-04-10  Robert Dewar  <dewar@adacore.com>
8398
8399         * sem_warn.adb (Within_Postcondition): New function
8400         (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
8401
8402 2009-04-10  Robert Dewar  <dewar@adacore.com>
8403
8404         * sem_warn.adb: Minor reformatting
8405
8406         * make.adb: Minor reformatting.
8407
8408 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
8409
8410         * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
8411         entity and the scope is a subprogram, retrieve the Sloc of the
8412         subprogram's body rather than using the sloc of the spec, for better
8413         line-stepping behavior in gdb.
8414         (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
8415         controller, use the Sloc of the first declaration of the containing list
8416         rather than that of the node that triggered creation of the list
8417         controller.
8418
8419 2009-04-10  Vincent Celier  <celier@adacore.com>
8420
8421         * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
8422         to avoid gcc warning.
8423
8424 2009-04-10  Robert Dewar  <dewar@adacore.com>
8425
8426         * g-comlin.adb: Add ??? comment
8427
8428 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
8429
8430         * sem_warn.adb (Check_Unused_Withs): Do not emit message about
8431         unreferenced entities for a package with no visible declarations.
8432
8433 2009-04-10  Robert Dewar  <dewar@adacore.com>
8434
8435         * exp_ch9.adb: Minor reformatting
8436
8437 2009-04-10  Thomas Quinot  <quinot@adacore.com>
8438
8439         * sem_prag.adb: Minor reformatting
8440
8441 2009-04-10  Vincent Celier  <celier@adacore.com>
8442
8443         * prj-nmsc.adb:
8444         (Check_Library_Attributes): For a project qualified as a library project
8445         that is not a library project, indicate in the error message which
8446         attributes are missing (Library_Dir and/or Library_Name).
8447
8448 2009-04-10  Bob Duff  <duff@adacore.com>
8449
8450         * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
8451         generated nodes, because it might confuse various circuits in the FE.
8452
8453 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
8454
8455         * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
8456         of pragma. It will be recopied and analyzed when used in call to
8457         Create_Task.
8458
8459         * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
8460         initialization operations and recognize use of it in procedure calls
8461         within init_procs.
8462
8463         * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
8464         argument, because it may have side-effects.
8465
8466         * exp_ch2.adb: Remove obsolete comments on default functions
8467
8468 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
8469
8470         * adaint.c (RTX section): Do for RTX the same thing as we do for
8471         Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
8472
8473 2009-04-10  Robert Dewar  <dewar@adacore.com>
8474
8475         * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
8476
8477         * sem_res.adb (Resolve_Call): Fix test for
8478         Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
8479         a non-dynamic scope).
8480
8481 2009-04-10  Robert Dewar  <dewar@adacore.com>
8482
8483         * make.adb: Add comment.
8484         Minor reformatting
8485
8486 2009-04-10  Nicolas Setton  <setton@adacore.com>
8487
8488         * s-osprim-darwin.adb: New file.
8489
8490         * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
8491
8492 2009-04-10  Thomas Quinot  <quinot@adacore.com>
8493
8494         * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
8495
8496 2009-04-09  Nick Clifton  <nickc@redhat.com>
8497
8498         * adadecode.h: Change copyright header to refer to version
8499         3 of the GNU General Public License with version 3.1 of the
8500         GCC Runtime Library Exception and to point readers at the
8501         COPYING3 and COPYING3.RUNTIME files and the FSF's license web
8502         page.
8503         * 9drpc.adb: Likewise.
8504         * a-assert.adb: Likewise.
8505         * a-astaco.adb: Likewise.
8506         * a-calari.adb: Likewise.
8507         * a-calcon.adb: Likewise.
8508         * a-calcon.ads: Likewise.
8509         * a-caldel.ads: Likewise.
8510         * a-calend-vms.adb: Likewise.
8511         * a-calend-vms.ads: Likewise.
8512         * a-calend.adb: Likewise.
8513         * a-calend.ads: Likewise.
8514         * a-calfor.adb: Likewise.
8515         * a-catizo.adb: Likewise.
8516         * a-cdlili.adb: Likewise.
8517         * a-cdlili.ads: Likewise.
8518         * a-cgaaso.adb: Likewise.
8519         * a-cgaaso.ads: Likewise.
8520         * a-cgarso.adb: Likewise.
8521         * a-cgcaso.adb: Likewise.
8522         * a-chacon.adb: Likewise.
8523         * a-chacon.ads: Likewise.
8524         * a-chahan.adb: Likewise.
8525         * a-chahan.ads: Likewise.
8526         * a-chlat9.ads: Likewise.
8527         * a-chtgke.adb: Likewise.
8528         * a-chtgke.ads: Likewise.
8529         * a-chtgop.adb: Likewise.
8530         * a-chtgop.ads: Likewise.
8531         * a-chzla1.ads: Likewise.
8532         * a-chzla9.ads: Likewise.
8533         * a-cidlli.adb: Likewise.
8534         * a-cidlli.ads: Likewise.
8535         * a-cihama.adb: Likewise.
8536         * a-cihama.ads: Likewise.
8537         * a-cihase.adb: Likewise.
8538         * a-cihase.ads: Likewise.
8539         * a-ciorma.adb: Likewise.
8540         * a-ciorma.ads: Likewise.
8541         * a-ciormu.adb: Likewise.
8542         * a-ciormu.ads: Likewise.
8543         * a-ciorse.adb: Likewise.
8544         * a-ciorse.ads: Likewise.
8545         * a-clrefi.adb: Likewise.
8546         * a-clrefi.ads: Likewise.
8547         * a-cohama.adb: Likewise.
8548         * a-cohama.ads: Likewise.
8549         * a-cohase.adb: Likewise.
8550         * a-cohase.ads: Likewise.
8551         * a-cohata.ads: Likewise.
8552         * a-coinve.adb: Likewise.
8553         * a-coinve.ads: Likewise.
8554         * a-colien.adb: Likewise.
8555         * a-colien.ads: Likewise.
8556         * a-colire.adb: Likewise.
8557         * a-colire.ads: Likewise.
8558         * a-comlin.adb: Likewise.
8559         * a-comlin.ads: Likewise.
8560         * a-convec.adb: Likewise.
8561         * a-convec.ads: Likewise.
8562         * a-coorma.adb: Likewise.
8563         * a-coorma.ads: Likewise.
8564         * a-coormu.adb: Likewise.
8565         * a-coormu.ads: Likewise.
8566         * a-coorse.adb: Likewise.
8567         * a-coorse.ads: Likewise.
8568         * a-coprnu.adb: Likewise.
8569         * a-coprnu.ads: Likewise.
8570         * a-crbltr.ads: Likewise.
8571         * a-crbtgk.adb: Likewise.
8572         * a-crbtgk.ads: Likewise.
8573         * a-crbtgo.adb: Likewise.
8574         * a-crbtgo.ads: Likewise.
8575         * a-crdlli.adb: Likewise.
8576         * a-crdlli.ads: Likewise.
8577         * a-cwila1.ads: Likewise.
8578         * a-cwila9.ads: Likewise.
8579         * a-decima.adb: Likewise.
8580         * a-decima.ads: Likewise.
8581         * a-diocst.adb: Likewise.
8582         * a-diocst.ads: Likewise.
8583         * a-direct.adb: Likewise.
8584         * a-direct.ads: Likewise.
8585         * a-direio.adb: Likewise.
8586         * a-direio.ads: Likewise.
8587         * a-dirval-mingw.adb: Likewise.
8588         * a-dirval-vms.adb: Likewise.
8589         * a-dirval.adb: Likewise.
8590         * a-dirval.ads: Likewise.
8591         * a-dynpri.adb: Likewise.
8592         * a-einuoc.adb: Likewise.
8593         * a-einuoc.ads: Likewise.
8594         * a-elchha.adb: Likewise.
8595         * a-elchha.ads: Likewise.
8596         * a-envvar.adb: Likewise.
8597         * a-excach.adb: Likewise.
8598         * a-except-2005.adb: Likewise.
8599         * a-except-2005.ads: Likewise.
8600         * a-except.adb: Likewise.
8601         * a-except.ads: Likewise.
8602         * a-excpol-abort.adb: Likewise.
8603         * a-excpol.adb: Likewise.
8604         * a-exctra.adb: Likewise.
8605         * a-exctra.ads: Likewise.
8606         * a-exetim-mingw.adb: Likewise.
8607         * a-exetim-mingw.ads: Likewise.
8608         * a-exexda.adb: Likewise.
8609         * a-exexpr-gcc.adb: Likewise.
8610         * a-exexpr.adb: Likewise.
8611         * a-exextr.adb: Likewise.
8612         * a-exstat.adb: Likewise.
8613         * a-filico.adb: Likewise.
8614         * a-filico.ads: Likewise.
8615         * a-finali.adb: Likewise.
8616         * a-finali.ads: Likewise.
8617         * a-interr.ads: Likewise.
8618         * a-intnam-aix.ads: Likewise.
8619         * a-intnam-darwin.ads: Likewise.
8620         * a-intnam-dummy.ads: Likewise.
8621         * a-intnam-freebsd.ads: Likewise.
8622         * a-intnam-hpux.ads: Likewise.
8623         * a-intnam-irix.ads: Likewise.
8624         * a-intnam-linux.ads: Likewise.
8625         * a-intnam-lynxos.ads: Likewise.
8626         * a-intnam-mingw.ads: Likewise.
8627         * a-intnam-rtems.ads: Likewise.
8628         * a-intnam-solaris.ads: Likewise.
8629         * a-intnam-tru64.ads: Likewise.
8630         * a-intnam-vms.ads: Likewise.
8631         * a-intnam-vxworks.ads: Likewise.
8632         * a-intsig.adb: Likewise.
8633         * a-intsig.ads: Likewise.
8634         * a-ngcefu.adb: Likewise.
8635         * a-ngcoar.adb: Likewise.
8636         * a-ngcoty.adb: Likewise.
8637         * a-ngcoty.ads: Likewise.
8638         * a-ngelfu.adb: Likewise.
8639         * a-ngrear.adb: Likewise.
8640         * a-ngrear.ads: Likewise.
8641         * a-nudira.adb: Likewise.
8642         * a-nudira.ads: Likewise.
8643         * a-nuflra.adb: Likewise.
8644         * a-nuflra.ads: Likewise.
8645         * a-numaux-darwin.adb: Likewise.
8646         * a-numaux-darwin.ads: Likewise.
8647         * a-numaux-libc-x86.ads: Likewise.
8648         * a-numaux-vxworks.ads: Likewise.
8649         * a-numaux-x86.adb: Likewise.
8650         * a-numaux-x86.ads: Likewise.
8651         * a-numaux.ads: Likewise.
8652         * a-rbtgso.adb: Likewise.
8653         * a-rbtgso.ads: Likewise.
8654         * a-reatim.ads: Likewise.
8655         * a-retide.adb: Likewise.
8656         * a-retide.ads: Likewise.
8657         * a-rttiev.adb: Likewise.
8658         * a-rttiev.ads: Likewise.
8659         * a-secain.adb: Likewise.
8660         * a-secain.ads: Likewise.
8661         * a-sequio.adb: Likewise.
8662         * a-sequio.ads: Likewise.
8663         * a-shcain.adb: Likewise.
8664         * a-shcain.ads: Likewise.
8665         * a-siocst.adb: Likewise.
8666         * a-siocst.ads: Likewise.
8667         * a-slcain.adb: Likewise.
8668         * a-slcain.ads: Likewise.
8669         * a-ssicst.adb: Likewise.
8670         * a-ssicst.ads: Likewise.
8671         * a-stboha.adb: Likewise.
8672         * a-stmaco.ads: Likewise.
8673         * a-storio.adb: Likewise.
8674         * a-strbou.adb: Likewise.
8675         * a-strbou.ads: Likewise.
8676         * a-stream.ads: Likewise.
8677         * a-strfix.adb: Likewise.
8678         * a-strhas.adb: Likewise.
8679         * a-strmap.adb: Likewise.
8680         * a-strmap.ads: Likewise.
8681         * a-strsea.adb: Likewise.
8682         * a-strsea.ads: Likewise.
8683         * a-strsup.adb: Likewise.
8684         * a-strsup.ads: Likewise.
8685         * a-strunb.adb: Likewise.
8686         * a-strunb.ads: Likewise.
8687         * a-ststio.adb: Likewise.
8688         * a-ststio.ads: Likewise.
8689         * a-stunau.adb: Likewise.
8690         * a-stunau.ads: Likewise.
8691         * a-stunha.adb: Likewise.
8692         * a-stwibo.adb: Likewise.
8693         * a-stwibo.ads: Likewise.
8694         * a-stwifi.adb: Likewise.
8695         * a-stwiha.adb: Likewise.
8696         * a-stwima.adb: Likewise.
8697         * a-stwima.ads: Likewise.
8698         * a-stwise.adb: Likewise.
8699         * a-stwise.ads: Likewise.
8700         * a-stwisu.adb: Likewise.
8701         * a-stwisu.ads: Likewise.
8702         * a-stwiun.adb: Likewise.
8703         * a-stwiun.ads: Likewise.
8704         * a-stzbou.adb: Likewise.
8705         * a-stzbou.ads: Likewise.
8706         * a-stzfix.adb: Likewise.
8707         * a-stzhas.adb: Likewise.
8708         * a-stzmap.adb: Likewise.
8709         * a-stzmap.ads: Likewise.
8710         * a-stzsea.adb: Likewise.
8711         * a-stzsea.ads: Likewise.
8712         * a-stzsup.adb: Likewise.
8713         * a-stzsup.ads: Likewise.
8714         * a-stzunb.adb: Likewise.
8715         * a-stzunb.ads: Likewise.
8716         * a-suteio.adb: Likewise.
8717         * a-suteio.ads: Likewise.
8718         * a-swbwha.adb: Likewise.
8719         * a-swmwco.ads: Likewise.
8720         * a-swunau.adb: Likewise.
8721         * a-swunau.ads: Likewise.
8722         * a-swuwha.adb: Likewise.
8723         * a-swuwti.adb: Likewise.
8724         * a-swuwti.ads: Likewise.
8725         * a-sytaco.adb: Likewise.
8726         * a-sytaco.ads: Likewise.
8727         * a-szbzha.adb: Likewise.
8728         * a-szmzco.ads: Likewise.
8729         * a-szunau.adb: Likewise.
8730         * a-szunau.ads: Likewise.
8731         * a-szuzha.adb: Likewise.
8732         * a-szuzti.adb: Likewise.
8733         * a-szuzti.ads: Likewise.
8734         * a-tags.adb: Likewise.
8735         * a-tags.ads: Likewise.
8736         * a-tasatt.ads: Likewise.
8737         * a-taside.adb: Likewise.
8738         * a-taside.ads: Likewise.
8739         * a-taster.adb: Likewise.
8740         * a-teioed.adb: Likewise.
8741         * a-teioed.ads: Likewise.
8742         * a-textio.adb: Likewise.
8743         * a-textio.ads: Likewise.
8744         * a-tiboio.adb: Likewise.
8745         * a-ticoau.adb: Likewise.
8746         * a-ticoau.ads: Likewise.
8747         * a-ticoio.adb: Likewise.
8748         * a-ticoio.ads: Likewise.
8749         * a-tideau.adb: Likewise.
8750         * a-tideau.ads: Likewise.
8751         * a-tideio.adb: Likewise.
8752         * a-tideio.ads: Likewise.
8753         * a-tienau.adb: Likewise.
8754         * a-tienau.ads: Likewise.
8755         * a-tienio.adb: Likewise.
8756         * a-tienio.ads: Likewise.
8757         * a-tifiio.adb: Likewise.
8758         * a-tifiio.ads: Likewise.
8759         * a-tiflau.adb: Likewise.
8760         * a-tiflau.ads: Likewise.
8761         * a-tiflio.adb: Likewise.
8762         * a-tiflio.ads: Likewise.
8763         * a-tigeau.adb: Likewise.
8764         * a-tigeau.ads: Likewise.
8765         * a-tiinau.adb: Likewise.
8766         * a-tiinau.ads: Likewise.
8767         * a-tiinio.adb: Likewise.
8768         * a-tiinio.ads: Likewise.
8769         * a-timoau.adb: Likewise.
8770         * a-timoau.ads: Likewise.
8771         * a-timoio.adb: Likewise.
8772         * a-timoio.ads: Likewise.
8773         * a-tiocst.adb: Likewise.
8774         * a-tiocst.ads: Likewise.
8775         * a-titest.adb: Likewise.
8776         * a-wichun.adb: Likewise.
8777         * a-wichun.ads: Likewise.
8778         * a-witeio.adb: Likewise.
8779         * a-witeio.ads: Likewise.
8780         * a-wtcoau.adb: Likewise.
8781         * a-wtcoau.ads: Likewise.
8782         * a-wtcoio.adb: Likewise.
8783         * a-wtcstr.adb: Likewise.
8784         * a-wtcstr.ads: Likewise.
8785         * a-wtdeau.adb: Likewise.
8786         * a-wtdeau.ads: Likewise.
8787         * a-wtdeio.adb: Likewise.
8788         * a-wtdeio.ads: Likewise.
8789         * a-wtedit.adb: Likewise.
8790         * a-wtedit.ads: Likewise.
8791         * a-wtenau.adb: Likewise.
8792         * a-wtenau.ads: Likewise.
8793         * a-wtenio.adb: Likewise.
8794         * a-wtenio.ads: Likewise.
8795         * a-wtfiio.adb: Likewise.
8796         * a-wtfiio.ads: Likewise.
8797         * a-wtflau.adb: Likewise.
8798         * a-wtflau.ads: Likewise.
8799         * a-wtflio.adb: Likewise.
8800         * a-wtflio.ads: Likewise.
8801         * a-wtgeau.adb: Likewise.
8802         * a-wtgeau.ads: Likewise.
8803         * a-wtinau.adb: Likewise.
8804         * a-wtinau.ads: Likewise.
8805         * a-wtinio.adb: Likewise.
8806         * a-wtmoau.adb: Likewise.
8807         * a-wtmoau.ads: Likewise.
8808         * a-wtmoio.adb: Likewise.
8809         * a-wtmoio.ads: Likewise.
8810         * a-wttest.adb: Likewise.
8811         * a-wwboio.adb: Likewise.
8812         * a-zchuni.adb: Likewise.
8813         * a-zchuni.ads: Likewise.
8814         * a-ztcoau.adb: Likewise.
8815         * a-ztcoau.ads: Likewise.
8816         * a-ztcoio.adb: Likewise.
8817         * a-ztcstr.adb: Likewise.
8818         * a-ztcstr.ads: Likewise.
8819         * a-ztdeau.adb: Likewise.
8820         * a-ztdeau.ads: Likewise.
8821         * a-ztdeio.adb: Likewise.
8822         * a-ztdeio.ads: Likewise.
8823         * a-ztedit.adb: Likewise.
8824         * a-ztedit.ads: Likewise.
8825         * a-ztenau.adb: Likewise.
8826         * a-ztenau.ads: Likewise.
8827         * a-ztenio.adb: Likewise.
8828         * a-ztenio.ads: Likewise.
8829         * a-ztexio.adb: Likewise.
8830         * a-ztexio.ads: Likewise.
8831         * a-ztfiio.adb: Likewise.
8832         * a-ztfiio.ads: Likewise.
8833         * a-ztflau.adb: Likewise.
8834         * a-ztflau.ads: Likewise.
8835         * a-ztflio.adb: Likewise.
8836         * a-ztflio.ads: Likewise.
8837         * a-ztgeau.adb: Likewise.
8838         * a-ztgeau.ads: Likewise.
8839         * a-ztinau.adb: Likewise.
8840         * a-ztinau.ads: Likewise.
8841         * a-ztinio.adb: Likewise.
8842         * a-ztmoau.adb: Likewise.
8843         * a-ztmoau.ads: Likewise.
8844         * a-ztmoio.adb: Likewise.
8845         * a-ztmoio.ads: Likewise.
8846         * a-zttest.adb: Likewise.
8847         * a-zzboio.adb: Likewise.
8848         * adadecode.c: Likewise.
8849         * adaint.c: Likewise.
8850         * adaint.h: Likewise.
8851         * alloc.ads: Likewise.
8852         * argv.c: Likewise.
8853         * arit64.c: Likewise.
8854         * atree.adb: Likewise.
8855         * atree.ads: Likewise.
8856         * aux-io.c: Likewise.
8857         * cal.c: Likewise.
8858         * casing.adb: Likewise.
8859         * casing.ads: Likewise.
8860         * cio.c: Likewise.
8861         * csets.adb: Likewise.
8862         * csets.ads: Likewise.
8863         * cstreams.c: Likewise.
8864         * ctrl_c.c: Likewise.
8865         * debug.adb: Likewise.
8866         * debug.ads: Likewise.
8867         * dec.ads: Likewise.
8868         * einfo.adb: Likewise.
8869         * einfo.ads: Likewise.
8870         * elists.adb: Likewise.
8871         * elists.ads: Likewise.
8872         * env.c: Likewise.
8873         * env.h: Likewise.
8874         * errno.c: Likewise.
8875         * exit.c: Likewise.
8876         * fe.h: Likewise.
8877         * final.c: Likewise.
8878         * fname.adb: Likewise.
8879         * fname.ads: Likewise.
8880         * g-allein.ads: Likewise.
8881         * g-alleve.adb: Likewise.
8882         * g-alleve.ads: Likewise.
8883         * g-altcon.adb: Likewise.
8884         * g-altcon.ads: Likewise.
8885         * g-altive.ads: Likewise.
8886         * g-alveop.adb: Likewise.
8887         * g-alveop.ads: Likewise.
8888         * g-alvety.ads: Likewise.
8889         * g-alvevi.ads: Likewise.
8890         * g-arrspl.adb: Likewise.
8891         * g-arrspl.ads: Likewise.
8892         * g-calend.ads: Likewise.
8893         * g-comlin.adb: Likewise.
8894         * g-debpoo.adb: Likewise.
8895         * g-debpoo.ads: Likewise.
8896         * g-eacodu-vms.adb: Likewise.
8897         * g-eacodu.adb: Likewise.
8898         * g-excact.adb: Likewise.
8899         * g-excact.ads: Likewise.
8900         * g-locfil.adb: Likewise.
8901         * g-os_lib.ads: Likewise.
8902         * g-rannum.adb: Likewise.
8903         * g-rannum.ads: Likewise.
8904         * g-regist.adb: Likewise.
8905         * g-regist.ads: Likewise.
8906         * g-signal.adb: Likewise.
8907         * g-signal.ads: Likewise.
8908         * g-soccon.ads: Likewise.
8909         * g-string.adb: Likewise.
8910         * g-string.ads: Likewise.
8911         * g-strspl.ads: Likewise.
8912         * g-timsta.adb: Likewise.
8913         * g-timsta.ads: Likewise.
8914         * g-trasym-vms-alpha.adb: Likewise.
8915         * g-trasym-vms-ia64.adb: Likewise.
8916         * g-utf_32.adb: Likewise.
8917         * g-utf_32.ads: Likewise.
8918         * g-wistsp.ads: Likewise.
8919         * g-zstspl.ads: Likewise.
8920         * gmem.c: Likewise.
8921         * gnatvsn.adb: Likewise.
8922         * gnatvsn.ads: Likewise.
8923         * gsocket.h: Likewise.
8924         * hostparm.ads: Likewise.
8925         * i-c.adb: Likewise.
8926         * i-cexten.ads: Likewise.
8927         * i-cobol.adb: Likewise.
8928         * i-cobol.ads: Likewise.
8929         * i-cpoint.adb: Likewise.
8930         * i-cpoint.ads: Likewise.
8931         * i-cpp.adb: Likewise.
8932         * i-cpp.ads: Likewise.
8933         * i-cstrea-vms.adb: Likewise.
8934         * i-cstrea.adb: Likewise.
8935         * i-cstrea.ads: Likewise.
8936         * i-cstrin.adb: Likewise.
8937         * i-cstrin.ads: Likewise.
8938         * i-forbla-darwin.adb: Likewise.
8939         * i-forbla-unimplemented.ads: Likewise.
8940         * i-forbla.adb: Likewise.
8941         * i-forbla.ads: Likewise.
8942         * i-forlap.ads: Likewise.
8943         * i-fortra.adb: Likewise.
8944         * i-pacdec.adb: Likewise.
8945         * i-pacdec.ads: Likewise.
8946         * i-vxwoio.adb: Likewise.
8947         * i-vxwoio.ads: Likewise.
8948         * indepsw-aix.adb: Likewise.
8949         * indepsw-gnu.adb: Likewise.
8950         * indepsw-mingw.adb: Likewise.
8951         * indepsw.adb: Likewise.
8952         * indepsw.ads: Likewise.
8953         * init.c: Likewise.
8954         * initialize.c: Likewise.
8955         * interfac.ads: Likewise.
8956         * krunch.adb: Likewise.
8957         * krunch.ads: Likewise.
8958         * lib-list.adb: Likewise.
8959         * lib-sort.adb: Likewise.
8960         * lib.adb: Likewise.
8961         * lib.ads: Likewise.
8962         * link.c: Likewise.
8963         * math_lib.adb: Likewise.
8964         * memtrack.adb: Likewise.
8965         * mingw32.h: Likewise.
8966         * mkdir.c: Likewise.
8967         * namet-sp.adb: Likewise.
8968         * namet-sp.ads: Likewise.
8969         * namet.adb: Likewise.
8970         * namet.ads: Likewise.
8971         * nlists.adb: Likewise.
8972         * nlists.ads: Likewise.
8973         * opt.adb: Likewise.
8974         * opt.ads: Likewise.
8975         * output.adb: Likewise.
8976         * output.ads: Likewise.
8977         * raise-gcc.c: Likewise.
8978         * raise.c: Likewise.
8979         * raise.h: Likewise.
8980         * repinfo.adb: Likewise.
8981         * repinfo.ads: Likewise.
8982         * repinfo.h: Likewise.
8983         * rident.ads: Likewise.
8984         * s-addima.adb: Likewise.
8985         * s-addima.ads: Likewise.
8986         * s-addope.adb: Likewise.
8987         * s-addope.ads: Likewise.
8988         * s-arit64.adb: Likewise.
8989         * s-arit64.ads: Likewise.
8990         * s-assert.adb: Likewise.
8991         * s-assert.ads: Likewise.
8992         * s-asthan-vms-alpha.adb: Likewise.
8993         * s-asthan.adb: Likewise.
8994         * s-asthan.ads: Likewise.
8995         * s-atacco.adb: Likewise.
8996         * s-atacco.ads: Likewise.
8997         * s-auxdec-empty.adb: Likewise.
8998         * s-auxdec-empty.ads: Likewise.
8999         * s-auxdec-vms_64.ads: Likewise.
9000         * s-auxdec.adb: Likewise.
9001         * s-auxdec.ads: Likewise.
9002         * s-bitops.adb: Likewise.
9003         * s-bitops.ads: Likewise.
9004         * s-boarop.ads: Likewise.
9005         * s-carsi8.adb: Likewise.
9006         * s-carsi8.ads: Likewise.
9007         * s-carun8.adb: Likewise.
9008         * s-carun8.ads: Likewise.
9009         * s-casi16.adb: Likewise.
9010         * s-casi16.ads: Likewise.
9011         * s-casi32.adb: Likewise.
9012         * s-casi32.ads: Likewise.
9013         * s-casi64.adb: Likewise.
9014         * s-casi64.ads: Likewise.
9015         * s-casuti.ads: Likewise.
9016         * s-caun16.adb: Likewise.
9017         * s-caun16.ads: Likewise.
9018         * s-caun32.adb: Likewise.
9019         * s-caun32.ads: Likewise.
9020         * s-caun64.adb: Likewise.
9021         * s-caun64.ads: Likewise.
9022         * s-chepoo.ads: Likewise.
9023         * s-crc32.adb: Likewise.
9024         * s-crc32.ads: Likewise.
9025         * s-crtl.ads: Likewise.
9026         * s-direio.adb: Likewise.
9027         * s-direio.ads: Likewise.
9028         * s-dsaser.ads: Likewise.
9029         * s-except.adb: Likewise.
9030         * s-except.ads: Likewise.
9031         * s-exctab.adb: Likewise.
9032         * s-exctab.ads: Likewise.
9033         * s-exnint.adb: Likewise.
9034         * s-exnint.ads: Likewise.
9035         * s-exnllf.adb: Likewise.
9036         * s-exnllf.ads: Likewise.
9037         * s-exnlli.adb: Likewise.
9038         * s-exnlli.ads: Likewise.
9039         * s-expint.adb: Likewise.
9040         * s-expint.ads: Likewise.
9041         * s-explli.adb: Likewise.
9042         * s-explli.ads: Likewise.
9043         * s-expllu.adb: Likewise.
9044         * s-expllu.ads: Likewise.
9045         * s-expmod.adb: Likewise.
9046         * s-expmod.ads: Likewise.
9047         * s-expuns.adb: Likewise.
9048         * s-expuns.ads: Likewise.
9049         * s-fatflt.ads: Likewise.
9050         * s-fatgen.adb: Likewise.
9051         * s-fatgen.ads: Likewise.
9052         * s-fatlfl.ads: Likewise.
9053         * s-fatllf.ads: Likewise.
9054         * s-fatsfl.ads: Likewise.
9055         * s-ficobl.ads: Likewise.
9056         * s-fileio.adb: Likewise.
9057         * s-fileio.ads: Likewise.
9058         * s-filofl.ads: Likewise.
9059         * s-finimp.adb: Likewise.
9060         * s-finimp.ads: Likewise.
9061         * s-finroo.adb: Likewise.
9062         * s-finroo.ads: Likewise.
9063         * s-fishfl.ads: Likewise.
9064         * s-fore.adb: Likewise.
9065         * s-fore.ads: Likewise.
9066         * s-fvadfl.ads: Likewise.
9067         * s-fvaffl.ads: Likewise.
9068         * s-fvagfl.ads: Likewise.
9069         * s-gearop.adb: Likewise.
9070         * s-gearop.ads: Likewise.
9071         * s-gecobl.adb: Likewise.
9072         * s-gecobl.ads: Likewise.
9073         * s-gecola.adb: Likewise.
9074         * s-gecola.ads: Likewise.
9075         * s-gerebl.adb: Likewise.
9076         * s-gerebl.ads: Likewise.
9077         * s-gerela.adb: Likewise.
9078         * s-gerela.ads: Likewise.
9079         * s-geveop.adb: Likewise.
9080         * s-geveop.ads: Likewise.
9081         * s-gloloc.adb: Likewise.
9082         * s-gloloc.ads: Likewise.
9083         * s-hibaen.ads: Likewise.
9084         * s-imenne.adb: Likewise.
9085         * s-imenne.ads: Likewise.
9086         * s-imgbiu.adb: Likewise.
9087         * s-imgbiu.ads: Likewise.
9088         * s-imgboo.adb: Likewise.
9089         * s-imgboo.ads: Likewise.
9090         * s-imgcha.adb: Likewise.
9091         * s-imgcha.ads: Likewise.
9092         * s-imgdec.adb: Likewise.
9093         * s-imgdec.ads: Likewise.
9094         * s-imgenu.adb: Likewise.
9095         * s-imgenu.ads: Likewise.
9096         * s-imgint.adb: Likewise.
9097         * s-imgint.ads: Likewise.
9098         * s-imgllb.adb: Likewise.
9099         * s-imgllb.ads: Likewise.
9100         * s-imglld.adb: Likewise.
9101         * s-imglld.ads: Likewise.
9102         * s-imglli.adb: Likewise.
9103         * s-imglli.ads: Likewise.
9104         * s-imgllu.adb: Likewise.
9105         * s-imgllu.ads: Likewise.
9106         * s-imgllw.adb: Likewise.
9107         * s-imgllw.ads: Likewise.
9108         * s-imgrea.adb: Likewise.
9109         * s-imgrea.ads: Likewise.
9110         * s-imguns.adb: Likewise.
9111         * s-imguns.ads: Likewise.
9112         * s-imgwch.adb: Likewise.
9113         * s-imgwch.ads: Likewise.
9114         * s-imgwiu.adb: Likewise.
9115         * s-imgwiu.ads: Likewise.
9116         * s-inmaop-dummy.adb: Likewise.
9117         * s-inmaop-vms.adb: Likewise.
9118         * s-inmaop.ads: Likewise.
9119         * s-interr-hwint.adb: Likewise.
9120         * s-interr-sigaction.adb: Likewise.
9121         * s-interr-vms.adb: Likewise.
9122         * s-interr.adb: Likewise.
9123         * s-interr.ads: Likewise.
9124         * s-intman-dummy.adb: Likewise.
9125         * s-intman-mingw.adb: Likewise.
9126         * s-intman-posix.adb: Likewise.
9127         * s-intman-solaris.adb: Likewise.
9128         * s-intman-vms.adb: Likewise.
9129         * s-intman-vms.ads: Likewise.
9130         * s-intman-vxworks.adb: Likewise.
9131         * s-intman-vxworks.ads: Likewise.
9132         * s-intman.ads: Likewise.
9133         * s-io.adb: Likewise.
9134         * s-io.ads: Likewise.
9135         * s-linux-alpha.ads: Likewise.
9136         * s-linux-hppa.ads: Likewise.
9137         * s-linux.ads: Likewise.
9138         * s-maccod.ads: Likewise.
9139         * s-mantis.adb: Likewise.
9140         * s-mantis.ads: Likewise.
9141         * s-mastop-irix.adb: Likewise.
9142         * s-mastop.adb: Likewise.
9143         * s-mastop.ads: Likewise.
9144         * s-memcop.ads: Likewise.
9145         * s-memory-mingw.adb: Likewise.
9146         * s-memory.adb: Likewise.
9147         * s-memory.ads: Likewise.
9148         * s-os_lib.ads: Likewise.
9149         * s-oscons-tmplt.c: Likewise.
9150         * s-osinte-aix.adb: Likewise.
9151         * s-osinte-darwin.adb: Likewise.
9152         * s-osinte-freebsd.adb: Likewise.
9153         * s-osinte-irix.adb: Likewise.
9154         * s-osinte-lynxos-3.adb: Likewise.
9155         * s-osinte-rtems.ads: Likewise.
9156         * s-osinte-tru64.adb: Likewise.
9157         * s-osinte-vxworks-kernel.adb: Likewise.
9158         * s-osinte-vxworks.adb: Likewise.
9159         * s-osprim-mingw.adb: Likewise.
9160         * s-osprim-posix.adb: Likewise.
9161         * s-osprim-solaris.adb: Likewise.
9162         * s-osprim-unix.adb: Likewise.
9163         * s-osprim-vms.adb: Likewise.
9164         * s-osprim-vms.ads: Likewise.
9165         * s-osprim-vxworks.adb: Likewise.
9166         * s-osprim.ads: Likewise.
9167         * s-pack03.adb: Likewise.
9168         * s-pack03.ads: Likewise.
9169         * s-pack05.adb: Likewise.
9170         * s-pack05.ads: Likewise.
9171         * s-pack06.adb: Likewise.
9172         * s-pack06.ads: Likewise.
9173         * s-pack07.adb: Likewise.
9174         * s-pack07.ads: Likewise.
9175         * s-pack09.adb: Likewise.
9176         * s-pack09.ads: Likewise.
9177         * s-pack10.adb: Likewise.
9178         * s-pack10.ads: Likewise.
9179         * s-pack11.adb: Likewise.
9180         * s-pack11.ads: Likewise.
9181         * s-pack12.adb: Likewise.
9182         * s-pack12.ads: Likewise.
9183         * s-pack13.adb: Likewise.
9184         * s-pack13.ads: Likewise.
9185         * s-pack14.adb: Likewise.
9186         * s-pack14.ads: Likewise.
9187         * s-pack15.adb: Likewise.
9188         * s-pack15.ads: Likewise.
9189         * s-pack17.adb: Likewise.
9190         * s-pack17.ads: Likewise.
9191         * s-pack18.adb: Likewise.
9192         * s-pack18.ads: Likewise.
9193         * s-pack19.adb: Likewise.
9194         * s-pack19.ads: Likewise.
9195         * s-pack20.adb: Likewise.
9196         * s-pack20.ads: Likewise.
9197         * s-pack21.adb: Likewise.
9198         * s-pack21.ads: Likewise.
9199         * s-pack22.adb: Likewise.
9200         * s-pack22.ads: Likewise.
9201         * s-pack23.adb: Likewise.
9202         * s-pack23.ads: Likewise.
9203         * s-pack24.adb: Likewise.
9204         * s-pack24.ads: Likewise.
9205         * s-pack25.adb: Likewise.
9206         * s-pack25.ads: Likewise.
9207         * s-pack26.adb: Likewise.
9208         * s-pack26.ads: Likewise.
9209         * s-pack27.adb: Likewise.
9210         * s-pack27.ads: Likewise.
9211         * s-pack28.adb: Likewise.
9212         * s-pack28.ads: Likewise.
9213         * s-pack29.adb: Likewise.
9214         * s-pack29.ads: Likewise.
9215         * s-pack30.adb: Likewise.
9216         * s-pack30.ads: Likewise.
9217         * s-pack31.adb: Likewise.
9218         * s-pack31.ads: Likewise.
9219         * s-pack33.adb: Likewise.
9220         * s-pack33.ads: Likewise.
9221         * s-pack34.adb: Likewise.
9222         * s-pack34.ads: Likewise.
9223         * s-pack35.adb: Likewise.
9224         * s-pack35.ads: Likewise.
9225         * s-pack36.adb: Likewise.
9226         * s-pack36.ads: Likewise.
9227         * s-pack37.adb: Likewise.
9228         * s-pack37.ads: Likewise.
9229         * s-pack38.adb: Likewise.
9230         * s-pack38.ads: Likewise.
9231         * s-pack39.adb: Likewise.
9232         * s-pack39.ads: Likewise.
9233         * s-pack40.adb: Likewise.
9234         * s-pack40.ads: Likewise.
9235         * s-pack41.adb: Likewise.
9236         * s-pack41.ads: Likewise.
9237         * s-pack42.adb: Likewise.
9238         * s-pack42.ads: Likewise.
9239         * s-pack43.adb: Likewise.
9240         * s-pack43.ads: Likewise.
9241         * s-pack44.adb: Likewise.
9242         * s-pack44.ads: Likewise.
9243         * s-pack45.adb: Likewise.
9244         * s-pack45.ads: Likewise.
9245         * s-pack46.adb: Likewise.
9246         * s-pack46.ads: Likewise.
9247         * s-pack47.adb: Likewise.
9248         * s-pack47.ads: Likewise.
9249         * s-pack48.adb: Likewise.
9250         * s-pack48.ads: Likewise.
9251         * s-pack49.adb: Likewise.
9252         * s-pack49.ads: Likewise.
9253         * s-pack50.adb: Likewise.
9254         * s-pack50.ads: Likewise.
9255         * s-pack51.adb: Likewise.
9256         * s-pack51.ads: Likewise.
9257         * s-pack52.adb: Likewise.
9258         * s-pack52.ads: Likewise.
9259         * s-pack53.adb: Likewise.
9260         * s-pack53.ads: Likewise.
9261         * s-pack54.adb: Likewise.
9262         * s-pack54.ads: Likewise.
9263         * s-pack55.adb: Likewise.
9264         * s-pack55.ads: Likewise.
9265         * s-pack56.adb: Likewise.
9266         * s-pack56.ads: Likewise.
9267         * s-pack57.adb: Likewise.
9268         * s-pack57.ads: Likewise.
9269         * s-pack58.adb: Likewise.
9270         * s-pack58.ads: Likewise.
9271         * s-pack59.adb: Likewise.
9272         * s-pack59.ads: Likewise.
9273         * s-pack60.adb: Likewise.
9274         * s-pack60.ads: Likewise.
9275         * s-pack61.adb: Likewise.
9276         * s-pack61.ads: Likewise.
9277         * s-pack62.adb: Likewise.
9278         * s-pack62.ads: Likewise.
9279         * s-pack63.adb: Likewise.
9280         * s-pack63.ads: Likewise.
9281         * s-parame-ae653.ads: Likewise.
9282         * s-parame-hpux.ads: Likewise.
9283         * s-parame-rtems.adb: Likewise.
9284         * s-parame-vms-alpha.ads: Likewise.
9285         * s-parame-vms-ia64.ads: Likewise.
9286         * s-parame-vms-restrict.ads: Likewise.
9287         * s-parame-vxworks.adb: Likewise.
9288         * s-parame-vxworks.ads: Likewise.
9289         * s-parame.adb: Likewise.
9290         * s-parame.ads: Likewise.
9291         * s-parint.adb: Likewise.
9292         * s-parint.ads: Likewise.
9293         * s-pooglo.adb: Likewise.
9294         * s-pooglo.ads: Likewise.
9295         * s-pooloc.adb: Likewise.
9296         * s-pooloc.ads: Likewise.
9297         * s-poosiz.adb: Likewise.
9298         * s-poosiz.ads: Likewise.
9299         * s-powtab.ads: Likewise.
9300         * s-proinf-irix-athread.adb: Likewise.
9301         * s-proinf-irix-athread.ads: Likewise.
9302         * s-proinf.adb: Likewise.
9303         * s-proinf.ads: Likewise.
9304         * s-purexc.ads: Likewise.
9305         * s-rannum.adb: Likewise.
9306         * s-rannum.ads: Likewise.
9307         * s-restri.adb: Likewise.
9308         * s-restri.ads: Likewise.
9309         * s-rident.ads: Likewise.
9310         * s-rpc.adb: Likewise.
9311         * s-rpc.ads: Likewise.
9312         * s-scaval.adb: Likewise.
9313         * s-scaval.ads: Likewise.
9314         * s-secsta.adb: Likewise.
9315         * s-secsta.ads: Likewise.
9316         * s-sequio.adb: Likewise.
9317         * s-sequio.ads: Likewise.
9318         * s-shasto.adb: Likewise.
9319         * s-shasto.ads: Likewise.
9320         * s-soflin.adb: Likewise.
9321         * s-soflin.ads: Likewise.
9322         * s-solita.adb: Likewise.
9323         * s-solita.ads: Likewise.
9324         * s-sopco3.adb: Likewise.
9325         * s-sopco3.ads: Likewise.
9326         * s-sopco4.adb: Likewise.
9327         * s-sopco4.ads: Likewise.
9328         * s-sopco5.adb: Likewise.
9329         * s-sopco5.ads: Likewise.
9330         * s-stache.adb: Likewise.
9331         * s-stache.ads: Likewise.
9332         * s-stalib.adb: Likewise.
9333         * s-stalib.ads: Likewise.
9334         * s-stausa.adb: Likewise.
9335         * s-stausa.ads: Likewise.
9336         * s-stchop-limit.ads: Likewise.
9337         * s-stchop-rtems.adb: Likewise.
9338         * s-stchop-vxworks.adb: Likewise.
9339         * s-stchop.adb: Likewise.
9340         * s-stchop.ads: Likewise.
9341         * s-stoele.adb: Likewise.
9342         * s-stoele.ads: Likewise.
9343         * s-stopoo.adb: Likewise.
9344         * s-stopoo.ads: Likewise.
9345         * s-stratt.adb: Likewise.
9346         * s-stratt.ads: Likewise.
9347         * s-strcom.adb: Likewise.
9348         * s-strcom.ads: Likewise.
9349         * s-string.adb: Likewise.
9350         * s-string.ads: Likewise.
9351         * s-strops.adb: Likewise.
9352         * s-strops.ads: Likewise.
9353         * s-strxdr.adb: Likewise.
9354         * s-ststop.adb: Likewise.
9355         * s-ststop.ads: Likewise.
9356         * s-taasde.adb: Likewise.
9357         * s-taasde.ads: Likewise.
9358         * s-tadeca.adb: Likewise.
9359         * s-tadeca.ads: Likewise.
9360         * s-tadert.adb: Likewise.
9361         * s-tadert.ads: Likewise.
9362         * s-taenca.adb: Likewise.
9363         * s-taenca.ads: Likewise.
9364         * s-taprob.ads: Likewise.
9365         * s-taprop-dummy.adb: Likewise.
9366         * s-taprop-hpux-dce.adb: Likewise.
9367         * s-taprop-irix.adb: Likewise.
9368         * s-taprop-linux.adb: Likewise.
9369         * s-taprop-lynxos.adb: Likewise.
9370         * s-taprop-mingw.adb: Likewise.
9371         * s-taprop-posix.adb: Likewise.
9372         * s-taprop-solaris.adb: Likewise.
9373         * s-taprop-tru64.adb: Likewise.
9374         * s-taprop-vms.adb: Likewise.
9375         * s-taprop-vxworks.adb: Likewise.
9376         * s-taprop.ads: Likewise.
9377         * s-tarest.adb: Likewise.
9378         * s-tarest.ads: Likewise.
9379         * s-tasdeb.adb: Likewise.
9380         * s-tasdeb.ads: Likewise.
9381         * s-tasinf-irix.ads: Likewise.
9382         * s-tasinf-linux.adb: Likewise.
9383         * s-tasinf-linux.ads: Likewise.
9384         * s-tasinf-mingw.adb: Likewise.
9385         * s-tasinf-mingw.ads: Likewise.
9386         * s-tasinf-solaris.adb: Likewise.
9387         * s-tasinf-solaris.ads: Likewise.
9388         * s-tasinf-tru64.ads: Likewise.
9389         * s-tasinf.adb: Likewise.
9390         * s-tasinf.ads: Likewise.
9391         * s-tasini.adb: Likewise.
9392         * s-tasini.ads: Likewise.
9393         * s-taskin.adb: Likewise.
9394         * s-taskin.ads: Likewise.
9395         * s-taspri-dummy.ads: Likewise.
9396         * s-taspri-hpux-dce.ads: Likewise.
9397         * s-taspri-mingw.ads: Likewise.
9398         * s-taspri-solaris.ads: Likewise.
9399         * s-taspri-tru64.ads: Likewise.
9400         * s-taspri-vms.ads: Likewise.
9401         * s-taspri-vxworks.ads: Likewise.
9402         * s-tasque.adb: Likewise.
9403         * s-tasque.ads: Likewise.
9404         * s-tasren.adb: Likewise.
9405         * s-tasren.ads: Likewise.
9406         * s-tasres.ads: Likewise.
9407         * s-tassta.adb: Likewise.
9408         * s-tassta.ads: Likewise.
9409         * s-tasuti.adb: Likewise.
9410         * s-tasuti.ads: Likewise.
9411         * s-tfsetr-default.adb: Likewise.
9412         * s-tfsetr-vxworks.adb: Likewise.
9413         * s-tpinop.adb: Likewise.
9414         * s-tpinop.ads: Likewise.
9415         * s-tpoben.adb: Likewise.
9416         * s-tpoben.ads: Likewise.
9417         * s-tpobop.adb: Likewise.
9418         * s-tpobop.ads: Likewise.
9419         * s-tpopde-vms.adb: Likewise.
9420         * s-tpopde-vms.ads: Likewise.
9421         * s-tpopsp-lynxos.adb: Likewise.
9422         * s-tpopsp-posix-foreign.adb: Likewise.
9423         * s-tpopsp-posix.adb: Likewise.
9424         * s-tpopsp-solaris.adb: Likewise.
9425         * s-tpopsp-vxworks.adb: Likewise.
9426         * s-tporft.adb: Likewise.
9427         * s-tposen.adb: Likewise.
9428         * s-tposen.ads: Likewise.
9429         * s-traceb.adb: Likewise.
9430         * s-traceb.ads: Likewise.
9431         * s-traces-default.adb: Likewise.
9432         * s-traces.adb: Likewise.
9433         * s-traces.ads: Likewise.
9434         * s-traent-vms.adb: Likewise.
9435         * s-traent-vms.ads: Likewise.
9436         * s-traent.adb: Likewise.
9437         * s-traent.ads: Likewise.
9438         * s-trafor-default.adb: Likewise.
9439         * s-trafor-default.ads: Likewise.
9440         * s-tratas-default.adb: Likewise.
9441         * s-tratas.adb: Likewise.
9442         * s-tratas.ads: Likewise.
9443         * s-unstyp.ads: Likewise.
9444         * s-utf_32.adb: Likewise.
9445         * s-utf_32.ads: Likewise.
9446         * s-vaflop-vms-alpha.adb: Likewise.
9447         * s-vaflop.adb: Likewise.
9448         * s-vaflop.ads: Likewise.
9449         * s-valboo.adb: Likewise.
9450         * s-valboo.ads: Likewise.
9451         * s-valcha.adb: Likewise.
9452         * s-valcha.ads: Likewise.
9453         * s-valdec.adb: Likewise.
9454         * s-valdec.ads: Likewise.
9455         * s-valenu.adb: Likewise.
9456         * s-valenu.ads: Likewise.
9457         * s-valint.adb: Likewise.
9458         * s-valint.ads: Likewise.
9459         * s-vallld.adb: Likewise.
9460         * s-vallld.ads: Likewise.
9461         * s-vallli.adb: Likewise.
9462         * s-vallli.ads: Likewise.
9463         * s-valllu.adb: Likewise.
9464         * s-valllu.ads: Likewise.
9465         * s-valrea.adb: Likewise.
9466         * s-valrea.ads: Likewise.
9467         * s-valuns.adb: Likewise.
9468         * s-valuns.ads: Likewise.
9469         * s-valuti.adb: Likewise.
9470         * s-valuti.ads: Likewise.
9471         * s-valwch.adb: Likewise.
9472         * s-valwch.ads: Likewise.
9473         * s-veboop.adb: Likewise.
9474         * s-veboop.ads: Likewise.
9475         * s-vector.ads: Likewise.
9476         * s-vercon.adb: Likewise.
9477         * s-vercon.ads: Likewise.
9478         * s-vmexta.adb: Likewise.
9479         * s-vmexta.ads: Likewise.
9480         * s-vxwext-kernel.ads: Likewise.
9481         * s-vxwext-rtp.adb: Likewise.
9482         * s-vxwext-rtp.ads: Likewise.
9483         * s-vxwext.ads: Likewise.
9484         * s-vxwork-arm.ads: Likewise.
9485         * s-vxwork-m68k.ads: Likewise.
9486         * s-vxwork-mips.ads: Likewise.
9487         * s-vxwork-ppc.ads: Likewise.
9488         * s-vxwork-sparcv9.ads: Likewise.
9489         * s-vxwork-x86.ads: Likewise.
9490         * s-wchcnv.adb: Likewise.
9491         * s-wchcnv.ads: Likewise.
9492         * s-wchcon.adb: Likewise.
9493         * s-wchcon.ads: Likewise.
9494         * s-wchjis.adb: Likewise.
9495         * s-wchjis.ads: Likewise.
9496         * s-wchstw.adb: Likewise.
9497         * s-wchstw.ads: Likewise.
9498         * s-wchwts.adb: Likewise.
9499         * s-wchwts.ads: Likewise.
9500         * s-widboo.adb: Likewise.
9501         * s-widboo.ads: Likewise.
9502         * s-widcha.adb: Likewise.
9503         * s-widcha.ads: Likewise.
9504         * s-widenu.adb: Likewise.
9505         * s-widenu.ads: Likewise.
9506         * s-widlli.adb: Likewise.
9507         * s-widlli.ads: Likewise.
9508         * s-widllu.adb: Likewise.
9509         * s-widllu.ads: Likewise.
9510         * s-widwch.adb: Likewise.
9511         * s-widwch.ads: Likewise.
9512         * s-win32.ads: Likewise.
9513         * s-winext.ads: Likewise.
9514         * s-wwdcha.adb: Likewise.
9515         * s-wwdcha.ads: Likewise.
9516         * s-wwdenu.adb: Likewise.
9517         * s-wwdenu.ads: Likewise.
9518         * s-wwdwch.adb: Likewise.
9519         * s-wwdwch.ads: Likewise.
9520         * scans.adb: Likewise.
9521         * scans.ads: Likewise.
9522         * seh_init.c: Likewise.
9523         * sfn_scan.adb: Likewise.
9524         * sinfo.adb: Likewise.
9525         * sinfo.ads: Likewise.
9526         * sinput.adb: Likewise.
9527         * sinput.ads: Likewise.
9528         * snames.adb: Likewise.
9529         * snames.ads: Likewise.
9530         * socket.c: Likewise.
9531         * stand.adb: Likewise.
9532         * stand.ads: Likewise.
9533         * stringt.adb: Likewise.
9534         * stringt.ads: Likewise.
9535         * sysdep.c: Likewise.
9536         * system-aix.ads: Likewise.
9537         * system-darwin-ppc.ads: Likewise.
9538         * system-darwin-x86.ads: Likewise.
9539         * system-darwin-x86_64.ads: Likewise.
9540         * system-freebsd-x86.ads: Likewise.
9541         * system-hpux-ia64.ads: Likewise.
9542         * system-hpux.ads: Likewise.
9543         * system-irix-n32.ads: Likewise.
9544         * system-irix-n64.ads: Likewise.
9545         * system-irix-o32.ads: Likewise.
9546         * system-linux-alpha.ads: Likewise.
9547         * system-linux-hppa.ads: Likewise.
9548         * system-linux-ia64.ads: Likewise.
9549         * system-linux-mips.ads: Likewise.
9550         * system-linux-mipsel.ads: Likewise.
9551         * system-linux-ppc.ads: Likewise.
9552         * system-linux-ppc64.ads: Likewise.
9553         * system-linux-s390.ads: Likewise.
9554         * system-linux-s390x.ads: Likewise.
9555         * system-linux-sh4.ads: Likewise.
9556         * system-linux-sparc.ads: Likewise.
9557         * system-linux-sparcv9.ads: Likewise.
9558         * system-linux-x86.ads: Likewise.
9559         * system-linux-x86_64.ads: Likewise.
9560         * system-lynxos-ppc.ads: Likewise.
9561         * system-lynxos-x86.ads: Likewise.
9562         * system-mingw-x86_64.ads: Likewise.
9563         * system-mingw.ads: Likewise.
9564         * system-rtems.ads: Likewise.
9565         * system-solaris-sparc.ads: Likewise.
9566         * system-solaris-sparcv9.ads: Likewise.
9567         * system-solaris-x86.ads: Likewise.
9568         * system-solaris-x86_64.ads: Likewise.
9569         * system-tru64.ads: Likewise.
9570         * system-vms-ia64.ads: Likewise.
9571         * system-vms-zcx.ads: Likewise.
9572         * system-vms.ads: Likewise.
9573         * system-vms_64.ads: Likewise.
9574         * system-vxworks-arm.ads: Likewise.
9575         * system-vxworks-m68k.ads: Likewise.
9576         * system-vxworks-mips.ads: Likewise.
9577         * system-vxworks-ppc.ads: Likewise.
9578         * system-vxworks-sparcv9.ads: Likewise.
9579         * system-vxworks-x86.ads: Likewise.
9580         * system.ads: Likewise.
9581         * table.adb: Likewise.
9582         * table.ads: Likewise.
9583         * targext.c: Likewise.
9584         * targparm.ads: Likewise.
9585         * tree_in.adb: Likewise.
9586         * tree_in.ads: Likewise.
9587         * tree_io.adb: Likewise.
9588         * tree_io.ads: Likewise.
9589         * types.adb: Likewise.
9590         * types.ads: Likewise.
9591         * uintp.adb: Likewise.
9592         * uintp.ads: Likewise.
9593         * uname.adb: Likewise.
9594         * uname.ads: Likewise.
9595         * urealp.adb: Likewise.
9596         * urealp.ads: Likewise.
9597         * vx_stack_info.c: Likewise.
9598         * widechar.adb: Likewise.
9599         * widechar.ads: Likewise.
9600         * exp_attr.adb: Change copyright header to refer to version
9601         3 of the GNU General Public License and to point readers at the
9602         COPYING3 file and the FSF's license web page.
9603         * sem.adb: Likewise.
9604         * sem_attr.ads: Likewise.
9605         * freeze.adb: Likewise.
9606         * freeze.ads: Likewise.
9607         * errout.ads: Likewise.
9608         * erroutc.adb: Likewise.
9609         * exp_ch11.ads: Likewise.
9610
9611 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
9612
9613         * config-lang.in: Change copyright header to refer to version
9614         3 of the GNU General Public License and to point readers at the
9615         COPYING3 file and the FSF's license web page.
9616         * gcc-interface/trans.c: Likewise.
9617         * gnathtml.pl: Likewise.
9618         * gcc-interface/ada.h: Likewise.  Remove runtime exception.
9619         * gcc-interface/gigi.h: Likewise.
9620         * gcc-interface/misc.c: Likewise.
9621         * gcc-interface/targtyps.c: Likewise.
9622
9623 2009-04-09  Nicolas Setton  <setton@adacore.com>
9624
9625         * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
9626
9627         * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
9628         struct_timeval.
9629
9630 2009-04-09  Bob Duff  <duff@adacore.com>
9631
9632         * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
9633         internally-generated nodes related to select statements to avoid
9634         confusing the debugger.
9635
9636 2009-04-09  Pascal Obry  <obry@adacore.com>
9637
9638         * make.adb: Ensure that all linker arguments are duplicated.
9639
9640 2009-04-09  Robert Dewar  <dewar@adacore.com>
9641
9642         * sem_ch5.adb: Minor reformatting
9643
9644 2009-04-09  Vincent Celier  <celier@adacore.com>
9645
9646         * vms_data.ads:
9647         Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
9648         New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
9649         New qualifier /LXDEBUG=nnn for -gnatDnnn
9650         For H820-010
9651
9652         * gnat_ugn.texi:
9653         Update documentation for VMS qualifiers equivalent to -gnatGnn and
9654         -gnatDnn
9655
9656 2009-04-09  Nicolas Setton  <setton@adacore.com>
9657
9658         * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
9659         to match layout of siginfo_t in sys/signal.h.
9660
9661         * gcc-interface/Makefile.in: Add section for x86_64 darwin.
9662
9663 2009-04-09  Thomas Quinot  <quinot@adacore.com>
9664
9665         * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
9666
9667 2009-04-09  Nicolas Setton  <setton@adacore.com>
9668
9669         * s-oscons-tmplt.c: Allow long lines in the generated spec.
9670         Add generation of Darwin-specific constants needed when binding to the
9671         pthread library.
9672
9673 2009-04-09  Robert Dewar  <dewar@adacore.com>
9674
9675         * checks.adb:
9676         (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
9677         when no invalid values exist, Avoid duplicate read of atomic variable.
9678
9679         * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
9680         (Standard_Unsigned): Set Is_Known_Valid
9681
9682         * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
9683         subtype declaration if no constraint.
9684         (Set_Modular_Size): Set Is_Known_Valid if appropriate
9685         (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
9686
9687 2009-04-09  Robert Dewar  <dewar@adacore.com>
9688
9689         * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
9690         switch.ads: for numeric switches, an optional equal sign is always
9691         allowed.
9692
9693 2009-04-09  Vincent Celier  <celier@adacore.com>
9694
9695         * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
9696         the case of file names is not significant.
9697
9698 2009-04-09  Vincent Celier  <celier@adacore.com>
9699
9700         * errout.adb: Remove dependency on package Style
9701
9702         * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
9703         moved to Stylesw.
9704         
9705         * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
9706         Styleg.
9707
9708         * errutil.adb, par.adb: Import Stylesw
9709
9710 2009-04-09  Arnaud Charlet  <charlet@adacore.com>
9711
9712         * opt.ads: Fix typos.
9713
9714 2009-04-09  Robert Dewar  <dewar@adacore.com>
9715
9716         * einfo.adb: Minor reformatting
9717
9718 2009-04-09  Robert Dewar  <dewar@adacore.com>
9719
9720         * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
9721         units.
9722
9723         * styleg-c.ads, styleg-c.adb: Removed, no longer used.
9724
9725 2009-04-09  Robert Dewar  <dewar@adacore.com>
9726
9727         * g-comver.adb: Minor reformatting.
9728
9729 2009-04-09  Thomas Quinot  <quinot@adacore.com>
9730
9731         * lib-load.ads (Load_Unit): Update documentation.
9732
9733 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
9734
9735         * lib-load.adb (Load_Unit): When loading the parent of a child unit
9736         named in a with_clause, retain the with_clause to preserve a
9737         limited_with indication.
9738
9739 2009-04-09  Robert Dewar  <dewar@adacore.com>
9740
9741         * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
9742         exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
9743         sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
9744         possible to replace an OR of two separate tests.
9745
9746 2009-04-09  Robert Dewar  <dewar@adacore.com>
9747
9748         * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
9749         Maximum_Messages.
9750         
9751         * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
9752         warning status as well.
9753         
9754         * opt.ads (Maximum_Messages): New name for Maximum_Errors.
9755         
9756         * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
9757         Maximum_Messages.
9758         
9759         * bindusg.adb, usage.adb: Update line for -gnatm switch
9760
9761         * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
9762         -mnn binder switch.
9763
9764 2009-04-09  Robert Dewar  <dewar@adacore.com>
9765
9766         * sem_ch10.adb: Minor reformatting.
9767
9768 2009-04-09  Bob Duff  <duff@adacore.com>
9769
9770         * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
9771         Set Sloc of generated nodes for calls to Undefer_Aborts and
9772         Save_Occurrence to No_Location, so the debugger ignores them and
9773         therefore does not jump back and forth when single stepping.
9774
9775 2009-04-09  Robert Dewar  <dewar@adacore.com>
9776
9777         * switch-b.adb: Minor reformatting.
9778
9779 2009-04-09  Robert Dewar  <dewar@adacore.com>
9780
9781         * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
9782         sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
9783         exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
9784         sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
9785         einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
9786         tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
9787         exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
9788         sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
9789         sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
9790         sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
9791         Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
9792
9793 2009-04-09  Robert Dewar  <dewar@adacore.com>
9794
9795         * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
9796
9797         * atree.h: Add Elist26
9798
9799         * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
9800         backends.
9801
9802 2009-04-09  Javier Miranda  <miranda@adacore.com>
9803
9804         * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
9805         retrieve from the Dispatch_Table_Wrappers list the external name.
9806         Addition of documentation.
9807         (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
9808         used to export secondary dispatch tables (in the previous version of
9809         the frontend only primary dispatch tables were exported). Addition of
9810         documentation.
9811         (Import_DT): New subprogram (internal of Make_Tags). Used to import a
9812         dispatch table of a given tagged type. 
9813         (Make_Tags): Modified to import secondary dispatch tables.
9814
9815         * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
9816         (Constant_Redeclaration): Code cleanup.
9817
9818         * einfo.ads (Dispatch_Table_Wrapper): Renamed to
9819         Dispatch_Table_Wrappers.  Update documentation.
9820
9821         * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
9822         Renamed to Dispatch_Table_Wrappers.
9823
9824         * sem_util.adb (Collect_Interface_Components): Improve handling of
9825         private types.
9826
9827         * atree.ads (Elist26, Set_Elist26): New subprograms
9828
9829         * atree.adb (Elist26, Set_Elist26): New subprograms
9830
9831 2009-04-09  Javier Miranda  <miranda@adacore.com>
9832
9833         * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
9834         (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
9835         tagged types.
9836
9837 2009-04-09  Robert Dewar  <dewar@adacore.com>
9838
9839         * s-direio.adb: Minor reformatting
9840
9841         * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
9842
9843 2009-04-09  Robert Dewar  <dewar@adacore.com>
9844
9845         * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
9846
9847 2009-04-09  Pascal Obry  <obry@adacore.com>
9848
9849         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
9850         s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
9851         a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
9852         a-filico.ads: Add some missing overriding keywords.
9853
9854 2009-04-09  Pascal Obry  <obry@adacore.com>
9855
9856         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
9857         a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
9858         a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
9859         reformatting.
9860
9861 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
9862
9863         * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
9864         missing overriding indicator if the new declaration is not seen as
9865         primitive.
9866
9867 2009-04-09  Thomas Quinot  <quinot@adacore.com>
9868
9869         * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
9870         overflows in computation of bounds.
9871
9872 2009-04-09  Pascal Obry  <obry@adacore.com>
9873
9874         * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
9875         typos in comment.
9876
9877 2009-04-09  Robert Dewar  <dewar@adacore.com>
9878
9879         * sem_attr.adb (Check_Stream_Attribute): Check violation of
9880         restriction No_Streams
9881
9882         * gnat_rm.texi: Clarify No_Streams restriction
9883
9884         * g-socket.adb: Minor reformatting.
9885
9886 2009-04-09  Thomas Quinot  <quinot@adacore.com>
9887
9888         * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
9889
9890 2009-04-09  Geert Bosch  <bosch@adacore.com>
9891
9892         * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
9893         (Set_Result): Likewise.
9894         (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
9895         conversion, as required by RM 4.6(31).
9896
9897 2009-04-08  Robert Dewar  <dewar@adacore.com>
9898
9899         * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
9900         suppressed.
9901         
9902         * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
9903         resolution steps.
9904
9905 2009-04-08  Robert Dewar  <dewar@adacore.com>
9906
9907         * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
9908         No_Local_Allocators restriction preventing local instantiation.
9909
9910 2009-04-08  Thomas Quinot  <quinot@adacore.com>
9911
9912         * sem_eval.adb: Minor comment fix
9913
9914 2009-04-08  Thomas Quinot  <quinot@adacore.com>
9915
9916         * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
9917         New limited controlled type used to automate the initialization and
9918         finalization of the sockets implementation.
9919         (GNAT.Sockets.Initialize, Finalize): Make these no-ops
9920
9921 2009-04-08  Vincent Celier  <celier@adacore.com>
9922
9923         * prj-attr.adb: New read-only project-level attribute Project_Dir
9924
9925         * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
9926         read-only attribute of the same name.
9927         (Process_Declarative_Items): Call Add_Attributes with Project_Dir
9928         (Recursive_Process): Ditto
9929
9930         * snames.adb: Add new standard name Project_Dir
9931
9932         * snames.ads: Add new standard name Project_Dir
9933
9934 2009-04-08  Thomas Quinot  <quinot@adacore.com>
9935
9936         * checks.adb: Minor reformatting
9937
9938 2009-04-08  Vincent Celier  <celier@adacore.com>
9939
9940         * vms_data.ads: Add documentation for new style keyword
9941         OVERRIDING_INDICATORS
9942
9943 2009-04-08  Robert Dewar  <dewar@adacore.com>
9944
9945         * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
9946         spec is in the current unit.
9947
9948 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
9949
9950         * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
9951         presence of entity.
9952
9953         * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
9954
9955 2009-04-08  Vincent Celier  <celier@adacore.com>
9956
9957         * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
9958
9959 2009-04-08  Thomas Quinot  <quinot@adacore.com>
9960
9961         * checks.ads: Minor reformatting
9962
9963 2009-04-08  Robert Dewar  <dewar@adacore.com>
9964
9965         * gnat_rm.texi: Update documentation of pragma Obsolescent
9966         
9967         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
9968         be omitted, and allow Entity parameter to be omitted.
9969
9970 2009-04-08  Thomas Quinot  <quinot@adacore.com>
9971
9972         * exp_util.adb: Minor comment fix
9973
9974 2009-04-08  Robert Dewar  <dewar@adacore.com>
9975
9976         * g-socket.ads: Fix bad syntax in pragma Obsolescent
9977
9978         * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
9979         argument with no identifier following one that has an identifier. Was
9980         missed in some cases.
9981
9982         * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
9983         identifier.
9984         (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
9985
9986         * snames.adb: Add Name_Policy
9987
9988         * snames.ads: Add Name_Policy
9989
9990 2009-04-08  Robert Dewar  <dewar@adacore.com>
9991
9992         * gnat_rm.texi: Minor reformatting
9993
9994         * par-ch2.adb: Minor reformatting
9995
9996 2009-04-08  Robert Dewar  <dewar@adacore.com>
9997
9998         * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
9999
10000 2009-04-08  Robert Dewar  <dewar@adacore.com>
10001
10002         * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
10003         properly in the presence of Remote_Types or Remote_Call_Interface.
10004
10005         * sem_util.adb: Add comment.
10006
10007 2009-04-08  Robert Dewar  <dewar@adacore.com>
10008
10009         * ug_words: Add /ASSUME_VALID for -gnatB
10010
10011         * vms_data.ads: Add /ASSUME_VALID for -gnatB
10012
10013         * sem_cat.adb: Add clarifying commment
10014
10015         * a-direio.ads (Bytes): Make sure value is non-zero
10016
10017 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
10018
10019         * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
10020         that does not come from source, check for a rewritten function call in
10021         prefixed notation before other forms of rewriting.
10022
10023 2009-04-08  Robert Dewar  <dewar@adacore.com>
10024
10025         * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
10026         these are now obsolescent units used only for bootrapping with an
10027         older compiler.
10028
10029 2009-04-08  Robert Dewar  <dewar@adacore.com>
10030
10031         * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
10032
10033         * sem_ch3.adb: Minor comment updates
10034
10035 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
10036
10037         * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
10038         that come from source.
10039
10040 2009-04-08  Tristan Gingold  <gingold@adacore.com>
10041
10042         * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
10043         * gcc-interface/decl.c (prepend_attributes): New case
10044         Pragma_Thread_Local_Storage.
10045         * gcc-interface/utils.c (process_attributes): New case
10046         ATTR_THREAD_LOCAL_STORAGE.
10047
10048 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
10049
10050         * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
10051         by the back-end if it contains a call to a subprogram without a
10052         previous spec that is declared in the same unit.
10053
10054         * errout.ads: Update comments on uses of dirs
10055
10056 2009-04-08  Robert Dewar  <dewar@adacore.com>
10057
10058         * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
10059
10060 2009-04-08  Tristan Gingold  <gingold@adacore.com>
10061
10062         * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
10063         variables.
10064         Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
10065
10066 2009-04-08  Vincent Celier  <celier@adacore.com>
10067
10068         * prj-nmsc.adb:
10069         (Add_Source): Add the mapping of the unit name to source file name in
10070         the Unit_Sources_HT hash table, if the unit name is not null.
10071
10072         * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
10073
10074         * prj.ads (Unit_Sources_Htable): New hash table instantiation
10075         (Project_Tree_Data): New component Unit_Sources_HT
10076
10077 2009-04-08  Thomas Quinot  <quinot@adacore.com>
10078
10079         * sem_ch8.adb: Minor reformatting.
10080         Minor code reorganization.
10081
10082 2009-04-08  Robert Dewar  <dewar@adacore.com>
10083
10084         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
10085         snames.ads, freeze.adb, par-prag.adb: Add implementation of
10086         pragma Thread_Local_Storage, setting new flag
10087         Has_Pragma_Thread_Local_Storage in corresponding entities.
10088
10089 2009-04-08  Emmanuel Briot  <briot@adacore.com>
10090
10091         * prj.ads: Update comment on switches file
10092
10093         * prj-nmsc.adb: Code clean up. Use renaming clauses.
10094
10095 2009-04-08  Robert Dewar  <dewar@adacore.com>
10096
10097         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
10098
10099 2009-04-08  Thomas Quinot  <quinot@adacore.com>
10100
10101         * ali-util.adb: Minor comment fix
10102
10103 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
10104
10105         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
10106         appears in a context clause, and the enclosing package is mentioned in
10107         a limited_with_clause.
10108         (Use_One_Type): Reject clause if type is still incomplete.
10109
10110 2009-04-08  Emmanuel Briot  <briot@adacore.com>
10111
10112         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
10113         avoid copies of Source_Data variables when possible, since these
10114         involve calls to memcpy() which are done too many times.
10115
10116 2009-04-08  Robert Dewar  <dewar@adacore.com>
10117
10118         * exp_ch4.adb (Expand_Concatenate): Clean up code
10119
10120 2009-04-07  Thomas Quinot  <quinot@adacore.com>
10121
10122         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
10123         type for the case of concatenating a constrained array indexed by an
10124         enumeration type.
10125
10126 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
10127
10128         * sem_ch6.adb (Check_Conformance): when checking conformance of an
10129         operation that overrides an abstract operation inherited from an
10130         interface, return False if only one of the controlling formals is an
10131         access parameter.
10132
10133 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
10134
10135         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
10136         mandated by AI05-105.
10137
10138 2009-04-07  Vincent Celier  <celier@adacore.com>
10139
10140         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
10141
10142 2009-04-07  Thomas Quinot  <quinot@adacore.com>
10143
10144         * usage.adb: Minor fix in usage message.
10145
10146         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
10147         match declaration; the correct subtype is Node_Id, not Entity_Id,
10148         because the expected node kind is an identifier, not a defining
10149         identifier.
10150
10151         * switch-c.adb: Minor reformatting.
10152
10153         * uintp.adb: Minor reformatting.
10154
10155 2009-04-07  Robert Dewar  <dewar@adacore.com>
10156
10157         * exp_ch13.adb: Minor reformatting
10158
10159 2009-04-07  Robert Dewar  <dewar@adacore.com>
10160
10161         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
10162         against missing parent.
10163
10164 2009-04-07  Thomas Quinot  <quinot@adacore.com>
10165
10166         * xoscons.adb: Minor reformatting
10167
10168 2009-04-07  Robert Dewar  <dewar@adacore.com>
10169
10170         * rtsfind.ads: Remove obsolete string concatenation entries
10171
10172 2009-04-07  Robert Dewar  <dewar@adacore.com>
10173
10174         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
10175
10176 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
10177
10178         * sem_ch10.adb (Check_Body_Required): Handle properly imported
10179         subprograms.
10180
10181 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
10182
10183         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
10184         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
10185         is of a scalar or string type then suppress the setting of the
10186         expression to Empty.
10187
10188         * freeze.adb (Warn_Overlay): Also emit the warnings about default
10189         initialization for the cases of scalar and string objects when
10190         Init_Or_Norm_Scalars is True.
10191
10192 2009-04-07  Bob Duff  <duff@adacore.com>
10193
10194         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
10195
10196 2009-04-07  Bob Duff  <duff@adacore.com>
10197
10198         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
10199         Form parameter of Text_Translation=No allows binary mode for Text_IO
10200         files.
10201
10202         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
10203
10204 2009-04-07  Javier Miranda  <miranda@adacore.com>
10205
10206         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
10207         processing the bounds for bit packed arrays or VM target machines.
10208
10209 2009-04-07  Thomas Quinot  <quinot@adacore.com>
10210
10211         * g-sothco.ads (Int_Access): Remove extraneous access type (use
10212         anonymous access instead).
10213         (Get_Socket_From_Set): Fix incorrectly reverted formals
10214         Last and Socket to match the underlying C routine.
10215
10216         * g-socket.adb, g-socket.ads
10217         (Get): Use named parameter associations instead of positional ones in
10218         call go Get_Socket_From_Set, since this routine has two formals of the
10219         same type.
10220         (Image): New procedure.
10221
10222         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
10223         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
10224         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
10225         for type of Arg formal.
10226
10227         * sem_warn.adb: Minor reformatting
10228
10229 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
10230
10231         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
10232         over record components.
10233
10234 2009-04-07  Nicolas Roche  <roche@adacore.com>
10235
10236         * gsocket.h:
10237         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
10238         has disappeared between VxWorks 6.4 and VxWorks 6.5
10239         In RTP mode use time.h instead of times.h
10240
10241 2009-04-07  Robert Dewar  <dewar@adacore.com>
10242
10243         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
10244
10245 2009-04-07  Kevin Pouget  <pouget@adacore.com>
10246
10247         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
10248         expanded code for constrained types.
10249
10250 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
10251
10252         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
10253         AI05-105: in an object renaming declaration, anonymousness is a name
10254         resolution rule.
10255
10256         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
10257
10258 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
10259
10260         * g-comlin.adb (Expansion): Fix old regression: also return directory
10261         names when matching.
10262
10263 2009-04-07  Robert Dewar  <dewar@adacore.com>
10264
10265         * exp_ch4.adb:
10266         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
10267         (Expand_Concatenate): New name for Expand_Concatenate_String which has
10268         been rewritten to handle all types.
10269         (Expand_Concatenate_Other): Remove
10270
10271 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
10272
10273         * lib-xref.adb (Generate_Reference): A default subprogram in an
10274         instance appears within the tree for the instance, but generates an
10275         implicit reference in the ALI.
10276
10277 2009-04-07  Javier Miranda  <miranda@adacore.com>
10278
10279         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
10280         derived type that has discriminants, propagate the list of interfaces
10281         to the corresponding new base type. In addition, propagate also
10282         attribute Limited_Present (found working in this patch).
10283
10284 2009-04-07  Robert Dewar  <dewar@adacore.com>
10285
10286         * exp_ch4.adb: Rewrite concatenation expansion.
10287
10288 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
10289
10290         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
10291         relevant to packages.
10292
10293 2009-04-07  Robert Dewar  <dewar@adacore.com>
10294
10295         * sem_attr.adb: Minor reformatting
10296
10297         * sem_ch6.adb: Minor reformatting
10298
10299 2009-04-07  Tristan Gingold  <gingold@adacore.com>
10300
10301         * socket.c: Add more protections against S_resolvLib_ macros.
10302
10303 2009-04-07  Thomas Quinot  <quinot@adacore.com>
10304
10305         * sem_attr.adb: Minor reformatting
10306
10307 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
10308
10309         * sem_ch6.adb (New_Overloaded_Entity): New predicate
10310         Is_Overriding_Alias to handle properly types that inherit two homonym
10311         operations that have distinct dispatch table entries.
10312
10313 2009-04-07  Emmanuel Briot  <briot@adacore.com>
10314
10315         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
10316         looking for the end of a parenthesis group
10317
10318 2009-04-07  Tristan Gingold  <gingold@adacore.com>
10319
10320         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
10321
10322         * socket.c Don't use resolvLib_ macros if not defined.
10323
10324 2009-04-07  Robert Dewar  <dewar@adacore.com>
10325
10326         * g-socket.adb: Minor reformatting.
10327
10328         * g-socthi-mingw.adb: Minor reformatting
10329
10330         * g-sothco.ads: Minor reformatting
10331
10332         * exp_ch4.adb:
10333         (Expand_Concatenate_String): Complete rewrite to generate efficient code
10334         inline instead of relying on external library routines.
10335
10336         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
10337         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
10338         obsolescent
10339
10340 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
10341
10342         * sem_attr.adb:
10343         (Eval_Attribute): for attributes of array objects that are not strings,
10344         attributes are not static if nominal subtype of object is unconstrained.
10345
10346 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
10347
10348         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
10349         operations for a type T in an instance do not override each other,
10350         when T is derived from a formal private type, the corresponding
10351         operations inherited by a type derived from T outside
10352         of the instance do not override each other either.
10353
10354 2009-04-07  Robert Dewar  <dewar@adacore.com>
10355
10356         (Osint.Fail): Change calling sequence to have one string arg
10357         (Make.Make_Failed): Same change
10358         All callers are adjusted to use concatenation
10359
10360 2009-04-07  Robert Dewar  <dewar@adacore.com>
10361
10362         * exp_ch4.adb: Fix documentation typo
10363
10364 2009-04-07  Robert Dewar  <dewar@adacore.com>
10365
10366         * tbuild.ads: Minor reformatting
10367
10368 2009-04-07  Javier Miranda  <miranda@adacore.com>
10369
10370         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
10371         when compiling under ZFP runtime.
10372
10373 2009-04-07  Robert Dewar  <dewar@adacore.com>
10374
10375         * g-comlin.adb: Minor reformatting
10376
10377 2009-04-07  Thomas Quinot  <quinot@adacore.com>
10378
10379         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
10380         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
10381         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
10382         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
10383
10384 2009-04-07  Robert Dewar  <dewar@adacore.com>
10385
10386         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
10387
10388         * opt.ads (Sprint_Line_Limit): New parameter
10389         
10390         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
10391         
10392         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
10393         
10394         * usage.adb: Output information for -gnatGnn -gnatDnn
10395
10396 2009-04-07  Robert Dewar  <dewar@adacore.com>
10397
10398         * make.adb: Minor reformatting
10399
10400 2009-04-07  Robert Dewar  <dewar@adacore.com>
10401
10402         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
10403
10404 2009-04-07  Robert Dewar  <dewar@adacore.com>
10405
10406         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
10407
10408 2009-04-07  Robert Dewar  <dewar@adacore.com>
10409
10410         * checks.adb:
10411         Remove Assume_Valid parameter from In_Subrange_Of calls
10412         
10413         * sem_eval.adb:
10414         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
10415         (Is_In_Range): Remove incorrect use of Assume_Valid
10416         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
10417         
10418         * sem_eval.ads:
10419         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
10420         (Is_In_Range): Documentation cleanup
10421         (Is_Out_Of_Range): Documentation cleanup
10422
10423         * gnat_rm.texi:
10424         Add documentation for Assume_No_Invalid_Values pragma
10425
10426         * sem_ch12.adb: Minor reformatting
10427
10428         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
10429
10430         * sem_prag.adb: Improve error message.
10431
10432         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
10433         LF/CR no longer recognized as line terminator
10434
10435         * switch.ads: Minor documentation improvement
10436
10437         * vms_data.ads: Minor reformatting
10438
10439 2009-04-07  Robert Dewar  <dewar@adacore.com>
10440
10441         * checks.adb (Determine_Range): Add Assume_Valid parameter
10442         
10443         * checks.ads (Determine_Range): Add Assume_Valid parameter
10444         
10445         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
10446          Is_Null_Loop to suppress warnings in a loop body.
10447         
10448         * exp_ch4.adb:
10449         (Rewrite_Comparison): Major rewrite to accomodate invalid values
10450         
10451         * exp_ch5.adb:
10452         (Expand_N_Loop_Statement): Delete loop known not to execute
10453         
10454         * opt.ads:
10455         (Assume_No_Invalid_Values): Now set to False, and as documented, this
10456          fully enables the proper handling of invalid values.
10457         
10458         * sem_attr.adb:
10459         New calling sequence for Is_In_Range
10460         
10461         * sem_ch5.adb:
10462         (Analyze_Iteration_Scheme): Accomodate possible invalid values
10463          in determining if a loop range is null.
10464         
10465         * sem_eval.adb:
10466         (Is_In_Range): Add Assume_Valid parameter
10467         (Is_Out_Of_Range): Add Assume_Valid_Parameter
10468         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
10469          also to do more accurate and complete range analysis, catching more
10470          cases.
10471         
10472         * sem_eval.ads:
10473         (Is_In_Range): Add Assume_Valid parameter
10474         (Is_Out_Of_Range): Add Assume_Valid_Parameter
10475         
10476         * sem_util.adb:
10477         New calling sequence for Is_In_Range
10478         
10479         * sinfo.adb:
10480         (Suppress_Loop_Warnings): New flag
10481         
10482         * sinfo.ads:
10483         (Is_Null_Loop): Update documentation
10484         (Suppress_Loop_Warnings): New flag
10485         
10486         * gnat_ugn.texi: Document -gnatB switch
10487
10488 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
10489
10490         * gnatvsn.ads: Bump version number.
10491
10492 2009-04-07  Thomas Quinot  <quinot@adacore.com>
10493
10494         * exp_ch3.adb: Minor rewording (comments)
10495
10496 2009-04-07  Robert Dewar  <dewar@adacore.com>
10497
10498         * exp_disp.adb: Minor reformatting
10499
10500 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
10501
10502         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
10503         underlying type.
10504         * gcc-interface/trans.c (lvalue_required_p): Likewise.
10505
10506 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
10507
10508         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
10509         Do not convert the result.  Remove obsolete comment.
10510
10511 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
10512
10513         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
10514         DECL_CONTEXT.
10515         (Subprogram_Body_to_gnu): Fix pasto.
10516
10517 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
10518
10519         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
10520         (void_type_decl_node): Remove.
10521         (init_gigi_decls): Likewise.
10522         (gnat_install_builtins): Declare.
10523         (record_builtin_type): Likewise.
10524         (create_type_stub_decl): Likewise.
10525         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
10526         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
10527         artificial.
10528         <E_Array_Subtype>: Use the index types, not only their name, in the
10529         record giving the names of the bounds, if any.
10530         For a packed array type, make it artificial only if the base type
10531         was artificial as well.  Remove redundant statement.
10532         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
10533         dummy types.
10534         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
10535         (rest_of_type_decl_compilation_no_defer): Likewise.
10536         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
10537         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
10538         and use create_type_stub_decl to build it.
10539         (gnat_pushdecl): Rewrite condition.
10540         (gnat_install_builtins): Remove bogus declaration.
10541         (record_builtin_type): New function.
10542         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
10543         of types.
10544         (create_type_stub_decl): New function.
10545         (create_type_decl): Assert that the type is not dummy.  If the type
10546         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
10547         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
10548         (build_vms_descriptor): Likewise.
10549         (init_gigi_decls): Delete and move bulk of code to...
10550         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
10551         (emit_range_check): Add gnat_node parameter.
10552         (emit_index_check): Likewise.
10553         (emit_check): Likewise.
10554         (build_unary_op_trapv): Likewise.
10555         (build_binary_op_trapv): Likewise.
10556         (convert_with_check): Likewise.
10557         (Attribute_to_gnu): Adjust calls for above changes.
10558         (call_to_gnu): Likewise.
10559         (gnat_to_gnu): Likewise.
10560         (assoc_to_constructor): Likewise.
10561         (pos_to_constructor): Likewise.
10562         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
10563         (process_type): Do not create TYPE_DECL for dummy types.
10564
10565 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
10566
10567         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
10568         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
10569         * gcc-interface/utils.c: Fix comments.
10570
10571 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
10572
10573         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
10574         move around.
10575         (gnat_to_gnu_type): Move around.
10576         (get_unpadded_type): Likewise.
10577         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
10578         Tidy comments.
10579
10580 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
10581
10582         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
10583         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
10584         (call_to_gnu): Invoke it instead of manually checking.
10585
10586 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
10587
10588         * gcc-interface/utils.c (finish_record_type): Force structural equality
10589         checks if the record type is discriminated.
10590
10591 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
10592
10593         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
10594         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
10595         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
10596         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
10597         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
10598         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
10599         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
10600
10601 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
10602
10603         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
10604         of TREE_CONSTANT_OVERFLOW.
10605
10606 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
10607
10608         PR rtl-optimization/323
10609         * gcc-interface/misc.c (gnat_post_options): Set
10610         flag_excess_precision_cmdline.  Give an error for
10611         -fexcess-precision=standard for processors where the option is
10612         significant.
10613
10614 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
10615
10616         PR c/39323
10617         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
10618         on bit_align.
10619
10620 2009-03-11  Olivier Hainque  <hainque@adacore.com>
10621
10622         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
10623         checks processing, remove unintended TREE_TYPE walk on index type.
10624
10625 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
10626
10627         PR ada/39264
10628         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
10629         call make_packable_type on fat pointer types.
10630         <E_Array_Subtype>: Likewise.
10631         <E_Record_Subtype>: Call make_packable_type on all record types
10632         except for fat pointer types.
10633         (make_packable_type): Likewise.
10634         (gnat_to_gnu_field): Likewise.
10635
10636 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
10637
10638         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
10639         EH_MECHANISM change made on 2007-12-06.
10640
10641 2009-02-26  Andreas Schwab  <schwab@suse.de>
10642
10643         PR ada/39172
10644         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
10645         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
10646         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
10647         (AWK): Substitute.
10648         (target_cpu_default): Substitute.
10649
10650 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
10651
10652         PR ada/39221
10653         * a-teioed.adb (Expand): Fix Result overflow.
10654
10655 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
10656
10657         * gcc-interface/Makefile.in: Fix multilib handling for
10658         sparc64-linux.
10659
10660 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10661
10662         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
10663
10664 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
10665
10666         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
10667
10668 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
10669
10670         * gcc-interface/deftarg.c: Remove.
10671
10672 2009-02-10  Olivier Hainque  <hainque@adacore.com>
10673             Eric Botcazou  <ebotcazou@adacore.com>
10674
10675         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
10676         (copy_alias_set): Rename into...
10677         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
10678         underlying array of unconstrained arrays for the new type as well.
10679         If the old and new alias sets don't conflict, make one a subset of
10680         the other as per the OP parameter.
10681         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
10682         <E_Record_Type>: Do not copy the alias set for derived types.
10683         For all types, make the alias set of derived types a superset of
10684         that of their parent type.
10685         (make_aligning_type): Adjust calls to copy_alias_set.
10686         (make_packable_type): Likewise.
10687         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
10688         Check for alias set conflict instead of strict equality to issue the
10689         warning.
10690
10691 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
10692
10693         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
10694         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
10695         (copy_alias_set): Assert that arrays have the same aliasing settings.
10696         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
10697
10698 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
10699
10700         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
10701         Set TYPE_NONALIASED_COMPONENT on the array type.
10702
10703 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
10704
10705         * gcc-interface/Makefile.in: Fix mipsel linux handling.
10706
10707 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
10708
10709         * gcc-interface/Makefile.in: Fix multilib handling for
10710         powerpc64-linux.
10711
10712 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
10713
10714         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
10715         only useless conversions around renamed objects.
10716
10717 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
10718
10719         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
10720         the _Tag field before any discriminants in the field list.
10721         (components_to_record): Remove obsolete comment.
10722
10723
10724 \f
10725 Copyright (C) 2009 Free Software Foundation, Inc.
10726
10727 Copying and distribution of this file, with or without modification,
10728 are permitted in any medium without royalty provided the copyright
10729 notice and this notice are preserved.