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