OSDN Git Service

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