OSDN Git Service

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