OSDN Git Service

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