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