OSDN Git Service

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