OSDN Git Service

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