OSDN Git Service

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