OSDN Git Service

2010-06-22 Doug Rupp <rupp@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2010-06-22  Doug Rupp  <rupp@adacore.com>
2
3         * system-vms.ads, system-vms-zcx.ads: Remove old unused VMS system
4         packages.
5         * system-vms_64.ads, system-vms-ia64.ads: Minor reformatting.
6         (pragma Ident): Add a default ident string in the private part.
7
8 2010-06-22  Robert Dewar  <dewar@adacore.com>
9
10         * cstand.adb: Minor reformatting.
11
12 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
13
14         * freeze.adb (Build_And_Analyze_Renamed_Body): For expansion purposes,
15         recognize the Shift and Rotation intrinsics that are known to the
16         compiler but have no interface name.
17
18 2010-06-22  Geert Bosch  <bosch@adacore.com>
19
20         * a-ngcoty.adb ("*"): Rewrite complex multiplication to use proper
21         scaling in case of overflow or NaN results.
22
23 2010-06-22  Robert Dewar  <dewar@adacore.com>
24
25         * cstand.adb: Complete previous change.
26         * g-dirope.ads: Add comment.
27         * s-stchop.adb, sfn_scan.adb: Minor reformatting.
28
29 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
30
31         * cstand.adb: Add tree nodes for pragma Pack on string types.
32
33 2010-06-22  Javier Miranda  <miranda@adacore.com>
34
35         * einfo.ads, einfo.adb (Last_Formal): New synthesized attribute.
36         * exp_util.adb (Find_Prim_Op): Use new attribute to locate the last
37         formal of a primitive.
38         * exp_disp.adb (Is_Predefined_Dispatching_Operation,
39          Is_Predefined_Dispatching_Alias): Use new attribute to locate the last
40         formal of a primitive.
41         * exp_cg.adb (Is_Predefined_Dispatching_Operation): Use new attribute
42         to obtain the last formal of a primitive.
43
44 2010-06-22  Geert Bosch  <bosch@adacore.com>
45
46         * sysdep.c, init.c, adaint.c, cstreams.c: Remove conditional code
47         depending on __EMX__ or MSDOS being defined.
48         * i-cstrea.ads, gnat_rm.texi: Remove mentions of OS/2, DOS and Xenix.
49         * a-excpol-abort.adb: Update comment indicating users of the file.
50         * xref_lib.adb, sfn_scan.adb: Remove mention of OS/2, replace NT by
51         Windows.
52         * env.c: Remove empty conditional for MSDOS.
53         * s-stchop.adb, g-dirope.ads, s-fileio.adb, osint.ads: Remove mention
54         of OS/2 in comment.
55
56 2010-06-22  Robert Dewar  <dewar@adacore.com>
57
58         * s-rannum.adb: Minor reformatting.
59
60 2010-06-22  Javier Miranda  <miranda@adacore.com>
61
62         * sem_aux.adb, sem_aux.ads, sem_util.adb, sem_util.ads, sem_elim.adb,
63         exp_cg.adb: Minor code reorganization: Move routine Ultimate_Alias from
64         package Sem_Util to package Sem_Aux.
65
66 2010-06-22  Javier Miranda  <miranda@adacore.com>
67
68         * exp_disp.adb (Make_Secondary_DT, Make_DT): Minor code cleanup:
69         remove useless restriction on imported routines when building the
70         dispatch tables.
71
72 2010-06-22  Robert Dewar  <dewar@adacore.com>
73
74         * cstand.adb (Create_Standard): Set Has_Pragma_Pack for standard string
75         types.
76
77 2010-06-22  Javier Miranda  <miranda@adacore.com>
78
79         * sem_ch4.adb (Collect_Generic_Type_Ops): Protect code that handles
80         generic subprogram declarations to ensure proper context. Add missing
81         support for generic actuals.
82         (Try_Primitive_Operation): Add missing support for concurrent types that
83         have no Corresponding_Record_Type. Required to diagnose errors compiling
84         generics or when compiling with no code generation (-gnatc).
85         * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Do not build
86         the corresponding record type.
87         * sem_disp.ads, sem_disp.adb (Check_Dispatching_Operation): Complete
88         documentation. Do minimum decoration when processing a primitive of a
89         concurrent tagged type that covers interfaces. Required to diagnose
90         errors in the Object.Operation notation compiling generics or under
91         -gnatc.
92         * exp_ch9.ads, exp_ch9.adb (Build_Corresponding_Record): Add missing
93         propagation of attribute Interface_List to the corresponding record.
94         (Expand_N_Task_Type_Declaration): Code cleanup.
95         (Expand_N_Protected_Type_Declaration): Code cleanup.
96
97 2010-06-22  Matthew Heaney  <heaney@adacore.com>
98
99         * a-convec.adb, a-coinve.adb: Removed 64-bit types Int and UInt.
100
101 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
102
103         * s-rannum.adb (Random_Float_Template): Replace with unbiased version
104         that is able to produce all representable floating-point numbers in the
105         unit interval. Remove template parameter Shift_Right, no longer used.
106         * gnat_rm.texi: Document the period of the pseudo-random number
107         generator under the description of its algorithm.
108         * gcc-interface/Make-lang.in: Update dependencies.
109
110 2010-06-22  Thomas Quinot  <quinot@adacore.com>
111
112         * exp_aggr.adb (Rewrite_Discriminant): Fix predicate used to identify
113         reference to discriminant (can be an expanded name as well as an
114         identifier).
115
116 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
117
118         * exp_ch6.adb: Clarify comment.
119
120 2010-06-22  Geert Bosch  <bosch@adacore.com>
121
122         * exp_imgv.adb (Expand_Image_Attribute): Treat ordinary fixed point
123         with decimal small as decimal types, avoiding floating-point arithmetic.
124         (Has_Decimal_Small): New function.
125         * einfo.ads, einfo.adb (Aft_Value): New synthesized attributed for
126         fixed point types.
127         * sem_attr.adb (Eval_Attribute): Remove Aft_Value function and update
128         callers to call the new function in Einfo that takes the entity as
129         parameter.
130
131 2010-06-22  Robert Dewar  <dewar@adacore.com>
132
133         * sem_ch3.adb, sem_ch8.adb: Minor reformatting.
134
135 2010-06-22  Thomas Quinot  <quinot@adacore.com>
136
137         * sem_elab.adb: Minor reformatting.
138
139 2010-06-22  Vincent Celier  <celier@adacore.com>
140
141         * gnatsym.adb: Put the object files in the table in increasing
142         aphabetical order of base names.
143
144 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
145
146         * sem_ch8.adb (Set_Entity_Or_Discriminal): New procedure used by
147         Find_Direct_Name and Find_Expanded_Name, to replace a discriminant with
148         the corresponding discriminal within a record declaration.
149
150 2010-06-22  Thomas Quinot  <quinot@adacore.com>
151
152         * exp_aggr.adb (Rewrite_Discriminant): Rewriting must occur only for an
153         expression referring to a discriminal of the type of the aggregate (not
154         a discriminal of some other unrelated type), and the prefix in the
155         generated selected component must come from Lhs, not Obj.
156
157 2010-06-22  Thomas Quinot  <quinot@adacore.com>
158
159         * sem_ch3.adb (Build_Derived_Record_Type): Fix predicate determining
160         when to freeze the parent type.
161
162 2010-06-22  Robert Dewar  <dewar@adacore.com>
163
164         * s-rannum.adb, a-nudira.adb, types.ads, freeze.adb, sem_aggr.adb,
165         exp_aggr.adb: Minor reformatting.
166         * gnat_rm.texi: Document GNAT.MBBS_Discrete_Random and
167         GNAT.MBSS_Float_Random.
168         * g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: Fix header.
169
170 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
171
172         * a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads,
173         gnat_rm.texi, impunit.adb, Makefile.rtl, s-rannum.adb
174         (Random_Float_Template, Random): New method of creating
175         uniform floating-point variables that allow the creation of all machine
176         values in [0 .. 1).  
177
178         * g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: New file.
179
180 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
181
182         * sem_ch5.adb (Analyze_Assignment): Revise test for illegal assignment
183         to abstract targets to check that the type is tagged and comes from
184         source, rather than only testing for targets of interface types. Remove
185         premature return.
186
187 2010-06-22  Vincent Celier  <celier@adacore.com>
188
189         * vms_data.ads: Modify the declarations of qualifiers
190         /UNCHECKED_SHARED_LIB_IMPORTS to allow the generation of gnat.hlp
191         without error.
192
193 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
194
195         * exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false if
196         expansion is disabled.
197
198 2010-06-22  Robert Dewar  <dewar@adacore.com>
199
200         * makeusg.adb: Minor reformatting.
201
202 2010-06-22  Robert Dewar  <dewar@adacore.com>
203
204         * types.ads: (Dint): Removed, no longer used anywhere.
205         * uintp.adb (UI_From_CC): Use UI_From_Int, range is sufficient.
206         (UI_Mul): Avoid use of UI_From_Dint.
207         (UI_From_Dint): Removed, not used.
208         * uintp.ads (UI_From_Dint): Removed, not used.
209         (Uint_Min/Max_Simple_Mul): New constants.
210
211 2010-06-22  Vincent Celier  <celier@adacore.com>
212
213         * clean.adb (Parse_Cmd_Line): Recognize switch
214         --unchecked-shared-lib-imports.
215         (Usage): Add line for switch --unchecked-shared-lib-imports
216         * makeusg.adb: Add line for switch --unchecked-shared-lib-imports
217         * makeutl.ads: (Unchecked_Shared_Lib_Imports): New constant string
218         moved from GPR_Util.
219         * switch-m.adb (Scan_Make_Switches): Recognize switch
220         --unchecked-shared-lib-imports.
221         * vms_data.ads: Add VMS qualifiers /UNCHECKED_SHARED_LIB_IMPORTS.
222         * gnat_ugn.texi: Add documentation for new switch
223         --unchecked-shared-lib-imports.  Add also documentation for --subdirs.
224
225 2010-06-22  Javier Miranda  <miranda@adacore.com>
226
227         * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, exp_ch6.adb,
228         exp_disp.adb, sem_eval.adb, exp_dist.adb lib-xref.adb: Code cleanup,
229         this patch replaces duplication of code that traverses the chain of
230         aliased primitives by a call to routine Ultimate_Alias that
231         provides this functionality.
232
233 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
234
235         * fmap.adb, opt.ads, osint.adb, osint.ads, output.ads, scng.adb,
236         sinput-c.adb, switch-m.ads, tree_io.ads: Use simpler form of
237         Warnings Off/On.
238
239 2010-06-22  Thomas Quinot  <quinot@adacore.com>
240
241         * einfo.ads: Minor reformatting.
242
243 2010-06-22  Javier Miranda  <miranda@adacore.com>
244
245         * exp_disp.adb (Expand_Interface_Thunk): Do not generate thunk of
246         eliminated primitives.
247         (Make_DT): Avoid referencing eliminated primitives.
248         (Register_Primitive): Do not register eliminated primitives in the
249         dispatch table. Required to add this functionality when the program is
250         compiled without static dispatch tables (-gnatd.t)
251
252 2010-06-22  Emmanuel Briot  <briot@adacore.com>
253
254         * fmap.adb, scng.adb, switch-m.ads, sinput-c.adb, opt.ads, output.ads,
255         tree_io.ads, osint.adb, osint.ads: Use configuration pragmas to prevent
256         warnings on use of internal GNAT units.
257
258 2010-06-22  Jose Ruiz  <ruiz@adacore.com>
259
260         * s-taprop-vxworks.adb (Set_Priority): Update comments.
261
262 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
263
264         * s-rannum.adb: Make stylistic change to remove mystery constant in
265         Extract_Value.  Image_Numeral_Length: new symbolic constant.
266
267 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
268
269         * einfo.ads, einfo.adb: Make Is_Protected_Interface,
270         Is_Synchronized_Interface, Is_Task_Interface into computable
271         predicates, to free three flags in entity nodes.
272         * sem_ch3.adb: Remove setting of these flags.
273
274 2010-06-22  Robert Dewar  <dewar@adacore.com>
275
276         * uintp.adb, osint.adb, prj-conf.adb, prj-part.adb, prj.adb: Minor
277         reformatting.
278         * s-taprop-vxworks.adb: Add comment for Set_Priority.
279         * impunit.adb (Map_Array): Add entries for s-htable.ads and s-crc32.ads
280         * projects.texi: Move @cindex to the left margin, since otherwise we
281         are missing entries in the index.
282
283 2010-06-22  Emmanuel Briot  <briot@adacore.com>
284
285         * prj-part.adb, prj.adb, tempdir.ads, makeutl.adb: Use
286         packages from the GNAT hierarchy instead of System when possible.
287         * gcc-interface/Make-lang.in: Update dependencies.
288
289 2010-06-22  Jose Ruiz  <ruiz@adacore.com>
290
291         * s-taprop-vxworks.adb (Set_Priority): Remove the code that was
292         previously in place to reorder the ready queue when a task drops its
293         priority due to the loss of inherited priority.
294
295 2010-06-22  Vincent Celier  <celier@adacore.com>
296
297         * projects.texi: Minor spelling error fixes.
298         Minor reformatting.
299
300 2010-06-22  Emmanuel Briot  <briot@adacore.com>
301
302         * prj-part.adb, prj-ext.adb, prj.adb, makeutl.adb, prj-conf.adb: Remove
303         warnings for some with clauses.
304
305 2010-06-22  Robert Dewar  <dewar@adacore.com>
306
307         * errout.adb (Unwind_Internal_Type): Improve handling of First_Subtype
308         test to catch more cases where first subtype is the results we want.
309         * sem_res.adb (Make_Call_Into_Operator): Don't go to First_Subtype in
310         error case, since Errout will now handle this correctly.
311         * gcc-interface/Make-lang.in: Add Sem_Aux to list of GNATBIND objects.
312         Update dependencies.
313
314 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
315
316         * exp_ch4.adb (Expand_Allocator_Expression): Set Related_Node properly
317         when calling Make_Temporary.
318
319 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
320
321         * sem_ch3.adb (Access_Subprogram_Declaration): An anonymous access to
322         subprogram can be associated with an entry body.
323
324 2010-06-22  Robert Dewar  <dewar@adacore.com>
325
326         * scos.ads: Add note on membership test handling.
327
328 2010-06-22  Vincent Celier  <celier@adacore.com>
329
330         * projects.texi: Minor spelling fixes.
331         Minor reformatting.
332
333 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
334
335         * s-rannum.adb: Correct off-by-one error in Extract_Value.
336
337 2010-06-22  Vincent Celier  <celier@adacore.com>
338
339         * mlib-prj.adb (Display): In non verbose mode, truncate after fourth
340         argument.
341         * mlib-utl.adb (Gcc): In non verbose mode, truncate the display of the
342         gcc command if it is too long.
343
344 2010-06-22  Robert Dewar  <dewar@adacore.com>
345
346         * errout.adb (Set_Msg_Node): Fix incorrect reference to node.
347
348 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
349
350         * exp_ch6.adb (Expand_Actuals): Use Actual as the related node when
351         calling Make_Temporary.
352
353 2010-06-22  Robert Dewar  <dewar@adacore.com>
354
355         * sem_res.adb, sem_aux.adb, errout.adb: Minor reformatting.
356
357 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
358
359         * sem_res.adb: Additional special-case for VMS.
360
361 2010-06-22  Vincent Celier  <celier@adacore.com>
362
363         * gnatsym.adb: Minor comment fix.
364
365 2010-06-22  Vincent Celier  <celier@adacore.com>
366
367         * prj-nmsc.adb (Process_Naming_Scheme): Initialize table Lib_Data_Table.
368
369 2010-06-22  Robert Dewar  <dewar@adacore.com>
370
371         * par-ch4.adb (P_Name): Recognize 'Mod attribute in Ada 95 mode
372         * sem_attr.adb (Attribute_05): Add Name_Mod so that 'Mod recognized in
373         Ada 95 mode as an implementation defined attribute.
374
375 2010-06-22  Vincent Celier  <celier@adacore.com>
376
377         * bindusg.adb (Display): Update line for -R
378         * switch-b.adb (Scan_Binder_Switches): Allow generation of the binder
379         generated files when -R is used.
380
381 2010-06-22  Vincent Celier  <celier@adacore.com>
382
383         * prj-nmsc.adb (Lib_Data_Table): New table.
384         (Check_Library_Attributes): Check if the same library name is used in
385         two different projects that do not extend each other.
386
387 2010-06-22  Robert Dewar  <dewar@adacore.com>
388
389         * lib-writ.ads, errout.adb, einfo.adb, einfo.ads: Minor reformatting.
390
391 2010-06-22  Vincent Celier  <celier@adacore.com>
392
393         * adaint.c (__gnat_locate_regular_file): If a directory in the path is
394         empty, make it the current working directory.
395
396 2010-06-22  Thomas Quinot  <quinot@adacore.com>
397
398         * sem_ch3.adb (Build_Derived_Record_Type): When deriving a tagged
399         private type with discriminants, make sure the parent type is frozen.
400
401 2010-06-22  Eric Botcazou  <ebotcazou@adacore.com>
402
403         * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Bit>: Deal
404         with packed array references specially.
405         * exp_ch4.adb (Expand_N_Indexed_Component): Do not convert a reference
406         to a component of a bit packed array if it is the prefix of 'Bit.
407         * exp_pakd.ads (Expand_Packed_Bit_Reference): Declare.
408         * exp_pakd.adb (Expand_Packed_Bit_Reference): New procedure.  Expand a
409         'Bit reference, where the prefix involves a packed array reference.
410         (Get_Base_And_Bit_Offset): New helper, extracted from...
411         (Expand_Packed_Address_Reference): ...here.  Call above procedure to
412         get the outer object and offset expression.
413
414 2010-06-22  Thomas Quinot  <quinot@adacore.com>
415
416         * exp_attr.adb, lib-writ.ads, bindgen.adb: Minor reformatting.
417         * einfo.adb (Related_Expression, Set_Related_Expression): Add
418         assertions.
419
420 2010-06-22  Javier Miranda  <miranda@adacore.com>
421
422         * sem_ch3.adb (Add_Internal_Interface_Entities): Minor code
423         reorganization to properly check if the operation has been inherited as
424         an abstract operation.
425
426 2010-06-22  Ed Falis  <falis@adacore.com>
427
428         * s-osinte-vxworks.ads: Complete previous change.
429
430 2010-06-22  Thomas Quinot  <quinot@adacore.com>
431
432         * sem_res.adb: Add comment.
433         * projects.texi, gnat_ugn.texi: Remove macro.
434
435 2010-06-22  Vincent Celier  <celier@adacore.com>
436
437         * prj-attr.adb: Remove project level attribute Main_Language.
438
439 2010-06-22  Robert Dewar  <dewar@adacore.com>
440
441         * switch-b.adb, osint-b.adb: Minor reformatting.
442
443 2010-06-22  Pascal Obry  <obry@adacore.com>
444
445         * g-socthi-mingw.adb (C_Sendmsg): Do not attempt to send data from a
446         vector if previous send was not fully successful. If only part of
447         the vector data was sent, we exit the loop.
448
449 2010-06-22  Thomas Quinot  <quinot@adacore.com>
450
451         * sem_res.adb (Make_Call_Into_Operator): Use First_Subtype for better
452         error reporting with generic types.
453
454 2010-06-22  Thomas Quinot  <quinot@adacore.com>
455
456         * bindgen.adb, bindusg.adb, gnatbind.adb, gnat_ugn.texi, opt.ads,
457         osint-b.adb, osint-b.ads, output.adb, output.ads, switch-b.adb,
458         vms_data.ads: Add a new command line switch -A to gnatbind to output
459         the list of all ALI files for the partition.
460
461 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
462
463         * s-osinte-vxworks.ads: Fix casing.
464         * s-vxwext-kernel.ads, s-vxwext-rtp.ads: Complete previous
465         change: Interfaces.C does not provide a long_long type.
466
467 2010-06-22  Emmanuel Briot  <briot@adacore.com>
468
469         * gnat_ugn.texi, projects.texi: Preprocess projects.texi for VMS and
470         native user's guide, since this document contains the two versions.
471         * gcc-interface/Make-lang.in: Update doc dependencies.
472
473 2010-06-22  Robert Dewar  <dewar@adacore.com>
474
475         * sem_ch3.adb: Minor reformatting.  Minor code reorganization.
476
477 2010-06-22  Emmanuel Briot  <briot@adacore.com>
478
479         * gnat_ugn.texi, projects.texi: Remove toplevel menu, since we should
480         not build this file on its own (only through gnat_ugn.texi).
481         Remove macro definitions and insert simpler version in gnat_ugn.texi.
482
483 2010-06-22  Robert Dewar  <dewar@adacore.com>
484
485         * ali-util.ads: Minor comment update.
486         * g-socthi-mingw.adb: Minor reformatting.
487
488 2010-06-22  Ed Falis  <falis@adacore.com>
489
490         * s-osinte-vxworks.ads: take sigset_t definition from System.VxWorks.Ext
491         * s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads: Define sigset_t
492         for specific versions of VxWorks.
493
494 2010-06-22  Emmanuel Briot  <briot@adacore.com>
495
496         * gnat_rm.texi, gnat_ugn.texi, projects.texi: Remove all project files
497         related sections from user's guide and reference manual, since they
498         have now been merged together into a separate document (projects.texi).
499         This removes a lot of duplication where attributes where described
500         in several places.
501         The grammar for the project files is now in each of the sections
502         (packages,expressions,...) instead of being duplicates in two other
503         sections (one in the user's guide that contained the full grammar,
504         and various sections in the rm that contained extracts of the same
505         grammar).
506         Added the full list of all supported attributes, since existing lists
507         were incomplete
508         Rename "associative array" into "indexed attribute"
509         Remove sections that were duplicates ("External References in
510         Project Files" and "External Values", and "Project Extensions"
511         for instance). The list of valid packages in project files is now in
512         a single place.
513
514 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
515
516         * sem_ch3.adb (Add_Internal_Interface_Entities): If
517         Find_Primitive_Covering_Interface does not find the operation, it may
518         be because of a name conflict between the inherited operation and a
519         local non-overloadable name. In that case look for the operation among
520         the primitive operations of the type. This search must succeed
521         regardless of visibility.
522
523 2010-06-22  Pascal Obry  <obry@adacore.com>
524
525         * g-socthi-mingw.adb: Properly honor MSG_WAITALL in recvmsg.
526         (C_Recvmsg): Propely honor the MSG_WAITALL flag in Windows
527         recvmsg emulation.
528
529 2010-06-22  Robert Dewar  <dewar@adacore.com>
530
531         * sem_ch4.adb (Analyze_Conditional_Expression): Defend against
532         malformed tree.
533         * sprint.adb (Sprint_Node_Actual, case N_Conditional_Expression): Ditto.
534
535 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
536
537         * s-intman-vxworks.ads: Code clean up.
538
539 2010-06-22  Thomas Quinot  <quinot@adacore.com>
540
541         * sem_res.adb (Resolve_Slice): When the prefix is an explicit
542         dereference, construct actual subtype of designated object to generate
543         proper bounds checks.
544
545 2010-06-22  Thomas Quinot  <quinot@adacore.com>
546
547         * ali-util.adb, ali-util.ads, gnatbind.adb (Read_ALI): Rename to
548         Read_Withed_ALIs, which is more descriptive.
549
550 2010-06-22  Pascal Obry  <obry@adacore.com>
551
552         * g-sothco.ads: Minor reformatting.
553         * g-socthi-mingw.adb: Remove part of work on the C_Recvmsg and
554         C_Sendmsg implementation.
555         (C_Sendmsg): Do not use lock (not needed).
556         (C_Recvmsg): Likewise and also do not wait for incoming data.
557
558 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
559
560         * uintp.adb: Fix scope error in operator call.
561
562 2010-06-22  Vincent Celier  <celier@adacore.com>
563
564         * makeutl.adb (Executable_Prefix_Path): on VMS, return "/gnu/".
565         * prj-conf.adb (Get_Or_Create_Configuration_File): On VMS, if
566         autoconfiguration is needed, fail indicating that no config project
567         file can be found, as there is no autoconfiguration on VMS.
568
569 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
570
571         * sem_res.adb (Make_Call_Into_Operator): Diagnose an incorrect scope
572         for an operator in a functional notation, when operands are universal.
573
574 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
575
576         * gcc-interface/Make-lang.in: Update dependencies.
577
578 2010-06-22  Robert Dewar  <dewar@adacore.com>
579
580         * sem_aggr.adb (Resolve_Record_Aggregate): Do style check on component
581         name.
582         * sem_ch10.adb (Analyze_Subunit): Do style check on parent unit name.
583         * sem_ch8.adb (Find_Direct_Name): For non-overloadable entities, do
584         style check.
585         * sem_res.adb (Resolve_Entity_Name): Do style check for enumeration
586         literals.
587
588 2010-06-22  Vincent Celier  <celier@adacore.com>
589
590         * make.adb (Scan_Make_Arg): No longer pass -nostdlib to the compiler as
591         it has no effect. Always pass -nostdlib to gnatlink, even on VMS.
592
593 2010-06-22  Pascal Obry  <obry@adacore.com>
594
595         * g-socthi-mingw.adb: Fix implementation of the vectored sockets on
596         Windows.
597         (C_Recvmsg): Make sure the routine is atomic. Also fully
598         fill vectors in the proper order.
599         (C_Sendmsg): Make sure the routine is atomic.
600
601 2010-06-22  Robert Dewar  <dewar@adacore.com>
602
603         * sem_ch8.adb: Update comment.
604         * sem_res.adb: Minor code reorganization (use Ekind_In).
605
606 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
607
608         * sem_ch8.adb (Add_Implicit_Operator): If the context of the expanded
609         name is a call, use the number of actuals to determine whether this is
610         a binary or unary operator, rather than relying on later information
611         to resolve the overload.
612
613 2010-06-22  Robert Dewar  <dewar@adacore.com>
614
615         * sem_ch10.adb, sem_aggr.adb: Minor reformatting.
616
617 2010-06-22  Robert Dewar  <dewar@adacore.com>
618
619         * sem_ch3.adb, sem_disp.adb: Minor code fixes.
620         * sem_eval.adb: Minor reformatting.
621
622 2010-06-22  Vincent Celier  <celier@adacore.com>
623
624         * make.adb (Scan_Make_Arg): When invoked with -nostdlib, pass -nostdlib
625         to gnatlink, except on Open VMS.
626         * osint.adb (Add_Default_Search_Dirs): Do not suppress the default
627         object directories if -nostdlib is used.
628
629 2010-06-22  Robert Dewar  <dewar@adacore.com>
630
631         * sem_util.adb (Is_Delegate): Put in proper alpha order.
632         * sem_eval.adb: Minor reformatting.
633
634 2010-06-22  Robert Dewar  <dewar@adacore.com>
635
636         * g-expect-vms.adb, sem_res.adb: Minor reformatting.
637         * exp_aggr.adb: Minor comment changes and reformatting.
638         * sem_eval.adb (Find_Universal_Operator_Type): Put in proper alpha order
639         * sem_util.ads: Add some missing pragma Inline's (efficiency issue only)
640
641 2010-06-22  Thomas Quinot  <quinot@adacore.com>
642
643         * sem_util.adb (Build_Actual_Subtype): Record original expression in
644         Related_Expression attribute of the constructed subtype.
645         * einfo.adb, einfo.ads (Underlying_View): Move to Node28 to free up
646         Node24 on types for...
647         (Related_Expression): Make attribute available on types as well.
648
649 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
650
651         * exp_util.adb (Find_Interface_ADT): Retrieve Designated_Type instead of
652         Directly_Designated_Type when the type argument is an access type.
653         (Find_Interface_Tag): Retrieve Designated_Type instead of
654         Directly_Designated_Type when the type argument is an access type.
655         (Has_Controlled_Coextensions): Retrieve Designated_Type instead of
656         Directly_Designated_Type of each access discriminant.
657         * sem_res.adb (Resolve_Type_Conversion): Retrieve Designated_Type
658         instead of Directly_Designated_Type when the operand and target types
659         are access types.
660
661 2010-06-22  Thomas Quinot  <quinot@adacore.com>
662
663         * exp_aggr.adb (Flatten): Return False if one choice is statically
664         known to be out of bounds.
665
666 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
667
668         * sem_res.adb (Resolve_Call): If the call is rewritten as an indexed of
669         a parameterless function call, preserve parentheses of original
670         expression, for proper handling by pretty printer.
671         * sem_attr.adb (Analyze_Attribute, case 'Old): Add guard to Process
672         procedure, to handle quietly identifiers that have no entity names.
673         * exp_util.adb (Get_Current_Value_Condition): If the parent of an
674         elsif_part is missing, it has been rewritten as a nested if, and there
675         is no useful information on the current value of the variable.
676
677 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
678
679         * sem_ch3.adb (Build_Discriminal): Set default scopes for newly created
680         discriminals to the current scope.
681         * sem_util.adb (Find_Body_Discriminal): Remove setting of discriminal's
682         scope, which could overwrite a different already set value.
683
684 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
685
686         * sem_res.adb (Valid_Conversion): If expression is a predefined
687         operator, use sloc of type of interpretation to improve error message
688         when operand is of some derived type.
689         * sem_eval.adb (Is_Mixed_Mode_Operand): New function, use it.
690
691 2010-06-22  Emmanuel Briot  <briot@adacore.com>
692
693         * g-expect-vms.adb (Expect_Internal): No longer raises an exception, so
694         that it can set out parameters as well. When a process has died, reset
695         its Input_Fd to Invalid_Fd, so that when using multiple processes we
696         can find out which process has died.
697
698 2010-06-22  Thomas Quinot  <quinot@adacore.com>
699
700         * sem_eval.adb (Find_Universal_Operator_Type): New
701         subprogram to identify the operand type of an operator on universal
702         operands, when an explicit scope indication is present. Diagnose the
703         case where such a call is ambiguous.
704         (Eval_Arithmetic_Op, Eval_Relational_Op, Eval_Unary_Op):
705         Use the above to identify the operand type so it can be properly frozen.
706         * sem_res.adb (Make_Call_Into_Operator): Remove bogus freeze of operand
707         type, done in an arbitrary, possibly incorrect type (the presence of
708         some numeric type in the scope is checked for legality, but when more
709         than one such type is in the scope, we just pick a random one, not
710         necessarily the expected one).
711         * sem_utils.ads, sem_utils.adb (Is_Universal_Numeric_Type): New utility
712         subprogram.
713
714 2010-06-22  Robert Dewar  <dewar@adacore.com>
715
716         * sem_eval.adb: Minor reformatting.
717
718 2010-06-22  Robert Dewar  <dewar@adacore.com>
719
720         * exp_ch4.adb (Expand_N_Conditional_Expression): Use
721         Expression_With_Actions to clean up the code generated when folding
722         constant expressions.
723
724 2010-06-22  Vincent Celier  <celier@adacore.com>
725
726         * g-expect-vms.adb: Add new subprograms Free, First_Dead_Process and
727         Has_Process.
728
729 2010-06-22  Vincent Celier  <celier@adacore.com>
730
731         * prj-nmsc.adb (Find_Sources): When a source from a multi-unit file is
732         found, check if it's path has aready been found, whatever its index.
733
734 2010-06-22  Robert Dewar  <dewar@adacore.com>
735
736         * atree.adb, gnatbind.adb: Minor reformatting.
737         Minor code reorganization.
738
739 2010-06-21  Robert Dewar  <dewar@adacore.com>
740
741         * exp_ch4.adb (Expand_N_Conditional_Expression): Fold if condition
742         known at compile time.
743
744 2010-06-21  Gary Dismukes  <dismukes@adacore.com>
745
746         * atree.adb: Fix comment typo.
747
748 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
749
750         * sem_eval.adb (Test_Ambiguous_Operator): New procedure to check
751         whether a universal arithmetic expression in a conversion, which is
752         rewritten from a function call with an expanded name, is ambiguous.
753
754 2010-06-21  Vincent Celier  <celier@adacore.com>
755
756         * prj-nmsc.adb (Name_Location): New Boolean component Listed, to record
757         source files in specified list of sources.
758         (Check_Package_Naming): Remove out parameters Bodies and Specs, as they
759         are never used.
760         (Add_Source): Set the Location of the new source
761         (Process_Exceptions_File_Based): Call Add_Source with the Location
762         (Get_Sources_From_File): If an exception is found, set its Listed to
763         True
764         (Find_Sources): When Source_Files is specified, if an exception is
765         found, set its Listed to True. Remove any exception that is not in a
766         specified list of sources.
767         * prj.ads (Source_Data): New component Location
768
769 2010-06-21  Vincent Celier  <celier@adacore.com>
770
771         * gnatbind.adb (Closure_Sources): Global table, moved from block.
772
773 2010-06-21  Thomas Quinot  <quinot@adacore.com>
774
775         * sem_res.adb: Minor reformatting.
776         * atree.adb: New debugging hook "rr" for node rewrites.
777
778 2010-06-21  Robert Dewar  <dewar@adacore.com>
779
780         * g-expect.ads, g-expect.adb: Minor reformatting.
781
782 2010-06-21  Emmanuel Briot  <briot@adacore.com>
783
784         * s-regpat.adb (Next_Pointer_Bytes): New named constant. Code clean up.
785
786 2010-06-21  Arnaud Charlet  <charlet@adacore.com>
787
788         * gcc-interface/Make-lang.in: Update dependencies.
789
790 2010-06-21  Thomas Quinot  <quinot@adacore.com>
791
792         * bindgen.ads: Update comments.
793
794 2010-06-21  Vincent Celier  <celier@adacore.com>
795
796         * gnatbind.adb: Suppress dupicates when listing the sources in the
797         closure (switch -R).
798
799 2010-06-21  Emmanuel Briot  <briot@adacore.com>
800
801         * s-regpat.adb (Link_Tail): Fix error when size of the pattern matcher
802         is too small.
803
804 2010-06-21  Emmanuel Briot  <briot@adacore.com>
805
806         * g-expect.adb, g-expect.ads (First_Dead_Process, Free, Has_Process):
807         New subprograms.
808         (Expect_Internal): No longer raises an exception, so that it can set
809         out parameters as well. When a process has died, reset its Input_Fd
810         to Invalid_Fd, so that when using multiple processes we can find out
811         which process has died.
812
813 2010-06-21  Robert Dewar  <dewar@adacore.com>
814
815         * s-regpat.adb, s-tpoben.adb, sem_attr.adb, sem_util.adb, sem_util.ads,
816         checks.adb, sem_res.adb: Minor reformatting. Add comments.
817
818 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
819
820         * sem_ch6.adb (New_Overloaded_Entity): If the new entity is a
821         rederivation associated with a full declaration in a private part, and
822         there is a partial view that derives the same parent subprogram, the
823         new entity does not become visible. This check must be applied to
824         interface operations as well.
825
826 2010-06-21  Thomas Quinot  <quinot@adacore.com>
827
828         * checks.adb: Add comments.
829         * prj-nmsc.adb: Minor reformatting.
830
831 2010-06-21  Thomas Quinot  <quinot@adacore.com>
832
833         * sem_ch9.adb, checks.adb, sem_util.adb, sem_util.ads, sem_res.adb,
834         sem_attr.adb (Get_E_First_Or_Last): Use attribute references on E to
835         extract bounds, to ensure that we get the proper captured values,
836         rather than an expression that may have changed value since the point
837         where the subtype was elaborated.
838         (Find_Body_Discriminal): New utility subprogram to share code between...
839         (Eval_Attribute): For the case of a subtype bound that references a
840         discriminant of the current concurrent type, insert appropriate
841         discriminal reference.
842         (Resolve_Entry.Actual_Index_Type.Actual_Discriminant_Ref): For a
843         requeue to an entry in a family in the current task, use corresponding
844         body discriminal. 
845         (Analyze_Accept_Statement): Rely on expansion of attribute references
846         to insert proper discriminal references in range check for entry in
847         family.
848
849 2010-06-21  Emmanuel Briot  <briot@adacore.com>
850
851         * s-regpat.adb (Compile): Fix handling of big patterns.
852
853 2010-06-21  Robert Dewar  <dewar@adacore.com>
854
855         * a-tifiio.adb: Minor reformatting.
856
857 2010-06-21  Pascal Obry  <obry@adacore.com>
858
859         * prj-nmsc.adb (Search_Directories): Use the non-translated directory
860         path to open it.
861
862 2010-06-21  Javier Miranda  <miranda@adacore.com>
863
864         * exp_cg.adb (Write_Call_Info): Fill the component sourcename using the
865         external name.
866
867 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
868
869         * exp_ch4.adb (Expand_Concatenate): If an object declaration is created
870         to hold the result, indicate that the target of the declaration does
871         not need an initialization, to prevent spurious errors when
872         Initialize_Scalars is enabled.
873
874 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
875
876         * a-tifiio.adb (Put): In the procedure that performs I/O on a String,
877         Fore is not bound by line length. The Fore parameter of the internal
878         procedure that performs the operation is an integer.
879
880 2010-06-21  Thomas Quinot  <quinot@adacore.com>
881
882         * sem_res.adb, checks.adb: Minor reformatting.
883
884 2010-06-21  Emmanuel Briot  <briot@adacore.com>
885
886         * s-regpat.adb (Next_Instruction, Get_Next_Offset): Removed, merged
887         into Get_Next.
888         (Insert_Operator_Before): New subprogram, avoids duplicated code
889         (Compile): Avoid doing two compilations when the pattern matcher ends
890         up being small.
891
892 2010-06-21  Emmanuel Briot  <briot@adacore.com>
893
894         * s-regpat.adb: Improve debug traces
895         (Dump): Change output format to keep it smaller.
896
897 2010-06-21  Javier Miranda  <miranda@adacore.com>
898
899         * exp_cg.adb (Generate_CG_Output): Disable redirection of standard
900         output to the output file when this routine completes its work.
901
902 2010-06-20  Eric Botcazou  <ebotcazou@adacore.com>
903
904         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Use while instead of
905         for loop.  Call build_constructor_from_list directly in the CICO case.
906
907 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
908
909         * freeze.adb (Build_And_Analyze_Renamed_Body): If the renaming
910         declaration appears in the same unit and ealier than the renamed
911         entity, retain generated body to prevent order-of-elaboration issues in
912         gigi.
913
914 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
915
916         * s-tpoben.adb: Update comments.
917
918 2010-06-18  Robert Dewar  <dewar@adacore.com>
919
920         * debug.adb: Minor comment change.
921
922 2010-06-18  Javier Miranda  <miranda@adacore.com>
923
924         * exp_cg.adb: Code clean up.
925         * debug.adb: Complete documentation of switch -gnatd.Z.
926         * gcc-interface/misc.c (callgraph_info_file): Declare.
927
928 2010-06-18  Javier Miranda  <miranda@adacore.com>
929
930         * exp_cg.adb (Homonym_Suffix_Length): Minor code reorganization.
931
932 2010-06-18  Thomas Quinot  <quinot@adacore.com>
933
934         * sprint.ads: Minor reformatting.
935         * output.ads: Update obsolete comment.
936
937 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
938
939         * freeze.adb (Build_And_Analyze_Renamed_Body): if the renamed entity is
940         an external intrinsic operation (e.g. a GCC numeric function) indicate
941         that the renaming entity has the same characteristics, so a call to it
942         is properly expanded.
943
944 2010-06-18  Javier Miranda  <miranda@adacore.com>
945
946         * exp_cg.adb, exp_cg.ads, exp_disp.adb, gnat1drv.adb: Add initial
947         support for dispatch table/callgraph info generation.
948         * gcc-interface/Make-lang.in: Update dependencies.
949
950 2010-06-18  Robert Dewar  <dewar@adacore.com>
951
952         * exp_ch6.adb: Minor reformatting.
953         * gnatname.adb: Add comment.
954
955 2010-06-18  Vincent Celier  <celier@adacore.com>
956
957         * gnatname.adb (Scan_Args): When --and is used, make sure that the
958         dynamic tables in the newly allocated Argument_Data are properly
959         initialized.
960
961 2010-06-18  Eric Botcazou  <ebotcazou@adacore.com>
962
963         * gnat1drv.adb: Fix comment.
964
965 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
966
967         * exp_ch6.adb (Expand_Inlined_Call): If the inlined subprogram is a
968         renaming, re-expand the call with the renamed subprogram if that one
969         is marked inlined as well.
970
971 2010-06-18  Gary Dismukes  <dismukes@adacore.com>
972
973         * gnat1drv.adb (Adjust_Global_Switches): Enable
974         Use_Expression_With_Actions for AAMP and VM targets.
975
976 2010-06-18  Vincent Celier  <celier@adacore.com>
977
978         * prj-nmsc.adb (Process_Linker): Recognize response file format GCC.
979
980 2010-06-18  Thomas Quinot  <quinot@adacore.com>
981
982         * exp_ch4.adb: Minor reformatting.
983
984 2010-06-18  Javier Miranda  <miranda@adacore.com>
985
986         * debug.ads Add documentation on -gnatd.Z.
987
988 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
989
990         * sem_elim.adb: Proper error message on improperly eliminated instances
991
992 2010-06-18  Vincent Celier  <celier@adacore.com>
993
994         * prj.ads (Response_File_Format): New value GCC.
995
996 2010-06-18  Thomas Quinot  <quinot@adacore.com>
997
998         * gnat1drv.adb: Minor reformatting.
999
1000 2010-06-18  Robert Dewar  <dewar@adacore.com>
1001
1002         * make.adb, sem_cat.adb: Minor reformatting.
1003         * sem_eval.adb: Fix typos.
1004
1005 2010-06-18  Pascal Obry  <obry@adacore.com>
1006
1007         * prj-nmsc.adb: Fix source filenames casing in debug output.
1008
1009 2010-06-18  Robert Dewar  <dewar@adacore.com>
1010
1011         * gnatcmd.adb: Minor reformatting.
1012
1013 2010-06-18  Robert Dewar  <dewar@adacore.com>
1014
1015         * sem_eval.adb (Eval_Conditional_Expression): Result is static if
1016         condition and both sub-expressions are static (and result is selected
1017         expression).
1018
1019 2010-06-18  Robert Dewar  <dewar@adacore.com>
1020
1021         * g-pehage.adb: Minor reformatting
1022
1023 2010-06-18  Pascal Obry  <obry@adacore.com>
1024
1025         * prj-nmsc.adb (Search_Directories): Insert canonical filenames into
1026         source hash table.
1027
1028 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
1029
1030         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
1031         dependencies. Fix target pairs on darwin.
1032         (gnatlib-sjlj, gnatlib-zcx): Pass THREAD_KIND.
1033
1034 2010-06-18  Pascal Obry  <obry@adacore.com>
1035
1036         * make.adb, prj-nmsc.adb: Fix source filenames casing in debug output.
1037
1038 2010-06-18  Vincent Celier  <celier@adacore.com>
1039
1040         * gnatcmd.adb: For gnatcheck, add -gnatec= switch for a global
1041         configuration pragmas file and, if -U is not used, for a local one.
1042
1043 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
1044
1045         * sem_elim.adb (Check_Eliminated): Use full information on entity name
1046         when it is given in the pragma by a selected component.
1047         (Check_For_Eliminated_Subprogram): Do no emit error if within a
1048         instance body that is itself within a generic unit.
1049         * sem_ch12.adb (Analyze_Subprogram_Instance): If the subprogram is
1050         eliminated, mark as well the anonymous subprogram that is its alias
1051         and appears within the wrapper package.
1052
1053 2010-06-18  Bob Duff  <duff@adacore.com>
1054
1055         * g-pehage.ads, g-pehage.adb (Produce): Clean up some of the code.
1056         Raise an exception if the output file cannot be opened. Add comments.
1057
1058 2010-06-18  Thomas Quinot  <quinot@adacore.com>
1059
1060         * sem_cat.adb (Validate_Object_Declaration): A variable declaration is
1061         not illegal per E.2.2(7) if it occurs in the private part of a
1062         Remote_Types unit.
1063
1064 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
1065
1066         * par-ch9.adb, sem_aggr.adb, sem_ch3.adb, layout.adb, sem_ch4.adb,
1067         sem_ch5.adb, sem_mech.adb, exp_util.adb, par-ch10.adb, sem_ch6.adb,
1068         par-ch11.adb, sem_ch7.adb, par-prag.adb, exp_disp.adb, par-ch12.adb,
1069         sem_ch8.adb, style.adb, sem_ch9.adb, sem_ch10.adb, prep.adb,
1070         sem_warn.adb, par-util.adb, scng.adb, sem_eval.adb, checks.adb,
1071         sem_prag.adb, sem_ch12.adb, styleg.adb, sem_ch13.adb, par-ch3.adb,
1072         par-tchk.adb, freeze.adb, sfn_scan.adb, par-ch4.adb, sem_util.adb,
1073         sem_res.adb, par-ch5.adb, lib-xref.adb, sem_attr.adb, par-ch6.adb,
1074         sem_disp.adb, prepcomp.adb, par-ch7.adb, sem_elab.adb, exp_ch4.adb,
1075         errout.ads: Update comments. Minor reformatting.
1076
1077         * g-spipat.adb, a-swunau.adb, a-swunau.ads, g-spitbo.adb,
1078         a-szunau.adb, a-szunau.ads, a-stunau.adb, a-stunau.ads,
1079         a-strunb.adb (Big_String. Big_String_Access): New type.
1080
1081         * par-labl.adb, restrict.adb, s-osinte-hpux-dce.ads, sem_ch11.adb,
1082         exp_pakd.adb, s-filofl.ads, par-endh.adb, exp_intr.adb, sem_cat.adb,
1083         sem_case.adb, exp_ch11.adb, s-osinte-linux.ads: Fix copyright notices.
1084
1085 2010-06-18  Geert Bosch  <bosch@adacore.com>
1086
1087         * i-forbla-darwin.adb: Include -lgnala and -lm in linker options for
1088         Darwin.
1089
1090 2010-06-18  Robert Dewar  <dewar@adacore.com>
1091
1092         * gnat1drv.adb (Adjust_Global_Switches): Set Use_Expression_With_Actions
1093         true for gcc.
1094
1095 2010-06-18  Robert Dewar  <dewar@adacore.com>
1096
1097         * sprint.adb: Minor format change for N_Expression_With_Actions.
1098         * repinfo.adb: Minor reformatting.
1099
1100 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
1101
1102         * sem_elim.adb (Check_Eliminated): If within a subunit, use
1103         Defining_Entity to obtain the name of the entity in the proper body, to
1104         properly handle both separate packages and subprograms.
1105
1106 2010-06-18  Emmanuel Briot  <briot@adacore.com>
1107
1108         * prj-nmsc.adb (Check_File): New parameter Display_Path.
1109
1110 2010-06-18  Thomas Quinot  <quinot@adacore.com>
1111
1112         * g-socket.adb, g-socket.ads (Null_Selector): New object.
1113
1114 2010-06-18  Pascal Obry  <obry@adacore.com>
1115
1116         * gnat_ugn.texi: Minor clarification.
1117
1118 2010-06-18  Emmanuel Briot  <briot@adacore.com>
1119
1120         * prj-nmsc.adb (Find_Source_Dirs): Minor refactoring to avoid duplicate
1121         code when using the project dir as the source dir.
1122         (Search_Directories): use the normalized name for the source directory,
1123         where symbolic names have potentially been resolved.
1124
1125 2010-06-18  Robert Dewar  <dewar@adacore.com>
1126
1127         * exp_ch4.adb (Expand_N_Conditional_Expression): Clear Actions field
1128         when we create N_Expression_With_Actions node.
1129         (Expand_Short_Circuit): Ditto.
1130
1131 2010-06-18  Robert Dewar  <dewar@adacore.com>
1132
1133         * exp_util.adb: Minor reformatting.
1134
1135 2010-06-18  Thomas Quinot  <quinot@adacore.com>
1136
1137         * types.ads: Clean up obsolete comments
1138         * tbuild.adb: Minor reformatting.
1139         * exp_ch5.adb, sem_intr.adb, sem_ch10.adb, rtsfind.adb, s-shasto.adb,
1140         exp_strm.adb, aa_drive.adb: Minor reformatting.
1141         * sem_res.adb (Is_Predefined_Operator): An operator that is an imported
1142         intrinsic with an Interface_Name denotes an imported back-end builtin,
1143         and must be rewritten into a call, not left in the tree as an operator,
1144         so return False in that case.
1145
1146 2010-06-18  Eric Botcazou  <ebotcazou@adacore.com>
1147
1148         * exp_util.adb (Remove_Side_Effects): Make a copy for an allocator.
1149         
1150 2010-06-18  Robert Dewar  <dewar@adacore.com>
1151
1152         * scos.ads: Add proposed output for case expression
1153
1154 2010-06-18  Jose Ruiz  <ruiz@adacore.com>
1155
1156         * gnat_ugn.texi: Document that, when using the RTX compiler to generate
1157         RTSS modules, we need to use the Microsoft linker.
1158
1159 2010-06-18  Robert Dewar  <dewar@adacore.com>
1160
1161         * checks.adb (Safe_To_Capture_In_Parameter_Value): Deal with case
1162         expression (cannot count on a particular branch being executed).
1163         * exp_ch4.adb (Expand_N_Case_Expression): New procedure.
1164         * exp_ch4.ads (Expand_N_Case_Expression): New procedure.
1165         * exp_util.adb (Insert_Actions): Deal with proper insertion of actions
1166         within case expression.
1167         * expander.adb (Expand): Add call to Expand_N_Case_Expression
1168         * par-ch4.adb Add calls to P_Case_Expression at appropriate points
1169         (P_Case_Expression): New procedure
1170         (P_Case_Expression_Alternative): New procedure
1171         * par.adb (P_Case_Expression): New procedure
1172         * par_sco.adb (Process_Decisions): Add dummy place holder entry for
1173         N_Case_Expression.
1174         * sem.adb (Analyze): Add call to Analyze_Case_Expression
1175         * sem_case.ads (Analyze_Choices): Also used for case expressions now,
1176         this is a documentation change only.
1177         * sem_ch4.ads, sem_ch4.adb (Analyze_Case_Expression): New procedure.
1178         * sem_ch6.adb (Fully_Conformant_Expressions): Add handling of case
1179         expressions.
1180         * sem_eval.ads, sem_eval.adb (Eval_Case_Expression): New procedure.
1181         * sem_res.adb (Resolve_Case_Expression): New procedure.
1182         * sem_scil.adb (Find_SCIL_Node): Add processing for
1183         N_Case_Expression_Alternative.
1184         * sinfo.ads, sinfo.adb (N_Case_Expression): New node.
1185         (N_Case_Expression_Alternative): New node.
1186         * sprint.adb (Sprint_Node_Actual): Add processing for new nodes
1187         N_Case_Expression and N_Case_Expression_Alternative.
1188
1189 2010-06-18  Robert Dewar  <dewar@adacore.com>
1190
1191         * par-ch7.adb, sem_warn.adb, types.ads, par-ch3.adb: Minor reformatting.
1192         * gnat1drv.adb: Fix typo.
1193
1194 2010-06-18  Robert Dewar  <dewar@adacore.com>
1195
1196         * par-prag.adb (Prag, case Style_Checks): All_Checks sets gnat style
1197         for -gnatg.
1198         * sem_prag.adb (Analyze_Pragma, case Style_Checks): All_Checks sets
1199         gnat style for -gnatg.
1200         * gnat_rm.texi: Add documentation for ALL_CHECKS in GNAT mode.
1201
1202 2010-06-18  Thomas Quinot  <quinot@adacore.com>
1203
1204         * sem_eval.adb (Test_In_Range): New subprogram, factoring duplicated
1205         code between...
1206         (Is_In_Range, Is_Out_Of_Range): Reimplement in terms of call to
1207         Test_In_Range.
1208
1209 2010-06-18  Robert Dewar  <dewar@adacore.com>
1210
1211         * sprint.adb: Minor change in output format for expression wi actions.
1212         * par-ch3.adb: Minor code reorganization.  Minor reformatting.
1213         * sem_ch5.adb: Minor comment fix.
1214
1215 2010-06-18  Robert Dewar  <dewar@adacore.com>
1216
1217         * debug.adb: New debug flag -gnatd.L to control
1218         Back_End_Handles_Limited_Types.
1219         * exp_ch4.adb (Expand_N_Conditional_Expression): Let back end handle
1220         limited case if Back_End_Handles_Limited_Types is True.
1221         (Expand_N_Conditional_Expression): Use N_Expression_With_Actions to
1222         simplify expansion if Use_Expression_With_Actions is True.
1223         * gnat1drv.adb (Adjust_Global_Switches): Set
1224         Back_End_Handles_Limited_Types.
1225         * opt.ads (Back_End_Handles_Limited_Types): New flag.
1226
1227 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
1228
1229         * sem_res.adb (Rewrite_Operator_As_Call): Do not rewrite user-defined
1230         intrinsic operator if expansion is not enabled, because in an
1231         instantiation the original operator must be present to verify the
1232         legality of the operation.
1233
1234 2010-06-18  Robert Dewar  <dewar@adacore.com>
1235
1236         * exp_disp.adb, sem_ch12.adb: Minor reformatting
1237
1238 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
1239
1240         * exp_util.adb (Make_Subtype_From_Expr): If the unconstrained type is
1241         the class-wide type for a private extension, and the completion is a
1242         subtype, set the type of the class-wide type to the base type of the
1243         full view.
1244
1245 2010-06-18  Robert Dewar  <dewar@adacore.com>
1246
1247         * g-socket.ads, sem_aggr.adb, einfo.ads, sem_elim.adb,
1248         sem_intr.adb, sem_eval.adb: Minor reformatting
1249
1250 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
1251
1252         * sem_type.adb (Is_Ancestor): If either type is private, examine full
1253         view.
1254
1255 2010-06-18  Thomas Quinot  <quinot@adacore.com>
1256
1257         * g-socket.adb, g-socket.ads (Check_Selector): Make Selector an IN
1258         parameter rather than IN OUT.
1259
1260 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
1261
1262         * exp_ch6.adb: Add extra guard.
1263
1264 2010-06-18  Gary Dismukes  <dismukes@adacore.com>
1265
1266         * sem_util.adb (Object_Access_Level): For Ada 2005, determine the
1267         accessibility level of a function call from the level of the innermost
1268         enclosing dynamic scope.
1269         (Innermost_Master_Scope_Depth): New function to find the depth of the
1270         nearest dynamic scope enclosing a node.
1271
1272 2010-06-18  Tristan Gingold  <gingold@adacore.com>
1273
1274         * adaint.c: Make ATTR_UNSET static as it is not used outside this file.
1275
1276 2010-06-18  Thomas Quinot  <quinot@adacore.com>
1277
1278         * g-socket.ads: Minor reformatting.
1279
1280 2010-06-18  Vincent Celier  <celier@adacore.com>
1281
1282         * make.adb (Must_Compile): New Boolean global variable
1283         (Main_On_Command_Line): New Boolean global variable
1284         (Collect_Arguments_And_Compile): Do compile if Must_Compile is True,
1285         even when the project is externally built.
1286         (Start_Compile_If_Possible): Compile in -aL directories if
1287         Check_Readonly_Files is True. Do compile if Must_Compile is True, even
1288         when the project is externally built.
1289         (Gnatmake): Set Must_Compile and Check_Readonly_Files to True when
1290         invoked with -f -u and one or several mains on the command line.
1291         (Scan_Make_Arg): Set Main_On_Command_Line to True when at least one main
1292         is specified on the command line.
1293
1294 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
1295
1296         * sem_ch6.adb (Build_Body_For_Inline): Handle extended_return_statements
1297         * exp_ch6.adb (Expand_Inlined_Call): when possible, inline a body
1298         containing extented_return statements.
1299         * exp_util.adb (Make_CW_Equivalent_Type): If the root type is already
1300         constrained, do not build subtype declaration.
1301
1302 2010-06-18  Robert Dewar  <dewar@adacore.com>
1303
1304         * sem_res.adb (Analyze_Indexed_Component, Analyze_Selected_Component):
1305         Warn on assigning to packed atomic component.
1306
1307 2010-06-18  Robert Dewar  <dewar@adacore.com>
1308
1309         * sem_util.ads: Minor reformatting
1310         * einfo.ads, einfo.adb: Minor doc clarification (scope of decls in
1311         Expression_With_Actions).
1312         * snames.ads-tmpl: Minor comment fix
1313
1314 2010-06-18  Robert Dewar  <dewar@adacore.com>
1315
1316         * sem_prag.adb (Diagnose_Multiple_Pragmas): New procedure
1317         (Set_Imported): Use Import_Interface_Present to control message output
1318         * sinfo.ads, sinfo.adb (Import_Interface_Present): New flag
1319         * gnat_rm.texi: Document that we can have pragma Import and pragma
1320         Interface for the same subprogram.
1321
1322 2010-06-18  Robert Dewar  <dewar@adacore.com>
1323
1324         * lib-xref.adb (Generate_Reference): Fix bad reference to
1325         Has_Pragma_Unreferenced (clients should always use Has_Unreferenced).
1326
1327 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
1328
1329         * gcc-interface/trans.c (set_gnu_expr_location_from_node): New static
1330         function.
1331         (gnat_to_gnu) <N_Expression_With_Actions>: New case.
1332         Use set_gnu_expr_location_from_node to set location information on the
1333         result.
1334
1335 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
1336
1337         * gcc-interface/Make-lang.in: Update dependencies.
1338
1339 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1340
1341         * sem_util.adb (Is_Atomic_Object): Predicate does not apply to
1342         subprograms.
1343
1344 2010-06-17  Robert Dewar  <dewar@adacore.com>
1345
1346         * gnat_rm.texi, gnat_ugn.texi: Clean up documentation on warning and
1347         style check messages.
1348         * sem_res.adb (Resolve_Call): Don't call
1349         Check_For_Eliminated_Subprogram if we are analyzing within a spec
1350         expression.
1351
1352 2010-06-17  Robert Dewar  <dewar@adacore.com>
1353
1354         * debug.adb: Add documentation for debug flags .X and .Y
1355         * exp_ch4.adb (Expand_Short_Circuit_Operator): Use
1356         Use_Expression_With_Actions.
1357         * gnat1drv.adb (Adjust_Global_Switches): Set
1358         Use_Expression_With_Actions.
1359         * opt.ads (Use_Expression_With_Actions): New switch.
1360
1361 2010-06-17  Robert Dewar  <dewar@adacore.com>
1362
1363         * exp_intr.adb: Minor code reorganization (use UI_Max)
1364         * sem_intr.adb: use underlying type to check legality.
1365         * einfo.adb (Known_Static_Esize): False for generic types
1366         (Known_Static_RM_Size): False for generic types
1367         * einfo.ads (Known_Static_Esize): False for generic types
1368         (Known_Static_RM_Size): False for generic types
1369
1370 2010-06-17  Robert Dewar  <dewar@adacore.com>
1371
1372         * exp_ch4.ads: Minor code reorganization (specs in alpha order).
1373
1374 2010-06-17  Robert Dewar  <dewar@adacore.com>
1375
1376         * debug.adb: New debug flag -gnatd.X to use Expression_With_Actions
1377         node when expanding short circuit form with actions present for right
1378         opnd.
1379         * exp_ch4.adb: Minor reformatting
1380         (Expand_Short_Circuit_Operator): Use new Expression_With_Actions node if
1381         right opeand has actions present, and debug flag -gnatd.X is set.
1382         * exp_util.adb (Insert_Actions): Handle case of Expression_With_Actions
1383         node.
1384         * nlists.adb (Prepend_List): New procedure
1385         (Prepend_List_To): New procedure
1386         * nlists.ads (Prepend_List): New procedure
1387         (Prepend_List_To): New procedure
1388         * sem.adb: Add processing for Expression_With_Actions
1389         * sem_ch4.adb (Analyze_Expression_With_Actions): New procedure
1390         * sem_ch4.ads (Analyze_Expression_With_Actions): New procedure
1391         * sem_res.adb: Add processing for Expression_With_Actions.
1392         * sem_scil.adb: Add processing for Expression_With_Actions
1393         * sinfo.ads, sinfo.adb (N_Expression_With_Actions): New node.
1394         * sprint.ads, sprint.adb: Add processing for Expression_With_Actions
1395
1396 2010-06-17  Doug Rupp  <rupp@adacore.com>
1397
1398         * sem_intr.adb (Check_Intrinsic_Operator): Check that the types
1399         involved both have underlying integer types.
1400         * exp_intr.adb (Expand_Binary_Operator) New subprogram to expand a call
1401         to an intrinsic operator when the operand types or sizes are not
1402         identical.
1403         * s-auxdec-vms_64.ads: Revert "+" "-" ops back to Address now that
1404         64/32 Address/Integer works.
1405
1406 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1407
1408         * sem_ch12.adb (Mark_Context): Refine placement of Withed_Body flag, so
1409         that it marks a unit as needed by a spec only if the corresponding
1410         instantiation appears in that spec (and not in the corresponding body).
1411         * sem_elim.adb (Check_Eliminated): If we are within a subunit, the name
1412         in the pragma Eliminate has been parsed as a child unit, but the
1413         current compilation unit is in fact the parent in which the subunit is
1414         embedded.
1415
1416 2010-06-17  Vincent Celier  <celier@adacore.com>
1417
1418         * gnat_rm.texi: Fix typo
1419
1420 2010-06-17  Robert Dewar  <dewar@adacore.com>
1421
1422         * sem_util.adb: Minor reformatting
1423
1424 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1425
1426         * sem.adb (Do_Withed_Unit): if the unit in the with_clause is a generic
1427         instance, the clause now denotes the instance body. Traverse the
1428         corresponding spec because there may be no other dependence that will
1429         force the traversal of its own context.
1430
1431 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1432
1433         * sem_ch10.adb (Is_Ancestor_Unit): Subsidiary to
1434         Install_Limited_Context_Clauses, to determine whether a limited_with in
1435         some parent of the current unit designates some other parent, in which
1436         case the limited_with clause must not be installed.
1437         (In_Context): Refine test.
1438
1439 2010-06-17  Gary Dismukes  <dismukes@adacore.com>
1440
1441         * sem_util.adb (Collect_Primitive_Operations): In the of an untagged
1442         type with a dispatching equality operator that is overridden (for a
1443         tagged full type), don't include the overridden equality in the list of
1444         primitives. The overridden equality is detected by testing for an
1445         Aliased field that references the overriding equality.
1446
1447 2010-06-17  Robert Dewar  <dewar@adacore.com>
1448
1449         * freeze.adb: Minor reformatting.
1450
1451 2010-06-17  Joel Brobecker  <brobecker@adacore.com brobecker>
1452
1453         * gnat_ugn.texi: Add a section introducing gdbserver.
1454
1455 2010-06-17  Thomas Quinot  <quinot@adacore.com>
1456
1457         * sem_res.adb, sem_ch4.adb, s-stoele.adb, par-labl.adb: Minor
1458         reformatting.
1459
1460 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1461
1462         * sem_aggr.adb (Valid_Ancestor_Type): handle properly the case of a
1463         constrained discriminated parent that is a private type.
1464         (Analyze_Record_Aggregate): when collecting inherited discriminants,
1465         handle properly an ancestor type that is a constrained private type.
1466
1467 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1468
1469         * sem_util.adb (Enclosing_Subprogram): If the called subprogram is
1470         protected, use the protected_subprogram_body only if the original
1471         subprogram has not been eliminated.
1472
1473 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1474
1475         * freeze.adb (Freeze_Expression): The designated type of an
1476         access_to_suprogram type can only be frozen if all types in its profile
1477         are fully defined.
1478
1479 2010-06-17  Robert Dewar  <dewar@adacore.com>
1480
1481         * par.adb: Minor comment fix
1482         * sem_aggr.adb, sem_ch3.adb: Minor reformatting
1483
1484 2010-06-17  Doug Rupp  <rupp@adacore.com>
1485
1486         * s-auxdec-vms_64.ads: Revert Integer to Long_Integer change, instead
1487         change Address to Short_Address in functions where both must be the
1488         same size for intrinsics to work.
1489
1490 2010-06-17  Thomas Quinot  <quinot@adacore.com>
1491
1492         * sem_ch4.adb (Analyze_Selected_Component): A selected component may
1493         not denote a (private) component of a protected object.
1494
1495 2010-06-17  Bob Duff  <duff@adacore.com>
1496
1497         * par-labl.adb (Try_Loop): Test whether the label and the goto are in
1498         the same list.
1499
1500 2010-06-17  Joel Brobecker  <brobecker@adacore.com brobecker>
1501
1502         * gnat_ugn.texi: Update the documentation about GDB re: exception
1503         catchpoints.
1504
1505 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
1506
1507         * gnatvsn.ads: Bump to 4.6 version.
1508
1509 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1510
1511         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): The
1512         designated type of the generated pointer is the type of the original
1513         expression, not that of the function call itself, because the return
1514         type may be an untagged  derived type and the function may be an
1515         inherited operation.
1516
1517 2010-06-17  Robert Dewar  <dewar@adacore.com>
1518
1519         * exp_ch4.adb: Minor reformatting.
1520
1521 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1522
1523         * sinfo.ads, sinfo.adb (Inherited_Discriminant): New flag on
1524         N_Component_Association nodes, to indicate that a component association
1525         of an extension aggregate denotes the value of a discriminant of an
1526         ancestor type that has been constrained by the derivation.
1527         * sem_aggr.adb (Discr_Present): use Inherited_Discriminant to prevent a
1528         double expansion of the aggregate appearing in a context that delays
1529         expansion, to prevent double insertion of discriminant values when the
1530         aggregate is reanalyzed.
1531
1532 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
1533
1534         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not use
1535         Allocator as the Related_Node of Return_Obj_Access in call to
1536         Make_Temporary below as this would create a sort of infinite
1537         "recursion".
1538
1539 2010-06-17  Ben Brosgol  <brosgol@adacore.com>
1540
1541         * gnat_ugn.texi: Update gnatcheck doc.
1542
1543 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1544
1545         * sem_ch3.adb (Build_Incomplete_Type_Declaration): If there is an
1546         incomplete view of the type that is not tagged, and the full type is a
1547         tagged extension, create class_wide type now, and warn that the
1548         incomplete view should be tagged as well.
1549
1550 2010-06-17  Vincent Celier  <celier@adacore.com>
1551
1552         * gnatcmd.adb (Non_VMS_Usage): Do not issue usage for gnat sync.
1553         Update the last line of the usage, indicating what commands do not
1554         accept project file switches.
1555         * vms_conv.adb: Do not issue usage line for GNAT SYNC
1556         * vms_data.ads: Fix errors in the qualifiers /LOGFILE and /MAIN of
1557         GNAT ELIM.
1558         * gnat_ugn.texi: Document the relaxed rules for library directories in
1559         externally built library projects.
1560
1561 2010-06-17  Doug Rupp  <rupp@adacore.com>
1562
1563         * s-auxdec-vms_64.ads: Make boolean and arithmetic operations intrinsic
1564         where possible.
1565         * s-auxdec-vms-alpha.adb: Remove kludges for aforemention.
1566         * gcc-interface/Makefile.in: Update VMS target pairs.
1567
1568 2010-06-17  Vasiliy Fofanov  <fofanov@adacore.com>
1569
1570         * adaint.c: Reorganized in order to avoid use of GetProcessId to stay
1571         compatible with Windows NT 4.0 which doesn't provide this function.
1572
1573 2010-06-17  Vincent Celier  <celier@adacore.com>
1574
1575         * ali-util.adb (Time_Stamp_Mismatch): In Verbose mode, if there is
1576         different timestamps but the checksum is the same, issue a short
1577         message saying so.
1578
1579 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
1580
1581         * s-interr.adb (Finalize): If the Abort_Task signal is set to system,
1582         it means that we cannot reset interrupt handlers since this would
1583         require potentially sending the abort signal to the Server_Task.
1584
1585 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1586
1587         * exp_ch4.adb: expand NOT for VMS types.
1588         * sem_util.adb: Use OpenVMS_On_Target for IS_VMS_Operator.
1589
1590 2010-06-17  Sergey Rybin  <rybin@adacore.com>
1591
1592         * vms_data.ads: Add qualifier for '--no-elim-dispatch' gnatelim option.
1593         * gnat_ugn.texi (gnatelim): add description for --no-elim-dispatch
1594         option.
1595
1596 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1597
1598         * exp_ch6.adb (Expand_Call): Do not expand a call to an internal
1599         protected operation if the subprogram has been eliminated.
1600
1601 2010-06-17  Vincent Celier  <celier@adacore.com>
1602
1603         * prj-nmsc.adb (Check_Library_Attributes): Allow the different
1604         directories associated with a library to be any directory when the
1605         library project is externally built.
1606
1607 2010-06-17  Vincent Celier  <celier@adacore.com>
1608
1609         * make.adb (Check): If switch -m is used, deallocate the memory that
1610         may be allocated when computing the checksum.
1611
1612 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
1613
1614         * g-socthi-mingw.adb (C_Recvmsg): Add 'use type' clause for C.size_t;
1615         (C_Sendmsg): Likewise.
1616
1617 2010-06-17  Thomas Quinot  <quinot@adacore.com>
1618
1619         * sem_res.adb: Update comments.
1620
1621 2010-06-17  Vincent Celier  <celier@adacore.com>
1622
1623         * back_end.adb (Scan_Compiler_Arguments): Process last argument
1624
1625 2010-06-17  Robert Dewar  <dewar@adacore.com>
1626
1627         * exp_ch3.adb, exp_ch6.adb, exp_smem.adb, exp_util.adb: Use Ekind_In.
1628         * layout.adb, freeze.adb: Use Make_Temporary.
1629
1630 2010-06-17  Jerome Lambourg  <lambourg@adacore.com>
1631
1632         * exp_ch11.adb (Expand_N_Raise_Statement): Expand raise statements in
1633         .NET/JVM normally as this is now perfectly supported by the backend.
1634
1635 2010-06-17  Pascal Obry  <obry@adacore.com>
1636
1637         * gnat_rm.texi: Fix minor typo, remove duplicate blank lines.
1638
1639 2010-06-17  Vincent Celier  <celier@adacore.com>
1640
1641         * make.adb (Collect_Arguments_And_Compile): Create include path file
1642         only when -x is specified.
1643         (Gnatmake): Ditto
1644         * opt.ads (Use_Include_Path_File): New Boolean flag, initialized to
1645         False.
1646         * prj-env.adb (Set_Ada_Paths): New Boolean parameters Include_Path and
1647         Objects_Path, defaulted to True. Only create include path file if
1648         Include_Path is True, only create objects path file if Objects_Path is
1649         True.
1650         * prj-env.ads (Set_Ada_Paths): New Boolean parameters Include_Path and
1651         Objects_Path, defaulted to True.
1652         * switch-m.adb (Scan_Make_Switches): Set Use_Include_Path_File to True
1653         when -x is used.
1654
1655 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1656
1657         * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
1658         determine whether it has the controlling type, when the formal is an
1659         access parameter.
1660
1661 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
1662
1663         * s-crtl.ads (ssize_t): New type.
1664         (read): Fix signature.
1665         (write): Likewise.
1666         * g-socthi.ads: Add 'with System.CRTL' clause.  Remove ssize_t and
1667         'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
1668         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
1669         (C_Sendmsg): Likewise.
1670         * g-socthi.adb (Syscall_Recvmsg): Likewise.
1671         (Syscall_Sendmsg): Likewise.
1672         (C_Recvmsg): Likewise.
1673         (C_Sendmsg): Likewise.
1674         * g-socthi-mingw.ads: Add 'with System.CRTL' clause.  Remove ssize_t
1675         and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
1676         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
1677         (C_Sendmsg): Likewise.
1678         * g-socthi-mingw.adb (C_Recvmsg): Likewise.
1679         (C_Sendmsg): Likewise.
1680         * g-socthi-vms.ads: Add 'with System.CRTL' clause.  Remove ssize_t and
1681         'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
1682         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
1683         (C_Sendmsg): Likewise.
1684         * g-socthi-vms.adb (C_Recvmsg): Likewise.
1685         (C_Sendmsg): Likewise.
1686         * g-socthi-vxworks.ads Add 'with System.CRTL' clause.  Remove ssize_t
1687         and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
1688         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
1689         (C_Sendmsg): Likewise.
1690         * g-socthi-vxworks.adb (C_Recvmsg): Likewise.
1691         (C_Sendmsg): Likewise.
1692         * g-sercom-linux.adb (Read): Use correct types to call 'read'.
1693         (Write): Likewise to call 'write'.
1694         * s-os_lib.adb (Read): Use correct type to call System.CRTL.read.
1695         (Write): Use correct type to call System.CRTL.write.
1696         * s-tasdeb.adb (Write): Likewise.
1697
1698 2010-06-17  Vincent Celier  <celier@adacore.com>
1699
1700         * prj-proc.adb (Copy_Package_Declarations): Change argument name
1701         Naming_Restricted to Restricted. If Restricted is True, do not copy the
1702         value of attribute Linker_Options.
1703
1704 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
1705
1706         * gcc-interface/trans.c (push_stack, pop_stack): Delete.
1707         (Case_Statement_to_gnu): Adjust.
1708         (Loop_Statement_to_gnu): Likewise.
1709         (Subprogram_Body_to_gnu): Likewise.
1710         (Handled_Sequence_Of_Statements_to_gnu): Likewise.
1711         (Compilation_Unit_to_gnu): Likewise.
1712
1713 2010-06-17  Robert Dewar  <dewar@adacore.com>
1714
1715         * exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb,
1716         exp_sel.adb, exp_util.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb,
1717         sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch8.adb, sem_ch9.adb,
1718         sem_dist.adb, sem_util.adb: Use Make_Temporary
1719         * itypes.ads, tbuild.ads: Minor comment update
1720         * exp_ch9.adb, exp_dist.adb: Minor reformatting
1721
1722 2010-06-17  Thomas Quinot  <quinot@adacore.com>
1723
1724         * exp_imgv.adb, exp_ch7.ads: Minor reformatting.
1725
1726 2010-06-17  Robert Dewar  <dewar@adacore.com>
1727
1728         * exp_ch9.adb, exp_disp.adb, exp_dist.adb: Use Make_Temporary.
1729
1730 2010-06-17  Thomas Quinot  <quinot@adacore.com>
1731
1732         * sprint.adb (pg): Set Dump_Freeze_Null, to be consistent with -gnatdg.
1733
1734 2010-06-17  Robert Dewar  <dewar@adacore.com>
1735
1736         * exp_ch6.adb, exp_ch7.adb, exp_ch5.adb: Use Make_Temporary
1737         * tbuild.ads (Make_Temporary): More comment updates
1738         * tbuild.adb: Minor reformatting
1739
1740 2010-06-17  Robert Dewar  <dewar@adacore.com>
1741
1742         * checks.adb, exp_aggr.adb, exp_atag.adb, exp_attr.adb, exp_ch11.adb,
1743         exp_ch3.adb, exp_ch4.adb: Minor code reorganization.
1744         Use Make_Temporary.
1745         * tbuild.ads, tbuild.adb (Make_Temporary): Clean up, use Entity_Id
1746         instead of Node_Id.
1747         (Make_Temporary): Add more extensive documentation
1748
1749 2010-06-17  Robert Dewar  <dewar@adacore.com>
1750
1751         * sem_intr.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb,
1752         sem_warn.adb, sem_eval.adb: Minor reformatting.  Use Ekind_In.
1753         (Set_Slice_Subtype): Explicitly freeze the slice's itype at the point
1754         where the slice's actions are inserted.
1755         (Decompose_Expr): Account for possible rewriting of slice bounds
1756         resulting from side effects suppression caused by the above freezing,
1757         so that folding of bounds is preserved by such rewriting.
1758
1759 2010-06-17  Robert Dewar  <dewar@adacore.com>
1760
1761         * einfo.ads, einfo.adb (Get_Record_Representation_Clause): New function.
1762         * freeze.adb (Freeze_Record_Type): Add call to
1763         Check_Record_Representation_Clause.
1764         * sem_ch13.adb (Check_Record_Representation_Clause): New function
1765         (Analyze_Record_Representation_Clause): Split out overlap code into this
1766         new function.
1767         (Check_Component_Overlap): Moved inside
1768         Check_Record_Representation_Clause.
1769         * sem_ch13.ads (Check_Record_Representation_Clause): New function.
1770
1771 2010-06-17  Robert Dewar  <dewar@adacore.com>
1772
1773         * back_end.adb, sem_res.adb, switch-c.adb, sem_scil.adb: Minor
1774         reformatting.
1775         * sem_attr.adb, sem_cat.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb,
1776         sem_eval.adb: Use Ekind_In
1777
1778 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1779
1780         * sem_ch8.adb: better error message for illegal inherited discriminant
1781
1782 2010-06-17  Vincent Celier  <celier@adacore.com>
1783
1784         * bindusg.adb: Remove lines for -A and -C
1785         * gnat_ugn.texi: Remove all documentation and examples of switches -A
1786         and -C for gnatbind and gnatlink.
1787         * gnatlink.adb (Usage): Remove lines for -A and -C
1788         * switch-b.adb (Scan_Binder_Switches): Issue warning when switch -C is
1789         specified.
1790         * gcc-interface/Make-lang.in: Update dependencies.
1791
1792 2010-06-17  Vincent Celier  <celier@adacore.com>
1793
1794         * back_end.adb (Scan_Compiler_Arguments): Put all arguments in new
1795         local Argument_List variable Args.
1796         * switch-c.adb (Scan_Front_End_Switches): New Argument_List argument
1797         Args.
1798         (Switch_Subsequently_Cancelled): New Argument_List argument Args. Look
1799         for subsequent switches in Args.
1800         * switch-c.ads (Scan_Front_End_Switches): New Argument_List argument
1801         Args.
1802         * gcc-interface/Make-lang.in: Update dependencies.
1803
1804 2010-06-17  Robert Dewar  <dewar@adacore.com>
1805
1806         * einfo.adb: Minor code fix, allow E_Class_Wide_Type for
1807         Equivalent_Type to match documentation.
1808
1809 2010-06-17  Robert Dewar  <dewar@adacore.com>
1810
1811         * sem_ch6.adb, sem_ch7.adb: Minor reformatting.
1812         * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_ch10.adb, sem_ch12.adb,
1813         sem_ch4.adb, sem_ch8.adb, sem_ch13.adb: Make use of Ekind_In.
1814
1815 2010-06-17  Thomas Quinot  <quinot@adacore.com>
1816
1817         * sem_res.adb (Set_Slice_Subtype): Always freeze the slice's itype.
1818
1819 2010-06-17  Thomas Quinot  <quinot@adacore.com>
1820
1821         * freeze.adb (Freeze_Expression): Short circuit operators are valid
1822         freeze node insertion points.
1823
1824 2010-06-17  Robert Dewar  <dewar@adacore.com>
1825
1826         * switch-c.ads, switch-c.adb, sem_ch13.adb: Minor reformatting.
1827         * sem_ch12.adb: Add pragmas Assert and Check to previous change.
1828
1829 2010-06-17  Gary Dismukes  <dismukes@adacore.com>
1830
1831         * layout.adb (Layout_Type): Broaden test for setting an array type's
1832         Component_Size to include all scalar types, not just discrete types
1833         (components of real types were missed).
1834         * sem_ch3.adb (Constrain_Index): Add missing setting of First_Literal
1835         on the itype created for an index (consistent with Make_Index and
1836         avoids possible Assert_Failures).
1837
1838 2010-06-17  Robert Dewar  <dewar@adacore.com>
1839
1840         * atree.ads, atree.adb: Add 6-parameter version of Ekind_In
1841         * einfo.adb: Minor code reformatting (use Ekind_In)
1842
1843 2010-06-17  Robert Dewar  <dewar@adacore.com>
1844
1845         * sem_warn.adb (Test_Ref): Abandon scan if access subprogram parameter
1846         found.
1847
1848 2010-06-17  Vincent Celier  <celier@adacore.com>
1849
1850         * back_end.adb: Minor comment updates
1851         * switch-c.adb: Remove dependencies on gcc C sources
1852         * gcc-interface/Make-lang.in: Add a-comlin.o to the object file list
1853         for the compiler.
1854
1855 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
1856
1857         * sem_ch12.adb: propagate Pragma_Enabled flag to generic.
1858         * get_scos.adb: Set C2 flag in decision entry of pragma to 'e' (enabled)
1859         * par_sco.ads, par_sco.adb (Set_SCO_Pragma_Enabled): New procedure
1860         Remove use of Node field in SCOs table
1861         (Output_Header): Set 'd' to initially disable pragma entry
1862         * put_scos.adb (Put_SCOs): New flag indicating if pragma is enabled
1863         * scos.ads, scos.adb: Remove Node field from internal SCOs table.
1864         Use C2 field of pragma decision header to indicate enabled.
1865         * sem_prag.adb: Add calls to Set_SCO_Pragma_Enabled.
1866         * gcc-interface/Make-lang.in: Update dependencies.
1867
1868 2010-06-17  Vincent Celier  <celier@adacore.com>
1869
1870         * back_end.adb (Next_Arg): Moved to procedure Scan_Compiler_Arguments
1871         (Scan_Compiler_Arguments): Call Scan_Front_End_Switches with Next_Arg
1872         (Switch_Subsequently_Cancelled): Function moved to the body of Switch.C
1873         * back_end.ads (Scan_Front_End_Switches): Function moved to the body of
1874         Switch.C.
1875         * switch-c.adb: Copied a number of global declarations from back_end.adb
1876         (Len_Arg): New function copied from back_end.adb
1877         (Switch_Subsequently_Cancelled): New function moved from back_end.adb
1878         (Scan_Front_End_Switches): New parameter Arg_Rank used to call
1879         Switch_Subsequently_Cancelled.
1880         * switch-c.ads (Scan_Front_End_Switches): New parameter Arg_Rank.
1881         * gcc-interface/Makefile.in: Add line so that shared libgnat is linked
1882         with -lexc on Tru64.
1883
1884 2010-06-17  Robert Dewar  <dewar@adacore.com>
1885
1886         * prj.ads, prj.adb: Minor reformatting
1887
1888 2010-06-17  Thomas Quinot  <quinot@adacore.com>
1889
1890         * put_scos.adb: Do not generate a blank line in SCOs when omitting the
1891         CP line for a disabled pragma.
1892
1893 2010-06-17  Emmanuel Briot  <briot@adacore.com>
1894
1895         * prj-proc.adb, prj.adb, prj.ads (Check_Or_Set_Typed_Variable): New
1896         subprogram.
1897         (Process_Declarative_Item): An invalid value in an typed variable
1898         declaration is no longer always fatal.
1899
1900 2010-06-16  Arnaud Charlet  <charlet@adacore.com>
1901
1902         * get_scos.adb, par_sco.adb, par_sco.ads, put_scos.adb, scos.adb,
1903         scos.ads, exp_ch4.adb, sem_warn.adb: Code clean up, update
1904         documentation.
1905
1906 2010-06-16  Javier Miranda  <miranda@adacore.com>
1907
1908         * exp_disp.adb (Expand_Dispatching_Call): Adjust the decoration of the
1909         node referenced by the SCIL node of dispatching "=" to skip the tags
1910         comparison.
1911
1912 2010-06-16  Ed Schonberg  <schonberg@adacore.com>
1913
1914         * sem_ch5.adb (Analyze_Exit_Statement): Return if no enclosing loop,
1915         to prevent cascaded errors and compilation aborts.
1916
1917 2010-06-16  Robert Dewar  <dewar@adacore.com>
1918
1919         * back_end.adb (Switch_Subsequently_Cancelled): New function
1920         Move declarations to package body level to support this change
1921         * back_end.ads (Switch_Subsequently_Cancelled): New function
1922         * gnat_ugn.texi: Document -gnat-p switch
1923         * switch-c.adb (Scan_Front_End_Switches): Implement -gnat-p switch
1924         * ug_words: Add entry for -gnat-p (UNSUPPRESS_ALL)
1925         * usage.adb: Add line for -gnat-p switch
1926         * vms_data.ads: Add entry for UNSUPPRESS_ALL (-gnat-p)
1927
1928 2010-06-16  Robert Dewar  <dewar@adacore.com>
1929
1930         * sem_warn.adb (Check_Infinite_Loop_Warning): Declaration counts as
1931         modification.
1932
1933 2010-06-16  Robert Dewar  <dewar@adacore.com>
1934
1935         * exp_disp.adb: Minor reformatting
1936
1937 2010-06-16  Ed Schonberg  <schonberg@adacore.com>
1938
1939         * sem_ch3.adb (Complete_Private_Subtype): Inherit class_wide type from
1940         base type only if it was not previously created for the partial view.
1941
1942 2010-06-16  Thomas Quinot  <quinot@adacore.com>
1943
1944         * tbuild.ads: Minor comment fix
1945
1946 2010-06-15  Nathan Froyd  <froydnj@codesourcery.com>
1947
1948         * gcc-interface/trans.c (gnu_stack_free_list): Delete.
1949         (gnu_except_ptr_stack): Change type to VEC.  Update comment.
1950         (gnu_elab_proc_stack): Likewise.
1951         (gnu_return_label_stack): Likewise.
1952         (gnu_loop_label_stack): Likewise.
1953         (gnu_switch_label_stack): Likewise.
1954         (gnu_constraint_label_stack): Likewise.
1955         (gnu_storage_error_label_stack): Likewise.
1956         (gnu_program_error_label_stack): Likewise.
1957         (push_exception_label_stack): Take a VEC ** instead of a tree *.
1958         (push_stack): Likewise.  Remove unused second parameter.  Update
1959         callers.
1960         (pop_stack): Take a VEC * instead of a tree *.  Update callers.
1961         (gigi): Initialize stacks as VECs.
1962         (Identifier_to_gnu): Use VEC_last instead of TREE_VALUE.
1963         (Case_Statement_to_gnu): Likewise.
1964         (Subprogram_Body_to_gnu): Likewise.
1965         (call_to_gnu): Likewise.
1966         (Exception_Handler_to_gnu_sjlj): Likewise.
1967         (gnat_to_gnu): Likewise.
1968         (get_exception_label): Likewise.
1969
1970 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
1971
1972         * sem_ch3.adb (Build_Derived_Record_Type): if derived type is an
1973         anonymous base generated when the parent is a constrained discriminated
1974         type, propagate interface list to first subtype because it may appear
1975         in a current instance within the extension part of the derived type
1976         declaration, and its own subtype declaration has not been elaborated
1977         yet.
1978         * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
1979         determine whether it has the controlling type.
1980
1981 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
1982
1983         * exp_ch11.adb (Expand_N_Raise_Statement): Make sure that the explicit
1984         raise of CE, SE and PE have the reason correctly set and are properly
1985         expanded before stopping the expansions of .NET/JVM exceptions.
1986
1987 2010-06-14  Robert Dewar  <dewar@adacore.com>
1988
1989         * opt.ads (Check_Policy_List): Add some clarifying comments
1990         * sem_prag.adb (Analyze_Pragma, case Check): Set Pragma_Enabled flag
1991         on rewritten Assert pragma.
1992
1993 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
1994
1995         * sem_ch6.adb (Check_Overriding_Indicator): Add a special check for
1996         controlled operations, so that they will be treated as overriding even
1997         if the overridden subprogram is marked Is_Hidden, as long as the
1998         overridden subprogram's parent subprogram is not hidden.
1999
2000 2010-06-14  Robert Dewar  <dewar@adacore.com>
2001
2002         * debug.adb: Entry for gnatw.d no longer specific for while loops
2003         * einfo.adb (First_Exit_Statement): New attribute for E_Loop
2004         * einfo.ads (First_Exit_Statement): New attribute for E_Loop
2005         * sem_ch5.adb (Analyze_Loop_Statement): Check_Infinite_Loop_Warning has
2006         new calling sequence to include test for EXIT WHEN.
2007         (Analyze_Exit_Statement): Chain EXIT statement into exit statement chain
2008         * sem_warn.ads, sem_warn.adb (Check_Infinite_Loop_Warning): Now handles
2009         EXIT WHEN case.
2010         * sinfo.adb (Next_Exit_Statement): New attribute of N_Exit_Statement
2011         node.
2012         * sinfo.ads (N_Pragma): Correct comment on Sloc field (points to
2013         PRAGMA, not to pragma identifier).
2014         (Next_Exit_Statement): New attribute of N_Exit_Statement node
2015
2016 2010-06-14  Robert Dewar  <dewar@adacore.com>
2017
2018         * sem_res.adb (Resolve_Short_Circuit): Fix sloc of "assertion/check
2019         would fail" msg.
2020
2021 2010-06-14  Robert Dewar  <dewar@adacore.com>
2022
2023         * par-ch2.adb (Scan_Pragma_Argument_Association): Clarify message for
2024         missing pragma argument identifier.
2025
2026 2010-06-14  Robert Dewar  <dewar@adacore.com>
2027
2028         * atree.ads, atree.adb (Ekind_In): New functions.
2029
2030 2010-06-14  Robert Dewar  <dewar@adacore.com>
2031
2032         * exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**N in stand alone context
2033
2034 2010-06-14  Robert Dewar  <dewar@adacore.com>
2035
2036         * usage.adb (Usage): Redo documentation of -gnatwa.
2037
2038 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
2039
2040         * sem_ch8.adb (Find_Type): The attribute 'class cannot be applied to
2041         an untagged incomplete type that is a limited view.
2042
2043 2010-06-14  Sergey Rybin  <rybin@adacore.com>
2044
2045         * gnat_ugn.texi: Add description of '-cargs gcc_switches' to gnatstub
2046         and gnatppa.
2047
2048 2010-06-14  Thomas Quinot  <quinot@adacore.com>
2049
2050         * exp_ch4.adb (Expand_Short_Circuit_Operator): New subprogram,
2051         factoring duplicated code between...
2052         (Expand_N_And_Than, Expand_N_Or_Else): Remove duplicated code.
2053         * a-envvar.ads: Minor reformatting
2054
2055 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
2056
2057         * ali.adb, ali.ads, lib-xref.ads: Document new '+' letter for C/C++
2058         static entities.
2059         (Scan_ALI): Take into account new Visibility field.
2060         (Visibility_Kind): New type.
2061         (Xref_Entity_Record): Replace Lib field by Visibility.
2062
2063         * gcc-interface/Make-lang.in: Update dependencies.
2064
2065 2010-06-14  Pascal Obry  <obry@adacore.com>
2066
2067         * raise.h: Remove unused defintions.
2068
2069 2010-06-14  Bob Duff  <duff@adacore.com>
2070
2071         * par-ch10.adb (P_Subunit): If the next token after "separate(X)" is
2072         Tok_Not or Tok_Overriding, call P_Subprogram. We had previously given
2073         the incorrect error "proper body expected".
2074         * par-ch6.adb (P_Subprogram): Suppress "overriding indicator not
2075         allowed here" error in case of subunits, which was triggered by the
2076         above change to P_Subunit.
2077
2078 2010-06-14  Sergey Rybin  <rybin@adacore.com>
2079
2080         * gnat_ugn.texi, vms_data.ads: Update gnatelim doc.
2081
2082 2010-06-14  Thomas Quinot  <quinot@adacore.com>
2083
2084         * lib-util.adb: Minor code reorganization.
2085
2086 2010-06-14  Robert Dewar  <dewar@adacore.com>
2087
2088         * ali.adb (Scan_ALI): Implement reading and storing of N lines
2089         (Known_ALI_Lines): Add entry for 'N' (notes)
2090         * ali.ads (Notes): New table to store Notes information
2091         * alloc.ads: Add entries for Notes table
2092         * lib-util.adb (Write_Info_Int): New procedure
2093         (Write_Info_Slit): New procedure
2094         (Write_Info_Uint): New procedure
2095         * lib-util.ads (Write_Info_Int): New procedure
2096         (Write_Info_Slit): New procedure
2097         (Write_Info_Uint): New procedure
2098         * lib-writ.adb (Write_Unit_Information): Output N (notes) lines
2099         * lib-writ.ads: Update documentation for N (Notes) lines
2100         * lib.adb (Store_Note): New procedure
2101         * lib.ads (Notes): New table
2102         (Store_Note): New procedure
2103         * sem_prag.adb: Call Store_Note for affected pragmas
2104
2105 2010-06-14  Thomas Quinot  <quinot@adacore.com>
2106
2107         * socket.c: Fix wrong condition in #ifdef
2108         * g-socket.adb, g-sothco.ads: Functions imported from socket.c that
2109         take or return char* values can't use Interfaces.C.Strings.chars_ptr,
2110         because on VMS this type is a 32-bit pointer which is not compatible
2111         with the default for C pointers for code compiled with gcc on that
2112         platform.
2113
2114 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
2115
2116         * sem_util (Is_VMS_Operator): New predicate to determine whether an
2117         operator is an intrinsic operator declared in the DEC system extension.
2118         * sem_res.adb (Resolve_Logical_Op): operation is legal on signed types
2119         if the operator is a VMS intrinsic.
2120         * sem_eval.adb (Eval_Logical_Op): Operation is legal and be
2121         constant-folded if the operands are signed and the operator is a VMS
2122         intrinsic.
2123
2124 2010-06-14  Robert Dewar  <dewar@adacore.com>
2125
2126         * g-socket.adb, gnatcmd.adb: Minor reformatting.
2127
2128 2010-06-14  Pascal Obry  <obry@adacore.com>
2129
2130         * s-finimp.adb: Fix typo.
2131         * raise.h: Remove duplicate blank line.
2132
2133 2010-06-14  Vincent Celier  <celier@adacore.com>
2134
2135         * prj-nmsc.adb (Add_Sources): Always set the object file and the
2136         switches file names, as the configuration of the language may change
2137         in an extending project.
2138         (Process_Naming_Scheme): For sources of projects that are extended, set
2139         the configuration of the language from the highest extending project
2140         where the language is declared.
2141
2142 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
2143
2144         * sem_res.adb (Resolve_Call): For infinite recursion check, test
2145         whether the called subprogram is inherited from a containing subprogram.
2146         (Same_Or_Aliased_Subprograms): New function
2147
2148 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
2149
2150         * sem_ch8.adb (End_Use_Type): Before indicating that an operator is not
2151         use-visible, check whether it is a primitive for more than one type.
2152
2153 2010-06-14  Robert Dewar  <dewar@adacore.com>
2154
2155         * sem_ch3.adb (Copy_And_Swap): Copy Has_Pragma_Unmodified flag.
2156
2157         * sem_ch7.adb (Preserve_Full_Attributes): Preserve
2158         Has_Pragma_Unmodified flag.
2159
2160 2010-06-14  Thomas Quinot  <quinot@adacore.com>
2161
2162         * g-sttsne-locking.adb, g-sttsne-locking.ads, g-sttsne.ads,
2163         g-sttsne-vxworks.adb, g-sttsne-dummy.ads: Removed. Mutual exclusion is
2164         now done in GNAT.Sockets if necessary.
2165         * gsocket.h, g-socket.adb, g-sothco.ads (GNAT.Sockets.Get_XXX_By_YYY):
2166         Ensure mutual exclusion for netdb operations if the target platform
2167         requires it.
2168         (GNAT.Sockets.Thin_Common): New binding for getXXXbyYYY, treating struct
2169         hostent as an opaque type to improve portability.
2170         * s-oscons-tmplt.c, socket.c: For the case of Vxworks, emulate
2171         gethostbyYYY using proprietary VxWorks API so that a uniform interface
2172         is available for the Ada side.
2173         * gcc-interface/Makefile.in: Remove g-sttsne-*
2174         * gcc-interface/Make-lang.in: Update dependencies.
2175
2176 2010-06-14  Vincent Celier  <celier@adacore.com>
2177
2178         * gnatcmd.adb (Mapping_File): New function.
2179
2180 2010-06-14  Javier Miranda  <miranda@adacore.com>
2181
2182         * sem_ch3.adb (Derive_Subprograms): Remove over-restrictive assertion.
2183
2184 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
2185
2186         * ali.adb: Fix typo.
2187         * s-auxdec-vms-alpha.adb, scng.ads: Minor reformatting.
2188
2189 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
2190
2191         * sem_ch12.adb: Make Mark_Context transitive, and apply to subprogram
2192         instances.
2193
2194         * sem_ch8.adb (Find_Expanded_Name): If a candidate compilation unit in
2195         the context does not have a homonym of the selector, emit default
2196         error message.
2197
2198 2010-06-14  Robert Dewar  <dewar@adacore.com>
2199
2200         * sem.adb, sem_ch12.adb, sem_util.adb: Minor reformatting and
2201         comment addition.
2202
2203 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
2204
2205         * lib-xref.ads: Doc updates:
2206          - Allocate 'Q' for #include entity kind
2207          - Free 'Z'
2208          - Allocate 'g' for regular macros
2209          - Allocate 'G' for function-like macros
2210
2211 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
2212
2213         * sinfo.ads, sinfo.adb (Withed_Body): New attribute of a with_clause.
2214         Indicates that there is an instantiation in the current unit that
2215         loaded the body of the unit denoted by the with_clause.
2216         * sem_ch12.adb (Mark_Context): When instanting a generic body, check
2217         whether a with_clause in the current context denotes the unit that
2218         holds the generic declaration, and mark the with_clause accordingly.
2219         (Instantiate_Package_Body): call Mark_Context.
2220         * sem.adb (Process_Bodies_In_Context): Use Withed_Body to determine
2221         whether a given body should be traversed before the spec of the main
2222         unit.
2223
2224 2010-06-14  Ed Falis  <falis@adacore.com>
2225
2226         * sysdep.c: Fix 653 build against vThreads headers.
2227
2228 2010-06-14  Robert Dewar  <dewar@adacore.com>
2229
2230         * sinfo.ads: Minor reformatting.
2231
2232 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
2233
2234         * sem_ch6.adb (Analyze_Subprogram_Body): Do not check conformance when
2235         the spec has been generated for a body without spec that carries an
2236         Inline_Always pragma.
2237
2238 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
2239
2240         * lib-xref.ads: Documentation change: allocate 'Z' letter to C/C++
2241         macro.
2242
2243 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
2244
2245         * exp_dbug.adb (Debug_Renaming_Declaration): Do not output any debug
2246         declaration for VMs, as those are useless and might lead to duplicated
2247         local variable names in the generated code.
2248         * gcc-interface/Make-lang.in: Update dependencies.
2249
2250 2010-06-14  Robert Dewar  <dewar@adacore.com>
2251
2252         * opt.ads, sem.adb, sem_elab.adb: Minor reformatting
2253
2254 2010-06-14  Robert Dewar  <dewar@adacore.com>
2255
2256         * exp_aggr.adb (Has_Address_Clause): Moved to Exp_Util, and there it
2257         is renamed as Has_Following_Address_Clause.
2258         * exp_ch3.adb (Needs_Simple_Initialization): Add Consider_IS argument
2259         to allow the caller to avoid Initialize_Scalars having an effect.
2260         (Expand_N_Object_Declaration): Do not do Initialize_Scalars stuff for
2261         scalars with an address clause specified.
2262         * exp_ch3.ads (Needs_Simple_Initialization): Add Consider_IS argument
2263         to allow the caller to avoid Initialize_Scalars having an effect.
2264         * exp_util.adb (Has_Following_Address_Clause): Moved here from Exp_Aggr
2265         (where it was called Has_Address_Clause).
2266         * exp_util.ads (Has_Following_Address_Clause): Moved here from Exp_Aggr
2267         (where it was called Has_Address_Clause).
2268         * freeze.adb (Warn_Overlay): Suppress message about overlaying causing
2269         problems for Initialize_Scalars (since we no longer initialize objects
2270         with an address clause.
2271
2272 2010-06-14  Robert Dewar  <dewar@adacore.com>
2273
2274         * exp_prag.adb (Expand_Pragma_Check): Set Loc of generated code from
2275         condition.
2276
2277 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
2278
2279         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Debug_Info_Needed
2280         on the entity of an implicitly generated postcondition procedure.
2281
2282 2010-06-14  Thomas Quinot  <quinot@adacore.com>
2283
2284         * sem_ch7.adb (Preserve_Full_Attributes): Propagate
2285         Discriminant_Constraint elist from full view to private view.
2286
2287 2010-06-14  Robert Dewar  <dewar@adacore.com>
2288
2289         * sem_res.adb: Minor reformatting.
2290
2291 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
2292
2293         * sem.adb: New version of unit traversal.
2294
2295         * sem_elab.adb (Check_Internal_Call): Do not place a call appearing
2296         within a generic unit in the table of delayed calls.
2297
2298 2010-06-14  Robert Dewar  <dewar@adacore.com>
2299
2300         * gnatcmd.adb, sem_util.adb, exp_ch3.adb: Minor reformatting
2301
2302 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
2303
2304         * sem_ch12.adb (Save_References): If an identifier has been rewritten
2305         during analysis as an explicit dereference, keep the reference implicit
2306         in the generic, but preserve the entity if global. This prevents
2307         malformed generic trees in the presence of some nested generics.
2308
2309 2010-06-14  Sergey Rybin  <rybin@adacore.com>
2310
2311         * gnat_ugn.texi: For the GNAT driver, clarify the effect of calling the
2312         tool with '-files=' option. Also fix some small errors (wrong brackets)
2313
2314 2010-06-14  Vincent Celier  <celier@adacore.com>
2315
2316         * gnatbind.adb: Call Scan_ALI with Directly_Scanned set to True for all
2317         the ALI files on the command line.
2318
2319         * ali.adb (Scan_ALI): Set component Directly_Scanned of the unit(s) to
2320         the same value as the parameter of the same name.
2321         * ali.ads (Scan_ALI): New Boolean parameter Directly_Scanned, defaulted
2322         to False.
2323         * bindgen.adb (Gen_Versions_Ada): Never emit version symbols for
2324         Stand-Alone Library interfaces. When binding Stand-Alone Libraries,
2325         emit version symbols only for the units of the library.
2326         (Gen_Versions_C): Ditto.
2327
2328 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
2329
2330         * sem_ch4.adb: Fix typo.
2331
2332 2010-06-14  Vasiliy Fofanov  <fofanov@adacore.com>
2333
2334         * s-oscons-tmplt.c (IOV_MAX): redefine on Tru64 and VMS since the
2335         vector IO doesn't work at default value properly.
2336
2337 2010-06-14  Doug Rupp  <rupp@adacore.com>
2338
2339         * s-stoele.adb: Remove unnecessary qualification of To_Address for VMS.
2340
2341 2010-06-14  Vincent Celier  <celier@adacore.com>
2342
2343         * gnatcmd.adb (Check_Files): Do not invoke the tool with all the
2344         sources of the project if a switch -files= is used.
2345
2346 2010-06-14  Thomas Quinot  <quinot@adacore.com>
2347
2348         * exp_attr.adb: Minor reformatting.
2349
2350 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
2351
2352         * gnat_ugn.texi: Minor typo fixes and wording changes.
2353
2354 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
2355
2356         * sem_ch4.adb (Analyze_One_Call): If the call has been rewritten from a
2357         prefixed form, do not re-analyze first actual, which may need an
2358         implicit dereference.
2359         * sem_ch6.adb (Analyze_Procedure_Call): If the call is given in
2360         prefixed notation, the analysis will rewrite the node, and possible
2361         errors appear in the rewritten name of the node.
2362         * sem_res.adb: If a call is ambiguous because its first parameter is
2363         an overloaded call, report list of candidates, to clarify ambiguity of
2364         enclosing call.
2365
2366 2010-06-14  Doug Rupp  <rupp@adacore.com>
2367
2368         * s-auxdec-vms-alpha.adb: New package body implementing legacy
2369         VAX instructions with Asm insertions.
2370         * s-auxdec-vms_64.ads: Inline VAX queue functions
2371         * s-stoele.adb: Resolve some ambiguities in To_Addresss with s-suxdec
2372         that show up only on VMS.
2373         * gcc-interface/Makefile.in: Provide translation for
2374         s-auxdec-vms-alpha.adb.
2375
2376 2010-06-14  Olivier Hainque  <hainque@adacore.com>
2377
2378         * initialize.c (VxWorks section): Update comments.
2379
2380 2010-06-14  Robert Dewar  <dewar@adacore.com>
2381
2382         * a-convec.adb, sem_prag.adb, checks.adb: Minor reformatting.
2383
2384 2010-06-14  Eric Botcazou  <ebotcazou@adacore.com>
2385
2386         * init.c: Code clean up.
2387
2388 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
2389
2390         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): Do
2391         not insert address clause in table for later validation if type of
2392         entity is generic, to prevent possible spurious errors. 
2393
2394         * sem_ch8.adb: Code clean up.
2395
2396 2010-06-14  Ben Brosgol  <brosgol@adacore.com>
2397
2398         * gnat_ugn.texi: Expanded @ovar macro inline to solve problem with
2399         texi2pdf and texi2html.
2400         Document how to change scheduling properties on HP-UX.
2401
2402 2010-06-14  Thomas Quinot  <quinot@adacore.com>
2403
2404         * g-socket.ads: Remove misleading comments.
2405
2406 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
2407
2408         * sem_prag.adb (Check_Duplicated_Export_Name): Remove check for
2409         CLI_Target as this prevents proper detection of exported names
2410         duplicates when the exported language is different to CIL.
2411         (Process_Interface_Name): Add check for CIL convention exports,
2412         replacing the old one from Check_Duplicated_Export_Name.
2413
2414 2010-06-14  Matthew Heaney  <heaney@adacore.com>
2415
2416         * a-coinve.adb, a-convec.adb (operator "&"): Check both that new length
2417         and new last satisfy constraints.
2418         (Delete_Last): prevent overflow for subtraction of index values
2419         (To_Vector): prevent overflow for addition of index values
2420
2421 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
2422
2423         * sem_ch4.adb (Complete_Object_Operation): After analyzing the
2424         rewritten call, preserve the resulting type to prevent spurious errors,
2425         when the call is implicitly dereferenced in the context of an in-out
2426         actual.
2427
2428         * checks.adb (Apply_Discriminant_Check): If the target of the
2429         assignment is a renaming of a heap object, create constrained type for
2430         it to apply check.
2431
2432 2010-06-14  Pascal Obry  <obry@adacore.com>
2433
2434         * prj-proc.adb: Fix copy of object directory for extending projects.
2435
2436 2010-06-14  Jose Ruiz  <ruiz@adacore.com>
2437
2438         * init.c (__gnat_alternate_stack): Define this space for PowerPC linux
2439         (__gnat_install_handler, PowerPC linux): Activate the alternative
2440         signal stack.
2441
2442 2010-06-13  Gerald Pfeifer  <gerald@pfeifer.com>
2443
2444         * gnat_rm.texi: Move to GFDL version 1.3.
2445         * gnat-style.texi: Ditto.
2446         * gnat_ugn.texi: Ditto.
2447
2448 2010-06-12  Kai Tietz
2449
2450         PR ada/43731
2451         * gcc-interface/Makefile.in: Add rules for multilib x86/x64
2452         mingw targets.
2453
2454 2010-06-11  Alexandre Oliva  <aoliva@redhat.com>
2455
2456         * gcc-interface/utils.c (update_pointer_to): Initialize last.
2457
2458 2010-06-09  Eric Botcazou  <ebotcazou@adacore.com>
2459
2460         * gcc-interface/ada-tree.h: Fix formatting nits.
2461
2462 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
2463
2464         * gcc-interface/utils.c (init_gnat_to_gnu): Use typed GC
2465         allocation.
2466         (init_dummy_type): Likewise.
2467         (gnat_pushlevel): Likewise.
2468
2469         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
2470         (Subprogram_Body_to_gnu): Likewise.
2471         (Compilation_Unit_to_gnu): Likewise.
2472         (start_stmt_group): Likewise.
2473         (extract_encoding): Likewise.
2474         (decode_name): Likewise.
2475
2476         * gcc-interface/misc.c (gnat_printable_name): Likewise.
2477
2478         * gcc-interface/decl.c (annotate_value): Likewise.
2479
2480         * gcc-interface/ada-tree.h (struct lang_type): Add variable_size
2481         GTY option.
2482         (struct lang_decl): Likewise.
2483         (SET_TYPE_LANG_SPECIFIC): Use typed GC allocation.
2484         (SET_DECL_LANG_SPECIFIC): Likewise.
2485
2486 2010-06-04  Eric Botcazou  <ebotcazou@adacore.com>
2487
2488         * gnatlink.adb (gnatlink): Remove support for -fsjlj switch.
2489         * gcc-interface/lang-specs.h: Likewise.
2490
2491 2010-06-03  H.J. Lu  <hongjiu.lu@intel.com>
2492
2493         PR c++/44294
2494         * gcc-interface/decl.c (MAX_FIXED_MODE_SIZE): Removed.
2495
2496 2010-06-01  Arnaud Charlet  <charlet@adacore.com>
2497
2498         * gnat_ugn.texi: Improve doc on -fdump-ada-spec, mention limitations.
2499
2500 2010-05-30  Eric Botcazou  <ebotcazou@adacore.com>
2501
2502         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Task_Type>: Reuse the
2503         TYPE_DECL of the equivalent type instead of building a new one.
2504
2505 2010-05-30  Eric Botcazou  <ebotcazou@adacore.com>
2506
2507         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust warning message.
2508         Fix nits in comments.
2509         * gcc-interface/misc.c (gnat_init_gcc_eh): Likewise.
2510         * gcc-interface/trans.c (gigi): Likewise.
2511         (Attribute_to_gnu): Likewise.
2512         (Case_Statement_to_gnu): Likewise.
2513         (gnat_to_gnu): Adjust warning message.
2514         * gcc-interface/utils.c (create_var_decl_1): Fix nits in comments.
2515         (build_vms_descriptor32): Likewise.
2516
2517 2010-05-27  Steven Bosscher  <steven@gcc.gnu.org>
2518
2519         * gcc-interface/decl.c: Pretend to be a backend file by undefining
2520         IN_GCC_FRONTEND (still need rtl.h here).
2521
2522 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
2523
2524         * gcc-interface/trans.c: Do not include rtl.h, insclude libfuncs.h.
2525         (gigi): Adjust call to set_stack_check_libfunc.
2526
2527 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
2528
2529         * gcc-interface/utils.c: Do not include rtl.h.
2530
2531 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
2532
2533         * gcc-interface/utils.c: Do not include function.h, pointer-set.h,
2534         and gimple.h.  Explain why rtl.h has to be included.
2535         (handle_vector_size_attribute): Call reconstruct_complex_type directly.
2536         * gcc-interface/targtyps.c: Do not include tm_p.h
2537         * gcc-interface/utils2.c: Do not include flags.h.
2538         * gcc-interface/trans.c: Do not include expr.h.  Include rtl.h instead,
2539         and explain why it has to be included.
2540         * gcc-interface/misc.c: Do not include expr.h, libfuncs.h, cgraph.h,
2541         and optabs.h.
2542         Include function.h and explain why.  Explain why except.h is included.
2543         (enumerate_modes): Remove unused function. 
2544         * gcc-interface/gigi.h (enumerate_modes): Remove prototype.
2545         * gcc-interface/Make-lang.in: Update dependencies.
2546
2547 2010-05-25  Joseph Myers  <joseph@codesourcery.com>
2548
2549         * gcc-interface/misc.c (internal_error_function): Add context
2550         parameter.  Use it to access show_column flag and instead of using
2551         global_dc.  Call warn_if_plugins.
2552         * gcc-interface/Make-lang.in (ada/misc.o): Update dependencies.
2553
2554 2010-05-19  Eric Botcazou  <ebotcazou@adacore.com>
2555
2556         * gcc-interface/misc.c (LANG_HOOKS_DEEP_UNSHARING): Redefine.
2557         * gcc-interface/trans.c (unshare_save_expr): Delete.
2558         (gigi): Do not unshare trees under SAVE_EXPRs here.
2559
2560 2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
2561
2562         * gcc-interface/trans.c (call_to_gnu): Use build_call_vec instead of
2563         build_call_list.
2564         * gcc-interface/utils.c (build_function_stub): Likewise.
2565
2566 2010-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2567
2568         * gcc-interface/misc.c (gnat_handle_option): Remove special logic
2569         for Wuninitialized without -O.
2570         
2571 2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
2572
2573         * gcc-interface/gigi.h (enum standard_datatypes): Add new value
2574         ADT_exception_data_name_id.
2575         (exception_data_name_id): New define.
2576         * gcc-interface/trans.c (gigi): Initialize it.
2577         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use the standard
2578         exception type for standard exception definitions.  Do not make them
2579         volatile.
2580         <E_Record_Type>: Equate fields of types associated with an exception
2581         definition to those of the standard exception type.
2582
2583 2010-05-13  Andreas Schwab  <schwab@linux-m68k.org>
2584
2585         * tracebak.c (__gnat_backtrace): Mark top_stack with ATTRIBUTE_UNUSED.
2586
2587 2010-05-12  Eric Botcazou  <ebotcazou@adacore.com>
2588
2589         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Tidy up
2590         code, improve comments and fix formatting nits.
2591
2592 2010-05-12  Eric Botcazou  <ebotcazou@adacore.com>
2593
2594         * gcc-interface/utils.c (update_pointer_to): Return early if the old
2595         pointer already points to the new type.  Chain the old pointer and its
2596         variants at the end of new pointer's chain after updating them.
2597
2598 2010-05-10  Eric Botcazou  <ebotcazou@adacore.com>
2599
2600         * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables
2601         built for interfaces.
2602         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use
2603         imported_p instead of Is_Imported when considering constants.
2604         Do not promote alignment of exported objects.
2605         <E_Record_Subtype>: Strip all suffixes for dispatch table entities.
2606
2607 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
2608
2609         * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables.
2610         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Make imported
2611         constants really constant.
2612         <E_Record_Subtype>: Strip the suffix for dispatch table entities.
2613
2614 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
2615
2616         * gcc-interface/decl.c (make_aligning_type): Declare the type.
2617
2618 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
2619
2620         * gcc-interface/decl.c (gnat_to_gnu_entity): Create variables for size
2621         expressions of variant part of record types declared at library level.
2622
2623 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
2624
2625         * gcc-interface/gigi.h (create_field_decl): Move PACKED parameter.
2626         * gcc-interface/utils.c (create_field_decl): Move PACKED parameter.
2627         (rest_of_record_type_compilation): Adjust call to create_field_decl.
2628         (make_descriptor_field): Likewise and pass correctly typed constants.
2629         (build_unc_object_type): Likewise.
2630         (unchecked_convert): Likewise.
2631         * gcc-interface/decl.c (elaborate_expression_2): New static function.
2632         (gnat_to_gnu_entity): Use it to make alignment factors explicit.
2633         Adjust call to create_field_decl.
2634         (make_aligning_type): Likewise.
2635         (make_packable_type): Likewise.
2636         (maybe_pad_type): Likewise.
2637         (gnat_to_gnu_field): Likewise.
2638         (components_to_record): Likewise.
2639         (create_field_decl_from): Likewise.
2640         (create_variant_part_from): Remove superfluous test.
2641         * gcc-interface/trans.c (gigi): Adjust call to create_field_decl.
2642
2643 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
2644
2645         * gcc-interface/gigi.h (build_unc_object_type): Add DEBUG_INFO_P param.
2646         (build_unc_object_type_from_ptr): Likewise.
2647         * gcc-interface/utils.c (build_unc_object_type): Add DEBUG_INFO_P param
2648         and pass it to create_type_decl.  Declare the type.  Simplify.
2649         (build_unc_object_type_from_ptr): Add DEBUG_INFO_P parameter and pass
2650         it to build_unc_object_type.
2651         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust to above change.
2652         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
2653         (gnat_to_gnu): Likewise.
2654         * gcc-interface/utils2.c (build_allocator): Likewise.
2655
2656 2010-05-07 Eric Botcazou  <ebotcazou@adacore.com>
2657
2658         PR 40989
2659         * gcc-interface/misc.c (gnat_handle_option): Fix long line.
2660
2661 2010-05-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2662
2663         * gcc-interface/Makefile.in: Removed mips-sgi-irix5* support.
2664
2665 2010-05-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2666
2667         PR 40989
2668         * gcc-interface/misc.c (gnat_handle_option): Add argument kind.
2669
2670 2010-05-02  Giuseppe Scrivano  <gscrivano@gnu.org>
2671
2672         * gnathtml.pl: Use 755 as mask for new directories.
2673
2674 2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
2675
2676         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Uniquize
2677         constant constructors before taking their address.
2678
2679 2010-04-25  Eric Botcazou  <ebotcazou@adacore.com>
2680
2681         * exp_dbug.ads: Fix outdated description.  Mention link between XVS
2682         and XVZ objects.
2683         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Set
2684         XVZ variable as unit size of XVS type.
2685         (maybe_pad_type): Likewise.
2686
2687 2010-04-25  Eric Botcazou  <ebotcazou@adacore.com>
2688
2689         * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Do not
2690         use memmove if the array type is bit-packed.
2691
2692 2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
2693
2694         * gcc-interface/misc.c (gnat_init): Remove second argument in call to
2695         build_common_tree_nodes.
2696
2697 2010-04-18  Ozkan Sezer  <sezeroz@gmail.com>
2698
2699         * gsocket.h: Make sure that winsock2.h is included before windows.h.
2700
2701 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
2702
2703         * gcc-interface/utils2.c (build_unary_op) <ATTR_ADDR_EXPR>: Do not
2704         issue warning.
2705
2706 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
2707
2708         * uintp.h (UI_Lt): Declare.
2709         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do the size
2710         computation in sizetype.
2711         <E_Array_Subtype>: Use unified handling for all index types.  Do not
2712         generate MAX_EXPR-based expressions, only COND_EXPR-based ones.  Add
2713         bypass for PATs.
2714         (annotate_value): Change test for negative values.
2715         (validate_size): Apply test for negative values on GNAT nodes.
2716         (set_rm_size): Likewise.
2717         * gcc-interface/misc.c (gnat_init): Set unsigned types for sizetypes.
2718         * gcc-interface/utils.c (rest_of_record_type_compilation): Change test
2719         for negative values.
2720         (max_size) <MINUS_EXPR>: Do not reassociate a COND_EXPR on the LHS.
2721         (builtin_type_for_size): Adjust definition of signed_size_type_node.
2722         * gcc-interface/utils2.c (compare_arrays): Optimize comparison of
2723         lengths against zero.
2724
2725 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
2726
2727         * back-end.adb (Call_Back_End): Pass Standard_Character to gigi.
2728         * gcc-interface/gigi.h (gigi): Add standard_character parameter.
2729         (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE, 
2730         LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE,
2731         LONG_DOUBLE_TYPE_SIZE, SIZE_TYPE): Delete.
2732         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Call
2733         rm_size.
2734         * gcc-interface/misc.c (gnat_init): Set signedness of char as per
2735         flag_signed_char.  Tag sizetype with "size_type" moniker.
2736         * gcc-interface/trans.c (gigi): Add standard_character parameter.
2737         Remove useless built-in types.  Equate unsigned_char_type_node to
2738         Standard.Character.  Use it instead of char_type_node throughout.
2739         (Attribute_to_gnu): Likewise.
2740         (gnat_to_gnu): Likewise.
2741         * gcc-interface/utils2.c (build_call_raise): Likewise.
2742
2743 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
2744
2745         * gcc-interface/gigi.h (enum standard_datatypes): Add new values
2746         ADT_sbitsize_one_node and ADT_sbitsize_unit_node.
2747         (sbitsize_one_node): New macro.
2748         (sbitsize_unit_node): Likewise.
2749         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Fix
2750         latent bug in the computation of subrange_p.  Fold wider_p predicate.
2751         (cannot_be_superflat_p): Use an explicitly signed 64-bit type to do
2752         the final comparison.
2753         (make_aligning_type): Build real negation and use sizetype throughout
2754         the offset computation.
2755         (maybe_pad_type): Do not issue the warning when the new size expression
2756         is too complex.
2757         (annotate_value) <INTEGER_CST>: Simplify code handling negative values.
2758         * gcc-interface/misc.c (gnat_init): Initialize sbitsize_one_node and
2759         sbitsize_unit_node.
2760         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Fold
2761         double negation.
2762         (gnat_to_gnu) <N_Free_Statement>: Likewise.
2763         * gcc-interface/utils.c (convert): Use sbitsize_unit_node.
2764         * gcc-interface/utils2.c (compare_arrays): Compute real lengths and use
2765         constants in sizetype.  Remove dead code and tweak comments.  Generate
2766         equality instead of inequality comparisons for zero length tests.
2767
2768 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2769
2770         * gcc-interface/gigi.h (gnat_init_decl_processing): Delete.
2771         * gcc-interface/decl.c (gnat_to_gnu_entity): Constify a few variables.
2772         <object>: Do not create the fake PARM_DECL if no debug info is needed.
2773         Do not create the corresponding VAR_DECL of a CONST_DECL for debugging
2774         purposes if no debug info is needed.
2775         Fix formatting.  Reorder and add comments.
2776         * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Reference>: Constify
2777         variable and remove obsolete comment.
2778         * gcc-interface/utils.c (convert_vms_descriptor64): Tweak comment.
2779         (convert_vms_descriptor32): Likewise.
2780         (convert): Remove dead code.
2781         <UNCONSTRAINED_ARRAY_REF>: Pass the field instead of its name to build
2782         the reference to the P_ARRAY pointer.
2783         <POINTER_TYPE>: Likewise.
2784         (maybe_unconstrained_array) <UNCONSTRAINED_ARRAY_TYPE>: Likewise.
2785         (gnat_init_decl_processing): Delete, move contents to...
2786         * gcc-interface/misc.c (gnat_init): ...here.
2787
2788 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2789
2790         * gcc-interface/trans.c (unchecked_conversion_nop): Handle function
2791         calls.  Return true for conversion from a record subtype to its type.
2792
2793 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2794
2795         * gcc-interface/decl.c (gnat_to_gnu_entity): Use boolean_type_node in
2796         lieu of integer_type_node for boolean operations.
2797         (choices_to_gnu): Likewise.
2798         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
2799         (Loop_Statement_to_gnu): Likewise.
2800         (establish_gnat_vms_condition_handler): Likewise.
2801         (Exception_Handler_to_gnu_sjlj): Likewise.
2802         (gnat_to_gnu): Likewise.
2803         (build_unary_op_trapv): Likewise.
2804         (build_binary_op_trapv): Likewise.
2805         (emit_range_check): Likewise.
2806         (emit_index_check): Likewise.
2807         (convert_with_check): Likewise.
2808         * gcc-interface/utils.c (convert_vms_descriptor64): Likewise.
2809         (convert_vms_descriptor32): Likewise.
2810         (convert_vms_descriptor): Likewise.
2811         * gcc-interface/utils2.c (nonbinary_modular_operation): Likewise.
2812         (compare_arrays): Use boolean instead of integer constants.
2813         (build_binary_op) <TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR,
2814         TRUTH_OR_EXPR, TRUTH_XOR_EXPR>: New case.  Check that the result type
2815         is a boolean type.
2816         <GE_EXPR, LE_EXPR, GT_EXPR, LT_EXPR>: Remove obsolete assertion.
2817         <EQ_EXPR, NE_EXPR>: Check that the result type is a boolean type.
2818         <PREINC/PREDECREMENT_EXPR, POSTINC/POSTDECREMENT_EXPR>: Delete.
2819         <TRUTH_NOT_EXPR>: Check that the result type is a boolean type.
2820         (build_unary_op): Use boolean_type_node in lieu of integer_type_node
2821         for boolean operations.
2822         (fill_vms_descriptor): Likewise.  Fix formatting nits.
2823
2824 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2825
2826         * gcc-interface/ada-tree.def (LOOP_STMT): Change to 4-operand nodes.
2827         * gcc-interface/ada-tree.h (LOOP_STMT_TOP_COND, LOOP_STMT_BOT_COND):
2828         Merge into...
2829         (LOOP_STMT_COND): ...this.
2830         (LOOP_STMT_BOTTOM_COND_P): New flag.
2831         (LOOP_STMT_TOP_UPDATE_P): Likewise.
2832         * gcc-interface/trans.c (can_equal_min_or_max_val_p): New function.
2833         (can_equal_min_val_p): New static inline function.
2834         (can_equal_max_val_p): Likewise.
2835         (Loop_Statement_to_gnu): Use build4 in lieu of build5 and adjust to
2836         new LOOP_STMT semantics.  Use two different strategies depending on
2837         whether optimization is enabled to translate the loop.
2838         (gnat_gimplify_stmt) <LOOP_STMT>: Adjust to new LOOP_STMT semantics.
2839
2840 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2841
2842         * uintp.adb (UI_From_Dint): Remove useless code.
2843         (UI_From_Int): Likewise.
2844         * uintp.h: Reorder declarations.
2845         (UI_From_gnu): Declare.
2846         (UI_Base): Likewise.
2847         (Vector_Template): Likewise.
2848         (Vector_To_Uint): Likewise.
2849         (Uint_0): Remove.
2850         (Uint_1): Likewise.
2851         * gcc-interface/gigi.h: Tweak comments.
2852         * gcc-interface/cuintp.c (UI_From_gnu): New global function.
2853         * gcc-interface/decl.c (maybe_pad_type): Do not warn if either size
2854         overflows.
2855         (annotate_value) <INTEGER_CST>: Call UI_From_gnu.
2856         * gcc-interface/trans.c (post_error_ne_num): Call post_error_ne.
2857         (post_error_ne_tree): Call UI_From_gnu and post_error_ne.
2858         * gcc-interface/utils.c (max_size) <tcc_binary>: Do not special-case
2859         TYPE_MAX_VALUE.
2860
2861 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2862
2863         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Just copy
2864         TYPE_NAME.
2865         * gcc-interface/trans.c (smaller_packable_type_p): Rename into...
2866         (smaller_form_type_p): ...this.  Change parameter and variable names.
2867         (call_to_gnu): Use the nominal type of the parameter to create the
2868         temporary if it's a smaller form of the actual type.
2869         (addressable_p): Return false if the actual type is integral and its
2870         size is greater than that of the expected type.
2871
2872 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
2873
2874         * gcc-interface/cuintp.c (UI_To_gnu): Fix long line.
2875         * gcc-interface/gigi.h (MARK_VISITED): Skip objects of constant class.
2876         (process_attributes): Delete.
2877         (post_error_ne_num): Change parameter name.
2878         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force debug info
2879         with -g3.  Remove a couple of obsolete lines.  Minor tweaks.
2880         If type annotating mode, operate on trees to compute the adjustment to
2881         the sizes of tagged types.  Fix long line.
2882         (cannot_be_superflat_p): Tweak head comment.
2883         (annotate_value): Fold local constant.
2884         (set_rm_size): Fix long line.
2885         * gcc-interface/trans.c (Identifier_to_gnu): Rework comments.
2886         (Attribute_to_gnu): Fix long line.
2887         <Attr_Size>: Remove useless assertion.
2888         Reorder statements.  Use size_binop routine.
2889         (Loop_Statement_to_gnu): Use build5 in lieu of build_nt.
2890         Create local variables for the label and the test.  Tweak comments.
2891         (Subprogram_Body_to_gnu): Reset cfun to NULL.
2892         (Compilation_Unit_to_gnu): Use the Sloc of the Unit node.
2893         (process_inlined_subprograms): Integrate into...
2894         (Compilation_Unit_to_gnu): ...this.
2895         (gnat_to_gnu): Fix long line.
2896         (post_error_ne_num): Change parameter name.
2897         * gcc-interface/utils.c (process_attributes): Static-ify.
2898         <ATTR_MACHINE_ATTRIBUTE>: Set input_location before proceeding.
2899         (create_type_decl): Add comment.
2900         (create_var_decl_1): Process the attributes after adding the VAR_DECL
2901         to the current binding level.
2902         (create_subprog_decl): Likewise for the FUNCTION_DECL.
2903         (end_subprog_body): Do not reset cfun to NULL.
2904         (build_vms_descriptor32): Fix long line.
2905         (build_vms_descriptor): Likewise.
2906         (handle_nonnull_attribute): Likewise.
2907         (convert_vms_descriptor64): Likewise.
2908         * gcc-interface/utils2.c (fill_vms_descriptor): Fix long line.
2909         (gnat_protect_expr): Fix thinko.
2910
2911 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
2912
2913         * gcc-interface/trans.c (gigi): Set DECL_IGNORED_P on EH functions.
2914         (gnat_to_gnu) <N_Op_Eq>: Restore the value of input_location
2915         before translating the top-level node.
2916         (lvalue_required_p) <N_Function_Call>: Return 1 if !constant.
2917         <N_Object_Declaration>: Likewise.
2918         <N_Assignment_Statement>: Likewise.
2919         <N_Unchecked_Type_Conversion>: Likewise.
2920         (call_to_gnu): Remove kludge.
2921         (gnat_to_gnu) <N_Return_Statement>: When not optimizing, force labels
2922         associated with user returns to be preserved.
2923         (gnat_to_gnu): Add special code to deal with boolean rvalues.
2924         * gcc-interface/utils2.c (compare_arrays): Set input_location on all
2925         comparisons.
2926         (build_unary_op) <ADDR_EXPR>: Call build_fold_addr_expr.
2927         <INDIRECT_REF>: Call build_fold_indirect_ref.
2928
2929 2010-04-15  Joel Sherrill  <joel.sherrill@oarcorp.com>
2930
2931         * g-socket.adb: A target can have multiple missing errno's.  This
2932         will result in multiple errno's being defined as -1.  Because of this
2933         we can not use a case but must use a series of if's to avoid 
2934         a duplicate case error in GNAT.Sockets.Resolve_Error.
2935
2936 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
2937
2938         * gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
2939         a statement.  Otherwise, if at top-level, push the processing of the
2940         elaboration routine.  In the misaligned case, issue the error messages
2941         again on entry and create the temporary explicitly.  Do not issue them
2942         for CONSTRUCTORs.
2943         For a function call, emit the range check if necessary.
2944         In the copy-in copy-out case, create the temporary for the return
2945         value explicitly.
2946         Do not unnecessarily convert by-ref parameters to the formal's type.
2947         Remove obsolete guards in conditions.
2948         (gnat_to_gnu) <N_Assignment_Statement>: For a function call, pass the
2949         target to call_to_gnu in all cases.
2950         (gnat_gimplify_expr) <ADDR_EXPR>: Remove handling of SAVE_EXPR.
2951         (addressable_p) <CONSTRUCTOR>: Return false if not static.
2952         <COMPOUND_EXPR>: New case.
2953         * gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Fold a compound
2954         expression if it has unconstrained array type.
2955         (gnat_mark_addressable) <COMPOUND_EXPR>: New case.
2956         (gnat_stabilize_reference) <COMPOUND_EXPR>: Stabilize operands on an
2957         individual basis.
2958
2959 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
2960
2961         * gcc-interface/trans.c (gigi): Do not start statement group.
2962         (Compilation_Unit_to_gnu): Set current_function_decl to NULL.
2963         Start statement group and push binding level here...
2964         (gnat_to_gnu) <N_Compilation_Unit>: ...and not here.
2965         Do not push fake contexts at top level.  Remove redundant code.
2966         (call_to_gnu): Rename a local variable and constify another.
2967         * gcc-interface/utils.c (gnat_pushlevel): Fix formatting nits.
2968         (set_current_block_context): Set it as the group's block.
2969         (gnat_init_decl_processing): Delete unrelated init code.
2970         (end_subprog_body): Use NULL_TREE.
2971
2972 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
2973
2974         * gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force
2975         side-effects of actual parameters before the call.
2976
2977 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
2978
2979         * gcc-interface/decl.c (validate_size): Reorder, remove obsolete test
2980         and warning.
2981         (set_rm_size): Reorder and remove obsolete test.
2982
2983 2010-04-14  Eric Botcazou  <ebotcazou@adacore.com>
2984
2985         * gcc-interface/gigi.h: Reorder declarations and tweak comments.
2986         (gigi): Adjust ATTRIBUTE_UNUSED markers.
2987         * gcc-interface/gadaint.h: New file.
2988         * gcc-interface/trans.c: Include it in lieu of adaint.h.  Reorder.
2989         (__gnat_to_canonical_file_spec): Remove declaration.
2990         (number_names): Delete.
2991         (number_files): Likewise.
2992         (gigi): Adjust.
2993         * gcc-interface/Make-lang.in (ada/trans.o): Adjust dependencies to
2994         above change.
2995
2996 2010-04-14  Eric Botcazou  <ebotcazou@adacore.com>
2997
2998         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Class_Wide_Type>: Fix
2999         comment.
3000         * gcc-interface/trans.c (process_freeze_entity): Use local copy of
3001         Ekind.  Return early for class-wide types.  Do not compute initializer
3002         unless necessary.  Reuse the tree for an associated class-wide type
3003         only if processing its root type.
3004
3005 2010-04-13  Joel Sherrill  <joel.sherrill@oarcorp.com>
3006
3007         * gsocket.h: Run-time can no longer be built without network
3008         OS headers available.  Changing RTEMS GNAT build procedure to
3009         reflect this and letting run-time build use network .h files.
3010
3011 2010-04-13  Duncan Sands  <baldrick@free.fr>
3012
3013         * gcc-interface/misc.c (gnat_eh_type_covers): Remove.
3014         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Update comment.
3015
3016 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
3017
3018         * gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.
3019         (parent_name_id): New macro.
3020         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use it.
3021         * gcc-interface/trans.c (gigi): Initialize it.
3022         (lvalue_required_p) <N_Type_Conversion>: New case.
3023         <N_Qualified_Expression>: Likewise.
3024         <N_Allocator>: Likewise.
3025         * gcc-interface/utils.c (convert): Try to properly upcast tagged types.
3026
3027 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
3028
3029         * gcc-interface/ada-tree.h (TYPE_BY_REFERENCE_P): Delete.
3030         (DECL_CONST_ADDRESS_P): New macro.
3031         (SET_DECL_ORIGINAL_FIELD_TO_FIELD): Likewise.
3032         (SAME_FIELD_P): Likewise.
3033         * gcc-interface/decl.c (constructor_address_p): New static function.
3034         (gnat_to_gnu_entity) <object>: Set DECL_CONST_ADDRESS_P according to
3035         the return value of above function.
3036         (gnat_to_gnu_entity) <E_Record_Type>: Force BLKmode for all types
3037         passed by reference.
3038         <E_Record_Subtype>: Likewise.
3039         Set TREE_ADDRESSABLE on the type if it passed by reference.
3040         (make_packable_type): Use SET_DECL_ORIGINAL_FIELD_TO_FIELD.
3041         (create_field_decl_from): Likewise.
3042         (substitute_in_type): Likewise.
3043         (purpose_member_field): Use SAME_FIELD_P.
3044         * gcc-interface/misc.c (must_pass_by_ref): Test TREE_ADDRESSABLE.
3045         * gcc-interface/trans.c (lvalue_required_p): Add ADDRESS_OF_CONSTANT
3046         parameter and adjust recursive calls.
3047         <N_Explicit_Dereference>: New case.
3048         <N_Object_Declaration>: Return 1 if the object is of a class-wide type.
3049         Adjust calls to lvalue_required_p.  Do not return the initializer of a
3050         DECL_CONST_ADDRESS_P constant if an lvalue is required for it.
3051         (call_to_gnu): Delay issuing error message for a misaligned actual and
3052         avoid the associated back-end assertion.  Test TREE_ADDRESSABLE.
3053         (gnat_gimplify_expr) <ADDR_EXPR>: Handle non-static constructors.
3054         * gcc-interface/utils.c (make_dummy_type): Set TREE_ADDRESSABLE if the
3055         type is passed by reference.
3056         (convert) <CONSTRUCTOR>: Convert in-place in more cases.
3057         * gcc-interface/utils2.c (build_cond_expr): Drop TYPE_BY_REFERENCE_P.
3058         (build_simple_component_ref): Use SAME_FIELD_P.
3059
3060 2010-04-12  Eric Botcazou  <ebotcazou@adacore.com>
3061
3062         * gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable.
3063         (call_to_gnu): Test gigi's flag TYPE_BY_REFERENCE_P instead of calling
3064         front-end's predicate Is_By_Reference_Type.  Use consistent order and
3065         remove ??? comment.  Use original conversion in all cases, if any.
3066         * gcc-interface/utils.c (make_dummy_type): Minor tweak.
3067         (convert): Use local copy in more cases.
3068         <INDIRECT_REF>: Remove deactivated code.
3069         (unchecked_convert): Use a couple of local copies.
3070
3071 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
3072
3073         * gcc-interface/trans.c (lvalue_required_for_attribute_p): New static
3074         function.
3075         (lvalue_required_p) <N_Attribute_Reference>: Call it.
3076         (gnat_to_gnu) <N_Selected_Component>: Prevent build_component_ref from
3077         folding the result only if lvalue_required_for_attribute_p is true.
3078         * gcc-interface/utils.c (maybe_unconstrained_array): Pass correctly
3079         typed constant to build_component_ref.
3080         (unchecked_convert): Likewise.
3081         * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
3082         (build_allocator): Likewise.
3083
3084 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
3085
3086         * gcc-interface/utils2.c (build_cond_expr): Take the address and
3087         dereference if the result type is passed by reference.
3088
3089 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
3090
3091         * gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable.
3092         (gnat_to_gnu) <N_Null_Statement>: When not optimizing, generate a
3093         goto to the next statement.
3094
3095 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
3096
3097         * gcc-interface/gigi.h (maybe_variable): Delete.
3098         (protect_multiple_eval): Likewise.
3099         (maybe_stabilize_reference): Likewise.
3100         (gnat_save_expr): Declare.
3101         (gnat_protect_expr): Likewise.
3102         (gnat_stabilize_reference): Likewise.
3103         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
3104         gnat_stabilize_reference.
3105         (maybe_variable): Delete.
3106         (elaborate_expression_1): Use gnat_save_expr.
3107         * gcc-interface/trans.c (Attribute_to_gnu): Use gnat_protect_expr.
3108         (call_to_gnu): Pass NULL to gnat_stabilize_reference.
3109         (gnat_to_gnu) <N_Object_Declaration>: Use gnat_save_expr.
3110         <N_Slice>: Use gnat_protect_exp.
3111         <N_Selected_Component>: Pass NULL to gnat_stabilize_reference.
3112         <N_In>: Use gnat_protect_expr.
3113         Pass NULL to gnat_stabilize_reference.
3114         (build_unary_op_trapv): Use gnat_protect_expr.
3115         (build_binary_op_trapv): Likewise.
3116         (emit_range_check): Likewise.
3117         (emit_index_check): Likewise.
3118         (convert_with_check): Likewise.
3119         (protect_multiple_eval): Move to utils2.c file.
3120         (maybe_stabilize_reference): Merge into...
3121         (gnat_stabilize_reference): ...this.  Move to utils2.c file.
3122         (gnat_stabilize_reference_1): Likewise.
3123         * gcc-interface/utils.c (convert_to_fat_pointer): Use gnat_protect_expr
3124         instead of protect_multiple_eval.
3125         * gcc-interface/utils2.c (compare_arrays): Likewise.
3126         (nonbinary_modular_operation): Likewise.
3127         (maybe_wrap_malloc): Likewise.
3128         (build_allocator): Likewise.
3129         (gnat_save_expr): New function.
3130         (gnat_protect_expr): Rename from protect_multiple_eval.  Early return
3131         in common cases.  Propagate TREE_READONLY onto dereferences.
3132         (gnat_stabilize_reference_1): Move from trans.c file.
3133         (gnat_stabilize_reference): Likewise.
3134
3135 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
3136
3137         * gcc-interface/gigi.h (gnat_mark_addressable): Rename parameter.
3138         * gcc-interface/decl.c (maybe_variable): Do not set TREE_STATIC on _REF
3139         node.  Use the type of the operand to set TREE_READONLY.
3140         * gcc-interface/trans.c (Identifier_to_gnu): Do not set TREE_STATIC on
3141         _REF node.  Do not overwrite TREE_READONLY.
3142         (call_to_gnu): Rename local variable and fix various nits.  In the
3143         copy-in/copy-out case, build the SAVE_EXPR manually.
3144         (convert_with_check): Call protect_multiple_eval in lieu of save_expr
3145         and fold the computations.
3146         (protect_multiple_eval): Always save entire fat pointers.
3147         (maybe_stabilize_reference): Minor tweaks.
3148         (gnat_stabilize_reference_1): Likewise.  Do not deal with tcc_constant,
3149         tcc_type and tcc_statement.
3150         * gcc-interface/utils.c (convert_to_fat_pointer): Call
3151         protect_multiple_eval in lieu of save_expr.
3152         (convert): Minor tweaks.
3153         (maybe_unconstrained_array): Do not set TREE_STATIC on _REF node.
3154         (builtin_type_for_size): Call gnat_type_for_size directly.
3155         * gcc-interface/utils2.c (contains_save_expr_p): Delete.
3156         (contains_null_expr): Likewise
3157         (gnat_build_constructor): Do not call it.
3158         (compare_arrays): Deal with all side-effects, use protect_multiple_eval
3159         instead of gnat_stabilize_reference to protect the operands.
3160         (nonbinary_modular_operation): Call protect_multiple_eval in lieu of
3161         save_expr.
3162         (maybe_wrap_malloc): Likewise.
3163         (build_allocator): Likewise.
3164         (build_unary_op) <INDIRECT_REF>: Do not set TREE_STATIC on _REF node.
3165         (gnat_mark_addressable): Rename parameter.
3166
3167 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
3168
3169         * gcc-interface/ada-tree.h (TYPE_RETURNS_UNCONSTRAINED_P): Rename into.
3170         (TYPE_RETURN_UNCONSTRAINED_P): ...this.
3171         (TYPE_RETURNS_BY_REF_P): Rename into.
3172         (TYPE_RETURN_BY_DIRECT_REF_P): ...this.
3173         (TYPE_RETURNS_BY_TARGET_PTR_P): Delete.
3174         * gcc-interface/gigi.h (create_subprog_type): Adjust parameter names.
3175         (build_return_expr): Likewise.
3176         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>:
3177         Rename local variables.  If the return Mechanism is By_Reference, pass
3178         return_by_invisible_ref_p to create_subprog_type instead of toggling
3179         TREE_ADDRESSABLE.  Test return_by_invisible_ref_p in order to annotate
3180         the mechanism.  Use regular return for contrained types with non-static
3181         size and return by invisible reference for unconstrained return types
3182         with default discriminants.  Update comment.
3183         * gcc-interface/trans.c (Subprogram_Body_to_gnu): If the function
3184         returns by invisible reference, turn the RESULT_DECL into a pointer.
3185         Do not handle DECL_BY_REF_P in the CICO case here.
3186         (call_to_gnu): Remove code handling return by target pointer.  For a
3187         function call, if the return type has non-constant size, generate the
3188         assignment with an INIT_EXPR.
3189         (gnat_to_gnu) <N_Return_Statement>: Remove dead code in the CICO case.
3190         If the function returns by invisible reference, build the copy return
3191         operation manually.
3192         (add_decl_expr): Initialize the variable with an INIT_EXPR.
3193         * gcc-interface/utils.c (create_subprog_type): Adjust parameter names.
3194         Adjust for renaming of macros.  Copy the node only when necessary.
3195         (create_subprog_decl): Do not toggle TREE_ADDRESSABLE on the return
3196         type, only change DECL_BY_REFERENCE on the RETURN_DECL.
3197         (convert_from_reference): Delete.
3198         (is_byref_result): Likewise.
3199         (gnat_genericize_r): Likewise.
3200         (gnat_genericize): Likewise.
3201         (end_subprog_body): Do not call gnat_genericize.
3202         * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: New case.
3203         (build_return_expr): Adjust parameter names, logic and comment.
3204
3205 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
3206
3207         * exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type
3208         if the size is small enough.  Propagate the alignment if there is an
3209         alignment clause on the original array type.
3210         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
3211         Deal with under-aligned packed array types.  Copy the size onto the
3212         justified modular type and don't lay it out again.  Likewise for the
3213         padding type built for other under-aligned subtypes.
3214         * gcc-interface/utils.c (finish_record_type): Do not set a default mode
3215         on the type.
3216
3217 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
3218
3219         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set default
3220         alignment on the RETURN type built for the Copy-In Copy-Out mechanism.
3221
3222 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
3223
3224         * gcc-interface/trans.c (call_to_gnu): In the return-by-target-ptr case
3225         do not set the result type if there is a specified target and do not
3226         convert the result in any cases.
3227         (protect_multiple_eval): Make direct SAVE_EXPR for CALL_EXPR.
3228         (maybe_stabilize_reference) <COMPOUND_EXPR>: Merge with CALL_EXPR.
3229
3230 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
3231
3232         * gcc-interface/Makefile.in (SPARC/Solaris): Use sparcv8plus.
3233
3234 2010-02-27  Eric Botcazou  <ebotcazou@adacore.com>
3235
3236         PR ada/42253
3237         * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Assert that fat
3238         pointer base types are variant of each other.  Apply special treatment
3239         for null to fat pointer types in all cases.
3240
3241 2010-01-28  Pascal Obry  <obry@adacore.com>
3242
3243         * s-win32.ads: Add some missing constants.
3244
3245 2010-01-28  Vincent Celier  <celier@adacore.com>
3246
3247         * prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is
3248         Unknown_Package.
3249
3250 2010-01-28  Robert Dewar  <dewar@adacore.com>
3251
3252         * gnat_rm.texi: Minor correction
3253
3254 2010-01-27  Pascal Obry  <obry@adacore.com>
3255
3256         * g-awk.adb: ensure that an AWK session is reusable.
3257
3258 2010-01-27  Vasiliy Fofanov  <fofanov@adacore.com>
3259
3260         * g-regist.adb (For_Every_Key): Fix previous change.
3261         Minor reformatting.
3262
3263 2010-01-27  Thomas Quinot  <quinot@adacore.com>
3264
3265         * lib-writ.ads: Current version of spec for new N (note) ALI lines
3266
3267 2010-01-27  Yannick Moy  <moy@adacore.com>
3268
3269         * a-cdlili.adb (Insert): Correct exception message when cursor
3270         designates wrong list.
3271
3272 2010-01-27  Vincent Celier  <celier@adacore.com>
3273
3274         * gnatcmd.adb: When there is only one main specified, the package
3275         support Switches (<main>) and attribute Switches is specified for the
3276         main, use these switches, instead of Default_Switches ("Ada").
3277
3278 2010-01-27  Robert Dewar  <dewar@adacore.com>
3279
3280         * sem_prag.adb, par-prag.adb, snames.ads-tmpl: pragma Dimension initial
3281         implementation.
3282         * exp_disp.adb: Minor reformatting
3283
3284 2010-01-27  Tristan Gingold  <gingold@adacore.com>
3285
3286         * seh_init.c: Use __ImageBase instead of _ImageBase.
3287
3288 2010-01-27  Javier Miranda  <miranda@adacore.com>
3289
3290         * exp_disp.ads, exp_disp.adb (Expand_Interface_Thunk): Modify the
3291         profile of interface thunks. The type of the controlling formal is now
3292         the covered interface type (instead of the target tagged type).
3293
3294 2010-01-27  Sergey Rybin  <rybin@adacore.com>
3295
3296         * gnat_rm.texi, gnat_ugn.texi: Update gnatcheck doc.
3297
3298 2010-01-27  Robert Dewar  <dewar@adacore.com>
3299
3300         * sinput.ads, sinput.adb (Sloc_Range): Applies to all nodes, formal
3301         changed from Expr to N.
3302
3303 2010-01-26  Thomas Quinot  <quinot@adacore.com>
3304
3305         * gnat_ugn.texi: Adjust documentation of -gnatz switches.
3306         * usage.adb: Replace line for -gnatz with two lines for -gnatzc and
3307         -gnatzr.
3308
3309 2010-01-26  Vincent Celier  <celier@adacore.com>
3310
3311         * prj-attr.adb: Add new attribute Library_Install_Name_Option
3312         Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
3313         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
3314         attributes Run_Path_Option and Library_Install_Name_Option.
3315         * prj.ads (Project_Configuration): Replace component
3316         Run_Path_Origin_Supported with component Run_Path_Origin. Add new
3317         component Library_Install_Name_Option.
3318         * snames.ads-tmpl: Add new standard name Library_Install_Name_Option
3319         Replace Run_Path_Origin_Supported with Run_Path_Origin
3320
3321 2010-01-26  Ed Schonberg  <schonberg@adacore.com>
3322
3323         * sem_ch8.adb (Use_One_Package): Within an instance, an actual package
3324         is not hidden by a homograph declared in another actual package.
3325
3326 2010-01-26  Robert Dewar  <dewar@adacore.com>
3327
3328         * par_sco.adb (Traverse_Declarations_Or_Statements): Only generate
3329         decisions for pragmas Assert, Check, Precondition, Postcondition if
3330         -gnata set.
3331         * scos.ads: Update comments.
3332         * get_scos.adb, put_scos.adb: Minor fix to code reading statement SCOs.
3333         Also remove obsolete code for CT (exit point) SCOs.
3334
3335 2010-01-26  Thomas Quinot  <quinot@adacore.com>
3336
3337         * switch-c.adb: Fix handling of -gnatz*
3338
3339 2010-01-26  Robert Dewar  <dewar@adacore.com>
3340
3341         * par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W
3342         qualifiers for FOR/WHILE loops
3343         * scos.ads: Use separate type letters F/W for for/while loops
3344
3345 2010-01-26  Robert Dewar  <dewar@adacore.com>
3346
3347         * get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple
3348         entries per line, one for each statement in the sequence).
3349         * par_sco.adb (Traverse_Declarations_Or_Statements): Increase array
3350         size from 100 to 10_000 for SC_Array to avoid any real possibility of
3351         overflow. Output decisions in for loops.
3352         Exclude labels from CS lines.
3353         * scos.ads: Clarify that label is not included in the entry point
3354
3355 2010-01-26  Robert Dewar  <dewar@adacore.com>
3356
3357         * par_sco.adb (Traverse_Declarations_Or_Statments): Implement new
3358         format of statement sequence SCO entries (one location/statement).
3359         * put_scos.adb (Put_SCOs): Implement new format of CS lines
3360         * scos.ads: Update comments.
3361         * sem_eval.adb: Minor reformatting.
3362
3363 2010-01-26  Robert Dewar  <dewar@adacore.com>
3364
3365         * par_sco.ads, par_sco.adb (Set_Statement_Entry): New handling of exits
3366         (Extend_Statement_Sequence): New procedures
3367         (Traverse_Declarations_Or_Statements): New handling for exits.
3368
3369 2010-01-26  Robert Dewar  <dewar@adacore.com>
3370
3371         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
3372         Case.
3373
3374 2010-01-26  Robert Dewar  <dewar@adacore.com>
3375
3376         * par_sco.adb (Is_Logical_Operator): Exclude AND/OR/XOR
3377         * scos.ads: Clarify handling of logical operators
3378
3379 2010-01-26  Arnaud Charlet  <charlet@adacore.com>
3380
3381         * s-tpoben.adb: Update comments.
3382
3383 2010-01-26  Robert Dewar  <dewar@adacore.com>
3384
3385         * freeze.adb (Set_Small_Size): Don't set size if alignment clause
3386         present.
3387
3388 2010-01-26  Robert Dewar  <dewar@adacore.com>
3389
3390         * scos.ads: Clean up documentation, remove obsolete XOR references
3391 2010-01-26  Vincent Celier  <celier@adacore.com>
3392
3393         * gnat_ugn.texi: Complete documentation on the restrictions for
3394         combined options in -gnatxxx switches.
3395         Fix typo.
3396
3397 2010-01-26  Arnaud Charlet  <charlet@adacore.com>
3398
3399         * s-tpoben.adb (Initialize_Protection_Entries): If a PO is created from
3400         a controlled operation, abort is already deferred at this point, so we
3401         need to use Defer_Abort_Nestable.
3402
3403 2010-01-26  Vincent Celier  <celier@adacore.com>
3404
3405         * prj-conf.adb (Get_Config_Switches): Check for a default language for
3406         a project extending a project with no languages.
3407
3408 2010-01-26  Vincent Celier  <celier@adacore.com>
3409
3410         * switch-c.adb (Scan_Front_End_Switches): Take into account options
3411         that follow -gnatef.
3412         Allow -gnateG to be followed by other options.
3413
3414 2010-01-26  Robert Dewar  <dewar@adacore.com>
3415
3416         * s-commun.ads, s-osprim-mingw.adb, s-stchop-vxworks.adb, sem_aggr.adb,
3417         s-vxwext.adb, sem_ch10.adb, sem_eval.adb, sem_prag.adb: Minor
3418         reformatting.
3419
3420 2010-01-26  Vasiliy Fofanov  <fofanov@adacore.com>
3421
3422         * g-regist.adb, g-regist.ads (For_Every_Key): New generic procedure
3423         that allows to iterate over all subkeys of a key.
3424
3425 2010-01-26  Ed Falis  <falis@adacore.com>
3426
3427         * sysdep.c: enable NFS for VxWorks MILS
3428         * env.c: enable __gnat_environ for VxWorks MILS
3429         * gcc-interface/Makefile.in: Add VxWorks MILS target pairs.
3430
3431 2010-01-25  Bob Duff  <duff@adacore.com>
3432
3433         * sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
3434         is an internally-generated positional aggregate, and the bounds are
3435         already correctly set. We don't want to overwrite those bounds with
3436         bounds determined by context.
3437
3438 2010-01-25  Robert Dewar  <dewar@adacore.com>
3439
3440         * g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
3441         exp_ch9.adb, g-sechas.ads: Minor reformatting.
3442
3443 2010-01-25  Thomas Quinot  <quinot@adacore.com>
3444
3445         * s-commun.adb (Last_Index): Count must be converted to SEO (a signed
3446         integer type) before subtracting 1, otherwise the computation may wrap
3447         (because size_t is modular) and cause the conversion to fail.
3448
3449 2010-01-25  Ed Falis  <falis@adacore.com>
3450
3451         * sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
3452
3453 2010-01-25  Vincent Celier  <celier@adacore.com>
3454
3455         * prj-attr.adb: New attribute Run_Path_Origin_Required
3456         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
3457         attribute Run_Path_Origin_Required.
3458         * prj.ads (Project_Configuration): New component
3459         Run_Path_Origin_Supported.
3460         * snames.ads-tmpl: New standard name Run_Path_Origin_Required
3461
3462 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
3463
3464         * sem_aggr.adb (Resolve_Array_Aggregate): If the bounds in a choice
3465         have errors, do not continue resolution of the aggregate.
3466         * sem_eval.adb (Eval_Indexed_Component): Do not attempt to evaluate if
3467         the array type indicates an error.
3468
3469 2010-01-25  Bob Duff  <duff@adacore.com>
3470
3471         * sinfo.ads: Minor comment fixes.
3472
3473 2010-01-25  Bob Duff  <duff@adacore.com>
3474
3475         * exp_ch4.adb, exp_aggr.adb: Minor comment fixes and code clean up.
3476
3477 2010-01-25  Arnaud Charlet  <charlet@adacore.com>
3478
3479         * gnatvsn.ads (Current_Year): Update.
3480
3481 2010-01-25  Florian Villoing  <villoing@adacore.com>
3482
3483         * gnat_ugn.texi: Fix typo.
3484
3485 2010-01-25  Thomas Quinot  <quinot@adacore.com>
3486
3487         * scos.ads: Update specification.
3488
3489 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
3490
3491         * sem_ch6.adb (Process_PPCs): If a postcondition is present and the
3492         enclosing subprogram has no previous spec, attach postcondition
3493         procedure to the defining entity for the body.
3494
3495 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
3496
3497         * exp_aggr.adb (Build_Record_Aggr_Code); Do not generate call to
3498         initialization procedure of the ancestor part of an extension aggregate
3499         if it is an interface type.
3500
3501 2010-01-25  Vincent Celier  <celier@adacore.com>
3502
3503         * gnatlink.adb (Process_Binder_File): The directory for the shared
3504         version of libgcc in the run path options is found in the subdirectory
3505         indicated by __gnat_default_libgcc_subdir.
3506         * link.c: Declare new const char * __gnat_default_libgcc_subdir for
3507         each platform.
3508
3509 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
3510
3511         * sem_prag.adb: More flexible pragma Annotate.
3512
3513 2010-01-22  Eric Botcazou  <ebotcazou@adacore.com>
3514
3515         * system-linux-armel.ads (Stack_Check_Probes): Set to True.
3516         * system-linux-armeb.ads (Stack_Check_Probes): Likewise.
3517
3518 2010-01-18  Eric Botcazou  <ebotcazou@adacore.com>
3519
3520         * gcc-interface/utils.c (create_var_decl_1): Fix formatting nits.
3521
3522 2010-01-18  Jan Hubicka  <jh@suse.cz>
3523
3524         PR middle-end/42068
3525         * gcc-interface/utils.c (create_var_decl_1): Do not set COMMON flag for
3526         unit local variables.
3527
3528 2010-01-17  Laurent GUERBY  <laurent@guerby.net>
3529
3530         * gcc-interface/Makefile.in: Fix typo in arm*-*-linux-gnueabi.
3531
3532 2010-01-11  Mikael Pettersson  <mikpe@it.uu.se>
3533
3534         * gcc-interface/Makefile.in: Add arm*-*-linux-gnueabi.
3535         * system-linux-armeb.ads, system-linux-armel.ads: New files.
3536
3537 2010-01-09  Simon Wright  <simon@pushface.org>
3538
3539         PR ada/42626
3540         * gcc-interface/Makefile.in (gnatlib-shared-darwin): Add missing
3541         end-quote.
3542
3543
3544 \f
3545 Copyright (C) 2010 Free Software Foundation, Inc.
3546
3547 Copying and distribution of this file, with or without modification,
3548 are permitted in any medium without royalty provided the copyright
3549 notice and this notice are preserved.