OSDN Git Service

6a652be62cd75d7b223fd41e22cfb30e1072ab0f
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2009-05-24  Olivier Hainque  <hainque@adacore.com>
2
3         * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
4         * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
5         Add -auxbase variants to the list of recognized internal switches.
6         * back_end.adb (Scan_Back_End_Switches): Use the new functions and
7         adjust comments.
8         * lib.ads: Make comment on internal GCC switches more general.
9         * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
10         as for C.       
11         
12 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
13
14         * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
15
16 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
17
18         * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
19         types.
20
21 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
22
23         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
24         original type because of the alignment when there is an address clause.
25
26 2009-05-20  Eric Botcazou  <ebotcazou@adacore.com>
27
28         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
29         discriminants affect the shape of the subtype, retrieve the GCC type
30         directly from the original field if the GNAT types for the field and
31         the original field are the same.
32
33 2009-05-15  Eric Botcazou  <ebotcazou@adacore.com>
34
35         * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
36         New macros.
37         (TYPE_RM_VALUES): Likewise.
38         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
39         (SET_TYPE_RM_SIZE): New macro.
40         (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
41         (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
42         (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
43         * gcc-interface/gigi.h (create_range_type): Declare.
44         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
45         Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
46         <E_Signed_Integer_Subtype>: Build a regular integer type first and
47         then set the RM bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
48         <E_Floating_Point_Subtype>: Build a regular floating-point type first
49         and then set the RM bounds.
50         <E_Array_Type>: Use create_range_type instead of build_range_type.
51         <E_Array_Subtype>: Build a regular integer type first and then set
52         the RM bounds for the extra subtype.
53         <E_String_Literal_Subtype>: Use create_range_type instead of
54         build_range_type.
55         <all>: Set the RM bounds for enumeration types and the GCC bounds for
56         floating-point types.
57         (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
58         (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
59         to set the bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
60         (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
61         types and with RM bounds for subtypes.
62         * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
63         (gnat_print_type) <REAL_TYPE>: New case.
64         <ENUMERAL_TYPE>: Fall through to above case.
65         (gnat_get_subrange_bounds): New function.
66         * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
67         TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
68         * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
69         for booleans.  Adjust and use SET_TYPE_RM_SIZE to set the RM size.
70         (create_range_type): New function.
71         (create_param_decl): Build a regular integer type first and then set
72         the RM bounds for the extra subtype.
73         (unchecked_convert): Remove kludge for 'Valid.
74         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
75         the index to sizetype instead of TYPE_DOMAIN.
76
77 2009-05-14  Eric Botcazou  <ebotcazou@adacore.com>
78
79         * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
80         parameter and move check for static expression to...
81         (elaborate_expression): ...here.  Adjust call to above function.
82         (gnat_to_gnu_entity): Likewise for all calls.  Use correct arguments
83         in calls to elaborate_expression.
84         (elaborate_entity): Likewise.
85         (substitution_list): Likewise.
86         (maybe_variable): Fix formatting.
87         (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
88         missing guard.
89         * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
90
91 2009-05-07  Arnaud Charlet  <charlet@adacore.com>
92
93         * gcc-interface/Make-lang.in: Update dependencies.
94
95 2009-05-06  Laurent GUERBY  <laurent@guerby.net>
96
97         * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
98         Define sa_handler_pos.
99         * s-osinte-linux.ads: Use it.
100         * s-linux-mipsel.ads: New.
101         * system-linux-mips64el.ads: New.
102         * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
103         mips64el-linux.
104
105 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
106
107         * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
108         targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
109         opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
110         (Tagged_Type_Expansion): New flag.
111         Replace use of VM_Target related to tagged types expansion by
112         Tagged_Type_Expansion, since tagged type expansion is not necessarily
113         linked to VM targets.
114
115 2009-05-06  Robert Dewar  <dewar@adacore.com>
116
117         * sem_attr.adb: Add processing for Standard'Compiler_Version
118
119         * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
120         skipping.
121         (Expr_First_Char): Add ??? comment that paren skipping needs work
122         (Expr_Last_Char): Add ??? comment that paren skipping needs work
123
124         * exp_attr.adb: Add processing for Compiler_Version
125
126         * sem_attr.adb: New attribute Compiler_Version
127
128         * snames.ads-tmpl: Add entries for Compiler_Version attribute
129
130         * gnat_rm.texi: Document Compiler_Version attribute
131
132 2009-05-06  Robert Dewar  <dewar@adacore.com>
133
134         * errout.adb: Minor reformatting
135
136         * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
137         sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
138         styleg.adb: Add stylized comments to error messages that are included
139         in the codefix circuitry of IDE's such as GPS.
140
141 2009-05-06  Sergey Rybin  <rybin@adacore.com>
142
143         * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
144         new form of the rule parameter that allows to specify the suffix for
145         access-to-access type names.
146
147 2009-05-06  Robert Dewar  <dewar@adacore.com>
148
149         * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
150         out parameter assigned when exception handlers are present.
151
152         * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
153         assignments on exit.
154
155         * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
156         sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
157         prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
158         par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
159         messages that are included in the codefix circuitry of IDE's such as
160         GPS.
161
162         * sinput.ads, sinput.adb (Expr_First_Char): New function
163         (Expr_Last_Char): New function
164
165 2009-05-06  Sergey Rybin  <rybin@adacore.com>
166
167         * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
168         Add formal definition for extra exit point metric
169
170 2009-05-06  Pascal Obry  <obry@adacore.com>
171
172         * adaint.c: Support for setting attributes on unicode filename on
173         Windows.
174
175 2009-05-06  Robert Dewar  <dewar@adacore.com>
176
177         * sem_warn.adb: Minor reformatting
178
179 2009-05-06  Javier Miranda  <miranda@adacore.com>
180
181         * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
182         not have discriminants or components with default expressions.
183         (Analyze_Pragma): For pragma CPP_Class check that imported types
184         have no discriminants and components have no default expression.
185
186         * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
187         class-wide types in the expression of a record component association.
188
189 2009-05-06  Sergey Rybin  <rybin@adacore.com>
190
191         * vms_data.ads: Add qualifier for gnatmetric extra exit points metric
192
193         * gnat_ugn.texi: Add description for the new extra exit points metric
194         (gnatmetric section).
195
196 2009-05-06  Robert Dewar  <dewar@adacore.com>
197
198         * s-fileio.adb: Minor comment update
199
200         * sem_ch8.adb: Minor reformatting
201
202         * exp_ch3.adb: Update comments.
203
204 2009-05-06  Tristan Gingold  <gingold@adacore.com>
205
206         * init.c, s-osinte-darwin.ads: Reduce alternate stack size
207
208 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
209
210         * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
211         Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
212
213         * gcc-interface/Make-lang.in: Update dependencies
214
215 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
216
217         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
218         change. The context clause of a generic instance declaration must be
219         preserved until the end of the compilation, because it may have to be
220         installed/removed repeatedly.
221         The latest change to sem.adb ensures that the context of both spec and
222         body of an instance is traversed before the instance itself, making
223         this patch redundant.
224
225 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
226
227         * sem_aggr.adb: Fix typo.
228
229 2009-05-06  Thomas Quinot  <quinot@adacore.com>
230
231         * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
232         declaration, do not adjust if the declaration is to be rewritten into
233         a renaming.
234
235 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
236
237         * sem_ch8.adb (Find_Type): Reject the use of a task type in its own
238         discriminant part.
239
240 2009-05-06  Bob Duff  <duff@adacore.com>
241
242         * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
243         otherwise the compiler would be allowed to optimize away the cleanup
244         code.
245
246 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
247
248         * gnat_ugn.texi: Fix typo.
249
250 2009-05-06  Thomas Quinot  <quinot@adacore.com>
251
252         * g-debuti.adb: Minor reformatting
253
254         * exp_attr.adb: Minor reformatting
255
256 2009-05-06  Robert Dewar  <dewar@adacore.com>
257
258         * sem_aggr.adb: Minor reformatting.
259
260         * g-socthi-vms.adb: Minor reformatting
261
262 2009-05-06  Bob Duff  <duff@adacore.com>
263
264         * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
265         (Append_All): Add Append_All to g-table and g-dyntab, similar to table.
266
267 2009-05-06  Bob Duff  <duff@adacore.com>
268
269         * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
270         flags.
271
272 2009-05-06  Javier Miranda  <miranda@adacore.com>
273
274         * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
275         (Resolve_Extension_Aggregate): Do not reject C++ constructors in
276         extension aggregates.
277         (Resolve_Record_Aggregate): Add support for C++ constructors in
278         extension aggregates.
279
280         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
281         constructors in extension aggregates.
282
283 2009-05-06  Robert Dewar  <dewar@adacore.com>
284
285         * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
286         clause.
287
288 2009-05-06  Thomas Quinot  <quinot@adacore.com>
289
290         * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
291         packed type, since on OpenVMS, struct msghdr is packed.
292
293 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
294
295         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
296         call returning an unconstrained composite value, create the proper
297         subtype for it, as is done for object dclarations with unconstrained
298         nominal subtypes. Perform this transformation regarless of whether
299         call comes from source.
300
301 2009-05-06  Robert Dewar  <dewar@adacore.com>
302
303         * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
304         records
305
306         * gnat_rm.texi:
307         Add documentation for pragma Implicit_Packing applied to record
308         types.
309
310 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
311
312         * sem.adb (Walk_Library_Items): Place all with_clauses of an
313         instantiation on the spec, because late instance bodies may generate
314         with_clauses for the instance body but are inserted in the instance
315         spec.
316
317 2009-05-06  Emmanuel Briot  <briot@adacore.com>
318
319         * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
320         support for returning the directory even if it doesn't exist. This is
321         used for the object directory, since we are always setting it to a
322         non-null value, and we should set it to an absolute name rather than a
323         relative name for the sake of external tools that might depend on it.
324         (Check_Library_Attributes): When Project.Library_Dir is known, check
325         that the directory exists.
326
327 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
328
329         * sem_attr.adb (Check_Dereference): If the prefix of an attribute
330         reference is an implicit dereference, do not freeze the designated type
331         if within a default expression or when preanalyzing a pre/postcondtion.
332
333 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
334
335         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
336         call returning an unconstrained composite value, create the proper
337         subtype for it, as is done for object dclarations with unconstrained
338         nominal subtypes
339
340 2009-05-06  Robert Dewar  <dewar@adacore.com>
341
342         * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
343         improvements
344
345         * freeze.adb: Minor reformatting
346
347 2009-05-06  Thomas Quinot  <quinot@adacore.com>
348
349         * sem_ch3.adb (Access_Type_Declaration): An access type whose
350         designated type is a limited view from a limited with clause (flagged
351         From_With_Type) is not itself such a limited view.
352
353 2009-05-06  Emmanuel Briot  <briot@adacore.com>
354
355         * prj-nmsc.adb: Remove unused variable.
356
357         * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
358         prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
359         makeutl.ads, since not all users of prj.ads need this.
360
361 2009-05-06  Javier Miranda  <miranda@adacore.com>
362
363         * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
364         constructor in case of aggregates whose type is a CPP_Class type.
365
366 2009-05-06  Robert Dewar  <dewar@adacore.com>
367
368         * sem_ch13.adb: Minor comment additions
369
370         * osint.adb: Minor reformatting
371
372 2009-05-06  Pascal Obry  <obry@adacore.com>
373
374         * initialize.c: On Windows, keep full pathname to expanded command
375         line patterns.
376
377 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
378
379         * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
380         an aggregate with box default is of a discriminated private type, do
381         not build a subaggregate for it.
382         A proper call to the initialization procedure is generated for it.
383
384 2009-05-06  Thomas Quinot  <quinot@adacore.com>
385
386         * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
387         (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
388         Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
389         use standard array code for Standard.String.
390         (Exp_Dist): Bump PolyORB s-parint API version to 3.
391         (Rtsfind): New entities TA_Std_String, Unbounded_String.
392
393 2009-05-06  Robert Dewar  <dewar@adacore.com>
394
395         * g-comlin.ads: Minor reformatting
396
397         * xoscons.adb: Minor reformatting
398
399 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
400
401         * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
402         Underlying_Type before retrieving the type definition for gathering
403         components, to account for the case where the type is private.
404
405 2009-05-06  Tristan Gingold  <gingold@adacore.com>
406
407         * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
408
409 2009-05-06  Thomas Quinot  <quinot@adacore.com>
410
411         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
412         g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
413         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
414         (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
415         Windows versions): Fix incorrect base
416         address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
417         (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
418         System.Address for the To parameter instead of a Sockaddr_In_Access, to
419         achieve independance from AF_INET family, and also to allow this
420         parameter to be retrieved from a Msghdr for the Windows case where
421         these routines are used to implement C_Sendmsg and C_Recvmsg.
422
423 2009-05-06  Bob Duff  <duff@adacore.com>
424
425         * g-expect.adb, g-expect.ads: Minor reformatting
426
427         * sdefault.ads: Minor comment fix
428
429         * g-expect-vms.adb: Minor reformatting
430
431         * table.ads, table.adb (Append_All): New convenience procedure for
432         appending a whole array.
433
434         * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
435         box message. Call Osint.Dump_Source_File_Names to print out the file
436         list, instead of rummaging around in various data structures.
437
438         * debug.adb: New switch -gnatd.n, to print source file names as they
439         are read.
440
441         * alloc.ads: Add parameters for Osint.File_Name_Chars.
442
443         * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
444         out source file names during a "bug box".
445         (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
446         (Read_Source_File): Print out the file name, if requested via -gnatd.n.
447         If it's not part of the runtimes, store it for later printing by
448         Dump_Source_File_Names.
449
450 2009-05-06  Javier Miranda  <miranda@adacore.com>
451
452         * gnat_rm.texi (CPP_Constructor): Avoid duplication of the
453         documentation and add reference to the GNAT user guide for further
454         details.
455
456 2009-05-06  Javier Miranda  <miranda@adacore.com>
457
458         * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
459         also wrong examples that use extension aggregates.
460
461 2009-05-06  Albert Lee  <lee@adacore.com>
462
463         * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
464         of Msg_Iovlen_T for VMS.
465
466 2009-05-04   Laurent GUERBY  <laurent@guerby.net>
467
468         PR ada/38874
469         * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
470         
471 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
472
473         * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
474         box-defaulted operator in an instantiation, when the type of the
475         operands is not directly visible.
476
477 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
478
479         * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
480         (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
481         analysis of the ancestor part. Remove prohibition against limited
482         interpretations of the ancestor expression in the case of Ada 2005.
483         Revise error message in overloaded case, adding a message to cover
484         the Ada 2005 case.
485
486 2009-04-29  Thomas Quinot  <quinot@adacore.com>
487
488         * xoscons.adb: Minor reformatting
489
490 2009-04-29  Bob Duff  <duff@adacore.com>
491
492         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
493         attribute_definition_clauses for the following attributes when the
494         -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
495         Storage_Size, Write. Otherwise, we get spurious errors (for example,
496         missing Read attribute on remote types).
497
498         * gnat_ugn.texi: Document the change, and add a stern warning.
499
500 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
501
502         * sem_attr.adb (Check_Local_Access): Indicate that value tracing is
503         disabled not just for the current scope, but for the innermost dynamic
504         scope as well.
505
506 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
507
508         * gcc-interface/Make-lang.in: Update dependencies
509
510 2009-04-29  Vincent Celier  <celier@adacore.com>
511
512         * prj-part.adb: Minor comment update
513
514 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
515
516         * sem_aggr.adb (Resolve_Record_Aggregate): handle properly
517         box-initialized records with discriminated subcomponents that are
518         constrained by discriminants of enclosing components. New subsidiary
519         procedures Add_Discriminant_Values, Propagate_Discriminants.
520
521 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
522
523         * g-socket.adb: Code clean up.
524
525 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
526
527         * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
528         function entity, to cover the case of a parameterless function call
529         that has not been resolved.
530
531 2009-04-29  Robert Dewar  <dewar@adacore.com>
532
533         * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
534         reformatting and comment updates.
535
536 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
537
538         * gnat_ugn.texi: Update some documentation about interfacing with C++
539         Mention -fkeep-inline-functions.
540
541         * gnat_ugn.texi: Minor edits
542
543 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
544
545         * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
546         for a defaulted component of an enclosing aggregate, inherit the type
547         from the component declaration of the enclosing type. 
548
549 2009-04-29  Albert Lee  <lee@adacore.com>
550
551         * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
552         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
553         (System.OS_Constants): New type Msg_Iovlen_T which follows whether the
554         msg_iovlen field in struct msghdr is 32 or 64 bits wide.
555         Relocate the Msghdr record type from GNAT.Sockets.Thin to
556         GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
557         type for the Msg_Iovlen field.
558
559 2009-04-29  Vincent Celier  <celier@adacore.com>
560
561         * sinput-l.adb (Load_File): When preprocessing, set temporarily the
562         Source_File_Index_Table entries for the source, to avoid crash when
563         reporting an error.
564
565         * gnatcmd.adb (Test_If_Relative_Path): Use
566         Makeutl.Test_If_Relative_Path.
567         
568         * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
569         Including_RTS is True.
570
571         * makeutl.ads (Test_If_Relative_Path): New Boolean parameter
572         Including_RTS defaulted to False.
573
574         * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
575         a default value.
576
577 2009-04-29  Javier Miranda  <miranda@adacore.com>
578
579         * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
580
581 2009-04-29  Javier Miranda  <miranda@adacore.com>
582
583         * sem_ch3.adb (Analyze_Object_Declaration): Disable error message
584         associated with dyamically tagged expressions if the expression
585         initializing a tagged type corresponds with a non default CPP
586         constructor.
587         (OK_For_Limited_Init): CPP constructor calls are OK for initialization
588         of limited type objects.
589
590         * sem_ch5.adb (Analyze_Assignment): Improve the error message reported
591         when a CPP constructor is called in an assignment. Disable also the
592         error message associated with dyamically tagged expressions if the
593         exporession initializing a tagged type corresponds with a non default
594         CPP constructor.
595
596         * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
597         non-default C++ constructors.
598
599         * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
600
601         * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
602         non-default constructors.
603         (Init_Proc): Add support for non-default constructors.
604
605         * exp_disp.adb (Set_Default_Constructor): Removed.
606         (Set_CPP_Constructors): Code based in removed Set_Default_Constructor
607         but extending its functionality to handle non-default constructors.
608
609         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
610         constructors. Minor code cleanup removing unrequired label and goto
611         statement.
612
613         * exp_ch3.adb (Build_Initialization_Call): Add support for non-default
614         constructors.
615         (Build_Init_Statements): Add support for non-default constructors.
616         (Expand_N_Object_Declaration): Add support for non-default constructors.
617         (Freeze_Record_Type): Replace call to Set_Default_Constructor by call
618         to Set_CPP_Constructors.
619
620         * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
621         non-default constructors.
622         Required to handle its use in build-in-place statements.
623
624         * gnat_rm.texi (CPP_Constructor): Document new extended use of this
625         pragma for non-default C++ constructors and the new compiler support
626         that allows the use of these constructors in record components, limited
627         aggregates, and extended return statements.
628
629 2009-04-29  Vincent Celier  <celier@adacore.com>
630
631         * prj-part.adb (Parse_Single_Project): Do not attempt to find a
632         project extending an abstract project.
633
634 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
635
636         * targparm.ads: Fix oversight.
637
638 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
639
640         * lib-xref.adb (Output_Overridden_Op): Follow several levels of
641         derivation when necessary, to find the user-subprogram that is actally
642         being overridden.
643
644 2009-04-29  Robert Dewar  <dewar@adacore.com>
645
646         * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
647         components
648
649 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
650
651         * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
652         primitive operation, rather than source line of synchronized type, when
653         building the wrapper for a primitive operation that overrides an
654         operation inherited from a progenitor, to improve the error message on
655         duplicate declarations.
656
657         * sem_ch3.adb (Process_Full_View): Use new signature of
658         Build_Wrapper_Spec.
659
660 2009-04-29  Robert Dewar  <dewar@adacore.com>
661
662         * prj-nmsc.ads: Minor reformatting
663
664 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
665
666         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
667         expression on the existing parent If statement.
668
669 2009-04-29  Robert Dewar  <dewar@adacore.com>
670
671         * prj-proc.adb, prj.ads: Minor reformatting
672
673 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
674
675         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
676         existing parent If statement on the newly created one.
677
678 2009-04-29  Emmanuel Briot  <briot@adacore.com>
679
680         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
681         prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
682         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
683         (Set_In_Configuration, In_Configuration): Removed.
684         Replaced by an extra parameter Is_Config_File in several parameter to
685         avoid global variables to store the state of the parser.
686
687 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
688
689         * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
690         with_clauses generated for the same unit through rtsfind, and that
691         appear in the context of different units.
692
693         * rtsfind.adb: New attribute First_Implicit_With, component of the
694         Unit_Record that stores information about a unit loaded through rtsfind.
695
696 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
697
698         * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
699         (other conditions permitting), so that abstract stream subprograms will
700         be declared for them.
701
702 2009-04-29  Bob Duff  <duff@adacore.com>
703
704         * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
705
706         * g-expect.ads: Minor comment fixes.
707
708 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
709
710         * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
711         dispatching operation is a body without previous spec, update the list
712         of primitive operations to ensure that cross-reference information is
713         up-to-date.
714
715 2009-04-29  Albert Lee  <lee@adacore.com>
716
717         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
718         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
719         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
720         (GNAT.Sockets.Thin.C_Readv,
721         GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
722         (GNAT.Sockets.Thin.C_Recvmsg,
723         GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
724         sendmsg(2).  
725         (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
726         C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
727
728 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
729
730         * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
731         operation is a body without previous spec, update the list of
732         primitive operations to ensure that cross-reference information is
733         up-to-date.
734
735         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
736         new compilation unit node for the instance declaration, keep the
737         context items of the original unit on it, so that the context of the
738         instance body only holds the context inherited from the generic body.
739
740 2009-04-29  Bob Duff  <duff@adacore.com>
741
742         * sem_res.adb: Minor comment fix.
743
744 2009-04-29  Thomas Quinot  <quinot@adacore.com>
745
746         * sem_elim.adb: Minor reformatting
747
748 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
749
750         * exp_aggr.adb (Convert_To_Positional): if the current unit is a
751         predefined unit, allow arbitrary number of components in static
752         aggregate, to ensure that the same level of constant folding applies
753         for Ada 95 and Ada 05 versions of the file.
754
755 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
756
757         * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
758         information: no need for full scope check.
759         (Eliminate_Error): Do not emit error in a generic context.
760
761 2009-04-29  Ed Falis  <falis@adacore.com>
762
763         * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
764         VxWorks 653 POS does not support rmdir.
765
766 2009-04-29  Matteo Bordin  <bordin@adacore.com>
767
768         * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
769         results are printed.
770
771 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
772
773         * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
774         unused assignment.
775
776 2009-04-29  Thomas Quinot  <quinot@adacore.com>
777
778         * make.adb: Minor reformatting.
779         Minor code reorganization throughout.
780
781 2009-04-29  Matteo Bordin  <bordin@adacore.com>
782
783         * s-stausa.ads: Changed visibility of type Task_Result: moved to
784         public part to give application visibility over it.
785         This is for future improvement and to build a public API on top of it.
786         Changed record components name of type Task_Result to reflect the new
787         way of reporting. 
788
789         * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
790         reporting Stack usage.
791
792         * gnat_ugn.texi: Update doc of stack usage report.
793
794         * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
795
796         * Makefile.rtl: Add new run-time files.
797
798 2009-04-29  Pascal Obry  <obry@adacore.com>
799
800         * initialize.c: Do not expand quoted arguments.
801
802 2009-04-29  Emmanuel Briot  <briot@adacore.com>
803
804         * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
805
806         * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
807          Prj.Ultimate_Extending_Project_Of
808
809 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
810
811         * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
812         Amendment type, add the with_clause for Finalization.List_Controller
813         only if the current context is a package body.
814
815 2009-04-29  Thomas Quinot  <quinot@adacore.com>
816
817         * sem_ch12.adb: Minor reformatting
818
819         * sem_aggr.adb: Minor reformatting
820
821         * sem_ch6.adb, sem_cat.ads: Minor reformatting
822
823         * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
824
825 2009-04-29  Quentin Ochem  <ochem@adacore.com>
826
827         * prj.ads (Source_Id): Now general pointer type.
828
829 2009-04-29  Thomas Quinot  <quinot@adacore.com>
830
831         * exp_ch7.adb, rtsfind.adb: Minor reformatting
832
833         * sem_res.adb: Minor reformatting
834
835 2009-04-29  Thomas Quinot  <quinot@adacore.com>
836
837         * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
838         operands is static only if it is a predefined concatenation operator.
839
840         * sem_util.adb: Minor reformatting
841
842         * sem_ch12.adb (Save_References): When propagating semantic information
843         from generic copy back to generic template, for the case of an
844         identifier that has been rewritten to an explicit dereference whose
845         prefix is either an object name or a parameterless funcion call
846         denoting a global object or function, properly capture the denoted
847         global entity: perform the corresponding rewriting in the template,
848         and point the rewritten identifier to the correct global entity (not
849         to the associated identifier in the generic copy).
850
851 2009-04-29  Robert Dewar  <dewar@adacore.com>
852
853         * rtsfind.adb, prj-env.adb: Minor reformatting
854         Minor code reorganization
855
856 2009-04-29  Emmanuel Briot  <briot@adacore.com>
857
858         * make.adb: Fix comment
859
860         * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
861         is given as argument, as might happen in gnatmake.
862
863 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
864
865         * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
866         an abstract operation of a progenitor is not properly overridden by an
867         operation of a derived synchronized type.
868
869 2009-04-29  Robert Dewar  <dewar@adacore.com>
870
871         * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
872         prj-proc.adb: Minor reformatting
873         Minor code reorganization
874
875 2009-04-29  Bob Duff  <duff@adacore.com>
876
877         * exp_ch7.adb (Build_Final_List): For an access type that designates a
878         Taft Amendment type, if the access type needs finalization, make sure
879         the implicit with clause for List_Controller occurs on the package spec.
880
881         * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
882         with's created for the pseudo-children of Text_IO and friends. In
883         particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
884         Ada.Text_IO.Integer_IO both with-ing each other.
885
886         * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
887         oddball cases when pragma Extend_System is used.
888
889         * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
890         the case where a package spec instantiates a generic whose body with's
891         this package, so Walk_Library_Items won't complain about cyclic with's.
892
893 2009-04-29  Emmanuel Briot  <briot@adacore.com>
894
895         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
896         prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
897         mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
898         (Project_Id): now a real pointer to Project_Data, instead of an index
899         into the Projects_Table. This simplifies the API significantly, avoiding
900         extra lookups in this table and the need to pass the Project_Tree_Ref
901         parameter in several cases
902
903 2009-04-29  Nicolas Setton  <setton@adacore.com>
904
905         * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
906         darwin.
907
908 2009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
909
910         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
911         back kludge.
912
913 2009-04-24  Robert Dewar  <dewar@adacore.com>
914
915         * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
916         clean.adb: Minor reformatting.
917         Minor code reorganization and message improvement.
918
919 2009-04-24  Emmanuel Briot  <briot@adacore.com>
920
921         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
922         (Alternate_Languages): now implemented as a malloc-ed list rather
923         than through a table.
924
925 2009-04-24  Thomas Quinot  <quinot@adacore.com>
926
927         * sem_res.adb (Static_Concatenation): Simplify predicate to make it
928         accurately handle cases such as "lit" & "lit" and
929         "lit" & static_string_constant
930
931 2009-04-24  Emmanuel Briot  <briot@adacore.com>
932
933         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
934         prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
935         removed. Lists of projects are now implemented via standard malloc
936         rather than through the table.
937
938 2009-04-24  Thomas Quinot  <quinot@adacore.com>
939
940         * sem_ch12.adb: Minor reformatting
941
942         * g-trasym.adb: Minor reformatting
943
944         * exp_ch6.adb: Minor reformatting
945
946 2009-04-24  Robert Dewar  <dewar@adacore.com>
947
948         * layout.adb (Layout_Type): For packed array type, copy unset
949         size/alignment fields from the referenced Packed_Array_Type.
950
951 2009-04-24  Bob Duff  <duff@adacore.com>
952
953         * lib-load.adb (Make_Instance_Unit): Revert previous change, no
954         longer needed after sem_ch12 changes.
955
956         * sem.adb (Walk_Library_Items): Include with's in some debugging
957         printouts.
958
959 2009-04-24  Emmanuel Briot  <briot@adacore.com>
960
961         * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
962         only ever using the Project field.
963
964 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
965
966         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
967         Body_Required on the generated compilation node. The new node is linked
968         to its body, but both share the same file, so we do not set this flag
969         on the new unit so as not to create a spurious dependency on a
970         non-existent body in the ali file for the instance.
971
972 2009-04-24  Robert Dewar  <dewar@adacore.com>
973
974         * make.adb: Minor reformatting
975
976 2009-04-24  Emmanuel Briot  <briot@adacore.com>
977
978         * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
979         Add_Source): merge some code between those. In particular change where
980         file normalization is done to avoid a few extra calls to
981         Canonicalize_File_Name. This also removes the need for passing
982         Current_Dir in a number of subprograms.
983
984 2009-04-24  Bob Duff  <duff@adacore.com>
985
986         * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
987         False, assign the correct unit to the Cunit field of the new table
988         entry. We want the spec unit, not the body unit.
989
990         * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
991         interface for these.
992         (Maybe_Add_With): Check whether we're trying to a with on the current
993         unit, and avoid creating such directly self-referential with clauses.
994         (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
995         [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
996         and matches existing comments in the spec.
997
998         * sem.adb (Walk_Library_Items): Add various special cases to make the
999         assertions pass.
1000
1001         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
1002         instead of Parent (N), for uniformity.
1003
1004 2009-04-24  Robert Dewar  <dewar@adacore.com>
1005
1006         * errout.ads: Minor reformatting
1007
1008 2009-04-24  Emmanuel Briot  <briot@adacore.com>
1009
1010         * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
1011         behavior when the project includes sources from multiple languages
1012
1013 2009-04-24  Vincent Celier  <celier@adacore.com>
1014
1015         * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
1016         is a language other than Ada declared.
1017
1018         * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
1019         Imported_First set to True.
1020
1021 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
1022
1023         * sem_res.adb: additional optimization to inhibit creation of
1024         redundant transient scopes.
1025
1026 2009-04-24  Bob Duff  <duff@adacore.com>
1027
1028         * rtsfind.ads: Minor comment fix
1029
1030 2009-04-24  Emmanuel Briot  <briot@adacore.com>
1031
1032         * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
1033         Get_Path_Name_And_Record_Ada_Sources): merged, since these were
1034         basically doing the same work (for explicit or implicit sources).
1035         (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
1036         role. Rewritten to share some code (testing that all explicit sources
1037         have been found) between ada_only and multi_language modes.
1038
1039 2009-04-24  Jerome Lambourg  <lambourg@adacore.com>
1040
1041         * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
1042         for CLI imported types.
1043         (Analyze_Pragma): Allow CIL or Java imported functions returning
1044         access-to-subprogram types.
1045
1046 2009-04-24  Emmanuel Briot  <briot@adacore.com>
1047
1048         * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
1049         (Project_Data.Dir_Path): field removed, since it can be computed
1050         directly from .Directory, and is needed only once when processing the
1051         project is buildgpr.adb or make.adb
1052
1053 2009-04-24  Robert Dewar  <dewar@adacore.com>
1054
1055         * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
1056         rtsfind.adb: Minor reformatting.
1057         Minor code reorganization
1058
1059 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
1060
1061         * mlib-prj.adb: Use friendlier english identifier.
1062
1063         * gnatcmd.adb, make.adb: Use better english identifiers.
1064
1065 2009-04-24  Robert Dewar  <dewar@adacore.com>
1066
1067         * clean.adb: Minor reformatting
1068
1069 2009-04-24  Robert Dewar  <dewar@adacore.com>
1070
1071         * einfo.adb (OK_To_Rename): New flag
1072
1073         * einfo.ads (OK_To_Rename): New flag
1074
1075         * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
1076         OK_To_Rename set.
1077
1078         * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
1079
1080         * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
1081         OK_To_Rename.
1082
1083 2009-04-24  Emmanuel Briot  <briot@adacore.com>
1084
1085         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
1086         clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
1087         field removed. This is not a property of the
1088         project, just a boolean used to traverse the project tree, and storing
1089         it in the structure prevents doing multiple traversal in parallel.
1090         (Project_Data.Checked): also removed, since it was playing the same role
1091         as Seen when we had two nested loops, and this is no longer necessary
1092         (For_All_Imported_Projects): removed, since in fact there was already
1093         the equivalent in For_Every_Project_Imported. The latter was rewritten
1094         to use a local hash table instead of Project_Data.Seen
1095         Various loops were rewritten to use For_Every_Project_Imported, thus
1096         removing the need for Project_Data.Seen. This avoids a lot of code
1097         duplication
1098
1099 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
1100
1101         * sem_res.adb (Resolve_Actuals): Do not create blocks around code
1102         statements, even though the actual of the call is a concatenation,
1103         because the argument is static, and we want to preserve warning
1104         messages  about sequences of code statements that are not marked
1105         volatile.
1106
1107         * sem_warn.adb: remove obsolete comment about warning being obsolete
1108
1109         * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
1110         requeued and the delay has expired while within the accept statement
1111         that executes the requeue, do not perform the requeue and indicate that
1112         the timed call has been aborted.
1113
1114 2009-04-24  Emmanuel Briot  <briot@adacore.com>
1115
1116         * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
1117         (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
1118         (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
1119         since they can be computed from the above.
1120
1121 2009-04-24  Vincent Celier  <celier@adacore.com>
1122
1123         * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
1124
1125         * prj-env.adb: Move all global variables to the private part of the
1126         project tree data.
1127         Access these new components instead of the global variables no longer
1128         in existence.
1129         (Add_To_Path): New Project_Tree_Ref parameter, to access the new
1130         components that were previously global variables.
1131
1132         * prj-env.ads (Initialize): New Project_Tree_Ref parameter
1133         (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
1134         parameter.
1135
1136         * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
1137         be able to call Set_Mapping_File_Initial_State_To_Empty with it.
1138
1139         * prj.adb (Initialize): Do not call Prj.Env.Initialize
1140         (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
1141         components in the private part of the project tree data.
1142
1143         * prj.ads (Private_Project_Tree_Data): new components moved from
1144         Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
1145         Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
1146         Ada_Prj_Objects_File_Set, Fill_Mapping_File.
1147
1148 2009-04-24  Vincent Celier  <celier@adacore.com>
1149
1150         * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
1151
1152         * prj-nmsc.adb (Check_Library): No error for imports by shared library
1153         projects, when --unchecked-shared-lib-imports is used.
1154
1155 2009-04-24  Robert Dewar  <dewar@adacore.com>
1156
1157         * sem_ch7.adb: Minor reformatting
1158
1159 2009-04-24  Tristan Gingold  <gingold@adacore.com>
1160
1161         * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
1162         mach thread id.
1163
1164 2009-04-24  Emmanuel Briot  <briot@adacore.com>
1165
1166         * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
1167         Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
1168         (For_All_Imported_Projects): new procedure
1169         (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
1170         above rather than duplicating code.
1171
1172 2009-04-24  Emmanuel Briot  <briot@adacore.com>
1173
1174         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
1175         (Source_Id, Source_Data): use a real list to store sources rather than
1176         using an external table to store the elements. This makes code more
1177         efficient and more readable.
1178
1179 2009-04-24  Emmanuel Briot  <briot@adacore.com>
1180
1181         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
1182         (Source_Iterator): new type.
1183         This removes the need for having the sources on three different
1184         lists at the project tree, project and language level. They are now
1185         on a single list.
1186
1187 2009-04-24  Emmanuel Briot  <briot@adacore.com>
1188
1189         * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
1190
1191 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
1192
1193         * sem_warn.adb: Add comment on obsolete warning
1194
1195 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
1196
1197         * s-tassta.adb (Create_Task): Fix violation of locking rule.
1198
1199 2009-04-24  Emmanuel Briot  <briot@adacore.com>
1200
1201         * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
1202         to Language_Ptr to better reflect its new implementation.
1203         (Project_Data.First_Languages_Processing): renamed to Languages now
1204         that the field with that name is no longer used
1205         (Project_Data.Languages): removed, no longer used, and duplicates
1206         information already available through First_Language_Processing.
1207         (Prj.Language_Index): now an actual pointer, instead of an index into
1208         a table. This makes the list somewhat more obvious, but more importantly
1209         removes the need to pass a pointer to the project_tree_data in a few
1210         places, and makes accessing the attributes of a languages more
1211         efficient.
1212
1213 2009-04-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1214             Thomas Quinot  <quinot@adacore.com>
1215
1216         * fe.h (Set_Identifier_Casing): Add const to second parameter.
1217         * gcc-interface/misc.c (internal_error_function): Make copy of return
1218         from pp_formatted_text before assigning BUFFER to it.
1219         (gnat_init): Likewise for main_input_filename and gnat_argv.
1220         (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
1221
1222 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
1223
1224         * ttypes.ads (Target_Double_Float_Alignment): New variable.
1225         (Target_Double_Scalar_Alignment): Likewise.
1226         * get_targ.ads (Get_Strict_Alignment): Adjust external name.
1227         (Get_Double_Float_Alignment): New imported function.
1228         (Get_Double_Scalar_Alignment): Likewise.
1229         * layout.adb (Set_Elem_Alignment): Take into account specific caps for
1230         the alignment of "double" floating-point types and "double" or larger
1231         scalar types, as parameterized by Target_Double_Float_Alignment and
1232         Target_Double_Scalar_Alignment respectively.
1233         * gcc-interface/gigi.h (double_float_alignment): Declare.
1234         (double_scalar_alignment): Likewise.
1235         (is_double_float_or_array): Likewise.
1236         (is_double_scalar_or_array): Likewise.
1237         (get_target_double_float_alignment): Likewise.
1238         (get_target_double_scalar_alignment): Likewise.
1239         * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
1240         (get_target_strict_alignment): ...this.
1241         (get_target_double_float_alignment): New function.
1242         (get_target_double_scalar_alignment): Likewise.
1243         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
1244         Test the presence of an alignment clause for under-aligned integer
1245         types.  Take into account specific caps for the alignment of "double"
1246         floating-point types and "double" or larger scalar types, as
1247         parameterized by Target_Double_Float_Alignment and
1248         Target_Double_Scalar_Alignment respectively.
1249         (validate_alignment): Likewise.
1250         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
1251         (gigi): Initialize double_float_alignment and double_scalar_alignment.
1252         * gcc-interface/utils.c (double_float_alignment): New global variable.
1253         (double_scalar_alignment): Likewise.
1254         (is_double_float_or_array): New predicate.
1255         (is_double_scalar_or_array): Likewise.
1256
1257 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
1258
1259         * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
1260         the conditional expression only if it is common to both arms.
1261
1262 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
1263
1264         * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
1265         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
1266         arguments to build_allocator.
1267         * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
1268         Remove code handling special allocator and assert its uselessness.
1269
1270 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
1271
1272         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
1273         alignment is specified, do not promote that of the component type
1274         beyond it.
1275         <E_Array_Subtype>: Likewise.
1276
1277 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
1278
1279         * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
1280         * sinfo.ads (Object Declaration): Likewise.
1281         (Assignment Statement): Likewise.
1282         * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
1283         Do not force Is_True_Constant to false on the temporary.
1284         (Freeze_Entity): Do not force Is_True_Constant to false on names on
1285         the RHS of object declarations.
1286         * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
1287         New case.  Return 1 if the object is atomic.
1288         <N_Assignment_Statement>: Likewise.
1289
1290 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
1291
1292         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
1293         For packed array types, make the original array type a parallel type
1294         for the modular type and its JM wrapper if the type is bit-packed.
1295         <E_Array_Subtype>: Likewise.  Do not generate the special XA parallel
1296         record type for packed array types.  Remove kludge.
1297
1298 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
1299
1300         * gcc-interface/gigi.h (create_index_type): Adjust head comment.
1301         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
1302         Use front-end predicates to compute signedness and precision.
1303         <E_String_Literal_Subtype>: Fold range type.
1304         Make sure to set longest_float_type_node to a scalar type.
1305         (elaborate_entity): Use consistent Constraint_Error spelling.
1306         (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
1307         * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
1308         output for the modulus, if any.
1309         <ENUMERAL_TYPE>: Likewise for the RM size.
1310         * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
1311         spelling.
1312         * gcc-interface/utils.c (finish_record_type): Really test the alignment
1313         of BLKmode bit-fields to compute their addressability.
1314         (create_index_type): Adjust comments.
1315         (create_param_decl): Create the biased subtype manually.
1316         * gcc-interface/utils2.c (build_component_ref): Use consistent
1317         Constraint_Error spelling.
1318
1319 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
1320
1321         * gcc-interface/cuintp.c: Clean up include directives.
1322         * gcc-interface/targtyps.c: Likewise.
1323         * gcc-interface/decl.c: Likewise.
1324         * gcc-interface/misc.c: Likewise.
1325         * gcc-interface/trans.c: Likewise.
1326         * gcc-interface/utils.c: Likewise.
1327         * gcc-interface/utils2.c: Likewise.
1328         * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
1329
1330 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
1331
1332         * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
1333         (SET_TYPE_LANG_SPECIFIC): Likewise.  Fix formatting.
1334         (SET_DECL_LANG_SPECIFIC): Likewise.
1335         Reorder macros.
1336         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
1337         Update comment about use of build_range_type.
1338         <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
1339         <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
1340         check for other cases of overloading.
1341         * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
1342         * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
1343         Use size_int in lieu of build_int_cst.
1344         (build_call_alloc_dealloc): Use build_index_2_type in lieu of
1345         build_range_type.
1346
1347 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
1348
1349         * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
1350         type is an enumeral or a boolean type, change it to an integer type
1351         with the same mode and signedness.
1352
1353 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
1354
1355         * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
1356         for an external constant whose initializer is not absolute.
1357
1358 2009-04-22  Taras Glek  <tglek@mozilla.com>
1359
1360         * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
1361         * gcc-interface/trans.c: Likewise.
1362         * gcc-interface/utils.c: Likewise.
1363
1364 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
1365
1366         * sem_res.adb: Create block around procedure call when actual is a
1367         concatenation.
1368
1369 2009-04-22  Thomas Quinot  <quinot@adacore.com>
1370
1371         * s-soflin.ads: Fix typos
1372
1373 2009-04-22  Vincent Celier  <celier@adacore.com>
1374
1375         * prj-env.adb: Minor comment change
1376
1377         * prj-nmsc.adb (Check_Common): Add guard to avoid calling
1378         Get_Name_String with No_File.
1379
1380         * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
1381         cannot be created even when not in verbose mode.
1382
1383 2009-04-22  Emmanuel Briot  <briot@adacore.com>
1384
1385         * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
1386         prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
1387         Multi_Language modes, to avoid code duplication.
1388         (Project_Data.Include_Language): Removed.
1389
1390 2009-04-22  Vincent Celier  <celier@adacore.com>
1391
1392         * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
1393         the temporary file cannot be created, indicating the directory when the
1394         creation was attempted.
1395
1396 2009-04-22  Emmanuel Briot  <briot@adacore.com>
1397
1398         * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
1399         the language names, not their indices.
1400
1401 2009-04-22  Emmanuel Briot  <briot@adacore.com>
1402
1403         * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
1404         (Source_Data.Language_Name): Field removed.
1405
1406 2009-04-22  Emmanuel Briot  <briot@adacore.com>
1407
1408         * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
1409         Two fields removed.
1410
1411 2009-04-22  Emmanuel Briot  <briot@adacore.com>
1412
1413         * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
1414         separate_suffix to the same value as the body_suffix.
1415
1416 2009-04-22  Robert Dewar  <dewar@adacore.com>
1417
1418         * prj.adb: Minor code reorganization
1419         Code clean up.
1420
1421         * prj-proc.adb: Minor code reorganization, clean up.
1422
1423         * prj-nmsc.adb: Minor reformatting
1424         Minor code reorganization
1425
1426         * gnat_ugn.texi: Add to doc on strict aliasing
1427
1428 2009-04-22  Pascal Obry  <obry@adacore.com>
1429
1430         * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
1431         SpinCount.
1432
1433         * s-tasini.adb: Minor reformatting.
1434
1435         * s-tassta.adb: Minor reformatting.
1436
1437 2009-04-22  Emmanuel Briot  <briot@adacore.com>
1438
1439         * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
1440         smaller subprograms.
1441         Renamed to Check_File_Naming_Schemes to avoid confusion with the
1442         other Check_Naming_Schemes functions that plays a totally different
1443         role.
1444         (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
1445         extracted from the above. These were partially rewritten to avoid
1446         unnecessary code and temporary variables.
1447         (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
1448         and Get_Unit (which for now still exist since they contain mode-specific
1449         code)
1450
1451 2009-04-22  Emmanuel Briot  <briot@adacore.com>
1452
1453         * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
1454         Remove duplicated code.
1455         (Canonical_Case_File_Name): new subprogram
1456         (Check_And_Normalize_Unit_Names): new subprogram
1457         (Write_Attr): new subprogram
1458         Better sharing of code
1459         (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
1460         split Check_Naming and help find duplicated code
1461         (Check_Common): new subprogram, sharing code between ada_only and
1462         multi_language mode.
1463         (Naming_Data.Dot_Repl_Loc): field removed
1464
1465 2009-04-22  Emmanuel Briot  <briot@adacore.com>
1466
1467         * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
1468         Minor refactoring to reduce the size of
1469         Process_Sources_In_Multi_Language_Mode.
1470         Avoid extra copied of Source_Data, which we found in the past could be
1471         quite slow.
1472         (Mark_Excluded_Sources): new subprogram.
1473         (Remove_Locally_Removed_Files_From_Units): merged into the above
1474         Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
1475         and allow better sharing of code between multi_lang and ada_only modes
1476         (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
1477
1478 2009-04-22  Emmanuel Briot  <briot@adacore.com>
1479
1480         * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
1481         Removed, since unused.
1482
1483 2009-04-22  Vincent Celier  <celier@adacore.com>
1484
1485         * prj-attr.adb: New single project level attribute
1486         Separate_Run_Path_Options.
1487
1488         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
1489         attribute Seperate_Run_Path_Options.
1490
1491         * prj.ads: (Project_Configuration): New Boolean component
1492         Separate_Run_Path_Options, defaulted to False.
1493
1494         * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
1495
1496 2009-04-22  Robert Dewar  <dewar@adacore.com>
1497
1498         * sem_type.adb: Minor reformatting
1499
1500         * mlib.adb: Minor reformatting
1501
1502         * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
1503         syntax error.
1504
1505 2009-04-22  Nicolas Setton  <setton@adacore.com>
1506
1507         * link.c: Add flag __gnat_separate_run_path_options.
1508
1509         * mlib.adb (Separate_Run_Path_Options): New subprogram.
1510
1511         * mlib.ads (Separate_Run_Path_Options): Declare.
1512
1513         * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
1514         switch per directory, rather than one "rpath" switch listing all
1515         directories.
1516
1517         * gnatlink.adb (Process_Binder_File): Likewise.
1518
1519         * make.adb (Gnatmake): Likewise.
1520
1521 2009-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
1522
1523         * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
1524         Add a call to Move_Final_List when the target of the assignment is a
1525         return object that needs finalization and the expression is a
1526         controlled build-in-place function.
1527
1528 2009-04-22  Vincent Celier  <celier@adacore.com>
1529
1530         * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
1531         Including_Libraries set to True.
1532
1533 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
1534
1535         * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
1536         create a unit table entry for the subprogram declaration created for a
1537         child suprogram body that has no separate specification.
1538
1539         * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
1540         subprogram body, call Make_Child_Decl_Unit.
1541
1542         * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
1543         table can only be the created specification of a child subprogram body
1544         that is the main unit, which has not been entered in the table yet.
1545
1546         * errout.adb  (Output_Messages): Ignore created specification of a
1547         child subprogram body to prevent repeated listing of error messages.
1548
1549         * gnat1drv.adb (gnat1drv): The generated specification for a child
1550         subprogram body does not generate code.
1551
1552 2009-04-22  Arnaud Charlet  <charlet@adacore.com>
1553
1554         * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
1555         since this unit is now part of bootstrap units, so must use Ada 95
1556         syntax only.
1557
1558 2009-04-22  Thomas Quinot  <quinot@adacore.com>
1559
1560         * a-tasatt.adb: Minor reformatting
1561
1562 2009-04-22  Bob Duff  <duff@adacore.com>
1563
1564         * s-stalib.ads: Remove "with System;" since we're inside System, so
1565         it's unnecessary.
1566
1567 2009-04-22  Vincent Celier  <celier@adacore.com>
1568
1569         * prj-nmsc.adb (Add_Source): Always put the dependency file name in
1570         the source record, as there may be a dependency file even if no object
1571         file is created.
1572
1573 2009-04-22  Robert Dewar  <dewar@adacore.com>
1574
1575         * lib-load.adb: Minor reformatting
1576
1577         * lib-load.ads: Minor reformatting
1578
1579         * sinfo.ads: Minor reformatting
1580
1581 2009-04-22  Bob Duff  <duff@adacore.com>
1582
1583         * exp_pakd.adb: Minor comment fixes.
1584
1585         * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
1586         sem_ch12.adb: Change the meaning of the Library_Unit attribute to
1587         include units containing instantiations, as well as units that are
1588         generic instantiations.
1589
1590         * sem.adb: Include dependents and corresponding specs/bodies in the
1591         unit walk.
1592
1593         * gcc-interface/Make-lang.in:
1594         sem now depends on s-bitops, because of the packed array of Booleans.
1595
1596 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
1597
1598         * gcc-interface/ada-tree.def: Fix formatting nits.
1599         (REGION_STMT): Delete.
1600         (HANDLER_STMT): Likewise.
1601         * gcc-interface/ada-tree.h: Fix formatting nits.
1602         (IS_STMT): Delete.
1603         (REGION_STMT_BODY): Likewise.
1604         (REGION_STMT_HANDLE): Likewise.
1605         (REGION_STMT_BLOCK): Likewise.
1606         (HANDLER_STMT_ARG): Likewise.
1607         (HANDLER_STMT_LIST): Likewise.
1608         (HANDLER_STMT_BLOCK): Likewise.
1609         * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
1610         (fp_size_to_prec): Likewise.
1611         (largest_move_alignment): Delete.
1612         (gnat_compute_largest_alignment): Likewise.
1613         Fix minor nits.
1614         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
1615         Remove redundant code.
1616         <E_Array_Type>: Remove redundant assert.
1617         <E_Array_Subtype>: Exit early from index computation in pathological
1618         cases.
1619         Rewrite conditional assignment.
1620         (make_type_from_size): Likewise.
1621         * gcc-interface/misc.c (largest_move_alignment): Delete.
1622         (gnat_finish_incomplete_decl): Likewise.
1623         (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
1624         (asm_out_file): Likewise
1625         (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
1626         (gnat_dwarf_name): Move around.
1627         * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
1628         (gigi): Remove call to gnat_compute_largest_alignment.
1629         * utils.c (create_field_decl): Rewrite conditional assignment.
1630         Fix minor nits.
1631
1632 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
1633
1634         * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
1635         on entry.  Defer common processing for types.  Reorder and clean up.
1636         Compute the equivalent GNAT node and the default size for types only.
1637         <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
1638         <E_Access_Type>: For an unconstrained designated type, do not pretend
1639         that a dummy type is always made.
1640         <all> Fix nits in comments.
1641         (validate_size): Fix formatting nits and comments.
1642         (set_rm_size): Likewise.
1643         * gcc-interface/utils.c (create_param_decl): Replace bogus argument
1644         passed to TARGET_PROMOTE_PROTOTYPES hook.
1645
1646 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
1647
1648         * fe.h (Get_External_Name): Declare.
1649         * gcc-interface/gigi.h (concat_id_with_name): Rename to...
1650         (concat_name): ...this.
1651         * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
1652         gnu_entity_name and adjust for above renaming.
1653         <E_Access_Type>: Use create_concat_name to get the name of the various
1654         types associated with unconstrained array types.
1655         (make_aligning_type): Adjust for above renaming.
1656         (maybe_pad_type): Likewise.
1657         (components_to_record): Likewise.  Use get_identifier_with_length for
1658         the encoding of the variant.
1659         (get_entity_name): Use get_identifier_with_length.
1660         (create_concat_name): Likewise.  Use Get_External_Name if no suffix.
1661         Do not fiddle with Name_Buffer.
1662         (concat_id_with_name): Rename to...
1663         (concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
1664         with Name_Buffer.
1665         * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
1666         above renaming.
1667
1668 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
1669
1670         * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
1671         license notices.
1672
1673 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
1674
1675         * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
1676
1677 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
1678
1679         * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
1680         (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
1681         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
1682         Remove useless support code for packed array types and assert its
1683         uselessness.
1684         <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
1685         adjust for TYPE_RM_SIZE change.
1686         <all> Fix nits in comments.  Use Original_Array_Type accessor instead
1687         of Associated_Node_For_Itype accessor for packed array types.
1688         (make_packable_type): Likewise.
1689         (maybe_pad_type): Likewise.
1690         (set_rm_size): Likewise.  Rework conditional statement.  Adjust for
1691         TYPE_RM_SIZE change.
1692         (make_type_from_size): Adjust for TYPE_RM_SIZE change.
1693         (rm_size): Fix nits in comments.  Rework conditional statements.
1694         * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
1695         change.
1696         * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
1697         * gcc-interface/utils.c (gnat_init_decl_processing): Use more
1698         appropriate function to initialize the size_type_node.  Adjust for
1699         TYPE_RM_SIZE change.
1700
1701 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
1702
1703         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
1704         for imported subprograms.
1705
1706 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
1707
1708         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
1709         constant objects covered by 13.3(19) volatile.
1710
1711 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
1712
1713         * gcc-interface/utils.c (create_type_decl): Do not pass declarations
1714         of dummy fat pointer types to the debug back-end.
1715
1716 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1717
1718         * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
1719         <E_Signed_Integer_Subtype>: Set the RM size on the integer type
1720         before wrapping it up in the record type.  Do not overwrite the
1721         Ada size of the record type with the Esize.
1722
1723 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1724
1725         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
1726         (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
1727         if the conversion is on the LHS of an assignment and a no-op.
1728         <all> Do not convert the result to the result type if the Parent
1729         node is such a conversion.
1730
1731 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1732
1733         * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
1734         * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
1735         of types with unknown discriminants.
1736         (substitute_in_type): Rewrite and restrict to formal substitutions.
1737         * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
1738         (update_pointer_to): Update comment.
1739
1740 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1741
1742         * sem_ch8.adb (Use_One_Package): In an instance, if two
1743         potentially_use_visible and non-overloadable homonyms are available
1744         from  the actuals of distinct formal packages, retain the current one,
1745         which was visible in the generic, to prevent spurious visibility
1746         errors.
1747         (End_Use_Package): Restore use_visibility when needed.
1748
1749 2009-04-20  Sergey Rybin  <rybin@adacore.com>
1750
1751         * gnat_ugn.texi, vms_data.ads: Update doc.
1752
1753 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
1754
1755         * gcc-interface/Make-lang.in: Update dependencies
1756
1757         * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
1758         Windows.
1759
1760 2009-04-20  Robert Dewar  <dewar@adacore.com>
1761
1762         * checks.ads: Fix documentation of range check handling
1763
1764 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1765
1766         * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
1767         a redundant use_type clause.
1768
1769 2009-04-20  Robert Dewar  <dewar@adacore.com>
1770
1771         * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
1772         this attribute can be evaluated at compile time.
1773         (Eval_Attribute, case Range_Length): Same improvement
1774
1775         * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
1776
1777 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1778
1779         * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
1780         for better handling of null procedures.
1781         (Check_Overriding_Indicator): Do not emit a warning on a missing
1782         overriding indicator on an operator when the type of which the operator
1783         is a primitive is private.
1784
1785 2009-04-20  Bob Duff  <duff@adacore.com>
1786
1787         * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
1788         debugging output.
1789
1790 2009-04-20  Robert Dewar  <dewar@adacore.com>
1791
1792         * sem_attr.adb: Minor reformatting
1793
1794         * gnatcmd.adb: Minor reformatting
1795
1796 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1797
1798         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
1799         overloaded and one interpretation matches the context, label the
1800         operand with the type of first formal.
1801
1802 2009-04-20  Bob Duff  <duff@adacore.com>
1803
1804         * debug.ads: Minor comment fix.
1805
1806         * debug.adb: Minor comment fixes.
1807
1808 2009-04-20  Javier Miranda  <miranda@adacore.com>
1809
1810         * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
1811
1812         * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
1813
1814         * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
1815         is expanded into a call to Raise_Exception, avoid passing the
1816         exception-name'identity in runtimes in which this argument
1817         is not used.
1818
1819 2009-04-20  Jerome Lambourg  <lambourg@adacore.com>
1820
1821         * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
1822         generated bindings for cil.
1823
1824 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1825
1826         * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
1827         discriminants, collect components from the Underlying_Record_View,
1828         which will be used in the expansion of the aggregate into assignments.
1829
1830         * sem_ch3.adb: Do not label derived type with unknown discriminants as
1831         having a private declaration.
1832
1833 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1834
1835         * exp_util.adb (Expand_Subtype_From_Expr): use the
1836         underlying_record_view when available, to create the proper constrained
1837         subtype for an object of a derived type with unknown discriminants.
1838
1839 2009-04-20  Javier Miranda  <miranda@adacore.com>
1840
1841         * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
1842         formals that have pragma unreferenced.
1843
1844 2009-04-20  Pascal Obry  <obry@adacore.com>
1845
1846         * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
1847         Remove all calls to To_Lower_If_Case_Insensitive to preserve
1848         the pathname original casing.
1849
1850 2009-04-20  Robert Dewar  <dewar@adacore.com>
1851
1852         * g-trasym.adb: Minor reformatting
1853
1854         * s-os_lib.adb: Minor reformatting
1855
1856         * sem.adb: Minor reformatting
1857         Minor code reorganization
1858
1859         * sem_ch3.adb: Minor reformatting
1860
1861         * sem_ch4.adb: Minor reformatting
1862
1863         * sem_ch8.adb: Minor reformatting
1864
1865         * sem_type.adb: Minor reformatting
1866
1867 2009-04-20  Javier Miranda  <miranda@adacore.com>
1868
1869         * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
1870         generated by derivations of tagged types use the aliased subprogram a
1871         reference to locate their controlling type.
1872
1873 2009-04-20  Tristan Gingold  <gingold@adacore.com>
1874
1875         * g-trasym.adb: Set size of result buffer before calling
1876         convert_address.
1877
1878 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1879
1880         * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
1881         to a function returning an array can be interpreted as a call with
1882         defaulted parameters whose result is indexed, take into account the
1883         types of all the indices of the array result type.
1884
1885 2009-04-20  Pascal Obry  <obry@adacore.com>
1886
1887         * a-direct.adb, s-os_lib.adb: Minor reformatting.
1888
1889 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1890
1891         * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
1892         null exclusion qualifiers for object renaming declarations.
1893
1894 2009-04-20  Nicolas Roche  <roche@adacore.com>
1895
1896         * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
1897         unsigned long long. So compare local_time and utc_time before computing
1898         the difference.
1899
1900 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1901
1902         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
1903         of the Underlying_Record_View before that of the derived type.
1904
1905         * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
1906         with unknown discriminants with regard to the parent subtype.
1907
1908 2009-04-20  Bob Duff  <duff@adacore.com>
1909
1910         * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
1911         that are not included. This is necessary if the main unit is a generic
1912         instantiation.
1913
1914         * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
1915         because it doesn't work if -gnatn is used.
1916
1917 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1918
1919         * rtsfind.adb (RTE, RTE_Record_Component): In
1920         Configurable_Run_Time_Mode, do not enable front-end inlining.
1921
1922 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1923
1924         * g-socthi-vms.adb: Remove now unnecessary WITH clause on
1925         System.Address_To_Access_Conversions.
1926
1927 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1928
1929         * sem.adb: Guard against ill-formed subunits.
1930
1931 2009-04-20  Bob Duff  <duff@adacore.com>
1932
1933         * output.adb (Flush_Buffer): Do not indent blank lines.
1934         (Ignore_Output): New procedure for output suppression.
1935
1936 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
1937
1938         * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
1939         when it is positive.  This avoids a potential constraint error raised
1940         by the conversion to Natural.
1941
1942 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
1943
1944         * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
1945         involves a target that has a specified address, don't set Forward_OK
1946         and Backward_OK to False if the rhs is an aggregate, since overlap
1947         can't occur.
1948
1949 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
1950
1951         * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
1952         in an object renaming declaration when the expected type is an
1953         anonymous access type.
1954
1955         * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
1956         ambiguity when one interpretation is an anonymous access type and the
1957         other is a named access type, and the context itself is anonymous
1958
1959 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1960
1961         * einfo.ads: Minor comment rewording
1962
1963         * sem_aggr.adb: Minor comment rewording
1964
1965         * sem_ch3.adb, sem_ch6.adb: Minor reformatting
1966
1967 2009-04-20  Pascal Obry  <obry@adacore.com>
1968
1969         * adaint.c (__gnat_is_readable_file): Check for file existence
1970         when not using ACL (always the case on remote drives).
1971
1972 2009-04-20  Robert Dewar  <dewar@adacore.com>
1973
1974         * sinfo.ads: Minor comment fixes
1975
1976         * exp_disp.adb: Minor reformatting
1977
1978         * gnat1drv.adb: Minor reformatting
1979
1980         * output.adb: Minor reformatting
1981
1982         * s-vxwext-kernel.ads: Minor reformatting
1983
1984         * sem.ads: Minor reformatting
1985
1986         * sem.adb: Minor reformatting
1987
1988         * sem_elim.adb: Minor reformatting
1989
1990         * uname.ads: Minor reformatting
1991
1992 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
1993
1994         * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
1995         a small dope of 4 words to the adjustment to the stack pointer.
1996
1997 2009-04-20  Thomas Quinot  <quinot@adacore.com>
1998
1999         * xoscons.adb: generate C header s-oscons.h in
2000         addition to s-oscons.ads.
2001
2002         * socket.c: On VMS, use s-oscons.h.
2003
2004         * sem_ch3.adb: Minor reformatting
2005
2006         * exp_ch9.adb: Minor reformatting
2007
2008 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
2009
2010         * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
2011         (Attribute_to_gnu): Do not call check_for_eliminated_entity.
2012         (call_to_gnu): Likewise.
2013
2014 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
2015
2016         * gcc-interface/trans.c (gigi): Declare the name of the compilation
2017         unit as the first global name at the very beginning.
2018
2019 2009-04-20  Thomas Quinot  <quinot@adacore.com>
2020
2021         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
2022         s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
2023         g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
2024         since HP-UX supports neither inet_aton nor inet_pton (altough the
2025         latter is part of the Single UNIX Specification!).
2026         So reorganize code, and share C implementation based on inet_addr(3)
2027         with VMS (instead of having a VMS specific Ada implementation in
2028         g-socthi-vms.adb).
2029
2030 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
2031
2032         * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
2033         to return the object file name saved by Set_Object_Output_File_Name.
2034
2035 2009-04-20  Emmanuel Briot  <briot@adacore.com>
2036
2037         * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
2038         for the standard command line, when argc has been modified since the
2039         start of the application.
2040
2041 2009-04-20  Thomas Quinot  <quinot@adacore.com>
2042
2043         * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
2044         WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
2045
2046 2009-04-20  Bob Duff  <duff@adacore.com>
2047
2048         * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
2049         pragma Debug.
2050
2051 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
2052
2053         * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
2054         subprogram as Eliminated when source operation is.
2055         (Expand_N_Protected_Type_Declaration): Generate protected and
2056         unprotected specs for the internal operations, even if the source
2057         operation is eliminated.
2058
2059 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
2060
2061         * exp_ch3.adb (Make_Predefined_Primitive_Specs,
2062         Predefined_Primitive_Bodies): Do not create the declarations and bodies
2063         of the primitive subprograms associated with dispatching select
2064         statements when the runtime is in configurable mode.
2065
2066 2009-04-20  Ed Falis  <falis@adacore.com>
2067
2068         * s-vxwext-kernel.ads (tickGet): Use tick64Get.
2069
2070 2009-04-20  Thomas Quinot  <quinot@adacore.com>
2071
2072         * s-oscons-tmplt.c: Add support for generating a dummy version of
2073         s-oscons.ads providing all possible constants.
2074
2075         * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
2076
2077         * socket.c (__gnat_inet_pton): On Windows make sure we always use the
2078         ANSI version (not the UNICODE version) of WSAStringToAddress.
2079
2080 2009-04-20  Pascal Obry  <obry@adacore.com>
2081
2082         * adaint.c (__gnat_set_OWNER_ACL): properly free memory
2083         allocated for the security descriptor and make sure all
2084         handles are closed before leaving this procedure.
2085
2086 2009-04-20  Javier Miranda  <miranda@adacore.com>
2087
2088         * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
2089         (Set_Is_Underlying_Record_View): New subprogram
2090
2091         * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
2092         private types with unknown discriminants use the underlying record view
2093         if available.
2094
2095         * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
2096         underlying record view in the full view of private types whose parent
2097         has unknown discriminants.
2098         (Build_Derived_Record_Type): Avoid generating the class-wide entity
2099         associated with an underlying record view.
2100         (Derived_Type_Declaration): Avoid deriving parent primitives in
2101         underlying record views.
2102
2103         * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
2104         records with unknown discriminants.
2105
2106         * sem_type.adb (Covers): Handle underlying record views.
2107         (Is_Ancestor): Add support for underlying record views.
2108
2109         * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
2110         dispatching call if the type of the target object is tagged and has
2111         unknown discriminants.
2112
2113         * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
2114         unknown discriminants.
2115
2116         * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
2117         tables for internally built underlying record views.
2118
2119         * sprint.adb (sprint_node_actual): Improve output of aggregates with an
2120         empty list of component associations.
2121
2122 2009-04-20  Thomas Quinot  <quinot@adacore.com>
2123
2124         * sem_ch10.adb: Minor reformatting
2125
2126         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
2127         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
2128         (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
2129         standard inet_pton API (and emulate it on platforms that do not
2130         support it).
2131         (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
2132         DECC$INET_ADDR, imported in Ada.
2133         (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
2134         implementation provided by GNAT runtime.
2135         (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
2136         Windows.
2137
2138 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
2139
2140         * gnat_ugn.texi: Add documentation for -fno-ivopts.
2141
2142 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
2143
2144         * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
2145         with_clause if it is the main unit.
2146
2147 2009-04-20  Thomas Quinot  <quinot@adacore.com>
2148
2149         * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
2150         (no behaviour change): Use Append instead of Increment_Last followed
2151         by assignment.
2152
2153 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
2154
2155         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
2156         declarations of all primitives associated with dispatching asynchronous,
2157         conditional and timed selects when dispaching calls are forbidden and
2158         select statements are not allowed (such as in Ravenscar).
2159         (Predefined_Primitive_Bodies): Ditto for bodies.
2160
2161         * exp_disp.ad (Make_DT): Do not create and populate the
2162         Select_Specific_Data of the dispatch table when dispatching calls are
2163         forbidden and select statements are not allowed (such as in Ravenscar).
2164
2165 2009-04-20  Robert Dewar  <dewar@adacore.com>
2166
2167         * a-tifiio.adb: Minor reformatting
2168
2169 2009-04-20  Thomas Quinot  <quinot@adacore.com>
2170
2171         * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
2172         other C library functions, report *failure* with a zero status, and
2173         success with a non-zero status.
2174
2175 2009-04-20  Bob Duff  <duff@adacore.com>
2176
2177         * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
2178         (Semantics): After analyzing each unit, Append it to the
2179         Comp_Unit_List, if appropriate.
2180
2181         * gnat1drv.adb (Check_Library_Items): New procedure for debugging
2182         purposes.
2183         (Gnat1drv): Correct comment regarding Back_End_Mode.
2184
2185 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
2186
2187         * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
2188
2189 2009-04-20  Thomas Quinot  <quinot@adacore.com>
2190
2191         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
2192         output.adb, output.ads, s-taprop-hpux-dce.adb,
2193         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
2194         reformatting.
2195
2196 2009-04-20  Thomas Quinot  <quinot@adacore.com>
2197
2198         * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
2199         g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
2200         (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
2201         (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
2202         except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
2203         (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
2204
2205         * debug.adb: Fix typo
2206
2207         * gnat_rm.texi: Minor doc fix.
2208
2209         * sem_ch7.adb, freeze.adb: Minor reformatting
2210
2211 2009-04-20  Thomas Quinot  <quinot@adacore.com>
2212
2213         * g-socket.ads: Add new constants:
2214           Loopback_Inet_Addr
2215           Unspecified_Group_Inet_Addr
2216           All_Hosts_Group_Inet_Addr
2217           All_Routers_Group_Inet_Addr
2218
2219         * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
2220         ERANGE (Result too large).
2221         (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
2222         propagation of errno to caller.
2223
2224 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
2225
2226         * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
2227         to 24. Increment Leap_Seconds_Count and add an entry to aggregate
2228         Leap_Second_Times.
2229
2230 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
2231
2232         * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
2233         checking for references to eliminated subprograms that should be
2234         flagged.
2235         (Eliminate_Error_Message): Update comment to say "references" rather
2236         than "calls" (since attribute cases are handled here as well).
2237
2238         * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
2239         checking for references to eliminated subprograms that should be
2240         flagged.  Add with and use of Sem and Sem_Util.
2241
2242         * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
2243         Add with and use of Sem_Elim.
2244
2245         * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
2246         applied to eliminated subprograms.
2247         (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
2248         eliminated subprograms.
2249         Add with and use of Sem_Elim.
2250
2251         * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
2252         to eliminated subprograms, now handled during Resolve_Call.
2253         Remove with and use of Sem_Elim.
2254
2255         * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
2256         testing Is_Eliminated, for proper handling of primitive derived from
2257         eliminated subprograms.
2258
2259 2009-04-20  Vincent Celier  <celier@adacore.com>
2260
2261         * mlib-prj.adb (Build_Library): Use the shared library linker, if one
2262         has been declared (Library_GCC or Linker'Driver), for the driver name.
2263
2264         * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
2265         Linker'Driver is, use Linker'Driver as the shared library linker.
2266         (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
2267         Library_GCC is declared.
2268         (Check_Library_Attributes): Set up the shared linker driver: either
2269         Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
2270         declared.
2271
2272 2009-04-20  Thomas Quinot  <quinot@adacore.com>
2273
2274         * g-socket.ads (Send_Socket): Fix misleading comment.
2275
2276 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
2277
2278         * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
2279         ASIS mode.
2280
2281 2009-04-20  Geert Bosch  <bosch@adacore.com>
2282
2283         * a-tifiio.adb (Put): Avoid generating too many digits for certain
2284         fixed types with smalls that are neither integer or the reciprocal
2285         of an integer.
2286
2287 2009-04-20  Bob Duff  <duff@adacore.com>
2288
2289         * uname.ads: Minor comment fix.
2290
2291         * types.ads: Minor comment fix.
2292
2293 2009-04-20  Pascal Obry  <obry@adacore.com>
2294
2295         * adaint.c (__gnat_get_libraries_from_registry): Fix code to
2296         avoid warning. At the same time fix a memory leak.
2297
2298         * osint.adb (Get_Libraries_From_Registry): Properly free memory
2299         returned by the above routine.
2300
2301 2009-04-20  Robert Dewar  <dewar@adacore.com>
2302
2303         * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
2304         s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
2305         s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
2306         s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
2307
2308         * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
2309
2310 2009-04-20  Pascal Obry  <obry@adacore.com>
2311
2312         * initialize.c (__gnat_initialize): Add braces to kill warning.
2313
2314         * adaint.c: Minor reformatting, remove trailing spaces.
2315
2316 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
2317
2318         * gcc-interface/Make-lang.in: Update dependencies.
2319
2320 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
2321
2322         * adaint.h (__gnat_lwp_self): Declare on Linux.
2323
2324         * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
2325
2326 2009-04-20  Robert Dewar  <dewar@adacore.com>
2327
2328         * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
2329         front-end part of -fpreserve-control-flow switch.
2330
2331 2009-04-20  Bob Duff  <duff@adacore.com>
2332
2333         * rtsfind.adb: Minor comment fix
2334
2335 2009-04-20  Robert Dewar  <dewar@adacore.com>
2336
2337         * exp_aggr.adb: Minor reformatting
2338         Minor code reorganization (use Nkind_In)
2339
2340         * g-socket.adb: Minor reformatting
2341
2342         * g-socket.ads: Minor comment fix
2343
2344         * s-auxdec.ads: Minor comment and organization update.
2345
2346         * s-auxdec-vms_64.ads: Minor comment and organization update.
2347
2348         * sem_ch10.adb: Minor addition of ??? comment
2349
2350         * sem_disp.adb: Minor reformatting
2351
2352 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
2353
2354         * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
2355         list a caller of an inlined subprogram, if the caller itself is not
2356         called.
2357
2358 2009-04-20  Pascal Obry  <obry@adacore.com>
2359
2360         * adaint.c: Disable use of ACL on network drives.
2361
2362 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
2363
2364         * gnat_ugn.texi: Add examples.
2365
2366 2009-04-20  Thomas Quinot  <quinot@adacore.com>
2367
2368         * g-socket.ads (Abort_Selector): Clarify documentation.
2369
2370 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
2371
2372         * opt.ads (Inspector_Mode): Update documentation of this flag.
2373
2374 2009-04-20  Thomas Quinot  <quinot@adacore.com>
2375
2376         * g-socket.ads: Minor reformatting
2377
2378         * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
2379         consider S_resolvLib error codes since we only use the hostLib wrappers.
2380
2381 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
2382
2383         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
2384         of the Underlying_Record_View after that of the derived type.
2385
2386 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
2387
2388         * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
2389         in inspector mode.
2390
2391 2009-04-20  Javier Miranda  <miranda@adacore.com>
2392
2393         * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
2394
2395         * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
2396         documentation.
2397
2398         * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
2399
2400         * sem_disp.adb
2401         (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
2402         in internally built overriding subprograms.
2403
2404 2009-04-20  Doug Rupp  <rupp@adacore.com>
2405
2406         * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
2407
2408         * s-auxdec.ads: Likewise
2409
2410 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
2411
2412         * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
2413         type by an interface.
2414
2415         * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
2416         minimze difference in expanded tree when compiled as spec of the main
2417         unit, or as a spec in the context of another unit.
2418
2419 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
2420
2421         * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
2422         (localtime_tzoff): This routine no longer accepts an actual of type
2423         tm_Pointer.
2424         (UTC_Time_Offset): Remove local variable Secs_TM.
2425
2426         * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
2427         actual of type struct tm*. Add local variable of type struct tm for all
2428         targets that provide localtime_r and need to invoke it.
2429
2430 2009-04-20  Thomas Quinot  <quinot@adacore.com>
2431
2432         * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
2433         (GNAT.Sockets.Resolve_Error): Add case of EPIPE
2434         Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
2435
2436 2009-04-20  Robert Dewar  <dewar@adacore.com>
2437
2438         * sem_ch3.adb: Minor reformatting
2439
2440         * lib-load.adb: Minor reformatting
2441
2442         * sem_ch4.adb: Minor reformatting
2443
2444 2009-04-20  Robert Dewar  <dewar@adacore.com>
2445
2446         * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
2447         (equal values => False).
2448
2449 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
2450
2451         * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
2452         to null procedures can be inlined unconditionally.
2453
2454 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
2455
2456         * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
2457         non-addressable parameter passed by reference, do not convert the
2458         actual if its type is already the nominal type, unless it is of
2459         self-referential size.
2460
2461 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
2462
2463         * gnat_ugn.texi: Fix typos.
2464
2465 2009-04-20  Robert Dewar  <dewar@adacore.com>
2466
2467         * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
2468         Validate_Unchecked_Warnings to suppress warnings about size or
2469         alignment or extra bits if either type involved has pragma Warnings
2470         (Off) set for the type entity.
2471
2472 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
2473
2474         * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
2475         a builtin type and give it a name.
2476
2477 2009-04-17  Diego Novillo  <dnovillo@google.com>
2478
2479         * gcc-interface/misc.c (gnat_expand_expr): Remove.
2480         (LANG_HOOKS_EXPAND_EXPR): Remove.
2481
2482 2009-04-17  Robert Dewar  <dewar@adacore.com>
2483
2484         * sem_ch3.adb: Minor reformatting
2485
2486 2009-04-17  Pascal Obry  <obry@adacore.com>
2487
2488         * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
2489
2490 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2491
2492         * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
2493         illegal constraints on type derived from formal discrete types.
2494
2495 2009-04-17  Thomas Quinot  <quinot@adacore.com>
2496
2497         PR ada/35953
2498
2499         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
2500         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
2501         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
2502         g-socket.ads (GNAT.Sockets.Thin.C_Send,
2503         GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
2504         Replace calls to send(2) with equivalent sendto(2) calls.
2505         (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
2506         (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
2507         report an error in that case. Factor code common to the two versions
2508         (datagram and stream) in common routine Stream_Write.
2509
2510 2009-04-17  Robert Dewar  <dewar@adacore.com>
2511
2512         * exp_disp.adb: Minor reformatting
2513         Minor code reorganization (use Nkind_In)
2514
2515         * prepcomp.adb: Minor reformatting
2516
2517         * sem_ch3.adb: Minor reformatting
2518
2519         * sem_res.adb: Minor comment addition
2520
2521         * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
2522         for address clause
2523
2524         * lib-xref.adb (Generate_Reference): Exclude recursive calls from
2525         setting Is_Referenced
2526
2527         * types.ads: Minor reformatting
2528
2529 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
2530
2531         * gnat_ugn.texi: Initial documentation on binding generator.
2532
2533 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2534
2535         * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
2536         type extensions whose parent is a type with unknown discriminants.
2537
2538         * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
2539         aggregate has unknown discriminants, use the Underlying_Record_View to
2540         obtain the discriminants of the ancestor part.
2541
2542         * exp_disp.adb (Build_Dispatch_Tables): Types that are
2543         Underlying_Record_Views share the dispatching information of the
2544         original record extension.
2545
2546         * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
2547         discriminants, propagate dispach table information to the
2548         Underlying_Record_View.
2549
2550         * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
2551         discriminants and declaration is not a completion, generate
2552         Underlying_Record_View to provide proper discriminant information to
2553         the front-end and to gigi.
2554
2555 2009-04-17  Robert Dewar  <dewar@adacore.com>
2556
2557         * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
2558         s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
2559         s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
2560         g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
2561         s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
2562         s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
2563         g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
2564         s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
2565         g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
2566         s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
2567         s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
2568         s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
2569         s-conca3.ads: Remove unneeded pragma Warnings
2570
2571 2009-04-17  Robert Dewar  <dewar@adacore.com>
2572
2573         * g-moreex.adb: Add comments.
2574
2575         * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
2576
2577         * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
2578         Warnings (Off)
2579
2580         * prepcomp.adb: Add ??? comment
2581
2582         * a-tasatt.adb: Minor reformatting
2583
2584         * g-trasym-vms-alpha.adb: Add ??? comment
2585
2586         * g-trasym-vms-ia64.adb: Add ??? comment
2587
2588         * xoscons.adb: Minor reformatting
2589
2590         * s-tassta.adb: Minor reformatting
2591
2592         * s-scaval.adb: Add ??? comment
2593
2594         * stand.ads: Minor code clean up (remove junk with of Namet)
2595
2596         * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
2597         s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
2598         s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
2599         s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
2600         s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
2601         s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
2602         s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
2603         s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
2604         Warnings off pragmas.
2605
2606 2009-04-17  Pascal Obry  <obry@adacore.com>
2607
2608         * initialize.c: Fix test for reallocating the arguments array.
2609
2610 2009-04-17  Geert Bosch  <bosch@adacore.com>
2611
2612         * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
2613         conversion truncate only for decimal fixed point types.
2614
2615 2009-04-17  Jerome Lambourg  <lambourg@adacore.com>
2616
2617         * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
2618         reinitialized.
2619
2620 2009-04-17  Robert Dewar  <dewar@adacore.com>
2621
2622         * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
2623         Backwards_OK if either operand has an address clause.
2624
2625 2009-04-17  Pascal Obry  <obry@adacore.com>
2626
2627         * initialize.c: Code clean up, use realloc.
2628
2629 2009-04-17  Pascal Obry  <obry@adacore.com>
2630
2631         * initialize.c: Do not get Unicode command line if Unicode support not
2632         activated.
2633         Add support for wildcard expansion for Unicode parameters on Win32.
2634
2635         * mingw32.h: Add missing macros when Unicode support not activated.
2636
2637 2009-04-17  Javier Miranda  <miranda@adacore.com>
2638
2639         * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
2640         avoid generating code that references the Current_Master
2641         when compiling without tasks.
2642
2643 2009-04-17  Vincent Celier  <celier@adacore.com>
2644
2645         * prj-attr.adb: New project level attribute Target
2646         
2647         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
2648         attribute Target
2649         
2650         * prj.ads (Project_Configuration): New component Target
2651
2652 2009-04-17  Thomas Quinot  <quinot@adacore.com>
2653
2654         * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
2655         case for the case of an aggregate component, the attach call for the
2656         result is actually needed.
2657
2658         * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
2659         an array aggregate must be disabled if the component type requires
2660         controlled actions.
2661
2662         * exp_ch3.adb: Minor reformatting
2663
2664 2009-04-17  Bob Duff  <duff@adacore.com>
2665
2666         * output.ads (Indent,Outdent): New procedures for indenting the output.
2667         (Write_Char): Correct comment -- LF _is_ allowed.
2668
2669         * output.adb (Indent,Outdent): New procedures for indenting the output.
2670         Keep track of the indentation level, and make sure it doesn't get too
2671         high.
2672         (Flush_Buffer): Insert spaces at the beginning of each line, if
2673         indentation level is nonzero.
2674         (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
2675         indentation level.
2676         (Set_Standard_Error,Set_Standard_Output): Remove superfluous
2677         "Next_Col := 1;".  Flush_Buffer does that.
2678
2679         * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
2680         controlled by the -gnatdc switch. It now occurs on entry/exit to the
2681         relevant analysis routines, and calls Indent/Outdent to make the
2682         indentation reflect the nesting level.  Add "helper" routines, since
2683         otherwise lots of "return;" statements would skip the debugging output.
2684
2685 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
2686
2687         * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
2688         s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
2689         s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
2690
2691 2009-04-17  Thomas Quinot  <quinot@adacore.com>
2692
2693         * exp_aggr.adb: Minor code reorganization, no behaviour change.
2694
2695 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2696
2697         * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
2698         clause in a unit that is a package body or a subunit, when the previous
2699         clause appears in a spec or a parent.
2700
2701 2009-04-17  Thomas Quinot  <quinot@adacore.com>
2702
2703         * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
2704
2705         * exp_ch7.adb: Minor reformatting
2706
2707 2009-04-17  Bob Duff  <duff@adacore.com>
2708
2709         * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
2710         allocator, check that the expression of the qualified expression obeys
2711         the constraints of the subtype of the qualified expression.
2712
2713 2009-04-17  Thomas Quinot  <quinot@adacore.com>
2714
2715         * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
2716
2717 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2718
2719         * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
2720         aggregate, using context imposed by subtype mark in allocator.
2721
2722 2009-04-17  Pascal Obry  <obry@adacore.com>
2723
2724         * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
2725
2726 2009-04-17  Nicolas Roche  <roche@adacore.com>
2727
2728         * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
2729         argument length.
2730
2731 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
2732
2733         * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
2734         cover both calls and attribute references ("call" => "reference").
2735
2736 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2737
2738         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
2739         type for which Storage_Size is set to 0 is legal in a pure unit.
2740
2741 2009-04-17  Thomas Quinot  <quinot@adacore.com>
2742
2743         * exp_ch7.adb: Minor reformatting
2744
2745 2009-04-17  Robert Dewar  <dewar@adacore.com>
2746
2747         * restrict.adb (Check_Restriction_No_Dependence): Don't check
2748         restriction if outside main extended source unit.
2749
2750         * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
2751         for parents of child units as well as the child unit itself.
2752
2753 2009-04-17  Bob Duff  <duff@adacore.com>
2754
2755         * checks.ads: Minor comment fix
2756
2757         * exp_aggr.ads: Minor comment fix
2758
2759 2009-04-17  Nicolas Roche  <roche@adacore.com>
2760
2761         * adaint.c: Improve cross compiler detection and handling.
2762
2763 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
2764
2765         * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
2766
2767 2009-04-17  Pascal Obry  <obry@adacore.com>
2768
2769         * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
2770         CurrentCodePage.
2771
2772         * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
2773         value when no encoding form paramter is set on Text_IO services.
2774
2775         * adaint.c: CurrentCodePage new variable on Windows.
2776         Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
2777         ones.
2778
2779         * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
2780         ones.
2781
2782         * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
2783         environment variable value. Default is UTF-8.
2784
2785         * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
2786         fopen and freopen encoding parameter is now set to Unspecified.
2787         The default value is in this case UTF-8 (as it was before) but
2788         use the new macros that convert to/from the code page set
2789         at runtime (CurrentCodePage).
2790
2791         * s-fileio.adb: When no encoding specified use Unspecified value.
2792
2793 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2794
2795         * atree.adb, atree.ads: Remove dead code.
2796
2797 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
2798
2799         * gcc-interface/Make-lang.in: Update dependencies.
2800
2801 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2802
2803         * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
2804         illegal uses of incomplete types in formal parts and return types.
2805
2806         * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
2807         access to subprograms.
2808
2809         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
2810         Taft-amendment types as the return type of an access_to_function type.
2811
2812         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
2813         type for access_to_subprograms. The check is performed on package exit.
2814
2815 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2816
2817         * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
2818
2819         * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
2820         
2821         * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
2822
2823         * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
2824         semantic units, because the handling of itypes in the copied tree
2825         requires semantic information that does not belong in atree.
2826
2827 2009-04-17  Robert Dewar  <dewar@adacore.com>
2828
2829         * par-ch6.adb: Minor reformatting
2830
2831         * prj.adb: Minor reformatting
2832
2833 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
2834
2835         * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
2836         on protected subprogram bodies, so exclude the case where Pf_Flags is
2837         Pf_Decl_Pbod from the error check.
2838
2839         * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
2840         indicators on subprograms in protected bodies, and proceed with parsing
2841         the subprogram.
2842
2843         * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
2844         subprograms from the check for primitiveness on subprograms with
2845         overriding indicators.
2846         (Check_Overriding_Indicator): Include protected subprograms in the
2847         style check for missing overriding indicators.
2848
2849 2009-04-17  Tristan Gingold  <gingold@adacore.com>
2850
2851         * init.c: Fix stack checking for x86 Darwin.
2852
2853 2009-04-17  Vincent Celier  <celier@adacore.com>
2854
2855         * prj-attr.adb: New project level attribute Object_File_Suffix
2856         (<language>).
2857         
2858         * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
2859         object file name
2860         (Process_Compiler): Process attribute Object_File_Suffix
2861
2862         * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
2863         platform suffix, when specified.
2864
2865         * prj.ads (Language_Config): New component Object_File_Suffix,
2866         defaulted to No_Name.
2867         (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
2868
2869         * snames.ads-tmpl: New standard name Object_File_Suffix
2870
2871 2009-04-17  Robert Dewar  <dewar@adacore.com>
2872
2873         * gnat_rm.texi: Add documentation about No_Streams restriction
2874
2875         * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
2876         attributes when checking No_Streams restriction.
2877
2878 2009-04-17  Thomas Quinot  <quinot@adacore.com>
2879
2880         * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
2881
2882         * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
2883         missing calls to RE_Request_Destroy to deallocate request objects after
2884         use.
2885
2886 2009-04-17  Nicolas Setton  <setton@adacore.com>
2887
2888         * link.c: Fix support for passing a response file under Darwin.
2889
2890 2009-04-17  Emmanuel Briot  <briot@adacore.com>
2891
2892         * prj.adb (Free): new subprogram.
2893
2894 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
2895
2896         * sem_ch3.adb: additional initialization on incomplete subtypes.
2897         
2898         * sem_ch6.adb (Process_Formals): if the subprogram is in the private
2899         part and one of the formals is an incomplete tagged type, attach to
2900         list of private dependends of the type for later validation.
2901
2902         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
2903         primitive operations of a Taft-amendmment type.
2904
2905         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
2906         type. The check is performed on package exit, possibly after the
2907         subprogram is frozen.
2908
2909 2009-04-17  Vincent Celier  <celier@adacore.com>
2910
2911         * prj-nmsc.adb (Get_Directories): Get the object and exec directory
2912         before looking for source directories, but make sure that there are nil
2913         if they are not explicitely declared and there is explicitely no
2914         sources in the project.
2915
2916 2009-04-17  Pascal Obry  <obry@adacore.com>
2917
2918         * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
2919
2920         * init.c: Fix minor typo and style fix.
2921
2922 2009-04-17  Robert Dewar  <dewar@adacore.com>
2923
2924         * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
2925
2926         * sem_attr.adb (Analyze_Attribute, case Address): Use
2927         PE_Address_Of_Intrinsic.
2928
2929         * types.ads: Add PE_Address_Of_Intrinsic
2930
2931         * types.h: Add PE_Address_Of_Intrinsic
2932
2933 2009-04-17  Nicolas Setton  <setton@adacore.com>
2934
2935         * gcc-interface/Makefile.in: Under darwin, build shared libraries
2936         with install_name starting with "@rpath/".
2937
2938 2009-04-17  Nicolas Setton  <setton@adacore.com>
2939
2940         * link.c: Add darwin section
2941
2942 2009-04-16  Robert Dewar  <dewar@adacore.com>
2943
2944         * g-pehage.adb: Minor reformatting
2945
2946         * sem_ch12.adb: Minor reformatting
2947
2948         * exp_dist.adb: Minor reformatting
2949
2950         * bindgen.adb: Minor style fixes.
2951
2952 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
2953
2954         * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
2955         indexed components to the case where the prefix is a static string
2956         literal.
2957
2958 2009-04-16  Javier Miranda  <miranda@adacore.com>
2959
2960         * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
2961         objects avoid any further expansion of the expression initializing the
2962         object.
2963
2964 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
2965
2966         * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
2967         that hides an outer homograph, make that homograph invisible when
2968         analyzing the actuals, to to prevent illegal direct visibility on it.
2969
2970 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2971
2972         * g-pehage.adb (Initialize): Fix off-by-one error.
2973
2974 2009-04-16  Tristan Gingold  <gingold@adacore.com>
2975
2976         * init.c: Detect real stack overflow on Darwin.
2977
2978         * system-darwin-x86.ads: Use stack probing on darwin x86.
2979
2980 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
2981
2982         * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
2983         take the address of an intrinsic subprogram.
2984
2985 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
2986
2987         * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
2988         for the targets where GNAT.Traceback.Symbolic is not supported.
2989
2990 2009-04-16  Vincent Celier  <celier@adacore.com>
2991
2992         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
2993
2994         * g-trasym.ads: Update comments.
2995
2996 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
2997
2998         * tracebak.c (STOP_FRAME): Verify validity of the current address
2999         before dereferencing.
3000
3001 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
3002
3003         * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
3004         the original location of the index expressions and the index subtypes,
3005         to prevent spurious out-of-scope references in gigi.
3006
3007 2009-04-16  Tristan Gingold  <gingold@adacore.com>
3008
3009         * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
3010         Add support for stack checking on darwin.
3011
3012 2009-04-16  Vincent Celier  <celier@adacore.com>
3013
3014         * prj-attr.adb: New attribute Runtime_Source_Dir
3015
3016         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
3017         attribute Runtime_Source_Dir.
3018         (Check_Naming_Schemes): Give default values to out parameters to avoid
3019         invalid data.
3020
3021         * prj.ads (Language_Config): New component Runtime_Source_Dir
3022
3023         * snames.ads-tmpl: New standard name Runtime_Source_Dir
3024
3025 2009-04-16  Pascal Obry  <obry@adacore.com>
3026
3027         * adaint.h, adaint.c (__gnat_rmdir): New routine.
3028         Simple wrapper routines used to convert to proper encoding on
3029         Windows.
3030
3031         * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
3032
3033         * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
3034         twice.
3035
3036 2009-04-16  Pascal Obry  <obry@adacore.com>
3037
3038         * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
3039
3040 2009-04-16  Thomas Quinot  <quinot@adacore.com>
3041
3042         * snames.ads-tmpl (Name_Defined): New predefined name for use by the
3043         integrated preprocessor.
3044
3045         * prep.ads, prep.adb (Setup_Hooks): New subprogram.
3046         (Initialize): Split into two subprograms, Initialize (to be called
3047         prior to compiler command line processing) and Setup_Hooks (to be called
3048         later on when the first source file is loaded).
3049
3050         * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
3051         Add call to Prep.Initialize.
3052
3053         * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
3054         to Prep.Setup_Hooks.
3055
3056 2009-04-16  Pascal Obry  <obry@adacore.com>
3057
3058         * adaint.h, adaint.c (__gnat_chdir): New routine.
3059         Simple wrapper routines used to convert to proper encoding on
3060         Windows.
3061
3062         * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
3063
3064         * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
3065
3066 2009-04-16  Quentin Ochem  <ochem@adacore.com>
3067
3068         * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
3069         of Source.Init.
3070
3071 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
3072
3073         * a-convec.ads (Is_Empty): Mark inline.
3074
3075 2009-04-16  Nicolas Roche  <roche@adacore.com>
3076
3077         * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
3078
3079 2009-04-16  Thomas Quinot  <quinot@adacore.com>
3080
3081         * prepcomp.adb: Minor reformatting
3082
3083 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
3084
3085         * sem_prag.adb (Process_Import_Or_Interface): With .NET,
3086         Access_Subprogram types can also be imported.
3087         (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
3088         names.
3089
3090 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
3091
3092         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
3093         preserve homonym chain when the declaration is rewritten into a
3094         renaming declaration, in order to preserve visibility structure.
3095
3096 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
3097
3098         * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
3099         taken into account for VM targets.
3100
3101 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
3102
3103         * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
3104         Year_Week_In_Year.
3105         (Year_Week_In_Year): New routine which contains the original code from
3106         Week_In_Year. Add the missing special case for January 1st falling on
3107         a Monday.
3108
3109 2009-04-16  Thomas Quinot  <quinot@adacore.com>
3110
3111         * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
3112         actual type, use the base type to build the To_Any function.
3113         (Build_From_Any_Function): Remove junk, useless subtype conversion.
3114
3115 2009-04-16  Thomas Quinot  <quinot@adacore.com>
3116
3117         * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
3118         restrict.adb: Minor code reorganization (use
3119         Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
3120
3121 2009-04-16  Bob Duff  <duff@adacore.com>
3122
3123         * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
3124         unused.
3125
3126 2009-04-16  Thomas Quinot  <quinot@adacore.com>
3127
3128         * sem_ch4.adb: Minor reformatting
3129
3130         * adaint.c: Remove junk duplicated code.
3131
3132         * sem_ch3.adb: Minor reformatting
3133
3134         * exp_dist.adb: Minor comment rewording
3135
3136 2009-04-16  Robert Dewar  <dewar@adacore.com>
3137
3138         * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
3139         used together.
3140
3141 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
3142
3143         * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
3144         usable before calling Add_One_Interp, to resolve spurious ambiguities.
3145
3146 2009-04-16  Robert Dewar  <dewar@adacore.com>
3147
3148         * Make-lang.in: Add entries for s-conca?.o
3149
3150         * Makefile.rtl: Add entries for s-conca?
3151
3152         * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
3153         of concatenation expansion
3154
3155         * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
3156         string cases instead of expanding assignments inline.
3157
3158         * opt.ads (Optimize_Size): New flag
3159
3160         * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
3161         s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
3162         s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
3163         s-conca9.adb, s-conca9.ads: New file.
3164
3165 2009-04-16  Robert Dewar  <dewar@adacore.com>
3166
3167         * exp_ch6.adb: Add comments
3168
3169         * rtsfind.ads: Add entries for s-conca? routines
3170
3171 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
3172
3173         * gcc-interface/Make-lang.in: Update dependencies.
3174
3175         * gcc-interface/Makefile.in: Update translation for vms.
3176
3177 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
3178
3179         * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
3180         and made global, to be used when installing parents of a child
3181         instance, to provide mappings for entities declared in formal packages
3182         of ancestor units. Now called from Install_Formal_Packages.
3183
3184 2009-04-16  Doug Rupp  <rupp@adacore.com>
3185
3186         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
3187         notation for clarity.
3188
3189         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
3190         s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
3191         s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
3192         (Initialize): Initialize Known_Tasks with Environment task.
3193
3194         * s-taskin.ads (Task_States): Move new states to end for the sake of
3195         GDB compatibility.
3196
3197         * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
3198
3199 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
3200
3201         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
3202         operation has an inline pragma, propagate the flag to the internal
3203         unprotected subprogram.
3204
3205 2009-04-16  Doug Rupp  <rupp@adacore.com>
3206
3207         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
3208         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 
3209         s-taprop-hpux-dce.adb, s-taprop-posix.adb
3210         (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
3211
3212         * s-taprop-vms.adb (Enter_Task): Likewise.
3213         (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
3214
3215         * s-tassta.adb (Activate_Tasks): After task creation set state to
3216         Activating, vice Runnable. Initialize Known_Tasks, moved here from
3217         s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
3218         Set state to Runnable after above.
3219         (Task_Wrapper): Set Debug_Event_Run. In exception block set
3220         Debug_Event_Terminated.
3221
3222         * s-taskin.ads (Task_States): Add new states Activiting and
3223         Activator_Delay_Sleep.
3224         (Bit_Array, Debug_Event_Array): New types.
3225         (Global_Task_Debug_Event_Set: New flag.
3226         (Common_ATCB): New field Debug_Events.
3227
3228         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
3229
3230         * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
3231         Activator_Sleep.
3232
3233         * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
3234         Activating and when Acceptor_Delay_Sleep.
3235
3236         * s-tasdeb.ads: Add constants for Debug_Events.
3237         (Debug_Event_Kind_Type): New subtype.
3238         (Signal_Debug_Event): New subprogram.
3239
3240         * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
3241
3242 2009-04-16  Thomas Quinot  <quinot@adacore.com>
3243
3244         * sem_elim.adb: Minor reformatting
3245
3246         * freeze.adb: Minor reformatting
3247
3248         * exp_ch4.adb: Minor reformatting
3249
3250 2009-04-16  Emmanuel Briot  <briot@adacore.com>
3251
3252         * prj-nmsc.adb (Path_Name_Of): fix memory leak
3253
3254 2009-04-16  Robert Dewar  <dewar@adacore.com>
3255
3256         * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
3257
3258 2009-04-16  Vincent Celier  <celier@adacore.com>
3259
3260         * fmap.adb (Initialize): Show the current line when the mapping file
3261         is detected as "incorrectly formatted".
3262
3263 2009-04-16  Robert Dewar  <dewar@adacore.com>
3264
3265         * sem_ch12.adb: Minor reformatting
3266
3267         * sem_ch5.adb: Minor comment addition
3268
3269         * sem_util.adb: Minor reformatting
3270
3271         * sinput-p.adb: Minor reformatting
3272         Add missing pragma Warnings (On)
3273
3274 2009-04-16  Ed Falis  <falis@adacore.com>
3275
3276         * s-vxwext-kernel.adb: (ERROR): deleted unused constant
3277
3278 2009-04-16  Vincent Celier  <celier@adacore.com>
3279
3280         * ali-util.adb: Minor comment spelling error fix
3281
3282 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
3283
3284         * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
3285         generate an assignment loop in case of overlap.
3286
3287 2009-04-16  Olivier Hainque  <hainque@adacore.com>
3288
3289         * gnat_ugn.texi (gnatmem description): Make it explicit that
3290         gnatmem is designed to work in association with static runtime
3291         library only.
3292
3293 2009-04-16  Thomas Quinot  <quinot@adacore.com>
3294
3295         * sem_type.adb: Minor reformatting
3296
3297 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
3298
3299         * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
3300         concerning return codes of gettimeofday and return value check.
3301
3302 2009-04-16  Ed Falis  <falis@adacore.com>
3303
3304         * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
3305         body can be renaming of imported routines.
3306
3307 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
3308
3309         * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
3310         targeted fashion.
3311
3312 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
3313
3314         * exp_ch9.adb: Comment improvements.
3315         (Build_Entry_Family_Name): Add parentheses around the index of a entry
3316         family member.
3317
3318 2009-04-15  Bob Duff  <duff@adacore.com>
3319
3320         * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
3321         "while X /= null loop" where X is unchanged inside the loop. We were
3322         not warning in this case, because of the pointers -- we feared that the
3323         loop variable could be updated via a pointer, if there are any pointers
3324         around the place. But that is impossible in this case.
3325
3326         * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
3327         the case of dereferences. In X.all, X cannot be an l-value. We now
3328         catch that case (and implicit dereferences, too).
3329
3330 2009-04-15  Vincent Celier  <celier@adacore.com>
3331
3332         * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
3333
3334 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3335
3336         * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
3337         From code reading.
3338         (Analyze_Package_Instantiation): If generic unit in child instance is
3339         the same as generic unit in parent instance, look for an outer homonym
3340         to locate the desired generic.
3341
3342 2009-04-15  Bob Duff  <duff@adacore.com>
3343
3344         * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
3345         warnings unless the loop comes from source, because checking generated
3346         loops is a waste of time, and makes it harder to debug
3347         Check_Infinite_Loop_Warning.
3348
3349         * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
3350         tested in the while loop is a renaming, do not warn. Otherwise, we get
3351         false alarms, because it's usually renaming something that we can't
3352         deal with (an indexed component, a global variable, ...).
3353
3354         * gnat_rm.texi: Fix typo
3355
3356 2009-04-15  Thomas Quinot  <quinot@adacore.com>
3357
3358         * sem_ch6.adb: Minor reformatting
3359
3360 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
3361
3362         * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
3363         immediate parent of the controlled function call is a component
3364         association.
3365
3366 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3367
3368         * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
3369         corresponding class-wide type is also in use.
3370
3371 2009-04-15  Thomas Quinot  <quinot@adacore.com>
3372
3373         * frontend.adb: Minor comment fix
3374
3375 2009-04-15  Robert Dewar  <dewar@adacore.com>
3376
3377         * gnatchop.adb (BOM_Length): New global variable
3378         (Write_Unit): Add new parameter Write_BOM
3379         (Write_Chopped_Files): Check for BOM and set Write_BOM for call
3380         to Write_Unit
3381
3382         * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
3383
3384 2009-04-15  Geert Bosch  <bosch@adacore.com>
3385
3386         * system-mingw-x86_64.ads, system-darwin-x86_64.ads
3387         (Backend_Overflow_Checks): Set to True.
3388
3389 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
3390
3391         * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
3392         keyword is given in a record extension.
3393
3394 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
3395
3396         * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
3397         of a controlled function call in the context of a record aggregate.
3398         This does not apply to array aggregates since the call will be expanded
3399         into assignments.
3400
3401 2009-04-15  Ed Falis  <falis@adacore.com>
3402
3403         * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
3404         s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
3405         s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
3406         s-osinte-vxworks* and s-vxwext*.
3407
3408 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
3409
3410         * gcc-interface/Make-lang.in: Update dependencies.
3411
3412         * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
3413         and s-vxwext*.
3414
3415 2009-04-15  Robert Dewar  <dewar@adacore.com>
3416
3417         * sem_ch13.adb (Unchecked_Conversions): Store source location instead
3418         of node for location for warning messages.
3419
3420         * gnatchop.adb: Minor reformatting
3421
3422 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3423
3424         * exp_ch6.adb: additional guard for renaming declarations for in
3425         parameters of an array type.
3426
3427 2009-04-15  Robert Dewar  <dewar@adacore.com>
3428
3429         * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
3430         in case they were rewritten by expander (Force_Evaluation).
3431
3432         * targparm.adb (Get_Target_Parameters): Correct check for
3433         Suppress_Exception_Locations.
3434
3435 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3436
3437         * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
3438         inlined  is of an array type that is not bit-packed, use a renaming
3439         declaration to capture its value, rather than a constant declaration.
3440
3441 2009-04-15  Robert Dewar  <dewar@adacore.com>
3442
3443         * rtsfind.adb: Minor reformatting.
3444
3445 2009-04-15  Emmanuel Briot  <briot@adacore.com>
3446
3447         * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
3448         Restore, and free the saved context.
3449
3450 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
3451
3452         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
3453         for illegal private extension from a synchronized interface parent in
3454         front of check for illegal limited extension so that limited extension
3455         from a synchronized interface will be rejected.
3456         (Check_Ifaces): Check that a private extension that has a synchronized
3457         interface as a progenitor must be explicitly declared synchronized.
3458         Also check that a record extension cannot derive from a synchronized
3459         interface.
3460
3461 2009-04-15  Pascal Obry  <obry@adacore.com>
3462
3463         * adaint.h (__gnat_unlink): Add spec.
3464         (__gnat_rename): Likewise.
3465
3466 2009-04-15  Vincent Celier  <celier@adacore.com>
3467
3468         * prj-nmsc.adb: Minor spelling error corrections in error messages
3469
3470 2009-04-15  Robert Dewar  <dewar@adacore.com>
3471
3472         * sinfo.ads: Minor comment update
3473
3474         * opt.ads: Minor comment updates
3475
3476         * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
3477         modular type.
3478
3479 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3480
3481         * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
3482         that generates the code needed to update a dispatch table when a
3483         primitive operation is declared with a subprogram body without previous
3484         spec. Insertion of the generated code is responsibility of the caller.
3485         (Make_DT): When building static tables, append the code created by
3486         Register_Primitive to update a secondary table after it has been
3487         constructed.
3488
3489         * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
3490
3491         * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
3492         on an overriding operation that implements an interface operation only
3493         if not building static dispatch tables.
3494
3495 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
3496
3497         * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
3498         does not cause overflow when converted to Duration. Use the safe value
3499         as the maximum allowable time delay..
3500
3501 2009-04-15  Jerome Lambourg  <lambourg@adacore.com>
3502
3503         * g-comlin.adb (Set_Command_Line): When adding a switch with attached
3504         parameter, specify that the delimiter is NUL, otherwise "-j2" will be
3505         translated to "-j 2".
3506
3507 2009-04-15  Bob Duff  <duff@adacore.com>
3508
3509         * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
3510         with_clauses, to avoid code duplication. Change this processing so we
3511         always add a with_clause on the main unit if needed.
3512
3513 2009-04-15  Pascal Obry  <obry@adacore.com>
3514
3515         Add support for Win32 native encoding for delete/rename routines.
3516         
3517         * adaint.c (__gnat_unlink): New routine.
3518         (__gnat_rename): New routine.
3519         Simple wrapper routines used to convert to proper encoding on
3520         Windows.
3521
3522         * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
3523         call to the C library.
3524
3525         * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
3526
3527 2009-04-15  Robert Dewar  <dewar@adacore.com>
3528
3529         * s-tassta.adb: Minor reformatting
3530
3531 2009-04-15  Robert Dewar  <dewar@adacore.com>
3532
3533         * frontend.adb (Frontend): Set proper default for
3534         Warn_On_Non_Local_Exception.
3535
3536         * opt.ads (Exception_Handler_Encountered): New flag
3537         (No_Warn_On_Non_Local_Exception): New flag
3538
3539         * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
3540
3541         * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
3542         (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
3543
3544 2009-04-15  Cyrille Comar  <comar@adacore.com>
3545
3546         * s-tassta.adb, a-exextr.adb, a-elchha.adb
3547         (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
3548         message when exception traces are active since it would generate
3549         redundant information.
3550         (Exception_Traces.Notify_Exception): put message output by a critical
3551         section to avoid unsynchronized output.
3552         (Trace_Unhandled_Exception_In_Task): put message output by a critical
3553         section to avoid unsynchronized output.
3554
3555 2009-04-15  Emmanuel Briot  <briot@adacore.com>
3556
3557         * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
3558         (Free): New subprogram.
3559
3560 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
3561
3562         * a-calend.adb: Add new constant Nanos_In_Four_Years.
3563         (Formatting_Operations.Time_Of): Change the way four year chunks of
3564         nanoseconds are added to the intermediate result.
3565
3566 2009-04-15  Nicolas Setton  <setton@adacore.com>
3567
3568         * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
3569         does not need to wait for a carriage return.
3570
3571 2009-04-15  Tristan Gingold  <gingold@adacore.com>
3572
3573         * bindgen.adb: Do not generate adafinal if No_Finalization restriction
3574         is set.
3575
3576 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3577
3578         * freeze.adb (Freeze_Entity): improve error message for improper use of
3579         incomplete types.
3580         Diagnose additional illegal uses of incomplete types in formal parts.
3581         appearing in formal parts.
3582
3583         * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
3584
3585 2009-04-15  Robert Dewar  <dewar@adacore.com>
3586
3587         * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
3588
3589 2009-04-15  Nicolas Roche  <roche@adacore.com>
3590
3591         * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
3592         current thread.
3593
3594         * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
3595
3596         * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
3597
3598 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3599
3600         * sem_ch4.adb: improve error message on exponentiation.
3601
3602 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
3603
3604         * a-calend.adb: Move constant Epoch_Offset from package
3605         Conversion_Operations to top level.
3606         (Delay_Operations.To_Duration): Define a constant which represents
3607         "end of time" and use it as a guard against very distant delay dates.
3608         Protect the code against overflow when performing the origin shift to
3609         Unix time.
3610
3611 2009-04-15  Robert Dewar  <dewar@adacore.com>
3612
3613         * sem_prag.adb: Minor reformatting.
3614
3615         * sem_type.adb: Minor reformatting
3616
3617 2009-04-15  Javier Miranda  <miranda@adacore.com>
3618
3619         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
3620         support to check eliminated subprograms.
3621
3622         * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
3623
3624         * sem_elim.adb (Set_Eliminated): Add support for elimination of
3625         dispatching subprograms.
3626
3627         * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
3628         operations. Initialize with "null" the slots of eliminated dispaching
3629         primitives.
3630         (Write_DT): Add output for eliminated primitives.
3631
3632         * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
3633
3634 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3635
3636         * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
3637         the second is redundant, regardless of scopes.
3638
3639 2009-04-15  Vincent Celier  <celier@adacore.com>
3640
3641         * prj-nmsc.adb (Get_Directories): Check for sources before checking
3642         the object directory as when there are no sources, they may not be any
3643         object directory.
3644
3645         * make.adb (Gnatmake): Do not attempt to get the path name of the exec
3646         directory, when there are no exec directory.
3647
3648 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3649
3650         * sem_type.adb (Remove_Conversions): In order to resolve spurious
3651         ambiguities, refine removal of universal interpretations from complex
3652         expressions with literal arguments, when some numeric operators have
3653         been declared abstract.
3654
3655 2009-04-15  Ed Falis  <falis@adacore.com>
3656
3657         * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
3658         and backward compatibility for targets using probing for stack overflow
3659
3660 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3661
3662         * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
3663         after any declaration, including renaming declarations.
3664
3665 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
3666
3667         * gcc-interface/Make-lang.in: Update dependencies.
3668
3669         * gcc-interface/Makefile.in: Fix VxWorks target pairs.
3670         Update xenomai target pairs.
3671
3672 2009-04-15  Javier Miranda  <miranda@adacore.com>
3673
3674         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
3675
3676         * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
3677         functions returning anonymous access to class-wide limited types. Mark
3678         also the containing scope as a task master.
3679
3680         * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
3681         limited-withed packages. Required to restore their visibility after
3682         processing packages associated with implicit with-clauses.
3683
3684         * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
3685         associated with return statements because this work is now done by
3686         Check_Anonymous_Return.
3687         (Build_Master): Code cleanup.
3688
3689 2009-04-15  Thomas Quinot  <quinot@adacore.com>
3690
3691         * sem_warn.ads: Minor reformatting
3692
3693 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3694
3695         * sem_ch3.adb: better error message for illegal interfaces
3696
3697         * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
3698         formal is an incomplete type from a limited_with clause.
3699
3700 2009-04-15  Vincent Celier  <celier@adacore.com>
3701
3702         * prj-nmsc.adb (Locate_Directory): New Boolean parameter
3703         Externally_Built indicating if the project is externally built. If it
3704         is, and --subdirs is specified, but the subdir does not exist, look
3705         for the specified directory, without the subdir.
3706
3707 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
3708
3709         * a-tasatt.adb: Fix typo, plus minor reformatting
3710
3711         * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
3712
3713         * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
3714
3715 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3716
3717         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
3718         private extension whose parent is a synchronized interface carries an
3719         explicit synchronized keyword.
3720
3721 2009-04-15  Thomas Quinot  <quinot@adacore.com>
3722
3723         * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
3724         instantiate generic shared object package with the corresponding
3725         record type.
3726
3727 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
3728
3729         * system-linux-sparc.ads: Remove obsolete entries.
3730
3731 2009-04-15  Thomas Quinot  <quinot@adacore.com>
3732
3733         * s-tasuti.ads: Add ??? comment
3734
3735 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
3736
3737         * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
3738         type even if the designated type comes from a limited_with clause, to
3739         ensure that the symbol for the finalization list of the access type is
3740         created.
3741
3742 2009-04-10  Robert Dewar  <dewar@adacore.com>
3743
3744         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
3745         for warning suppression.
3746
3747 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3748
3749         * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
3750         identical, there is no redudancy to check.
3751
3752 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
3753
3754         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
3755         calls initializing SS_Allocator (which is initialized in following
3756         code).
3757         (Expand_Simple_Function_Return): Add comment about False value for
3758         Comes_From_Source on secondary-stack allocator.
3759
3760         * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
3761         (Build_Entry_Name): Add comment.
3762
3763 2009-04-10  Robert Dewar  <dewar@adacore.com>
3764
3765         * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
3766
3767         * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
3768         bound tested, since this is now done more generally in Sem_Res.
3769
3770         * sem_res.adb (Resolve_Comparison_Op): Add call to
3771         Check_Lower_Bound_Tested.
3772         (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
3773
3774         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
3775         (Low_Bound_Tested): New name for Low_Bound_Known flag
3776
3777         * exp_ch5.adb: Minor reformatting
3778
3779         * exp_ch4.adb:
3780         Add comments on copying the Comes_From_Source flag for allocators
3781
3782         * sinfo.ads:
3783         Add comments on copying the Comes_From_Source flag for allocators
3784
3785         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
3786         Comes_From_Source flag from old allocator to new one.
3787
3788 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3789
3790         * sem_ch6.ads: Address missing documentation query
3791
3792 2009-04-10  Vincent Celier  <celier@adacore.com>
3793
3794         * prj-attr.adb:
3795         Add new Linker attributes Max_Command_Line_Length, Response_File_Format
3796         and Response_File_Switches.
3797
3798         * prj-nmsc.adb (Process_Linker): Process new attributes
3799         Max_Command_Line_Length, Response_File_Format and
3800         Response_File_Switches.
3801
3802         * prj.ads (Response_File_Format): New enumeration type
3803         (Project_Configuration): New componants Max_Command_Line_Length,
3804         Resp_File_Format and Resp_File_Options.
3805
3806         * snames.ads-tmpl: Add new standard names for linking response files
3807         for gprbuild: GNU, None, Object_List, Option_List,
3808         Max_Command_Line_Length, Response_File_Format and
3809         Response_File_Switches.
3810
3811 2009-04-10  Geert Bosch  <bosch@adacore.com>
3812
3813         * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
3814         system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
3815         system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
3816         system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
3817         system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
3818         system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
3819         system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
3820         system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
3821         system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
3822         system-vxworks-arm.ads, system-vxworks-m68k.ads,
3823         system-vxworks-mips.ads, system-vxworks-ppc.ads,
3824         system-vxworks-sparcv9.ads, system-vxworks-x86.ads
3825         (Backend_Overflow_Checks): Set to True.
3826
3827 2009-04-10  Thomas Quinot  <quinot@adacore.com>
3828
3829         * exp_attr.adb: Minor reformatting
3830
3831 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3832
3833         * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
3834         analyze the expression for a postcondition, even if the compiler mode
3835         is Generate_Code.
3836
3837 2009-04-10  Robert Dewar  <dewar@adacore.com>
3838
3839         * sem_aux.adb: Minor reformatting
3840
3841 2009-04-10  Ed Falis  <falis@adacore.com>
3842
3843         * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
3844
3845         * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
3846
3847 2009-04-10  Thomas Quinot  <quinot@adacore.com>
3848
3849         * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
3850         undocumented formal.
3851         Minor reformatting
3852
3853         * a-direio.ads: Fix typo in comment
3854
3855         * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
3856         errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
3857         Use uniform phrasing for comment at start of subprogram body.
3858
3859         * xsnamest.adb: Add note to explain why we use specific names for the
3860         newly generated files instead of generating snames.{ads,adb,h} directly
3861
3862 2009-04-10  Sergey Rybin  <rybin@adacore.com>
3863
3864         * vms_data.ads:
3865         Add qualifier for new gnatstub option '--no-exception'
3866
3867         * gnat_ugn.texi:
3868         Add the description of the new gnatstub option '--no-exception'
3869
3870 2009-04-10  Robert Dewar  <dewar@adacore.com>
3871
3872         * rtsfind.adb: Minor reformatting
3873
3874 2009-04-10  Thomas Quinot  <quinot@adacore.com>
3875
3876         * sem_disp.adb: Minor reformatting.
3877         Add comment pointing to RM clause for the case of warning against a
3878         (failed) attempt at declaring a primitive operation elsewhere than in a
3879         package spec.
3880
3881 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3882
3883         * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
3884         an actual for a previous formal package of the current instance.
3885
3886 2009-04-10  Bob Duff  <duff@adacore.com>
3887
3888         * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
3889         them first, rather than on the extended main unit.
3890
3891 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3892
3893         * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
3894         specification of full view carries a null exclusion indicator, create
3895         an itype for it, to check for conformance with partial view.
3896
3897 2009-04-10  Bob Duff  <duff@adacore.com>
3898
3899         * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
3900
3901         * rtsfind.adb: Minor comment changes, and remove useless code.
3902
3903         * sinfo.ads: Add ??? comment.
3904
3905 2009-04-10  Vincent Celier  <celier@adacore.com>
3906
3907         * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
3908
3909 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
3910
3911         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
3912         type is a synchronized type, retrieve tag information from the
3913         corresponding record, which has the dispatch table link.
3914
3915 2009-04-10  Jerome Lambourg  <lambourg@adacore.com>
3916
3917         * g-comlin.adb (Group_Analysis): Take care of switches that might be
3918         decomposed afterwards, but are present as-is in the command line
3919         configuration, and thus should be kept as-is.
3920
3921 2009-04-10  Robert Dewar  <dewar@adacore.com>
3922
3923         * gnat_rm.texi: Document that postconditions are tested on implicit
3924         returns.
3925
3926         * sem_aux.adb: Minor reformatting
3927
3928 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
3929
3930         * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
3931         setting Etype.
3932         
3933         * par-ch3.adb (P_Access_Type_Definition): Set new attribute
3934         Null_Exclusion_In_Return_Present when an access-to-function type has a
3935         result type with an explicit not null.
3936
3937         * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
3938         given on the result type, then create a null-excluding itype for the
3939         function.
3940
3941         * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
3942         the case where a null exclusion is imposed on a named access type.
3943         (Analyze_Subprogram_Specification): Push and pop the scope of the
3944         function around the call to Analyze_Return_Type in the case of no
3945         formals, for consistency with handling when formals are present
3946         (Process_Formals does this). Ensures that any itype created for the
3947         return type will be associated with the proper scope.
3948
3949         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
3950         exclusion is given on a generic function's result type, then create a
3951         null-excluding itype for the generic function.
3952         (Instantiate_Object): Set Null_Exclusion_Present of a constant created
3953         for an actual for a formal in object according to the setting on the
3954         formal. Ensures null exclusion checks are done when the association is
3955         elaborated.
3956
3957         * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
3958         N_Access_Function_Definition.
3959
3960         * sinfo.adb: Add Get_ and Set_ operations for
3961         Null_Exclusion_In_Return_Present.
3962
3963 2009-04-10  Bob Duff  <duff@adacore.com>
3964
3965         * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
3966         call to the _Postconditions procedure in the case of implicit returns
3967         from analysis to expansion. This eliminates some duplicated code. Use
3968         the Postcondition_Proc to find the identity of this procedure during
3969         expansion.
3970
3971 2009-04-10  Robert Dewar  <dewar@adacore.com>
3972
3973         * sem_ch6.adb: Minor code clean up.
3974
3975         * einfo.ads, sem_attr.adb: Minor comment fixes.
3976
3977 2009-04-10  Robert Dewar  <dewar@adacore.com>
3978
3979         * sem_ch8.adb: Minor reformatting
3980
3981 2009-04-10  Robert Dewar  <dewar@adacore.com>
3982
3983         * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
3984         procedures.
3985
3986         * sem_ch6.adb: Minor code clean up.
3987
3988 2009-04-10  Robert Dewar  <dewar@adacore.com>
3989
3990         * mlib-tgt-specific-xi.adb: Minor reformatting
3991
3992 2009-04-10  Bob Duff  <duff@adacore.com>
3993
3994         * einfo.ads: Minor comment fixes
3995
3996 2009-04-10  Vincent Celier  <celier@adacore.com>
3997
3998         * snames.ads-tmpl: Remove names that are no longer used in the
3999         Project Manager.
4000         Mark specifically those that are used only in gprbuild
4001
4002 2009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
4003
4004         * init.c: Adjust EH support code on Alpha/Tru64.
4005
4006 2009-04-10  Bob Duff  <duff@adacore.com>
4007
4008         * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
4009         procedure on every path that could return implicitly (not via a return
4010         statement) from a procedure.
4011
4012 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
4013
4014         * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
4015         valid scope for a task declarations and therefore for a master id.
4016
4017 2009-04-10  Robert Dewar  <dewar@adacore.com>
4018
4019         * sem_aux.adb: Minor reformatting
4020
4021 2009-04-10  Vincent Celier  <celier@adacore.com>
4022
4023         * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
4024         True.
4025         (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
4026         (Set_Obsolescent_Check): New procedure to change the value of
4027         Obsolescent_Check_Flag.
4028
4029         * scn.ads (Set_Obsolescent_Check): New procedure to control
4030         Obsolescent_Check.
4031
4032         * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
4033         obsolescent features while preprocessing.
4034
4035 2009-04-10  Thomas Quinot  <quinot@adacore.com>
4036
4037         * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
4038         generated files on all platforms.
4039
4040 2009-04-10  Robert Dewar  <dewar@adacore.com>
4041
4042         * sem_aux.adb: Minor reformatting
4043
4044 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
4045
4046         * sem_ch3.adb (Access_Definition): Handle properly the case of a
4047         protected function with formals that returns an anonymous access type.
4048
4049 2009-04-10  Thomas Quinot  <quinot@adacore.com>
4050
4051         * sem_disp.adb: Minor reformatting
4052
4053 2009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
4054
4055         * seh_init.c: Do not use the 32-bit specific implementation of
4056         __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
4057         version TBD).
4058
4059 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
4060
4061         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
4062         a '/' at the end so we better use the complete target name to determine
4063         whether it is a PowerPC 55xx target.
4064
4065 2009-04-10  Thomas Quinot  <quinot@adacore.com>
4066
4067         * sem_eval.adb: Minor reformatting
4068
4069 2009-04-10  Thomas Quinot  <quinot@adacore.com>
4070
4071         * snames.h, snames.ads, snames.adb: Remove files, now generated from
4072         templates.
4073
4074         * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
4075         above.
4076
4077         * xsnamest.adb: New file.
4078
4079         * gcc-interface/Make-lang.in: New target for automated generation of
4080         snames.ads, snames.adb and snames.h
4081
4082 2009-04-10  Tristan Gingold  <gingold@adacore.com>
4083
4084         * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
4085         avoid compile time warnings.
4086         Do not add gcc/config in include search list while compiling the RTS.
4087         Pragma Thread_Local_Storage is available on any target.
4088
4089 2009-04-10  Bob Duff  <duff@adacore.com>
4090
4091         * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
4092
4093 2009-04-10  Tristan Gingold  <gingold@adacore.com>
4094
4095         * init.c: Install signal handler on Darwin.
4096
4097 2009-04-10  Robert Dewar  <dewar@adacore.com>
4098
4099         * sem_prag.adb: Minor reformatting
4100
4101         * exp_util.adb (Make_Non_Empty_Check): New function
4102         (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
4103         (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
4104
4105 2009-04-10  Arnaud Charlet  <charlet@adacore.com>
4106
4107         * make.adb, gnatlink.adb: Rename JGNAT toolchain.
4108
4109 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
4110
4111         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
4112         tool prefix for AVR and PowerPC 55xx targets.
4113
4114 2009-04-10  Robert Dewar  <dewar@adacore.com>
4115
4116         * sem_warn.adb (Within_Postcondition): New function
4117         (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
4118
4119 2009-04-10  Robert Dewar  <dewar@adacore.com>
4120
4121         * sem_warn.adb: Minor reformatting
4122
4123         * make.adb: Minor reformatting.
4124
4125 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
4126
4127         * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
4128         entity and the scope is a subprogram, retrieve the Sloc of the
4129         subprogram's body rather than using the sloc of the spec, for better
4130         line-stepping behavior in gdb.
4131         (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
4132         controller, use the Sloc of the first declaration of the containing list
4133         rather than that of the node that triggered creation of the list
4134         controller.
4135
4136 2009-04-10  Vincent Celier  <celier@adacore.com>
4137
4138         * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
4139         to avoid gcc warning.
4140
4141 2009-04-10  Robert Dewar  <dewar@adacore.com>
4142
4143         * g-comlin.adb: Add ??? comment
4144
4145 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
4146
4147         * sem_warn.adb (Check_Unused_Withs): Do not emit message about
4148         unreferenced entities for a package with no visible declarations.
4149
4150 2009-04-10  Robert Dewar  <dewar@adacore.com>
4151
4152         * exp_ch9.adb: Minor reformatting
4153
4154 2009-04-10  Thomas Quinot  <quinot@adacore.com>
4155
4156         * sem_prag.adb: Minor reformatting
4157
4158 2009-04-10  Vincent Celier  <celier@adacore.com>
4159
4160         * prj-nmsc.adb:
4161         (Check_Library_Attributes): For a project qualified as a library project
4162         that is not a library project, indicate in the error message which
4163         attributes are missing (Library_Dir and/or Library_Name).
4164
4165 2009-04-10  Bob Duff  <duff@adacore.com>
4166
4167         * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
4168         generated nodes, because it might confuse various circuits in the FE.
4169
4170 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
4171
4172         * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
4173         of pragma. It will be recopied and analyzed when used in call to
4174         Create_Task.
4175
4176         * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
4177         initialization operations and recognize use of it in procedure calls
4178         within init_procs.
4179
4180         * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
4181         argument, because it may have side-effects.
4182
4183         * exp_ch2.adb: Remove obsolete comments on default functions
4184
4185 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
4186
4187         * adaint.c (RTX section): Do for RTX the same thing as we do for
4188         Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
4189
4190 2009-04-10  Robert Dewar  <dewar@adacore.com>
4191
4192         * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
4193
4194         * sem_res.adb (Resolve_Call): Fix test for
4195         Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
4196         a non-dynamic scope).
4197
4198 2009-04-10  Robert Dewar  <dewar@adacore.com>
4199
4200         * make.adb: Add comment.
4201         Minor reformatting
4202
4203 2009-04-10  Nicolas Setton  <setton@adacore.com>
4204
4205         * s-osprim-darwin.adb: New file.
4206
4207         * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
4208
4209 2009-04-10  Thomas Quinot  <quinot@adacore.com>
4210
4211         * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
4212
4213 2009-04-09  Nick Clifton  <nickc@redhat.com>
4214
4215         * adadecode.h: Change copyright header to refer to version
4216         3 of the GNU General Public License with version 3.1 of the
4217         GCC Runtime Library Exception and to point readers at the
4218         COPYING3 and COPYING3.RUNTIME files and the FSF's license web
4219         page.
4220         * 9drpc.adb: Likewise.
4221         * a-assert.adb: Likewise.
4222         * a-astaco.adb: Likewise.
4223         * a-calari.adb: Likewise.
4224         * a-calcon.adb: Likewise.
4225         * a-calcon.ads: Likewise.
4226         * a-caldel.ads: Likewise.
4227         * a-calend-vms.adb: Likewise.
4228         * a-calend-vms.ads: Likewise.
4229         * a-calend.adb: Likewise.
4230         * a-calend.ads: Likewise.
4231         * a-calfor.adb: Likewise.
4232         * a-catizo.adb: Likewise.
4233         * a-cdlili.adb: Likewise.
4234         * a-cdlili.ads: Likewise.
4235         * a-cgaaso.adb: Likewise.
4236         * a-cgaaso.ads: Likewise.
4237         * a-cgarso.adb: Likewise.
4238         * a-cgcaso.adb: Likewise.
4239         * a-chacon.adb: Likewise.
4240         * a-chacon.ads: Likewise.
4241         * a-chahan.adb: Likewise.
4242         * a-chahan.ads: Likewise.
4243         * a-chlat9.ads: Likewise.
4244         * a-chtgke.adb: Likewise.
4245         * a-chtgke.ads: Likewise.
4246         * a-chtgop.adb: Likewise.
4247         * a-chtgop.ads: Likewise.
4248         * a-chzla1.ads: Likewise.
4249         * a-chzla9.ads: Likewise.
4250         * a-cidlli.adb: Likewise.
4251         * a-cidlli.ads: Likewise.
4252         * a-cihama.adb: Likewise.
4253         * a-cihama.ads: Likewise.
4254         * a-cihase.adb: Likewise.
4255         * a-cihase.ads: Likewise.
4256         * a-ciorma.adb: Likewise.
4257         * a-ciorma.ads: Likewise.
4258         * a-ciormu.adb: Likewise.
4259         * a-ciormu.ads: Likewise.
4260         * a-ciorse.adb: Likewise.
4261         * a-ciorse.ads: Likewise.
4262         * a-clrefi.adb: Likewise.
4263         * a-clrefi.ads: Likewise.
4264         * a-cohama.adb: Likewise.
4265         * a-cohama.ads: Likewise.
4266         * a-cohase.adb: Likewise.
4267         * a-cohase.ads: Likewise.
4268         * a-cohata.ads: Likewise.
4269         * a-coinve.adb: Likewise.
4270         * a-coinve.ads: Likewise.
4271         * a-colien.adb: Likewise.
4272         * a-colien.ads: Likewise.
4273         * a-colire.adb: Likewise.
4274         * a-colire.ads: Likewise.
4275         * a-comlin.adb: Likewise.
4276         * a-comlin.ads: Likewise.
4277         * a-convec.adb: Likewise.
4278         * a-convec.ads: Likewise.
4279         * a-coorma.adb: Likewise.
4280         * a-coorma.ads: Likewise.
4281         * a-coormu.adb: Likewise.
4282         * a-coormu.ads: Likewise.
4283         * a-coorse.adb: Likewise.
4284         * a-coorse.ads: Likewise.
4285         * a-coprnu.adb: Likewise.
4286         * a-coprnu.ads: Likewise.
4287         * a-crbltr.ads: Likewise.
4288         * a-crbtgk.adb: Likewise.
4289         * a-crbtgk.ads: Likewise.
4290         * a-crbtgo.adb: Likewise.
4291         * a-crbtgo.ads: Likewise.
4292         * a-crdlli.adb: Likewise.
4293         * a-crdlli.ads: Likewise.
4294         * a-cwila1.ads: Likewise.
4295         * a-cwila9.ads: Likewise.
4296         * a-decima.adb: Likewise.
4297         * a-decima.ads: Likewise.
4298         * a-diocst.adb: Likewise.
4299         * a-diocst.ads: Likewise.
4300         * a-direct.adb: Likewise.
4301         * a-direct.ads: Likewise.
4302         * a-direio.adb: Likewise.
4303         * a-direio.ads: Likewise.
4304         * a-dirval-mingw.adb: Likewise.
4305         * a-dirval-vms.adb: Likewise.
4306         * a-dirval.adb: Likewise.
4307         * a-dirval.ads: Likewise.
4308         * a-dynpri.adb: Likewise.
4309         * a-einuoc.adb: Likewise.
4310         * a-einuoc.ads: Likewise.
4311         * a-elchha.adb: Likewise.
4312         * a-elchha.ads: Likewise.
4313         * a-envvar.adb: Likewise.
4314         * a-excach.adb: Likewise.
4315         * a-except-2005.adb: Likewise.
4316         * a-except-2005.ads: Likewise.
4317         * a-except.adb: Likewise.
4318         * a-except.ads: Likewise.
4319         * a-excpol-abort.adb: Likewise.
4320         * a-excpol.adb: Likewise.
4321         * a-exctra.adb: Likewise.
4322         * a-exctra.ads: Likewise.
4323         * a-exetim-mingw.adb: Likewise.
4324         * a-exetim-mingw.ads: Likewise.
4325         * a-exexda.adb: Likewise.
4326         * a-exexpr-gcc.adb: Likewise.
4327         * a-exexpr.adb: Likewise.
4328         * a-exextr.adb: Likewise.
4329         * a-exstat.adb: Likewise.
4330         * a-filico.adb: Likewise.
4331         * a-filico.ads: Likewise.
4332         * a-finali.adb: Likewise.
4333         * a-finali.ads: Likewise.
4334         * a-interr.ads: Likewise.
4335         * a-intnam-aix.ads: Likewise.
4336         * a-intnam-darwin.ads: Likewise.
4337         * a-intnam-dummy.ads: Likewise.
4338         * a-intnam-freebsd.ads: Likewise.
4339         * a-intnam-hpux.ads: Likewise.
4340         * a-intnam-irix.ads: Likewise.
4341         * a-intnam-linux.ads: Likewise.
4342         * a-intnam-lynxos.ads: Likewise.
4343         * a-intnam-mingw.ads: Likewise.
4344         * a-intnam-rtems.ads: Likewise.
4345         * a-intnam-solaris.ads: Likewise.
4346         * a-intnam-tru64.ads: Likewise.
4347         * a-intnam-vms.ads: Likewise.
4348         * a-intnam-vxworks.ads: Likewise.
4349         * a-intsig.adb: Likewise.
4350         * a-intsig.ads: Likewise.
4351         * a-ngcefu.adb: Likewise.
4352         * a-ngcoar.adb: Likewise.
4353         * a-ngcoty.adb: Likewise.
4354         * a-ngcoty.ads: Likewise.
4355         * a-ngelfu.adb: Likewise.
4356         * a-ngrear.adb: Likewise.
4357         * a-ngrear.ads: Likewise.
4358         * a-nudira.adb: Likewise.
4359         * a-nudira.ads: Likewise.
4360         * a-nuflra.adb: Likewise.
4361         * a-nuflra.ads: Likewise.
4362         * a-numaux-darwin.adb: Likewise.
4363         * a-numaux-darwin.ads: Likewise.
4364         * a-numaux-libc-x86.ads: Likewise.
4365         * a-numaux-vxworks.ads: Likewise.
4366         * a-numaux-x86.adb: Likewise.
4367         * a-numaux-x86.ads: Likewise.
4368         * a-numaux.ads: Likewise.
4369         * a-rbtgso.adb: Likewise.
4370         * a-rbtgso.ads: Likewise.
4371         * a-reatim.ads: Likewise.
4372         * a-retide.adb: Likewise.
4373         * a-retide.ads: Likewise.
4374         * a-rttiev.adb: Likewise.
4375         * a-rttiev.ads: Likewise.
4376         * a-secain.adb: Likewise.
4377         * a-secain.ads: Likewise.
4378         * a-sequio.adb: Likewise.
4379         * a-sequio.ads: Likewise.
4380         * a-shcain.adb: Likewise.
4381         * a-shcain.ads: Likewise.
4382         * a-siocst.adb: Likewise.
4383         * a-siocst.ads: Likewise.
4384         * a-slcain.adb: Likewise.
4385         * a-slcain.ads: Likewise.
4386         * a-ssicst.adb: Likewise.
4387         * a-ssicst.ads: Likewise.
4388         * a-stboha.adb: Likewise.
4389         * a-stmaco.ads: Likewise.
4390         * a-storio.adb: Likewise.
4391         * a-strbou.adb: Likewise.
4392         * a-strbou.ads: Likewise.
4393         * a-stream.ads: Likewise.
4394         * a-strfix.adb: Likewise.
4395         * a-strhas.adb: Likewise.
4396         * a-strmap.adb: Likewise.
4397         * a-strmap.ads: Likewise.
4398         * a-strsea.adb: Likewise.
4399         * a-strsea.ads: Likewise.
4400         * a-strsup.adb: Likewise.
4401         * a-strsup.ads: Likewise.
4402         * a-strunb.adb: Likewise.
4403         * a-strunb.ads: Likewise.
4404         * a-ststio.adb: Likewise.
4405         * a-ststio.ads: Likewise.
4406         * a-stunau.adb: Likewise.
4407         * a-stunau.ads: Likewise.
4408         * a-stunha.adb: Likewise.
4409         * a-stwibo.adb: Likewise.
4410         * a-stwibo.ads: Likewise.
4411         * a-stwifi.adb: Likewise.
4412         * a-stwiha.adb: Likewise.
4413         * a-stwima.adb: Likewise.
4414         * a-stwima.ads: Likewise.
4415         * a-stwise.adb: Likewise.
4416         * a-stwise.ads: Likewise.
4417         * a-stwisu.adb: Likewise.
4418         * a-stwisu.ads: Likewise.
4419         * a-stwiun.adb: Likewise.
4420         * a-stwiun.ads: Likewise.
4421         * a-stzbou.adb: Likewise.
4422         * a-stzbou.ads: Likewise.
4423         * a-stzfix.adb: Likewise.
4424         * a-stzhas.adb: Likewise.
4425         * a-stzmap.adb: Likewise.
4426         * a-stzmap.ads: Likewise.
4427         * a-stzsea.adb: Likewise.
4428         * a-stzsea.ads: Likewise.
4429         * a-stzsup.adb: Likewise.
4430         * a-stzsup.ads: Likewise.
4431         * a-stzunb.adb: Likewise.
4432         * a-stzunb.ads: Likewise.
4433         * a-suteio.adb: Likewise.
4434         * a-suteio.ads: Likewise.
4435         * a-swbwha.adb: Likewise.
4436         * a-swmwco.ads: Likewise.
4437         * a-swunau.adb: Likewise.
4438         * a-swunau.ads: Likewise.
4439         * a-swuwha.adb: Likewise.
4440         * a-swuwti.adb: Likewise.
4441         * a-swuwti.ads: Likewise.
4442         * a-sytaco.adb: Likewise.
4443         * a-sytaco.ads: Likewise.
4444         * a-szbzha.adb: Likewise.
4445         * a-szmzco.ads: Likewise.
4446         * a-szunau.adb: Likewise.
4447         * a-szunau.ads: Likewise.
4448         * a-szuzha.adb: Likewise.
4449         * a-szuzti.adb: Likewise.
4450         * a-szuzti.ads: Likewise.
4451         * a-tags.adb: Likewise.
4452         * a-tags.ads: Likewise.
4453         * a-tasatt.ads: Likewise.
4454         * a-taside.adb: Likewise.
4455         * a-taside.ads: Likewise.
4456         * a-taster.adb: Likewise.
4457         * a-teioed.adb: Likewise.
4458         * a-teioed.ads: Likewise.
4459         * a-textio.adb: Likewise.
4460         * a-textio.ads: Likewise.
4461         * a-tiboio.adb: Likewise.
4462         * a-ticoau.adb: Likewise.
4463         * a-ticoau.ads: Likewise.
4464         * a-ticoio.adb: Likewise.
4465         * a-ticoio.ads: Likewise.
4466         * a-tideau.adb: Likewise.
4467         * a-tideau.ads: Likewise.
4468         * a-tideio.adb: Likewise.
4469         * a-tideio.ads: Likewise.
4470         * a-tienau.adb: Likewise.
4471         * a-tienau.ads: Likewise.
4472         * a-tienio.adb: Likewise.
4473         * a-tienio.ads: Likewise.
4474         * a-tifiio.adb: Likewise.
4475         * a-tifiio.ads: Likewise.
4476         * a-tiflau.adb: Likewise.
4477         * a-tiflau.ads: Likewise.
4478         * a-tiflio.adb: Likewise.
4479         * a-tiflio.ads: Likewise.
4480         * a-tigeau.adb: Likewise.
4481         * a-tigeau.ads: Likewise.
4482         * a-tiinau.adb: Likewise.
4483         * a-tiinau.ads: Likewise.
4484         * a-tiinio.adb: Likewise.
4485         * a-tiinio.ads: Likewise.
4486         * a-timoau.adb: Likewise.
4487         * a-timoau.ads: Likewise.
4488         * a-timoio.adb: Likewise.
4489         * a-timoio.ads: Likewise.
4490         * a-tiocst.adb: Likewise.
4491         * a-tiocst.ads: Likewise.
4492         * a-titest.adb: Likewise.
4493         * a-wichun.adb: Likewise.
4494         * a-wichun.ads: Likewise.
4495         * a-witeio.adb: Likewise.
4496         * a-witeio.ads: Likewise.
4497         * a-wtcoau.adb: Likewise.
4498         * a-wtcoau.ads: Likewise.
4499         * a-wtcoio.adb: Likewise.
4500         * a-wtcstr.adb: Likewise.
4501         * a-wtcstr.ads: Likewise.
4502         * a-wtdeau.adb: Likewise.
4503         * a-wtdeau.ads: Likewise.
4504         * a-wtdeio.adb: Likewise.
4505         * a-wtdeio.ads: Likewise.
4506         * a-wtedit.adb: Likewise.
4507         * a-wtedit.ads: Likewise.
4508         * a-wtenau.adb: Likewise.
4509         * a-wtenau.ads: Likewise.
4510         * a-wtenio.adb: Likewise.
4511         * a-wtenio.ads: Likewise.
4512         * a-wtfiio.adb: Likewise.
4513         * a-wtfiio.ads: Likewise.
4514         * a-wtflau.adb: Likewise.
4515         * a-wtflau.ads: Likewise.
4516         * a-wtflio.adb: Likewise.
4517         * a-wtflio.ads: Likewise.
4518         * a-wtgeau.adb: Likewise.
4519         * a-wtgeau.ads: Likewise.
4520         * a-wtinau.adb: Likewise.
4521         * a-wtinau.ads: Likewise.
4522         * a-wtinio.adb: Likewise.
4523         * a-wtmoau.adb: Likewise.
4524         * a-wtmoau.ads: Likewise.
4525         * a-wtmoio.adb: Likewise.
4526         * a-wtmoio.ads: Likewise.
4527         * a-wttest.adb: Likewise.
4528         * a-wwboio.adb: Likewise.
4529         * a-zchuni.adb: Likewise.
4530         * a-zchuni.ads: Likewise.
4531         * a-ztcoau.adb: Likewise.
4532         * a-ztcoau.ads: Likewise.
4533         * a-ztcoio.adb: Likewise.
4534         * a-ztcstr.adb: Likewise.
4535         * a-ztcstr.ads: Likewise.
4536         * a-ztdeau.adb: Likewise.
4537         * a-ztdeau.ads: Likewise.
4538         * a-ztdeio.adb: Likewise.
4539         * a-ztdeio.ads: Likewise.
4540         * a-ztedit.adb: Likewise.
4541         * a-ztedit.ads: Likewise.
4542         * a-ztenau.adb: Likewise.
4543         * a-ztenau.ads: Likewise.
4544         * a-ztenio.adb: Likewise.
4545         * a-ztenio.ads: Likewise.
4546         * a-ztexio.adb: Likewise.
4547         * a-ztexio.ads: Likewise.
4548         * a-ztfiio.adb: Likewise.
4549         * a-ztfiio.ads: Likewise.
4550         * a-ztflau.adb: Likewise.
4551         * a-ztflau.ads: Likewise.
4552         * a-ztflio.adb: Likewise.
4553         * a-ztflio.ads: Likewise.
4554         * a-ztgeau.adb: Likewise.
4555         * a-ztgeau.ads: Likewise.
4556         * a-ztinau.adb: Likewise.
4557         * a-ztinau.ads: Likewise.
4558         * a-ztinio.adb: Likewise.
4559         * a-ztmoau.adb: Likewise.
4560         * a-ztmoau.ads: Likewise.
4561         * a-ztmoio.adb: Likewise.
4562         * a-ztmoio.ads: Likewise.
4563         * a-zttest.adb: Likewise.
4564         * a-zzboio.adb: Likewise.
4565         * adadecode.c: Likewise.
4566         * adaint.c: Likewise.
4567         * adaint.h: Likewise.
4568         * alloc.ads: Likewise.
4569         * argv.c: Likewise.
4570         * arit64.c: Likewise.
4571         * atree.adb: Likewise.
4572         * atree.ads: Likewise.
4573         * aux-io.c: Likewise.
4574         * cal.c: Likewise.
4575         * casing.adb: Likewise.
4576         * casing.ads: Likewise.
4577         * cio.c: Likewise.
4578         * csets.adb: Likewise.
4579         * csets.ads: Likewise.
4580         * cstreams.c: Likewise.
4581         * ctrl_c.c: Likewise.
4582         * debug.adb: Likewise.
4583         * debug.ads: Likewise.
4584         * dec.ads: Likewise.
4585         * einfo.adb: Likewise.
4586         * einfo.ads: Likewise.
4587         * elists.adb: Likewise.
4588         * elists.ads: Likewise.
4589         * env.c: Likewise.
4590         * env.h: Likewise.
4591         * errno.c: Likewise.
4592         * exit.c: Likewise.
4593         * fe.h: Likewise.
4594         * final.c: Likewise.
4595         * fname.adb: Likewise.
4596         * fname.ads: Likewise.
4597         * g-allein.ads: Likewise.
4598         * g-alleve.adb: Likewise.
4599         * g-alleve.ads: Likewise.
4600         * g-altcon.adb: Likewise.
4601         * g-altcon.ads: Likewise.
4602         * g-altive.ads: Likewise.
4603         * g-alveop.adb: Likewise.
4604         * g-alveop.ads: Likewise.
4605         * g-alvety.ads: Likewise.
4606         * g-alvevi.ads: Likewise.
4607         * g-arrspl.adb: Likewise.
4608         * g-arrspl.ads: Likewise.
4609         * g-calend.ads: Likewise.
4610         * g-comlin.adb: Likewise.
4611         * g-debpoo.adb: Likewise.
4612         * g-debpoo.ads: Likewise.
4613         * g-eacodu-vms.adb: Likewise.
4614         * g-eacodu.adb: Likewise.
4615         * g-excact.adb: Likewise.
4616         * g-excact.ads: Likewise.
4617         * g-locfil.adb: Likewise.
4618         * g-os_lib.ads: Likewise.
4619         * g-rannum.adb: Likewise.
4620         * g-rannum.ads: Likewise.
4621         * g-regist.adb: Likewise.
4622         * g-regist.ads: Likewise.
4623         * g-signal.adb: Likewise.
4624         * g-signal.ads: Likewise.
4625         * g-soccon.ads: Likewise.
4626         * g-string.adb: Likewise.
4627         * g-string.ads: Likewise.
4628         * g-strspl.ads: Likewise.
4629         * g-timsta.adb: Likewise.
4630         * g-timsta.ads: Likewise.
4631         * g-trasym-vms-alpha.adb: Likewise.
4632         * g-trasym-vms-ia64.adb: Likewise.
4633         * g-utf_32.adb: Likewise.
4634         * g-utf_32.ads: Likewise.
4635         * g-wistsp.ads: Likewise.
4636         * g-zstspl.ads: Likewise.
4637         * gmem.c: Likewise.
4638         * gnatvsn.adb: Likewise.
4639         * gnatvsn.ads: Likewise.
4640         * gsocket.h: Likewise.
4641         * hostparm.ads: Likewise.
4642         * i-c.adb: Likewise.
4643         * i-cexten.ads: Likewise.
4644         * i-cobol.adb: Likewise.
4645         * i-cobol.ads: Likewise.
4646         * i-cpoint.adb: Likewise.
4647         * i-cpoint.ads: Likewise.
4648         * i-cpp.adb: Likewise.
4649         * i-cpp.ads: Likewise.
4650         * i-cstrea-vms.adb: Likewise.
4651         * i-cstrea.adb: Likewise.
4652         * i-cstrea.ads: Likewise.
4653         * i-cstrin.adb: Likewise.
4654         * i-cstrin.ads: Likewise.
4655         * i-forbla-darwin.adb: Likewise.
4656         * i-forbla-unimplemented.ads: Likewise.
4657         * i-forbla.adb: Likewise.
4658         * i-forbla.ads: Likewise.
4659         * i-forlap.ads: Likewise.
4660         * i-fortra.adb: Likewise.
4661         * i-pacdec.adb: Likewise.
4662         * i-pacdec.ads: Likewise.
4663         * i-vxwoio.adb: Likewise.
4664         * i-vxwoio.ads: Likewise.
4665         * indepsw-aix.adb: Likewise.
4666         * indepsw-gnu.adb: Likewise.
4667         * indepsw-mingw.adb: Likewise.
4668         * indepsw.adb: Likewise.
4669         * indepsw.ads: Likewise.
4670         * init.c: Likewise.
4671         * initialize.c: Likewise.
4672         * interfac.ads: Likewise.
4673         * krunch.adb: Likewise.
4674         * krunch.ads: Likewise.
4675         * lib-list.adb: Likewise.
4676         * lib-sort.adb: Likewise.
4677         * lib.adb: Likewise.
4678         * lib.ads: Likewise.
4679         * link.c: Likewise.
4680         * math_lib.adb: Likewise.
4681         * memtrack.adb: Likewise.
4682         * mingw32.h: Likewise.
4683         * mkdir.c: Likewise.
4684         * namet-sp.adb: Likewise.
4685         * namet-sp.ads: Likewise.
4686         * namet.adb: Likewise.
4687         * namet.ads: Likewise.
4688         * nlists.adb: Likewise.
4689         * nlists.ads: Likewise.
4690         * opt.adb: Likewise.
4691         * opt.ads: Likewise.
4692         * output.adb: Likewise.
4693         * output.ads: Likewise.
4694         * raise-gcc.c: Likewise.
4695         * raise.c: Likewise.
4696         * raise.h: Likewise.
4697         * repinfo.adb: Likewise.
4698         * repinfo.ads: Likewise.
4699         * repinfo.h: Likewise.
4700         * rident.ads: Likewise.
4701         * s-addima.adb: Likewise.
4702         * s-addima.ads: Likewise.
4703         * s-addope.adb: Likewise.
4704         * s-addope.ads: Likewise.
4705         * s-arit64.adb: Likewise.
4706         * s-arit64.ads: Likewise.
4707         * s-assert.adb: Likewise.
4708         * s-assert.ads: Likewise.
4709         * s-asthan-vms-alpha.adb: Likewise.
4710         * s-asthan.adb: Likewise.
4711         * s-asthan.ads: Likewise.
4712         * s-atacco.adb: Likewise.
4713         * s-atacco.ads: Likewise.
4714         * s-auxdec-empty.adb: Likewise.
4715         * s-auxdec-empty.ads: Likewise.
4716         * s-auxdec-vms_64.ads: Likewise.
4717         * s-auxdec.adb: Likewise.
4718         * s-auxdec.ads: Likewise.
4719         * s-bitops.adb: Likewise.
4720         * s-bitops.ads: Likewise.
4721         * s-boarop.ads: Likewise.
4722         * s-carsi8.adb: Likewise.
4723         * s-carsi8.ads: Likewise.
4724         * s-carun8.adb: Likewise.
4725         * s-carun8.ads: Likewise.
4726         * s-casi16.adb: Likewise.
4727         * s-casi16.ads: Likewise.
4728         * s-casi32.adb: Likewise.
4729         * s-casi32.ads: Likewise.
4730         * s-casi64.adb: Likewise.
4731         * s-casi64.ads: Likewise.
4732         * s-casuti.ads: Likewise.
4733         * s-caun16.adb: Likewise.
4734         * s-caun16.ads: Likewise.
4735         * s-caun32.adb: Likewise.
4736         * s-caun32.ads: Likewise.
4737         * s-caun64.adb: Likewise.
4738         * s-caun64.ads: Likewise.
4739         * s-chepoo.ads: Likewise.
4740         * s-crc32.adb: Likewise.
4741         * s-crc32.ads: Likewise.
4742         * s-crtl.ads: Likewise.
4743         * s-direio.adb: Likewise.
4744         * s-direio.ads: Likewise.
4745         * s-dsaser.ads: Likewise.
4746         * s-except.adb: Likewise.
4747         * s-except.ads: Likewise.
4748         * s-exctab.adb: Likewise.
4749         * s-exctab.ads: Likewise.
4750         * s-exnint.adb: Likewise.
4751         * s-exnint.ads: Likewise.
4752         * s-exnllf.adb: Likewise.
4753         * s-exnllf.ads: Likewise.
4754         * s-exnlli.adb: Likewise.
4755         * s-exnlli.ads: Likewise.
4756         * s-expint.adb: Likewise.
4757         * s-expint.ads: Likewise.
4758         * s-explli.adb: Likewise.
4759         * s-explli.ads: Likewise.
4760         * s-expllu.adb: Likewise.
4761         * s-expllu.ads: Likewise.
4762         * s-expmod.adb: Likewise.
4763         * s-expmod.ads: Likewise.
4764         * s-expuns.adb: Likewise.
4765         * s-expuns.ads: Likewise.
4766         * s-fatflt.ads: Likewise.
4767         * s-fatgen.adb: Likewise.
4768         * s-fatgen.ads: Likewise.
4769         * s-fatlfl.ads: Likewise.
4770         * s-fatllf.ads: Likewise.
4771         * s-fatsfl.ads: Likewise.
4772         * s-ficobl.ads: Likewise.
4773         * s-fileio.adb: Likewise.
4774         * s-fileio.ads: Likewise.
4775         * s-filofl.ads: Likewise.
4776         * s-finimp.adb: Likewise.
4777         * s-finimp.ads: Likewise.
4778         * s-finroo.adb: Likewise.
4779         * s-finroo.ads: Likewise.
4780         * s-fishfl.ads: Likewise.
4781         * s-fore.adb: Likewise.
4782         * s-fore.ads: Likewise.
4783         * s-fvadfl.ads: Likewise.
4784         * s-fvaffl.ads: Likewise.
4785         * s-fvagfl.ads: Likewise.
4786         * s-gearop.adb: Likewise.
4787         * s-gearop.ads: Likewise.
4788         * s-gecobl.adb: Likewise.
4789         * s-gecobl.ads: Likewise.
4790         * s-gecola.adb: Likewise.
4791         * s-gecola.ads: Likewise.
4792         * s-gerebl.adb: Likewise.
4793         * s-gerebl.ads: Likewise.
4794         * s-gerela.adb: Likewise.
4795         * s-gerela.ads: Likewise.
4796         * s-geveop.adb: Likewise.
4797         * s-geveop.ads: Likewise.
4798         * s-gloloc.adb: Likewise.
4799         * s-gloloc.ads: Likewise.
4800         * s-hibaen.ads: Likewise.
4801         * s-imenne.adb: Likewise.
4802         * s-imenne.ads: Likewise.
4803         * s-imgbiu.adb: Likewise.
4804         * s-imgbiu.ads: Likewise.
4805         * s-imgboo.adb: Likewise.
4806         * s-imgboo.ads: Likewise.
4807         * s-imgcha.adb: Likewise.
4808         * s-imgcha.ads: Likewise.
4809         * s-imgdec.adb: Likewise.
4810         * s-imgdec.ads: Likewise.
4811         * s-imgenu.adb: Likewise.
4812         * s-imgenu.ads: Likewise.
4813         * s-imgint.adb: Likewise.
4814         * s-imgint.ads: Likewise.
4815         * s-imgllb.adb: Likewise.
4816         * s-imgllb.ads: Likewise.
4817         * s-imglld.adb: Likewise.
4818         * s-imglld.ads: Likewise.
4819         * s-imglli.adb: Likewise.
4820         * s-imglli.ads: Likewise.
4821         * s-imgllu.adb: Likewise.
4822         * s-imgllu.ads: Likewise.
4823         * s-imgllw.adb: Likewise.
4824         * s-imgllw.ads: Likewise.
4825         * s-imgrea.adb: Likewise.
4826         * s-imgrea.ads: Likewise.
4827         * s-imguns.adb: Likewise.
4828         * s-imguns.ads: Likewise.
4829         * s-imgwch.adb: Likewise.
4830         * s-imgwch.ads: Likewise.
4831         * s-imgwiu.adb: Likewise.
4832         * s-imgwiu.ads: Likewise.
4833         * s-inmaop-dummy.adb: Likewise.
4834         * s-inmaop-vms.adb: Likewise.
4835         * s-inmaop.ads: Likewise.
4836         * s-interr-hwint.adb: Likewise.
4837         * s-interr-sigaction.adb: Likewise.
4838         * s-interr-vms.adb: Likewise.
4839         * s-interr.adb: Likewise.
4840         * s-interr.ads: Likewise.
4841         * s-intman-dummy.adb: Likewise.
4842         * s-intman-mingw.adb: Likewise.
4843         * s-intman-posix.adb: Likewise.
4844         * s-intman-solaris.adb: Likewise.
4845         * s-intman-vms.adb: Likewise.
4846         * s-intman-vms.ads: Likewise.
4847         * s-intman-vxworks.adb: Likewise.
4848         * s-intman-vxworks.ads: Likewise.
4849         * s-intman.ads: Likewise.
4850         * s-io.adb: Likewise.
4851         * s-io.ads: Likewise.
4852         * s-linux-alpha.ads: Likewise.
4853         * s-linux-hppa.ads: Likewise.
4854         * s-linux.ads: Likewise.
4855         * s-maccod.ads: Likewise.
4856         * s-mantis.adb: Likewise.
4857         * s-mantis.ads: Likewise.
4858         * s-mastop-irix.adb: Likewise.
4859         * s-mastop.adb: Likewise.
4860         * s-mastop.ads: Likewise.
4861         * s-memcop.ads: Likewise.
4862         * s-memory-mingw.adb: Likewise.
4863         * s-memory.adb: Likewise.
4864         * s-memory.ads: Likewise.
4865         * s-os_lib.ads: Likewise.
4866         * s-oscons-tmplt.c: Likewise.
4867         * s-osinte-aix.adb: Likewise.
4868         * s-osinte-darwin.adb: Likewise.
4869         * s-osinte-freebsd.adb: Likewise.
4870         * s-osinte-irix.adb: Likewise.
4871         * s-osinte-lynxos-3.adb: Likewise.
4872         * s-osinte-rtems.ads: Likewise.
4873         * s-osinte-tru64.adb: Likewise.
4874         * s-osinte-vxworks-kernel.adb: Likewise.
4875         * s-osinte-vxworks.adb: Likewise.
4876         * s-osprim-mingw.adb: Likewise.
4877         * s-osprim-posix.adb: Likewise.
4878         * s-osprim-solaris.adb: Likewise.
4879         * s-osprim-unix.adb: Likewise.
4880         * s-osprim-vms.adb: Likewise.
4881         * s-osprim-vms.ads: Likewise.
4882         * s-osprim-vxworks.adb: Likewise.
4883         * s-osprim.ads: Likewise.
4884         * s-pack03.adb: Likewise.
4885         * s-pack03.ads: Likewise.
4886         * s-pack05.adb: Likewise.
4887         * s-pack05.ads: Likewise.
4888         * s-pack06.adb: Likewise.
4889         * s-pack06.ads: Likewise.
4890         * s-pack07.adb: Likewise.
4891         * s-pack07.ads: Likewise.
4892         * s-pack09.adb: Likewise.
4893         * s-pack09.ads: Likewise.
4894         * s-pack10.adb: Likewise.
4895         * s-pack10.ads: Likewise.
4896         * s-pack11.adb: Likewise.
4897         * s-pack11.ads: Likewise.
4898         * s-pack12.adb: Likewise.
4899         * s-pack12.ads: Likewise.
4900         * s-pack13.adb: Likewise.
4901         * s-pack13.ads: Likewise.
4902         * s-pack14.adb: Likewise.
4903         * s-pack14.ads: Likewise.
4904         * s-pack15.adb: Likewise.
4905         * s-pack15.ads: Likewise.
4906         * s-pack17.adb: Likewise.
4907         * s-pack17.ads: Likewise.
4908         * s-pack18.adb: Likewise.
4909         * s-pack18.ads: Likewise.
4910         * s-pack19.adb: Likewise.
4911         * s-pack19.ads: Likewise.
4912         * s-pack20.adb: Likewise.
4913         * s-pack20.ads: Likewise.
4914         * s-pack21.adb: Likewise.
4915         * s-pack21.ads: Likewise.
4916         * s-pack22.adb: Likewise.
4917         * s-pack22.ads: Likewise.
4918         * s-pack23.adb: Likewise.
4919         * s-pack23.ads: Likewise.
4920         * s-pack24.adb: Likewise.
4921         * s-pack24.ads: Likewise.
4922         * s-pack25.adb: Likewise.
4923         * s-pack25.ads: Likewise.
4924         * s-pack26.adb: Likewise.
4925         * s-pack26.ads: Likewise.
4926         * s-pack27.adb: Likewise.
4927         * s-pack27.ads: Likewise.
4928         * s-pack28.adb: Likewise.
4929         * s-pack28.ads: Likewise.
4930         * s-pack29.adb: Likewise.
4931         * s-pack29.ads: Likewise.
4932         * s-pack30.adb: Likewise.
4933         * s-pack30.ads: Likewise.
4934         * s-pack31.adb: Likewise.
4935         * s-pack31.ads: Likewise.
4936         * s-pack33.adb: Likewise.
4937         * s-pack33.ads: Likewise.
4938         * s-pack34.adb: Likewise.
4939         * s-pack34.ads: Likewise.
4940         * s-pack35.adb: Likewise.
4941         * s-pack35.ads: Likewise.
4942         * s-pack36.adb: Likewise.
4943         * s-pack36.ads: Likewise.
4944         * s-pack37.adb: Likewise.
4945         * s-pack37.ads: Likewise.
4946         * s-pack38.adb: Likewise.
4947         * s-pack38.ads: Likewise.
4948         * s-pack39.adb: Likewise.
4949         * s-pack39.ads: Likewise.
4950         * s-pack40.adb: Likewise.
4951         * s-pack40.ads: Likewise.
4952         * s-pack41.adb: Likewise.
4953         * s-pack41.ads: Likewise.
4954         * s-pack42.adb: Likewise.
4955         * s-pack42.ads: Likewise.
4956         * s-pack43.adb: Likewise.
4957         * s-pack43.ads: Likewise.
4958         * s-pack44.adb: Likewise.
4959         * s-pack44.ads: Likewise.
4960         * s-pack45.adb: Likewise.
4961         * s-pack45.ads: Likewise.
4962         * s-pack46.adb: Likewise.
4963         * s-pack46.ads: Likewise.
4964         * s-pack47.adb: Likewise.
4965         * s-pack47.ads: Likewise.
4966         * s-pack48.adb: Likewise.
4967         * s-pack48.ads: Likewise.
4968         * s-pack49.adb: Likewise.
4969         * s-pack49.ads: Likewise.
4970         * s-pack50.adb: Likewise.
4971         * s-pack50.ads: Likewise.
4972         * s-pack51.adb: Likewise.
4973         * s-pack51.ads: Likewise.
4974         * s-pack52.adb: Likewise.
4975         * s-pack52.ads: Likewise.
4976         * s-pack53.adb: Likewise.
4977         * s-pack53.ads: Likewise.
4978         * s-pack54.adb: Likewise.
4979         * s-pack54.ads: Likewise.
4980         * s-pack55.adb: Likewise.
4981         * s-pack55.ads: Likewise.
4982         * s-pack56.adb: Likewise.
4983         * s-pack56.ads: Likewise.
4984         * s-pack57.adb: Likewise.
4985         * s-pack57.ads: Likewise.
4986         * s-pack58.adb: Likewise.
4987         * s-pack58.ads: Likewise.
4988         * s-pack59.adb: Likewise.
4989         * s-pack59.ads: Likewise.
4990         * s-pack60.adb: Likewise.
4991         * s-pack60.ads: Likewise.
4992         * s-pack61.adb: Likewise.
4993         * s-pack61.ads: Likewise.
4994         * s-pack62.adb: Likewise.
4995         * s-pack62.ads: Likewise.
4996         * s-pack63.adb: Likewise.
4997         * s-pack63.ads: Likewise.
4998         * s-parame-ae653.ads: Likewise.
4999         * s-parame-hpux.ads: Likewise.
5000         * s-parame-rtems.adb: Likewise.
5001         * s-parame-vms-alpha.ads: Likewise.
5002         * s-parame-vms-ia64.ads: Likewise.
5003         * s-parame-vms-restrict.ads: Likewise.
5004         * s-parame-vxworks.adb: Likewise.
5005         * s-parame-vxworks.ads: Likewise.
5006         * s-parame.adb: Likewise.
5007         * s-parame.ads: Likewise.
5008         * s-parint.adb: Likewise.
5009         * s-parint.ads: Likewise.
5010         * s-pooglo.adb: Likewise.
5011         * s-pooglo.ads: Likewise.
5012         * s-pooloc.adb: Likewise.
5013         * s-pooloc.ads: Likewise.
5014         * s-poosiz.adb: Likewise.
5015         * s-poosiz.ads: Likewise.
5016         * s-powtab.ads: Likewise.
5017         * s-proinf-irix-athread.adb: Likewise.
5018         * s-proinf-irix-athread.ads: Likewise.
5019         * s-proinf.adb: Likewise.
5020         * s-proinf.ads: Likewise.
5021         * s-purexc.ads: Likewise.
5022         * s-rannum.adb: Likewise.
5023         * s-rannum.ads: Likewise.
5024         * s-restri.adb: Likewise.
5025         * s-restri.ads: Likewise.
5026         * s-rident.ads: Likewise.
5027         * s-rpc.adb: Likewise.
5028         * s-rpc.ads: Likewise.
5029         * s-scaval.adb: Likewise.
5030         * s-scaval.ads: Likewise.
5031         * s-secsta.adb: Likewise.
5032         * s-secsta.ads: Likewise.
5033         * s-sequio.adb: Likewise.
5034         * s-sequio.ads: Likewise.
5035         * s-shasto.adb: Likewise.
5036         * s-shasto.ads: Likewise.
5037         * s-soflin.adb: Likewise.
5038         * s-soflin.ads: Likewise.
5039         * s-solita.adb: Likewise.
5040         * s-solita.ads: Likewise.
5041         * s-sopco3.adb: Likewise.
5042         * s-sopco3.ads: Likewise.
5043         * s-sopco4.adb: Likewise.
5044         * s-sopco4.ads: Likewise.
5045         * s-sopco5.adb: Likewise.
5046         * s-sopco5.ads: Likewise.
5047         * s-stache.adb: Likewise.
5048         * s-stache.ads: Likewise.
5049         * s-stalib.adb: Likewise.
5050         * s-stalib.ads: Likewise.
5051         * s-stausa.adb: Likewise.
5052         * s-stausa.ads: Likewise.
5053         * s-stchop-limit.ads: Likewise.
5054         * s-stchop-rtems.adb: Likewise.
5055         * s-stchop-vxworks.adb: Likewise.
5056         * s-stchop.adb: Likewise.
5057         * s-stchop.ads: Likewise.
5058         * s-stoele.adb: Likewise.
5059         * s-stoele.ads: Likewise.
5060         * s-stopoo.adb: Likewise.
5061         * s-stopoo.ads: Likewise.
5062         * s-stratt.adb: Likewise.
5063         * s-stratt.ads: Likewise.
5064         * s-strcom.adb: Likewise.
5065         * s-strcom.ads: Likewise.
5066         * s-string.adb: Likewise.
5067         * s-string.ads: Likewise.
5068         * s-strops.adb: Likewise.
5069         * s-strops.ads: Likewise.
5070         * s-strxdr.adb: Likewise.
5071         * s-ststop.adb: Likewise.
5072         * s-ststop.ads: Likewise.
5073         * s-taasde.adb: Likewise.
5074         * s-taasde.ads: Likewise.
5075         * s-tadeca.adb: Likewise.
5076         * s-tadeca.ads: Likewise.
5077         * s-tadert.adb: Likewise.
5078         * s-tadert.ads: Likewise.
5079         * s-taenca.adb: Likewise.
5080         * s-taenca.ads: Likewise.
5081         * s-taprob.ads: Likewise.
5082         * s-taprop-dummy.adb: Likewise.
5083         * s-taprop-hpux-dce.adb: Likewise.
5084         * s-taprop-irix.adb: Likewise.
5085         * s-taprop-linux.adb: Likewise.
5086         * s-taprop-lynxos.adb: Likewise.
5087         * s-taprop-mingw.adb: Likewise.
5088         * s-taprop-posix.adb: Likewise.
5089         * s-taprop-solaris.adb: Likewise.
5090         * s-taprop-tru64.adb: Likewise.
5091         * s-taprop-vms.adb: Likewise.
5092         * s-taprop-vxworks.adb: Likewise.
5093         * s-taprop.ads: Likewise.
5094         * s-tarest.adb: Likewise.
5095         * s-tarest.ads: Likewise.
5096         * s-tasdeb.adb: Likewise.
5097         * s-tasdeb.ads: Likewise.
5098         * s-tasinf-irix.ads: Likewise.
5099         * s-tasinf-linux.adb: Likewise.
5100         * s-tasinf-linux.ads: Likewise.
5101         * s-tasinf-mingw.adb: Likewise.
5102         * s-tasinf-mingw.ads: Likewise.
5103         * s-tasinf-solaris.adb: Likewise.
5104         * s-tasinf-solaris.ads: Likewise.
5105         * s-tasinf-tru64.ads: Likewise.
5106         * s-tasinf.adb: Likewise.
5107         * s-tasinf.ads: Likewise.
5108         * s-tasini.adb: Likewise.
5109         * s-tasini.ads: Likewise.
5110         * s-taskin.adb: Likewise.
5111         * s-taskin.ads: Likewise.
5112         * s-taspri-dummy.ads: Likewise.
5113         * s-taspri-hpux-dce.ads: Likewise.
5114         * s-taspri-mingw.ads: Likewise.
5115         * s-taspri-solaris.ads: Likewise.
5116         * s-taspri-tru64.ads: Likewise.
5117         * s-taspri-vms.ads: Likewise.
5118         * s-taspri-vxworks.ads: Likewise.
5119         * s-tasque.adb: Likewise.
5120         * s-tasque.ads: Likewise.
5121         * s-tasren.adb: Likewise.
5122         * s-tasren.ads: Likewise.
5123         * s-tasres.ads: Likewise.
5124         * s-tassta.adb: Likewise.
5125         * s-tassta.ads: Likewise.
5126         * s-tasuti.adb: Likewise.
5127         * s-tasuti.ads: Likewise.
5128         * s-tfsetr-default.adb: Likewise.
5129         * s-tfsetr-vxworks.adb: Likewise.
5130         * s-tpinop.adb: Likewise.
5131         * s-tpinop.ads: Likewise.
5132         * s-tpoben.adb: Likewise.
5133         * s-tpoben.ads: Likewise.
5134         * s-tpobop.adb: Likewise.
5135         * s-tpobop.ads: Likewise.
5136         * s-tpopde-vms.adb: Likewise.
5137         * s-tpopde-vms.ads: Likewise.
5138         * s-tpopsp-lynxos.adb: Likewise.
5139         * s-tpopsp-posix-foreign.adb: Likewise.
5140         * s-tpopsp-posix.adb: Likewise.
5141         * s-tpopsp-solaris.adb: Likewise.
5142         * s-tpopsp-vxworks.adb: Likewise.
5143         * s-tporft.adb: Likewise.
5144         * s-tposen.adb: Likewise.
5145         * s-tposen.ads: Likewise.
5146         * s-traceb.adb: Likewise.
5147         * s-traceb.ads: Likewise.
5148         * s-traces-default.adb: Likewise.
5149         * s-traces.adb: Likewise.
5150         * s-traces.ads: Likewise.
5151         * s-traent-vms.adb: Likewise.
5152         * s-traent-vms.ads: Likewise.
5153         * s-traent.adb: Likewise.
5154         * s-traent.ads: Likewise.
5155         * s-trafor-default.adb: Likewise.
5156         * s-trafor-default.ads: Likewise.
5157         * s-tratas-default.adb: Likewise.
5158         * s-tratas.adb: Likewise.
5159         * s-tratas.ads: Likewise.
5160         * s-unstyp.ads: Likewise.
5161         * s-utf_32.adb: Likewise.
5162         * s-utf_32.ads: Likewise.
5163         * s-vaflop-vms-alpha.adb: Likewise.
5164         * s-vaflop.adb: Likewise.
5165         * s-vaflop.ads: Likewise.
5166         * s-valboo.adb: Likewise.
5167         * s-valboo.ads: Likewise.
5168         * s-valcha.adb: Likewise.
5169         * s-valcha.ads: Likewise.
5170         * s-valdec.adb: Likewise.
5171         * s-valdec.ads: Likewise.
5172         * s-valenu.adb: Likewise.
5173         * s-valenu.ads: Likewise.
5174         * s-valint.adb: Likewise.
5175         * s-valint.ads: Likewise.
5176         * s-vallld.adb: Likewise.
5177         * s-vallld.ads: Likewise.
5178         * s-vallli.adb: Likewise.
5179         * s-vallli.ads: Likewise.
5180         * s-valllu.adb: Likewise.
5181         * s-valllu.ads: Likewise.
5182         * s-valrea.adb: Likewise.
5183         * s-valrea.ads: Likewise.
5184         * s-valuns.adb: Likewise.
5185         * s-valuns.ads: Likewise.
5186         * s-valuti.adb: Likewise.
5187         * s-valuti.ads: Likewise.
5188         * s-valwch.adb: Likewise.
5189         * s-valwch.ads: Likewise.
5190         * s-veboop.adb: Likewise.
5191         * s-veboop.ads: Likewise.
5192         * s-vector.ads: Likewise.
5193         * s-vercon.adb: Likewise.
5194         * s-vercon.ads: Likewise.
5195         * s-vmexta.adb: Likewise.
5196         * s-vmexta.ads: Likewise.
5197         * s-vxwext-kernel.ads: Likewise.
5198         * s-vxwext-rtp.adb: Likewise.
5199         * s-vxwext-rtp.ads: Likewise.
5200         * s-vxwext.ads: Likewise.
5201         * s-vxwork-arm.ads: Likewise.
5202         * s-vxwork-m68k.ads: Likewise.
5203         * s-vxwork-mips.ads: Likewise.
5204         * s-vxwork-ppc.ads: Likewise.
5205         * s-vxwork-sparcv9.ads: Likewise.
5206         * s-vxwork-x86.ads: Likewise.
5207         * s-wchcnv.adb: Likewise.
5208         * s-wchcnv.ads: Likewise.
5209         * s-wchcon.adb: Likewise.
5210         * s-wchcon.ads: Likewise.
5211         * s-wchjis.adb: Likewise.
5212         * s-wchjis.ads: Likewise.
5213         * s-wchstw.adb: Likewise.
5214         * s-wchstw.ads: Likewise.
5215         * s-wchwts.adb: Likewise.
5216         * s-wchwts.ads: Likewise.
5217         * s-widboo.adb: Likewise.
5218         * s-widboo.ads: Likewise.
5219         * s-widcha.adb: Likewise.
5220         * s-widcha.ads: Likewise.
5221         * s-widenu.adb: Likewise.
5222         * s-widenu.ads: Likewise.
5223         * s-widlli.adb: Likewise.
5224         * s-widlli.ads: Likewise.
5225         * s-widllu.adb: Likewise.
5226         * s-widllu.ads: Likewise.
5227         * s-widwch.adb: Likewise.
5228         * s-widwch.ads: Likewise.
5229         * s-win32.ads: Likewise.
5230         * s-winext.ads: Likewise.
5231         * s-wwdcha.adb: Likewise.
5232         * s-wwdcha.ads: Likewise.
5233         * s-wwdenu.adb: Likewise.
5234         * s-wwdenu.ads: Likewise.
5235         * s-wwdwch.adb: Likewise.
5236         * s-wwdwch.ads: Likewise.
5237         * scans.adb: Likewise.
5238         * scans.ads: Likewise.
5239         * seh_init.c: Likewise.
5240         * sfn_scan.adb: Likewise.
5241         * sinfo.adb: Likewise.
5242         * sinfo.ads: Likewise.
5243         * sinput.adb: Likewise.
5244         * sinput.ads: Likewise.
5245         * snames.adb: Likewise.
5246         * snames.ads: Likewise.
5247         * socket.c: Likewise.
5248         * stand.adb: Likewise.
5249         * stand.ads: Likewise.
5250         * stringt.adb: Likewise.
5251         * stringt.ads: Likewise.
5252         * sysdep.c: Likewise.
5253         * system-aix.ads: Likewise.
5254         * system-darwin-ppc.ads: Likewise.
5255         * system-darwin-x86.ads: Likewise.
5256         * system-darwin-x86_64.ads: Likewise.
5257         * system-freebsd-x86.ads: Likewise.
5258         * system-hpux-ia64.ads: Likewise.
5259         * system-hpux.ads: Likewise.
5260         * system-irix-n32.ads: Likewise.
5261         * system-irix-n64.ads: Likewise.
5262         * system-irix-o32.ads: Likewise.
5263         * system-linux-alpha.ads: Likewise.
5264         * system-linux-hppa.ads: Likewise.
5265         * system-linux-ia64.ads: Likewise.
5266         * system-linux-mips.ads: Likewise.
5267         * system-linux-mipsel.ads: Likewise.
5268         * system-linux-ppc.ads: Likewise.
5269         * system-linux-ppc64.ads: Likewise.
5270         * system-linux-s390.ads: Likewise.
5271         * system-linux-s390x.ads: Likewise.
5272         * system-linux-sh4.ads: Likewise.
5273         * system-linux-sparc.ads: Likewise.
5274         * system-linux-sparcv9.ads: Likewise.
5275         * system-linux-x86.ads: Likewise.
5276         * system-linux-x86_64.ads: Likewise.
5277         * system-lynxos-ppc.ads: Likewise.
5278         * system-lynxos-x86.ads: Likewise.
5279         * system-mingw-x86_64.ads: Likewise.
5280         * system-mingw.ads: Likewise.
5281         * system-rtems.ads: Likewise.
5282         * system-solaris-sparc.ads: Likewise.
5283         * system-solaris-sparcv9.ads: Likewise.
5284         * system-solaris-x86.ads: Likewise.
5285         * system-solaris-x86_64.ads: Likewise.
5286         * system-tru64.ads: Likewise.
5287         * system-vms-ia64.ads: Likewise.
5288         * system-vms-zcx.ads: Likewise.
5289         * system-vms.ads: Likewise.
5290         * system-vms_64.ads: Likewise.
5291         * system-vxworks-arm.ads: Likewise.
5292         * system-vxworks-m68k.ads: Likewise.
5293         * system-vxworks-mips.ads: Likewise.
5294         * system-vxworks-ppc.ads: Likewise.
5295         * system-vxworks-sparcv9.ads: Likewise.
5296         * system-vxworks-x86.ads: Likewise.
5297         * system.ads: Likewise.
5298         * table.adb: Likewise.
5299         * table.ads: Likewise.
5300         * targext.c: Likewise.
5301         * targparm.ads: Likewise.
5302         * tree_in.adb: Likewise.
5303         * tree_in.ads: Likewise.
5304         * tree_io.adb: Likewise.
5305         * tree_io.ads: Likewise.
5306         * types.adb: Likewise.
5307         * types.ads: Likewise.
5308         * uintp.adb: Likewise.
5309         * uintp.ads: Likewise.
5310         * uname.adb: Likewise.
5311         * uname.ads: Likewise.
5312         * urealp.adb: Likewise.
5313         * urealp.ads: Likewise.
5314         * vx_stack_info.c: Likewise.
5315         * widechar.adb: Likewise.
5316         * widechar.ads: Likewise.
5317         * exp_attr.adb: Change copyright header to refer to version
5318         3 of the GNU General Public License and to point readers at the
5319         COPYING3 file and the FSF's license web page.
5320         * sem.adb: Likewise.
5321         * sem_attr.ads: Likewise.
5322         * freeze.adb: Likewise.
5323         * freeze.ads: Likewise.
5324         * errout.ads: Likewise.
5325         * erroutc.adb: Likewise.
5326         * exp_ch11.ads: Likewise.
5327
5328 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
5329
5330         * config-lang.in: Change copyright header to refer to version
5331         3 of the GNU General Public License and to point readers at the
5332         COPYING3 file and the FSF's license web page.
5333         * gcc-interface/trans.c: Likewise.
5334         * gnathtml.pl: Likewise.
5335         * gcc-interface/ada.h: Likewise.  Remove runtime exception.
5336         * gcc-interface/gigi.h: Likewise.
5337         * gcc-interface/misc.c: Likewise.
5338         * gcc-interface/targtyps.c: Likewise.
5339
5340 2009-04-09  Nicolas Setton  <setton@adacore.com>
5341
5342         * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
5343
5344         * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
5345         struct_timeval.
5346
5347 2009-04-09  Bob Duff  <duff@adacore.com>
5348
5349         * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
5350         internally-generated nodes related to select statements to avoid
5351         confusing the debugger.
5352
5353 2009-04-09  Pascal Obry  <obry@adacore.com>
5354
5355         * make.adb: Ensure that all linker arguments are duplicated.
5356
5357 2009-04-09  Robert Dewar  <dewar@adacore.com>
5358
5359         * sem_ch5.adb: Minor reformatting
5360
5361 2009-04-09  Vincent Celier  <celier@adacore.com>
5362
5363         * vms_data.ads:
5364         Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
5365         New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
5366         New qualifier /LXDEBUG=nnn for -gnatDnnn
5367         For H820-010
5368
5369         * gnat_ugn.texi:
5370         Update documentation for VMS qualifiers equivalent to -gnatGnn and
5371         -gnatDnn
5372
5373 2009-04-09  Nicolas Setton  <setton@adacore.com>
5374
5375         * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
5376         to match layout of siginfo_t in sys/signal.h.
5377
5378         * gcc-interface/Makefile.in: Add section for x86_64 darwin.
5379
5380 2009-04-09  Thomas Quinot  <quinot@adacore.com>
5381
5382         * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
5383
5384 2009-04-09  Nicolas Setton  <setton@adacore.com>
5385
5386         * s-oscons-tmplt.c: Allow long lines in the generated spec.
5387         Add generation of Darwin-specific constants needed when binding to the
5388         pthread library.
5389
5390 2009-04-09  Robert Dewar  <dewar@adacore.com>
5391
5392         * checks.adb:
5393         (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
5394         when no invalid values exist, Avoid duplicate read of atomic variable.
5395
5396         * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
5397         (Standard_Unsigned): Set Is_Known_Valid
5398
5399         * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
5400         subtype declaration if no constraint.
5401         (Set_Modular_Size): Set Is_Known_Valid if appropriate
5402         (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
5403
5404 2009-04-09  Robert Dewar  <dewar@adacore.com>
5405
5406         * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
5407         switch.ads: for numeric switches, an optional equal sign is always
5408         allowed.
5409
5410 2009-04-09  Vincent Celier  <celier@adacore.com>
5411
5412         * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
5413         the case of file names is not significant.
5414
5415 2009-04-09  Vincent Celier  <celier@adacore.com>
5416
5417         * errout.adb: Remove dependency on package Style
5418
5419         * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
5420         moved to Stylesw.
5421         
5422         * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
5423         Styleg.
5424
5425         * errutil.adb, par.adb: Import Stylesw
5426
5427 2009-04-09  Arnaud Charlet  <charlet@adacore.com>
5428
5429         * opt.ads: Fix typos.
5430
5431 2009-04-09  Robert Dewar  <dewar@adacore.com>
5432
5433         * einfo.adb: Minor reformatting
5434
5435 2009-04-09  Robert Dewar  <dewar@adacore.com>
5436
5437         * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
5438         units.
5439
5440         * styleg-c.ads, styleg-c.adb: Removed, no longer used.
5441
5442 2009-04-09  Robert Dewar  <dewar@adacore.com>
5443
5444         * g-comver.adb: Minor reformatting.
5445
5446 2009-04-09  Thomas Quinot  <quinot@adacore.com>
5447
5448         * lib-load.ads (Load_Unit): Update documentation.
5449
5450 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
5451
5452         * lib-load.adb (Load_Unit): When loading the parent of a child unit
5453         named in a with_clause, retain the with_clause to preserve a
5454         limited_with indication.
5455
5456 2009-04-09  Robert Dewar  <dewar@adacore.com>
5457
5458         * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
5459         exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
5460         sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
5461         possible to replace an OR of two separate tests.
5462
5463 2009-04-09  Robert Dewar  <dewar@adacore.com>
5464
5465         * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
5466         Maximum_Messages.
5467         
5468         * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
5469         warning status as well.
5470         
5471         * opt.ads (Maximum_Messages): New name for Maximum_Errors.
5472         
5473         * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
5474         Maximum_Messages.
5475         
5476         * bindusg.adb, usage.adb: Update line for -gnatm switch
5477
5478         * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
5479         -mnn binder switch.
5480
5481 2009-04-09  Robert Dewar  <dewar@adacore.com>
5482
5483         * sem_ch10.adb: Minor reformatting.
5484
5485 2009-04-09  Bob Duff  <duff@adacore.com>
5486
5487         * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
5488         Set Sloc of generated nodes for calls to Undefer_Aborts and
5489         Save_Occurrence to No_Location, so the debugger ignores them and
5490         therefore does not jump back and forth when single stepping.
5491
5492 2009-04-09  Robert Dewar  <dewar@adacore.com>
5493
5494         * switch-b.adb: Minor reformatting.
5495
5496 2009-04-09  Robert Dewar  <dewar@adacore.com>
5497
5498         * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
5499         sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
5500         exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
5501         sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
5502         einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
5503         tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
5504         exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
5505         sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
5506         sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
5507         sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
5508         Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
5509
5510 2009-04-09  Robert Dewar  <dewar@adacore.com>
5511
5512         * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
5513
5514         * atree.h: Add Elist26
5515
5516         * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
5517         backends.
5518
5519 2009-04-09  Javier Miranda  <miranda@adacore.com>
5520
5521         * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
5522         retrieve from the Dispatch_Table_Wrappers list the external name.
5523         Addition of documentation.
5524         (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
5525         used to export secondary dispatch tables (in the previous version of
5526         the frontend only primary dispatch tables were exported). Addition of
5527         documentation.
5528         (Import_DT): New subprogram (internal of Make_Tags). Used to import a
5529         dispatch table of a given tagged type. 
5530         (Make_Tags): Modified to import secondary dispatch tables.
5531
5532         * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
5533         (Constant_Redeclaration): Code cleanup.
5534
5535         * einfo.ads (Dispatch_Table_Wrapper): Renamed to
5536         Dispatch_Table_Wrappers.  Update documentation.
5537
5538         * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
5539         Renamed to Dispatch_Table_Wrappers.
5540
5541         * sem_util.adb (Collect_Interface_Components): Improve handling of
5542         private types.
5543
5544         * atree.ads (Elist26, Set_Elist26): New subprograms
5545
5546         * atree.adb (Elist26, Set_Elist26): New subprograms
5547
5548 2009-04-09  Javier Miranda  <miranda@adacore.com>
5549
5550         * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
5551         (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
5552         tagged types.
5553
5554 2009-04-09  Robert Dewar  <dewar@adacore.com>
5555
5556         * s-direio.adb: Minor reformatting
5557
5558         * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
5559
5560 2009-04-09  Robert Dewar  <dewar@adacore.com>
5561
5562         * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
5563
5564 2009-04-09  Pascal Obry  <obry@adacore.com>
5565
5566         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
5567         s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
5568         a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
5569         a-filico.ads: Add some missing overriding keywords.
5570
5571 2009-04-09  Pascal Obry  <obry@adacore.com>
5572
5573         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
5574         a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
5575         a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
5576         reformatting.
5577
5578 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
5579
5580         * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
5581         missing overriding indicator if the new declaration is not seen as
5582         primitive.
5583
5584 2009-04-09  Thomas Quinot  <quinot@adacore.com>
5585
5586         * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
5587         overflows in computation of bounds.
5588
5589 2009-04-09  Pascal Obry  <obry@adacore.com>
5590
5591         * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
5592         typos in comment.
5593
5594 2009-04-09  Robert Dewar  <dewar@adacore.com>
5595
5596         * sem_attr.adb (Check_Stream_Attribute): Check violation of
5597         restriction No_Streams
5598
5599         * gnat_rm.texi: Clarify No_Streams restriction
5600
5601         * g-socket.adb: Minor reformatting.
5602
5603 2009-04-09  Thomas Quinot  <quinot@adacore.com>
5604
5605         * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
5606
5607 2009-04-09  Geert Bosch  <bosch@adacore.com>
5608
5609         * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
5610         (Set_Result): Likewise.
5611         (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
5612         conversion, as required by RM 4.6(31).
5613
5614 2009-04-08  Robert Dewar  <dewar@adacore.com>
5615
5616         * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
5617         suppressed.
5618         
5619         * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
5620         resolution steps.
5621
5622 2009-04-08  Robert Dewar  <dewar@adacore.com>
5623
5624         * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
5625         No_Local_Allocators restriction preventing local instantiation.
5626
5627 2009-04-08  Thomas Quinot  <quinot@adacore.com>
5628
5629         * sem_eval.adb: Minor comment fix
5630
5631 2009-04-08  Thomas Quinot  <quinot@adacore.com>
5632
5633         * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
5634         New limited controlled type used to automate the initialization and
5635         finalization of the sockets implementation.
5636         (GNAT.Sockets.Initialize, Finalize): Make these no-ops
5637
5638 2009-04-08  Vincent Celier  <celier@adacore.com>
5639
5640         * prj-attr.adb: New read-only project-level attribute Project_Dir
5641
5642         * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
5643         read-only attribute of the same name.
5644         (Process_Declarative_Items): Call Add_Attributes with Project_Dir
5645         (Recursive_Process): Ditto
5646
5647         * snames.adb: Add new standard name Project_Dir
5648
5649         * snames.ads: Add new standard name Project_Dir
5650
5651 2009-04-08  Thomas Quinot  <quinot@adacore.com>
5652
5653         * checks.adb: Minor reformatting
5654
5655 2009-04-08  Vincent Celier  <celier@adacore.com>
5656
5657         * vms_data.ads: Add documentation for new style keyword
5658         OVERRIDING_INDICATORS
5659
5660 2009-04-08  Robert Dewar  <dewar@adacore.com>
5661
5662         * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
5663         spec is in the current unit.
5664
5665 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
5666
5667         * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
5668         presence of entity.
5669
5670         * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
5671
5672 2009-04-08  Vincent Celier  <celier@adacore.com>
5673
5674         * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
5675
5676 2009-04-08  Thomas Quinot  <quinot@adacore.com>
5677
5678         * checks.ads: Minor reformatting
5679
5680 2009-04-08  Robert Dewar  <dewar@adacore.com>
5681
5682         * gnat_rm.texi: Update documentation of pragma Obsolescent
5683         
5684         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
5685         be omitted, and allow Entity parameter to be omitted.
5686
5687 2009-04-08  Thomas Quinot  <quinot@adacore.com>
5688
5689         * exp_util.adb: Minor comment fix
5690
5691 2009-04-08  Robert Dewar  <dewar@adacore.com>
5692
5693         * g-socket.ads: Fix bad syntax in pragma Obsolescent
5694
5695         * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
5696         argument with no identifier following one that has an identifier. Was
5697         missed in some cases.
5698
5699         * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
5700         identifier.
5701         (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
5702
5703         * snames.adb: Add Name_Policy
5704
5705         * snames.ads: Add Name_Policy
5706
5707 2009-04-08  Robert Dewar  <dewar@adacore.com>
5708
5709         * gnat_rm.texi: Minor reformatting
5710
5711         * par-ch2.adb: Minor reformatting
5712
5713 2009-04-08  Robert Dewar  <dewar@adacore.com>
5714
5715         * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
5716
5717 2009-04-08  Robert Dewar  <dewar@adacore.com>
5718
5719         * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
5720         properly in the presence of Remote_Types or Remote_Call_Interface.
5721
5722         * sem_util.adb: Add comment.
5723
5724 2009-04-08  Robert Dewar  <dewar@adacore.com>
5725
5726         * ug_words: Add /ASSUME_VALID for -gnatB
5727
5728         * vms_data.ads: Add /ASSUME_VALID for -gnatB
5729
5730         * sem_cat.adb: Add clarifying commment
5731
5732         * a-direio.ads (Bytes): Make sure value is non-zero
5733
5734 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
5735
5736         * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
5737         that does not come from source, check for a rewritten function call in
5738         prefixed notation before other forms of rewriting.
5739
5740 2009-04-08  Robert Dewar  <dewar@adacore.com>
5741
5742         * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
5743         these are now obsolescent units used only for bootrapping with an
5744         older compiler.
5745
5746 2009-04-08  Robert Dewar  <dewar@adacore.com>
5747
5748         * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
5749
5750         * sem_ch3.adb: Minor comment updates
5751
5752 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
5753
5754         * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
5755         that come from source.
5756
5757 2009-04-08  Tristan Gingold  <gingold@adacore.com>
5758
5759         * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
5760         * gcc-interface/decl.c (prepend_attributes): New case
5761         Pragma_Thread_Local_Storage.
5762         * gcc-interface/utils.c (process_attributes): New case
5763         ATTR_THREAD_LOCAL_STORAGE.
5764
5765 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
5766
5767         * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
5768         by the back-end if it contains a call to a subprogram without a
5769         previous spec that is declared in the same unit.
5770
5771         * errout.ads: Update comments on uses of dirs
5772
5773 2009-04-08  Robert Dewar  <dewar@adacore.com>
5774
5775         * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
5776
5777 2009-04-08  Tristan Gingold  <gingold@adacore.com>
5778
5779         * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
5780         variables.
5781         Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
5782
5783 2009-04-08  Vincent Celier  <celier@adacore.com>
5784
5785         * prj-nmsc.adb:
5786         (Add_Source): Add the mapping of the unit name to source file name in
5787         the Unit_Sources_HT hash table, if the unit name is not null.
5788
5789         * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
5790
5791         * prj.ads (Unit_Sources_Htable): New hash table instantiation
5792         (Project_Tree_Data): New component Unit_Sources_HT
5793
5794 2009-04-08  Thomas Quinot  <quinot@adacore.com>
5795
5796         * sem_ch8.adb: Minor reformatting.
5797         Minor code reorganization.
5798
5799 2009-04-08  Robert Dewar  <dewar@adacore.com>
5800
5801         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
5802         snames.ads, freeze.adb, par-prag.adb: Add implementation of
5803         pragma Thread_Local_Storage, setting new flag
5804         Has_Pragma_Thread_Local_Storage in corresponding entities.
5805
5806 2009-04-08  Emmanuel Briot  <briot@adacore.com>
5807
5808         * prj.ads: Update comment on switches file
5809
5810         * prj-nmsc.adb: Code clean up. Use renaming clauses.
5811
5812 2009-04-08  Robert Dewar  <dewar@adacore.com>
5813
5814         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
5815
5816 2009-04-08  Thomas Quinot  <quinot@adacore.com>
5817
5818         * ali-util.adb: Minor comment fix
5819
5820 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
5821
5822         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
5823         appears in a context clause, and the enclosing package is mentioned in
5824         a limited_with_clause.
5825         (Use_One_Type): Reject clause if type is still incomplete.
5826
5827 2009-04-08  Emmanuel Briot  <briot@adacore.com>
5828
5829         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
5830         avoid copies of Source_Data variables when possible, since these
5831         involve calls to memcpy() which are done too many times.
5832
5833 2009-04-08  Robert Dewar  <dewar@adacore.com>
5834
5835         * exp_ch4.adb (Expand_Concatenate): Clean up code
5836
5837 2009-04-07  Thomas Quinot  <quinot@adacore.com>
5838
5839         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
5840         type for the case of concatenating a constrained array indexed by an
5841         enumeration type.
5842
5843 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5844
5845         * sem_ch6.adb (Check_Conformance): when checking conformance of an
5846         operation that overrides an abstract operation inherited from an
5847         interface, return False if only one of the controlling formals is an
5848         access parameter.
5849
5850 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5851
5852         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
5853         mandated by AI05-105.
5854
5855 2009-04-07  Vincent Celier  <celier@adacore.com>
5856
5857         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
5858
5859 2009-04-07  Thomas Quinot  <quinot@adacore.com>
5860
5861         * usage.adb: Minor fix in usage message.
5862
5863         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
5864         match declaration; the correct subtype is Node_Id, not Entity_Id,
5865         because the expected node kind is an identifier, not a defining
5866         identifier.
5867
5868         * switch-c.adb: Minor reformatting.
5869
5870         * uintp.adb: Minor reformatting.
5871
5872 2009-04-07  Robert Dewar  <dewar@adacore.com>
5873
5874         * exp_ch13.adb: Minor reformatting
5875
5876 2009-04-07  Robert Dewar  <dewar@adacore.com>
5877
5878         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
5879         against missing parent.
5880
5881 2009-04-07  Thomas Quinot  <quinot@adacore.com>
5882
5883         * xoscons.adb: Minor reformatting
5884
5885 2009-04-07  Robert Dewar  <dewar@adacore.com>
5886
5887         * rtsfind.ads: Remove obsolete string concatenation entries
5888
5889 2009-04-07  Robert Dewar  <dewar@adacore.com>
5890
5891         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
5892
5893 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5894
5895         * sem_ch10.adb (Check_Body_Required): Handle properly imported
5896         subprograms.
5897
5898 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
5899
5900         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
5901         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
5902         is of a scalar or string type then suppress the setting of the
5903         expression to Empty.
5904
5905         * freeze.adb (Warn_Overlay): Also emit the warnings about default
5906         initialization for the cases of scalar and string objects when
5907         Init_Or_Norm_Scalars is True.
5908
5909 2009-04-07  Bob Duff  <duff@adacore.com>
5910
5911         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
5912
5913 2009-04-07  Bob Duff  <duff@adacore.com>
5914
5915         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
5916         Form parameter of Text_Translation=No allows binary mode for Text_IO
5917         files.
5918
5919         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
5920
5921 2009-04-07  Javier Miranda  <miranda@adacore.com>
5922
5923         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
5924         processing the bounds for bit packed arrays or VM target machines.
5925
5926 2009-04-07  Thomas Quinot  <quinot@adacore.com>
5927
5928         * g-sothco.ads (Int_Access): Remove extraneous access type (use
5929         anonymous access instead).
5930         (Get_Socket_From_Set): Fix incorrectly reverted formals
5931         Last and Socket to match the underlying C routine.
5932
5933         * g-socket.adb, g-socket.ads
5934         (Get): Use named parameter associations instead of positional ones in
5935         call go Get_Socket_From_Set, since this routine has two formals of the
5936         same type.
5937         (Image): New procedure.
5938
5939         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5940         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
5941         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
5942         for type of Arg formal.
5943
5944         * sem_warn.adb: Minor reformatting
5945
5946 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5947
5948         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
5949         over record components.
5950
5951 2009-04-07  Nicolas Roche  <roche@adacore.com>
5952
5953         * gsocket.h:
5954         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
5955         has disappeared between VxWorks 6.4 and VxWorks 6.5
5956         In RTP mode use time.h instead of times.h
5957
5958 2009-04-07  Robert Dewar  <dewar@adacore.com>
5959
5960         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
5961
5962 2009-04-07  Kevin Pouget  <pouget@adacore.com>
5963
5964         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
5965         expanded code for constrained types.
5966
5967 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5968
5969         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
5970         AI05-105: in an object renaming declaration, anonymousness is a name
5971         resolution rule.
5972
5973         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
5974
5975 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
5976
5977         * g-comlin.adb (Expansion): Fix old regression: also return directory
5978         names when matching.
5979
5980 2009-04-07  Robert Dewar  <dewar@adacore.com>
5981
5982         * exp_ch4.adb:
5983         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
5984         (Expand_Concatenate): New name for Expand_Concatenate_String which has
5985         been rewritten to handle all types.
5986         (Expand_Concatenate_Other): Remove
5987
5988 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
5989
5990         * lib-xref.adb (Generate_Reference): A default subprogram in an
5991         instance appears within the tree for the instance, but generates an
5992         implicit reference in the ALI.
5993
5994 2009-04-07  Javier Miranda  <miranda@adacore.com>
5995
5996         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
5997         derived type that has discriminants, propagate the list of interfaces
5998         to the corresponding new base type. In addition, propagate also
5999         attribute Limited_Present (found working in this patch).
6000
6001 2009-04-07  Robert Dewar  <dewar@adacore.com>
6002
6003         * exp_ch4.adb: Rewrite concatenation expansion.
6004
6005 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
6006
6007         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
6008         relevant to packages.
6009
6010 2009-04-07  Robert Dewar  <dewar@adacore.com>
6011
6012         * sem_attr.adb: Minor reformatting
6013
6014         * sem_ch6.adb: Minor reformatting
6015
6016 2009-04-07  Tristan Gingold  <gingold@adacore.com>
6017
6018         * socket.c: Add more protections against S_resolvLib_ macros.
6019
6020 2009-04-07  Thomas Quinot  <quinot@adacore.com>
6021
6022         * sem_attr.adb: Minor reformatting
6023
6024 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
6025
6026         * sem_ch6.adb (New_Overloaded_Entity): New predicate
6027         Is_Overriding_Alias to handle properly types that inherit two homonym
6028         operations that have distinct dispatch table entries.
6029
6030 2009-04-07  Emmanuel Briot  <briot@adacore.com>
6031
6032         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
6033         looking for the end of a parenthesis group
6034
6035 2009-04-07  Tristan Gingold  <gingold@adacore.com>
6036
6037         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
6038
6039         * socket.c Don't use resolvLib_ macros if not defined.
6040
6041 2009-04-07  Robert Dewar  <dewar@adacore.com>
6042
6043         * g-socket.adb: Minor reformatting.
6044
6045         * g-socthi-mingw.adb: Minor reformatting
6046
6047         * g-sothco.ads: Minor reformatting
6048
6049         * exp_ch4.adb:
6050         (Expand_Concatenate_String): Complete rewrite to generate efficient code
6051         inline instead of relying on external library routines.
6052
6053         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
6054         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
6055         obsolescent
6056
6057 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
6058
6059         * sem_attr.adb:
6060         (Eval_Attribute): for attributes of array objects that are not strings,
6061         attributes are not static if nominal subtype of object is unconstrained.
6062
6063 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
6064
6065         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
6066         operations for a type T in an instance do not override each other,
6067         when T is derived from a formal private type, the corresponding
6068         operations inherited by a type derived from T outside
6069         of the instance do not override each other either.
6070
6071 2009-04-07  Robert Dewar  <dewar@adacore.com>
6072
6073         (Osint.Fail): Change calling sequence to have one string arg
6074         (Make.Make_Failed): Same change
6075         All callers are adjusted to use concatenation
6076
6077 2009-04-07  Robert Dewar  <dewar@adacore.com>
6078
6079         * exp_ch4.adb: Fix documentation typo
6080
6081 2009-04-07  Robert Dewar  <dewar@adacore.com>
6082
6083         * tbuild.ads: Minor reformatting
6084
6085 2009-04-07  Javier Miranda  <miranda@adacore.com>
6086
6087         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
6088         when compiling under ZFP runtime.
6089
6090 2009-04-07  Robert Dewar  <dewar@adacore.com>
6091
6092         * g-comlin.adb: Minor reformatting
6093
6094 2009-04-07  Thomas Quinot  <quinot@adacore.com>
6095
6096         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6097         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
6098         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
6099         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
6100
6101 2009-04-07  Robert Dewar  <dewar@adacore.com>
6102
6103         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
6104
6105         * opt.ads (Sprint_Line_Limit): New parameter
6106         
6107         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
6108         
6109         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
6110         
6111         * usage.adb: Output information for -gnatGnn -gnatDnn
6112
6113 2009-04-07  Robert Dewar  <dewar@adacore.com>
6114
6115         * make.adb: Minor reformatting
6116
6117 2009-04-07  Robert Dewar  <dewar@adacore.com>
6118
6119         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
6120
6121 2009-04-07  Robert Dewar  <dewar@adacore.com>
6122
6123         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
6124
6125 2009-04-07  Robert Dewar  <dewar@adacore.com>
6126
6127         * checks.adb:
6128         Remove Assume_Valid parameter from In_Subrange_Of calls
6129         
6130         * sem_eval.adb:
6131         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
6132         (Is_In_Range): Remove incorrect use of Assume_Valid
6133         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
6134         
6135         * sem_eval.ads:
6136         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
6137         (Is_In_Range): Documentation cleanup
6138         (Is_Out_Of_Range): Documentation cleanup
6139
6140         * gnat_rm.texi:
6141         Add documentation for Assume_No_Invalid_Values pragma
6142
6143         * sem_ch12.adb: Minor reformatting
6144
6145         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
6146
6147         * sem_prag.adb: Improve error message.
6148
6149         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
6150         LF/CR no longer recognized as line terminator
6151
6152         * switch.ads: Minor documentation improvement
6153
6154         * vms_data.ads: Minor reformatting
6155
6156 2009-04-07  Robert Dewar  <dewar@adacore.com>
6157
6158         * checks.adb (Determine_Range): Add Assume_Valid parameter
6159         
6160         * checks.ads (Determine_Range): Add Assume_Valid parameter
6161         
6162         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
6163          Is_Null_Loop to suppress warnings in a loop body.
6164         
6165         * exp_ch4.adb:
6166         (Rewrite_Comparison): Major rewrite to accomodate invalid values
6167         
6168         * exp_ch5.adb:
6169         (Expand_N_Loop_Statement): Delete loop known not to execute
6170         
6171         * opt.ads:
6172         (Assume_No_Invalid_Values): Now set to False, and as documented, this
6173          fully enables the proper handling of invalid values.
6174         
6175         * sem_attr.adb:
6176         New calling sequence for Is_In_Range
6177         
6178         * sem_ch5.adb:
6179         (Analyze_Iteration_Scheme): Accomodate possible invalid values
6180          in determining if a loop range is null.
6181         
6182         * sem_eval.adb:
6183         (Is_In_Range): Add Assume_Valid parameter
6184         (Is_Out_Of_Range): Add Assume_Valid_Parameter
6185         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
6186          also to do more accurate and complete range analysis, catching more
6187          cases.
6188         
6189         * sem_eval.ads:
6190         (Is_In_Range): Add Assume_Valid parameter
6191         (Is_Out_Of_Range): Add Assume_Valid_Parameter
6192         
6193         * sem_util.adb:
6194         New calling sequence for Is_In_Range
6195         
6196         * sinfo.adb:
6197         (Suppress_Loop_Warnings): New flag
6198         
6199         * sinfo.ads:
6200         (Is_Null_Loop): Update documentation
6201         (Suppress_Loop_Warnings): New flag
6202         
6203         * gnat_ugn.texi: Document -gnatB switch
6204
6205 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
6206
6207         * gnatvsn.ads: Bump version number.
6208
6209 2009-04-07  Thomas Quinot  <quinot@adacore.com>
6210
6211         * exp_ch3.adb: Minor rewording (comments)
6212
6213 2009-04-07  Robert Dewar  <dewar@adacore.com>
6214
6215         * exp_disp.adb: Minor reformatting
6216
6217 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
6218
6219         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
6220         underlying type.
6221         * gcc-interface/trans.c (lvalue_required_p): Likewise.
6222
6223 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
6224
6225         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
6226         Do not convert the result.  Remove obsolete comment.
6227
6228 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
6229
6230         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
6231         DECL_CONTEXT.
6232         (Subprogram_Body_to_gnu): Fix pasto.
6233
6234 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
6235
6236         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
6237         (void_type_decl_node): Remove.
6238         (init_gigi_decls): Likewise.
6239         (gnat_install_builtins): Declare.
6240         (record_builtin_type): Likewise.
6241         (create_type_stub_decl): Likewise.
6242         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
6243         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
6244         artificial.
6245         <E_Array_Subtype>: Use the index types, not only their name, in the
6246         record giving the names of the bounds, if any.
6247         For a packed array type, make it artificial only if the base type
6248         was artificial as well.  Remove redundant statement.
6249         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
6250         dummy types.
6251         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
6252         (rest_of_type_decl_compilation_no_defer): Likewise.
6253         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
6254         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
6255         and use create_type_stub_decl to build it.
6256         (gnat_pushdecl): Rewrite condition.
6257         (gnat_install_builtins): Remove bogus declaration.
6258         (record_builtin_type): New function.
6259         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
6260         of types.
6261         (create_type_stub_decl): New function.
6262         (create_type_decl): Assert that the type is not dummy.  If the type
6263         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
6264         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
6265         (build_vms_descriptor): Likewise.
6266         (init_gigi_decls): Delete and move bulk of code to...
6267         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
6268         (emit_range_check): Add gnat_node parameter.
6269         (emit_index_check): Likewise.
6270         (emit_check): Likewise.
6271         (build_unary_op_trapv): Likewise.
6272         (build_binary_op_trapv): Likewise.
6273         (convert_with_check): Likewise.
6274         (Attribute_to_gnu): Adjust calls for above changes.
6275         (call_to_gnu): Likewise.
6276         (gnat_to_gnu): Likewise.
6277         (assoc_to_constructor): Likewise.
6278         (pos_to_constructor): Likewise.
6279         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
6280         (process_type): Do not create TYPE_DECL for dummy types.
6281
6282 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
6283
6284         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
6285         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
6286         * gcc-interface/utils.c: Fix comments.
6287
6288 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
6289
6290         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
6291         move around.
6292         (gnat_to_gnu_type): Move around.
6293         (get_unpadded_type): Likewise.
6294         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
6295         Tidy comments.
6296
6297 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
6298
6299         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
6300         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
6301         (call_to_gnu): Invoke it instead of manually checking.
6302
6303 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
6304
6305         * gcc-interface/utils.c (finish_record_type): Force structural equality
6306         checks if the record type is discriminated.
6307
6308 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
6309
6310         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
6311         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
6312         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
6313         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
6314         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
6315         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
6316         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
6317
6318 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
6319
6320         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
6321         of TREE_CONSTANT_OVERFLOW.
6322
6323 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
6324
6325         PR rtl-optimization/323
6326         * gcc-interface/misc.c (gnat_post_options): Set
6327         flag_excess_precision_cmdline.  Give an error for
6328         -fexcess-precision=standard for processors where the option is
6329         significant.
6330
6331 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
6332
6333         PR c/39323
6334         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
6335         on bit_align.
6336
6337 2009-03-11  Olivier Hainque  <hainque@adacore.com>
6338
6339         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
6340         checks processing, remove unintended TREE_TYPE walk on index type.
6341
6342 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
6343
6344         PR ada/39264
6345         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
6346         call make_packable_type on fat pointer types.
6347         <E_Array_Subtype>: Likewise.
6348         <E_Record_Subtype>: Call make_packable_type on all record types
6349         except for fat pointer types.
6350         (make_packable_type): Likewise.
6351         (gnat_to_gnu_field): Likewise.
6352
6353 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
6354
6355         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
6356         EH_MECHANISM change made on 2007-12-06.
6357
6358 2009-02-26  Andreas Schwab  <schwab@suse.de>
6359
6360         PR ada/39172
6361         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
6362         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
6363         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
6364         (AWK): Substitute.
6365         (target_cpu_default): Substitute.
6366
6367 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
6368
6369         PR ada/39221
6370         * a-teioed.adb (Expand): Fix Result overflow.
6371
6372 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
6373
6374         * gcc-interface/Makefile.in: Fix multilib handling for
6375         sparc64-linux.
6376
6377 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6378
6379         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
6380
6381 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
6382
6383         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
6384
6385 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
6386
6387         * gcc-interface/deftarg.c: Remove.
6388
6389 2009-02-10  Olivier Hainque  <hainque@adacore.com>
6390             Eric Botcazou  <ebotcazou@adacore.com>
6391
6392         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
6393         (copy_alias_set): Rename into...
6394         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
6395         underlying array of unconstrained arrays for the new type as well.
6396         If the old and new alias sets don't conflict, make one a subset of
6397         the other as per the OP parameter.
6398         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
6399         <E_Record_Type>: Do not copy the alias set for derived types.
6400         For all types, make the alias set of derived types a superset of
6401         that of their parent type.
6402         (make_aligning_type): Adjust calls to copy_alias_set.
6403         (make_packable_type): Likewise.
6404         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
6405         Check for alias set conflict instead of strict equality to issue the
6406         warning.
6407
6408 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
6409
6410         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
6411         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
6412         (copy_alias_set): Assert that arrays have the same aliasing settings.
6413         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
6414
6415 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
6416
6417         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
6418         Set TYPE_NONALIASED_COMPONENT on the array type.
6419
6420 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
6421
6422         * gcc-interface/Makefile.in: Fix mipsel linux handling.
6423
6424 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
6425
6426         * gcc-interface/Makefile.in: Fix multilib handling for
6427         powerpc64-linux.
6428
6429 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
6430
6431         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
6432         only useless conversions around renamed objects.
6433
6434 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
6435
6436         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
6437         the _Tag field before any discriminants in the field list.
6438         (components_to_record): Remove obsolete comment.
6439
6440
6441 \f
6442 Copyright (C) 2009 Free Software Foundation, Inc.
6443
6444 Copying and distribution of this file, with or without modification,
6445 are permitted in any medium without royalty provided the copyright
6446 notice and this notice are preserved.