OSDN Git Service

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