OSDN Git Service

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