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