OSDN Git Service

914e9672f375a47db9bee9b0ad10ee509cdc0ba5
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2010-09-09  Robert Dewar  <dewar@adacore.com>
2
3         * sem_util.adb: Minor reformatting
4
5 2010-09-09  Vincent Celier  <celier@adacore.com>
6
7         * vms_data.ads: Add documentation for S_Make_Single.
8
9 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
10
11         * sem_util.adb (Same_Object): include formal parameters.
12
13 2010-09-09  Vincent Celier  <celier@adacore.com>
14
15         * make.adb (Queue): New package implementing a new impementation of the
16         queue, taking into account the new switch --single-compile-per-obj-dir.
17         * makeutl.ads (Single_Compile_Per_Obj_Dir_Switch): New constant String
18         for gnatmake and gprbuild new switch --single-compile-per-obj-dir.
19         * opt.ads (One_Compilation_Per_Obj_Dir): New Boolean flag, defauted to
20         False.
21         * switch-m.adb (Scan_Make_Switches): Take into account new gnatmake
22         switch --single-compile-per-obj-dir.
23         * vms_data.ads: Add qualifier SINGLE_COMPILE_PER_OBJ_DIR for gnatmake
24         switch --single-compile-per-obj-dir.
25         * gnat_ugn.texi: Add documentation for new gnatmake switch
26         --single-compile-per-obj-dir.
27
28 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
29
30         * einfo.adb, einfo.ads: Clarify use of Corresponding_Protected_Entry.
31
32 2010-09-09  Javier Miranda  <miranda@adacore.com>
33
34         * sem_ch3.adb (Is_Progenitor): Relocated to sem_type.
35         (Replace_Type): Code cleanup.
36         * sem_type.ads, sem_type.adb (Is_Progenitor): Relocated from sem_ch3
37
38 2010-09-09  Thomas Quinot  <quinot@adacore.com>
39
40         * exp_ch8.adb: Minor reformatting.
41
42 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
43
44         * exp_ch9.adb, einfo.adb, einfo.ads: New attribute
45         Corresponding_Protected_Entry.
46
47 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
48
49         * exp_ch3.adb (Build_Untagged_Equality): Do not set alias of implicit
50         inequality, it is always rewritten as the negation of the corresponding
51         equality operation.
52         * exp_ch8.adb (Expand_N_Subprogram_Renaming): If the subprogram renames
53         the predefined equality of an untagged record, create a body at the
54         point of the renaming, to capture the current meaning of equality for
55         the type.
56
57 2010-09-09  Robert Dewar  <dewar@adacore.com>
58
59         * sem.adb, sem_warn.adb: Minor reformatting.
60
61 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
62
63         * sem_ch6.adb: Improve error message on untagged equality.
64         * sem.adb (Semantics): Include subprogram bodies that act as spec.
65
66 2010-09-09  Javier Miranda  <miranda@adacore.com>
67
68         * sem_ch13.adb, exp_ch13.adb: Undo previous change, unneeded.
69
70 2010-09-09  Robert Dewar  <dewar@adacore.com>
71
72         * sem_ch13.adb, sem_ch6.adb, exp_ch3.adb: Minor reformatting.
73
74 2010-09-09  Robert Dewar  <dewar@adacore.com>
75
76         * einfo.adb (Is_Aggregate_Type): New function.
77         * einfo.ads (Aggregate_Kind): New enumeration subtype
78         (Is_Aggregate_Type): New function.
79         * sem_type.adb (Is_Array_Class_Record_Type): Removed, replaced by
80         Is_Aggregate_Typea.
81
82 2010-09-09  Robert Dewar  <dewar@adacore.com>
83
84         * exp_ch11.adb, frontend.adb, sem_attr.adb, sem_ch10.adb, sem_ch3.adb,
85         sem_ch4.adb, sem_ch9.adb, sem_res.adb: Use Restriction_Check_Needed
86         where appropriate.
87         * restrict.ads, restrict.adb: Ditto.
88         (Restriction_Check_Needed): New function
89
90 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
91
92         * exp_ch9.ads (Find_Master_Scope): New function, extracted from
93         Build_Master_Entity, to find the proper scope for the master entity of
94         a type that may contain tasks, in the presence of transient scopes.
95         * exp_ch9.adb (Build_Master_Entity) Use new function.
96         * exp_ch3.adb (Build_Class_Wide_Master): ditto.
97
98 2010-09-09  Vincent Celier  <celier@adacore.com>
99
100         * prj-attr.adb: Add new attributes Leading_Library_Options and
101         Linker'Leading_Switches.
102         * snames.ads-tmpl: Add new standard names Leading_Library_Options and
103         Leading_Switches.
104
105 2010-09-09  Javier Miranda  <miranda@adacore.com>
106
107         * sem_ch3.adb (Derive_Subprogram): The code that checks if a
108         dispatching primitive covers some interface primitive is incomplete.
109         Replace such code by the invocation of a new subprogram that provides
110         this functionality.
111         * sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
112         * sem_ch6.adb (Check_Missing_Return): Minor reformating
113         (Check_Convention): Complete if-statement conditition when reporting
114         errors (to avoid assertion failure).
115         * sem_ch13.adb (Make_Null_Procedure_Specs): This routine was previously
116         located in exp_ch3. Relocated inside Analyze_Freeze_Entity.
117         (Analyze_Freeze_Entity): Invoke routine that adds the spec of non
118         overridden null interface primitives.
119         * sem_type.adb (Is_Ancestor): If the parent of the partial view of a
120         private type is an interface then use the parent of its full view to
121         climb to its ancestor type.
122         * sem_disp.ads, sem_disp.adb (Covers_Some_Interface): New subprogram.
123         (Check_Dispatching_Operation): Extend assertion to handle wrappers of
124         null interface primitives.
125         (Is_Null_Interface_Primitive): New subprogram.
126         * exp_ch3.adb (Make_Null_Procedure_Specs): Removed.
127         (Expand_Freeze_Record_Type): Do not generate specs of null interface
128         subprograms because they are now generated by Analyze_Freeze_Entity.
129
130 2010-09-09  Robert Dewar  <dewar@adacore.com>
131
132         * a-calfor.adb, sem_ch3.adb: Minor reformatting.
133
134 2010-09-09  Robert Dewar  <dewar@adacore.com>
135
136         * bindgen.adb (Gen_Restrictions_Ada): Avoid explicit enumeration ranges
137         (Gen_Restrictions_C): Avoid explicit enumeration ranges
138         (Set_String_Replace): New procedure
139         * casing.ads (Known_Casing): New subtype declaration
140         * prj-attr.ads (All_Case_Insensitive_Associative_Array): New subtype
141         declaration
142         * prj-dect.adb (Parse_Attribute_Declaration): Avoid enumeration range
143         * prj-nmsc.adb (Check_Naming): Avoid unnecessary enumeration range
144         * prj-strt.adb (Attribute_Reference): Avoid enumeration range test
145         * prj.adb (Known_Casing): Moved to Casing spec (avoid enum range)
146         * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Avoid enumeration
147         ranges
148         * sem_res.adb (Resolve_Range): Check for enumeration subrange style rule
149         * sem_type.adb (Is_Array_Class_Record_Type): New.
150         * style.ads (Check_Enumeration_Subrange): New procedure
151         * styleg.adb (Check_Enumeration_Subrange): New procedure
152         * styleg.ads (Check_Enumeration_Subrange): New procedure
153         * stylesw.adb Add handling for Style_Check_Enumeration_Subranges
154         * stylesw.ads (Style_Check_Enumeration_Subranges): New flag
155         * usage.adb: Add line for -gnatyE
156         * vms_data.ads: Add entries for [NO]ENUMERATION_RANGES
157         Add missing entry for NOBOOLEAN_OPERATORS
158         * gnat_ugn.texi: Add documentation for -gnatyE
159
160 2010-09-09  Robert Dewar  <dewar@adacore.com>
161
162         * namet.adb (Initialize): Is now a dummy procedure
163         (Reinitialize): New procedure
164         Call Reinitialize from package initialization
165         * namet.ads (Initialize): Is now a dummy procedure
166         (Reinitialize): New procedure
167         * clean.adb, gnat1drv.adb, gnatbind.adb, gnatcmd.adb, gnatlink.adb,
168         gnatls.adb, gprep.adb, make.adb, prj-makr.adb: Remove obsolete call to
169         Namet.Initialize.
170
171 2010-09-09  Bob Duff  <duff@adacore.com>
172
173         * sem_elab.adb, s-os_lib.ads: Minor comment fixes.
174
175 2010-09-09  Robert Dewar  <dewar@adacore.com>
176
177         * s-bitops.adb (Raise_Error): Add exception message
178
179 2010-09-09  Robert Dewar  <dewar@adacore.com>
180
181         * par-ch5.adb (Test_Statement_Required): Deal with Ada 2012 allowing no
182         null statement after label.
183         * sinfo.ads: Minor comment updates.
184
185 2010-09-09  Robert Dewar  <dewar@adacore.com>
186
187         * nlists.ads, nlists.adb (In_Same_List): New function.
188         Use Node_Or_Entity_Id where appropriate.
189         * par-labl.adb, sem_ch6.adb, sem_type.adb: Use In_Same_List.
190
191 2010-09-09  Robert Dewar  <dewar@adacore.com>
192
193         * restrict.ads, restrict.adb (Check_Wide_Character_Restriction): New
194         procedure.
195         * sem_ch3.adb: Use Check_Wide_Character_Restriction
196         (Enumeration_Type_Declaration): Check violation of No_Wide_Characters
197         * sem_ch8.adb (Find_Direct_Name): Check violation of No_Wide_Characters
198         (Find_Expanded_Name): Check violation of No_Wide_Characters
199
200 2010-09-09  Robert Dewar  <dewar@adacore.com>
201
202         * par-ch5.adb: Minor reformatting.
203
204 2010-09-09  Robert Dewar  <dewar@adacore.com>
205
206         * prj-env.adb: Minor code reorganization.
207         * par-ch3.adb: Minor reformatting.
208         * gcc-interface/Make-lang.in: Update dependencies.
209
210 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
211
212         * exp_ch9.adb (Build_Activation_Chain_Entity): The construct enclosing
213         a task declaration can be an entry body.
214
215 2010-09-09  Javier Miranda  <miranda@adacore.com>
216
217         * exp_disp.adb (Make_DT): Decorate as "static" variables containing
218         tags of library level tagged types.
219         (Make_Tags): Disable backend optimizations about aliasing for
220         declarations of access to dispatch tables.
221
222 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
223
224         * sem_ch12.adb (Reset_Entity): If the entity is an itype created as a
225         subtype for a null-excluding access type, recover the original
226         subtype_mark to get the proper visibility on the original name.
227
228 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
229
230         * exp_ch3.adb (Build_Untagged_Equality): For Ada2012, new procedure to
231         create the primitive equality operation for an untagged record. The
232         operation is the predefined equality if no record component has a
233         user-defined equality, or if there is a user-defined equality for the
234         type as a whole, or when the type is derived and it has an inherited
235         equality. Otherwise the body of the operations is built as for tagged
236         types.
237         (Expand_Freeze_Record_Type): Call Build_Untagged_Equality when needed.
238         (Make_Eq_Body): New function to create the expanded body of the equality
239         operation for tagged and untagged records.  In both cases the operation
240         composes, and the primitive operation of each record component is used
241         to generate the equality function for the type.
242         * exp_ch4.adb (Expand_Composite_Equality): In Ada2012, if a component
243         has an abstract equality defined, replace its call with a
244         Raise_Program_Error.
245         * sem_ch6.adb (New_Overloaded_Entity): if Ada2012, verify that a
246         user-defined equality operator for an untagged record type does not
247         happen after type is frozen, and appears in the visible part if partial
248         view of type is not limited.
249
250 2010-09-09  Tristan Gingold  <gingold@adacore.com>
251
252         * gnatlbr.adb: Make Create_Directory more portable: use __gnat_mkdir.
253
254 2010-09-09  Bob Duff  <duff@adacore.com>
255
256         * gnat_ugn.texi: Remove incorrect statement about -E being the default.
257
258 2010-09-09  Pascal Obry  <obry@adacore.com>
259
260         * gnat_ugn.texi: Update doc on windows related topics.
261
262 2010-09-09  Geert Bosch  <bosch@adacore.com>
263
264         * s-fatgen.adb: Update comments.
265
266 2010-09-09  Robert Dewar  <dewar@adacore.com>
267
268         * par-ch4.adb (Box_Error): New procedure.
269
270 2010-09-09  Thomas Quinot  <quinot@adacore.com>
271
272         * sem.adb: Minor reformatting.
273
274 2010-09-09  Pascal Obry  <obry@adacore.com>
275
276         * prj-env.adb: Style fix, use /and then/ and /or else/.
277         * gnat_ugn.texi: Fix typos.
278
279 2010-09-03  Joseph Myers  <joseph@codesourcery.com>
280
281         PR ada/45499
282         * gcc-interface/misc.c (gnat_init_options): Allow options with
283         empty canonical form.  Generate a single save_argv element from -I
284         options.
285
286 2010-08-30  Eric Botcazou  <ebotcazou@adacore.com>
287
288         * gcc-interface/utils.c (gnat_pushdecl): Remove test for PARM_DECLs.
289         Attach fake PARM_DECLs to the topmost block of the function.
290
291 2010-08-30  Eric Botcazou  <ebotcazou@adacore.com>
292
293         * gcc-interface/trans.c (call_to_gnu): Also force the return slot opt
294         for the call to a function whose return type was unconstrained.
295
296 2010-08-30  Olivier Hainque  <hainque@adacore.com>
297
298         * gcc-interface/decl.c (FOREIGN_FORCE_REALIGN_STACK): New macro,
299         replacement for FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
300         (gnat_to_gnu_entity) <case ..., E_Procedure>: Use it.
301
302 2010-08-21  Eric Botcazou  <ebotcazou@adacore.com>
303
304         * tracebak.c: Fix typo in comment.
305
306 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
307
308         * gcc-interface/decl.c: Use FOR_EACH_VEC_ELT.
309         * gcc-interface/trans.c: Likewise.
310         * gcc-interface/utils.c: Likewise.
311
312 2010-08-18  Eric Botcazou  <ebotcazou@adacore.com>
313
314         * tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.
315
316 2010-08-10  Robert Dewar  <dewar@adacore.com>
317
318         * sem_ch8.adb, sem_ch8.ads: Change name Write_Scopes to ws.
319         * sem_util.adb: Minor reformatting.
320
321 2010-08-10  Javier Miranda  <miranda@adacore.com>
322
323         * sem_aggr.adb (Resolve_Extension_Aggregate): Warn on the use of C++
324         constructors that leave the object partially initialized.
325         * exp_atag.ads, exp_atags.adb (Build_Inherit_CPP_Prims): New subprogram
326         that copies from parent of Typ the dispatch table slots of inherited
327         C++ primitives. It handles primary and secondary dispatch tables.
328         * einfo.adb (Related_Type): Moved from Node26 to Node27. Required to
329         use this attribute with E_Variable entities.
330         (Set_Is_Tag): Relax assertion to allow its use with variables that
331         store tags.
332         (Set_Related_Type): Relax assertion to allow its use with variables
333         that store the tag of a C++ class.
334         (Write_26_Field_Name): Remove Related_Type.
335         (Write_27_Field_Name): Add Related_Type.
336         * einfo.ads (Related_Type): Moved from Node26 to Node27. Available also
337         with E_Variable entities.
338         * sem_prag.adb (CPP_Constructor): Warn on duplicated occurrence of this
339         pragma.
340         * sem_util.adb (Search_Tag): Add missing support for CPP types.
341         (Enclosing_CPP_Parent): New subprogram.
342         (Has_Suffix): New subprogram.
343         * sem_util.ads (Enclosing_CPP_Parent): New subprogram that returns the
344         closest ancestor of a type that is a C++ type.
345         (Has_Suffix): New subprogram. Used in assertions to check the suffix of
346         internal entities.
347         * sem_attr.adb (Analyze_Access_Attribute): Check wrong use of current
348         instance in derivations of C++ types.
349         * exp_tss.adb (CPP_Init_Proc): New subprogram.
350         (Is_CPP_Init_Proc): New subprogram.
351         (Set_TSS): Handle new C++ init routines.
352         * exp_tss.ads (TSS_CPP_Init): New TSS name. For initialization of C++
353         dispatch tables.
354         (CPP_Init_Proc): New subprogram.
355         (Is_CPP_Init_Proc): New subprogram.
356         * exp_disp.adb (CPP_Num_Prims): New subprogram.
357         (Has_CPP_Constructors): New subprogram.
358         (Make_Secondary_DT, Make_DT): For derivations of CPP types, do not
359         initialize slots located in the C++ part of the dispatch table.
360         (Make_Tags): For CPP types declare variables used by the IP routine to
361         store the C++ tag values after the first invocation of the C++
362         constructor.
363         (Build_CPP_Init_DT): New subprogram.
364         (Set_CPP_Constructors): New implementation that builds an IP for each
365         CPP constructor. These IP are wrappers of the C++ constructors that,
366         after the first invocation of the constructor, read the C++ tags from
367         the object and save them locally. These copies of the C++ tags are used
368         by the IC routines to initialize tables of Ada derivations of CPP types.
369         (Write_DT): Indicate what primitives are imported from C++
370         * exp_disp.ads (CPP_Num_Prims): New subprogram.
371         (Has_CPP_Constructors): New subprogram.
372         * exp_aggr.adb (Build_Record_Aggr_Code): For derivations of C++ types
373         invoke the IC routine to inherit the slots of the parents.
374         * sem_ch13.adb (Analyze_Freeze_Entity): Add new warnings on CPP types.
375         * exp_ch3.adb (Is_Variable_Size_Array): New subprogram.
376         (Is_Variable_Size_Record): Factorize code calling
377         Is_Variable_Size_Array.
378         (Build_CPP_Init_Procedure): New subprogram that builds the tree
379         corresponding to the procedure that initializes the C++ part of the
380         dispatch table of an Ada tagged type that is a derivation of a CPP type.
381         (Build_Init_Procedure): Adding documentation plus code reorganization to
382         leave more clear the construction of the IP with C++ types.
383         (Expand_Freeze_Record_Type): Delay call to Set_CPP_Constructors because
384         it cannot be called after Make_Tags has been invoked.
385         (Inherit_CPP_Tag): Removed.
386         (Init_Secondary_Tags): For derivations of CPP types, warn on tags
387         located at variable offset.
388         * freeze.ads: Minor reformating.
389         * sem_ch8.adb (Write_Scopes): Add pragma export. Required to have it
390         available in gdb.
391         * gcc-interface/Make-lang.in: Update dependencies.
392
393 2010-08-10  Robert Dewar  <dewar@adacore.com>
394
395         * a-chahan.ads: Add comments on handling of obsolescent entries.
396         * opt.ads: Add Ada_2005 and Ada_2012 renamings for versions.
397         * restrict.adb (Check_Obsolescent_2005_Entity): New procedure.
398         * restrict.ads (Check_Obsolescent_2005_Entity): New procedure.
399         * sem_attr.adb (Analyze_Access_Attribute): Call
400         Check_Obsolescent_2005_Entity to check for access to obsolescent
401         Ada.Characters.Handling subprogram.
402         (Analyze_Attribute, case Class): Applying Class to untagged incomplete
403         type is obsolescent in Ada 2005.
404         (Analyze_Attribute, case Constrained): Better placement of flag when
405         flagged as obsolescent feature.
406         (Analyze_Attribute, case Storage_Size): Use with tasks is obsolescent
407         * sem_ch10.adb (Analyze_With_Clause): With of renamings such as Text_IO
408         is an obsolescent feature.
409         * sem_ch11.adb (Analyze_Raise_Statement): Numeric_Error is obsolescent
410         feature.
411         * sem_ch8.adb (Analyze_Subprogram_Renaming): Call
412         Check_Obsolescent_2005_Entity to check for renaming obsolete
413         Ada.Characters.Handling subprogram.
414         * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Check
415         for obsolescent restrictions in Ada 2005.
416         (Analyze_Pragma, case Suppress): Entity arg is obsolescent in Ada 2005
417         (Analyze_Pragma, case Interface): Interface is obsolescent in Ada 2005
418         * sem_res.adb (Resolve_Call): Call Check_Obsolescent_2005_Entity to
419         check for obsolescent references to Ada.Characters.Handling subprograms
420
421 2010-08-10  Robert Dewar  <dewar@adacore.com>
422
423         * einfo.adb, einfo.ads: Fix bad -gnatdt output for incomplete type.
424
425 2010-08-10  Robert Dewar  <dewar@adacore.com>
426
427         * errout.ads: Add VMS table entries for 2005, 12, 2012 switches
428         * par-ch4.adb: Change wording of Ada 2012 messages
429         * vms_data.ads: Add VMS entries for /2005, /12, /2012
430
431 2010-08-10  Robert Dewar  <dewar@adacore.com>
432
433         * a-suenco.adb (Convert): Fix bug in UTF-16 to UTF-8 conversion for
434         codes in the range 16#80#..16#7FF#.
435         * sem_ch10.adb: Minor reformatting.
436
437 2010-08-10  Arnaud Charlet  <charlet@adacore.com>
438
439         * gnat1drv.adb (Scan_Front_End_Switches): Always perform semantics and
440         generate ali files in CodePeer mode, so that a gnatmake -c -k will
441         proceed further when possible
442         * freeze.adb (Freeze_Static_Object): Fix thinko. Do not generate error
443         messages when ignoring representation clauses (-gnatI).
444
445 2010-08-10  Ed Schonberg  <schonberg@adacore.com>
446
447         * exp_ch4.adb (Expand_N_Selected_Component): Do not attempt to
448         constant-fold discriminant reference if the constraint is an object
449         with non-static expression. Expression may contain volatile references
450         in the presence of renamings.
451
452 2010-08-10  Vincent Celier  <celier@adacore.com>
453
454         * prj-proc.adb (Get_Attribute_Index): If Index is All_Other_Names,
455         returns Index.
456         * prj-strt.adb (Attribute_Reference): Recognize 'others' as a valid
457         index for an associative array where it is allowed.
458
459 2010-08-10  Thomas Quinot  <quinot@adacore.com>
460
461         * exp_attr.adb: Add comments.
462
463 2010-08-10  Jerome Lambourg  <lambourg@adacore.com>
464
465         * adaint.c (__gnat_get_file_names_case_sensitive): return 0 on darwin.
466
467 2010-08-09  Nathan Froyd  <froydnj@codesourcery.com>
468
469         * gcc-interface/utils.c (gnat_poplevel): Use blocks_nreverse.
470
471 2010-08-09  Eric Botcazou  <ebotcazou@adacore.com>
472
473         * gcc-interface/utils.c (build_vms_descriptor32): Fix formatting.
474         (build_vms_descriptor): Likewise.
475
476 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
477
478         * gcc-interface/utils.c (make_descriptor_field): Add tree parameter.
479         (build_vms_descriptor32): Adjust calls to it for new parameter.
480         (build_vms_descriptor): Likewise.
481
482 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
483
484         * gcc-interface/decl.c (rec_variant):  Declare.  Declare a VEC of it.
485         (build_variant_list): Take and return a VEC instead of a tree.
486         (create_variant_part_from): Take a VEC instead of a tree for
487         variant_list.  Adjust accordingly.
488         (gnat_to_gnu_entity): Adjust for changes to previous functions.
489
490 2010-08-07  Nathan Froyd  <froydnj@codesourcery.com>
491
492         * gcc-interface/decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead
493         of alloca.
494         (components_to_record): Likewise.
495         * gcc-interface/trans.c (gnat_to_gnu): Likewise.
496         * gcc-interface/utils.c (max_size): Likewise.
497         (build_vms_descriptor32): Likewise.
498         (build_vms_descriptor): Likewise.
499
500 2010-08-07  Nathan Froyd  <froydnj@codesourcery.com>
501
502         * gcc-interface/decl.c (subst_pair): Declare.  Declare a VEC of it.
503         (build_subst_list): Return a VEC instead of a tree.
504         (build_variant_list): Take a VEC for subst_list.  Adjust
505         accordingly.
506         (create_field_decl_from): Likewise.
507         (create_variant_part_from): Likewise.
508         (copy_and_substitute_in_size): Likewise.
509         (gnat_to_gnu_entity): Adjust for new interface to build_subst_list.
510         Free the built vector.
511
512 2010-08-06  Eric Botcazou  <ebotcazou@adacore.com>
513
514         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not build an
515         allocator for large imported objects.
516
517 2010-08-05  Robert Dewar  <dewar@adacore.com>
518
519         * gnat1drv.adb: Minor reformatting.
520
521 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
522
523         * sem.adb (Do_Unit_And_Dependents): If some parent unit is an
524         instantiation, process its body before the spec of the main unit,
525         because it may contain subprograms invoked in the spec of main.
526         * einfo.ads: Add documention of delayed freeze.
527
528 2010-08-05  Vincent Celier  <celier@adacore.com>
529
530         * prj-nmsc.adb (Process_Linker): Take into account new values for
531         attribute Response_File_Format.
532         * prj.ads (Response_File_Format): New enumeration values GCC_GNU,
533         GCC_Object_List and GCC_Option_List.
534
535 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
536
537         * exp_ch4.adb (Expand_N_Selected_Component): Do not constant-fold a
538         selected component that denotes a discriminant if it is the
539         discriminant of a component of an unconstrained record type.
540
541 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
542
543         * exp_util.adb (Insert_Actions): If the action appears within a
544         conditional expression that is already analyzed, insert action further
545         out.
546
547 2010-08-05  Robert Dewar  <dewar@adacore.com>
548
549         * exp_ch4.adb: Minor reformatting.
550
551 2010-08-05  Thomas Quinot  <quinot@adacore.com>
552
553         * exp_ch4.adb: Minor reformatting
554         * gnat1drv.adb: Minor reformatting.
555         Minor code reorganization (use Nkind_In).
556
557 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
558
559         * exp_util.ads, exp_util.adb (Needs_Constant_Address): New predicate to
560         determine whether the expression in an address clause for an
561         initialized object must be constant. Code moved from freeze.adb.
562         (Remove_Side_Effects): When the temporary is initialized with a
563         reference, indicate that the temporary is a constant as done in all
564         other cases.
565         * freeze.adb (Check_Address_Clause): use Needs_Constant_Address.
566         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
567         If object does not need a constant address, remove side effects from
568         address expression, so it is elaborated at the point of the address
569         clause and not at the freeze point of the object, so that elaboration
570         order is respected.
571
572 2010-08-05  Vincent Celier  <celier@adacore.com>
573
574         * prj.adb (Is_Compilable): Return False for header files of non Ada
575         languages.
576
577 2010-08-05  Emmanuel Briot  <briot@adacore.com>
578
579         * prj-nmsc.adb: The Missing_Source_Files flag also considers a missing
580         exec directory as a warning rather than an error.
581
582 2010-08-05  Thomas Quinot  <quinot@adacore.com>
583
584         * sem_ch6.adb, gnat1drv.adb, exp_ch6.adb, sem_eval.adb: Minor
585         reformatting.
586
587 2010-08-05  Steve Baird  <baird@adacore.com>
588
589         * exp_util.adb (Remove_Side_Effects): An access value which designates
590         a volatile object of a nonvolatile type is prohibited.
591         Do not call Make_Reference to construct a reference to such an object.
592
593 2010-08-05  Robert Dewar  <dewar@adacore.com>
594
595         * a-suezse.adb, a-suezse.ads, a-suezen.adb, a-suezen.ads: Removed.
596         * a-suewse.adb, a-suewse.ads, a-suesen.adb, a-suesen.ads,
597         a-suewen.adb, a-suewen.ads: New files.
598         * Makefile.rtl, impunit.adb: Update implementation of Ada 2012 string
599         encoding packages.
600         * sem_elab.adb: Minor reformatting.
601
602 2010-08-05  Arnaud Charlet  <charlet@adacore.com>
603
604         * sem_ch8.adb (Use_One_Type): Protect against empty scopes.
605         * exp_util.adb (Component_May_Be_Bit_Aligned): Prevent assert failure
606         in case of null Comp.
607
608 2010-08-05  Robert Dewar  <dewar@adacore.com>
609
610         * errout.adb, a-suewen.adb, a-suezen.adb: Minor reformatting.
611
612 2010-08-05  Gary Dismukes  <dismukes@adacore.com>
613
614         * sem_ch4.adb (Analyze_Allocator): Flag errors on allocators of a
615         nested access type whose designated type has tasks or is a protected
616         object when the restrictions No_Task_Hierarchy or
617         No_Local_Protected_Objects apply. Add ??? comment.
618         * sem_ch9.adb (Analyze_Protected_Type): Give a warning when a protected
619         type is not a library-level type and No_Local_Protected_Objects applies.
620         (Analyze_Task_Type): Give a warning when a task type is not a
621         library-level type and No_Task_Hierarchy applies.
622
623 2010-08-05  Arnaud Charlet  <charlet@adacore.com>
624
625         * sem.adb: Minor reformatting
626         * sem_ch4.adb (Analyze_Reference): Disable error message in CodePeer
627         mode, not useful.
628
629 2010-08-04  Eric Botcazou  <ebotcazou@adacore.com>
630
631         * gcc-interface/decl.c: Do not undefine IN_GCC_FRONTEND and do not
632         include expr.h.
633         (gnat_to_gnu_entity) <object>: Force address of -1 at the tree level
634         for the debug-only entity.
635         * gcc-interface/Make-lang.in (ada/decl.o): Adjust dependencies.
636
637 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
638
639         * gcc-interface/lang-specs.h: Don't pass -a options.
640
641 2010-07-28  Joseph Myers  <joseph@codesourcery.com>
642
643         * gcc-interface/misc.c (gnat_init_options): Ignore erroneous
644         options.  Check canonical_option_num_elements on options copied.
645
646 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
647
648         * gcc-interface/misc.c (gnat_handle_option): Update prototype and
649         return value type.  Don't check for missing arguments here.
650
651 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
652
653         * gcc-interface/misc.c (gnat_option_lang_mask): New.
654         (gnat_init_options): Update prototype.  Reconstruct argv array
655         from decoded options.
656
657 2010-07-23  Eric Botcazou  <ebotcazou@adacore.com>
658
659         * gcc-interface/utils.c (update_pointer_to): In the unconstrained array
660         case, merge the alias set of the old pointer type.
661
662 2010-07-23  Eric Botcazou  <ebotcazou@adacore.com>
663
664         * gcc-interface/utils.c (gnat_types_compatible_p): Revert latest change
665         and recurse only for multidimensional array types instead.
666
667 2010-07-22  Eric Botcazou  <ebotcazou@adacore.com>
668
669         PR ada/44892
670         * gcc-interface/utils.c (convert): Fix thinko in test.
671         (unchecked_convert): When converting from a scalar type to a type with
672         a different size, pad to have the same size on both sides.
673
674 2010-07-22  Eric Botcazou  <ebotcazou@adacore.com>
675
676         * gcc-interface/utils.c (gnat_types_compatible_p): Don't require strict
677         equality for the component type of array types.
678
679 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
680
681         * gcc-interface/decl.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
682         * gcc-interface/trans.c: Likewise.
683         * gcc-interface/utils.c: Likewise.
684         * gcc-interface/utils2.c: Likewise.
685
686 2010-07-13  Laurent GUERBY  <laurent@guerby.net>
687
688         PR bootstrap/44458
689         * gcc-interface/targtyps.c: Include tm_p.h.
690         * gcc-interface/Make-lang.in: Update dependencies.
691
692 2010-07-09  Eric Botcazou  <ebotcazou@adacore.com>
693
694         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Deal with
695         CALL_EXPR.
696
697 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
698
699         * gcc-interface/utils.c: Include diagnostic-core.h in every file
700         that includes toplev.h.
701
702 2010-07-03  Eric Botcazou  <ebotcazou@adacore.com>
703
704         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
705         Branch to common code handling the alignment of discrete types.
706         <E_Signed_Integer_Type>: Likewise.
707         <E_Modular_Integer_Type>: Likewise.
708
709 2010-07-02  Eric Botcazou  <ebotcazou@adacore.com>
710
711         * gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv.
712         (gnat_handle_option): Allocate only one element for gnat_argv.
713         (gnat_init): Do not populate gnat_argv.
714
715 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
716
717         * gcc-interface/trans.c: Do not include tree-flow.h.
718         * gcc-interface/Make-lang.in: Adjust dependencies.
719
720 2010-06-29  Nathan Froyd  <froydnj@codesourcery.com>
721
722         * gcc-interface/gigi.h (gnat_build_constructor): Take a VEC instead
723         of a TREE_LIST.  Update comment.
724         * gcc-interface/trans.c (gigi): Build a VEC instead of a TREE_LIST.
725         Adjust call to gnat_build_constructor.
726         (Attribute_to_gnu): Likewise.
727         (gnat_to_gnu): Likewise.
728         (pos_to_constructor): Likewise.
729         (extract_values): Likewise.
730         * gcc-interface/utils.c (build_template): Likewise.
731         (convert_vms_descriptor64): Likewise.
732         (convert_vms_descriptor32): Likewise.
733         (convert_to_fat_pointer): Likewise.
734         (convert): Likewise.
735         (unchecked_convert): Likewise.
736         * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
737         * gcc-interface/utils2.c (build_allocator): Likewise.
738         (fill_vms_descriptor): Likewise.
739         (gnat_build_constructor): Take a VEC instead of a TREE_LIST.
740         (compare_elmt_bitpos): Adjust for parameters being constructor_elts
741         instead of TREE_LISTs.
742
743 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
744
745         * gcc-interface/misc.c: Do not include except.h.
746         * gcc-interface/Make-lang.in: Update dependencies.
747
748 2010-06-27  Eric Botcazou  <ebotcazou@adacore.com>
749
750         * gcc-interface/trans.c: Include tree-flow.h.
751         (gnu_switch_label_stack): Delete.
752         (Case_Statement_to_gnu): Do not emit the goto at the end of a case if
753         its associated block cannot fall through.  Do not emit the final label
754         if no cases branch to it.
755         * gcc-interface/Make-lang.in (ada/trans.o): Add $(TREE_FLOW_H).
756
757 2010-06-23  Thomas Quinot  <quinot@adacore.com>
758
759         * exp_attr.adb (Expand_Access_To_Protected_Op): When rewriting a
760         reference to a protected subprogram outside of the protected's scope,
761         ensure the corresponding external subprogram is frozen before the
762         reference.
763
764 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
765
766         * sem_prag.adb: Fix typo in error message.
767         * sem.adb: Refine previous change.
768
769 2010-06-23  Robert Dewar  <dewar@adacore.com>
770
771         * impunit.adb, a-suewen.adb, a-suewen.ads, a-suenco.adb, a-suenco.ads,
772         a-suezen.adb, a-suezen.ads, a-stuten.adb, a-stuten.ads, Makefile.rtl:
773         Implement Ada 2012 string encoding packages.
774
775 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
776
777         * a-stwiun-shared.adb, a-stwiun-shared.ads, a-stzunb-shared.adb,
778         a-stzunb-shared.ads, a-swunau-shared.adb, a-swuwti-shared.adb,
779         a-szunau-shared.adb, a-szuzti-shared.adb, a-strunb-shared.adb,
780         a-strunb-shared.ads, a-stunau-shared.adb, a-suteio-shared.adb: New
781         files.
782         * gcc-interface/Makefile.in: Enable use of above files.
783
784 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
785
786         * sem_ch13.adb (Check_Constant_Address_Clauses): Do not check legality
787         of address clauses if if Ignore_Rep_Clauses is active.
788         * freeze.adb (Check_Address_Clause): If Ignore_Rep_Clauses is active,
789         remove address clause from tree so that it does not reach the backend.
790
791 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
792
793         * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]): Do not
794         expand 'Valid from user code in CodePeer mode, will be handled by the
795         back-end directly.
796
797 2010-06-23  Bob Duff  <duff@adacore.com>
798
799         * g-comlin.ads: Minor comment improvements.
800
801 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
802
803         * sem_res.adb (Uses_SS): The expression that initializes a controlled
804         component of a record type may be a user-defined operator that is
805         rewritten as a function call.
806
807 2010-06-23  Bob Duff  <duff@adacore.com>
808
809         * g-comlin.ads, sem_ch13.adb: Minor comment fix.
810
811 2010-06-23  Eric Botcazou  <ebotcazou@adacore.com>
812
813         * exp_ch11.adb (Expand_Local_Exception_Handlers): Propagate the end
814         label to the new sequence of statements.  Set the sloc of the raise
815         statement onto the new goto statements.
816
817 2010-06-23  Robert Dewar  <dewar@adacore.com>
818
819         * a-stuten.ads, a-stuten.adb: New files.
820         * impunit.adb: Add engtry for Ada.Strings.UTF_Encoding (a-stuten.ads)
821         * Makefile.rtl: Add entry for a-stuten (Ada.Strings.UTF_Encoding)
822
823 2010-06-23  Robert Dewar  <dewar@adacore.com>
824
825         * gnat_ugn.texi: Add documentation of -gnat12 switch
826         Add documentation of -gnatX switch.
827
828 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
829
830         * inline.ads: Include the current Ada_Version in the info for pending
831         instance bodies, so that declaration and body are compiled with the
832         same Ada_Version.
833         * inline.adb: Move with_clause for Opt to spec.
834         * sem_ch12.adb (Analyze_Package_Instantiation,
835         Analyze_Subprogram_Instantiation): Save current Ada_Version in
836         Pending_Instantiation information.
837         (Instantiate_Package_Body, Instantiate_Subprogram_Body,
838         Inline_Package_Body): Use the Ada_Version present in the body
839         information.
840
841 2010-06-23  Robert Dewar  <dewar@adacore.com>
842
843         * usage.adb: Add documentation for -gnat12 switch.
844         * errout.ads: Add VMS alias entry for -gnat12 switch
845         * gnat_rm.texi: Add documentation for pragma Ada_12 and Ada_2012
846         Add documentation for pragma Extensions_Allowed.
847         * opt.ads: Add entry for Ada 2012 mode.
848         * sem_ch4.adb, par-ch3.adb, par-ch4.adb: Use new Ada 2012 mode for 2012
849         features.
850         * sem_prag.adb, par-prag.adb: Add processing for pragma Ada_12 and
851         Ada_2012.
852         * sem_ch13.adb: Add handling for Ada 2012 mode.
853         * snames.ads-tmpl: Add entries for pragma Ada_2012 and Ada_12.
854         * switch-c.adb: Add handling for -gnat12 switch.
855         Implement -gnat2005 and -gnat2012.
856         * usage.adb: Add documentation for -gnat12 switch.
857         * vms_data.ads: Add /12 switch for Ada 2012 mode.
858
859 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
860
861         * exp_ch4.adb (Expand_N_Allocator): Fix potential crash when using
862         No_Task_Hierarchy restriction. Add comment.
863         * exp_ch9.adb, exp_ch3.adb: Update comments.
864
865 2010-06-23  Robert Dewar  <dewar@adacore.com>
866
867         * sem_ch5.adb (Process_Bounds): Remove some junk initializations.
868         * sem_res.adb: Add comments.
869         * sem_util.adb: Minor reformatting. Add comments.
870         Change increment on Actuals_In_Call table.
871         * opt.ads: Minor: add 'constant'.
872
873 2010-06-23  Javier Miranda  <miranda@adacore.com>
874
875         * exp_disp.adb (Make_DT): Initialize the Size_Func component of the
876         TSD to Null_Address if No_Dispatching_Calls is active.
877
878 2010-06-23  Vincent Celier  <celier@adacore.com>
879
880         * a-comlin.ads: Indicate that use of this package is not supported
881         during the elaboration of an auto-initialized Stand-Alone Library.
882
883 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
884
885         * exp_util.adb (Is_Possibly_Misaligned_Object): Do not rely on an
886         alignment clause on a record type to determine if a component may be
887         misaligned. The decision must be taken in the back-end where target
888         alignment information is known.
889
890 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
891
892         * gnat1drv.adb (Adjust_Global_Switches): Enable some restrictions
893         systematically in CodePeer mode to simplify generated code.
894         * restrict.adb (Check_Restriction): Do nothing in CodePeer mode.
895         * exp_ch4.adb (Expand_N_Allocator): Generate proper code when
896         No_Task_Hierarchy is set instead of crasshing.
897
898 2010-06-23  Thomas Quinot  <quinot@adacore.com>
899
900         * sem_util.adb: Minor code cleanup: test for proper entity instead of
901         testing just Chars attribute when checking whether a given scope is
902         System.
903         * exp_ch4.adb, einfo.adb: Minor reformatting.
904
905 2010-06-23  Vincent Celier  <celier@adacore.com>
906
907         PR ada/44633
908         * switch-m.adb (Normalize_Compiler_Switches): Take into account
909         switches -gnatB, -gnatD=nn, -gnatG (incuding -gnatG=nn), -gnatI,
910         -gnatl=file, -gnatS, -gnatjnn, -gnateI=nn and -gnatWx.
911
912 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
913
914         * sem_res.adb (Resolve_Membership_Op): If left operand is a mixed mode
915         operation with a universal real operand, and the right operand is a
916         range with universal bounds, find unique fixed point that may be
917         candidate, and warn appropriately.
918
919 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
920
921         * sem_res.adb (Resolve_Intrinsic_Operator): Add guards to handle
922         properly the rare cases where VMS operators are visible through
923         Extend_System, but the default System is being used and Address is a
924         private type.
925         * sem_util.adb: Widen predicate Is_VMS_Operator.
926
927 2010-06-23  Vincent Celier  <celier@adacore.com>
928
929         * switch-m.adb (Normalize_Compiler_Switches): Take into account -gnatC
930         and -gnateS.
931
932 2010-06-23  Olivier Hainque  <hainque@adacore.com>
933
934         * einfo.adb (Has_Foreign_Convention): Consider Intrinsic with
935         Interface_Name as foreign. These are GCC builtin imports for
936         which Ada specific processing doesn't apply.
937
938 2010-06-23  Thomas Quinot  <quinot@adacore.com>
939
940         * sem_ch12.adb: Minor reformatting.
941
942 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
943
944         * sem_util.adb (Is_VMS_Operator): Use scope of system extension to
945         determine whether an intrinsic subprogram is VMS specific.
946
947 2010-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
948
949         * treepr.adb (Print_Entity_Info): Output the contents of Field28 if it
950         is present in the entity.
951
952 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
953
954         * xr_tabls.adb, xref_lib.adb: Update to latest lib-xref.ads
955         Fix handling of parameters.
956         Add protection against unexpected cases.
957         * sem_ch6.adb (Create_Extra_Formals): Use suffix "L" instead of "A" for
958         access level, since "A" suffix is already used elsewhere. Similarly,
959         use suffix "O" instead of "C" for 'Constrained since "C" suffix is used
960         for xxx'Class.
961
962 2010-06-23  Thomas Quinot  <quinot@adacore.com>
963
964         * sem_util.adb, sem_util.ads: Minor reformatting.
965
966 2010-06-23  Vincent Celier  <celier@adacore.com>
967
968         * prj.ads (Gprclean_Flags.Missing_Source_Files): Set to Error to keep
969         the previous behavior of gprclean when there are missing files.
970
971 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
972
973         * sem_ch12.adb (Load_Body_Of_Generic): In CodePeer mode, a missing
974         generic body is not a fatal error.
975         (Mark_Context): Handle properly names of child units.
976         * sem.adb (Walk_Library_Items.Do_Action): Remove assertion on
977         instantiations.
978
979 2010-06-23  Vincent Celier  <celier@adacore.com>
980
981         * ali.adb (Scan_ALI): When ignoring R lines, do not skip the next
982         non-empty line.
983
984 2010-06-23  Bob Duff  <duff@adacore.com>
985
986         * g-pehage.ads, g-pehage.adb: Switch default optimization mode to
987         Memory_Space, because CPU_Time doesn't seem to provide any significant
988         speed advantage in practice. Cleanup: Get rid of constant
989         Default_Optimization; doesn't seem to add anything. Use case
990         statements instead of if statements; seems cleaner.
991
992 2010-06-23  Olivier Hainque  <hainque@adacore.com>
993
994         * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Procedure>: Use
995         Wshadow instead of Wextra to guard warning on absence of internal
996         builtin decl for an import.  Fix use of quote in warning text.
997         (intrin_arglists_compatible_p): Remove processing of integer trailing
998         args on the Ada side.  Fix use of literal > in warning text.
999         (intrin_return_compatible_p): Never warn on "function imported as
1000         procedure".  Defer the void/void case to the common type compatibility
1001         check.
1002         (gnat_to_gnu_param): Use void_ptr GCC type for System.Address argument
1003         of GCC builtin imports.
1004
1005 2010-06-23  Olivier Hainque  <hainque@adacore.com>
1006
1007         * gcc-interface/decl.c (intrin_types_incompatible_p): New function,
1008         helper for ...
1009         (intrin_arglists_compatible_p, intrin_return_compatible_p): New
1010         functions, helpers for ...
1011         (intrin_profiles_compatible_p): New function, replacement for ...
1012         (compatible_signatures_p): Removed.
1013         (gnat_to_gnu_entity) <case E_Procedure>: If -Wextra, warn on
1014         attempt to bind an unregistered builtin function.  When we have
1015         one, use it and warn on profile incompatibilities.
1016
1017 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
1018
1019         * gcc-interface/Make-lang.in: Update dependencies.
1020
1021 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1022
1023         * sem_util.adb (Mark_Coextensions): If the expression in the allocator
1024         for a coextension in an object declaration is a concatenation, treat
1025         coextension as dynamic.
1026
1027 2010-06-23  Javier Miranda  <miranda@adacore.com>
1028
1029         * sem_ch3.adb (Add_Internal_Interface_Entities): Ensure that the
1030         internal entities are added to the scope of the tagged type.
1031         (Derive_Subprograms): Do not stop derivation when we find the first
1032         internal entity that has attribute Interface_Alias. After the change
1033         done to Override_Dispatching_Operations it is no longer true that
1034         these primirives are always located at the end of the list of
1035         primitives.
1036         * einfo.ads (Primitive_Operations): Add documentation.
1037         * exp_disp.adb (Write_DT): Improve output adding to the name of the
1038         primitive a prefix indicating its corresponding tagged type.
1039         * sem_disp.adb (Override_Dispatching_Operations): If the overridden
1040         entity covers the primitive of an interface that is not an ancestor of
1041         this tagged type then the new primitive is added at the end of the list
1042         of primitives.  Required to fulfill the C++ ABI.
1043
1044 2010-06-23  Javier Miranda  <miranda@adacore.com>
1045
1046         * atree.ads (Set_Reporting_Proc): New subprogram.
1047         * atree.adb: Remove dependency on packages Opt and SCIL_LL.
1048         (Allocate_Initialize_Node, Replace, Rewrite): Replace direct calls
1049         to routines of package Scil_ll by indirect call to the registered
1050         subprogram.
1051         (Set_Reporting_Proc): New subprogram. Used to register a subprogram
1052         that is invoked when a node is allocated, replaced or rewritten.
1053         * scil_ll.adb (Copy_SCIL_Node): New routine that takes care of copying
1054         the SCIL node. Used as argument for Set_Reporting_Proc.
1055         (Initialize): Register Copy_SCIL_Node as the reporting routine that
1056         is invoked by atree.
1057
1058 2010-06-23  Thomas Quinot  <quinot@adacore.com>
1059
1060         * sem_ch3.ads: Minor reformatting.
1061
1062 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1063
1064         * sem_ch12.adb (Analyze_Package_Instantiation): In CodePeer mode,
1065         always analyze the generic body and instance, because it may be needed
1066         downstream.
1067         (Mark_Context): Prepend the with clauses for needed generic units, so
1068         they appear in a better order for CodePeer.
1069         * sem_util.adb, sem_util.ads: Prototype code for AI05-0144.
1070
1071 2010-06-23  Emmanuel Briot  <briot@adacore.com>
1072
1073         * prj.ads, prj-nmsc.adb (Error_Or_Warning): New subprogram.
1074
1075 2010-06-23  Robert Dewar  <dewar@adacore.com>
1076
1077         * g-pehage.adb, exp_ch13.adb: Minor reformatting.
1078
1079 2010-06-23  Thomas Quinot  <quinot@adacore.com>
1080
1081         * a-tags.ads: Fix description of TSD structure.
1082
1083 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1084
1085         * sem_ch12.adb (Mark_Context): When indicating that the body of a
1086         generic unit is needed prior to the unit containing an instantiation,
1087         search recursively the context of the generic to add other generic
1088         bodies that may be instantiated indirectly through the current instance.
1089
1090 2010-06-23  Robert Dewar  <dewar@adacore.com>
1091
1092         * freeze.adb: Minor reformatting.
1093
1094 2010-06-23  Bob Duff  <duff@adacore.com>
1095
1096         * g-pehage.adb (Trim_Trailing_Nuls): Fix the code to match the comment.
1097
1098 2010-06-23  Vincent Celier  <celier@adacore.com>
1099
1100         * make.adb (Compile_Sources): Complete previous change.
1101
1102 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1103
1104         * sem_ch6.adb (Add_Extra_Formal): Use suffix "C" in the name of the
1105         Constrained extra formal.
1106
1107 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1108
1109         * exp_ch13.adb (Expand_Freeze_Actions): If validity checks and
1110         Initialize_Scalars are enabled, compile the generated equality function
1111         for a composite type with full checks enabled, so that validity checks
1112         are performed on individual components.
1113
1114 2010-06-23  Emmanuel Briot  <briot@adacore.com>
1115
1116         * prj.adb, prj.ads, prj-nmsc.adb (Processing_Flags): New flag
1117         Missing_Source_Files.
1118
1119 2010-06-23  Robert Dewar  <dewar@adacore.com>
1120
1121         * exp_ch3.adb, exp_util.adb: Minor reformatting.
1122
1123 2010-06-23  Jose Ruiz  <ruiz@adacore.com>
1124
1125         * a-reatim.adb, a-retide.adb: Move the initialization of the tasking
1126         run time from Ada.Real_Time.Delays to Ada.Real_Time. This way, calls to
1127         Clock (without delays) use a run time which is properly initialized.
1128
1129 2010-06-23  Vincent Celier  <celier@adacore.com>
1130
1131         * make.adb: Do not set Check_Readonly_Files when setting Must_Compile,
1132         when -f -u and a main is specified on the command line. However,
1133         attempt to compile even when the ALI file is read-only when
1134         Must_Compile is True.
1135
1136 2010-06-23  Thomas Quinot  <quinot@adacore.com>
1137
1138         * checks.adb, g-pehage.adb, cstand.adb: Minor code factorization.
1139
1140 2010-06-23  Javier Miranda  <miranda@adacore.com>
1141
1142         * sem_ch3.adb (Add_Internal_Interface_Entities): Generate internal
1143         entities for parent types that are interfaces. Needed in generics to
1144         handle formals that implement interfaces.
1145         (Derive_Subprograms): Add assertion for derivation of tagged types that
1146         do not cover interfaces. For generics, complete code that handles
1147         derivation of type that covers interfaces because the previous
1148         condition was weak (it required only name consistency; arguments were
1149         not checked). Add new code to locate primitives covering interfaces
1150         defined in generic units or instantiatons.
1151         * sem_util.adb (Has_Interfaces): Add missing support for derived types.
1152         * sem_ch6.adb (Check_Overriding_Indicator): Minor code cleanups.
1153         * exp_disp.adb (Make_Select_Specific_Data_Table): Skip primitives of
1154         interfaces that are parents of the type because they share the primary
1155         dispatch table.
1156         (Register_Primitive): Do not register primitives of interfaces that
1157         are parents of the type.
1158         * sem_ch13.adb (Analyze_Freeze_Entity): Add documentation.
1159         * exp_cg.adb (Write_Type_Info): When displaying overriding of interface
1160         primitives skip primitives of interfaces that are parents of the type.
1161
1162 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1163
1164         * sem_attr.adb (Eval_Attribute): If the prefix is an array, the
1165         attribute cannot be constant-folded if an index type is a formal type,
1166         or is derived from one.
1167         * checks.adb (Determine_Range): ditto.
1168
1169 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
1170
1171         * gnat_ugn.texi, gnatxref.adb: Add support for --ext switch.
1172
1173 2010-06-23  Bob Duff  <duff@adacore.com>
1174
1175         * g-pehage.ads, g-pehage.adb (Put): Fix off-by-one bug.
1176         (Insert): Disallow nul characters.
1177         (misc output routines): Assert no nul characters.
1178
1179 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1180
1181         * exp_ch4.adb: Use predefined unsigned type in all cases.
1182
1183 2010-06-23  Bob Duff  <duff@adacore.com>
1184
1185         * s-rannum.adb (Reset): Avoid overflow in calculation of Initiator.
1186         * g-pehage.ads: Minor comment fixes.
1187         * g-pehage.adb: Minor: Add some additional debugging printouts under
1188         Verbose flag.
1189
1190 2010-06-23  Robert Dewar  <dewar@adacore.com>
1191
1192         * binde.adb (Better_Choice): Always prefer Pure/Preelab.
1193         (Worse_Choice): Always prefer Pure/Preelab.
1194
1195 2010-06-23  Vincent Celier  <celier@adacore.com>
1196
1197         * a-reatim.adb: Call System.OS_Primitives.Initialize during elaboration
1198
1199 2010-06-23  Robert Dewar  <dewar@adacore.com>
1200
1201         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Properly handle
1202         checking returns in generic case.
1203         (Check_Missing_Return): New procedure.
1204
1205 2010-06-23  Robert Dewar  <dewar@adacore.com>
1206
1207         * bindgen.adb, switch-b.adb: Minor reformatting.
1208
1209 2010-06-23  Javier Miranda  <miranda@adacore.com>
1210
1211         * frontend.adb (Frontend): Add call to initialize the new package
1212         SCIL_LL.
1213         * exp_ch7.adb (Wrap_Transient_Expression): Remove call to
1214         Adjust_SCIL_Node.
1215         (Wrap_Transient_Statement): Remove call to Adjust_SCIL_Node.
1216         * sem_ch5.adb (Analyze_Iteration_Scheme.Process_Bounds): Remove call to
1217         Adjust_SCIL_Node.
1218         * exp_util.adb (Insert_Actions): Remove code for
1219         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
1220         (Remove_Side_Effects): Remove calls to Adjust_SCIL_Node.
1221         * sinfo.adb (SCIL_Entity, SCIL_Tag_Value): Remove checks on
1222         N_SCIL_Tag_Init and N_SCIL_Dispatch_Table_Object_Init in the assertion.
1223         (SCIL_Related_Node, Set_SCIL_Related_Node): Removed.
1224         * sinfo.ads (SCIL_Related_Node): Field removed.
1225         (N_SCIL_Dispatch_Table_Object_Init): Node removed.
1226         (N_SCIL_Tag_Init): Node removed.
1227         * sem_scil.ads, sem_scil.adb (Adjust_SCIL_Node): Removed.
1228         (Check_SCIL_Node): New implementation.
1229         (Find_SCIL_Node): Removed.
1230         * sem.adb (Analyze): Remove management of
1231         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
1232         * sem_util.adb (Insert_Explicit_Dereference): Remove call to
1233         Adjust_SCIL_Node.
1234         * exp_ch4.adb (Expand_N_In): Code cleanup: remove call to
1235         Set_SCIL_Related_Node and avoid adding the SCIL node before the
1236         referenced node using Insert_Action because this is not longer required.
1237         (Expand_Short_Circuit_Operator): Remove call to SCIL node.
1238         * exp_ch6.adb (Expand_Call): Remove call to Adjust_SCIL_Node.
1239         * sem_ch4.adb (Analyze_Type_Conversion): Remove call to Adjust_SCIL_Node
1240         * exp_disp.adb (Expand_Dispatching_Call): Minor code reorganization
1241         because we no longer require to generate the SCIL node before the call.
1242         (Make_DT): Remove generation of SCI_Dispatch_Table_Object_Init node.
1243         Remove calls to Set_SCIL_Related_Node and avoid adding the SCIL
1244         nodes before the referenced node using Insert_Action because this
1245         is not longer required.
1246         * atree.adb (Allocate_Initialize_Node, Replace, Rewrite): Add call to
1247         update the SCIL_Node field.
1248         * sprint.adb (Sprint_Node_Actual): Remove code for
1249         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
1250         * treepr.adb (Print_Node): Print the SCIL node field (if available).
1251         * exp_ch3.adb (Build_Init_Procedure): Remove generation of
1252         SCIL_Tag_Init nodes.
1253         * scil_ll.ads, scil_ll.adb: New files.
1254         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
1255         dependencies.
1256
1257 2010-06-23  Robert Dewar  <dewar@adacore.com>
1258
1259         * sem_ch6.adb: Minor reformatting.
1260
1261 2010-06-23  Doug Rupp  <rupp@adacore.com>
1262
1263         * bindusg.adb (Display): Write -Hnn line.
1264         * bindgen.adb (Gen_Adainit_Ada): Write Heap_Size to binder file as 
1265         necessary.
1266         * init.c (__gl_heap_size): Rename from __gl_no_malloc_64 and change
1267         valid values to 32 and 64.
1268         (GNAT$NO_MALLOC_64): Recognize TRUE, 1, FALSE, and 0 in addition to
1269         ENABLE, DISABLE as valid settings.
1270         * switch-b.adb (Scan_Binder_Switches): Process -Hnn switch.
1271         * opt.ads (Heap_Size): New global variable.
1272         * gcc-interface/utils2.c (maybe_wrap_malloc): Remove mostly redundant 
1273         TARGET_MALLOC64 check. Fix comment.
1274
1275 2010-06-23  Robert Dewar  <dewar@adacore.com>
1276
1277         * sem_ch6.adb, exp_ch4.adb, s-rannum.ads, sem.adb, sem_ch12.adb: Minor
1278         reformatting.  Add comments.
1279         * errout.adb (Finalize): Properly adjust warning count when deleting
1280         continuations.
1281
1282 2010-06-22  Robert Dewar  <dewar@adacore.com>
1283
1284         * errout.adb (Finalize): Set Prev pointers.
1285         (Finalize): Delete continuations for deletion by warnings off(str).
1286         * erroutc.ads: Add Prev pointer to error message structure.
1287
1288 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1289
1290         * sem.adb (Do_Unit_And_Dependents): If the spec of the main unit is a
1291         child unit, examine context of parent units to locate instantiated
1292         generics whose bodies may be needed. 
1293         * sem_ch12.adb: (Mark_Context): if the enclosing unit does not have a
1294         with_clause for the instantiated generic, examine the context of its
1295         parents, to set Withed_Body flag, so that it can be visited earlier.
1296         * exp_ch4.adb (Expand_N_Op_Not): If this is a VMS operator applied to
1297         an unsigned type, use a type of the proper size for the intermediate
1298         value, to prevent alignment problems on unchecked conversion.
1299
1300 2010-06-22  Geert Bosch  <bosch@adacore.com>
1301
1302         * s-rannum.ads Change Generator type to be self-referential to allow
1303         Random to update its argument. Use "in" mode for the generator in the
1304         Reset procedures to allow them to be called from the Ada.Numerics
1305         packages without tricks.
1306         * s-rannum.adb: Use the self-referencing argument to get write access
1307         to the internal state of the random generator.
1308         * a-nudira.ads: Make Generator a derived type of
1309         System.Random_Numbers.Generator.
1310         * a-nudira.adb: Remove use of 'Unrestricted_Access.
1311         Put subprograms in alpha order and add headers.
1312         * g-mbdira.ads: Change Generator type to be self-referential.
1313         * g-mbdira.adb: Remove use of 'Unrestricted_Access.
1314
1315 2010-06-22  Robert Dewar  <dewar@adacore.com>
1316
1317         * freeze.adb: Minor reformatting
1318         Minor code reorganization (use Nkind_In and Ekind_In).
1319
1320 2010-06-22  Bob Duff  <duff@adacore.com>
1321
1322         * gnat1drv.adb (Gnat1drv): Remove the messages that recommend using 
1323         -gnatc when a file is compiled that we cannot generate code for, not
1324         helpful and confusing.
1325
1326 2010-06-22  Vincent Celier  <celier@adacore.com>
1327
1328         * switch-m.adb (Normalize_Compiler_Switches): Process correctly
1329         switches -gnatknn.
1330
1331 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
1332
1333         * s-rannum.adb: Replace constants with commented symbols.
1334         * s-rannum.ads: Explain significance of the initial value of the data
1335         structure.
1336
1337 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1338
1339         * a-ngcoty.adb: Clarify comment.
1340
1341 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
1342
1343         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Return without
1344         expansion for indexing packed arrays with small power-of-2 component
1345         sizes when the target is AAMP.
1346         (Expand_Packed_Element_Reference): Return without expansion for
1347         indexing packed arrays with small power-of-2 component sizes when the
1348         target is AAMP.
1349
1350 2010-06-22  Geert Bosch  <bosch@adacore.com>
1351
1352         * exp_ch4.adb (Expand_N_In): Do not substitute a valid check for X in
1353         Float'Range.
1354
1355 2010-06-22  Robert Dewar  <dewar@adacore.com>
1356
1357         * g-mbdira.adb, g-mbflra.adb, a-nuflra.adb, a-nudira.adb: Minor comment
1358         updates.
1359
1360 2010-06-22  Doug Rupp  <rupp@adacore.com>
1361
1362         * system-vms.ads, system-vms-zcx.ads: Remove old unused VMS system
1363         packages.
1364         * system-vms_64.ads, system-vms-ia64.ads: Minor reformatting.
1365         (pragma Ident): Add a default ident string in the private part.
1366
1367 2010-06-22  Robert Dewar  <dewar@adacore.com>
1368
1369         * cstand.adb: Minor reformatting.
1370
1371 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1372
1373         * freeze.adb (Build_And_Analyze_Renamed_Body): For expansion purposes,
1374         recognize the Shift and Rotation intrinsics that are known to the
1375         compiler but have no interface name.
1376
1377 2010-06-22  Geert Bosch  <bosch@adacore.com>
1378
1379         * a-ngcoty.adb ("*"): Rewrite complex multiplication to use proper
1380         scaling in case of overflow or NaN results.
1381
1382 2010-06-22  Robert Dewar  <dewar@adacore.com>
1383
1384         * cstand.adb: Complete previous change.
1385         * g-dirope.ads: Add comment.
1386         * s-stchop.adb, sfn_scan.adb: Minor reformatting.
1387
1388 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1389
1390         * cstand.adb: Add tree nodes for pragma Pack on string types.
1391
1392 2010-06-22  Javier Miranda  <miranda@adacore.com>
1393
1394         * einfo.ads, einfo.adb (Last_Formal): New synthesized attribute.
1395         * exp_util.adb (Find_Prim_Op): Use new attribute to locate the last
1396         formal of a primitive.
1397         * exp_disp.adb (Is_Predefined_Dispatching_Operation,
1398          Is_Predefined_Dispatching_Alias): Use new attribute to locate the last
1399         formal of a primitive.
1400         * exp_cg.adb (Is_Predefined_Dispatching_Operation): Use new attribute
1401         to obtain the last formal of a primitive.
1402
1403 2010-06-22  Geert Bosch  <bosch@adacore.com>
1404
1405         * sysdep.c, init.c, adaint.c, cstreams.c: Remove conditional code
1406         depending on __EMX__ or MSDOS being defined.
1407         * i-cstrea.ads, gnat_rm.texi: Remove mentions of OS/2, DOS and Xenix.
1408         * a-excpol-abort.adb: Update comment indicating users of the file.
1409         * xref_lib.adb, sfn_scan.adb: Remove mention of OS/2, replace NT by
1410         Windows.
1411         * env.c: Remove empty conditional for MSDOS.
1412         * s-stchop.adb, g-dirope.ads, s-fileio.adb, osint.ads: Remove mention
1413         of OS/2 in comment.
1414
1415 2010-06-22  Robert Dewar  <dewar@adacore.com>
1416
1417         * s-rannum.adb: Minor reformatting.
1418
1419 2010-06-22  Javier Miranda  <miranda@adacore.com>
1420
1421         * sem_aux.adb, sem_aux.ads, sem_util.adb, sem_util.ads, sem_elim.adb,
1422         exp_cg.adb: Minor code reorganization: Move routine Ultimate_Alias from
1423         package Sem_Util to package Sem_Aux.
1424
1425 2010-06-22  Javier Miranda  <miranda@adacore.com>
1426
1427         * exp_disp.adb (Make_Secondary_DT, Make_DT): Minor code cleanup:
1428         remove useless restriction on imported routines when building the
1429         dispatch tables.
1430
1431 2010-06-22  Robert Dewar  <dewar@adacore.com>
1432
1433         * cstand.adb (Create_Standard): Set Has_Pragma_Pack for standard string
1434         types.
1435
1436 2010-06-22  Javier Miranda  <miranda@adacore.com>
1437
1438         * sem_ch4.adb (Collect_Generic_Type_Ops): Protect code that handles
1439         generic subprogram declarations to ensure proper context. Add missing
1440         support for generic actuals.
1441         (Try_Primitive_Operation): Add missing support for concurrent types that
1442         have no Corresponding_Record_Type. Required to diagnose errors compiling
1443         generics or when compiling with no code generation (-gnatc).
1444         * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Do not build
1445         the corresponding record type.
1446         * sem_disp.ads, sem_disp.adb (Check_Dispatching_Operation): Complete
1447         documentation. Do minimum decoration when processing a primitive of a
1448         concurrent tagged type that covers interfaces. Required to diagnose
1449         errors in the Object.Operation notation compiling generics or under
1450         -gnatc.
1451         * exp_ch9.ads, exp_ch9.adb (Build_Corresponding_Record): Add missing
1452         propagation of attribute Interface_List to the corresponding record.
1453         (Expand_N_Task_Type_Declaration): Code cleanup.
1454         (Expand_N_Protected_Type_Declaration): Code cleanup.
1455
1456 2010-06-22  Matthew Heaney  <heaney@adacore.com>
1457
1458         * a-convec.adb, a-coinve.adb: Removed 64-bit types Int and UInt.
1459
1460 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
1461
1462         * s-rannum.adb (Random_Float_Template): Replace with unbiased version
1463         that is able to produce all representable floating-point numbers in the
1464         unit interval. Remove template parameter Shift_Right, no longer used.
1465         * gnat_rm.texi: Document the period of the pseudo-random number
1466         generator under the description of its algorithm.
1467         * gcc-interface/Make-lang.in: Update dependencies.
1468
1469 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1470
1471         * exp_aggr.adb (Rewrite_Discriminant): Fix predicate used to identify
1472         reference to discriminant (can be an expanded name as well as an
1473         identifier).
1474
1475 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1476
1477         * exp_ch6.adb: Clarify comment.
1478
1479 2010-06-22  Geert Bosch  <bosch@adacore.com>
1480
1481         * exp_imgv.adb (Expand_Image_Attribute): Treat ordinary fixed point
1482         with decimal small as decimal types, avoiding floating-point arithmetic.
1483         (Has_Decimal_Small): New function.
1484         * einfo.ads, einfo.adb (Aft_Value): New synthesized attributed for
1485         fixed point types.
1486         * sem_attr.adb (Eval_Attribute): Remove Aft_Value function and update
1487         callers to call the new function in Einfo that takes the entity as
1488         parameter.
1489
1490 2010-06-22  Robert Dewar  <dewar@adacore.com>
1491
1492         * sem_ch3.adb, sem_ch8.adb: Minor reformatting.
1493
1494 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1495
1496         * sem_elab.adb: Minor reformatting.
1497
1498 2010-06-22  Vincent Celier  <celier@adacore.com>
1499
1500         * gnatsym.adb: Put the object files in the table in increasing
1501         aphabetical order of base names.
1502
1503 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1504
1505         * sem_ch8.adb (Set_Entity_Or_Discriminal): New procedure used by
1506         Find_Direct_Name and Find_Expanded_Name, to replace a discriminant with
1507         the corresponding discriminal within a record declaration.
1508
1509 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1510
1511         * exp_aggr.adb (Rewrite_Discriminant): Rewriting must occur only for an
1512         expression referring to a discriminal of the type of the aggregate (not
1513         a discriminal of some other unrelated type), and the prefix in the
1514         generated selected component must come from Lhs, not Obj.
1515
1516 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1517
1518         * sem_ch3.adb (Build_Derived_Record_Type): Fix predicate determining
1519         when to freeze the parent type.
1520
1521 2010-06-22  Robert Dewar  <dewar@adacore.com>
1522
1523         * s-rannum.adb, a-nudira.adb, types.ads, freeze.adb, sem_aggr.adb,
1524         exp_aggr.adb: Minor reformatting.
1525         * gnat_rm.texi: Document GNAT.MBBS_Discrete_Random and
1526         GNAT.MBSS_Float_Random.
1527         * g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: Fix header.
1528
1529 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
1530
1531         * a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads,
1532         gnat_rm.texi, impunit.adb, Makefile.rtl, s-rannum.adb
1533         (Random_Float_Template, Random): New method of creating
1534         uniform floating-point variables that allow the creation of all machine
1535         values in [0 .. 1).  
1536
1537         * g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: New file.
1538
1539 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
1540
1541         * sem_ch5.adb (Analyze_Assignment): Revise test for illegal assignment
1542         to abstract targets to check that the type is tagged and comes from
1543         source, rather than only testing for targets of interface types. Remove
1544         premature return.
1545
1546 2010-06-22  Vincent Celier  <celier@adacore.com>
1547
1548         * vms_data.ads: Modify the declarations of qualifiers
1549         /UNCHECKED_SHARED_LIB_IMPORTS to allow the generation of gnat.hlp
1550         without error.
1551
1552 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1553
1554         * exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false if
1555         expansion is disabled.
1556
1557 2010-06-22  Robert Dewar  <dewar@adacore.com>
1558
1559         * makeusg.adb: Minor reformatting.
1560
1561 2010-06-22  Robert Dewar  <dewar@adacore.com>
1562
1563         * types.ads: (Dint): Removed, no longer used anywhere.
1564         * uintp.adb (UI_From_CC): Use UI_From_Int, range is sufficient.
1565         (UI_Mul): Avoid use of UI_From_Dint.
1566         (UI_From_Dint): Removed, not used.
1567         * uintp.ads (UI_From_Dint): Removed, not used.
1568         (Uint_Min/Max_Simple_Mul): New constants.
1569
1570 2010-06-22  Vincent Celier  <celier@adacore.com>
1571
1572         * clean.adb (Parse_Cmd_Line): Recognize switch
1573         --unchecked-shared-lib-imports.
1574         (Usage): Add line for switch --unchecked-shared-lib-imports
1575         * makeusg.adb: Add line for switch --unchecked-shared-lib-imports
1576         * makeutl.ads: (Unchecked_Shared_Lib_Imports): New constant string
1577         moved from GPR_Util.
1578         * switch-m.adb (Scan_Make_Switches): Recognize switch
1579         --unchecked-shared-lib-imports.
1580         * vms_data.ads: Add VMS qualifiers /UNCHECKED_SHARED_LIB_IMPORTS.
1581         * gnat_ugn.texi: Add documentation for new switch
1582         --unchecked-shared-lib-imports.  Add also documentation for --subdirs.
1583
1584 2010-06-22  Javier Miranda  <miranda@adacore.com>
1585
1586         * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, exp_ch6.adb,
1587         exp_disp.adb, sem_eval.adb, exp_dist.adb lib-xref.adb: Code cleanup,
1588         this patch replaces duplication of code that traverses the chain of
1589         aliased primitives by a call to routine Ultimate_Alias that
1590         provides this functionality.
1591
1592 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
1593
1594         * fmap.adb, opt.ads, osint.adb, osint.ads, output.ads, scng.adb,
1595         sinput-c.adb, switch-m.ads, tree_io.ads: Use simpler form of
1596         Warnings Off/On.
1597
1598 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1599
1600         * einfo.ads: Minor reformatting.
1601
1602 2010-06-22  Javier Miranda  <miranda@adacore.com>
1603
1604         * exp_disp.adb (Expand_Interface_Thunk): Do not generate thunk of
1605         eliminated primitives.
1606         (Make_DT): Avoid referencing eliminated primitives.
1607         (Register_Primitive): Do not register eliminated primitives in the
1608         dispatch table. Required to add this functionality when the program is
1609         compiled without static dispatch tables (-gnatd.t)
1610
1611 2010-06-22  Emmanuel Briot  <briot@adacore.com>
1612
1613         * fmap.adb, scng.adb, switch-m.ads, sinput-c.adb, opt.ads, output.ads,
1614         tree_io.ads, osint.adb, osint.ads: Use configuration pragmas to prevent
1615         warnings on use of internal GNAT units.
1616
1617 2010-06-22  Jose Ruiz  <ruiz@adacore.com>
1618
1619         * s-taprop-vxworks.adb (Set_Priority): Update comments.
1620
1621 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
1622
1623         * s-rannum.adb: Make stylistic change to remove mystery constant in
1624         Extract_Value.  Image_Numeral_Length: new symbolic constant.
1625
1626 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1627
1628         * einfo.ads, einfo.adb: Make Is_Protected_Interface,
1629         Is_Synchronized_Interface, Is_Task_Interface into computable
1630         predicates, to free three flags in entity nodes.
1631         * sem_ch3.adb: Remove setting of these flags.
1632
1633 2010-06-22  Robert Dewar  <dewar@adacore.com>
1634
1635         * uintp.adb, osint.adb, prj-conf.adb, prj-part.adb, prj.adb: Minor
1636         reformatting.
1637         * s-taprop-vxworks.adb: Add comment for Set_Priority.
1638         * impunit.adb (Map_Array): Add entries for s-htable.ads and s-crc32.ads
1639         * projects.texi: Move @cindex to the left margin, since otherwise we
1640         are missing entries in the index.
1641
1642 2010-06-22  Emmanuel Briot  <briot@adacore.com>
1643
1644         * prj-part.adb, prj.adb, tempdir.ads, makeutl.adb: Use
1645         packages from the GNAT hierarchy instead of System when possible.
1646         * gcc-interface/Make-lang.in: Update dependencies.
1647
1648 2010-06-22  Jose Ruiz  <ruiz@adacore.com>
1649
1650         * s-taprop-vxworks.adb (Set_Priority): Remove the code that was
1651         previously in place to reorder the ready queue when a task drops its
1652         priority due to the loss of inherited priority.
1653
1654 2010-06-22  Vincent Celier  <celier@adacore.com>
1655
1656         * projects.texi: Minor spelling error fixes.
1657         Minor reformatting.
1658
1659 2010-06-22  Emmanuel Briot  <briot@adacore.com>
1660
1661         * prj-part.adb, prj-ext.adb, prj.adb, makeutl.adb, prj-conf.adb: Remove
1662         warnings for some with clauses.
1663
1664 2010-06-22  Robert Dewar  <dewar@adacore.com>
1665
1666         * errout.adb (Unwind_Internal_Type): Improve handling of First_Subtype
1667         test to catch more cases where first subtype is the results we want.
1668         * sem_res.adb (Make_Call_Into_Operator): Don't go to First_Subtype in
1669         error case, since Errout will now handle this correctly.
1670         * gcc-interface/Make-lang.in: Add Sem_Aux to list of GNATBIND objects.
1671         Update dependencies.
1672
1673 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
1674
1675         * exp_ch4.adb (Expand_Allocator_Expression): Set Related_Node properly
1676         when calling Make_Temporary.
1677
1678 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1679
1680         * sem_ch3.adb (Access_Subprogram_Declaration): An anonymous access to
1681         subprogram can be associated with an entry body.
1682
1683 2010-06-22  Robert Dewar  <dewar@adacore.com>
1684
1685         * scos.ads: Add note on membership test handling.
1686
1687 2010-06-22  Vincent Celier  <celier@adacore.com>
1688
1689         * projects.texi: Minor spelling fixes.
1690         Minor reformatting.
1691
1692 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
1693
1694         * s-rannum.adb: Correct off-by-one error in Extract_Value.
1695
1696 2010-06-22  Vincent Celier  <celier@adacore.com>
1697
1698         * mlib-prj.adb (Display): In non verbose mode, truncate after fourth
1699         argument.
1700         * mlib-utl.adb (Gcc): In non verbose mode, truncate the display of the
1701         gcc command if it is too long.
1702
1703 2010-06-22  Robert Dewar  <dewar@adacore.com>
1704
1705         * errout.adb (Set_Msg_Node): Fix incorrect reference to node.
1706
1707 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
1708
1709         * exp_ch6.adb (Expand_Actuals): Use Actual as the related node when
1710         calling Make_Temporary.
1711
1712 2010-06-22  Robert Dewar  <dewar@adacore.com>
1713
1714         * sem_res.adb, sem_aux.adb, errout.adb: Minor reformatting.
1715
1716 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1717
1718         * sem_res.adb: Additional special-case for VMS.
1719
1720 2010-06-22  Vincent Celier  <celier@adacore.com>
1721
1722         * gnatsym.adb: Minor comment fix.
1723
1724 2010-06-22  Vincent Celier  <celier@adacore.com>
1725
1726         * prj-nmsc.adb (Process_Naming_Scheme): Initialize table Lib_Data_Table.
1727
1728 2010-06-22  Robert Dewar  <dewar@adacore.com>
1729
1730         * par-ch4.adb (P_Name): Recognize 'Mod attribute in Ada 95 mode
1731         * sem_attr.adb (Attribute_05): Add Name_Mod so that 'Mod recognized in
1732         Ada 95 mode as an implementation defined attribute.
1733
1734 2010-06-22  Vincent Celier  <celier@adacore.com>
1735
1736         * bindusg.adb (Display): Update line for -R
1737         * switch-b.adb (Scan_Binder_Switches): Allow generation of the binder
1738         generated files when -R is used.
1739
1740 2010-06-22  Vincent Celier  <celier@adacore.com>
1741
1742         * prj-nmsc.adb (Lib_Data_Table): New table.
1743         (Check_Library_Attributes): Check if the same library name is used in
1744         two different projects that do not extend each other.
1745
1746 2010-06-22  Robert Dewar  <dewar@adacore.com>
1747
1748         * lib-writ.ads, errout.adb, einfo.adb, einfo.ads: Minor reformatting.
1749
1750 2010-06-22  Vincent Celier  <celier@adacore.com>
1751
1752         * adaint.c (__gnat_locate_regular_file): If a directory in the path is
1753         empty, make it the current working directory.
1754
1755 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1756
1757         * sem_ch3.adb (Build_Derived_Record_Type): When deriving a tagged
1758         private type with discriminants, make sure the parent type is frozen.
1759
1760 2010-06-22  Eric Botcazou  <ebotcazou@adacore.com>
1761
1762         * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Bit>: Deal
1763         with packed array references specially.
1764         * exp_ch4.adb (Expand_N_Indexed_Component): Do not convert a reference
1765         to a component of a bit packed array if it is the prefix of 'Bit.
1766         * exp_pakd.ads (Expand_Packed_Bit_Reference): Declare.
1767         * exp_pakd.adb (Expand_Packed_Bit_Reference): New procedure.  Expand a
1768         'Bit reference, where the prefix involves a packed array reference.
1769         (Get_Base_And_Bit_Offset): New helper, extracted from...
1770         (Expand_Packed_Address_Reference): ...here.  Call above procedure to
1771         get the outer object and offset expression.
1772
1773 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1774
1775         * exp_attr.adb, lib-writ.ads, bindgen.adb: Minor reformatting.
1776         * einfo.adb (Related_Expression, Set_Related_Expression): Add
1777         assertions.
1778
1779 2010-06-22  Javier Miranda  <miranda@adacore.com>
1780
1781         * sem_ch3.adb (Add_Internal_Interface_Entities): Minor code
1782         reorganization to properly check if the operation has been inherited as
1783         an abstract operation.
1784
1785 2010-06-22  Ed Falis  <falis@adacore.com>
1786
1787         * s-osinte-vxworks.ads: Complete previous change.
1788
1789 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1790
1791         * sem_res.adb: Add comment.
1792         * projects.texi, gnat_ugn.texi: Remove macro.
1793
1794 2010-06-22  Vincent Celier  <celier@adacore.com>
1795
1796         * prj-attr.adb: Remove project level attribute Main_Language.
1797
1798 2010-06-22  Robert Dewar  <dewar@adacore.com>
1799
1800         * switch-b.adb, osint-b.adb: Minor reformatting.
1801
1802 2010-06-22  Pascal Obry  <obry@adacore.com>
1803
1804         * g-socthi-mingw.adb (C_Sendmsg): Do not attempt to send data from a
1805         vector if previous send was not fully successful. If only part of
1806         the vector data was sent, we exit the loop.
1807
1808 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1809
1810         * sem_res.adb (Make_Call_Into_Operator): Use First_Subtype for better
1811         error reporting with generic types.
1812
1813 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1814
1815         * bindgen.adb, bindusg.adb, gnatbind.adb, gnat_ugn.texi, opt.ads,
1816         osint-b.adb, osint-b.ads, output.adb, output.ads, switch-b.adb,
1817         vms_data.ads: Add a new command line switch -A to gnatbind to output
1818         the list of all ALI files for the partition.
1819
1820 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
1821
1822         * s-osinte-vxworks.ads: Fix casing.
1823         * s-vxwext-kernel.ads, s-vxwext-rtp.ads: Complete previous
1824         change: Interfaces.C does not provide a long_long type.
1825
1826 2010-06-22  Emmanuel Briot  <briot@adacore.com>
1827
1828         * gnat_ugn.texi, projects.texi: Preprocess projects.texi for VMS and
1829         native user's guide, since this document contains the two versions.
1830         * gcc-interface/Make-lang.in: Update doc dependencies.
1831
1832 2010-06-22  Robert Dewar  <dewar@adacore.com>
1833
1834         * sem_ch3.adb: Minor reformatting.  Minor code reorganization.
1835
1836 2010-06-22  Emmanuel Briot  <briot@adacore.com>
1837
1838         * gnat_ugn.texi, projects.texi: Remove toplevel menu, since we should
1839         not build this file on its own (only through gnat_ugn.texi).
1840         Remove macro definitions and insert simpler version in gnat_ugn.texi.
1841
1842 2010-06-22  Robert Dewar  <dewar@adacore.com>
1843
1844         * ali-util.ads: Minor comment update.
1845         * g-socthi-mingw.adb: Minor reformatting.
1846
1847 2010-06-22  Ed Falis  <falis@adacore.com>
1848
1849         * s-osinte-vxworks.ads: take sigset_t definition from System.VxWorks.Ext
1850         * s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads: Define sigset_t
1851         for specific versions of VxWorks.
1852
1853 2010-06-22  Emmanuel Briot  <briot@adacore.com>
1854
1855         * gnat_rm.texi, gnat_ugn.texi, projects.texi: Remove all project files
1856         related sections from user's guide and reference manual, since they
1857         have now been merged together into a separate document (projects.texi).
1858         This removes a lot of duplication where attributes where described
1859         in several places.
1860         The grammar for the project files is now in each of the sections
1861         (packages,expressions,...) instead of being duplicates in two other
1862         sections (one in the user's guide that contained the full grammar,
1863         and various sections in the rm that contained extracts of the same
1864         grammar).
1865         Added the full list of all supported attributes, since existing lists
1866         were incomplete
1867         Rename "associative array" into "indexed attribute"
1868         Remove sections that were duplicates ("External References in
1869         Project Files" and "External Values", and "Project Extensions"
1870         for instance). The list of valid packages in project files is now in
1871         a single place.
1872
1873 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1874
1875         * sem_ch3.adb (Add_Internal_Interface_Entities): If
1876         Find_Primitive_Covering_Interface does not find the operation, it may
1877         be because of a name conflict between the inherited operation and a
1878         local non-overloadable name. In that case look for the operation among
1879         the primitive operations of the type. This search must succeed
1880         regardless of visibility.
1881
1882 2010-06-22  Pascal Obry  <obry@adacore.com>
1883
1884         * g-socthi-mingw.adb: Properly honor MSG_WAITALL in recvmsg.
1885         (C_Recvmsg): Propely honor the MSG_WAITALL flag in Windows
1886         recvmsg emulation.
1887
1888 2010-06-22  Robert Dewar  <dewar@adacore.com>
1889
1890         * sem_ch4.adb (Analyze_Conditional_Expression): Defend against
1891         malformed tree.
1892         * sprint.adb (Sprint_Node_Actual, case N_Conditional_Expression): Ditto.
1893
1894 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
1895
1896         * s-intman-vxworks.ads: Code clean up.
1897
1898 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1899
1900         * sem_res.adb (Resolve_Slice): When the prefix is an explicit
1901         dereference, construct actual subtype of designated object to generate
1902         proper bounds checks.
1903
1904 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1905
1906         * ali-util.adb, ali-util.ads, gnatbind.adb (Read_ALI): Rename to
1907         Read_Withed_ALIs, which is more descriptive.
1908
1909 2010-06-22  Pascal Obry  <obry@adacore.com>
1910
1911         * g-sothco.ads: Minor reformatting.
1912         * g-socthi-mingw.adb: Remove part of work on the C_Recvmsg and
1913         C_Sendmsg implementation.
1914         (C_Sendmsg): Do not use lock (not needed).
1915         (C_Recvmsg): Likewise and also do not wait for incoming data.
1916
1917 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1918
1919         * uintp.adb: Fix scope error in operator call.
1920
1921 2010-06-22  Vincent Celier  <celier@adacore.com>
1922
1923         * makeutl.adb (Executable_Prefix_Path): on VMS, return "/gnu/".
1924         * prj-conf.adb (Get_Or_Create_Configuration_File): On VMS, if
1925         autoconfiguration is needed, fail indicating that no config project
1926         file can be found, as there is no autoconfiguration on VMS.
1927
1928 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1929
1930         * sem_res.adb (Make_Call_Into_Operator): Diagnose an incorrect scope
1931         for an operator in a functional notation, when operands are universal.
1932
1933 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
1934
1935         * gcc-interface/Make-lang.in: Update dependencies.
1936
1937 2010-06-22  Robert Dewar  <dewar@adacore.com>
1938
1939         * sem_aggr.adb (Resolve_Record_Aggregate): Do style check on component
1940         name.
1941         * sem_ch10.adb (Analyze_Subunit): Do style check on parent unit name.
1942         * sem_ch8.adb (Find_Direct_Name): For non-overloadable entities, do
1943         style check.
1944         * sem_res.adb (Resolve_Entity_Name): Do style check for enumeration
1945         literals.
1946
1947 2010-06-22  Vincent Celier  <celier@adacore.com>
1948
1949         * make.adb (Scan_Make_Arg): No longer pass -nostdlib to the compiler as
1950         it has no effect. Always pass -nostdlib to gnatlink, even on VMS.
1951
1952 2010-06-22  Pascal Obry  <obry@adacore.com>
1953
1954         * g-socthi-mingw.adb: Fix implementation of the vectored sockets on
1955         Windows.
1956         (C_Recvmsg): Make sure the routine is atomic. Also fully
1957         fill vectors in the proper order.
1958         (C_Sendmsg): Make sure the routine is atomic.
1959
1960 2010-06-22  Robert Dewar  <dewar@adacore.com>
1961
1962         * sem_ch8.adb: Update comment.
1963         * sem_res.adb: Minor code reorganization (use Ekind_In).
1964
1965 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1966
1967         * sem_ch8.adb (Add_Implicit_Operator): If the context of the expanded
1968         name is a call, use the number of actuals to determine whether this is
1969         a binary or unary operator, rather than relying on later information
1970         to resolve the overload.
1971
1972 2010-06-22  Robert Dewar  <dewar@adacore.com>
1973
1974         * sem_ch10.adb, sem_aggr.adb: Minor reformatting.
1975
1976 2010-06-22  Robert Dewar  <dewar@adacore.com>
1977
1978         * sem_ch3.adb, sem_disp.adb: Minor code fixes.
1979         * sem_eval.adb: Minor reformatting.
1980
1981 2010-06-22  Vincent Celier  <celier@adacore.com>
1982
1983         * make.adb (Scan_Make_Arg): When invoked with -nostdlib, pass -nostdlib
1984         to gnatlink, except on Open VMS.
1985         * osint.adb (Add_Default_Search_Dirs): Do not suppress the default
1986         object directories if -nostdlib is used.
1987
1988 2010-06-22  Robert Dewar  <dewar@adacore.com>
1989
1990         * sem_util.adb (Is_Delegate): Put in proper alpha order.
1991         * sem_eval.adb: Minor reformatting.
1992
1993 2010-06-22  Robert Dewar  <dewar@adacore.com>
1994
1995         * g-expect-vms.adb, sem_res.adb: Minor reformatting.
1996         * exp_aggr.adb: Minor comment changes and reformatting.
1997         * sem_eval.adb (Find_Universal_Operator_Type): Put in proper alpha order
1998         * sem_util.ads: Add some missing pragma Inline's (efficiency issue only)
1999
2000 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2001
2002         * sem_util.adb (Build_Actual_Subtype): Record original expression in
2003         Related_Expression attribute of the constructed subtype.
2004         * einfo.adb, einfo.ads (Underlying_View): Move to Node28 to free up
2005         Node24 on types for...
2006         (Related_Expression): Make attribute available on types as well.
2007
2008 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
2009
2010         * exp_util.adb (Find_Interface_ADT): Retrieve Designated_Type instead of
2011         Directly_Designated_Type when the type argument is an access type.
2012         (Find_Interface_Tag): Retrieve Designated_Type instead of
2013         Directly_Designated_Type when the type argument is an access type.
2014         (Has_Controlled_Coextensions): Retrieve Designated_Type instead of
2015         Directly_Designated_Type of each access discriminant.
2016         * sem_res.adb (Resolve_Type_Conversion): Retrieve Designated_Type
2017         instead of Directly_Designated_Type when the operand and target types
2018         are access types.
2019
2020 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2021
2022         * exp_aggr.adb (Flatten): Return False if one choice is statically
2023         known to be out of bounds.
2024
2025 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2026
2027         * sem_res.adb (Resolve_Call): If the call is rewritten as an indexed of
2028         a parameterless function call, preserve parentheses of original
2029         expression, for proper handling by pretty printer.
2030         * sem_attr.adb (Analyze_Attribute, case 'Old): Add guard to Process
2031         procedure, to handle quietly identifiers that have no entity names.
2032         * exp_util.adb (Get_Current_Value_Condition): If the parent of an
2033         elsif_part is missing, it has been rewritten as a nested if, and there
2034         is no useful information on the current value of the variable.
2035
2036 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
2037
2038         * sem_ch3.adb (Build_Discriminal): Set default scopes for newly created
2039         discriminals to the current scope.
2040         * sem_util.adb (Find_Body_Discriminal): Remove setting of discriminal's
2041         scope, which could overwrite a different already set value.
2042
2043 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2044
2045         * sem_res.adb (Valid_Conversion): If expression is a predefined
2046         operator, use sloc of type of interpretation to improve error message
2047         when operand is of some derived type.
2048         * sem_eval.adb (Is_Mixed_Mode_Operand): New function, use it.
2049
2050 2010-06-22  Emmanuel Briot  <briot@adacore.com>
2051
2052         * g-expect-vms.adb (Expect_Internal): No longer raises an exception, so
2053         that it can set out parameters as well. When a process has died, reset
2054         its Input_Fd to Invalid_Fd, so that when using multiple processes we
2055         can find out which process has died.
2056
2057 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2058
2059         * sem_eval.adb (Find_Universal_Operator_Type): New
2060         subprogram to identify the operand type of an operator on universal
2061         operands, when an explicit scope indication is present. Diagnose the
2062         case where such a call is ambiguous.
2063         (Eval_Arithmetic_Op, Eval_Relational_Op, Eval_Unary_Op):
2064         Use the above to identify the operand type so it can be properly frozen.
2065         * sem_res.adb (Make_Call_Into_Operator): Remove bogus freeze of operand
2066         type, done in an arbitrary, possibly incorrect type (the presence of
2067         some numeric type in the scope is checked for legality, but when more
2068         than one such type is in the scope, we just pick a random one, not
2069         necessarily the expected one).
2070         * sem_utils.ads, sem_utils.adb (Is_Universal_Numeric_Type): New utility
2071         subprogram.
2072
2073 2010-06-22  Robert Dewar  <dewar@adacore.com>
2074
2075         * sem_eval.adb: Minor reformatting.
2076
2077 2010-06-22  Robert Dewar  <dewar@adacore.com>
2078
2079         * exp_ch4.adb (Expand_N_Conditional_Expression): Use
2080         Expression_With_Actions to clean up the code generated when folding
2081         constant expressions.
2082
2083 2010-06-22  Vincent Celier  <celier@adacore.com>
2084
2085         * g-expect-vms.adb: Add new subprograms Free, First_Dead_Process and
2086         Has_Process.
2087
2088 2010-06-22  Vincent Celier  <celier@adacore.com>
2089
2090         * prj-nmsc.adb (Find_Sources): When a source from a multi-unit file is
2091         found, check if it's path has aready been found, whatever its index.
2092
2093 2010-06-22  Robert Dewar  <dewar@adacore.com>
2094
2095         * atree.adb, gnatbind.adb: Minor reformatting.
2096         Minor code reorganization.
2097
2098 2010-06-21  Robert Dewar  <dewar@adacore.com>
2099
2100         * exp_ch4.adb (Expand_N_Conditional_Expression): Fold if condition
2101         known at compile time.
2102
2103 2010-06-21  Gary Dismukes  <dismukes@adacore.com>
2104
2105         * atree.adb: Fix comment typo.
2106
2107 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
2108
2109         * sem_eval.adb (Test_Ambiguous_Operator): New procedure to check
2110         whether a universal arithmetic expression in a conversion, which is
2111         rewritten from a function call with an expanded name, is ambiguous.
2112
2113 2010-06-21  Vincent Celier  <celier@adacore.com>
2114
2115         * prj-nmsc.adb (Name_Location): New Boolean component Listed, to record
2116         source files in specified list of sources.
2117         (Check_Package_Naming): Remove out parameters Bodies and Specs, as they
2118         are never used.
2119         (Add_Source): Set the Location of the new source
2120         (Process_Exceptions_File_Based): Call Add_Source with the Location
2121         (Get_Sources_From_File): If an exception is found, set its Listed to
2122         True
2123         (Find_Sources): When Source_Files is specified, if an exception is
2124         found, set its Listed to True. Remove any exception that is not in a
2125         specified list of sources.
2126         * prj.ads (Source_Data): New component Location
2127
2128 2010-06-21  Vincent Celier  <celier@adacore.com>
2129
2130         * gnatbind.adb (Closure_Sources): Global table, moved from block.
2131
2132 2010-06-21  Thomas Quinot  <quinot@adacore.com>
2133
2134         * sem_res.adb: Minor reformatting.
2135         * atree.adb: New debugging hook "rr" for node rewrites.
2136
2137 2010-06-21  Robert Dewar  <dewar@adacore.com>
2138
2139         * g-expect.ads, g-expect.adb: Minor reformatting.
2140
2141 2010-06-21  Emmanuel Briot  <briot@adacore.com>
2142
2143         * s-regpat.adb (Next_Pointer_Bytes): New named constant. Code clean up.
2144
2145 2010-06-21  Arnaud Charlet  <charlet@adacore.com>
2146
2147         * gcc-interface/Make-lang.in: Update dependencies.
2148
2149 2010-06-21  Thomas Quinot  <quinot@adacore.com>
2150
2151         * bindgen.ads: Update comments.
2152
2153 2010-06-21  Vincent Celier  <celier@adacore.com>
2154
2155         * gnatbind.adb: Suppress dupicates when listing the sources in the
2156         closure (switch -R).
2157
2158 2010-06-21  Emmanuel Briot  <briot@adacore.com>
2159
2160         * s-regpat.adb (Link_Tail): Fix error when size of the pattern matcher
2161         is too small.
2162
2163 2010-06-21  Emmanuel Briot  <briot@adacore.com>
2164
2165         * g-expect.adb, g-expect.ads (First_Dead_Process, Free, Has_Process):
2166         New subprograms.
2167         (Expect_Internal): No longer raises an exception, so that it can set
2168         out parameters as well. When a process has died, reset its Input_Fd
2169         to Invalid_Fd, so that when using multiple processes we can find out
2170         which process has died.
2171
2172 2010-06-21  Robert Dewar  <dewar@adacore.com>
2173
2174         * s-regpat.adb, s-tpoben.adb, sem_attr.adb, sem_util.adb, sem_util.ads,
2175         checks.adb, sem_res.adb: Minor reformatting. Add comments.
2176
2177 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
2178
2179         * sem_ch6.adb (New_Overloaded_Entity): If the new entity is a
2180         rederivation associated with a full declaration in a private part, and
2181         there is a partial view that derives the same parent subprogram, the
2182         new entity does not become visible. This check must be applied to
2183         interface operations as well.
2184
2185 2010-06-21  Thomas Quinot  <quinot@adacore.com>
2186
2187         * checks.adb: Add comments.
2188         * prj-nmsc.adb: Minor reformatting.
2189
2190 2010-06-21  Thomas Quinot  <quinot@adacore.com>
2191
2192         * sem_ch9.adb, checks.adb, sem_util.adb, sem_util.ads, sem_res.adb,
2193         sem_attr.adb (Get_E_First_Or_Last): Use attribute references on E to
2194         extract bounds, to ensure that we get the proper captured values,
2195         rather than an expression that may have changed value since the point
2196         where the subtype was elaborated.
2197         (Find_Body_Discriminal): New utility subprogram to share code between...
2198         (Eval_Attribute): For the case of a subtype bound that references a
2199         discriminant of the current concurrent type, insert appropriate
2200         discriminal reference.
2201         (Resolve_Entry.Actual_Index_Type.Actual_Discriminant_Ref): For a
2202         requeue to an entry in a family in the current task, use corresponding
2203         body discriminal. 
2204         (Analyze_Accept_Statement): Rely on expansion of attribute references
2205         to insert proper discriminal references in range check for entry in
2206         family.
2207
2208 2010-06-21  Emmanuel Briot  <briot@adacore.com>
2209
2210         * s-regpat.adb (Compile): Fix handling of big patterns.
2211
2212 2010-06-21  Robert Dewar  <dewar@adacore.com>
2213
2214         * a-tifiio.adb: Minor reformatting.
2215
2216 2010-06-21  Pascal Obry  <obry@adacore.com>
2217
2218         * prj-nmsc.adb (Search_Directories): Use the non-translated directory
2219         path to open it.
2220
2221 2010-06-21  Javier Miranda  <miranda@adacore.com>
2222
2223         * exp_cg.adb (Write_Call_Info): Fill the component sourcename using the
2224         external name.
2225
2226 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
2227
2228         * exp_ch4.adb (Expand_Concatenate): If an object declaration is created
2229         to hold the result, indicate that the target of the declaration does
2230         not need an initialization, to prevent spurious errors when
2231         Initialize_Scalars is enabled.
2232
2233 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
2234
2235         * a-tifiio.adb (Put): In the procedure that performs I/O on a String,
2236         Fore is not bound by line length. The Fore parameter of the internal
2237         procedure that performs the operation is an integer.
2238
2239 2010-06-21  Thomas Quinot  <quinot@adacore.com>
2240
2241         * sem_res.adb, checks.adb: Minor reformatting.
2242
2243 2010-06-21  Emmanuel Briot  <briot@adacore.com>
2244
2245         * s-regpat.adb (Next_Instruction, Get_Next_Offset): Removed, merged
2246         into Get_Next.
2247         (Insert_Operator_Before): New subprogram, avoids duplicated code
2248         (Compile): Avoid doing two compilations when the pattern matcher ends
2249         up being small.
2250
2251 2010-06-21  Emmanuel Briot  <briot@adacore.com>
2252
2253         * s-regpat.adb: Improve debug traces
2254         (Dump): Change output format to keep it smaller.
2255
2256 2010-06-21  Javier Miranda  <miranda@adacore.com>
2257
2258         * exp_cg.adb (Generate_CG_Output): Disable redirection of standard
2259         output to the output file when this routine completes its work.
2260
2261 2010-06-20  Eric Botcazou  <ebotcazou@adacore.com>
2262
2263         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Use while instead of
2264         for loop.  Call build_constructor_from_list directly in the CICO case.
2265
2266 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2267
2268         * freeze.adb (Build_And_Analyze_Renamed_Body): If the renaming
2269         declaration appears in the same unit and ealier than the renamed
2270         entity, retain generated body to prevent order-of-elaboration issues in
2271         gigi.
2272
2273 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
2274
2275         * s-tpoben.adb: Update comments.
2276
2277 2010-06-18  Robert Dewar  <dewar@adacore.com>
2278
2279         * debug.adb: Minor comment change.
2280
2281 2010-06-18  Javier Miranda  <miranda@adacore.com>
2282
2283         * exp_cg.adb: Code clean up.
2284         * debug.adb: Complete documentation of switch -gnatd.Z.
2285         * gcc-interface/misc.c (callgraph_info_file): Declare.
2286
2287 2010-06-18  Javier Miranda  <miranda@adacore.com>
2288
2289         * exp_cg.adb (Homonym_Suffix_Length): Minor code reorganization.
2290
2291 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2292
2293         * sprint.ads: Minor reformatting.
2294         * output.ads: Update obsolete comment.
2295
2296 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2297
2298         * freeze.adb (Build_And_Analyze_Renamed_Body): if the renamed entity is
2299         an external intrinsic operation (e.g. a GCC numeric function) indicate
2300         that the renaming entity has the same characteristics, so a call to it
2301         is properly expanded.
2302
2303 2010-06-18  Javier Miranda  <miranda@adacore.com>
2304
2305         * exp_cg.adb, exp_cg.ads, exp_disp.adb, gnat1drv.adb: Add initial
2306         support for dispatch table/callgraph info generation.
2307         * gcc-interface/Make-lang.in: Update dependencies.
2308
2309 2010-06-18  Robert Dewar  <dewar@adacore.com>
2310
2311         * exp_ch6.adb: Minor reformatting.
2312         * gnatname.adb: Add comment.
2313
2314 2010-06-18  Vincent Celier  <celier@adacore.com>
2315
2316         * gnatname.adb (Scan_Args): When --and is used, make sure that the
2317         dynamic tables in the newly allocated Argument_Data are properly
2318         initialized.
2319
2320 2010-06-18  Eric Botcazou  <ebotcazou@adacore.com>
2321
2322         * gnat1drv.adb: Fix comment.
2323
2324 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2325
2326         * exp_ch6.adb (Expand_Inlined_Call): If the inlined subprogram is a
2327         renaming, re-expand the call with the renamed subprogram if that one
2328         is marked inlined as well.
2329
2330 2010-06-18  Gary Dismukes  <dismukes@adacore.com>
2331
2332         * gnat1drv.adb (Adjust_Global_Switches): Enable
2333         Use_Expression_With_Actions for AAMP and VM targets.
2334
2335 2010-06-18  Vincent Celier  <celier@adacore.com>
2336
2337         * prj-nmsc.adb (Process_Linker): Recognize response file format GCC.
2338
2339 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2340
2341         * exp_ch4.adb: Minor reformatting.
2342
2343 2010-06-18  Javier Miranda  <miranda@adacore.com>
2344
2345         * debug.ads Add documentation on -gnatd.Z.
2346
2347 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2348
2349         * sem_elim.adb: Proper error message on improperly eliminated instances
2350
2351 2010-06-18  Vincent Celier  <celier@adacore.com>
2352
2353         * prj.ads (Response_File_Format): New value GCC.
2354
2355 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2356
2357         * gnat1drv.adb: Minor reformatting.
2358
2359 2010-06-18  Robert Dewar  <dewar@adacore.com>
2360
2361         * make.adb, sem_cat.adb: Minor reformatting.
2362         * sem_eval.adb: Fix typos.
2363
2364 2010-06-18  Pascal Obry  <obry@adacore.com>
2365
2366         * prj-nmsc.adb: Fix source filenames casing in debug output.
2367
2368 2010-06-18  Robert Dewar  <dewar@adacore.com>
2369
2370         * gnatcmd.adb: Minor reformatting.
2371
2372 2010-06-18  Robert Dewar  <dewar@adacore.com>
2373
2374         * sem_eval.adb (Eval_Conditional_Expression): Result is static if
2375         condition and both sub-expressions are static (and result is selected
2376         expression).
2377
2378 2010-06-18  Robert Dewar  <dewar@adacore.com>
2379
2380         * g-pehage.adb: Minor reformatting
2381
2382 2010-06-18  Pascal Obry  <obry@adacore.com>
2383
2384         * prj-nmsc.adb (Search_Directories): Insert canonical filenames into
2385         source hash table.
2386
2387 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
2388
2389         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
2390         dependencies. Fix target pairs on darwin.
2391         (gnatlib-sjlj, gnatlib-zcx): Pass THREAD_KIND.
2392
2393 2010-06-18  Pascal Obry  <obry@adacore.com>
2394
2395         * make.adb, prj-nmsc.adb: Fix source filenames casing in debug output.
2396
2397 2010-06-18  Vincent Celier  <celier@adacore.com>
2398
2399         * gnatcmd.adb: For gnatcheck, add -gnatec= switch for a global
2400         configuration pragmas file and, if -U is not used, for a local one.
2401
2402 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2403
2404         * sem_elim.adb (Check_Eliminated): Use full information on entity name
2405         when it is given in the pragma by a selected component.
2406         (Check_For_Eliminated_Subprogram): Do no emit error if within a
2407         instance body that is itself within a generic unit.
2408         * sem_ch12.adb (Analyze_Subprogram_Instance): If the subprogram is
2409         eliminated, mark as well the anonymous subprogram that is its alias
2410         and appears within the wrapper package.
2411
2412 2010-06-18  Bob Duff  <duff@adacore.com>
2413
2414         * g-pehage.ads, g-pehage.adb (Produce): Clean up some of the code.
2415         Raise an exception if the output file cannot be opened. Add comments.
2416
2417 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2418
2419         * sem_cat.adb (Validate_Object_Declaration): A variable declaration is
2420         not illegal per E.2.2(7) if it occurs in the private part of a
2421         Remote_Types unit.
2422
2423 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
2424
2425         * par-ch9.adb, sem_aggr.adb, sem_ch3.adb, layout.adb, sem_ch4.adb,
2426         sem_ch5.adb, sem_mech.adb, exp_util.adb, par-ch10.adb, sem_ch6.adb,
2427         par-ch11.adb, sem_ch7.adb, par-prag.adb, exp_disp.adb, par-ch12.adb,
2428         sem_ch8.adb, style.adb, sem_ch9.adb, sem_ch10.adb, prep.adb,
2429         sem_warn.adb, par-util.adb, scng.adb, sem_eval.adb, checks.adb,
2430         sem_prag.adb, sem_ch12.adb, styleg.adb, sem_ch13.adb, par-ch3.adb,
2431         par-tchk.adb, freeze.adb, sfn_scan.adb, par-ch4.adb, sem_util.adb,
2432         sem_res.adb, par-ch5.adb, lib-xref.adb, sem_attr.adb, par-ch6.adb,
2433         sem_disp.adb, prepcomp.adb, par-ch7.adb, sem_elab.adb, exp_ch4.adb,
2434         errout.ads: Update comments. Minor reformatting.
2435
2436         * g-spipat.adb, a-swunau.adb, a-swunau.ads, g-spitbo.adb,
2437         a-szunau.adb, a-szunau.ads, a-stunau.adb, a-stunau.ads,
2438         a-strunb.adb (Big_String. Big_String_Access): New type.
2439
2440         * par-labl.adb, restrict.adb, s-osinte-hpux-dce.ads, sem_ch11.adb,
2441         exp_pakd.adb, s-filofl.ads, par-endh.adb, exp_intr.adb, sem_cat.adb,
2442         sem_case.adb, exp_ch11.adb, s-osinte-linux.ads: Fix copyright notices.
2443
2444 2010-06-18  Geert Bosch  <bosch@adacore.com>
2445
2446         * i-forbla-darwin.adb: Include -lgnala and -lm in linker options for
2447         Darwin.
2448
2449 2010-06-18  Robert Dewar  <dewar@adacore.com>
2450
2451         * gnat1drv.adb (Adjust_Global_Switches): Set Use_Expression_With_Actions
2452         true for gcc.
2453
2454 2010-06-18  Robert Dewar  <dewar@adacore.com>
2455
2456         * sprint.adb: Minor format change for N_Expression_With_Actions.
2457         * repinfo.adb: Minor reformatting.
2458
2459 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2460
2461         * sem_elim.adb (Check_Eliminated): If within a subunit, use
2462         Defining_Entity to obtain the name of the entity in the proper body, to
2463         properly handle both separate packages and subprograms.
2464
2465 2010-06-18  Emmanuel Briot  <briot@adacore.com>
2466
2467         * prj-nmsc.adb (Check_File): New parameter Display_Path.
2468
2469 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2470
2471         * g-socket.adb, g-socket.ads (Null_Selector): New object.
2472
2473 2010-06-18  Pascal Obry  <obry@adacore.com>
2474
2475         * gnat_ugn.texi: Minor clarification.
2476
2477 2010-06-18  Emmanuel Briot  <briot@adacore.com>
2478
2479         * prj-nmsc.adb (Find_Source_Dirs): Minor refactoring to avoid duplicate
2480         code when using the project dir as the source dir.
2481         (Search_Directories): use the normalized name for the source directory,
2482         where symbolic names have potentially been resolved.
2483
2484 2010-06-18  Robert Dewar  <dewar@adacore.com>
2485
2486         * exp_ch4.adb (Expand_N_Conditional_Expression): Clear Actions field
2487         when we create N_Expression_With_Actions node.
2488         (Expand_Short_Circuit): Ditto.
2489
2490 2010-06-18  Robert Dewar  <dewar@adacore.com>
2491
2492         * exp_util.adb: Minor reformatting.
2493
2494 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2495
2496         * types.ads: Clean up obsolete comments
2497         * tbuild.adb: Minor reformatting.
2498         * exp_ch5.adb, sem_intr.adb, sem_ch10.adb, rtsfind.adb, s-shasto.adb,
2499         exp_strm.adb, aa_drive.adb: Minor reformatting.
2500         * sem_res.adb (Is_Predefined_Operator): An operator that is an imported
2501         intrinsic with an Interface_Name denotes an imported back-end builtin,
2502         and must be rewritten into a call, not left in the tree as an operator,
2503         so return False in that case.
2504
2505 2010-06-18  Eric Botcazou  <ebotcazou@adacore.com>
2506
2507         * exp_util.adb (Remove_Side_Effects): Make a copy for an allocator.
2508         
2509 2010-06-18  Robert Dewar  <dewar@adacore.com>
2510
2511         * scos.ads: Add proposed output for case expression
2512
2513 2010-06-18  Jose Ruiz  <ruiz@adacore.com>
2514
2515         * gnat_ugn.texi: Document that, when using the RTX compiler to generate
2516         RTSS modules, we need to use the Microsoft linker.
2517
2518 2010-06-18  Robert Dewar  <dewar@adacore.com>
2519
2520         * checks.adb (Safe_To_Capture_In_Parameter_Value): Deal with case
2521         expression (cannot count on a particular branch being executed).
2522         * exp_ch4.adb (Expand_N_Case_Expression): New procedure.
2523         * exp_ch4.ads (Expand_N_Case_Expression): New procedure.
2524         * exp_util.adb (Insert_Actions): Deal with proper insertion of actions
2525         within case expression.
2526         * expander.adb (Expand): Add call to Expand_N_Case_Expression
2527         * par-ch4.adb Add calls to P_Case_Expression at appropriate points
2528         (P_Case_Expression): New procedure
2529         (P_Case_Expression_Alternative): New procedure
2530         * par.adb (P_Case_Expression): New procedure
2531         * par_sco.adb (Process_Decisions): Add dummy place holder entry for
2532         N_Case_Expression.
2533         * sem.adb (Analyze): Add call to Analyze_Case_Expression
2534         * sem_case.ads (Analyze_Choices): Also used for case expressions now,
2535         this is a documentation change only.
2536         * sem_ch4.ads, sem_ch4.adb (Analyze_Case_Expression): New procedure.
2537         * sem_ch6.adb (Fully_Conformant_Expressions): Add handling of case
2538         expressions.
2539         * sem_eval.ads, sem_eval.adb (Eval_Case_Expression): New procedure.
2540         * sem_res.adb (Resolve_Case_Expression): New procedure.
2541         * sem_scil.adb (Find_SCIL_Node): Add processing for
2542         N_Case_Expression_Alternative.
2543         * sinfo.ads, sinfo.adb (N_Case_Expression): New node.
2544         (N_Case_Expression_Alternative): New node.
2545         * sprint.adb (Sprint_Node_Actual): Add processing for new nodes
2546         N_Case_Expression and N_Case_Expression_Alternative.
2547
2548 2010-06-18  Robert Dewar  <dewar@adacore.com>
2549
2550         * par-ch7.adb, sem_warn.adb, types.ads, par-ch3.adb: Minor reformatting.
2551         * gnat1drv.adb: Fix typo.
2552
2553 2010-06-18  Robert Dewar  <dewar@adacore.com>
2554
2555         * par-prag.adb (Prag, case Style_Checks): All_Checks sets gnat style
2556         for -gnatg.
2557         * sem_prag.adb (Analyze_Pragma, case Style_Checks): All_Checks sets
2558         gnat style for -gnatg.
2559         * gnat_rm.texi: Add documentation for ALL_CHECKS in GNAT mode.
2560
2561 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2562
2563         * sem_eval.adb (Test_In_Range): New subprogram, factoring duplicated
2564         code between...
2565         (Is_In_Range, Is_Out_Of_Range): Reimplement in terms of call to
2566         Test_In_Range.
2567
2568 2010-06-18  Robert Dewar  <dewar@adacore.com>
2569
2570         * sprint.adb: Minor change in output format for expression wi actions.
2571         * par-ch3.adb: Minor code reorganization.  Minor reformatting.
2572         * sem_ch5.adb: Minor comment fix.
2573
2574 2010-06-18  Robert Dewar  <dewar@adacore.com>
2575
2576         * debug.adb: New debug flag -gnatd.L to control
2577         Back_End_Handles_Limited_Types.
2578         * exp_ch4.adb (Expand_N_Conditional_Expression): Let back end handle
2579         limited case if Back_End_Handles_Limited_Types is True.
2580         (Expand_N_Conditional_Expression): Use N_Expression_With_Actions to
2581         simplify expansion if Use_Expression_With_Actions is True.
2582         * gnat1drv.adb (Adjust_Global_Switches): Set
2583         Back_End_Handles_Limited_Types.
2584         * opt.ads (Back_End_Handles_Limited_Types): New flag.
2585
2586 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2587
2588         * sem_res.adb (Rewrite_Operator_As_Call): Do not rewrite user-defined
2589         intrinsic operator if expansion is not enabled, because in an
2590         instantiation the original operator must be present to verify the
2591         legality of the operation.
2592
2593 2010-06-18  Robert Dewar  <dewar@adacore.com>
2594
2595         * exp_disp.adb, sem_ch12.adb: Minor reformatting
2596
2597 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2598
2599         * exp_util.adb (Make_Subtype_From_Expr): If the unconstrained type is
2600         the class-wide type for a private extension, and the completion is a
2601         subtype, set the type of the class-wide type to the base type of the
2602         full view.
2603
2604 2010-06-18  Robert Dewar  <dewar@adacore.com>
2605
2606         * g-socket.ads, sem_aggr.adb, einfo.ads, sem_elim.adb,
2607         sem_intr.adb, sem_eval.adb: Minor reformatting
2608
2609 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2610
2611         * sem_type.adb (Is_Ancestor): If either type is private, examine full
2612         view.
2613
2614 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2615
2616         * g-socket.adb, g-socket.ads (Check_Selector): Make Selector an IN
2617         parameter rather than IN OUT.
2618
2619 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2620
2621         * exp_ch6.adb: Add extra guard.
2622
2623 2010-06-18  Gary Dismukes  <dismukes@adacore.com>
2624
2625         * sem_util.adb (Object_Access_Level): For Ada 2005, determine the
2626         accessibility level of a function call from the level of the innermost
2627         enclosing dynamic scope.
2628         (Innermost_Master_Scope_Depth): New function to find the depth of the
2629         nearest dynamic scope enclosing a node.
2630
2631 2010-06-18  Tristan Gingold  <gingold@adacore.com>
2632
2633         * adaint.c: Make ATTR_UNSET static as it is not used outside this file.
2634
2635 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2636
2637         * g-socket.ads: Minor reformatting.
2638
2639 2010-06-18  Vincent Celier  <celier@adacore.com>
2640
2641         * make.adb (Must_Compile): New Boolean global variable
2642         (Main_On_Command_Line): New Boolean global variable
2643         (Collect_Arguments_And_Compile): Do compile if Must_Compile is True,
2644         even when the project is externally built.
2645         (Start_Compile_If_Possible): Compile in -aL directories if
2646         Check_Readonly_Files is True. Do compile if Must_Compile is True, even
2647         when the project is externally built.
2648         (Gnatmake): Set Must_Compile and Check_Readonly_Files to True when
2649         invoked with -f -u and one or several mains on the command line.
2650         (Scan_Make_Arg): Set Main_On_Command_Line to True when at least one main
2651         is specified on the command line.
2652
2653 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2654
2655         * sem_ch6.adb (Build_Body_For_Inline): Handle extended_return_statements
2656         * exp_ch6.adb (Expand_Inlined_Call): when possible, inline a body
2657         containing extented_return statements.
2658         * exp_util.adb (Make_CW_Equivalent_Type): If the root type is already
2659         constrained, do not build subtype declaration.
2660
2661 2010-06-18  Robert Dewar  <dewar@adacore.com>
2662
2663         * sem_res.adb (Analyze_Indexed_Component, Analyze_Selected_Component):
2664         Warn on assigning to packed atomic component.
2665
2666 2010-06-18  Robert Dewar  <dewar@adacore.com>
2667
2668         * sem_util.ads: Minor reformatting
2669         * einfo.ads, einfo.adb: Minor doc clarification (scope of decls in
2670         Expression_With_Actions).
2671         * snames.ads-tmpl: Minor comment fix
2672
2673 2010-06-18  Robert Dewar  <dewar@adacore.com>
2674
2675         * sem_prag.adb (Diagnose_Multiple_Pragmas): New procedure
2676         (Set_Imported): Use Import_Interface_Present to control message output
2677         * sinfo.ads, sinfo.adb (Import_Interface_Present): New flag
2678         * gnat_rm.texi: Document that we can have pragma Import and pragma
2679         Interface for the same subprogram.
2680
2681 2010-06-18  Robert Dewar  <dewar@adacore.com>
2682
2683         * lib-xref.adb (Generate_Reference): Fix bad reference to
2684         Has_Pragma_Unreferenced (clients should always use Has_Unreferenced).
2685
2686 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
2687
2688         * gcc-interface/trans.c (set_gnu_expr_location_from_node): New static
2689         function.
2690         (gnat_to_gnu) <N_Expression_With_Actions>: New case.
2691         Use set_gnu_expr_location_from_node to set location information on the
2692         result.
2693
2694 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
2695
2696         * gcc-interface/Make-lang.in: Update dependencies.
2697
2698 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2699
2700         * sem_util.adb (Is_Atomic_Object): Predicate does not apply to
2701         subprograms.
2702
2703 2010-06-17  Robert Dewar  <dewar@adacore.com>
2704
2705         * gnat_rm.texi, gnat_ugn.texi: Clean up documentation on warning and
2706         style check messages.
2707         * sem_res.adb (Resolve_Call): Don't call
2708         Check_For_Eliminated_Subprogram if we are analyzing within a spec
2709         expression.
2710
2711 2010-06-17  Robert Dewar  <dewar@adacore.com>
2712
2713         * debug.adb: Add documentation for debug flags .X and .Y
2714         * exp_ch4.adb (Expand_Short_Circuit_Operator): Use
2715         Use_Expression_With_Actions.
2716         * gnat1drv.adb (Adjust_Global_Switches): Set
2717         Use_Expression_With_Actions.
2718         * opt.ads (Use_Expression_With_Actions): New switch.
2719
2720 2010-06-17  Robert Dewar  <dewar@adacore.com>
2721
2722         * exp_intr.adb: Minor code reorganization (use UI_Max)
2723         * sem_intr.adb: use underlying type to check legality.
2724         * einfo.adb (Known_Static_Esize): False for generic types
2725         (Known_Static_RM_Size): False for generic types
2726         * einfo.ads (Known_Static_Esize): False for generic types
2727         (Known_Static_RM_Size): False for generic types
2728
2729 2010-06-17  Robert Dewar  <dewar@adacore.com>
2730
2731         * exp_ch4.ads: Minor code reorganization (specs in alpha order).
2732
2733 2010-06-17  Robert Dewar  <dewar@adacore.com>
2734
2735         * debug.adb: New debug flag -gnatd.X to use Expression_With_Actions
2736         node when expanding short circuit form with actions present for right
2737         opnd.
2738         * exp_ch4.adb: Minor reformatting
2739         (Expand_Short_Circuit_Operator): Use new Expression_With_Actions node if
2740         right opeand has actions present, and debug flag -gnatd.X is set.
2741         * exp_util.adb (Insert_Actions): Handle case of Expression_With_Actions
2742         node.
2743         * nlists.adb (Prepend_List): New procedure
2744         (Prepend_List_To): New procedure
2745         * nlists.ads (Prepend_List): New procedure
2746         (Prepend_List_To): New procedure
2747         * sem.adb: Add processing for Expression_With_Actions
2748         * sem_ch4.adb (Analyze_Expression_With_Actions): New procedure
2749         * sem_ch4.ads (Analyze_Expression_With_Actions): New procedure
2750         * sem_res.adb: Add processing for Expression_With_Actions.
2751         * sem_scil.adb: Add processing for Expression_With_Actions
2752         * sinfo.ads, sinfo.adb (N_Expression_With_Actions): New node.
2753         * sprint.ads, sprint.adb: Add processing for Expression_With_Actions
2754
2755 2010-06-17  Doug Rupp  <rupp@adacore.com>
2756
2757         * sem_intr.adb (Check_Intrinsic_Operator): Check that the types
2758         involved both have underlying integer types.
2759         * exp_intr.adb (Expand_Binary_Operator) New subprogram to expand a call
2760         to an intrinsic operator when the operand types or sizes are not
2761         identical.
2762         * s-auxdec-vms_64.ads: Revert "+" "-" ops back to Address now that
2763         64/32 Address/Integer works.
2764
2765 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2766
2767         * sem_ch12.adb (Mark_Context): Refine placement of Withed_Body flag, so
2768         that it marks a unit as needed by a spec only if the corresponding
2769         instantiation appears in that spec (and not in the corresponding body).
2770         * sem_elim.adb (Check_Eliminated): If we are within a subunit, the name
2771         in the pragma Eliminate has been parsed as a child unit, but the
2772         current compilation unit is in fact the parent in which the subunit is
2773         embedded.
2774
2775 2010-06-17  Vincent Celier  <celier@adacore.com>
2776
2777         * gnat_rm.texi: Fix typo
2778
2779 2010-06-17  Robert Dewar  <dewar@adacore.com>
2780
2781         * sem_util.adb: Minor reformatting
2782
2783 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2784
2785         * sem.adb (Do_Withed_Unit): if the unit in the with_clause is a generic
2786         instance, the clause now denotes the instance body. Traverse the
2787         corresponding spec because there may be no other dependence that will
2788         force the traversal of its own context.
2789
2790 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2791
2792         * sem_ch10.adb (Is_Ancestor_Unit): Subsidiary to
2793         Install_Limited_Context_Clauses, to determine whether a limited_with in
2794         some parent of the current unit designates some other parent, in which
2795         case the limited_with clause must not be installed.
2796         (In_Context): Refine test.
2797
2798 2010-06-17  Gary Dismukes  <dismukes@adacore.com>
2799
2800         * sem_util.adb (Collect_Primitive_Operations): In the of an untagged
2801         type with a dispatching equality operator that is overridden (for a
2802         tagged full type), don't include the overridden equality in the list of
2803         primitives. The overridden equality is detected by testing for an
2804         Aliased field that references the overriding equality.
2805
2806 2010-06-17  Robert Dewar  <dewar@adacore.com>
2807
2808         * freeze.adb: Minor reformatting.
2809
2810 2010-06-17  Joel Brobecker  <brobecker@adacore.com brobecker>
2811
2812         * gnat_ugn.texi: Add a section introducing gdbserver.
2813
2814 2010-06-17  Thomas Quinot  <quinot@adacore.com>
2815
2816         * sem_res.adb, sem_ch4.adb, s-stoele.adb, par-labl.adb: Minor
2817         reformatting.
2818
2819 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2820
2821         * sem_aggr.adb (Valid_Ancestor_Type): handle properly the case of a
2822         constrained discriminated parent that is a private type.
2823         (Analyze_Record_Aggregate): when collecting inherited discriminants,
2824         handle properly an ancestor type that is a constrained private type.
2825
2826 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2827
2828         * sem_util.adb (Enclosing_Subprogram): If the called subprogram is
2829         protected, use the protected_subprogram_body only if the original
2830         subprogram has not been eliminated.
2831
2832 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2833
2834         * freeze.adb (Freeze_Expression): The designated type of an
2835         access_to_suprogram type can only be frozen if all types in its profile
2836         are fully defined.
2837
2838 2010-06-17  Robert Dewar  <dewar@adacore.com>
2839
2840         * par.adb: Minor comment fix
2841         * sem_aggr.adb, sem_ch3.adb: Minor reformatting
2842
2843 2010-06-17  Doug Rupp  <rupp@adacore.com>
2844
2845         * s-auxdec-vms_64.ads: Revert Integer to Long_Integer change, instead
2846         change Address to Short_Address in functions where both must be the
2847         same size for intrinsics to work.
2848
2849 2010-06-17  Thomas Quinot  <quinot@adacore.com>
2850
2851         * sem_ch4.adb (Analyze_Selected_Component): A selected component may
2852         not denote a (private) component of a protected object.
2853
2854 2010-06-17  Bob Duff  <duff@adacore.com>
2855
2856         * par-labl.adb (Try_Loop): Test whether the label and the goto are in
2857         the same list.
2858
2859 2010-06-17  Joel Brobecker  <brobecker@adacore.com brobecker>
2860
2861         * gnat_ugn.texi: Update the documentation about GDB re: exception
2862         catchpoints.
2863
2864 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
2865
2866         * gnatvsn.ads: Bump to 4.6 version.
2867
2868 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2869
2870         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): The
2871         designated type of the generated pointer is the type of the original
2872         expression, not that of the function call itself, because the return
2873         type may be an untagged  derived type and the function may be an
2874         inherited operation.
2875
2876 2010-06-17  Robert Dewar  <dewar@adacore.com>
2877
2878         * exp_ch4.adb: Minor reformatting.
2879
2880 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2881
2882         * sinfo.ads, sinfo.adb (Inherited_Discriminant): New flag on
2883         N_Component_Association nodes, to indicate that a component association
2884         of an extension aggregate denotes the value of a discriminant of an
2885         ancestor type that has been constrained by the derivation.
2886         * sem_aggr.adb (Discr_Present): use Inherited_Discriminant to prevent a
2887         double expansion of the aggregate appearing in a context that delays
2888         expansion, to prevent double insertion of discriminant values when the
2889         aggregate is reanalyzed.
2890
2891 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
2892
2893         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not use
2894         Allocator as the Related_Node of Return_Obj_Access in call to
2895         Make_Temporary below as this would create a sort of infinite
2896         "recursion".
2897
2898 2010-06-17  Ben Brosgol  <brosgol@adacore.com>
2899
2900         * gnat_ugn.texi: Update gnatcheck doc.
2901
2902 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2903
2904         * sem_ch3.adb (Build_Incomplete_Type_Declaration): If there is an
2905         incomplete view of the type that is not tagged, and the full type is a
2906         tagged extension, create class_wide type now, and warn that the
2907         incomplete view should be tagged as well.
2908
2909 2010-06-17  Vincent Celier  <celier@adacore.com>
2910
2911         * gnatcmd.adb (Non_VMS_Usage): Do not issue usage for gnat sync.
2912         Update the last line of the usage, indicating what commands do not
2913         accept project file switches.
2914         * vms_conv.adb: Do not issue usage line for GNAT SYNC
2915         * vms_data.ads: Fix errors in the qualifiers /LOGFILE and /MAIN of
2916         GNAT ELIM.
2917         * gnat_ugn.texi: Document the relaxed rules for library directories in
2918         externally built library projects.
2919
2920 2010-06-17  Doug Rupp  <rupp@adacore.com>
2921
2922         * s-auxdec-vms_64.ads: Make boolean and arithmetic operations intrinsic
2923         where possible.
2924         * s-auxdec-vms-alpha.adb: Remove kludges for aforemention.
2925         * gcc-interface/Makefile.in: Update VMS target pairs.
2926
2927 2010-06-17  Vasiliy Fofanov  <fofanov@adacore.com>
2928
2929         * adaint.c: Reorganized in order to avoid use of GetProcessId to stay
2930         compatible with Windows NT 4.0 which doesn't provide this function.
2931
2932 2010-06-17  Vincent Celier  <celier@adacore.com>
2933
2934         * ali-util.adb (Time_Stamp_Mismatch): In Verbose mode, if there is
2935         different timestamps but the checksum is the same, issue a short
2936         message saying so.
2937
2938 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
2939
2940         * s-interr.adb (Finalize): If the Abort_Task signal is set to system,
2941         it means that we cannot reset interrupt handlers since this would
2942         require potentially sending the abort signal to the Server_Task.
2943
2944 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2945
2946         * exp_ch4.adb: expand NOT for VMS types.
2947         * sem_util.adb: Use OpenVMS_On_Target for IS_VMS_Operator.
2948
2949 2010-06-17  Sergey Rybin  <rybin@adacore.com>
2950
2951         * vms_data.ads: Add qualifier for '--no-elim-dispatch' gnatelim option.
2952         * gnat_ugn.texi (gnatelim): add description for --no-elim-dispatch
2953         option.
2954
2955 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2956
2957         * exp_ch6.adb (Expand_Call): Do not expand a call to an internal
2958         protected operation if the subprogram has been eliminated.
2959
2960 2010-06-17  Vincent Celier  <celier@adacore.com>
2961
2962         * prj-nmsc.adb (Check_Library_Attributes): Allow the different
2963         directories associated with a library to be any directory when the
2964         library project is externally built.
2965
2966 2010-06-17  Vincent Celier  <celier@adacore.com>
2967
2968         * make.adb (Check): If switch -m is used, deallocate the memory that
2969         may be allocated when computing the checksum.
2970
2971 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
2972
2973         * g-socthi-mingw.adb (C_Recvmsg): Add 'use type' clause for C.size_t;
2974         (C_Sendmsg): Likewise.
2975
2976 2010-06-17  Thomas Quinot  <quinot@adacore.com>
2977
2978         * sem_res.adb: Update comments.
2979
2980 2010-06-17  Vincent Celier  <celier@adacore.com>
2981
2982         * back_end.adb (Scan_Compiler_Arguments): Process last argument
2983
2984 2010-06-17  Robert Dewar  <dewar@adacore.com>
2985
2986         * exp_ch3.adb, exp_ch6.adb, exp_smem.adb, exp_util.adb: Use Ekind_In.
2987         * layout.adb, freeze.adb: Use Make_Temporary.
2988
2989 2010-06-17  Jerome Lambourg  <lambourg@adacore.com>
2990
2991         * exp_ch11.adb (Expand_N_Raise_Statement): Expand raise statements in
2992         .NET/JVM normally as this is now perfectly supported by the backend.
2993
2994 2010-06-17  Pascal Obry  <obry@adacore.com>
2995
2996         * gnat_rm.texi: Fix minor typo, remove duplicate blank lines.
2997
2998 2010-06-17  Vincent Celier  <celier@adacore.com>
2999
3000         * make.adb (Collect_Arguments_And_Compile): Create include path file
3001         only when -x is specified.
3002         (Gnatmake): Ditto
3003         * opt.ads (Use_Include_Path_File): New Boolean flag, initialized to
3004         False.
3005         * prj-env.adb (Set_Ada_Paths): New Boolean parameters Include_Path and
3006         Objects_Path, defaulted to True. Only create include path file if
3007         Include_Path is True, only create objects path file if Objects_Path is
3008         True.
3009         * prj-env.ads (Set_Ada_Paths): New Boolean parameters Include_Path and
3010         Objects_Path, defaulted to True.
3011         * switch-m.adb (Scan_Make_Switches): Set Use_Include_Path_File to True
3012         when -x is used.
3013
3014 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
3015
3016         * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
3017         determine whether it has the controlling type, when the formal is an
3018         access parameter.
3019
3020 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
3021
3022         * s-crtl.ads (ssize_t): New type.
3023         (read): Fix signature.
3024         (write): Likewise.
3025         * g-socthi.ads: Add 'with System.CRTL' clause.  Remove ssize_t and
3026         'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
3027         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
3028         (C_Sendmsg): Likewise.
3029         * g-socthi.adb (Syscall_Recvmsg): Likewise.
3030         (Syscall_Sendmsg): Likewise.
3031         (C_Recvmsg): Likewise.
3032         (C_Sendmsg): Likewise.
3033         * g-socthi-mingw.ads: Add 'with System.CRTL' clause.  Remove ssize_t
3034         and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
3035         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
3036         (C_Sendmsg): Likewise.
3037         * g-socthi-mingw.adb (C_Recvmsg): Likewise.
3038         (C_Sendmsg): Likewise.
3039         * g-socthi-vms.ads: Add 'with System.CRTL' clause.  Remove ssize_t and
3040         'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
3041         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
3042         (C_Sendmsg): Likewise.
3043         * g-socthi-vms.adb (C_Recvmsg): Likewise.
3044         (C_Sendmsg): Likewise.
3045         * g-socthi-vxworks.ads Add 'with System.CRTL' clause.  Remove ssize_t
3046         and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
3047         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
3048         (C_Sendmsg): Likewise.
3049         * g-socthi-vxworks.adb (C_Recvmsg): Likewise.
3050         (C_Sendmsg): Likewise.
3051         * g-sercom-linux.adb (Read): Use correct types to call 'read'.
3052         (Write): Likewise to call 'write'.
3053         * s-os_lib.adb (Read): Use correct type to call System.CRTL.read.
3054         (Write): Use correct type to call System.CRTL.write.
3055         * s-tasdeb.adb (Write): Likewise.
3056
3057 2010-06-17  Vincent Celier  <celier@adacore.com>
3058
3059         * prj-proc.adb (Copy_Package_Declarations): Change argument name
3060         Naming_Restricted to Restricted. If Restricted is True, do not copy the
3061         value of attribute Linker_Options.
3062
3063 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
3064
3065         * gcc-interface/trans.c (push_stack, pop_stack): Delete.
3066         (Case_Statement_to_gnu): Adjust.
3067         (Loop_Statement_to_gnu): Likewise.
3068         (Subprogram_Body_to_gnu): Likewise.
3069         (Handled_Sequence_Of_Statements_to_gnu): Likewise.
3070         (Compilation_Unit_to_gnu): Likewise.
3071
3072 2010-06-17  Robert Dewar  <dewar@adacore.com>
3073
3074         * exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb,
3075         exp_sel.adb, exp_util.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb,
3076         sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch8.adb, sem_ch9.adb,
3077         sem_dist.adb, sem_util.adb: Use Make_Temporary
3078         * itypes.ads, tbuild.ads: Minor comment update
3079         * exp_ch9.adb, exp_dist.adb: Minor reformatting
3080
3081 2010-06-17  Thomas Quinot  <quinot@adacore.com>
3082
3083         * exp_imgv.adb, exp_ch7.ads: Minor reformatting.
3084
3085 2010-06-17  Robert Dewar  <dewar@adacore.com>
3086
3087         * exp_ch9.adb, exp_disp.adb, exp_dist.adb: Use Make_Temporary.
3088
3089 2010-06-17  Thomas Quinot  <quinot@adacore.com>
3090
3091         * sprint.adb (pg): Set Dump_Freeze_Null, to be consistent with -gnatdg.
3092
3093 2010-06-17  Robert Dewar  <dewar@adacore.com>
3094
3095         * exp_ch6.adb, exp_ch7.adb, exp_ch5.adb: Use Make_Temporary
3096         * tbuild.ads (Make_Temporary): More comment updates
3097         * tbuild.adb: Minor reformatting
3098
3099 2010-06-17  Robert Dewar  <dewar@adacore.com>
3100
3101         * checks.adb, exp_aggr.adb, exp_atag.adb, exp_attr.adb, exp_ch11.adb,
3102         exp_ch3.adb, exp_ch4.adb: Minor code reorganization.
3103         Use Make_Temporary.
3104         * tbuild.ads, tbuild.adb (Make_Temporary): Clean up, use Entity_Id
3105         instead of Node_Id.
3106         (Make_Temporary): Add more extensive documentation
3107
3108 2010-06-17  Robert Dewar  <dewar@adacore.com>
3109
3110         * sem_intr.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb,
3111         sem_warn.adb, sem_eval.adb: Minor reformatting.  Use Ekind_In.
3112         (Set_Slice_Subtype): Explicitly freeze the slice's itype at the point
3113         where the slice's actions are inserted.
3114         (Decompose_Expr): Account for possible rewriting of slice bounds
3115         resulting from side effects suppression caused by the above freezing,
3116         so that folding of bounds is preserved by such rewriting.
3117
3118 2010-06-17  Robert Dewar  <dewar@adacore.com>
3119
3120         * einfo.ads, einfo.adb (Get_Record_Representation_Clause): New function.
3121         * freeze.adb (Freeze_Record_Type): Add call to
3122         Check_Record_Representation_Clause.
3123         * sem_ch13.adb (Check_Record_Representation_Clause): New function
3124         (Analyze_Record_Representation_Clause): Split out overlap code into this
3125         new function.
3126         (Check_Component_Overlap): Moved inside
3127         Check_Record_Representation_Clause.
3128         * sem_ch13.ads (Check_Record_Representation_Clause): New function.
3129
3130 2010-06-17  Robert Dewar  <dewar@adacore.com>
3131
3132         * back_end.adb, sem_res.adb, switch-c.adb, sem_scil.adb: Minor
3133         reformatting.
3134         * sem_attr.adb, sem_cat.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb,
3135         sem_eval.adb: Use Ekind_In
3136
3137 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
3138
3139         * sem_ch8.adb: better error message for illegal inherited discriminant
3140
3141 2010-06-17  Vincent Celier  <celier@adacore.com>
3142
3143         * bindusg.adb: Remove lines for -A and -C
3144         * gnat_ugn.texi: Remove all documentation and examples of switches -A
3145         and -C for gnatbind and gnatlink.
3146         * gnatlink.adb (Usage): Remove lines for -A and -C
3147         * switch-b.adb (Scan_Binder_Switches): Issue warning when switch -C is
3148         specified.
3149         * gcc-interface/Make-lang.in: Update dependencies.
3150
3151 2010-06-17  Vincent Celier  <celier@adacore.com>
3152
3153         * back_end.adb (Scan_Compiler_Arguments): Put all arguments in new
3154         local Argument_List variable Args.
3155         * switch-c.adb (Scan_Front_End_Switches): New Argument_List argument
3156         Args.
3157         (Switch_Subsequently_Cancelled): New Argument_List argument Args. Look
3158         for subsequent switches in Args.
3159         * switch-c.ads (Scan_Front_End_Switches): New Argument_List argument
3160         Args.
3161         * gcc-interface/Make-lang.in: Update dependencies.
3162
3163 2010-06-17  Robert Dewar  <dewar@adacore.com>
3164
3165         * einfo.adb: Minor code fix, allow E_Class_Wide_Type for
3166         Equivalent_Type to match documentation.
3167
3168 2010-06-17  Robert Dewar  <dewar@adacore.com>
3169
3170         * sem_ch6.adb, sem_ch7.adb: Minor reformatting.
3171         * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_ch10.adb, sem_ch12.adb,
3172         sem_ch4.adb, sem_ch8.adb, sem_ch13.adb: Make use of Ekind_In.
3173
3174 2010-06-17  Thomas Quinot  <quinot@adacore.com>
3175
3176         * sem_res.adb (Set_Slice_Subtype): Always freeze the slice's itype.
3177
3178 2010-06-17  Thomas Quinot  <quinot@adacore.com>
3179
3180         * freeze.adb (Freeze_Expression): Short circuit operators are valid
3181         freeze node insertion points.
3182
3183 2010-06-17  Robert Dewar  <dewar@adacore.com>
3184
3185         * switch-c.ads, switch-c.adb, sem_ch13.adb: Minor reformatting.
3186         * sem_ch12.adb: Add pragmas Assert and Check to previous change.
3187
3188 2010-06-17  Gary Dismukes  <dismukes@adacore.com>
3189
3190         * layout.adb (Layout_Type): Broaden test for setting an array type's
3191         Component_Size to include all scalar types, not just discrete types
3192         (components of real types were missed).
3193         * sem_ch3.adb (Constrain_Index): Add missing setting of First_Literal
3194         on the itype created for an index (consistent with Make_Index and
3195         avoids possible Assert_Failures).
3196
3197 2010-06-17  Robert Dewar  <dewar@adacore.com>
3198
3199         * atree.ads, atree.adb: Add 6-parameter version of Ekind_In
3200         * einfo.adb: Minor code reformatting (use Ekind_In)
3201
3202 2010-06-17  Robert Dewar  <dewar@adacore.com>
3203
3204         * sem_warn.adb (Test_Ref): Abandon scan if access subprogram parameter
3205         found.
3206
3207 2010-06-17  Vincent Celier  <celier@adacore.com>
3208
3209         * back_end.adb: Minor comment updates
3210         * switch-c.adb: Remove dependencies on gcc C sources
3211         * gcc-interface/Make-lang.in: Add a-comlin.o to the object file list
3212         for the compiler.
3213
3214 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
3215
3216         * sem_ch12.adb: propagate Pragma_Enabled flag to generic.
3217         * get_scos.adb: Set C2 flag in decision entry of pragma to 'e' (enabled)
3218         * par_sco.ads, par_sco.adb (Set_SCO_Pragma_Enabled): New procedure
3219         Remove use of Node field in SCOs table
3220         (Output_Header): Set 'd' to initially disable pragma entry
3221         * put_scos.adb (Put_SCOs): New flag indicating if pragma is enabled
3222         * scos.ads, scos.adb: Remove Node field from internal SCOs table.
3223         Use C2 field of pragma decision header to indicate enabled.
3224         * sem_prag.adb: Add calls to Set_SCO_Pragma_Enabled.
3225         * gcc-interface/Make-lang.in: Update dependencies.
3226
3227 2010-06-17  Vincent Celier  <celier@adacore.com>
3228
3229         * back_end.adb (Next_Arg): Moved to procedure Scan_Compiler_Arguments
3230         (Scan_Compiler_Arguments): Call Scan_Front_End_Switches with Next_Arg
3231         (Switch_Subsequently_Cancelled): Function moved to the body of Switch.C
3232         * back_end.ads (Scan_Front_End_Switches): Function moved to the body of
3233         Switch.C.
3234         * switch-c.adb: Copied a number of global declarations from back_end.adb
3235         (Len_Arg): New function copied from back_end.adb
3236         (Switch_Subsequently_Cancelled): New function moved from back_end.adb
3237         (Scan_Front_End_Switches): New parameter Arg_Rank used to call
3238         Switch_Subsequently_Cancelled.
3239         * switch-c.ads (Scan_Front_End_Switches): New parameter Arg_Rank.
3240         * gcc-interface/Makefile.in: Add line so that shared libgnat is linked
3241         with -lexc on Tru64.
3242
3243 2010-06-17  Robert Dewar  <dewar@adacore.com>
3244
3245         * prj.ads, prj.adb: Minor reformatting
3246
3247 2010-06-17  Thomas Quinot  <quinot@adacore.com>
3248
3249         * put_scos.adb: Do not generate a blank line in SCOs when omitting the
3250         CP line for a disabled pragma.
3251
3252 2010-06-17  Emmanuel Briot  <briot@adacore.com>
3253
3254         * prj-proc.adb, prj.adb, prj.ads (Check_Or_Set_Typed_Variable): New
3255         subprogram.
3256         (Process_Declarative_Item): An invalid value in an typed variable
3257         declaration is no longer always fatal.
3258
3259 2010-06-16  Arnaud Charlet  <charlet@adacore.com>
3260
3261         * get_scos.adb, par_sco.adb, par_sco.ads, put_scos.adb, scos.adb,
3262         scos.ads, exp_ch4.adb, sem_warn.adb: Code clean up, update
3263         documentation.
3264
3265 2010-06-16  Javier Miranda  <miranda@adacore.com>
3266
3267         * exp_disp.adb (Expand_Dispatching_Call): Adjust the decoration of the
3268         node referenced by the SCIL node of dispatching "=" to skip the tags
3269         comparison.
3270
3271 2010-06-16  Ed Schonberg  <schonberg@adacore.com>
3272
3273         * sem_ch5.adb (Analyze_Exit_Statement): Return if no enclosing loop,
3274         to prevent cascaded errors and compilation aborts.
3275
3276 2010-06-16  Robert Dewar  <dewar@adacore.com>
3277
3278         * back_end.adb (Switch_Subsequently_Cancelled): New function
3279         Move declarations to package body level to support this change
3280         * back_end.ads (Switch_Subsequently_Cancelled): New function
3281         * gnat_ugn.texi: Document -gnat-p switch
3282         * switch-c.adb (Scan_Front_End_Switches): Implement -gnat-p switch
3283         * ug_words: Add entry for -gnat-p (UNSUPPRESS_ALL)
3284         * usage.adb: Add line for -gnat-p switch
3285         * vms_data.ads: Add entry for UNSUPPRESS_ALL (-gnat-p)
3286
3287 2010-06-16  Robert Dewar  <dewar@adacore.com>
3288
3289         * sem_warn.adb (Check_Infinite_Loop_Warning): Declaration counts as
3290         modification.
3291
3292 2010-06-16  Robert Dewar  <dewar@adacore.com>
3293
3294         * exp_disp.adb: Minor reformatting
3295
3296 2010-06-16  Ed Schonberg  <schonberg@adacore.com>
3297
3298         * sem_ch3.adb (Complete_Private_Subtype): Inherit class_wide type from
3299         base type only if it was not previously created for the partial view.
3300
3301 2010-06-16  Thomas Quinot  <quinot@adacore.com>
3302
3303         * tbuild.ads: Minor comment fix
3304
3305 2010-06-15  Nathan Froyd  <froydnj@codesourcery.com>
3306
3307         * gcc-interface/trans.c (gnu_stack_free_list): Delete.
3308         (gnu_except_ptr_stack): Change type to VEC.  Update comment.
3309         (gnu_elab_proc_stack): Likewise.
3310         (gnu_return_label_stack): Likewise.
3311         (gnu_loop_label_stack): Likewise.
3312         (gnu_switch_label_stack): Likewise.
3313         (gnu_constraint_label_stack): Likewise.
3314         (gnu_storage_error_label_stack): Likewise.
3315         (gnu_program_error_label_stack): Likewise.
3316         (push_exception_label_stack): Take a VEC ** instead of a tree *.
3317         (push_stack): Likewise.  Remove unused second parameter.  Update
3318         callers.
3319         (pop_stack): Take a VEC * instead of a tree *.  Update callers.
3320         (gigi): Initialize stacks as VECs.
3321         (Identifier_to_gnu): Use VEC_last instead of TREE_VALUE.
3322         (Case_Statement_to_gnu): Likewise.
3323         (Subprogram_Body_to_gnu): Likewise.
3324         (call_to_gnu): Likewise.
3325         (Exception_Handler_to_gnu_sjlj): Likewise.
3326         (gnat_to_gnu): Likewise.
3327         (get_exception_label): Likewise.
3328
3329 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3330
3331         * sem_ch3.adb (Build_Derived_Record_Type): if derived type is an
3332         anonymous base generated when the parent is a constrained discriminated
3333         type, propagate interface list to first subtype because it may appear
3334         in a current instance within the extension part of the derived type
3335         declaration, and its own subtype declaration has not been elaborated
3336         yet.
3337         * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
3338         determine whether it has the controlling type.
3339
3340 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
3341
3342         * exp_ch11.adb (Expand_N_Raise_Statement): Make sure that the explicit
3343         raise of CE, SE and PE have the reason correctly set and are properly
3344         expanded before stopping the expansions of .NET/JVM exceptions.
3345
3346 2010-06-14  Robert Dewar  <dewar@adacore.com>
3347
3348         * opt.ads (Check_Policy_List): Add some clarifying comments
3349         * sem_prag.adb (Analyze_Pragma, case Check): Set Pragma_Enabled flag
3350         on rewritten Assert pragma.
3351
3352 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
3353
3354         * sem_ch6.adb (Check_Overriding_Indicator): Add a special check for
3355         controlled operations, so that they will be treated as overriding even
3356         if the overridden subprogram is marked Is_Hidden, as long as the
3357         overridden subprogram's parent subprogram is not hidden.
3358
3359 2010-06-14  Robert Dewar  <dewar@adacore.com>
3360
3361         * debug.adb: Entry for gnatw.d no longer specific for while loops
3362         * einfo.adb (First_Exit_Statement): New attribute for E_Loop
3363         * einfo.ads (First_Exit_Statement): New attribute for E_Loop
3364         * sem_ch5.adb (Analyze_Loop_Statement): Check_Infinite_Loop_Warning has
3365         new calling sequence to include test for EXIT WHEN.
3366         (Analyze_Exit_Statement): Chain EXIT statement into exit statement chain
3367         * sem_warn.ads, sem_warn.adb (Check_Infinite_Loop_Warning): Now handles
3368         EXIT WHEN case.
3369         * sinfo.adb (Next_Exit_Statement): New attribute of N_Exit_Statement
3370         node.
3371         * sinfo.ads (N_Pragma): Correct comment on Sloc field (points to
3372         PRAGMA, not to pragma identifier).
3373         (Next_Exit_Statement): New attribute of N_Exit_Statement node
3374
3375 2010-06-14  Robert Dewar  <dewar@adacore.com>
3376
3377         * sem_res.adb (Resolve_Short_Circuit): Fix sloc of "assertion/check
3378         would fail" msg.
3379
3380 2010-06-14  Robert Dewar  <dewar@adacore.com>
3381
3382         * par-ch2.adb (Scan_Pragma_Argument_Association): Clarify message for
3383         missing pragma argument identifier.
3384
3385 2010-06-14  Robert Dewar  <dewar@adacore.com>
3386
3387         * atree.ads, atree.adb (Ekind_In): New functions.
3388
3389 2010-06-14  Robert Dewar  <dewar@adacore.com>
3390
3391         * exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**N in stand alone context
3392
3393 2010-06-14  Robert Dewar  <dewar@adacore.com>
3394
3395         * usage.adb (Usage): Redo documentation of -gnatwa.
3396
3397 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3398
3399         * sem_ch8.adb (Find_Type): The attribute 'class cannot be applied to
3400         an untagged incomplete type that is a limited view.
3401
3402 2010-06-14  Sergey Rybin  <rybin@adacore.com>
3403
3404         * gnat_ugn.texi: Add description of '-cargs gcc_switches' to gnatstub
3405         and gnatppa.
3406
3407 2010-06-14  Thomas Quinot  <quinot@adacore.com>
3408
3409         * exp_ch4.adb (Expand_Short_Circuit_Operator): New subprogram,
3410         factoring duplicated code between...
3411         (Expand_N_And_Than, Expand_N_Or_Else): Remove duplicated code.
3412         * a-envvar.ads: Minor reformatting
3413
3414 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
3415
3416         * ali.adb, ali.ads, lib-xref.ads: Document new '+' letter for C/C++
3417         static entities.
3418         (Scan_ALI): Take into account new Visibility field.
3419         (Visibility_Kind): New type.
3420         (Xref_Entity_Record): Replace Lib field by Visibility.
3421
3422         * gcc-interface/Make-lang.in: Update dependencies.
3423
3424 2010-06-14  Pascal Obry  <obry@adacore.com>
3425
3426         * raise.h: Remove unused defintions.
3427
3428 2010-06-14  Bob Duff  <duff@adacore.com>
3429
3430         * par-ch10.adb (P_Subunit): If the next token after "separate(X)" is
3431         Tok_Not or Tok_Overriding, call P_Subprogram. We had previously given
3432         the incorrect error "proper body expected".
3433         * par-ch6.adb (P_Subprogram): Suppress "overriding indicator not
3434         allowed here" error in case of subunits, which was triggered by the
3435         above change to P_Subunit.
3436
3437 2010-06-14  Sergey Rybin  <rybin@adacore.com>
3438
3439         * gnat_ugn.texi, vms_data.ads: Update gnatelim doc.
3440
3441 2010-06-14  Thomas Quinot  <quinot@adacore.com>
3442
3443         * lib-util.adb: Minor code reorganization.
3444
3445 2010-06-14  Robert Dewar  <dewar@adacore.com>
3446
3447         * ali.adb (Scan_ALI): Implement reading and storing of N lines
3448         (Known_ALI_Lines): Add entry for 'N' (notes)
3449         * ali.ads (Notes): New table to store Notes information
3450         * alloc.ads: Add entries for Notes table
3451         * lib-util.adb (Write_Info_Int): New procedure
3452         (Write_Info_Slit): New procedure
3453         (Write_Info_Uint): New procedure
3454         * lib-util.ads (Write_Info_Int): New procedure
3455         (Write_Info_Slit): New procedure
3456         (Write_Info_Uint): New procedure
3457         * lib-writ.adb (Write_Unit_Information): Output N (notes) lines
3458         * lib-writ.ads: Update documentation for N (Notes) lines
3459         * lib.adb (Store_Note): New procedure
3460         * lib.ads (Notes): New table
3461         (Store_Note): New procedure
3462         * sem_prag.adb: Call Store_Note for affected pragmas
3463
3464 2010-06-14  Thomas Quinot  <quinot@adacore.com>
3465
3466         * socket.c: Fix wrong condition in #ifdef
3467         * g-socket.adb, g-sothco.ads: Functions imported from socket.c that
3468         take or return char* values can't use Interfaces.C.Strings.chars_ptr,
3469         because on VMS this type is a 32-bit pointer which is not compatible
3470         with the default for C pointers for code compiled with gcc on that
3471         platform.
3472
3473 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3474
3475         * sem_util (Is_VMS_Operator): New predicate to determine whether an
3476         operator is an intrinsic operator declared in the DEC system extension.
3477         * sem_res.adb (Resolve_Logical_Op): operation is legal on signed types
3478         if the operator is a VMS intrinsic.
3479         * sem_eval.adb (Eval_Logical_Op): Operation is legal and be
3480         constant-folded if the operands are signed and the operator is a VMS
3481         intrinsic.
3482
3483 2010-06-14  Robert Dewar  <dewar@adacore.com>
3484
3485         * g-socket.adb, gnatcmd.adb: Minor reformatting.
3486
3487 2010-06-14  Pascal Obry  <obry@adacore.com>
3488
3489         * s-finimp.adb: Fix typo.
3490         * raise.h: Remove duplicate blank line.
3491
3492 2010-06-14  Vincent Celier  <celier@adacore.com>
3493
3494         * prj-nmsc.adb (Add_Sources): Always set the object file and the
3495         switches file names, as the configuration of the language may change
3496         in an extending project.
3497         (Process_Naming_Scheme): For sources of projects that are extended, set
3498         the configuration of the language from the highest extending project
3499         where the language is declared.
3500
3501 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
3502
3503         * sem_res.adb (Resolve_Call): For infinite recursion check, test
3504         whether the called subprogram is inherited from a containing subprogram.
3505         (Same_Or_Aliased_Subprograms): New function
3506
3507 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3508
3509         * sem_ch8.adb (End_Use_Type): Before indicating that an operator is not
3510         use-visible, check whether it is a primitive for more than one type.
3511
3512 2010-06-14  Robert Dewar  <dewar@adacore.com>
3513
3514         * sem_ch3.adb (Copy_And_Swap): Copy Has_Pragma_Unmodified flag.
3515
3516         * sem_ch7.adb (Preserve_Full_Attributes): Preserve
3517         Has_Pragma_Unmodified flag.
3518
3519 2010-06-14  Thomas Quinot  <quinot@adacore.com>
3520
3521         * g-sttsne-locking.adb, g-sttsne-locking.ads, g-sttsne.ads,
3522         g-sttsne-vxworks.adb, g-sttsne-dummy.ads: Removed. Mutual exclusion is
3523         now done in GNAT.Sockets if necessary.
3524         * gsocket.h, g-socket.adb, g-sothco.ads (GNAT.Sockets.Get_XXX_By_YYY):
3525         Ensure mutual exclusion for netdb operations if the target platform
3526         requires it.
3527         (GNAT.Sockets.Thin_Common): New binding for getXXXbyYYY, treating struct
3528         hostent as an opaque type to improve portability.
3529         * s-oscons-tmplt.c, socket.c: For the case of Vxworks, emulate
3530         gethostbyYYY using proprietary VxWorks API so that a uniform interface
3531         is available for the Ada side.
3532         * gcc-interface/Makefile.in: Remove g-sttsne-*
3533         * gcc-interface/Make-lang.in: Update dependencies.
3534
3535 2010-06-14  Vincent Celier  <celier@adacore.com>
3536
3537         * gnatcmd.adb (Mapping_File): New function.
3538
3539 2010-06-14  Javier Miranda  <miranda@adacore.com>
3540
3541         * sem_ch3.adb (Derive_Subprograms): Remove over-restrictive assertion.
3542
3543 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
3544
3545         * ali.adb: Fix typo.
3546         * s-auxdec-vms-alpha.adb, scng.ads: Minor reformatting.
3547
3548 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3549
3550         * sem_ch12.adb: Make Mark_Context transitive, and apply to subprogram
3551         instances.
3552
3553         * sem_ch8.adb (Find_Expanded_Name): If a candidate compilation unit in
3554         the context does not have a homonym of the selector, emit default
3555         error message.
3556
3557 2010-06-14  Robert Dewar  <dewar@adacore.com>
3558
3559         * sem.adb, sem_ch12.adb, sem_util.adb: Minor reformatting and
3560         comment addition.
3561
3562 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
3563
3564         * lib-xref.ads: Doc updates:
3565          - Allocate 'Q' for #include entity kind
3566          - Free 'Z'
3567          - Allocate 'g' for regular macros
3568          - Allocate 'G' for function-like macros
3569
3570 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3571
3572         * sinfo.ads, sinfo.adb (Withed_Body): New attribute of a with_clause.
3573         Indicates that there is an instantiation in the current unit that
3574         loaded the body of the unit denoted by the with_clause.
3575         * sem_ch12.adb (Mark_Context): When instanting a generic body, check
3576         whether a with_clause in the current context denotes the unit that
3577         holds the generic declaration, and mark the with_clause accordingly.
3578         (Instantiate_Package_Body): call Mark_Context.
3579         * sem.adb (Process_Bodies_In_Context): Use Withed_Body to determine
3580         whether a given body should be traversed before the spec of the main
3581         unit.
3582
3583 2010-06-14  Ed Falis  <falis@adacore.com>
3584
3585         * sysdep.c: Fix 653 build against vThreads headers.
3586
3587 2010-06-14  Robert Dewar  <dewar@adacore.com>
3588
3589         * sinfo.ads: Minor reformatting.
3590
3591 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3592
3593         * sem_ch6.adb (Analyze_Subprogram_Body): Do not check conformance when
3594         the spec has been generated for a body without spec that carries an
3595         Inline_Always pragma.
3596
3597 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
3598
3599         * lib-xref.ads: Documentation change: allocate 'Z' letter to C/C++
3600         macro.
3601
3602 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
3603
3604         * exp_dbug.adb (Debug_Renaming_Declaration): Do not output any debug
3605         declaration for VMs, as those are useless and might lead to duplicated
3606         local variable names in the generated code.
3607         * gcc-interface/Make-lang.in: Update dependencies.
3608
3609 2010-06-14  Robert Dewar  <dewar@adacore.com>
3610
3611         * opt.ads, sem.adb, sem_elab.adb: Minor reformatting
3612
3613 2010-06-14  Robert Dewar  <dewar@adacore.com>
3614
3615         * exp_aggr.adb (Has_Address_Clause): Moved to Exp_Util, and there it
3616         is renamed as Has_Following_Address_Clause.
3617         * exp_ch3.adb (Needs_Simple_Initialization): Add Consider_IS argument
3618         to allow the caller to avoid Initialize_Scalars having an effect.
3619         (Expand_N_Object_Declaration): Do not do Initialize_Scalars stuff for
3620         scalars with an address clause specified.
3621         * exp_ch3.ads (Needs_Simple_Initialization): Add Consider_IS argument
3622         to allow the caller to avoid Initialize_Scalars having an effect.
3623         * exp_util.adb (Has_Following_Address_Clause): Moved here from Exp_Aggr
3624         (where it was called Has_Address_Clause).
3625         * exp_util.ads (Has_Following_Address_Clause): Moved here from Exp_Aggr
3626         (where it was called Has_Address_Clause).
3627         * freeze.adb (Warn_Overlay): Suppress message about overlaying causing
3628         problems for Initialize_Scalars (since we no longer initialize objects
3629         with an address clause.
3630
3631 2010-06-14  Robert Dewar  <dewar@adacore.com>
3632
3633         * exp_prag.adb (Expand_Pragma_Check): Set Loc of generated code from
3634         condition.
3635
3636 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
3637
3638         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Debug_Info_Needed
3639         on the entity of an implicitly generated postcondition procedure.
3640
3641 2010-06-14  Thomas Quinot  <quinot@adacore.com>
3642
3643         * sem_ch7.adb (Preserve_Full_Attributes): Propagate
3644         Discriminant_Constraint elist from full view to private view.
3645
3646 2010-06-14  Robert Dewar  <dewar@adacore.com>
3647
3648         * sem_res.adb: Minor reformatting.
3649
3650 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3651
3652         * sem.adb: New version of unit traversal.
3653
3654         * sem_elab.adb (Check_Internal_Call): Do not place a call appearing
3655         within a generic unit in the table of delayed calls.
3656
3657 2010-06-14  Robert Dewar  <dewar@adacore.com>
3658
3659         * gnatcmd.adb, sem_util.adb, exp_ch3.adb: Minor reformatting
3660
3661 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3662
3663         * sem_ch12.adb (Save_References): If an identifier has been rewritten
3664         during analysis as an explicit dereference, keep the reference implicit
3665         in the generic, but preserve the entity if global. This prevents
3666         malformed generic trees in the presence of some nested generics.
3667
3668 2010-06-14  Sergey Rybin  <rybin@adacore.com>
3669
3670         * gnat_ugn.texi: For the GNAT driver, clarify the effect of calling the
3671         tool with '-files=' option. Also fix some small errors (wrong brackets)
3672
3673 2010-06-14  Vincent Celier  <celier@adacore.com>
3674
3675         * gnatbind.adb: Call Scan_ALI with Directly_Scanned set to True for all
3676         the ALI files on the command line.
3677
3678         * ali.adb (Scan_ALI): Set component Directly_Scanned of the unit(s) to
3679         the same value as the parameter of the same name.
3680         * ali.ads (Scan_ALI): New Boolean parameter Directly_Scanned, defaulted
3681         to False.
3682         * bindgen.adb (Gen_Versions_Ada): Never emit version symbols for
3683         Stand-Alone Library interfaces. When binding Stand-Alone Libraries,
3684         emit version symbols only for the units of the library.
3685         (Gen_Versions_C): Ditto.
3686
3687 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
3688
3689         * sem_ch4.adb: Fix typo.
3690
3691 2010-06-14  Vasiliy Fofanov  <fofanov@adacore.com>
3692
3693         * s-oscons-tmplt.c (IOV_MAX): redefine on Tru64 and VMS since the
3694         vector IO doesn't work at default value properly.
3695
3696 2010-06-14  Doug Rupp  <rupp@adacore.com>
3697
3698         * s-stoele.adb: Remove unnecessary qualification of To_Address for VMS.
3699
3700 2010-06-14  Vincent Celier  <celier@adacore.com>
3701
3702         * gnatcmd.adb (Check_Files): Do not invoke the tool with all the
3703         sources of the project if a switch -files= is used.
3704
3705 2010-06-14  Thomas Quinot  <quinot@adacore.com>
3706
3707         * exp_attr.adb: Minor reformatting.
3708
3709 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
3710
3711         * gnat_ugn.texi: Minor typo fixes and wording changes.
3712
3713 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3714
3715         * sem_ch4.adb (Analyze_One_Call): If the call has been rewritten from a
3716         prefixed form, do not re-analyze first actual, which may need an
3717         implicit dereference.
3718         * sem_ch6.adb (Analyze_Procedure_Call): If the call is given in
3719         prefixed notation, the analysis will rewrite the node, and possible
3720         errors appear in the rewritten name of the node.
3721         * sem_res.adb: If a call is ambiguous because its first parameter is
3722         an overloaded call, report list of candidates, to clarify ambiguity of
3723         enclosing call.
3724
3725 2010-06-14  Doug Rupp  <rupp@adacore.com>
3726
3727         * s-auxdec-vms-alpha.adb: New package body implementing legacy
3728         VAX instructions with Asm insertions.
3729         * s-auxdec-vms_64.ads: Inline VAX queue functions
3730         * s-stoele.adb: Resolve some ambiguities in To_Addresss with s-suxdec
3731         that show up only on VMS.
3732         * gcc-interface/Makefile.in: Provide translation for
3733         s-auxdec-vms-alpha.adb.
3734
3735 2010-06-14  Olivier Hainque  <hainque@adacore.com>
3736
3737         * initialize.c (VxWorks section): Update comments.
3738
3739 2010-06-14  Robert Dewar  <dewar@adacore.com>
3740
3741         * a-convec.adb, sem_prag.adb, checks.adb: Minor reformatting.
3742
3743 2010-06-14  Eric Botcazou  <ebotcazou@adacore.com>
3744
3745         * init.c: Code clean up.
3746
3747 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3748
3749         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): Do
3750         not insert address clause in table for later validation if type of
3751         entity is generic, to prevent possible spurious errors. 
3752
3753         * sem_ch8.adb: Code clean up.
3754
3755 2010-06-14  Ben Brosgol  <brosgol@adacore.com>
3756
3757         * gnat_ugn.texi: Expanded @ovar macro inline to solve problem with
3758         texi2pdf and texi2html.
3759         Document how to change scheduling properties on HP-UX.
3760
3761 2010-06-14  Thomas Quinot  <quinot@adacore.com>
3762
3763         * g-socket.ads: Remove misleading comments.
3764
3765 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
3766
3767         * sem_prag.adb (Check_Duplicated_Export_Name): Remove check for
3768         CLI_Target as this prevents proper detection of exported names
3769         duplicates when the exported language is different to CIL.
3770         (Process_Interface_Name): Add check for CIL convention exports,
3771         replacing the old one from Check_Duplicated_Export_Name.
3772
3773 2010-06-14  Matthew Heaney  <heaney@adacore.com>
3774
3775         * a-coinve.adb, a-convec.adb (operator "&"): Check both that new length
3776         and new last satisfy constraints.
3777         (Delete_Last): prevent overflow for subtraction of index values
3778         (To_Vector): prevent overflow for addition of index values
3779
3780 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3781
3782         * sem_ch4.adb (Complete_Object_Operation): After analyzing the
3783         rewritten call, preserve the resulting type to prevent spurious errors,
3784         when the call is implicitly dereferenced in the context of an in-out
3785         actual.
3786
3787         * checks.adb (Apply_Discriminant_Check): If the target of the
3788         assignment is a renaming of a heap object, create constrained type for
3789         it to apply check.
3790
3791 2010-06-14  Pascal Obry  <obry@adacore.com>
3792
3793         * prj-proc.adb: Fix copy of object directory for extending projects.
3794
3795 2010-06-14  Jose Ruiz  <ruiz@adacore.com>
3796
3797         * init.c (__gnat_alternate_stack): Define this space for PowerPC linux
3798         (__gnat_install_handler, PowerPC linux): Activate the alternative
3799         signal stack.
3800
3801 2010-06-13  Gerald Pfeifer  <gerald@pfeifer.com>
3802
3803         * gnat_rm.texi: Move to GFDL version 1.3.
3804         * gnat-style.texi: Ditto.
3805         * gnat_ugn.texi: Ditto.
3806
3807 2010-06-12  Kai Tietz  <kai.tietz@onevision.com>
3808
3809         PR ada/43731
3810         * gcc-interface/Makefile.in: Add rules for multilib x86/x64
3811         mingw targets.
3812
3813 2010-06-11  Alexandre Oliva  <aoliva@redhat.com>
3814
3815         * gcc-interface/utils.c (update_pointer_to): Initialize last.
3816
3817 2010-06-09  Eric Botcazou  <ebotcazou@adacore.com>
3818
3819         * gcc-interface/ada-tree.h: Fix formatting nits.
3820
3821 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3822
3823         * gcc-interface/utils.c (init_gnat_to_gnu): Use typed GC
3824         allocation.
3825         (init_dummy_type): Likewise.
3826         (gnat_pushlevel): Likewise.
3827
3828         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
3829         (Subprogram_Body_to_gnu): Likewise.
3830         (Compilation_Unit_to_gnu): Likewise.
3831         (start_stmt_group): Likewise.
3832         (extract_encoding): Likewise.
3833         (decode_name): Likewise.
3834
3835         * gcc-interface/misc.c (gnat_printable_name): Likewise.
3836
3837         * gcc-interface/decl.c (annotate_value): Likewise.
3838
3839         * gcc-interface/ada-tree.h (struct lang_type): Add variable_size
3840         GTY option.
3841         (struct lang_decl): Likewise.
3842         (SET_TYPE_LANG_SPECIFIC): Use typed GC allocation.
3843         (SET_DECL_LANG_SPECIFIC): Likewise.
3844
3845 2010-06-04  Eric Botcazou  <ebotcazou@adacore.com>
3846
3847         * gnatlink.adb (gnatlink): Remove support for -fsjlj switch.
3848         * gcc-interface/lang-specs.h: Likewise.
3849
3850 2010-06-03  H.J. Lu  <hongjiu.lu@intel.com>
3851
3852         PR c++/44294
3853         * gcc-interface/decl.c (MAX_FIXED_MODE_SIZE): Removed.
3854
3855 2010-06-01  Arnaud Charlet  <charlet@adacore.com>
3856
3857         * gnat_ugn.texi: Improve doc on -fdump-ada-spec, mention limitations.
3858
3859 2010-05-30  Eric Botcazou  <ebotcazou@adacore.com>
3860
3861         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Task_Type>: Reuse the
3862         TYPE_DECL of the equivalent type instead of building a new one.
3863
3864 2010-05-30  Eric Botcazou  <ebotcazou@adacore.com>
3865
3866         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust warning message.
3867         Fix nits in comments.
3868         * gcc-interface/misc.c (gnat_init_gcc_eh): Likewise.
3869         * gcc-interface/trans.c (gigi): Likewise.
3870         (Attribute_to_gnu): Likewise.
3871         (Case_Statement_to_gnu): Likewise.
3872         (gnat_to_gnu): Adjust warning message.
3873         * gcc-interface/utils.c (create_var_decl_1): Fix nits in comments.
3874         (build_vms_descriptor32): Likewise.
3875
3876 2010-05-27  Steven Bosscher  <steven@gcc.gnu.org>
3877
3878         * gcc-interface/decl.c: Pretend to be a backend file by undefining
3879         IN_GCC_FRONTEND (still need rtl.h here).
3880
3881 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
3882
3883         * gcc-interface/trans.c: Do not include rtl.h, insclude libfuncs.h.
3884         (gigi): Adjust call to set_stack_check_libfunc.
3885
3886 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
3887
3888         * gcc-interface/utils.c: Do not include rtl.h.
3889
3890 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
3891
3892         * gcc-interface/utils.c: Do not include function.h, pointer-set.h,
3893         and gimple.h.  Explain why rtl.h has to be included.
3894         (handle_vector_size_attribute): Call reconstruct_complex_type directly.
3895         * gcc-interface/targtyps.c: Do not include tm_p.h
3896         * gcc-interface/utils2.c: Do not include flags.h.
3897         * gcc-interface/trans.c: Do not include expr.h.  Include rtl.h instead,
3898         and explain why it has to be included.
3899         * gcc-interface/misc.c: Do not include expr.h, libfuncs.h, cgraph.h,
3900         and optabs.h.
3901         Include function.h and explain why.  Explain why except.h is included.
3902         (enumerate_modes): Remove unused function. 
3903         * gcc-interface/gigi.h (enumerate_modes): Remove prototype.
3904         * gcc-interface/Make-lang.in: Update dependencies.
3905
3906 2010-05-25  Joseph Myers  <joseph@codesourcery.com>
3907
3908         * gcc-interface/misc.c (internal_error_function): Add context
3909         parameter.  Use it to access show_column flag and instead of using
3910         global_dc.  Call warn_if_plugins.
3911         * gcc-interface/Make-lang.in (ada/misc.o): Update dependencies.
3912
3913 2010-05-19  Eric Botcazou  <ebotcazou@adacore.com>
3914
3915         * gcc-interface/misc.c (LANG_HOOKS_DEEP_UNSHARING): Redefine.
3916         * gcc-interface/trans.c (unshare_save_expr): Delete.
3917         (gigi): Do not unshare trees under SAVE_EXPRs here.
3918
3919 2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
3920
3921         * gcc-interface/trans.c (call_to_gnu): Use build_call_vec instead of
3922         build_call_list.
3923         * gcc-interface/utils.c (build_function_stub): Likewise.
3924
3925 2010-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3926
3927         * gcc-interface/misc.c (gnat_handle_option): Remove special logic
3928         for Wuninitialized without -O.
3929         
3930 2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
3931
3932         * gcc-interface/gigi.h (enum standard_datatypes): Add new value
3933         ADT_exception_data_name_id.
3934         (exception_data_name_id): New define.
3935         * gcc-interface/trans.c (gigi): Initialize it.
3936         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use the standard
3937         exception type for standard exception definitions.  Do not make them
3938         volatile.
3939         <E_Record_Type>: Equate fields of types associated with an exception
3940         definition to those of the standard exception type.
3941
3942 2010-05-13  Andreas Schwab  <schwab@linux-m68k.org>
3943
3944         * tracebak.c (__gnat_backtrace): Mark top_stack with ATTRIBUTE_UNUSED.
3945
3946 2010-05-12  Eric Botcazou  <ebotcazou@adacore.com>
3947
3948         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Tidy up
3949         code, improve comments and fix formatting nits.
3950
3951 2010-05-12  Eric Botcazou  <ebotcazou@adacore.com>
3952
3953         * gcc-interface/utils.c (update_pointer_to): Return early if the old
3954         pointer already points to the new type.  Chain the old pointer and its
3955         variants at the end of new pointer's chain after updating them.
3956
3957 2010-05-10  Eric Botcazou  <ebotcazou@adacore.com>
3958
3959         * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables
3960         built for interfaces.
3961         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use
3962         imported_p instead of Is_Imported when considering constants.
3963         Do not promote alignment of exported objects.
3964         <E_Record_Subtype>: Strip all suffixes for dispatch table entities.
3965
3966 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
3967
3968         * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables.
3969         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Make imported
3970         constants really constant.
3971         <E_Record_Subtype>: Strip the suffix for dispatch table entities.
3972
3973 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
3974
3975         * gcc-interface/decl.c (make_aligning_type): Declare the type.
3976
3977 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
3978
3979         * gcc-interface/decl.c (gnat_to_gnu_entity): Create variables for size
3980         expressions of variant part of record types declared at library level.
3981
3982 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
3983
3984         * gcc-interface/gigi.h (create_field_decl): Move PACKED parameter.
3985         * gcc-interface/utils.c (create_field_decl): Move PACKED parameter.
3986         (rest_of_record_type_compilation): Adjust call to create_field_decl.
3987         (make_descriptor_field): Likewise and pass correctly typed constants.
3988         (build_unc_object_type): Likewise.
3989         (unchecked_convert): Likewise.
3990         * gcc-interface/decl.c (elaborate_expression_2): New static function.
3991         (gnat_to_gnu_entity): Use it to make alignment factors explicit.
3992         Adjust call to create_field_decl.
3993         (make_aligning_type): Likewise.
3994         (make_packable_type): Likewise.
3995         (maybe_pad_type): Likewise.
3996         (gnat_to_gnu_field): Likewise.
3997         (components_to_record): Likewise.
3998         (create_field_decl_from): Likewise.
3999         (create_variant_part_from): Remove superfluous test.
4000         * gcc-interface/trans.c (gigi): Adjust call to create_field_decl.
4001
4002 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
4003
4004         * gcc-interface/gigi.h (build_unc_object_type): Add DEBUG_INFO_P param.
4005         (build_unc_object_type_from_ptr): Likewise.
4006         * gcc-interface/utils.c (build_unc_object_type): Add DEBUG_INFO_P param
4007         and pass it to create_type_decl.  Declare the type.  Simplify.
4008         (build_unc_object_type_from_ptr): Add DEBUG_INFO_P parameter and pass
4009         it to build_unc_object_type.
4010         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust to above change.
4011         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
4012         (gnat_to_gnu): Likewise.
4013         * gcc-interface/utils2.c (build_allocator): Likewise.
4014
4015 2010-05-07  Eric Botcazou  <ebotcazou@adacore.com>
4016
4017         PR 40989
4018         * gcc-interface/misc.c (gnat_handle_option): Fix long line.
4019
4020 2010-05-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4021
4022         * gcc-interface/Makefile.in: Removed mips-sgi-irix5* support.
4023
4024 2010-05-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4025
4026         PR 40989
4027         * gcc-interface/misc.c (gnat_handle_option): Add argument kind.
4028
4029 2010-05-02  Giuseppe Scrivano  <gscrivano@gnu.org>
4030
4031         * gnathtml.pl: Use 755 as mask for new directories.
4032
4033 2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
4034
4035         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Uniquize
4036         constant constructors before taking their address.
4037
4038 2010-04-25  Eric Botcazou  <ebotcazou@adacore.com>
4039
4040         * exp_dbug.ads: Fix outdated description.  Mention link between XVS
4041         and XVZ objects.
4042         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Set
4043         XVZ variable as unit size of XVS type.
4044         (maybe_pad_type): Likewise.
4045
4046 2010-04-25  Eric Botcazou  <ebotcazou@adacore.com>
4047
4048         * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Do not
4049         use memmove if the array type is bit-packed.
4050
4051 2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
4052
4053         * gcc-interface/misc.c (gnat_init): Remove second argument in call to
4054         build_common_tree_nodes.
4055
4056 2010-04-18  Ozkan Sezer  <sezeroz@gmail.com>
4057
4058         * gsocket.h: Make sure that winsock2.h is included before windows.h.
4059
4060 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
4061
4062         * gcc-interface/utils2.c (build_unary_op) <ATTR_ADDR_EXPR>: Do not
4063         issue warning.
4064
4065 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
4066
4067         * uintp.h (UI_Lt): Declare.
4068         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do the size
4069         computation in sizetype.
4070         <E_Array_Subtype>: Use unified handling for all index types.  Do not
4071         generate MAX_EXPR-based expressions, only COND_EXPR-based ones.  Add
4072         bypass for PATs.
4073         (annotate_value): Change test for negative values.
4074         (validate_size): Apply test for negative values on GNAT nodes.
4075         (set_rm_size): Likewise.
4076         * gcc-interface/misc.c (gnat_init): Set unsigned types for sizetypes.
4077         * gcc-interface/utils.c (rest_of_record_type_compilation): Change test
4078         for negative values.
4079         (max_size) <MINUS_EXPR>: Do not reassociate a COND_EXPR on the LHS.
4080         (builtin_type_for_size): Adjust definition of signed_size_type_node.
4081         * gcc-interface/utils2.c (compare_arrays): Optimize comparison of
4082         lengths against zero.
4083
4084 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
4085
4086         * back-end.adb (Call_Back_End): Pass Standard_Character to gigi.
4087         * gcc-interface/gigi.h (gigi): Add standard_character parameter.
4088         (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE, 
4089         LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE,
4090         LONG_DOUBLE_TYPE_SIZE, SIZE_TYPE): Delete.
4091         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Call
4092         rm_size.
4093         * gcc-interface/misc.c (gnat_init): Set signedness of char as per
4094         flag_signed_char.  Tag sizetype with "size_type" moniker.
4095         * gcc-interface/trans.c (gigi): Add standard_character parameter.
4096         Remove useless built-in types.  Equate unsigned_char_type_node to
4097         Standard.Character.  Use it instead of char_type_node throughout.
4098         (Attribute_to_gnu): Likewise.
4099         (gnat_to_gnu): Likewise.
4100         * gcc-interface/utils2.c (build_call_raise): Likewise.
4101
4102 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
4103
4104         * gcc-interface/gigi.h (enum standard_datatypes): Add new values
4105         ADT_sbitsize_one_node and ADT_sbitsize_unit_node.
4106         (sbitsize_one_node): New macro.
4107         (sbitsize_unit_node): Likewise.
4108         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Fix
4109         latent bug in the computation of subrange_p.  Fold wider_p predicate.
4110         (cannot_be_superflat_p): Use an explicitly signed 64-bit type to do
4111         the final comparison.
4112         (make_aligning_type): Build real negation and use sizetype throughout
4113         the offset computation.
4114         (maybe_pad_type): Do not issue the warning when the new size expression
4115         is too complex.
4116         (annotate_value) <INTEGER_CST>: Simplify code handling negative values.
4117         * gcc-interface/misc.c (gnat_init): Initialize sbitsize_one_node and
4118         sbitsize_unit_node.
4119         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Fold
4120         double negation.
4121         (gnat_to_gnu) <N_Free_Statement>: Likewise.
4122         * gcc-interface/utils.c (convert): Use sbitsize_unit_node.
4123         * gcc-interface/utils2.c (compare_arrays): Compute real lengths and use
4124         constants in sizetype.  Remove dead code and tweak comments.  Generate
4125         equality instead of inequality comparisons for zero length tests.
4126
4127 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
4128
4129         * gcc-interface/gigi.h (gnat_init_decl_processing): Delete.
4130         * gcc-interface/decl.c (gnat_to_gnu_entity): Constify a few variables.
4131         <object>: Do not create the fake PARM_DECL if no debug info is needed.
4132         Do not create the corresponding VAR_DECL of a CONST_DECL for debugging
4133         purposes if no debug info is needed.
4134         Fix formatting.  Reorder and add comments.
4135         * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Reference>: Constify
4136         variable and remove obsolete comment.
4137         * gcc-interface/utils.c (convert_vms_descriptor64): Tweak comment.
4138         (convert_vms_descriptor32): Likewise.
4139         (convert): Remove dead code.
4140         <UNCONSTRAINED_ARRAY_REF>: Pass the field instead of its name to build
4141         the reference to the P_ARRAY pointer.
4142         <POINTER_TYPE>: Likewise.
4143         (maybe_unconstrained_array) <UNCONSTRAINED_ARRAY_TYPE>: Likewise.
4144         (gnat_init_decl_processing): Delete, move contents to...
4145         * gcc-interface/misc.c (gnat_init): ...here.
4146
4147 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
4148
4149         * gcc-interface/trans.c (unchecked_conversion_nop): Handle function
4150         calls.  Return true for conversion from a record subtype to its type.
4151
4152 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
4153
4154         * gcc-interface/decl.c (gnat_to_gnu_entity): Use boolean_type_node in
4155         lieu of integer_type_node for boolean operations.
4156         (choices_to_gnu): Likewise.
4157         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
4158         (Loop_Statement_to_gnu): Likewise.
4159         (establish_gnat_vms_condition_handler): Likewise.
4160         (Exception_Handler_to_gnu_sjlj): Likewise.
4161         (gnat_to_gnu): Likewise.
4162         (build_unary_op_trapv): Likewise.
4163         (build_binary_op_trapv): Likewise.
4164         (emit_range_check): Likewise.
4165         (emit_index_check): Likewise.
4166         (convert_with_check): Likewise.
4167         * gcc-interface/utils.c (convert_vms_descriptor64): Likewise.
4168         (convert_vms_descriptor32): Likewise.
4169         (convert_vms_descriptor): Likewise.
4170         * gcc-interface/utils2.c (nonbinary_modular_operation): Likewise.
4171         (compare_arrays): Use boolean instead of integer constants.
4172         (build_binary_op) <TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR,
4173         TRUTH_OR_EXPR, TRUTH_XOR_EXPR>: New case.  Check that the result type
4174         is a boolean type.
4175         <GE_EXPR, LE_EXPR, GT_EXPR, LT_EXPR>: Remove obsolete assertion.
4176         <EQ_EXPR, NE_EXPR>: Check that the result type is a boolean type.
4177         <PREINC/PREDECREMENT_EXPR, POSTINC/POSTDECREMENT_EXPR>: Delete.
4178         <TRUTH_NOT_EXPR>: Check that the result type is a boolean type.
4179         (build_unary_op): Use boolean_type_node in lieu of integer_type_node
4180         for boolean operations.
4181         (fill_vms_descriptor): Likewise.  Fix formatting nits.
4182
4183 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
4184
4185         * gcc-interface/ada-tree.def (LOOP_STMT): Change to 4-operand nodes.
4186         * gcc-interface/ada-tree.h (LOOP_STMT_TOP_COND, LOOP_STMT_BOT_COND):
4187         Merge into...
4188         (LOOP_STMT_COND): ...this.
4189         (LOOP_STMT_BOTTOM_COND_P): New flag.
4190         (LOOP_STMT_TOP_UPDATE_P): Likewise.
4191         * gcc-interface/trans.c (can_equal_min_or_max_val_p): New function.
4192         (can_equal_min_val_p): New static inline function.
4193         (can_equal_max_val_p): Likewise.
4194         (Loop_Statement_to_gnu): Use build4 in lieu of build5 and adjust to
4195         new LOOP_STMT semantics.  Use two different strategies depending on
4196         whether optimization is enabled to translate the loop.
4197         (gnat_gimplify_stmt) <LOOP_STMT>: Adjust to new LOOP_STMT semantics.
4198
4199 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
4200
4201         * uintp.adb (UI_From_Dint): Remove useless code.
4202         (UI_From_Int): Likewise.
4203         * uintp.h: Reorder declarations.
4204         (UI_From_gnu): Declare.
4205         (UI_Base): Likewise.
4206         (Vector_Template): Likewise.
4207         (Vector_To_Uint): Likewise.
4208         (Uint_0): Remove.
4209         (Uint_1): Likewise.
4210         * gcc-interface/gigi.h: Tweak comments.
4211         * gcc-interface/cuintp.c (UI_From_gnu): New global function.
4212         * gcc-interface/decl.c (maybe_pad_type): Do not warn if either size
4213         overflows.
4214         (annotate_value) <INTEGER_CST>: Call UI_From_gnu.
4215         * gcc-interface/trans.c (post_error_ne_num): Call post_error_ne.
4216         (post_error_ne_tree): Call UI_From_gnu and post_error_ne.
4217         * gcc-interface/utils.c (max_size) <tcc_binary>: Do not special-case
4218         TYPE_MAX_VALUE.
4219
4220 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
4221
4222         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Just copy
4223         TYPE_NAME.
4224         * gcc-interface/trans.c (smaller_packable_type_p): Rename into...
4225         (smaller_form_type_p): ...this.  Change parameter and variable names.
4226         (call_to_gnu): Use the nominal type of the parameter to create the
4227         temporary if it's a smaller form of the actual type.
4228         (addressable_p): Return false if the actual type is integral and its
4229         size is greater than that of the expected type.
4230
4231 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
4232
4233         * gcc-interface/cuintp.c (UI_To_gnu): Fix long line.
4234         * gcc-interface/gigi.h (MARK_VISITED): Skip objects of constant class.
4235         (process_attributes): Delete.
4236         (post_error_ne_num): Change parameter name.
4237         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force debug info
4238         with -g3.  Remove a couple of obsolete lines.  Minor tweaks.
4239         If type annotating mode, operate on trees to compute the adjustment to
4240         the sizes of tagged types.  Fix long line.
4241         (cannot_be_superflat_p): Tweak head comment.
4242         (annotate_value): Fold local constant.
4243         (set_rm_size): Fix long line.
4244         * gcc-interface/trans.c (Identifier_to_gnu): Rework comments.
4245         (Attribute_to_gnu): Fix long line.
4246         <Attr_Size>: Remove useless assertion.
4247         Reorder statements.  Use size_binop routine.
4248         (Loop_Statement_to_gnu): Use build5 in lieu of build_nt.
4249         Create local variables for the label and the test.  Tweak comments.
4250         (Subprogram_Body_to_gnu): Reset cfun to NULL.
4251         (Compilation_Unit_to_gnu): Use the Sloc of the Unit node.
4252         (process_inlined_subprograms): Integrate into...
4253         (Compilation_Unit_to_gnu): ...this.
4254         (gnat_to_gnu): Fix long line.
4255         (post_error_ne_num): Change parameter name.
4256         * gcc-interface/utils.c (process_attributes): Static-ify.
4257         <ATTR_MACHINE_ATTRIBUTE>: Set input_location before proceeding.
4258         (create_type_decl): Add comment.
4259         (create_var_decl_1): Process the attributes after adding the VAR_DECL
4260         to the current binding level.
4261         (create_subprog_decl): Likewise for the FUNCTION_DECL.
4262         (end_subprog_body): Do not reset cfun to NULL.
4263         (build_vms_descriptor32): Fix long line.
4264         (build_vms_descriptor): Likewise.
4265         (handle_nonnull_attribute): Likewise.
4266         (convert_vms_descriptor64): Likewise.
4267         * gcc-interface/utils2.c (fill_vms_descriptor): Fix long line.
4268         (gnat_protect_expr): Fix thinko.
4269
4270 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
4271
4272         * gcc-interface/trans.c (gigi): Set DECL_IGNORED_P on EH functions.
4273         (gnat_to_gnu) <N_Op_Eq>: Restore the value of input_location
4274         before translating the top-level node.
4275         (lvalue_required_p) <N_Function_Call>: Return 1 if !constant.
4276         <N_Object_Declaration>: Likewise.
4277         <N_Assignment_Statement>: Likewise.
4278         <N_Unchecked_Type_Conversion>: Likewise.
4279         (call_to_gnu): Remove kludge.
4280         (gnat_to_gnu) <N_Return_Statement>: When not optimizing, force labels
4281         associated with user returns to be preserved.
4282         (gnat_to_gnu): Add special code to deal with boolean rvalues.
4283         * gcc-interface/utils2.c (compare_arrays): Set input_location on all
4284         comparisons.
4285         (build_unary_op) <ADDR_EXPR>: Call build_fold_addr_expr.
4286         <INDIRECT_REF>: Call build_fold_indirect_ref.
4287
4288 2010-04-15  Joel Sherrill  <joel.sherrill@oarcorp.com>
4289
4290         * g-socket.adb: A target can have multiple missing errno's.  This
4291         will result in multiple errno's being defined as -1.  Because of this
4292         we can not use a case but must use a series of if's to avoid 
4293         a duplicate case error in GNAT.Sockets.Resolve_Error.
4294
4295 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
4296
4297         * gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
4298         a statement.  Otherwise, if at top-level, push the processing of the
4299         elaboration routine.  In the misaligned case, issue the error messages
4300         again on entry and create the temporary explicitly.  Do not issue them
4301         for CONSTRUCTORs.
4302         For a function call, emit the range check if necessary.
4303         In the copy-in copy-out case, create the temporary for the return
4304         value explicitly.
4305         Do not unnecessarily convert by-ref parameters to the formal's type.
4306         Remove obsolete guards in conditions.
4307         (gnat_to_gnu) <N_Assignment_Statement>: For a function call, pass the
4308         target to call_to_gnu in all cases.
4309         (gnat_gimplify_expr) <ADDR_EXPR>: Remove handling of SAVE_EXPR.
4310         (addressable_p) <CONSTRUCTOR>: Return false if not static.
4311         <COMPOUND_EXPR>: New case.
4312         * gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Fold a compound
4313         expression if it has unconstrained array type.
4314         (gnat_mark_addressable) <COMPOUND_EXPR>: New case.
4315         (gnat_stabilize_reference) <COMPOUND_EXPR>: Stabilize operands on an
4316         individual basis.
4317
4318 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
4319
4320         * gcc-interface/trans.c (gigi): Do not start statement group.
4321         (Compilation_Unit_to_gnu): Set current_function_decl to NULL.
4322         Start statement group and push binding level here...
4323         (gnat_to_gnu) <N_Compilation_Unit>: ...and not here.
4324         Do not push fake contexts at top level.  Remove redundant code.
4325         (call_to_gnu): Rename a local variable and constify another.
4326         * gcc-interface/utils.c (gnat_pushlevel): Fix formatting nits.
4327         (set_current_block_context): Set it as the group's block.
4328         (gnat_init_decl_processing): Delete unrelated init code.
4329         (end_subprog_body): Use NULL_TREE.
4330
4331 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
4332
4333         * gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force
4334         side-effects of actual parameters before the call.
4335
4336 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
4337
4338         * gcc-interface/decl.c (validate_size): Reorder, remove obsolete test
4339         and warning.
4340         (set_rm_size): Reorder and remove obsolete test.
4341
4342 2010-04-14  Eric Botcazou  <ebotcazou@adacore.com>
4343
4344         * gcc-interface/gigi.h: Reorder declarations and tweak comments.
4345         (gigi): Adjust ATTRIBUTE_UNUSED markers.
4346         * gcc-interface/gadaint.h: New file.
4347         * gcc-interface/trans.c: Include it in lieu of adaint.h.  Reorder.
4348         (__gnat_to_canonical_file_spec): Remove declaration.
4349         (number_names): Delete.
4350         (number_files): Likewise.
4351         (gigi): Adjust.
4352         * gcc-interface/Make-lang.in (ada/trans.o): Adjust dependencies to
4353         above change.
4354
4355 2010-04-14  Eric Botcazou  <ebotcazou@adacore.com>
4356
4357         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Class_Wide_Type>: Fix
4358         comment.
4359         * gcc-interface/trans.c (process_freeze_entity): Use local copy of
4360         Ekind.  Return early for class-wide types.  Do not compute initializer
4361         unless necessary.  Reuse the tree for an associated class-wide type
4362         only if processing its root type.
4363
4364 2010-04-13  Joel Sherrill  <joel.sherrill@oarcorp.com>
4365
4366         * gsocket.h: Run-time can no longer be built without network
4367         OS headers available.  Changing RTEMS GNAT build procedure to
4368         reflect this and letting run-time build use network .h files.
4369
4370 2010-04-13  Duncan Sands  <baldrick@free.fr>
4371
4372         * gcc-interface/misc.c (gnat_eh_type_covers): Remove.
4373         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Update comment.
4374
4375 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
4376
4377         * gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.
4378         (parent_name_id): New macro.
4379         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use it.
4380         * gcc-interface/trans.c (gigi): Initialize it.
4381         (lvalue_required_p) <N_Type_Conversion>: New case.
4382         <N_Qualified_Expression>: Likewise.
4383         <N_Allocator>: Likewise.
4384         * gcc-interface/utils.c (convert): Try to properly upcast tagged types.
4385
4386 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
4387
4388         * gcc-interface/ada-tree.h (TYPE_BY_REFERENCE_P): Delete.
4389         (DECL_CONST_ADDRESS_P): New macro.
4390         (SET_DECL_ORIGINAL_FIELD_TO_FIELD): Likewise.
4391         (SAME_FIELD_P): Likewise.
4392         * gcc-interface/decl.c (constructor_address_p): New static function.
4393         (gnat_to_gnu_entity) <object>: Set DECL_CONST_ADDRESS_P according to
4394         the return value of above function.
4395         (gnat_to_gnu_entity) <E_Record_Type>: Force BLKmode for all types
4396         passed by reference.
4397         <E_Record_Subtype>: Likewise.
4398         Set TREE_ADDRESSABLE on the type if it passed by reference.
4399         (make_packable_type): Use SET_DECL_ORIGINAL_FIELD_TO_FIELD.
4400         (create_field_decl_from): Likewise.
4401         (substitute_in_type): Likewise.
4402         (purpose_member_field): Use SAME_FIELD_P.
4403         * gcc-interface/misc.c (must_pass_by_ref): Test TREE_ADDRESSABLE.
4404         * gcc-interface/trans.c (lvalue_required_p): Add ADDRESS_OF_CONSTANT
4405         parameter and adjust recursive calls.
4406         <N_Explicit_Dereference>: New case.
4407         <N_Object_Declaration>: Return 1 if the object is of a class-wide type.
4408         Adjust calls to lvalue_required_p.  Do not return the initializer of a
4409         DECL_CONST_ADDRESS_P constant if an lvalue is required for it.
4410         (call_to_gnu): Delay issuing error message for a misaligned actual and
4411         avoid the associated back-end assertion.  Test TREE_ADDRESSABLE.
4412         (gnat_gimplify_expr) <ADDR_EXPR>: Handle non-static constructors.
4413         * gcc-interface/utils.c (make_dummy_type): Set TREE_ADDRESSABLE if the
4414         type is passed by reference.
4415         (convert) <CONSTRUCTOR>: Convert in-place in more cases.
4416         * gcc-interface/utils2.c (build_cond_expr): Drop TYPE_BY_REFERENCE_P.
4417         (build_simple_component_ref): Use SAME_FIELD_P.
4418
4419 2010-04-12  Eric Botcazou  <ebotcazou@adacore.com>
4420
4421         * gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable.
4422         (call_to_gnu): Test gigi's flag TYPE_BY_REFERENCE_P instead of calling
4423         front-end's predicate Is_By_Reference_Type.  Use consistent order and
4424         remove ??? comment.  Use original conversion in all cases, if any.
4425         * gcc-interface/utils.c (make_dummy_type): Minor tweak.
4426         (convert): Use local copy in more cases.
4427         <INDIRECT_REF>: Remove deactivated code.
4428         (unchecked_convert): Use a couple of local copies.
4429
4430 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
4431
4432         * gcc-interface/trans.c (lvalue_required_for_attribute_p): New static
4433         function.
4434         (lvalue_required_p) <N_Attribute_Reference>: Call it.
4435         (gnat_to_gnu) <N_Selected_Component>: Prevent build_component_ref from
4436         folding the result only if lvalue_required_for_attribute_p is true.
4437         * gcc-interface/utils.c (maybe_unconstrained_array): Pass correctly
4438         typed constant to build_component_ref.
4439         (unchecked_convert): Likewise.
4440         * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
4441         (build_allocator): Likewise.
4442
4443 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
4444
4445         * gcc-interface/utils2.c (build_cond_expr): Take the address and
4446         dereference if the result type is passed by reference.
4447
4448 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
4449
4450         * gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable.
4451         (gnat_to_gnu) <N_Null_Statement>: When not optimizing, generate a
4452         goto to the next statement.
4453
4454 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
4455
4456         * gcc-interface/gigi.h (maybe_variable): Delete.
4457         (protect_multiple_eval): Likewise.
4458         (maybe_stabilize_reference): Likewise.
4459         (gnat_save_expr): Declare.
4460         (gnat_protect_expr): Likewise.
4461         (gnat_stabilize_reference): Likewise.
4462         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
4463         gnat_stabilize_reference.
4464         (maybe_variable): Delete.
4465         (elaborate_expression_1): Use gnat_save_expr.
4466         * gcc-interface/trans.c (Attribute_to_gnu): Use gnat_protect_expr.
4467         (call_to_gnu): Pass NULL to gnat_stabilize_reference.
4468         (gnat_to_gnu) <N_Object_Declaration>: Use gnat_save_expr.
4469         <N_Slice>: Use gnat_protect_exp.
4470         <N_Selected_Component>: Pass NULL to gnat_stabilize_reference.
4471         <N_In>: Use gnat_protect_expr.
4472         Pass NULL to gnat_stabilize_reference.
4473         (build_unary_op_trapv): Use gnat_protect_expr.
4474         (build_binary_op_trapv): Likewise.
4475         (emit_range_check): Likewise.
4476         (emit_index_check): Likewise.
4477         (convert_with_check): Likewise.
4478         (protect_multiple_eval): Move to utils2.c file.
4479         (maybe_stabilize_reference): Merge into...
4480         (gnat_stabilize_reference): ...this.  Move to utils2.c file.
4481         (gnat_stabilize_reference_1): Likewise.
4482         * gcc-interface/utils.c (convert_to_fat_pointer): Use gnat_protect_expr
4483         instead of protect_multiple_eval.
4484         * gcc-interface/utils2.c (compare_arrays): Likewise.
4485         (nonbinary_modular_operation): Likewise.
4486         (maybe_wrap_malloc): Likewise.
4487         (build_allocator): Likewise.
4488         (gnat_save_expr): New function.
4489         (gnat_protect_expr): Rename from protect_multiple_eval.  Early return
4490         in common cases.  Propagate TREE_READONLY onto dereferences.
4491         (gnat_stabilize_reference_1): Move from trans.c file.
4492         (gnat_stabilize_reference): Likewise.
4493
4494 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
4495
4496         * gcc-interface/gigi.h (gnat_mark_addressable): Rename parameter.
4497         * gcc-interface/decl.c (maybe_variable): Do not set TREE_STATIC on _REF
4498         node.  Use the type of the operand to set TREE_READONLY.
4499         * gcc-interface/trans.c (Identifier_to_gnu): Do not set TREE_STATIC on
4500         _REF node.  Do not overwrite TREE_READONLY.
4501         (call_to_gnu): Rename local variable and fix various nits.  In the
4502         copy-in/copy-out case, build the SAVE_EXPR manually.
4503         (convert_with_check): Call protect_multiple_eval in lieu of save_expr
4504         and fold the computations.
4505         (protect_multiple_eval): Always save entire fat pointers.
4506         (maybe_stabilize_reference): Minor tweaks.
4507         (gnat_stabilize_reference_1): Likewise.  Do not deal with tcc_constant,
4508         tcc_type and tcc_statement.
4509         * gcc-interface/utils.c (convert_to_fat_pointer): Call
4510         protect_multiple_eval in lieu of save_expr.
4511         (convert): Minor tweaks.
4512         (maybe_unconstrained_array): Do not set TREE_STATIC on _REF node.
4513         (builtin_type_for_size): Call gnat_type_for_size directly.
4514         * gcc-interface/utils2.c (contains_save_expr_p): Delete.
4515         (contains_null_expr): Likewise
4516         (gnat_build_constructor): Do not call it.
4517         (compare_arrays): Deal with all side-effects, use protect_multiple_eval
4518         instead of gnat_stabilize_reference to protect the operands.
4519         (nonbinary_modular_operation): Call protect_multiple_eval in lieu of
4520         save_expr.
4521         (maybe_wrap_malloc): Likewise.
4522         (build_allocator): Likewise.
4523         (build_unary_op) <INDIRECT_REF>: Do not set TREE_STATIC on _REF node.
4524         (gnat_mark_addressable): Rename parameter.
4525
4526 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
4527
4528         * gcc-interface/ada-tree.h (TYPE_RETURNS_UNCONSTRAINED_P): Rename into.
4529         (TYPE_RETURN_UNCONSTRAINED_P): ...this.
4530         (TYPE_RETURNS_BY_REF_P): Rename into.
4531         (TYPE_RETURN_BY_DIRECT_REF_P): ...this.
4532         (TYPE_RETURNS_BY_TARGET_PTR_P): Delete.
4533         * gcc-interface/gigi.h (create_subprog_type): Adjust parameter names.
4534         (build_return_expr): Likewise.
4535         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>:
4536         Rename local variables.  If the return Mechanism is By_Reference, pass
4537         return_by_invisible_ref_p to create_subprog_type instead of toggling
4538         TREE_ADDRESSABLE.  Test return_by_invisible_ref_p in order to annotate
4539         the mechanism.  Use regular return for contrained types with non-static
4540         size and return by invisible reference for unconstrained return types
4541         with default discriminants.  Update comment.
4542         * gcc-interface/trans.c (Subprogram_Body_to_gnu): If the function
4543         returns by invisible reference, turn the RESULT_DECL into a pointer.
4544         Do not handle DECL_BY_REF_P in the CICO case here.
4545         (call_to_gnu): Remove code handling return by target pointer.  For a
4546         function call, if the return type has non-constant size, generate the
4547         assignment with an INIT_EXPR.
4548         (gnat_to_gnu) <N_Return_Statement>: Remove dead code in the CICO case.
4549         If the function returns by invisible reference, build the copy return
4550         operation manually.
4551         (add_decl_expr): Initialize the variable with an INIT_EXPR.
4552         * gcc-interface/utils.c (create_subprog_type): Adjust parameter names.
4553         Adjust for renaming of macros.  Copy the node only when necessary.
4554         (create_subprog_decl): Do not toggle TREE_ADDRESSABLE on the return
4555         type, only change DECL_BY_REFERENCE on the RETURN_DECL.
4556         (convert_from_reference): Delete.
4557         (is_byref_result): Likewise.
4558         (gnat_genericize_r): Likewise.
4559         (gnat_genericize): Likewise.
4560         (end_subprog_body): Do not call gnat_genericize.
4561         * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: New case.
4562         (build_return_expr): Adjust parameter names, logic and comment.
4563
4564 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4565
4566         * exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type
4567         if the size is small enough.  Propagate the alignment if there is an
4568         alignment clause on the original array type.
4569         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
4570         Deal with under-aligned packed array types.  Copy the size onto the
4571         justified modular type and don't lay it out again.  Likewise for the
4572         padding type built for other under-aligned subtypes.
4573         * gcc-interface/utils.c (finish_record_type): Do not set a default mode
4574         on the type.
4575
4576 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4577
4578         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set default
4579         alignment on the RETURN type built for the Copy-In Copy-Out mechanism.
4580
4581 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4582
4583         * gcc-interface/trans.c (call_to_gnu): In the return-by-target-ptr case
4584         do not set the result type if there is a specified target and do not
4585         convert the result in any cases.
4586         (protect_multiple_eval): Make direct SAVE_EXPR for CALL_EXPR.
4587         (maybe_stabilize_reference) <COMPOUND_EXPR>: Merge with CALL_EXPR.
4588
4589 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
4590
4591         * gcc-interface/Makefile.in (SPARC/Solaris): Use sparcv8plus.
4592
4593 2010-02-27  Eric Botcazou  <ebotcazou@adacore.com>
4594
4595         PR ada/42253
4596         * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Assert that fat
4597         pointer base types are variant of each other.  Apply special treatment
4598         for null to fat pointer types in all cases.
4599
4600 2010-01-28  Pascal Obry  <obry@adacore.com>
4601
4602         * s-win32.ads: Add some missing constants.
4603
4604 2010-01-28  Vincent Celier  <celier@adacore.com>
4605
4606         * prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is
4607         Unknown_Package.
4608
4609 2010-01-28  Robert Dewar  <dewar@adacore.com>
4610
4611         * gnat_rm.texi: Minor correction
4612
4613 2010-01-27  Pascal Obry  <obry@adacore.com>
4614
4615         * g-awk.adb: ensure that an AWK session is reusable.
4616
4617 2010-01-27  Vasiliy Fofanov  <fofanov@adacore.com>
4618
4619         * g-regist.adb (For_Every_Key): Fix previous change.
4620         Minor reformatting.
4621
4622 2010-01-27  Thomas Quinot  <quinot@adacore.com>
4623
4624         * lib-writ.ads: Current version of spec for new N (note) ALI lines
4625
4626 2010-01-27  Yannick Moy  <moy@adacore.com>
4627
4628         * a-cdlili.adb (Insert): Correct exception message when cursor
4629         designates wrong list.
4630
4631 2010-01-27  Vincent Celier  <celier@adacore.com>
4632
4633         * gnatcmd.adb: When there is only one main specified, the package
4634         support Switches (<main>) and attribute Switches is specified for the
4635         main, use these switches, instead of Default_Switches ("Ada").
4636
4637 2010-01-27  Robert Dewar  <dewar@adacore.com>
4638
4639         * sem_prag.adb, par-prag.adb, snames.ads-tmpl: pragma Dimension initial
4640         implementation.
4641         * exp_disp.adb: Minor reformatting
4642
4643 2010-01-27  Tristan Gingold  <gingold@adacore.com>
4644
4645         * seh_init.c: Use __ImageBase instead of _ImageBase.
4646
4647 2010-01-27  Javier Miranda  <miranda@adacore.com>
4648
4649         * exp_disp.ads, exp_disp.adb (Expand_Interface_Thunk): Modify the
4650         profile of interface thunks. The type of the controlling formal is now
4651         the covered interface type (instead of the target tagged type).
4652
4653 2010-01-27  Sergey Rybin  <rybin@adacore.com>
4654
4655         * gnat_rm.texi, gnat_ugn.texi: Update gnatcheck doc.
4656
4657 2010-01-27  Robert Dewar  <dewar@adacore.com>
4658
4659         * sinput.ads, sinput.adb (Sloc_Range): Applies to all nodes, formal
4660         changed from Expr to N.
4661
4662 2010-01-26  Thomas Quinot  <quinot@adacore.com>
4663
4664         * gnat_ugn.texi: Adjust documentation of -gnatz switches.
4665         * usage.adb: Replace line for -gnatz with two lines for -gnatzc and
4666         -gnatzr.
4667
4668 2010-01-26  Vincent Celier  <celier@adacore.com>
4669
4670         * prj-attr.adb: Add new attribute Library_Install_Name_Option
4671         Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
4672         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
4673         attributes Run_Path_Option and Library_Install_Name_Option.
4674         * prj.ads (Project_Configuration): Replace component
4675         Run_Path_Origin_Supported with component Run_Path_Origin. Add new
4676         component Library_Install_Name_Option.
4677         * snames.ads-tmpl: Add new standard name Library_Install_Name_Option
4678         Replace Run_Path_Origin_Supported with Run_Path_Origin
4679
4680 2010-01-26  Ed Schonberg  <schonberg@adacore.com>
4681
4682         * sem_ch8.adb (Use_One_Package): Within an instance, an actual package
4683         is not hidden by a homograph declared in another actual package.
4684
4685 2010-01-26  Robert Dewar  <dewar@adacore.com>
4686
4687         * par_sco.adb (Traverse_Declarations_Or_Statements): Only generate
4688         decisions for pragmas Assert, Check, Precondition, Postcondition if
4689         -gnata set.
4690         * scos.ads: Update comments.
4691         * get_scos.adb, put_scos.adb: Minor fix to code reading statement SCOs.
4692         Also remove obsolete code for CT (exit point) SCOs.
4693
4694 2010-01-26  Thomas Quinot  <quinot@adacore.com>
4695
4696         * switch-c.adb: Fix handling of -gnatz*
4697
4698 2010-01-26  Robert Dewar  <dewar@adacore.com>
4699
4700         * par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W
4701         qualifiers for FOR/WHILE loops
4702         * scos.ads: Use separate type letters F/W for for/while loops
4703
4704 2010-01-26  Robert Dewar  <dewar@adacore.com>
4705
4706         * get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple
4707         entries per line, one for each statement in the sequence).
4708         * par_sco.adb (Traverse_Declarations_Or_Statements): Increase array
4709         size from 100 to 10_000 for SC_Array to avoid any real possibility of
4710         overflow. Output decisions in for loops.
4711         Exclude labels from CS lines.
4712         * scos.ads: Clarify that label is not included in the entry point
4713
4714 2010-01-26  Robert Dewar  <dewar@adacore.com>
4715
4716         * par_sco.adb (Traverse_Declarations_Or_Statments): Implement new
4717         format of statement sequence SCO entries (one location/statement).
4718         * put_scos.adb (Put_SCOs): Implement new format of CS lines
4719         * scos.ads: Update comments.
4720         * sem_eval.adb: Minor reformatting.
4721
4722 2010-01-26  Robert Dewar  <dewar@adacore.com>
4723
4724         * par_sco.ads, par_sco.adb (Set_Statement_Entry): New handling of exits
4725         (Extend_Statement_Sequence): New procedures
4726         (Traverse_Declarations_Or_Statements): New handling for exits.
4727
4728 2010-01-26  Robert Dewar  <dewar@adacore.com>
4729
4730         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
4731         Case.
4732
4733 2010-01-26  Robert Dewar  <dewar@adacore.com>
4734
4735         * par_sco.adb (Is_Logical_Operator): Exclude AND/OR/XOR
4736         * scos.ads: Clarify handling of logical operators
4737
4738 2010-01-26  Arnaud Charlet  <charlet@adacore.com>
4739
4740         * s-tpoben.adb: Update comments.
4741
4742 2010-01-26  Robert Dewar  <dewar@adacore.com>
4743
4744         * freeze.adb (Set_Small_Size): Don't set size if alignment clause
4745         present.
4746
4747 2010-01-26  Robert Dewar  <dewar@adacore.com>
4748
4749         * scos.ads: Clean up documentation, remove obsolete XOR references
4750 2010-01-26  Vincent Celier  <celier@adacore.com>
4751
4752         * gnat_ugn.texi: Complete documentation on the restrictions for
4753         combined options in -gnatxxx switches.
4754         Fix typo.
4755
4756 2010-01-26  Arnaud Charlet  <charlet@adacore.com>
4757
4758         * s-tpoben.adb (Initialize_Protection_Entries): If a PO is created from
4759         a controlled operation, abort is already deferred at this point, so we
4760         need to use Defer_Abort_Nestable.
4761
4762 2010-01-26  Vincent Celier  <celier@adacore.com>
4763
4764         * prj-conf.adb (Get_Config_Switches): Check for a default language for
4765         a project extending a project with no languages.
4766
4767 2010-01-26  Vincent Celier  <celier@adacore.com>
4768
4769         * switch-c.adb (Scan_Front_End_Switches): Take into account options
4770         that follow -gnatef.
4771         Allow -gnateG to be followed by other options.
4772
4773 2010-01-26  Robert Dewar  <dewar@adacore.com>
4774
4775         * s-commun.ads, s-osprim-mingw.adb, s-stchop-vxworks.adb, sem_aggr.adb,
4776         s-vxwext.adb, sem_ch10.adb, sem_eval.adb, sem_prag.adb: Minor
4777         reformatting.
4778
4779 2010-01-26  Vasiliy Fofanov  <fofanov@adacore.com>
4780
4781         * g-regist.adb, g-regist.ads (For_Every_Key): New generic procedure
4782         that allows to iterate over all subkeys of a key.
4783
4784 2010-01-26  Ed Falis  <falis@adacore.com>
4785
4786         * sysdep.c: enable NFS for VxWorks MILS
4787         * env.c: enable __gnat_environ for VxWorks MILS
4788         * gcc-interface/Makefile.in: Add VxWorks MILS target pairs.
4789
4790 2010-01-25  Bob Duff  <duff@adacore.com>
4791
4792         * sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
4793         is an internally-generated positional aggregate, and the bounds are
4794         already correctly set. We don't want to overwrite those bounds with
4795         bounds determined by context.
4796
4797 2010-01-25  Robert Dewar  <dewar@adacore.com>
4798
4799         * g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
4800         exp_ch9.adb, g-sechas.ads: Minor reformatting.
4801
4802 2010-01-25  Thomas Quinot  <quinot@adacore.com>
4803
4804         * s-commun.adb (Last_Index): Count must be converted to SEO (a signed
4805         integer type) before subtracting 1, otherwise the computation may wrap
4806         (because size_t is modular) and cause the conversion to fail.
4807
4808 2010-01-25  Ed Falis  <falis@adacore.com>
4809
4810         * sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
4811
4812 2010-01-25  Vincent Celier  <celier@adacore.com>
4813
4814         * prj-attr.adb: New attribute Run_Path_Origin_Required
4815         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
4816         attribute Run_Path_Origin_Required.
4817         * prj.ads (Project_Configuration): New component
4818         Run_Path_Origin_Supported.
4819         * snames.ads-tmpl: New standard name Run_Path_Origin_Required
4820
4821 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
4822
4823         * sem_aggr.adb (Resolve_Array_Aggregate): If the bounds in a choice
4824         have errors, do not continue resolution of the aggregate.
4825         * sem_eval.adb (Eval_Indexed_Component): Do not attempt to evaluate if
4826         the array type indicates an error.
4827
4828 2010-01-25  Bob Duff  <duff@adacore.com>
4829
4830         * sinfo.ads: Minor comment fixes.
4831
4832 2010-01-25  Bob Duff  <duff@adacore.com>
4833
4834         * exp_ch4.adb, exp_aggr.adb: Minor comment fixes and code clean up.
4835
4836 2010-01-25  Arnaud Charlet  <charlet@adacore.com>
4837
4838         * gnatvsn.ads (Current_Year): Update.
4839
4840 2010-01-25  Florian Villoing  <villoing@adacore.com>
4841
4842         * gnat_ugn.texi: Fix typo.
4843
4844 2010-01-25  Thomas Quinot  <quinot@adacore.com>
4845
4846         * scos.ads: Update specification.
4847
4848 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
4849
4850         * sem_ch6.adb (Process_PPCs): If a postcondition is present and the
4851         enclosing subprogram has no previous spec, attach postcondition
4852         procedure to the defining entity for the body.
4853
4854 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
4855
4856         * exp_aggr.adb (Build_Record_Aggr_Code); Do not generate call to
4857         initialization procedure of the ancestor part of an extension aggregate
4858         if it is an interface type.
4859
4860 2010-01-25  Vincent Celier  <celier@adacore.com>
4861
4862         * gnatlink.adb (Process_Binder_File): The directory for the shared
4863         version of libgcc in the run path options is found in the subdirectory
4864         indicated by __gnat_default_libgcc_subdir.
4865         * link.c: Declare new const char * __gnat_default_libgcc_subdir for
4866         each platform.
4867
4868 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
4869
4870         * sem_prag.adb: More flexible pragma Annotate.
4871
4872 2010-01-22  Eric Botcazou  <ebotcazou@adacore.com>
4873
4874         * system-linux-armel.ads (Stack_Check_Probes): Set to True.
4875         * system-linux-armeb.ads (Stack_Check_Probes): Likewise.
4876
4877 2010-01-18  Eric Botcazou  <ebotcazou@adacore.com>
4878
4879         * gcc-interface/utils.c (create_var_decl_1): Fix formatting nits.
4880
4881 2010-01-18  Jan Hubicka  <jh@suse.cz>
4882
4883         PR middle-end/42068
4884         * gcc-interface/utils.c (create_var_decl_1): Do not set COMMON flag for
4885         unit local variables.
4886
4887 2010-01-17  Laurent GUERBY  <laurent@guerby.net>
4888
4889         * gcc-interface/Makefile.in: Fix typo in arm*-*-linux-gnueabi.
4890
4891 2010-01-11  Mikael Pettersson  <mikpe@it.uu.se>
4892
4893         * gcc-interface/Makefile.in: Add arm*-*-linux-gnueabi.
4894         * system-linux-armeb.ads, system-linux-armel.ads: New files.
4895
4896 2010-01-09  Simon Wright  <simon@pushface.org>
4897
4898         PR ada/42626
4899         * gcc-interface/Makefile.in (gnatlib-shared-darwin): Add missing
4900         end-quote.
4901
4902
4903 \f
4904 Copyright (C) 2010 Free Software Foundation, Inc.
4905
4906 Copying and distribution of this file, with or without modification,
4907 are permitted in any medium without royalty provided the copyright
4908 notice and this notice are preserved.