OSDN Git Service

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