OSDN Git Service

2010-09-28 Joel Sherrill <joel.sherrill@oarcorp.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2010-09-28  Joel Sherrill <joel.sherrill@oarcorp.com>
2
3         * g-socket.adb: Move pragma to disable warnings in case
4         multiple errnos are not defined by target.
5
6 2010-09-29  Eric Botcazou  <ebotcazou@adacore.com>
7
8         * gcc-interface/utils.c (handle_leaf_attribute): Fix long line.
9
10 2010-09-28  Richard Henderson  <rth@redhat.com>
11
12         * gcc-interface/misc.c (gnat_eh_personality): Use
13         targetm.except_unwind_info.
14
15 2010-09-28  Jan Hubicka  <jh@suse.cz>
16
17         * gcc-interface/utils.c (handle_leaf_attribute): New function.
18         (gnat_internal_attribute_tables): Add leaf.
19
20 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
21
22         * gcc-interface/lang.opt (-all-warnings, -include-barrier,
23         -include-directory, -include-directory=, -no-standard-includes,
24         -no-standard-libraries): New.
25
26 2010-09-20  Eric Botcazou  <ebotcazou@adacore.com>
27
28         * gcc-interface/decl.c (gnat_to_gnu_entity): Replace calls to
29         build_array_type with calls to build_nonshared_array_type.
30         (substitute_in_type): Likewise.
31         * gcc-interface/misc.c (LANG_HOOKS_HASH_TYPES): Delete.
32         (LANG_HOOKS_TYPE_HASH_EQ): Define.
33         (gnat_post_options): Add 'static' keyword.
34         (gnat_type_hash_eq): New static function.
35         * gcc-interface/utils.c (fntype_same_flags_p): New function.
36         (create_subprog_type): Call it.
37         (create_index_type): Call build_nonshared_range_type and tidy up.
38         (create_range_type): Likewise.
39         * gcc-interface/gigi.h (fntype_same_flags_p): Declare.
40
41 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
42
43         * gcc-interface/trans.c (gnat_pushdecl): Do not do anything special
44         for PARM_DECLs.
45         (end_subprog_body): If the body is a BIND_EXPR, make its associated
46         block the top-level one.
47         (build_function_stub): Build a statement group for the whole function.
48         * gcc-interface/utils.c (Subprogram_Body_to_gnu): If copy-in/copy-out
49         is used, create the enclosing block early and process first the OUT
50         parameters.
51
52 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
53
54         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: Do
55         not generate debug info for individual enumerators.
56
57 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
58
59         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Use record
60         type instead of enumeral type as the dummy type built for the template
61         type of fat pointers.
62
63 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
64
65         * gcc-interface/gigi.h (get_elaboration_procedure): Declare.
66         (gnat_zaplevel): Likewise.
67         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force global
68         binding level for an external constant.
69         <E_Constant>: Force the local context and create a fake scope before
70         translating the defining expression of an external constant.
71         <object>: Treat external constants at the global level explicitly for
72         renaming declarations.
73         (elaborate_expression_1): Force the variable to be static if the
74         expression is global.
75         * gcc-interface/trans.c (get_elaboration_procedure): New function.
76         (call_to_gnu): Use it.
77         (gnat_to_gnu): Likewise.
78         <N_Object_Declaration>: Do not test Is_Public to force the creation of
79         an initialization variable.
80         (add_decl_expr): Discard the statement if the declaration is external.
81         * gcc-interface/utils.c (gnat_pushdecl): Do not put the declaration in
82         the current block if it is external.
83         (create_var_decl_1): Do not test Is_Public to set TREE_STATIC.
84         (gnat_zaplevel): New global function.
85
86 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
87
88         * gcc-interface/decl.c (gnat_to_gnu_entity): Explicitly test _LEVEL
89         variables against zero in all cases.
90         (rest_of_type_decl_compilation): Likewise.
91         * gcc-interface/trans.c (gigi): Pass properly typed constants to
92         create_var_decl.
93         (call_to_gnu): Fix formatting.
94         (Handled_Sequence_Of_Statements_to_gnu): Likewise.
95         (Exception_Handler_to_gnu_zcx): Likewise.
96         (gnat_to_gnu) <N_Object_Declaration>: Short-circuit handling of
97         constant
98         expressions in presence of a freeze node.
99
100 2010-09-19  Eric Botcazou  <ebotcazou@adacore.com>
101
102         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Look into
103         expressions for external constants that are aggregates.
104         * gcc-interface/utils2.c (build_simple_component_ref): If the field
105         is an inherited component in an extension, look through the extension.
106
107 2010-09-10  Vincent Celier  <celier@adacore.com>
108
109         * projects.texi: Add documentation for package extensions
110         Add some documentation for attributes Leading_Library_Options and
111         Linker'Leading_Switches.
112
113 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
114
115         * exp_util.adb (Expand_Subtype_From_Expression): When expansion is
116         disabled, compute subtype for all string types.
117
118 2010-09-10  Robert Dewar  <dewar@adacore.com>
119
120         * gnat_ugn.texi: Add documentation for -gnatw.s/S
121         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
122         Component_Size): Implement warning on overriden size clause.
123         (Analyze_Record_Representation_Clause): Implement warning on overriden
124         size clause.
125         * sem_warn.ads, sem_warn.adb (Warn_On_Overridden_Size): New flag
126         (-gnatw.s/S).
127         * ug_words: Add entries for -gnatw.s/S.
128         * vms_data.ads, usage.adb: Add line for -gnatw.s/-gnatw.S.
129         * gcc-interface/Make-lang.in: Update dependencies.
130
131 2010-09-10  Vincent Celier  <celier@adacore.com>
132
133         * prj-dect.adb (Parse_Package_Declaration): Allow a package to extend
134         a package with the same name from an imported or extended project.
135         * prj-proc.adb (Process_Declarative_Items): Process package extensions
136
137 2010-09-10  Bob Duff  <duff@adacore.com>
138
139         * exp_ch6.adb (Expand_Call): Do not perform a null_exclusion check on
140         'out' parameters.
141
142 2010-09-10  Robert Dewar  <dewar@adacore.com>
143
144         * sem.adb: Minor reformatting.
145
146 2010-09-10  Bob Duff  <duff@adacore.com>
147
148         * s-os_lib.ads, g-expect.ads: Add comments.
149
150 2010-09-10  Robert Dewar  <dewar@adacore.com>
151
152         * exp_ch5.adb: Minor reformatting.
153
154 2010-09-10  Thomas Quinot  <quinot@adacore.com>
155
156         * scos.ads: Add comments.
157
158 2010-09-10  Vincent Celier  <celier@adacore.com>
159
160         * gnatcmd.adb (Get_Closure): Remove useless invocation of Close.
161
162 2010-09-10  Hristian Kirtchev  <kirtchev@adacore.com>
163
164         * exp_ch7.adb, exp_ch6.adb (Expand_Call): Establish a transient scope
165         for a controlled build-in-place function call which appears in an
166         anonymous context. The transient scope ensures that the intermediate
167         function result is cleaned up after the master is left.
168         (Make_Build_In_Place_Call_In_Anonymous_Context): Remove the creation
169         of the transient scope. This is now done in Exand_Call which covers
170         additional cases other than secondary stack release.
171
172 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
173
174         * sem.adb (Do_Unit_And_Dependents): Add guard.
175
176 2010-09-10  Robert Dewar  <dewar@adacore.com>
177
178         * exp_ch5.adb: Update comments.
179         * exp_dist.adb: Minor reformatting.
180
181 2010-09-10  Robert Dewar  <dewar@adacore.com>
182
183         * sem_ch13.adb (Check_Record_Representation_Clause): Implement record
184         gap warnings.
185         * sem_warn.ads, sem_warn.adb (Warn_On_Record_Holes): New warning flag.
186         * usage.adb: Add lines for -gnatw.h/H
187         * gnat_ugn.texi: Add documentation for J519-010
188         Warn on record holes/gaps
189         * ug_words: Add entries for -gnatw.h/-gnatw.H
190         * vms_data.ads: Add entries for [NO]AVOIDGAPS
191
192 2010-09-10  Gary Dismukes  <dismukes@adacore.com>
193
194         * sem_ch6.adb: Update comment.
195
196 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
197
198         * sem_ch3.adb (Build_Derived_Private_Type): Mark generated declaration
199         of full view analyzed after analyzing the corresponding record
200         declaration, to prevent spurious name conflicts with original
201         declaration.
202
203 2010-09-10  Jerome Lambourg  <lambourg@adacore.com>
204
205         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the VM case,
206         just issue a warning, but continue with the normal processing.
207
208 2010-09-10  Robert Dewar  <dewar@adacore.com>
209
210         * exp_attr.adb, prj-nmsc.adb, sem_ch4.adb, sem_res.adb: Minor
211         reformatting.
212
213 2010-09-10  Thomas Quinot  <quinot@adacore.com>
214
215         * exp_dist.adb (Build_From_Any_Call, Build_To_Any_Call,
216         Build_TypeCode_Call): For a subtype inserted for the expansion of a
217         generic actual type, go to the underlying type of the original actual
218         type.
219
220 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
221
222         * exp_ch5.adb (Expand_Assign_Array_Loop): In CodePeer mode, place a
223         guard around the increment statement, to prevent an off-by-one-value
224         on the last iteration.
225
226 2010-09-10  Vincent Celier  <celier@adacore.com>
227
228         * sem_aggr.adb, exp_prag.adb, sem_ch3.adb, exp_attr.adb,
229         sem_res.adb, sem_attr.adb, sem_elab.adb, sem_ch4.adb, exp_disp.adb,
230         exp_aggr.adb, exp_dist.adb: Change all mentions of "at run-time" to
231         "at run time" in comments and error/warning messages.
232
233 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
234
235         * exp_cg.adb: Handle properly bodies without specs.
236
237 2010-09-10  Emmanuel Briot  <briot@adacore.com>
238
239         * prj-nmsc.adb (Find_Source_Dirs): When a source directory is not
240         present, and the user requested to either ignore this or display a
241         warning (as opposed to an error), we still need to register the
242         directory.
243
244 2010-09-10  Robert Dewar  <dewar@adacore.com>
245
246         * errout.adb: Remove tests of Parsing_Main_Subunit, since this test is
247         now done in In_Extended_Main_Source_Unit.
248         * errout.ads (Compiler_State[_Type]): Moved from Errout to Lib
249         (Parsing_Main_Subunit): Moved from Errout to Lib and renamed
250         as Parsing_Main_Extended_Source.
251         * frontend.adb: Set Parsing_Main_Extended_Source True for parsing main
252         unit.
253         * lib-load.adb (Load_Unit): Add PMES parameter
254         Set PMES appropriately in all calls to Load_Unit
255         * lib-load.ads (Load_Unit): Add PMES parameter
256         * lib.adb (In_Extended_Main_Source_Unit): When called with
257         Compiler_State set to Parsing, test new flag
258         Compiling_Main_Extended_Source.
259         * lib.ads (Compiler_State[_Type]): Moved from Errout to Lib
260         (Parsing_Main_Subunit): Moved from Errout to Lib and renamed
261         as Parsing_Main_Extended_Source
262         * par-load.adb (Load): Set PMES properly in call to Load_Unit
263
264 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
265
266         * exp_cg.adb: Use proper entity to handle overloads.
267         * sem_res.adb (Check_Parameterless_Call): An operator node without
268         actuals cannot be a call, and must be treated as a string.
269
270 2010-09-10  Robert Dewar  <dewar@adacore.com>
271
272         * frontend.adb: Minor reformatting.
273
274 2010-09-10  Robert Dewar  <dewar@adacore.com>
275
276         * par-ch4.adb (P_Conditional_Expression): Use P_Condition for condition
277         * par-ch5.adb (P_Condition): Move from body to spec
278         * par.adb (Ch5.P_Condition): Move from body to spec
279
280 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
281
282         * exp_cg.adb (Write_Call_Info): If a type that has been registered in
283         the call table is private, use its full view to generate information
284         on its operations.
285
286 2010-09-10  Jose Ruiz  <ruiz@adacore.com>
287
288         * exp_cg.adb (Is_Predefined_Dispatching_Operation): When trying the
289         pattern matching to detect predefined primitive operations take into
290         account that there can be an extra suffix related to body-nested
291         package entities.
292
293 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
294
295         * s-pooglo.ads: Add overriding indicators.
296
297 2010-09-10  Vincent Celier  <celier@adacore.com>
298
299         * vms_data.ads: Add new GNAT BIND qualifiers /32_MALLOC (for -H32) and
300         /64_MALLOC (for -H64).
301
302 2010-09-10  Robert Dewar  <dewar@adacore.com>
303
304         * errout.adb (Error_Msg_Internal): Test Parsing_Main_Subunit flag
305         (Error_Msg_NW): Test Parsing_Main_Subunit flag
306         * errout.ads (Parsing_Main_Subunit): New flag
307         * lib-load.adb (Load_Unit): Set Parsing_Main_Subunit flag
308         * par-ch6.adb: Minor style fix (remove redandant parentheses)
309         * par-ch9.adb: Minor style fix (remove redundant parens)
310         * par-load.adb: (Load): Deal with setting Parsing_Main_Subunit
311
312 2010-09-10  Vincent Celier  <celier@adacore.com>
313
314         * make.adb (Create_Binder_Mapping_File): Remove procedure. Replaced by
315         function of the same name in Makeutl.
316         (Gnatmake): Call function Create_Binder_Mapping_File in Makeutl, instead
317         of removed procedure when creating a binder mapping file.
318         * makeutl.adb (Create_Binder_Mapping_File): New function. Was a
319         procedure in Make.
320         * makeutl.ads (Create_Binder_Mapping_File): New function
321
322 2010-09-10  Jose Ruiz  <ruiz@adacore.com>
323
324         * exp_cg.adb (Is_Predefined_Dispatching_Operation): Add the "__" scope
325         separator when trying the pattern matching to detect predefined
326         primitive operations.
327
328 2010-09-10  Robert Dewar  <dewar@adacore.com>
329
330         * bindgen.adb, atree.adb: Minor reformatting.
331
332 2010-09-10  Ben Brosgol  <brosgol@adacore.com>
333
334         * ug_words, gnat_ugn.texi: Revised "Transitioning to 64-Bit GNAT for
335         OpenVMS" section.
336
337 2010-09-10  Doug Rupp  <rupp@adacore.com>
338
339         * bindgen.adb: Minor comment fix for -H switch.
340
341 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
342
343         * exp_cg.adb (Register_CG_Node): Determine enclosing subprogram or
344         library unit now, by traversing tree before context is expanded.
345         (Write_Call_Info): Use enclosing unit name directly.
346         * exp_ch9.adb (Expand_N_Accept_Statement): Attach generated block to
347         tree earlier, to ensure that subsequent declarations are analyzed in a
348         connected structure.
349         * exp_intr.adb (Expand_Unc_Deallocation): Ditto for generated statement
350         list.
351
352 2010-09-10  Robert Dewar  <dewar@adacore.com>
353
354         * symbols-processing-vms-alpha.adb: Minor reformatting.
355
356 2010-09-10  Jerome Lambourg  <lambourg@adacore.com>
357
358         * bindgen.adb (Gen_Adainit_Ada): In .NET, don't call
359         __gnat_install_handler in case the binder is called with -n.
360
361 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
362
363         * exp_ch6.adb (Make_Build_In_Place_In_Object_Declaration): Use proper
364         sloc for renaming declaration and set Comes_From_Source properly to
365         ensure that references are properly generated for an object declaration
366         that is built in place.
367
368 2010-09-10  Tristan Gingold  <gingold@adacore.com>
369
370         * symbols-processing-vms-alpha.adb: Allow gnatsym to work as a cross
371         tool.
372         * gcc-interface/Make-lang.in: Install gnatsym when cross compiling.
373         * gcc-interface/Makefile.in: gnat.hlp is now generated by
374         Make-generated.in
375
376 2010-09-10  Bob Duff  <duff@adacore.com>
377
378         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): For things like ""X(J)
379         := ...;", remove side effects from the right-hand side, because they
380         might affect the value of the left-hand side, but the left-hand side is
381         first READ (so we can do shifting and masking) and then written back,
382         which would cause the side effects to be incorrectly overwritten.
383
384 2010-09-10  Robert Dewar  <dewar@adacore.com>
385
386         * sem_ch4.adb: Minor reformatting.
387         * exp_ch6.adb: Add comment on testing limited on full type
388         * gnat_rm.texi: Add documentation on Pure_Function.
389
390 2010-09-10  Vincent Celier  <celier@adacore.com>
391
392         * prj-nmsc.adb (Add_Source): Allow an Ada source to have the same name
393         as a source of another project and of another language.
394
395 2010-09-10  Robert Dewar  <dewar@adacore.com>
396
397         * exp_ch3.adb (Expand_N_Object_Declaration): Defend against previous
398         errors.
399         * freeze.adb (Check_Unsigned_Type): Ditto.
400         * sem_aggr.adb (Resolve_Aggr_Expr): Ditto.
401         * sem_ch3.adb (Convert_Scalar_Bounds): Ditto.
402         (Set_Scalar_Range_For_Subtype): Ditto.
403         * sem_eval.adb (Subtypes_Statically_Match): Ditto.
404
405 2010-09-10  Robert Dewar  <dewar@adacore.com>
406
407         * repinfo.adb (List_Type_Info): List Small and Range for fixed-point
408         types.
409         * sprint.adb (Write_Ureal_With_Col_Check_Sloc): Use square brackets
410         rather than parens for fixed constants.
411         * sprint.ads: Use square brackets rather than parens for fixed constants
412         * urealp.adb (UR_Write): Use square brackets rather than parens
413         (UR_Write): Add Brackets argument
414         (UR_Write): Add many more special cases to output literals
415         * urealp.ads (UR_Write): Use square brackets rather than parens
416         (UR_Write): Add Brackets argument
417
418 2010-09-10  Robert Dewar  <dewar@adacore.com>
419
420         * sem_ch4.adb: Minor reformatting.
421
422 2010-09-10  Richard Guenther  <rguenther@suse.de>
423
424         * gcc-interface/utils.c (create_index_type): Use build_range_type.
425
426 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
427
428         * vms_cmds.ads: New.
429
430 2010-09-10  Eric Botcazou  <ebotcazou@adacore.com>
431
432         * exp_dbug.ads: Mention enhanced encoding for array types.
433
434 2010-09-10  Jerome Lambourg  <lambourg@adacore.com>
435
436         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Size clause are
437         unsupported in VM targets. Display a warning in this case.
438
439 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
440
441         * sprint.adb (Sprint_Node_Actual, case N_Derived_Type_Definition): Do
442         not reset Sloc when printing keyword "new".
443
444 2010-09-10  Vincent Celier  <celier@adacore.com>
445
446         * gnatcmd.adb (GNATCmd): Put the command line in environment variable
447         GNAT_DRIVER_COMMAND_LINE.
448
449 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
450
451         * sem.adb (Do_Unit_And_Dependents): if Withed_Body is set on a context
452         clause, process the body at once.
453
454 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
455
456         * sem_res.adb (Resolve_Type_Conversion): Do not warn on a redundant
457         conversion is the expression is a qualified expression used to
458         disambiguate a function call.
459
460 2010-09-10  Vincent Celier  <celier@adacore.com>
461
462         * prj-nmsc.adb (Add_Source): Allow an Ada source to have the same name
463         as a source of another project and of another language.
464
465 2010-09-10  Robert Dewar  <dewar@adacore.com>
466
467         * prj-util.adb: Minor reformatting.
468
469 2010-09-10  Eric Botcazou  <ebotcazou@adacore.com>
470
471         * exp_disp.adb: Minor reformatting.
472
473 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
474
475         * sem_prag.adb (Analyze_Pragma): Ignore Inline_Always pragma in
476         CodePeer mode.
477
478 2010-09-10  Thomas Quinot  <quinot@adacore.com>
479
480         * sem_res.adb: Minor reformatting.
481         * exp_ch9.adb, rtsfind.ads, exp_ch4.adb, exp_ch3.adb: Do not hardcode
482         magic constants for task master levels (instead, reference
483         named numbers from System.Tasking).
484
485 2010-09-10  Eric Botcazou  <ebotcazou@adacore.com>
486
487         * gnatvsn.ads (Ver_Prefix): New constant string.
488         * bindgen.adb (Gen_Output_File_Ada): Use it in lieu of hardcoded value.
489         (Gen_Output_File_C): Likewise.
490         * g-comver.adb (Ver_Prefix): Add cross-reference to Gnatvsn.Ver_Prefix
491         in comment.
492         
493 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
494
495         * sem.adb (Walk_Library_Items): Do not traverse children of the main
496         unit, to prevent spurious circularities in the walk order.
497         (Depends_On_Main): Use elsewhere to prevent circularities when the body
498         of an ancestor of the main unit depends on a child of the main unit.
499
500 2010-09-10  Robert Dewar  <dewar@adacore.com>
501
502         * gnatlink.adb, prj-ext.adb, prj-util.adb, s-tporft.adb,
503         sem_ch3.adb: Minor reformatting.
504
505 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
506
507         * sem_ch3.adb (Derive_Subprograms): An interface primitive operation
508         that is a renaming must be derived like any other primitive operation,
509         the renamed operation is not relevant to the derivation.
510
511 2010-09-10  Robert Dewar  <dewar@adacore.com>
512
513         * sem_aux.ads: Add comment for Is_Inherently_Limited_Type.
514         * checks.adb: Minor reformatting.
515
516 2010-09-10  Robert Dewar  <dewar@adacore.com>
517
518         * gnat_ugn.texi: Add section on intent of style checking options.
519
520 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
521
522         * xref_lib.adb (Get_Full_Type): Fix handling of 'a' char.
523
524 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
525
526         * sem_ch3.adb: Improve error message on derivation from class-wide type
527
528 2010-09-10  Steve Baird  <baird@adacore.com>
529
530         * gnat1drv.adb (Adjust_Global_Switches): Enable Expression_With_Actions
531         generation when Generate_SCIL is True.
532
533 2010-09-10  Geert Bosch  <bosch@adacore.com>
534
535         * gnatlink.adb (Check_ Existing_Executable): New procedure for checking
536         validity of executable name and removing any existing executable
537         (Gnatlink): Call Check_Existing_Executable.
538
539 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
540
541         * s-tporft.adb, s-taskin.ads (Register_Foreign_Thread): Move
542         initialization of Task_Alternate_Stack here, cleaner since in case of
543         ranvescar, Restricted_Ada_Task_Control_Block is not initialized
544         implicitly.
545
546 2010-09-10  Thomas Quinot  <quinot@adacore.com>
547
548         * s-fileio.adb, a-dirval.adb: Minor reformatting.
549
550 2010-09-10  Emmanuel Briot  <briot@adacore.com>
551
552         * prj-util.adb (Executable_Of): Fix CE when the project does not
553         contain a Builder package.
554
555 2010-09-10  Vincent Celier  <celier@adacore.com>
556
557         * prj-ext.adb (Initialize_Project_Path): Add <prefix>/lib/gpr/<target>
558         to the project path, if Prefix and Target_Name are defined.
559         * prj-tree.ads (Project_Node_Tree_Data): New component Target_Name
560
561 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
562
563         * checks.adb (Ensure_Valid): If the expression is a boolean expression
564         or short-circuit operation, do no emit a validity check: only the
565         elementary operands of the expression need checking.
566
567 2010-09-10  Ben Brosgol  <brosgol@adacore.com>
568
569         * gnat_rm.texi: Document Short_Descriptors.
570
571 2010-09-10  Arnaud Charlet  <charlet@adacore.com>
572
573         * s-taprop-linux.adb, s-taskin.ads (Task_Alternate_Stack): Default
574         initialize to Null_Address.
575         (Enter_Task): Do not set up an alternate stack for foreign threads.
576
577 2010-09-10  Robert Dewar  <dewar@adacore.com>
578
579         * opt.adb (Short_Descriptors): New flag
580         (Short_Descriptors_Config): New flag
581         * opt.ads (Short_Descriptors): New flag
582         (Short_Descriptors_Config): New flag
583         * par-prag.adb: Add dummy entry for Short_Descriptors pragma
584         * sem_prag.adb (Set_Mechanism_Value): Deal with Short_Descriptors pragma
585         (Analyze_Pragma): Implement Short_Descriptors pragma
586         * snames.ads-tmpl: Add entry for Short_Descriptors pragma
587
588 2010-09-10  Emmanuel Briot  <briot@adacore.com>
589
590         * prj-util.adb, prj-util.ads (Executable_Of): Take into account the
591         project's Executable_Suffix.
592
593 2010-09-10  Robert Dewar  <dewar@adacore.com>
594
595         * g-pehage.ads: Minor reformatting
596
597         * gnat_ugn.texi: Clarifying comment on -gnatyc
598         * exp_ch6.adb (Expand_N_Subprogram_Body): Reset Is_Pure if limited
599         arguments.
600
601 2010-09-10  Tristan Gingold  <gingold@adacore.com>
602
603         * Make-generated.in (gnat.hlp): New rule.
604
605 2010-09-10  Emmanuel Briot  <briot@adacore.com>
606
607         * prj-util.adb, prj-util.ads (Executable_Of): New parameter
608         Include_Suffix.
609
610 2010-09-10  Robert Dewar  <dewar@adacore.com>
611
612         * einfo.adb: Minor code cleanup: Add assertion to
613         Set_Corresponding_Protected_Entry.
614
615 2010-09-10  Bob Duff  <duff@adacore.com>
616
617         * g-pehage.ads, g-pehage.adb (Produce): Add a new flag to allow sending
618         the output to standard output.
619
620 2010-09-09  Vincent Celier  <celier@adacore.com>
621
622         * gnat_ugn.texi: Add documentation for new gnatmake switch
623         --create-map-file.
624         * make.adb (Map_File): New global variable to store the value of switch
625         --create-map-file.
626         (Gnatmake): Add switch -M to gnatlink if buider switch --create-map-file
627         has been specified.
628         (Scan_Make_Arg): Recognize switch --create-map-file
629         * makeutl.ads (Create_Map_File_Switch): New constant string for new
630         gnatmake and gprbuild switch --create-map-file.
631
632 2010-09-09  Robert Dewar  <dewar@adacore.com>
633
634         * sinput-p.ads: Minor comment update.
635
636 2010-09-09  Arnaud Charlet  <charlet@adacore.com>
637
638         * s-tpobop.adb, s-taenca.adb (Wait_For_Completion_With_Timeout): Reset
639         Entry_Call.State if needed so that the call is marked as cancelled by
640         Check_Pending_Actions_For_Entry_Call.
641         (Timed_Protected_Entry_Call): Adjust calls to Defer/Under_Abort, since
642         this procedure may be called from a controlled operation
643         (Initialize/Finalize).
644
645 2010-09-09  Vadim Godunko  <godunko@adacore.com>
646
647         * impunit.adb: Correct spelling of package's name in the comment.
648
649 2010-09-09  Robert Dewar  <dewar@adacore.com>
650
651         * gnatcmd.adb, gnatlink.adb, sem_ch12.adb, sem_eval.adb, sinput-p.adb:
652         Minor reformatting
653
654 2010-09-09  Robert Dewar  <dewar@adacore.com>
655
656         * impunit.adb: Add entry for a-izteio.
657         * checks.adb: Add comment.
658         * debug.adb, exp_disp.adb: Minor reformatting.
659         * exp_dbug.ads: Minor reformatting throughout (pack block comments).
660
661 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
662
663         * sem_eval.adb (Is_Same_Value): Two occurrences of the same
664         discriminant cannot be assumed to be the same value because they may
665         refer to bounds of a component of two different instances of a
666         discriminated type.
667
668 2010-09-09  Gary Dismukes  <dismukes@adacore.com>
669
670         * checks.adb (Apply_Arithmetic_Overflow_Check): When converting the
671         operands of an operator to the type of an enclosing conversion, rewrite
672         the operator so the conversion can't be flagged as redundant.
673         Remove useless assignments to Typ and Rtyp.
674
675 2010-09-09  Eric Botcazou  <ebotcazou@adacore.com>
676
677         * gnat_ugn.texi: Fix another long line.
678
679 2010-09-09  Bob Duff  <duff@adacore.com>
680
681         * sem_warn.adb (Output_Reference_Error): Don't warn for renames read
682         but never assigned.
683
684 2010-09-09  Matthew Heaney  <heaney@adacore.com>
685
686         * a-convec.adb, a-coinve.adb (Clear, Delete, Delete_Last, Finalize,
687         Merge, Insert, Insert_Space, Move, Reserve_Capacity, Generic_Sorting,
688         Replace_Element, Reverse_Elements, Swap): Change exception message to
689         correctly indicate kind of tampering (cursor or element).
690         * a-cdlili.adb, a-cidlli.adb (Clear, Delete, Delete_First, Delete_Last,
691         Merge, Generic_Sorting, Insert, Move, Reverse_Elements, Splice,
692         Swap_Links, Replace_Element, Swap): Ditto.
693         * a-coorse.adb, a-ciorse.adb (Include, Replace, Replace_Element): Ditto
694         * a-coorma.adb, a-ciorma.adb (Include, Replace, Replace_Element): Ditto
695         * a-coormu.adb, a-ciormu.adb (Replace_Element): Ditto
696         * a-chtgke.adb (Delete_Key_Sans_Free, Generic_Conditional_Insert,
697         Generic_Replace_Element): Ditto
698         * a-chtgop.adb (Clear, Move, Reserve_Capacity): Ditto
699         * a-cohama.adb, a-cihama.adb (Delete, Include, Replace,
700         Replace_Element): Ditto.
701         * a-cohase.adb, a-cihase.adb (Delete, Difference, Intersection,
702         Symmetric_Difference, Union, Include, Replace): Ditto
703
704 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
705
706         * sprint.adb (Write_Id): If the parent node is an expanded name, check
707         that its entity_or_associated_node is an entity before writing it out.
708         * exp_disp.adb (Make_Tags); if a type is declared in C++ and has no
709         constructors, there is no need for a dispatch table pointer because the
710         table is fully inherited from the C++ code.
711
712 2010-09-09  Thomas Quinot  <quinot@adacore.com>
713
714         * projects.texi: Fix wrong identifiers on package end lines in project
715         files examples.
716         * exp_ch6.adb: Minor reformatting.
717
718 2010-09-09  Tristan Gingold  <gingold@adacore.com>
719
720         * gnatcmd.adb, vms_conv.ads: Extract Command_Type.
721
722 2010-09-09  Eric Botcazou  <ebotcazou@adacore.com>
723
724         * gnat_ugn.texi: Fix description of -O3 optimization level.
725
726 2010-09-09  Yannick Moy  <moy@adacore.com>
727
728         * a-cihama.adb, a-cohama.adb: Fix comments.
729
730 2010-09-09  Arnaud Charlet  <charlet@adacore.com>
731
732         * i-cexten.ads: Add comments.
733         (Signed_128): New type, used by some C bindings.
734         * debug.adb: Update comment.
735
736 2010-09-09  Sergey Rybin  <rybin@adacore.com>
737
738         * gnat_ugn.texi: For ASIS tools (gnatpp, gnatcheck, gnatelim,
739         gnatmetric and gnatstub) add a note that '-gnat05' should be used if
740         the tool should process Ada 2005 sources.
741
742 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
743
744         * sem_ch12.adb (Remove_Parent): If the scope containing the child
745         instance is a block, examine the enclosing scope to determine if it is
746         a parent instance.
747
748 2010-09-09  Doug Rupp  <rupp@adacore.com>
749
750         * sem_prag.adb (pragma Ident): Pass --identification= vice 
751         IDENTIFICATION=
752         * gnatlink.adb (Linker_Options): Look for --identification= vice 
753         IDENTIFICATION=
754
755 2010-09-09  Gary Dismukes  <dismukes@adacore.com>
756
757         * exp_attr.adb (Expand_N_Attribute_Reference, case Attribute_Old): When
758         inserting and analyzing the object declaration for the temporary object
759         created to hold a 'Old value, push the scope for the subprogram where
760         the object is inserted, so that its Scope (and that of related objects)
761         will be set properly.
762
763 2010-09-09  Vincent Celier  <celier@adacore.com>
764
765         * prj.adb (Get_Object_Directory): Return object directory display name
766         * adaint.c (__gnat_get_file_names_case_sensitive): When environment
767         variable GNAT_FILE_NAME_CASE_SENSITIVE has a value of "0" or "1",
768         return this value, otherwise return the default for the platform.
769
770 2010-09-09  Arnaud Charlet  <charlet@adacore.com>
771
772         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
773         dependencies. Remove handling of gnatlbr.
774         Do not remove s-stratt-xdr for the run-time when installing.
775
776 2010-09-09  Robert Dewar  <dewar@adacore.com>
777
778         * sem_attr.adb: Minor reformatting.
779
780 2010-09-09  Thomas Quinot  <quinot@adacore.com>
781
782         * socket.c (__gnat_socket_ioctl): On Darwin, the req parameter is an
783         unsigned long, not an int.
784
785 2010-09-09  Vincent Celier  <celier@adacore.com>
786
787         * make.adb, mlib-prj.adb, prj.adb, prj-nmsc.adb, mlib-tgt.adb,
788         prj-conf.adb, prj-env.adb: Use Display_Name instead of Name whenever
789         we are not checking for equality of path or file names.
790
791 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
792
793         * exp_util.adb (Remove_Side_Effects): If the expression is a packed
794         array reference, reset the Analyzed flag so that it is properly
795         expanded when the resulting object declaration is analyzed.
796
797 2010-09-09  Vincent Celier  <celier@adacore.com>
798
799         * sinput-p.adb (Source_File_Is_Subunit): Return False if X is
800         No_Source_File.
801
802 2010-09-09  Ramon Fernandez  <fernandez@adacore.com>
803
804         * sysdep.c: The wrSbc8548 BSP in MILS doesn't know anything about the
805         VX_SPE_TASK option, so disable it.
806
807 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
808
809         * sem.adb (Walk_Library_Items): Traverse context of subunits of the
810         main unit.
811         (Is_Subunit_Of_Main): Handle null nodes properly.
812
813 2010-09-09  Robert Dewar  <dewar@adacore.com>
814
815         * par-ch2.adb: Update comments.
816
817 2010-09-09  Ben Brosgol  <brosgol@adacore.com>
818
819         * gnat_rm.texi: Minor wordsmithing of section on pragma Ordered.
820
821 2010-09-09  Arnaud Charlet  <charlet@adacore.com>
822
823         * par-ch2.adb (Scan_Pragma_Argument_Association): In CodePeer mode,
824         do not generate an error for compatibility with legacy code.
825         ignored when generating SCIL.
826         * sem_attr.adb (Resolve_Attribute): Ignore AI-229 in CodePeer mode.
827
828 2010-09-09  Thomas Quinot  <quinot@adacore.com>
829
830         * s-strxdr.adb, gnat_rm.texi, s-stratt-xdr.adb, s-stratt.ads: Rename
831         s-strxdr.adb to s-stratt-xdr.adb
832
833 2010-09-09  Robert Dewar  <dewar@adacore.com>
834
835         * ali-util.adb (Obsolescent_Check): Removed.
836         * gprep.adb (Obsolescent_Check): Removed.
837         Remove Obsolescent_Check parameter in Scng instantiation
838         * prj-err.adb (Obsolescent_Check): Removed.
839         * prj-err.ads (Obsolescent_Check): Removed.
840         Remove Obsolescent_Check parameter in Scng instantiation
841         * scans.ads (Based_Literal_Uses_Colon): New flag
842         * scn.adb (Obsolscent_Check_Flag): Removed
843         (Obsolscent_Check): Removed
844         (Set_Obsolescent_Check): Removed
845         (Post_Scan): Add handling for obsolescent features
846         * scn.ads (Obsolscent_Check): Removed
847         (Set_Obsolescent_Check): Removed
848         (Post_Scan): Can no longer be inlined
849         Remove Obsolescent_Check from instantiation of Scng
850         * scng.adb (Nlit): Set Based_Literal_Uses_Colon
851         (Nlit): Remove handling of obsolescent check
852         (Scan, case '%'): Remove handling of obsolescent check
853         (Scan, case '|'): Call Post_Scan
854         (Scan, case '!'): Remove handling of obsolescent check, call Post_Scan
855         * scng.ads Remove Obsolescent_Check argument from Scng generic
856         (Post_Scan): Now called for Tok_Vertical_Bar
857         * sinput-l.adb: Remove calls to Set_Obsolescent_Check
858
859 2010-09-09  Doug Rupp  <rupp@adacore.com>
860
861         * gnatlbr.adb: Removed.
862         * gnat_rm.texi, ug_words, gnat_ugn.texi: Remove mention of gnatlbr.
863
864 2010-09-09  Robert Dewar  <dewar@adacore.com>
865
866         * sem_res.adb (Resolve_Type_Conversion): Catch more cases of redundant
867         conversions.
868
869 2010-09-09  Vincent Celier  <celier@adacore.com>
870
871         * gnatlbr.adb: Remove redundant conversions.
872
873 2010-09-09  Vincent Celier  <celier@adacore.com>
874
875         * prj-proc.adb: Minor comment spelling error fix.
876         * osint.ads (Env_Vars_Case_Sensitive): Use function
877         Get_Env_Vars_Case_Sensitive, not Get_File_Names_Case_Sensitive to
878         compute value.
879
880 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
881
882         * sem_res.adb (Resolve_Equality_Op): Implement Ada2012 rule for
883         resolution of conditional expressions whose dependent expressions are
884         anonymous access types.
885
886 2010-09-09  Robert Dewar  <dewar@adacore.com>
887
888         * a-ststio.adb: Minor code reorganization.
889         * s-direio.adb, prj.adb, prj-nmsc.adb, sem_type.adb: Remove redundant
890         conversion.
891         * types.ads: Minor reformatting.
892         * binde.adb, vms_conv.adb, gnatls.adb, s-strxdr.adb, uintp.adb: Remove
893         redundant conversions.
894         * output.adb: Minor reformatting.
895         * sem_ch8.adb (Find_Type): Test for redundant base applies to user
896         types.
897         * opt.ads: Add pragma Ordered for Verbosity_Level.
898         * prj.ads: Add pragma Ordered for type Verbosity.
899
900 2010-09-09  Vincent Celier  <celier@adacore.com>
901
902         * osint.adb (Canonical_Case_File_Name): Use procedure To_Lower in
903         System.Case_Util
904         (Canonical_Case_Env_Var_Name): Ditto
905
906 2010-09-09  Bob Duff  <duff@adacore.com>
907
908         * g-pehage.adb (Allocate): Initialize the allocated elements of IT.
909
910 2010-09-09  Robert Dewar  <dewar@adacore.com>
911
912         * cstand.adb: Mark Boolean and Character types as Ordered
913         * einfo.adb (Has_Pragma_Ordered): New flag
914         * einfo.ads (Has_Pragma_Ordered): New flag
915         * g-calend.ads: Mark Day_Name as Ordered
916         * opt.ads: Mark Ada_Version_Type as Ordered
917         (Warn_On_Unordered_Enumeration_Type): New flag
918         * par-prag.adb: Add procdessing for pragma Ordered
919         * s-ficobl.ads (Read_File_Mode): New subtype
920         * s-fileio.adb: Use Read_File_Mode instead of explicit ranges
921         * s-taskin.ads: Mark Entry_Call_State as ordered
922         * sem_ch3.adb (Build_Derived_Enumeration_Type): Inherit
923         Has_Pragma_Ordered.
924         * sem_ch6.ads: Mark Conformance_Type as Ordered
925         * sem_prag.adb: Implement pragma Ordered
926         * sem_res.adb (Bad_Unordered_Enumeration_Reference): New function
927         (Resolve_Comparison_Op): Diagnose unordered comparison
928         (Resolve_Range): Diagnose unordered range
929         * sem_warn.adb (Warn_On_Unordered_Enumeration_Type): New flag (from
930         -gnatw.u/U)
931         * snames.ads-tmpl: Add entry for pragma Ordered
932         * style.ads (Check_Enumeration_Subrange): Removed
933         * styleg.adb (Check_Enumeration_Subrange): Removed
934         * styleg.ads (Check_Enumeration_Subrange): Removed
935         * stylesw.adb: Remove handling of -gnatyE switch
936         * stylesw.ads: (Style_Check_Enumeration_Subranges): Removed
937         * vms_data.ads: Remove -gnatyE entries
938         Add -gnatw.u entries
939         * ug_words: Entries for -gnatw.u and -gnatw.U
940         * gnat_ugn.texi: Document -gnatw.u/-gnatw.U switches
941         * gnat_rm.texi: Document pragma Ordered.
942         * s-tasren.adb: Avoid unnecessary comparison on unordered enumeration.
943         * s-tpobop.adb: Remove comparison on unordered enumeration type.
944
945 2010-09-09  Vincent Celier  <celier@adacore.com>
946
947         * adaint.c: New function __gnat_get_env_vars_case_sensitive, returns 0
948         for VMS and Windows, and 1 for all other platforms.
949         * adaint.h: New function __gnat_get_env_vars_case_sensitive
950         * osint.ads, osint.adb (Canonical_Case_Env_Var_Name): New procedure.
951         * prj-ext.adb (Add): Call Canonical_Case_Env_Var_Name instead of
952         Canonical_Case_File_Name, as we are dealing with environment variables,
953         not files.
954
955 2010-09-09  Robert Dewar  <dewar@adacore.com>
956
957         * sem_util.adb: Minor reformatting
958
959 2010-09-09  Vincent Celier  <celier@adacore.com>
960
961         * vms_data.ads: Add documentation for S_Make_Single.
962
963 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
964
965         * sem_util.adb (Same_Object): include formal parameters.
966
967 2010-09-09  Vincent Celier  <celier@adacore.com>
968
969         * make.adb (Queue): New package implementing a new impementation of the
970         queue, taking into account the new switch --single-compile-per-obj-dir.
971         * makeutl.ads (Single_Compile_Per_Obj_Dir_Switch): New constant String
972         for gnatmake and gprbuild new switch --single-compile-per-obj-dir.
973         * opt.ads (One_Compilation_Per_Obj_Dir): New Boolean flag, defauted to
974         False.
975         * switch-m.adb (Scan_Make_Switches): Take into account new gnatmake
976         switch --single-compile-per-obj-dir.
977         * vms_data.ads: Add qualifier SINGLE_COMPILE_PER_OBJ_DIR for gnatmake
978         switch --single-compile-per-obj-dir.
979         * gnat_ugn.texi: Add documentation for new gnatmake switch
980         --single-compile-per-obj-dir.
981
982 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
983
984         * einfo.adb, einfo.ads: Clarify use of Corresponding_Protected_Entry.
985
986 2010-09-09  Javier Miranda  <miranda@adacore.com>
987
988         * sem_ch3.adb (Is_Progenitor): Relocated to sem_type.
989         (Replace_Type): Code cleanup.
990         * sem_type.ads, sem_type.adb (Is_Progenitor): Relocated from sem_ch3
991
992 2010-09-09  Thomas Quinot  <quinot@adacore.com>
993
994         * exp_ch8.adb: Minor reformatting.
995
996 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
997
998         * exp_ch9.adb, einfo.adb, einfo.ads: New attribute
999         Corresponding_Protected_Entry.
1000
1001 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1002
1003         * exp_ch3.adb (Build_Untagged_Equality): Do not set alias of implicit
1004         inequality, it is always rewritten as the negation of the corresponding
1005         equality operation.
1006         * exp_ch8.adb (Expand_N_Subprogram_Renaming): If the subprogram renames
1007         the predefined equality of an untagged record, create a body at the
1008         point of the renaming, to capture the current meaning of equality for
1009         the type.
1010
1011 2010-09-09  Robert Dewar  <dewar@adacore.com>
1012
1013         * sem.adb, sem_warn.adb: Minor reformatting.
1014
1015 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1016
1017         * sem_ch6.adb: Improve error message on untagged equality.
1018         * sem.adb (Semantics): Include subprogram bodies that act as spec.
1019
1020 2010-09-09  Javier Miranda  <miranda@adacore.com>
1021
1022         * sem_ch13.adb, exp_ch13.adb: Undo previous change, unneeded.
1023
1024 2010-09-09  Robert Dewar  <dewar@adacore.com>
1025
1026         * sem_ch13.adb, sem_ch6.adb, exp_ch3.adb: Minor reformatting.
1027
1028 2010-09-09  Robert Dewar  <dewar@adacore.com>
1029
1030         * einfo.adb (Is_Aggregate_Type): New function.
1031         * einfo.ads (Aggregate_Kind): New enumeration subtype
1032         (Is_Aggregate_Type): New function.
1033         * sem_type.adb (Is_Array_Class_Record_Type): Removed, replaced by
1034         Is_Aggregate_Typea.
1035
1036 2010-09-09  Robert Dewar  <dewar@adacore.com>
1037
1038         * exp_ch11.adb, frontend.adb, sem_attr.adb, sem_ch10.adb, sem_ch3.adb,
1039         sem_ch4.adb, sem_ch9.adb, sem_res.adb: Use Restriction_Check_Needed
1040         where appropriate.
1041         * restrict.ads, restrict.adb: Ditto.
1042         (Restriction_Check_Needed): New function
1043
1044 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1045
1046         * exp_ch9.ads (Find_Master_Scope): New function, extracted from
1047         Build_Master_Entity, to find the proper scope for the master entity of
1048         a type that may contain tasks, in the presence of transient scopes.
1049         * exp_ch9.adb (Build_Master_Entity) Use new function.
1050         * exp_ch3.adb (Build_Class_Wide_Master): ditto.
1051
1052 2010-09-09  Vincent Celier  <celier@adacore.com>
1053
1054         * prj-attr.adb: Add new attributes Leading_Library_Options and
1055         Linker'Leading_Switches.
1056         * snames.ads-tmpl: Add new standard names Leading_Library_Options and
1057         Leading_Switches.
1058
1059 2010-09-09  Javier Miranda  <miranda@adacore.com>
1060
1061         * sem_ch3.adb (Derive_Subprogram): The code that checks if a
1062         dispatching primitive covers some interface primitive is incomplete.
1063         Replace such code by the invocation of a new subprogram that provides
1064         this functionality.
1065         * sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
1066         * sem_ch6.adb (Check_Missing_Return): Minor reformating
1067         (Check_Convention): Complete if-statement conditition when reporting
1068         errors (to avoid assertion failure).
1069         * sem_ch13.adb (Make_Null_Procedure_Specs): This routine was previously
1070         located in exp_ch3. Relocated inside Analyze_Freeze_Entity.
1071         (Analyze_Freeze_Entity): Invoke routine that adds the spec of non
1072         overridden null interface primitives.
1073         * sem_type.adb (Is_Ancestor): If the parent of the partial view of a
1074         private type is an interface then use the parent of its full view to
1075         climb to its ancestor type.
1076         * sem_disp.ads, sem_disp.adb (Covers_Some_Interface): New subprogram.
1077         (Check_Dispatching_Operation): Extend assertion to handle wrappers of
1078         null interface primitives.
1079         (Is_Null_Interface_Primitive): New subprogram.
1080         * exp_ch3.adb (Make_Null_Procedure_Specs): Removed.
1081         (Expand_Freeze_Record_Type): Do not generate specs of null interface
1082         subprograms because they are now generated by Analyze_Freeze_Entity.
1083
1084 2010-09-09  Robert Dewar  <dewar@adacore.com>
1085
1086         * a-calfor.adb, sem_ch3.adb: Minor reformatting.
1087
1088 2010-09-09  Robert Dewar  <dewar@adacore.com>
1089
1090         * bindgen.adb (Gen_Restrictions_Ada): Avoid explicit enumeration ranges
1091         (Gen_Restrictions_C): Avoid explicit enumeration ranges
1092         (Set_String_Replace): New procedure
1093         * casing.ads (Known_Casing): New subtype declaration
1094         * prj-attr.ads (All_Case_Insensitive_Associative_Array): New subtype
1095         declaration
1096         * prj-dect.adb (Parse_Attribute_Declaration): Avoid enumeration range
1097         * prj-nmsc.adb (Check_Naming): Avoid unnecessary enumeration range
1098         * prj-strt.adb (Attribute_Reference): Avoid enumeration range test
1099         * prj.adb (Known_Casing): Moved to Casing spec (avoid enum range)
1100         * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Avoid enumeration
1101         ranges
1102         * sem_res.adb (Resolve_Range): Check for enumeration subrange style rule
1103         * sem_type.adb (Is_Array_Class_Record_Type): New.
1104         * style.ads (Check_Enumeration_Subrange): New procedure
1105         * styleg.adb (Check_Enumeration_Subrange): New procedure
1106         * styleg.ads (Check_Enumeration_Subrange): New procedure
1107         * stylesw.adb Add handling for Style_Check_Enumeration_Subranges
1108         * stylesw.ads (Style_Check_Enumeration_Subranges): New flag
1109         * usage.adb: Add line for -gnatyE
1110         * vms_data.ads: Add entries for [NO]ENUMERATION_RANGES
1111         Add missing entry for NOBOOLEAN_OPERATORS
1112         * gnat_ugn.texi: Add documentation for -gnatyE
1113
1114 2010-09-09  Robert Dewar  <dewar@adacore.com>
1115
1116         * namet.adb (Initialize): Is now a dummy procedure
1117         (Reinitialize): New procedure
1118         Call Reinitialize from package initialization
1119         * namet.ads (Initialize): Is now a dummy procedure
1120         (Reinitialize): New procedure
1121         * clean.adb, gnat1drv.adb, gnatbind.adb, gnatcmd.adb, gnatlink.adb,
1122         gnatls.adb, gprep.adb, make.adb, prj-makr.adb: Remove obsolete call to
1123         Namet.Initialize.
1124
1125 2010-09-09  Bob Duff  <duff@adacore.com>
1126
1127         * sem_elab.adb, s-os_lib.ads: Minor comment fixes.
1128
1129 2010-09-09  Robert Dewar  <dewar@adacore.com>
1130
1131         * s-bitops.adb (Raise_Error): Add exception message
1132
1133 2010-09-09  Robert Dewar  <dewar@adacore.com>
1134
1135         * par-ch5.adb (Test_Statement_Required): Deal with Ada 2012 allowing no
1136         null statement after label.
1137         * sinfo.ads: Minor comment updates.
1138
1139 2010-09-09  Robert Dewar  <dewar@adacore.com>
1140
1141         * nlists.ads, nlists.adb (In_Same_List): New function.
1142         Use Node_Or_Entity_Id where appropriate.
1143         * par-labl.adb, sem_ch6.adb, sem_type.adb: Use In_Same_List.
1144
1145 2010-09-09  Robert Dewar  <dewar@adacore.com>
1146
1147         * restrict.ads, restrict.adb (Check_Wide_Character_Restriction): New
1148         procedure.
1149         * sem_ch3.adb: Use Check_Wide_Character_Restriction
1150         (Enumeration_Type_Declaration): Check violation of No_Wide_Characters
1151         * sem_ch8.adb (Find_Direct_Name): Check violation of No_Wide_Characters
1152         (Find_Expanded_Name): Check violation of No_Wide_Characters
1153
1154 2010-09-09  Robert Dewar  <dewar@adacore.com>
1155
1156         * par-ch5.adb: Minor reformatting.
1157
1158 2010-09-09  Robert Dewar  <dewar@adacore.com>
1159
1160         * prj-env.adb: Minor code reorganization.
1161         * par-ch3.adb: Minor reformatting.
1162         * gcc-interface/Make-lang.in: Update dependencies.
1163
1164 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1165
1166         * exp_ch9.adb (Build_Activation_Chain_Entity): The construct enclosing
1167         a task declaration can be an entry body.
1168
1169 2010-09-09  Javier Miranda  <miranda@adacore.com>
1170
1171         * exp_disp.adb (Make_DT): Decorate as "static" variables containing
1172         tags of library level tagged types.
1173         (Make_Tags): Disable backend optimizations about aliasing for
1174         declarations of access to dispatch tables.
1175
1176 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1177
1178         * sem_ch12.adb (Reset_Entity): If the entity is an itype created as a
1179         subtype for a null-excluding access type, recover the original
1180         subtype_mark to get the proper visibility on the original name.
1181
1182 2010-09-09  Ed Schonberg  <schonberg@adacore.com>
1183
1184         * exp_ch3.adb (Build_Untagged_Equality): For Ada2012, new procedure to
1185         create the primitive equality operation for an untagged record. The
1186         operation is the predefined equality if no record component has a
1187         user-defined equality, or if there is a user-defined equality for the
1188         type as a whole, or when the type is derived and it has an inherited
1189         equality. Otherwise the body of the operations is built as for tagged
1190         types.
1191         (Expand_Freeze_Record_Type): Call Build_Untagged_Equality when needed.
1192         (Make_Eq_Body): New function to create the expanded body of the equality
1193         operation for tagged and untagged records.  In both cases the operation
1194         composes, and the primitive operation of each record component is used
1195         to generate the equality function for the type.
1196         * exp_ch4.adb (Expand_Composite_Equality): In Ada2012, if a component
1197         has an abstract equality defined, replace its call with a
1198         Raise_Program_Error.
1199         * sem_ch6.adb (New_Overloaded_Entity): if Ada2012, verify that a
1200         user-defined equality operator for an untagged record type does not
1201         happen after type is frozen, and appears in the visible part if partial
1202         view of type is not limited.
1203
1204 2010-09-09  Tristan Gingold  <gingold@adacore.com>
1205
1206         * gnatlbr.adb: Make Create_Directory more portable: use __gnat_mkdir.
1207
1208 2010-09-09  Bob Duff  <duff@adacore.com>
1209
1210         * gnat_ugn.texi: Remove incorrect statement about -E being the default.
1211
1212 2010-09-09  Pascal Obry  <obry@adacore.com>
1213
1214         * gnat_ugn.texi: Update doc on windows related topics.
1215
1216 2010-09-09  Geert Bosch  <bosch@adacore.com>
1217
1218         * s-fatgen.adb: Update comments.
1219
1220 2010-09-09  Robert Dewar  <dewar@adacore.com>
1221
1222         * par-ch4.adb (Box_Error): New procedure.
1223
1224 2010-09-09  Thomas Quinot  <quinot@adacore.com>
1225
1226         * sem.adb: Minor reformatting.
1227
1228 2010-09-09  Pascal Obry  <obry@adacore.com>
1229
1230         * prj-env.adb: Style fix, use /and then/ and /or else/.
1231         * gnat_ugn.texi: Fix typos.
1232
1233 2010-09-03  Joseph Myers  <joseph@codesourcery.com>
1234
1235         PR ada/45499
1236         * gcc-interface/misc.c (gnat_init_options): Allow options with
1237         empty canonical form.  Generate a single save_argv element from -I
1238         options.
1239
1240 2010-08-30  Eric Botcazou  <ebotcazou@adacore.com>
1241
1242         * gcc-interface/utils.c (gnat_pushdecl): Remove test for PARM_DECLs.
1243         Attach fake PARM_DECLs to the topmost block of the function.
1244
1245 2010-08-30  Eric Botcazou  <ebotcazou@adacore.com>
1246
1247         * gcc-interface/trans.c (call_to_gnu): Also force the return slot opt
1248         for the call to a function whose return type was unconstrained.
1249
1250 2010-08-30  Olivier Hainque  <hainque@adacore.com>
1251
1252         * gcc-interface/decl.c (FOREIGN_FORCE_REALIGN_STACK): New macro,
1253         replacement for FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
1254         (gnat_to_gnu_entity) <case ..., E_Procedure>: Use it.
1255
1256 2010-08-21  Eric Botcazou  <ebotcazou@adacore.com>
1257
1258         * tracebak.c: Fix typo in comment.
1259
1260 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
1261
1262         * gcc-interface/decl.c: Use FOR_EACH_VEC_ELT.
1263         * gcc-interface/trans.c: Likewise.
1264         * gcc-interface/utils.c: Likewise.
1265
1266 2010-08-18  Eric Botcazou  <ebotcazou@adacore.com>
1267
1268         * tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.
1269
1270 2010-08-10  Robert Dewar  <dewar@adacore.com>
1271
1272         * sem_ch8.adb, sem_ch8.ads: Change name Write_Scopes to ws.
1273         * sem_util.adb: Minor reformatting.
1274
1275 2010-08-10  Javier Miranda  <miranda@adacore.com>
1276
1277         * sem_aggr.adb (Resolve_Extension_Aggregate): Warn on the use of C++
1278         constructors that leave the object partially initialized.
1279         * exp_atag.ads, exp_atags.adb (Build_Inherit_CPP_Prims): New subprogram
1280         that copies from parent of Typ the dispatch table slots of inherited
1281         C++ primitives. It handles primary and secondary dispatch tables.
1282         * einfo.adb (Related_Type): Moved from Node26 to Node27. Required to
1283         use this attribute with E_Variable entities.
1284         (Set_Is_Tag): Relax assertion to allow its use with variables that
1285         store tags.
1286         (Set_Related_Type): Relax assertion to allow its use with variables
1287         that store the tag of a C++ class.
1288         (Write_26_Field_Name): Remove Related_Type.
1289         (Write_27_Field_Name): Add Related_Type.
1290         * einfo.ads (Related_Type): Moved from Node26 to Node27. Available also
1291         with E_Variable entities.
1292         * sem_prag.adb (CPP_Constructor): Warn on duplicated occurrence of this
1293         pragma.
1294         * sem_util.adb (Search_Tag): Add missing support for CPP types.
1295         (Enclosing_CPP_Parent): New subprogram.
1296         (Has_Suffix): New subprogram.
1297         * sem_util.ads (Enclosing_CPP_Parent): New subprogram that returns the
1298         closest ancestor of a type that is a C++ type.
1299         (Has_Suffix): New subprogram. Used in assertions to check the suffix of
1300         internal entities.
1301         * sem_attr.adb (Analyze_Access_Attribute): Check wrong use of current
1302         instance in derivations of C++ types.
1303         * exp_tss.adb (CPP_Init_Proc): New subprogram.
1304         (Is_CPP_Init_Proc): New subprogram.
1305         (Set_TSS): Handle new C++ init routines.
1306         * exp_tss.ads (TSS_CPP_Init): New TSS name. For initialization of C++
1307         dispatch tables.
1308         (CPP_Init_Proc): New subprogram.
1309         (Is_CPP_Init_Proc): New subprogram.
1310         * exp_disp.adb (CPP_Num_Prims): New subprogram.
1311         (Has_CPP_Constructors): New subprogram.
1312         (Make_Secondary_DT, Make_DT): For derivations of CPP types, do not
1313         initialize slots located in the C++ part of the dispatch table.
1314         (Make_Tags): For CPP types declare variables used by the IP routine to
1315         store the C++ tag values after the first invocation of the C++
1316         constructor.
1317         (Build_CPP_Init_DT): New subprogram.
1318         (Set_CPP_Constructors): New implementation that builds an IP for each
1319         CPP constructor. These IP are wrappers of the C++ constructors that,
1320         after the first invocation of the constructor, read the C++ tags from
1321         the object and save them locally. These copies of the C++ tags are used
1322         by the IC routines to initialize tables of Ada derivations of CPP types.
1323         (Write_DT): Indicate what primitives are imported from C++
1324         * exp_disp.ads (CPP_Num_Prims): New subprogram.
1325         (Has_CPP_Constructors): New subprogram.
1326         * exp_aggr.adb (Build_Record_Aggr_Code): For derivations of C++ types
1327         invoke the IC routine to inherit the slots of the parents.
1328         * sem_ch13.adb (Analyze_Freeze_Entity): Add new warnings on CPP types.
1329         * exp_ch3.adb (Is_Variable_Size_Array): New subprogram.
1330         (Is_Variable_Size_Record): Factorize code calling
1331         Is_Variable_Size_Array.
1332         (Build_CPP_Init_Procedure): New subprogram that builds the tree
1333         corresponding to the procedure that initializes the C++ part of the
1334         dispatch table of an Ada tagged type that is a derivation of a CPP type.
1335         (Build_Init_Procedure): Adding documentation plus code reorganization to
1336         leave more clear the construction of the IP with C++ types.
1337         (Expand_Freeze_Record_Type): Delay call to Set_CPP_Constructors because
1338         it cannot be called after Make_Tags has been invoked.
1339         (Inherit_CPP_Tag): Removed.
1340         (Init_Secondary_Tags): For derivations of CPP types, warn on tags
1341         located at variable offset.
1342         * freeze.ads: Minor reformating.
1343         * sem_ch8.adb (Write_Scopes): Add pragma export. Required to have it
1344         available in gdb.
1345         * gcc-interface/Make-lang.in: Update dependencies.
1346
1347 2010-08-10  Robert Dewar  <dewar@adacore.com>
1348
1349         * a-chahan.ads: Add comments on handling of obsolescent entries.
1350         * opt.ads: Add Ada_2005 and Ada_2012 renamings for versions.
1351         * restrict.adb (Check_Obsolescent_2005_Entity): New procedure.
1352         * restrict.ads (Check_Obsolescent_2005_Entity): New procedure.
1353         * sem_attr.adb (Analyze_Access_Attribute): Call
1354         Check_Obsolescent_2005_Entity to check for access to obsolescent
1355         Ada.Characters.Handling subprogram.
1356         (Analyze_Attribute, case Class): Applying Class to untagged incomplete
1357         type is obsolescent in Ada 2005.
1358         (Analyze_Attribute, case Constrained): Better placement of flag when
1359         flagged as obsolescent feature.
1360         (Analyze_Attribute, case Storage_Size): Use with tasks is obsolescent
1361         * sem_ch10.adb (Analyze_With_Clause): With of renamings such as Text_IO
1362         is an obsolescent feature.
1363         * sem_ch11.adb (Analyze_Raise_Statement): Numeric_Error is obsolescent
1364         feature.
1365         * sem_ch8.adb (Analyze_Subprogram_Renaming): Call
1366         Check_Obsolescent_2005_Entity to check for renaming obsolete
1367         Ada.Characters.Handling subprogram.
1368         * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Check
1369         for obsolescent restrictions in Ada 2005.
1370         (Analyze_Pragma, case Suppress): Entity arg is obsolescent in Ada 2005
1371         (Analyze_Pragma, case Interface): Interface is obsolescent in Ada 2005
1372         * sem_res.adb (Resolve_Call): Call Check_Obsolescent_2005_Entity to
1373         check for obsolescent references to Ada.Characters.Handling subprograms
1374
1375 2010-08-10  Robert Dewar  <dewar@adacore.com>
1376
1377         * einfo.adb, einfo.ads: Fix bad -gnatdt output for incomplete type.
1378
1379 2010-08-10  Robert Dewar  <dewar@adacore.com>
1380
1381         * errout.ads: Add VMS table entries for 2005, 12, 2012 switches
1382         * par-ch4.adb: Change wording of Ada 2012 messages
1383         * vms_data.ads: Add VMS entries for /2005, /12, /2012
1384
1385 2010-08-10  Robert Dewar  <dewar@adacore.com>
1386
1387         * a-suenco.adb (Convert): Fix bug in UTF-16 to UTF-8 conversion for
1388         codes in the range 16#80#..16#7FF#.
1389         * sem_ch10.adb: Minor reformatting.
1390
1391 2010-08-10  Arnaud Charlet  <charlet@adacore.com>
1392
1393         * gnat1drv.adb (Scan_Front_End_Switches): Always perform semantics and
1394         generate ali files in CodePeer mode, so that a gnatmake -c -k will
1395         proceed further when possible
1396         * freeze.adb (Freeze_Static_Object): Fix thinko. Do not generate error
1397         messages when ignoring representation clauses (-gnatI).
1398
1399 2010-08-10  Ed Schonberg  <schonberg@adacore.com>
1400
1401         * exp_ch4.adb (Expand_N_Selected_Component): Do not attempt to
1402         constant-fold discriminant reference if the constraint is an object
1403         with non-static expression. Expression may contain volatile references
1404         in the presence of renamings.
1405
1406 2010-08-10  Vincent Celier  <celier@adacore.com>
1407
1408         * prj-proc.adb (Get_Attribute_Index): If Index is All_Other_Names,
1409         returns Index.
1410         * prj-strt.adb (Attribute_Reference): Recognize 'others' as a valid
1411         index for an associative array where it is allowed.
1412
1413 2010-08-10  Thomas Quinot  <quinot@adacore.com>
1414
1415         * exp_attr.adb: Add comments.
1416
1417 2010-08-10  Jerome Lambourg  <lambourg@adacore.com>
1418
1419         * adaint.c (__gnat_get_file_names_case_sensitive): return 0 on darwin.
1420
1421 2010-08-09  Nathan Froyd  <froydnj@codesourcery.com>
1422
1423         * gcc-interface/utils.c (gnat_poplevel): Use blocks_nreverse.
1424
1425 2010-08-09  Eric Botcazou  <ebotcazou@adacore.com>
1426
1427         * gcc-interface/utils.c (build_vms_descriptor32): Fix formatting.
1428         (build_vms_descriptor): Likewise.
1429
1430 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
1431
1432         * gcc-interface/utils.c (make_descriptor_field): Add tree parameter.
1433         (build_vms_descriptor32): Adjust calls to it for new parameter.
1434         (build_vms_descriptor): Likewise.
1435
1436 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
1437
1438         * gcc-interface/decl.c (rec_variant):  Declare.  Declare a VEC of it.
1439         (build_variant_list): Take and return a VEC instead of a tree.
1440         (create_variant_part_from): Take a VEC instead of a tree for
1441         variant_list.  Adjust accordingly.
1442         (gnat_to_gnu_entity): Adjust for changes to previous functions.
1443
1444 2010-08-07  Nathan Froyd  <froydnj@codesourcery.com>
1445
1446         * gcc-interface/decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead
1447         of alloca.
1448         (components_to_record): Likewise.
1449         * gcc-interface/trans.c (gnat_to_gnu): Likewise.
1450         * gcc-interface/utils.c (max_size): Likewise.
1451         (build_vms_descriptor32): Likewise.
1452         (build_vms_descriptor): Likewise.
1453
1454 2010-08-07  Nathan Froyd  <froydnj@codesourcery.com>
1455
1456         * gcc-interface/decl.c (subst_pair): Declare.  Declare a VEC of it.
1457         (build_subst_list): Return a VEC instead of a tree.
1458         (build_variant_list): Take a VEC for subst_list.  Adjust
1459         accordingly.
1460         (create_field_decl_from): Likewise.
1461         (create_variant_part_from): Likewise.
1462         (copy_and_substitute_in_size): Likewise.
1463         (gnat_to_gnu_entity): Adjust for new interface to build_subst_list.
1464         Free the built vector.
1465
1466 2010-08-06  Eric Botcazou  <ebotcazou@adacore.com>
1467
1468         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not build an
1469         allocator for large imported objects.
1470
1471 2010-08-05  Robert Dewar  <dewar@adacore.com>
1472
1473         * gnat1drv.adb: Minor reformatting.
1474
1475 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
1476
1477         * sem.adb (Do_Unit_And_Dependents): If some parent unit is an
1478         instantiation, process its body before the spec of the main unit,
1479         because it may contain subprograms invoked in the spec of main.
1480         * einfo.ads: Add documention of delayed freeze.
1481
1482 2010-08-05  Vincent Celier  <celier@adacore.com>
1483
1484         * prj-nmsc.adb (Process_Linker): Take into account new values for
1485         attribute Response_File_Format.
1486         * prj.ads (Response_File_Format): New enumeration values GCC_GNU,
1487         GCC_Object_List and GCC_Option_List.
1488
1489 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
1490
1491         * exp_ch4.adb (Expand_N_Selected_Component): Do not constant-fold a
1492         selected component that denotes a discriminant if it is the
1493         discriminant of a component of an unconstrained record type.
1494
1495 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
1496
1497         * exp_util.adb (Insert_Actions): If the action appears within a
1498         conditional expression that is already analyzed, insert action further
1499         out.
1500
1501 2010-08-05  Robert Dewar  <dewar@adacore.com>
1502
1503         * exp_ch4.adb: Minor reformatting.
1504
1505 2010-08-05  Thomas Quinot  <quinot@adacore.com>
1506
1507         * exp_ch4.adb: Minor reformatting
1508         * gnat1drv.adb: Minor reformatting.
1509         Minor code reorganization (use Nkind_In).
1510
1511 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
1512
1513         * exp_util.ads, exp_util.adb (Needs_Constant_Address): New predicate to
1514         determine whether the expression in an address clause for an
1515         initialized object must be constant. Code moved from freeze.adb.
1516         (Remove_Side_Effects): When the temporary is initialized with a
1517         reference, indicate that the temporary is a constant as done in all
1518         other cases.
1519         * freeze.adb (Check_Address_Clause): use Needs_Constant_Address.
1520         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
1521         If object does not need a constant address, remove side effects from
1522         address expression, so it is elaborated at the point of the address
1523         clause and not at the freeze point of the object, so that elaboration
1524         order is respected.
1525
1526 2010-08-05  Vincent Celier  <celier@adacore.com>
1527
1528         * prj.adb (Is_Compilable): Return False for header files of non Ada
1529         languages.
1530
1531 2010-08-05  Emmanuel Briot  <briot@adacore.com>
1532
1533         * prj-nmsc.adb: The Missing_Source_Files flag also considers a missing
1534         exec directory as a warning rather than an error.
1535
1536 2010-08-05  Thomas Quinot  <quinot@adacore.com>
1537
1538         * sem_ch6.adb, gnat1drv.adb, exp_ch6.adb, sem_eval.adb: Minor
1539         reformatting.
1540
1541 2010-08-05  Steve Baird  <baird@adacore.com>
1542
1543         * exp_util.adb (Remove_Side_Effects): An access value which designates
1544         a volatile object of a nonvolatile type is prohibited.
1545         Do not call Make_Reference to construct a reference to such an object.
1546
1547 2010-08-05  Robert Dewar  <dewar@adacore.com>
1548
1549         * a-suezse.adb, a-suezse.ads, a-suezen.adb, a-suezen.ads: Removed.
1550         * a-suewse.adb, a-suewse.ads, a-suesen.adb, a-suesen.ads,
1551         a-suewen.adb, a-suewen.ads: New files.
1552         * Makefile.rtl, impunit.adb: Update implementation of Ada 2012 string
1553         encoding packages.
1554         * sem_elab.adb: Minor reformatting.
1555
1556 2010-08-05  Arnaud Charlet  <charlet@adacore.com>
1557
1558         * sem_ch8.adb (Use_One_Type): Protect against empty scopes.
1559         * exp_util.adb (Component_May_Be_Bit_Aligned): Prevent assert failure
1560         in case of null Comp.
1561
1562 2010-08-05  Robert Dewar  <dewar@adacore.com>
1563
1564         * errout.adb, a-suewen.adb, a-suezen.adb: Minor reformatting.
1565
1566 2010-08-05  Gary Dismukes  <dismukes@adacore.com>
1567
1568         * sem_ch4.adb (Analyze_Allocator): Flag errors on allocators of a
1569         nested access type whose designated type has tasks or is a protected
1570         object when the restrictions No_Task_Hierarchy or
1571         No_Local_Protected_Objects apply. Add ??? comment.
1572         * sem_ch9.adb (Analyze_Protected_Type): Give a warning when a protected
1573         type is not a library-level type and No_Local_Protected_Objects applies.
1574         (Analyze_Task_Type): Give a warning when a task type is not a
1575         library-level type and No_Task_Hierarchy applies.
1576
1577 2010-08-05  Arnaud Charlet  <charlet@adacore.com>
1578
1579         * sem.adb: Minor reformatting
1580         * sem_ch4.adb (Analyze_Reference): Disable error message in CodePeer
1581         mode, not useful.
1582
1583 2010-08-04  Eric Botcazou  <ebotcazou@adacore.com>
1584
1585         * gcc-interface/decl.c: Do not undefine IN_GCC_FRONTEND and do not
1586         include expr.h.
1587         (gnat_to_gnu_entity) <object>: Force address of -1 at the tree level
1588         for the debug-only entity.
1589         * gcc-interface/Make-lang.in (ada/decl.o): Adjust dependencies.
1590
1591 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
1592
1593         * gcc-interface/lang-specs.h: Don't pass -a options.
1594
1595 2010-07-28  Joseph Myers  <joseph@codesourcery.com>
1596
1597         * gcc-interface/misc.c (gnat_init_options): Ignore erroneous
1598         options.  Check canonical_option_num_elements on options copied.
1599
1600 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
1601
1602         * gcc-interface/misc.c (gnat_handle_option): Update prototype and
1603         return value type.  Don't check for missing arguments here.
1604
1605 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
1606
1607         * gcc-interface/misc.c (gnat_option_lang_mask): New.
1608         (gnat_init_options): Update prototype.  Reconstruct argv array
1609         from decoded options.
1610
1611 2010-07-23  Eric Botcazou  <ebotcazou@adacore.com>
1612
1613         * gcc-interface/utils.c (update_pointer_to): In the unconstrained array
1614         case, merge the alias set of the old pointer type.
1615
1616 2010-07-23  Eric Botcazou  <ebotcazou@adacore.com>
1617
1618         * gcc-interface/utils.c (gnat_types_compatible_p): Revert latest change
1619         and recurse only for multidimensional array types instead.
1620
1621 2010-07-22  Eric Botcazou  <ebotcazou@adacore.com>
1622
1623         PR ada/44892
1624         * gcc-interface/utils.c (convert): Fix thinko in test.
1625         (unchecked_convert): When converting from a scalar type to a type with
1626         a different size, pad to have the same size on both sides.
1627
1628 2010-07-22  Eric Botcazou  <ebotcazou@adacore.com>
1629
1630         * gcc-interface/utils.c (gnat_types_compatible_p): Don't require strict
1631         equality for the component type of array types.
1632
1633 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
1634
1635         * gcc-interface/decl.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
1636         * gcc-interface/trans.c: Likewise.
1637         * gcc-interface/utils.c: Likewise.
1638         * gcc-interface/utils2.c: Likewise.
1639
1640 2010-07-13  Laurent GUERBY  <laurent@guerby.net>
1641
1642         PR bootstrap/44458
1643         * gcc-interface/targtyps.c: Include tm_p.h.
1644         * gcc-interface/Make-lang.in: Update dependencies.
1645
1646 2010-07-09  Eric Botcazou  <ebotcazou@adacore.com>
1647
1648         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Deal with
1649         CALL_EXPR.
1650
1651 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1652
1653         * gcc-interface/utils.c: Include diagnostic-core.h in every file
1654         that includes toplev.h.
1655
1656 2010-07-03  Eric Botcazou  <ebotcazou@adacore.com>
1657
1658         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
1659         Branch to common code handling the alignment of discrete types.
1660         <E_Signed_Integer_Type>: Likewise.
1661         <E_Modular_Integer_Type>: Likewise.
1662
1663 2010-07-02  Eric Botcazou  <ebotcazou@adacore.com>
1664
1665         * gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv.
1666         (gnat_handle_option): Allocate only one element for gnat_argv.
1667         (gnat_init): Do not populate gnat_argv.
1668
1669 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1670
1671         * gcc-interface/trans.c: Do not include tree-flow.h.
1672         * gcc-interface/Make-lang.in: Adjust dependencies.
1673
1674 2010-06-29  Nathan Froyd  <froydnj@codesourcery.com>
1675
1676         * gcc-interface/gigi.h (gnat_build_constructor): Take a VEC instead
1677         of a TREE_LIST.  Update comment.
1678         * gcc-interface/trans.c (gigi): Build a VEC instead of a TREE_LIST.
1679         Adjust call to gnat_build_constructor.
1680         (Attribute_to_gnu): Likewise.
1681         (gnat_to_gnu): Likewise.
1682         (pos_to_constructor): Likewise.
1683         (extract_values): Likewise.
1684         * gcc-interface/utils.c (build_template): Likewise.
1685         (convert_vms_descriptor64): Likewise.
1686         (convert_vms_descriptor32): Likewise.
1687         (convert_to_fat_pointer): Likewise.
1688         (convert): Likewise.
1689         (unchecked_convert): Likewise.
1690         * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
1691         * gcc-interface/utils2.c (build_allocator): Likewise.
1692         (fill_vms_descriptor): Likewise.
1693         (gnat_build_constructor): Take a VEC instead of a TREE_LIST.
1694         (compare_elmt_bitpos): Adjust for parameters being constructor_elts
1695         instead of TREE_LISTs.
1696
1697 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
1698
1699         * gcc-interface/misc.c: Do not include except.h.
1700         * gcc-interface/Make-lang.in: Update dependencies.
1701
1702 2010-06-27  Eric Botcazou  <ebotcazou@adacore.com>
1703
1704         * gcc-interface/trans.c: Include tree-flow.h.
1705         (gnu_switch_label_stack): Delete.
1706         (Case_Statement_to_gnu): Do not emit the goto at the end of a case if
1707         its associated block cannot fall through.  Do not emit the final label
1708         if no cases branch to it.
1709         * gcc-interface/Make-lang.in (ada/trans.o): Add $(TREE_FLOW_H).
1710
1711 2010-06-23  Thomas Quinot  <quinot@adacore.com>
1712
1713         * exp_attr.adb (Expand_Access_To_Protected_Op): When rewriting a
1714         reference to a protected subprogram outside of the protected's scope,
1715         ensure the corresponding external subprogram is frozen before the
1716         reference.
1717
1718 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1719
1720         * sem_prag.adb: Fix typo in error message.
1721         * sem.adb: Refine previous change.
1722
1723 2010-06-23  Robert Dewar  <dewar@adacore.com>
1724
1725         * impunit.adb, a-suewen.adb, a-suewen.ads, a-suenco.adb, a-suenco.ads,
1726         a-suezen.adb, a-suezen.ads, a-stuten.adb, a-stuten.ads, Makefile.rtl:
1727         Implement Ada 2012 string encoding packages.
1728
1729 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
1730
1731         * a-stwiun-shared.adb, a-stwiun-shared.ads, a-stzunb-shared.adb,
1732         a-stzunb-shared.ads, a-swunau-shared.adb, a-swuwti-shared.adb,
1733         a-szunau-shared.adb, a-szuzti-shared.adb, a-strunb-shared.adb,
1734         a-strunb-shared.ads, a-stunau-shared.adb, a-suteio-shared.adb: New
1735         files.
1736         * gcc-interface/Makefile.in: Enable use of above files.
1737
1738 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1739
1740         * sem_ch13.adb (Check_Constant_Address_Clauses): Do not check legality
1741         of address clauses if if Ignore_Rep_Clauses is active.
1742         * freeze.adb (Check_Address_Clause): If Ignore_Rep_Clauses is active,
1743         remove address clause from tree so that it does not reach the backend.
1744
1745 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
1746
1747         * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]): Do not
1748         expand 'Valid from user code in CodePeer mode, will be handled by the
1749         back-end directly.
1750
1751 2010-06-23  Bob Duff  <duff@adacore.com>
1752
1753         * g-comlin.ads: Minor comment improvements.
1754
1755 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1756
1757         * sem_res.adb (Uses_SS): The expression that initializes a controlled
1758         component of a record type may be a user-defined operator that is
1759         rewritten as a function call.
1760
1761 2010-06-23  Bob Duff  <duff@adacore.com>
1762
1763         * g-comlin.ads, sem_ch13.adb: Minor comment fix.
1764
1765 2010-06-23  Eric Botcazou  <ebotcazou@adacore.com>
1766
1767         * exp_ch11.adb (Expand_Local_Exception_Handlers): Propagate the end
1768         label to the new sequence of statements.  Set the sloc of the raise
1769         statement onto the new goto statements.
1770
1771 2010-06-23  Robert Dewar  <dewar@adacore.com>
1772
1773         * a-stuten.ads, a-stuten.adb: New files.
1774         * impunit.adb: Add engtry for Ada.Strings.UTF_Encoding (a-stuten.ads)
1775         * Makefile.rtl: Add entry for a-stuten (Ada.Strings.UTF_Encoding)
1776
1777 2010-06-23  Robert Dewar  <dewar@adacore.com>
1778
1779         * gnat_ugn.texi: Add documentation of -gnat12 switch
1780         Add documentation of -gnatX switch.
1781
1782 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1783
1784         * inline.ads: Include the current Ada_Version in the info for pending
1785         instance bodies, so that declaration and body are compiled with the
1786         same Ada_Version.
1787         * inline.adb: Move with_clause for Opt to spec.
1788         * sem_ch12.adb (Analyze_Package_Instantiation,
1789         Analyze_Subprogram_Instantiation): Save current Ada_Version in
1790         Pending_Instantiation information.
1791         (Instantiate_Package_Body, Instantiate_Subprogram_Body,
1792         Inline_Package_Body): Use the Ada_Version present in the body
1793         information.
1794
1795 2010-06-23  Robert Dewar  <dewar@adacore.com>
1796
1797         * usage.adb: Add documentation for -gnat12 switch.
1798         * errout.ads: Add VMS alias entry for -gnat12 switch
1799         * gnat_rm.texi: Add documentation for pragma Ada_12 and Ada_2012
1800         Add documentation for pragma Extensions_Allowed.
1801         * opt.ads: Add entry for Ada 2012 mode.
1802         * sem_ch4.adb, par-ch3.adb, par-ch4.adb: Use new Ada 2012 mode for 2012
1803         features.
1804         * sem_prag.adb, par-prag.adb: Add processing for pragma Ada_12 and
1805         Ada_2012.
1806         * sem_ch13.adb: Add handling for Ada 2012 mode.
1807         * snames.ads-tmpl: Add entries for pragma Ada_2012 and Ada_12.
1808         * switch-c.adb: Add handling for -gnat12 switch.
1809         Implement -gnat2005 and -gnat2012.
1810         * usage.adb: Add documentation for -gnat12 switch.
1811         * vms_data.ads: Add /12 switch for Ada 2012 mode.
1812
1813 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
1814
1815         * exp_ch4.adb (Expand_N_Allocator): Fix potential crash when using
1816         No_Task_Hierarchy restriction. Add comment.
1817         * exp_ch9.adb, exp_ch3.adb: Update comments.
1818
1819 2010-06-23  Robert Dewar  <dewar@adacore.com>
1820
1821         * sem_ch5.adb (Process_Bounds): Remove some junk initializations.
1822         * sem_res.adb: Add comments.
1823         * sem_util.adb: Minor reformatting. Add comments.
1824         Change increment on Actuals_In_Call table.
1825         * opt.ads: Minor: add 'constant'.
1826
1827 2010-06-23  Javier Miranda  <miranda@adacore.com>
1828
1829         * exp_disp.adb (Make_DT): Initialize the Size_Func component of the
1830         TSD to Null_Address if No_Dispatching_Calls is active.
1831
1832 2010-06-23  Vincent Celier  <celier@adacore.com>
1833
1834         * a-comlin.ads: Indicate that use of this package is not supported
1835         during the elaboration of an auto-initialized Stand-Alone Library.
1836
1837 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1838
1839         * exp_util.adb (Is_Possibly_Misaligned_Object): Do not rely on an
1840         alignment clause on a record type to determine if a component may be
1841         misaligned. The decision must be taken in the back-end where target
1842         alignment information is known.
1843
1844 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
1845
1846         * gnat1drv.adb (Adjust_Global_Switches): Enable some restrictions
1847         systematically in CodePeer mode to simplify generated code.
1848         * restrict.adb (Check_Restriction): Do nothing in CodePeer mode.
1849         * exp_ch4.adb (Expand_N_Allocator): Generate proper code when
1850         No_Task_Hierarchy is set instead of crasshing.
1851
1852 2010-06-23  Thomas Quinot  <quinot@adacore.com>
1853
1854         * sem_util.adb: Minor code cleanup: test for proper entity instead of
1855         testing just Chars attribute when checking whether a given scope is
1856         System.
1857         * exp_ch4.adb, einfo.adb: Minor reformatting.
1858
1859 2010-06-23  Vincent Celier  <celier@adacore.com>
1860
1861         PR ada/44633
1862         * switch-m.adb (Normalize_Compiler_Switches): Take into account
1863         switches -gnatB, -gnatD=nn, -gnatG (incuding -gnatG=nn), -gnatI,
1864         -gnatl=file, -gnatS, -gnatjnn, -gnateI=nn and -gnatWx.
1865
1866 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1867
1868         * sem_res.adb (Resolve_Membership_Op): If left operand is a mixed mode
1869         operation with a universal real operand, and the right operand is a
1870         range with universal bounds, find unique fixed point that may be
1871         candidate, and warn appropriately.
1872
1873 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1874
1875         * sem_res.adb (Resolve_Intrinsic_Operator): Add guards to handle
1876         properly the rare cases where VMS operators are visible through
1877         Extend_System, but the default System is being used and Address is a
1878         private type.
1879         * sem_util.adb: Widen predicate Is_VMS_Operator.
1880
1881 2010-06-23  Vincent Celier  <celier@adacore.com>
1882
1883         * switch-m.adb (Normalize_Compiler_Switches): Take into account -gnatC
1884         and -gnateS.
1885
1886 2010-06-23  Olivier Hainque  <hainque@adacore.com>
1887
1888         * einfo.adb (Has_Foreign_Convention): Consider Intrinsic with
1889         Interface_Name as foreign. These are GCC builtin imports for
1890         which Ada specific processing doesn't apply.
1891
1892 2010-06-23  Thomas Quinot  <quinot@adacore.com>
1893
1894         * sem_ch12.adb: Minor reformatting.
1895
1896 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1897
1898         * sem_util.adb (Is_VMS_Operator): Use scope of system extension to
1899         determine whether an intrinsic subprogram is VMS specific.
1900
1901 2010-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
1902
1903         * treepr.adb (Print_Entity_Info): Output the contents of Field28 if it
1904         is present in the entity.
1905
1906 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
1907
1908         * xr_tabls.adb, xref_lib.adb: Update to latest lib-xref.ads
1909         Fix handling of parameters.
1910         Add protection against unexpected cases.
1911         * sem_ch6.adb (Create_Extra_Formals): Use suffix "L" instead of "A" for
1912         access level, since "A" suffix is already used elsewhere. Similarly,
1913         use suffix "O" instead of "C" for 'Constrained since "C" suffix is used
1914         for xxx'Class.
1915
1916 2010-06-23  Thomas Quinot  <quinot@adacore.com>
1917
1918         * sem_util.adb, sem_util.ads: Minor reformatting.
1919
1920 2010-06-23  Vincent Celier  <celier@adacore.com>
1921
1922         * prj.ads (Gprclean_Flags.Missing_Source_Files): Set to Error to keep
1923         the previous behavior of gprclean when there are missing files.
1924
1925 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1926
1927         * sem_ch12.adb (Load_Body_Of_Generic): In CodePeer mode, a missing
1928         generic body is not a fatal error.
1929         (Mark_Context): Handle properly names of child units.
1930         * sem.adb (Walk_Library_Items.Do_Action): Remove assertion on
1931         instantiations.
1932
1933 2010-06-23  Vincent Celier  <celier@adacore.com>
1934
1935         * ali.adb (Scan_ALI): When ignoring R lines, do not skip the next
1936         non-empty line.
1937
1938 2010-06-23  Bob Duff  <duff@adacore.com>
1939
1940         * g-pehage.ads, g-pehage.adb: Switch default optimization mode to
1941         Memory_Space, because CPU_Time doesn't seem to provide any significant
1942         speed advantage in practice. Cleanup: Get rid of constant
1943         Default_Optimization; doesn't seem to add anything. Use case
1944         statements instead of if statements; seems cleaner.
1945
1946 2010-06-23  Olivier Hainque  <hainque@adacore.com>
1947
1948         * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Procedure>: Use
1949         Wshadow instead of Wextra to guard warning on absence of internal
1950         builtin decl for an import.  Fix use of quote in warning text.
1951         (intrin_arglists_compatible_p): Remove processing of integer trailing
1952         args on the Ada side.  Fix use of literal > in warning text.
1953         (intrin_return_compatible_p): Never warn on "function imported as
1954         procedure".  Defer the void/void case to the common type compatibility
1955         check.
1956         (gnat_to_gnu_param): Use void_ptr GCC type for System.Address argument
1957         of GCC builtin imports.
1958
1959 2010-06-23  Olivier Hainque  <hainque@adacore.com>
1960
1961         * gcc-interface/decl.c (intrin_types_incompatible_p): New function,
1962         helper for ...
1963         (intrin_arglists_compatible_p, intrin_return_compatible_p): New
1964         functions, helpers for ...
1965         (intrin_profiles_compatible_p): New function, replacement for ...
1966         (compatible_signatures_p): Removed.
1967         (gnat_to_gnu_entity) <case E_Procedure>: If -Wextra, warn on
1968         attempt to bind an unregistered builtin function.  When we have
1969         one, use it and warn on profile incompatibilities.
1970
1971 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
1972
1973         * gcc-interface/Make-lang.in: Update dependencies.
1974
1975 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
1976
1977         * sem_util.adb (Mark_Coextensions): If the expression in the allocator
1978         for a coextension in an object declaration is a concatenation, treat
1979         coextension as dynamic.
1980
1981 2010-06-23  Javier Miranda  <miranda@adacore.com>
1982
1983         * sem_ch3.adb (Add_Internal_Interface_Entities): Ensure that the
1984         internal entities are added to the scope of the tagged type.
1985         (Derive_Subprograms): Do not stop derivation when we find the first
1986         internal entity that has attribute Interface_Alias. After the change
1987         done to Override_Dispatching_Operations it is no longer true that
1988         these primirives are always located at the end of the list of
1989         primitives.
1990         * einfo.ads (Primitive_Operations): Add documentation.
1991         * exp_disp.adb (Write_DT): Improve output adding to the name of the
1992         primitive a prefix indicating its corresponding tagged type.
1993         * sem_disp.adb (Override_Dispatching_Operations): If the overridden
1994         entity covers the primitive of an interface that is not an ancestor of
1995         this tagged type then the new primitive is added at the end of the list
1996         of primitives.  Required to fulfill the C++ ABI.
1997
1998 2010-06-23  Javier Miranda  <miranda@adacore.com>
1999
2000         * atree.ads (Set_Reporting_Proc): New subprogram.
2001         * atree.adb: Remove dependency on packages Opt and SCIL_LL.
2002         (Allocate_Initialize_Node, Replace, Rewrite): Replace direct calls
2003         to routines of package Scil_ll by indirect call to the registered
2004         subprogram.
2005         (Set_Reporting_Proc): New subprogram. Used to register a subprogram
2006         that is invoked when a node is allocated, replaced or rewritten.
2007         * scil_ll.adb (Copy_SCIL_Node): New routine that takes care of copying
2008         the SCIL node. Used as argument for Set_Reporting_Proc.
2009         (Initialize): Register Copy_SCIL_Node as the reporting routine that
2010         is invoked by atree.
2011
2012 2010-06-23  Thomas Quinot  <quinot@adacore.com>
2013
2014         * sem_ch3.ads: Minor reformatting.
2015
2016 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2017
2018         * sem_ch12.adb (Analyze_Package_Instantiation): In CodePeer mode,
2019         always analyze the generic body and instance, because it may be needed
2020         downstream.
2021         (Mark_Context): Prepend the with clauses for needed generic units, so
2022         they appear in a better order for CodePeer.
2023         * sem_util.adb, sem_util.ads: Prototype code for AI05-0144.
2024
2025 2010-06-23  Emmanuel Briot  <briot@adacore.com>
2026
2027         * prj.ads, prj-nmsc.adb (Error_Or_Warning): New subprogram.
2028
2029 2010-06-23  Robert Dewar  <dewar@adacore.com>
2030
2031         * g-pehage.adb, exp_ch13.adb: Minor reformatting.
2032
2033 2010-06-23  Thomas Quinot  <quinot@adacore.com>
2034
2035         * a-tags.ads: Fix description of TSD structure.
2036
2037 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2038
2039         * sem_ch12.adb (Mark_Context): When indicating that the body of a
2040         generic unit is needed prior to the unit containing an instantiation,
2041         search recursively the context of the generic to add other generic
2042         bodies that may be instantiated indirectly through the current instance.
2043
2044 2010-06-23  Robert Dewar  <dewar@adacore.com>
2045
2046         * freeze.adb: Minor reformatting.
2047
2048 2010-06-23  Bob Duff  <duff@adacore.com>
2049
2050         * g-pehage.adb (Trim_Trailing_Nuls): Fix the code to match the comment.
2051
2052 2010-06-23  Vincent Celier  <celier@adacore.com>
2053
2054         * make.adb (Compile_Sources): Complete previous change.
2055
2056 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2057
2058         * sem_ch6.adb (Add_Extra_Formal): Use suffix "C" in the name of the
2059         Constrained extra formal.
2060
2061 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2062
2063         * exp_ch13.adb (Expand_Freeze_Actions): If validity checks and
2064         Initialize_Scalars are enabled, compile the generated equality function
2065         for a composite type with full checks enabled, so that validity checks
2066         are performed on individual components.
2067
2068 2010-06-23  Emmanuel Briot  <briot@adacore.com>
2069
2070         * prj.adb, prj.ads, prj-nmsc.adb (Processing_Flags): New flag
2071         Missing_Source_Files.
2072
2073 2010-06-23  Robert Dewar  <dewar@adacore.com>
2074
2075         * exp_ch3.adb, exp_util.adb: Minor reformatting.
2076
2077 2010-06-23  Jose Ruiz  <ruiz@adacore.com>
2078
2079         * a-reatim.adb, a-retide.adb: Move the initialization of the tasking
2080         run time from Ada.Real_Time.Delays to Ada.Real_Time. This way, calls to
2081         Clock (without delays) use a run time which is properly initialized.
2082
2083 2010-06-23  Vincent Celier  <celier@adacore.com>
2084
2085         * make.adb: Do not set Check_Readonly_Files when setting Must_Compile,
2086         when -f -u and a main is specified on the command line. However,
2087         attempt to compile even when the ALI file is read-only when
2088         Must_Compile is True.
2089
2090 2010-06-23  Thomas Quinot  <quinot@adacore.com>
2091
2092         * checks.adb, g-pehage.adb, cstand.adb: Minor code factorization.
2093
2094 2010-06-23  Javier Miranda  <miranda@adacore.com>
2095
2096         * sem_ch3.adb (Add_Internal_Interface_Entities): Generate internal
2097         entities for parent types that are interfaces. Needed in generics to
2098         handle formals that implement interfaces.
2099         (Derive_Subprograms): Add assertion for derivation of tagged types that
2100         do not cover interfaces. For generics, complete code that handles
2101         derivation of type that covers interfaces because the previous
2102         condition was weak (it required only name consistency; arguments were
2103         not checked). Add new code to locate primitives covering interfaces
2104         defined in generic units or instantiatons.
2105         * sem_util.adb (Has_Interfaces): Add missing support for derived types.
2106         * sem_ch6.adb (Check_Overriding_Indicator): Minor code cleanups.
2107         * exp_disp.adb (Make_Select_Specific_Data_Table): Skip primitives of
2108         interfaces that are parents of the type because they share the primary
2109         dispatch table.
2110         (Register_Primitive): Do not register primitives of interfaces that
2111         are parents of the type.
2112         * sem_ch13.adb (Analyze_Freeze_Entity): Add documentation.
2113         * exp_cg.adb (Write_Type_Info): When displaying overriding of interface
2114         primitives skip primitives of interfaces that are parents of the type.
2115
2116 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2117
2118         * sem_attr.adb (Eval_Attribute): If the prefix is an array, the
2119         attribute cannot be constant-folded if an index type is a formal type,
2120         or is derived from one.
2121         * checks.adb (Determine_Range): ditto.
2122
2123 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
2124
2125         * gnat_ugn.texi, gnatxref.adb: Add support for --ext switch.
2126
2127 2010-06-23  Bob Duff  <duff@adacore.com>
2128
2129         * g-pehage.ads, g-pehage.adb (Put): Fix off-by-one bug.
2130         (Insert): Disallow nul characters.
2131         (misc output routines): Assert no nul characters.
2132
2133 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
2134
2135         * exp_ch4.adb: Use predefined unsigned type in all cases.
2136
2137 2010-06-23  Bob Duff  <duff@adacore.com>
2138
2139         * s-rannum.adb (Reset): Avoid overflow in calculation of Initiator.
2140         * g-pehage.ads: Minor comment fixes.
2141         * g-pehage.adb: Minor: Add some additional debugging printouts under
2142         Verbose flag.
2143
2144 2010-06-23  Robert Dewar  <dewar@adacore.com>
2145
2146         * binde.adb (Better_Choice): Always prefer Pure/Preelab.
2147         (Worse_Choice): Always prefer Pure/Preelab.
2148
2149 2010-06-23  Vincent Celier  <celier@adacore.com>
2150
2151         * a-reatim.adb: Call System.OS_Primitives.Initialize during elaboration
2152
2153 2010-06-23  Robert Dewar  <dewar@adacore.com>
2154
2155         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Properly handle
2156         checking returns in generic case.
2157         (Check_Missing_Return): New procedure.
2158
2159 2010-06-23  Robert Dewar  <dewar@adacore.com>
2160
2161         * bindgen.adb, switch-b.adb: Minor reformatting.
2162
2163 2010-06-23  Javier Miranda  <miranda@adacore.com>
2164
2165         * frontend.adb (Frontend): Add call to initialize the new package
2166         SCIL_LL.
2167         * exp_ch7.adb (Wrap_Transient_Expression): Remove call to
2168         Adjust_SCIL_Node.
2169         (Wrap_Transient_Statement): Remove call to Adjust_SCIL_Node.
2170         * sem_ch5.adb (Analyze_Iteration_Scheme.Process_Bounds): Remove call to
2171         Adjust_SCIL_Node.
2172         * exp_util.adb (Insert_Actions): Remove code for
2173         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
2174         (Remove_Side_Effects): Remove calls to Adjust_SCIL_Node.
2175         * sinfo.adb (SCIL_Entity, SCIL_Tag_Value): Remove checks on
2176         N_SCIL_Tag_Init and N_SCIL_Dispatch_Table_Object_Init in the assertion.
2177         (SCIL_Related_Node, Set_SCIL_Related_Node): Removed.
2178         * sinfo.ads (SCIL_Related_Node): Field removed.
2179         (N_SCIL_Dispatch_Table_Object_Init): Node removed.
2180         (N_SCIL_Tag_Init): Node removed.
2181         * sem_scil.ads, sem_scil.adb (Adjust_SCIL_Node): Removed.
2182         (Check_SCIL_Node): New implementation.
2183         (Find_SCIL_Node): Removed.
2184         * sem.adb (Analyze): Remove management of
2185         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
2186         * sem_util.adb (Insert_Explicit_Dereference): Remove call to
2187         Adjust_SCIL_Node.
2188         * exp_ch4.adb (Expand_N_In): Code cleanup: remove call to
2189         Set_SCIL_Related_Node and avoid adding the SCIL node before the
2190         referenced node using Insert_Action because this is not longer required.
2191         (Expand_Short_Circuit_Operator): Remove call to SCIL node.
2192         * exp_ch6.adb (Expand_Call): Remove call to Adjust_SCIL_Node.
2193         * sem_ch4.adb (Analyze_Type_Conversion): Remove call to Adjust_SCIL_Node
2194         * exp_disp.adb (Expand_Dispatching_Call): Minor code reorganization
2195         because we no longer require to generate the SCIL node before the call.
2196         (Make_DT): Remove generation of SCI_Dispatch_Table_Object_Init node.
2197         Remove calls to Set_SCIL_Related_Node and avoid adding the SCIL
2198         nodes before the referenced node using Insert_Action because this
2199         is not longer required.
2200         * atree.adb (Allocate_Initialize_Node, Replace, Rewrite): Add call to
2201         update the SCIL_Node field.
2202         * sprint.adb (Sprint_Node_Actual): Remove code for
2203         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
2204         * treepr.adb (Print_Node): Print the SCIL node field (if available).
2205         * exp_ch3.adb (Build_Init_Procedure): Remove generation of
2206         SCIL_Tag_Init nodes.
2207         * scil_ll.ads, scil_ll.adb: New files.
2208         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
2209         dependencies.
2210
2211 2010-06-23  Robert Dewar  <dewar@adacore.com>
2212
2213         * sem_ch6.adb: Minor reformatting.
2214
2215 2010-06-23  Doug Rupp  <rupp@adacore.com>
2216
2217         * bindusg.adb (Display): Write -Hnn line.
2218         * bindgen.adb (Gen_Adainit_Ada): Write Heap_Size to binder file as 
2219         necessary.
2220         * init.c (__gl_heap_size): Rename from __gl_no_malloc_64 and change
2221         valid values to 32 and 64.
2222         (GNAT$NO_MALLOC_64): Recognize TRUE, 1, FALSE, and 0 in addition to
2223         ENABLE, DISABLE as valid settings.
2224         * switch-b.adb (Scan_Binder_Switches): Process -Hnn switch.
2225         * opt.ads (Heap_Size): New global variable.
2226         * gcc-interface/utils2.c (maybe_wrap_malloc): Remove mostly redundant 
2227         TARGET_MALLOC64 check. Fix comment.
2228
2229 2010-06-23  Robert Dewar  <dewar@adacore.com>
2230
2231         * sem_ch6.adb, exp_ch4.adb, s-rannum.ads, sem.adb, sem_ch12.adb: Minor
2232         reformatting.  Add comments.
2233         * errout.adb (Finalize): Properly adjust warning count when deleting
2234         continuations.
2235
2236 2010-06-22  Robert Dewar  <dewar@adacore.com>
2237
2238         * errout.adb (Finalize): Set Prev pointers.
2239         (Finalize): Delete continuations for deletion by warnings off(str).
2240         * erroutc.ads: Add Prev pointer to error message structure.
2241
2242 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2243
2244         * sem.adb (Do_Unit_And_Dependents): If the spec of the main unit is a
2245         child unit, examine context of parent units to locate instantiated
2246         generics whose bodies may be needed. 
2247         * sem_ch12.adb: (Mark_Context): if the enclosing unit does not have a
2248         with_clause for the instantiated generic, examine the context of its
2249         parents, to set Withed_Body flag, so that it can be visited earlier.
2250         * exp_ch4.adb (Expand_N_Op_Not): If this is a VMS operator applied to
2251         an unsigned type, use a type of the proper size for the intermediate
2252         value, to prevent alignment problems on unchecked conversion.
2253
2254 2010-06-22  Geert Bosch  <bosch@adacore.com>
2255
2256         * s-rannum.ads Change Generator type to be self-referential to allow
2257         Random to update its argument. Use "in" mode for the generator in the
2258         Reset procedures to allow them to be called from the Ada.Numerics
2259         packages without tricks.
2260         * s-rannum.adb: Use the self-referencing argument to get write access
2261         to the internal state of the random generator.
2262         * a-nudira.ads: Make Generator a derived type of
2263         System.Random_Numbers.Generator.
2264         * a-nudira.adb: Remove use of 'Unrestricted_Access.
2265         Put subprograms in alpha order and add headers.
2266         * g-mbdira.ads: Change Generator type to be self-referential.
2267         * g-mbdira.adb: Remove use of 'Unrestricted_Access.
2268
2269 2010-06-22  Robert Dewar  <dewar@adacore.com>
2270
2271         * freeze.adb: Minor reformatting
2272         Minor code reorganization (use Nkind_In and Ekind_In).
2273
2274 2010-06-22  Bob Duff  <duff@adacore.com>
2275
2276         * gnat1drv.adb (Gnat1drv): Remove the messages that recommend using 
2277         -gnatc when a file is compiled that we cannot generate code for, not
2278         helpful and confusing.
2279
2280 2010-06-22  Vincent Celier  <celier@adacore.com>
2281
2282         * switch-m.adb (Normalize_Compiler_Switches): Process correctly
2283         switches -gnatknn.
2284
2285 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
2286
2287         * s-rannum.adb: Replace constants with commented symbols.
2288         * s-rannum.ads: Explain significance of the initial value of the data
2289         structure.
2290
2291 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2292
2293         * a-ngcoty.adb: Clarify comment.
2294
2295 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
2296
2297         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Return without
2298         expansion for indexing packed arrays with small power-of-2 component
2299         sizes when the target is AAMP.
2300         (Expand_Packed_Element_Reference): Return without expansion for
2301         indexing packed arrays with small power-of-2 component sizes when the
2302         target is AAMP.
2303
2304 2010-06-22  Geert Bosch  <bosch@adacore.com>
2305
2306         * exp_ch4.adb (Expand_N_In): Do not substitute a valid check for X in
2307         Float'Range.
2308
2309 2010-06-22  Robert Dewar  <dewar@adacore.com>
2310
2311         * g-mbdira.adb, g-mbflra.adb, a-nuflra.adb, a-nudira.adb: Minor comment
2312         updates.
2313
2314 2010-06-22  Doug Rupp  <rupp@adacore.com>
2315
2316         * system-vms.ads, system-vms-zcx.ads: Remove old unused VMS system
2317         packages.
2318         * system-vms_64.ads, system-vms-ia64.ads: Minor reformatting.
2319         (pragma Ident): Add a default ident string in the private part.
2320
2321 2010-06-22  Robert Dewar  <dewar@adacore.com>
2322
2323         * cstand.adb: Minor reformatting.
2324
2325 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2326
2327         * freeze.adb (Build_And_Analyze_Renamed_Body): For expansion purposes,
2328         recognize the Shift and Rotation intrinsics that are known to the
2329         compiler but have no interface name.
2330
2331 2010-06-22  Geert Bosch  <bosch@adacore.com>
2332
2333         * a-ngcoty.adb ("*"): Rewrite complex multiplication to use proper
2334         scaling in case of overflow or NaN results.
2335
2336 2010-06-22  Robert Dewar  <dewar@adacore.com>
2337
2338         * cstand.adb: Complete previous change.
2339         * g-dirope.ads: Add comment.
2340         * s-stchop.adb, sfn_scan.adb: Minor reformatting.
2341
2342 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2343
2344         * cstand.adb: Add tree nodes for pragma Pack on string types.
2345
2346 2010-06-22  Javier Miranda  <miranda@adacore.com>
2347
2348         * einfo.ads, einfo.adb (Last_Formal): New synthesized attribute.
2349         * exp_util.adb (Find_Prim_Op): Use new attribute to locate the last
2350         formal of a primitive.
2351         * exp_disp.adb (Is_Predefined_Dispatching_Operation,
2352          Is_Predefined_Dispatching_Alias): Use new attribute to locate the last
2353         formal of a primitive.
2354         * exp_cg.adb (Is_Predefined_Dispatching_Operation): Use new attribute
2355         to obtain the last formal of a primitive.
2356
2357 2010-06-22  Geert Bosch  <bosch@adacore.com>
2358
2359         * sysdep.c, init.c, adaint.c, cstreams.c: Remove conditional code
2360         depending on __EMX__ or MSDOS being defined.
2361         * i-cstrea.ads, gnat_rm.texi: Remove mentions of OS/2, DOS and Xenix.
2362         * a-excpol-abort.adb: Update comment indicating users of the file.
2363         * xref_lib.adb, sfn_scan.adb: Remove mention of OS/2, replace NT by
2364         Windows.
2365         * env.c: Remove empty conditional for MSDOS.
2366         * s-stchop.adb, g-dirope.ads, s-fileio.adb, osint.ads: Remove mention
2367         of OS/2 in comment.
2368
2369 2010-06-22  Robert Dewar  <dewar@adacore.com>
2370
2371         * s-rannum.adb: Minor reformatting.
2372
2373 2010-06-22  Javier Miranda  <miranda@adacore.com>
2374
2375         * sem_aux.adb, sem_aux.ads, sem_util.adb, sem_util.ads, sem_elim.adb,
2376         exp_cg.adb: Minor code reorganization: Move routine Ultimate_Alias from
2377         package Sem_Util to package Sem_Aux.
2378
2379 2010-06-22  Javier Miranda  <miranda@adacore.com>
2380
2381         * exp_disp.adb (Make_Secondary_DT, Make_DT): Minor code cleanup:
2382         remove useless restriction on imported routines when building the
2383         dispatch tables.
2384
2385 2010-06-22  Robert Dewar  <dewar@adacore.com>
2386
2387         * cstand.adb (Create_Standard): Set Has_Pragma_Pack for standard string
2388         types.
2389
2390 2010-06-22  Javier Miranda  <miranda@adacore.com>
2391
2392         * sem_ch4.adb (Collect_Generic_Type_Ops): Protect code that handles
2393         generic subprogram declarations to ensure proper context. Add missing
2394         support for generic actuals.
2395         (Try_Primitive_Operation): Add missing support for concurrent types that
2396         have no Corresponding_Record_Type. Required to diagnose errors compiling
2397         generics or when compiling with no code generation (-gnatc).
2398         * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Do not build
2399         the corresponding record type.
2400         * sem_disp.ads, sem_disp.adb (Check_Dispatching_Operation): Complete
2401         documentation. Do minimum decoration when processing a primitive of a
2402         concurrent tagged type that covers interfaces. Required to diagnose
2403         errors in the Object.Operation notation compiling generics or under
2404         -gnatc.
2405         * exp_ch9.ads, exp_ch9.adb (Build_Corresponding_Record): Add missing
2406         propagation of attribute Interface_List to the corresponding record.
2407         (Expand_N_Task_Type_Declaration): Code cleanup.
2408         (Expand_N_Protected_Type_Declaration): Code cleanup.
2409
2410 2010-06-22  Matthew Heaney  <heaney@adacore.com>
2411
2412         * a-convec.adb, a-coinve.adb: Removed 64-bit types Int and UInt.
2413
2414 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
2415
2416         * s-rannum.adb (Random_Float_Template): Replace with unbiased version
2417         that is able to produce all representable floating-point numbers in the
2418         unit interval. Remove template parameter Shift_Right, no longer used.
2419         * gnat_rm.texi: Document the period of the pseudo-random number
2420         generator under the description of its algorithm.
2421         * gcc-interface/Make-lang.in: Update dependencies.
2422
2423 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2424
2425         * exp_aggr.adb (Rewrite_Discriminant): Fix predicate used to identify
2426         reference to discriminant (can be an expanded name as well as an
2427         identifier).
2428
2429 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2430
2431         * exp_ch6.adb: Clarify comment.
2432
2433 2010-06-22  Geert Bosch  <bosch@adacore.com>
2434
2435         * exp_imgv.adb (Expand_Image_Attribute): Treat ordinary fixed point
2436         with decimal small as decimal types, avoiding floating-point arithmetic.
2437         (Has_Decimal_Small): New function.
2438         * einfo.ads, einfo.adb (Aft_Value): New synthesized attributed for
2439         fixed point types.
2440         * sem_attr.adb (Eval_Attribute): Remove Aft_Value function and update
2441         callers to call the new function in Einfo that takes the entity as
2442         parameter.
2443
2444 2010-06-22  Robert Dewar  <dewar@adacore.com>
2445
2446         * sem_ch3.adb, sem_ch8.adb: Minor reformatting.
2447
2448 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2449
2450         * sem_elab.adb: Minor reformatting.
2451
2452 2010-06-22  Vincent Celier  <celier@adacore.com>
2453
2454         * gnatsym.adb: Put the object files in the table in increasing
2455         aphabetical order of base names.
2456
2457 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2458
2459         * sem_ch8.adb (Set_Entity_Or_Discriminal): New procedure used by
2460         Find_Direct_Name and Find_Expanded_Name, to replace a discriminant with
2461         the corresponding discriminal within a record declaration.
2462
2463 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2464
2465         * exp_aggr.adb (Rewrite_Discriminant): Rewriting must occur only for an
2466         expression referring to a discriminal of the type of the aggregate (not
2467         a discriminal of some other unrelated type), and the prefix in the
2468         generated selected component must come from Lhs, not Obj.
2469
2470 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2471
2472         * sem_ch3.adb (Build_Derived_Record_Type): Fix predicate determining
2473         when to freeze the parent type.
2474
2475 2010-06-22  Robert Dewar  <dewar@adacore.com>
2476
2477         * s-rannum.adb, a-nudira.adb, types.ads, freeze.adb, sem_aggr.adb,
2478         exp_aggr.adb: Minor reformatting.
2479         * gnat_rm.texi: Document GNAT.MBBS_Discrete_Random and
2480         GNAT.MBSS_Float_Random.
2481         * g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: Fix header.
2482
2483 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
2484
2485         * a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads,
2486         gnat_rm.texi, impunit.adb, Makefile.rtl, s-rannum.adb
2487         (Random_Float_Template, Random): New method of creating
2488         uniform floating-point variables that allow the creation of all machine
2489         values in [0 .. 1).  
2490
2491         * g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: New file.
2492
2493 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
2494
2495         * sem_ch5.adb (Analyze_Assignment): Revise test for illegal assignment
2496         to abstract targets to check that the type is tagged and comes from
2497         source, rather than only testing for targets of interface types. Remove
2498         premature return.
2499
2500 2010-06-22  Vincent Celier  <celier@adacore.com>
2501
2502         * vms_data.ads: Modify the declarations of qualifiers
2503         /UNCHECKED_SHARED_LIB_IMPORTS to allow the generation of gnat.hlp
2504         without error.
2505
2506 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2507
2508         * exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false if
2509         expansion is disabled.
2510
2511 2010-06-22  Robert Dewar  <dewar@adacore.com>
2512
2513         * makeusg.adb: Minor reformatting.
2514
2515 2010-06-22  Robert Dewar  <dewar@adacore.com>
2516
2517         * types.ads: (Dint): Removed, no longer used anywhere.
2518         * uintp.adb (UI_From_CC): Use UI_From_Int, range is sufficient.
2519         (UI_Mul): Avoid use of UI_From_Dint.
2520         (UI_From_Dint): Removed, not used.
2521         * uintp.ads (UI_From_Dint): Removed, not used.
2522         (Uint_Min/Max_Simple_Mul): New constants.
2523
2524 2010-06-22  Vincent Celier  <celier@adacore.com>
2525
2526         * clean.adb (Parse_Cmd_Line): Recognize switch
2527         --unchecked-shared-lib-imports.
2528         (Usage): Add line for switch --unchecked-shared-lib-imports
2529         * makeusg.adb: Add line for switch --unchecked-shared-lib-imports
2530         * makeutl.ads: (Unchecked_Shared_Lib_Imports): New constant string
2531         moved from GPR_Util.
2532         * switch-m.adb (Scan_Make_Switches): Recognize switch
2533         --unchecked-shared-lib-imports.
2534         * vms_data.ads: Add VMS qualifiers /UNCHECKED_SHARED_LIB_IMPORTS.
2535         * gnat_ugn.texi: Add documentation for new switch
2536         --unchecked-shared-lib-imports.  Add also documentation for --subdirs.
2537
2538 2010-06-22  Javier Miranda  <miranda@adacore.com>
2539
2540         * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, exp_ch6.adb,
2541         exp_disp.adb, sem_eval.adb, exp_dist.adb lib-xref.adb: Code cleanup,
2542         this patch replaces duplication of code that traverses the chain of
2543         aliased primitives by a call to routine Ultimate_Alias that
2544         provides this functionality.
2545
2546 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
2547
2548         * fmap.adb, opt.ads, osint.adb, osint.ads, output.ads, scng.adb,
2549         sinput-c.adb, switch-m.ads, tree_io.ads: Use simpler form of
2550         Warnings Off/On.
2551
2552 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2553
2554         * einfo.ads: Minor reformatting.
2555
2556 2010-06-22  Javier Miranda  <miranda@adacore.com>
2557
2558         * exp_disp.adb (Expand_Interface_Thunk): Do not generate thunk of
2559         eliminated primitives.
2560         (Make_DT): Avoid referencing eliminated primitives.
2561         (Register_Primitive): Do not register eliminated primitives in the
2562         dispatch table. Required to add this functionality when the program is
2563         compiled without static dispatch tables (-gnatd.t)
2564
2565 2010-06-22  Emmanuel Briot  <briot@adacore.com>
2566
2567         * fmap.adb, scng.adb, switch-m.ads, sinput-c.adb, opt.ads, output.ads,
2568         tree_io.ads, osint.adb, osint.ads: Use configuration pragmas to prevent
2569         warnings on use of internal GNAT units.
2570
2571 2010-06-22  Jose Ruiz  <ruiz@adacore.com>
2572
2573         * s-taprop-vxworks.adb (Set_Priority): Update comments.
2574
2575 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
2576
2577         * s-rannum.adb: Make stylistic change to remove mystery constant in
2578         Extract_Value.  Image_Numeral_Length: new symbolic constant.
2579
2580 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2581
2582         * einfo.ads, einfo.adb: Make Is_Protected_Interface,
2583         Is_Synchronized_Interface, Is_Task_Interface into computable
2584         predicates, to free three flags in entity nodes.
2585         * sem_ch3.adb: Remove setting of these flags.
2586
2587 2010-06-22  Robert Dewar  <dewar@adacore.com>
2588
2589         * uintp.adb, osint.adb, prj-conf.adb, prj-part.adb, prj.adb: Minor
2590         reformatting.
2591         * s-taprop-vxworks.adb: Add comment for Set_Priority.
2592         * impunit.adb (Map_Array): Add entries for s-htable.ads and s-crc32.ads
2593         * projects.texi: Move @cindex to the left margin, since otherwise we
2594         are missing entries in the index.
2595
2596 2010-06-22  Emmanuel Briot  <briot@adacore.com>
2597
2598         * prj-part.adb, prj.adb, tempdir.ads, makeutl.adb: Use
2599         packages from the GNAT hierarchy instead of System when possible.
2600         * gcc-interface/Make-lang.in: Update dependencies.
2601
2602 2010-06-22  Jose Ruiz  <ruiz@adacore.com>
2603
2604         * s-taprop-vxworks.adb (Set_Priority): Remove the code that was
2605         previously in place to reorder the ready queue when a task drops its
2606         priority due to the loss of inherited priority.
2607
2608 2010-06-22  Vincent Celier  <celier@adacore.com>
2609
2610         * projects.texi: Minor spelling error fixes.
2611         Minor reformatting.
2612
2613 2010-06-22  Emmanuel Briot  <briot@adacore.com>
2614
2615         * prj-part.adb, prj-ext.adb, prj.adb, makeutl.adb, prj-conf.adb: Remove
2616         warnings for some with clauses.
2617
2618 2010-06-22  Robert Dewar  <dewar@adacore.com>
2619
2620         * errout.adb (Unwind_Internal_Type): Improve handling of First_Subtype
2621         test to catch more cases where first subtype is the results we want.
2622         * sem_res.adb (Make_Call_Into_Operator): Don't go to First_Subtype in
2623         error case, since Errout will now handle this correctly.
2624         * gcc-interface/Make-lang.in: Add Sem_Aux to list of GNATBIND objects.
2625         Update dependencies.
2626
2627 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
2628
2629         * exp_ch4.adb (Expand_Allocator_Expression): Set Related_Node properly
2630         when calling Make_Temporary.
2631
2632 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2633
2634         * sem_ch3.adb (Access_Subprogram_Declaration): An anonymous access to
2635         subprogram can be associated with an entry body.
2636
2637 2010-06-22  Robert Dewar  <dewar@adacore.com>
2638
2639         * scos.ads: Add note on membership test handling.
2640
2641 2010-06-22  Vincent Celier  <celier@adacore.com>
2642
2643         * projects.texi: Minor spelling fixes.
2644         Minor reformatting.
2645
2646 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
2647
2648         * s-rannum.adb: Correct off-by-one error in Extract_Value.
2649
2650 2010-06-22  Vincent Celier  <celier@adacore.com>
2651
2652         * mlib-prj.adb (Display): In non verbose mode, truncate after fourth
2653         argument.
2654         * mlib-utl.adb (Gcc): In non verbose mode, truncate the display of the
2655         gcc command if it is too long.
2656
2657 2010-06-22  Robert Dewar  <dewar@adacore.com>
2658
2659         * errout.adb (Set_Msg_Node): Fix incorrect reference to node.
2660
2661 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
2662
2663         * exp_ch6.adb (Expand_Actuals): Use Actual as the related node when
2664         calling Make_Temporary.
2665
2666 2010-06-22  Robert Dewar  <dewar@adacore.com>
2667
2668         * sem_res.adb, sem_aux.adb, errout.adb: Minor reformatting.
2669
2670 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2671
2672         * sem_res.adb: Additional special-case for VMS.
2673
2674 2010-06-22  Vincent Celier  <celier@adacore.com>
2675
2676         * gnatsym.adb: Minor comment fix.
2677
2678 2010-06-22  Vincent Celier  <celier@adacore.com>
2679
2680         * prj-nmsc.adb (Process_Naming_Scheme): Initialize table Lib_Data_Table.
2681
2682 2010-06-22  Robert Dewar  <dewar@adacore.com>
2683
2684         * par-ch4.adb (P_Name): Recognize 'Mod attribute in Ada 95 mode
2685         * sem_attr.adb (Attribute_05): Add Name_Mod so that 'Mod recognized in
2686         Ada 95 mode as an implementation defined attribute.
2687
2688 2010-06-22  Vincent Celier  <celier@adacore.com>
2689
2690         * bindusg.adb (Display): Update line for -R
2691         * switch-b.adb (Scan_Binder_Switches): Allow generation of the binder
2692         generated files when -R is used.
2693
2694 2010-06-22  Vincent Celier  <celier@adacore.com>
2695
2696         * prj-nmsc.adb (Lib_Data_Table): New table.
2697         (Check_Library_Attributes): Check if the same library name is used in
2698         two different projects that do not extend each other.
2699
2700 2010-06-22  Robert Dewar  <dewar@adacore.com>
2701
2702         * lib-writ.ads, errout.adb, einfo.adb, einfo.ads: Minor reformatting.
2703
2704 2010-06-22  Vincent Celier  <celier@adacore.com>
2705
2706         * adaint.c (__gnat_locate_regular_file): If a directory in the path is
2707         empty, make it the current working directory.
2708
2709 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2710
2711         * sem_ch3.adb (Build_Derived_Record_Type): When deriving a tagged
2712         private type with discriminants, make sure the parent type is frozen.
2713
2714 2010-06-22  Eric Botcazou  <ebotcazou@adacore.com>
2715
2716         * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Bit>: Deal
2717         with packed array references specially.
2718         * exp_ch4.adb (Expand_N_Indexed_Component): Do not convert a reference
2719         to a component of a bit packed array if it is the prefix of 'Bit.
2720         * exp_pakd.ads (Expand_Packed_Bit_Reference): Declare.
2721         * exp_pakd.adb (Expand_Packed_Bit_Reference): New procedure.  Expand a
2722         'Bit reference, where the prefix involves a packed array reference.
2723         (Get_Base_And_Bit_Offset): New helper, extracted from...
2724         (Expand_Packed_Address_Reference): ...here.  Call above procedure to
2725         get the outer object and offset expression.
2726
2727 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2728
2729         * exp_attr.adb, lib-writ.ads, bindgen.adb: Minor reformatting.
2730         * einfo.adb (Related_Expression, Set_Related_Expression): Add
2731         assertions.
2732
2733 2010-06-22  Javier Miranda  <miranda@adacore.com>
2734
2735         * sem_ch3.adb (Add_Internal_Interface_Entities): Minor code
2736         reorganization to properly check if the operation has been inherited as
2737         an abstract operation.
2738
2739 2010-06-22  Ed Falis  <falis@adacore.com>
2740
2741         * s-osinte-vxworks.ads: Complete previous change.
2742
2743 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2744
2745         * sem_res.adb: Add comment.
2746         * projects.texi, gnat_ugn.texi: Remove macro.
2747
2748 2010-06-22  Vincent Celier  <celier@adacore.com>
2749
2750         * prj-attr.adb: Remove project level attribute Main_Language.
2751
2752 2010-06-22  Robert Dewar  <dewar@adacore.com>
2753
2754         * switch-b.adb, osint-b.adb: Minor reformatting.
2755
2756 2010-06-22  Pascal Obry  <obry@adacore.com>
2757
2758         * g-socthi-mingw.adb (C_Sendmsg): Do not attempt to send data from a
2759         vector if previous send was not fully successful. If only part of
2760         the vector data was sent, we exit the loop.
2761
2762 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2763
2764         * sem_res.adb (Make_Call_Into_Operator): Use First_Subtype for better
2765         error reporting with generic types.
2766
2767 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2768
2769         * bindgen.adb, bindusg.adb, gnatbind.adb, gnat_ugn.texi, opt.ads,
2770         osint-b.adb, osint-b.ads, output.adb, output.ads, switch-b.adb,
2771         vms_data.ads: Add a new command line switch -A to gnatbind to output
2772         the list of all ALI files for the partition.
2773
2774 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
2775
2776         * s-osinte-vxworks.ads: Fix casing.
2777         * s-vxwext-kernel.ads, s-vxwext-rtp.ads: Complete previous
2778         change: Interfaces.C does not provide a long_long type.
2779
2780 2010-06-22  Emmanuel Briot  <briot@adacore.com>
2781
2782         * gnat_ugn.texi, projects.texi: Preprocess projects.texi for VMS and
2783         native user's guide, since this document contains the two versions.
2784         * gcc-interface/Make-lang.in: Update doc dependencies.
2785
2786 2010-06-22  Robert Dewar  <dewar@adacore.com>
2787
2788         * sem_ch3.adb: Minor reformatting.  Minor code reorganization.
2789
2790 2010-06-22  Emmanuel Briot  <briot@adacore.com>
2791
2792         * gnat_ugn.texi, projects.texi: Remove toplevel menu, since we should
2793         not build this file on its own (only through gnat_ugn.texi).
2794         Remove macro definitions and insert simpler version in gnat_ugn.texi.
2795
2796 2010-06-22  Robert Dewar  <dewar@adacore.com>
2797
2798         * ali-util.ads: Minor comment update.
2799         * g-socthi-mingw.adb: Minor reformatting.
2800
2801 2010-06-22  Ed Falis  <falis@adacore.com>
2802
2803         * s-osinte-vxworks.ads: take sigset_t definition from System.VxWorks.Ext
2804         * s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads: Define sigset_t
2805         for specific versions of VxWorks.
2806
2807 2010-06-22  Emmanuel Briot  <briot@adacore.com>
2808
2809         * gnat_rm.texi, gnat_ugn.texi, projects.texi: Remove all project files
2810         related sections from user's guide and reference manual, since they
2811         have now been merged together into a separate document (projects.texi).
2812         This removes a lot of duplication where attributes where described
2813         in several places.
2814         The grammar for the project files is now in each of the sections
2815         (packages,expressions,...) instead of being duplicates in two other
2816         sections (one in the user's guide that contained the full grammar,
2817         and various sections in the rm that contained extracts of the same
2818         grammar).
2819         Added the full list of all supported attributes, since existing lists
2820         were incomplete
2821         Rename "associative array" into "indexed attribute"
2822         Remove sections that were duplicates ("External References in
2823         Project Files" and "External Values", and "Project Extensions"
2824         for instance). The list of valid packages in project files is now in
2825         a single place.
2826
2827 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2828
2829         * sem_ch3.adb (Add_Internal_Interface_Entities): If
2830         Find_Primitive_Covering_Interface does not find the operation, it may
2831         be because of a name conflict between the inherited operation and a
2832         local non-overloadable name. In that case look for the operation among
2833         the primitive operations of the type. This search must succeed
2834         regardless of visibility.
2835
2836 2010-06-22  Pascal Obry  <obry@adacore.com>
2837
2838         * g-socthi-mingw.adb: Properly honor MSG_WAITALL in recvmsg.
2839         (C_Recvmsg): Propely honor the MSG_WAITALL flag in Windows
2840         recvmsg emulation.
2841
2842 2010-06-22  Robert Dewar  <dewar@adacore.com>
2843
2844         * sem_ch4.adb (Analyze_Conditional_Expression): Defend against
2845         malformed tree.
2846         * sprint.adb (Sprint_Node_Actual, case N_Conditional_Expression): Ditto.
2847
2848 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
2849
2850         * s-intman-vxworks.ads: Code clean up.
2851
2852 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2853
2854         * sem_res.adb (Resolve_Slice): When the prefix is an explicit
2855         dereference, construct actual subtype of designated object to generate
2856         proper bounds checks.
2857
2858 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2859
2860         * ali-util.adb, ali-util.ads, gnatbind.adb (Read_ALI): Rename to
2861         Read_Withed_ALIs, which is more descriptive.
2862
2863 2010-06-22  Pascal Obry  <obry@adacore.com>
2864
2865         * g-sothco.ads: Minor reformatting.
2866         * g-socthi-mingw.adb: Remove part of work on the C_Recvmsg and
2867         C_Sendmsg implementation.
2868         (C_Sendmsg): Do not use lock (not needed).
2869         (C_Recvmsg): Likewise and also do not wait for incoming data.
2870
2871 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2872
2873         * uintp.adb: Fix scope error in operator call.
2874
2875 2010-06-22  Vincent Celier  <celier@adacore.com>
2876
2877         * makeutl.adb (Executable_Prefix_Path): on VMS, return "/gnu/".
2878         * prj-conf.adb (Get_Or_Create_Configuration_File): On VMS, if
2879         autoconfiguration is needed, fail indicating that no config project
2880         file can be found, as there is no autoconfiguration on VMS.
2881
2882 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2883
2884         * sem_res.adb (Make_Call_Into_Operator): Diagnose an incorrect scope
2885         for an operator in a functional notation, when operands are universal.
2886
2887 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
2888
2889         * gcc-interface/Make-lang.in: Update dependencies.
2890
2891 2010-06-22  Robert Dewar  <dewar@adacore.com>
2892
2893         * sem_aggr.adb (Resolve_Record_Aggregate): Do style check on component
2894         name.
2895         * sem_ch10.adb (Analyze_Subunit): Do style check on parent unit name.
2896         * sem_ch8.adb (Find_Direct_Name): For non-overloadable entities, do
2897         style check.
2898         * sem_res.adb (Resolve_Entity_Name): Do style check for enumeration
2899         literals.
2900
2901 2010-06-22  Vincent Celier  <celier@adacore.com>
2902
2903         * make.adb (Scan_Make_Arg): No longer pass -nostdlib to the compiler as
2904         it has no effect. Always pass -nostdlib to gnatlink, even on VMS.
2905
2906 2010-06-22  Pascal Obry  <obry@adacore.com>
2907
2908         * g-socthi-mingw.adb: Fix implementation of the vectored sockets on
2909         Windows.
2910         (C_Recvmsg): Make sure the routine is atomic. Also fully
2911         fill vectors in the proper order.
2912         (C_Sendmsg): Make sure the routine is atomic.
2913
2914 2010-06-22  Robert Dewar  <dewar@adacore.com>
2915
2916         * sem_ch8.adb: Update comment.
2917         * sem_res.adb: Minor code reorganization (use Ekind_In).
2918
2919 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2920
2921         * sem_ch8.adb (Add_Implicit_Operator): If the context of the expanded
2922         name is a call, use the number of actuals to determine whether this is
2923         a binary or unary operator, rather than relying on later information
2924         to resolve the overload.
2925
2926 2010-06-22  Robert Dewar  <dewar@adacore.com>
2927
2928         * sem_ch10.adb, sem_aggr.adb: Minor reformatting.
2929
2930 2010-06-22  Robert Dewar  <dewar@adacore.com>
2931
2932         * sem_ch3.adb, sem_disp.adb: Minor code fixes.
2933         * sem_eval.adb: Minor reformatting.
2934
2935 2010-06-22  Vincent Celier  <celier@adacore.com>
2936
2937         * make.adb (Scan_Make_Arg): When invoked with -nostdlib, pass -nostdlib
2938         to gnatlink, except on Open VMS.
2939         * osint.adb (Add_Default_Search_Dirs): Do not suppress the default
2940         object directories if -nostdlib is used.
2941
2942 2010-06-22  Robert Dewar  <dewar@adacore.com>
2943
2944         * sem_util.adb (Is_Delegate): Put in proper alpha order.
2945         * sem_eval.adb: Minor reformatting.
2946
2947 2010-06-22  Robert Dewar  <dewar@adacore.com>
2948
2949         * g-expect-vms.adb, sem_res.adb: Minor reformatting.
2950         * exp_aggr.adb: Minor comment changes and reformatting.
2951         * sem_eval.adb (Find_Universal_Operator_Type): Put in proper alpha order
2952         * sem_util.ads: Add some missing pragma Inline's (efficiency issue only)
2953
2954 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2955
2956         * sem_util.adb (Build_Actual_Subtype): Record original expression in
2957         Related_Expression attribute of the constructed subtype.
2958         * einfo.adb, einfo.ads (Underlying_View): Move to Node28 to free up
2959         Node24 on types for...
2960         (Related_Expression): Make attribute available on types as well.
2961
2962 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
2963
2964         * exp_util.adb (Find_Interface_ADT): Retrieve Designated_Type instead of
2965         Directly_Designated_Type when the type argument is an access type.
2966         (Find_Interface_Tag): Retrieve Designated_Type instead of
2967         Directly_Designated_Type when the type argument is an access type.
2968         (Has_Controlled_Coextensions): Retrieve Designated_Type instead of
2969         Directly_Designated_Type of each access discriminant.
2970         * sem_res.adb (Resolve_Type_Conversion): Retrieve Designated_Type
2971         instead of Directly_Designated_Type when the operand and target types
2972         are access types.
2973
2974 2010-06-22  Thomas Quinot  <quinot@adacore.com>
2975
2976         * exp_aggr.adb (Flatten): Return False if one choice is statically
2977         known to be out of bounds.
2978
2979 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2980
2981         * sem_res.adb (Resolve_Call): If the call is rewritten as an indexed of
2982         a parameterless function call, preserve parentheses of original
2983         expression, for proper handling by pretty printer.
2984         * sem_attr.adb (Analyze_Attribute, case 'Old): Add guard to Process
2985         procedure, to handle quietly identifiers that have no entity names.
2986         * exp_util.adb (Get_Current_Value_Condition): If the parent of an
2987         elsif_part is missing, it has been rewritten as a nested if, and there
2988         is no useful information on the current value of the variable.
2989
2990 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
2991
2992         * sem_ch3.adb (Build_Discriminal): Set default scopes for newly created
2993         discriminals to the current scope.
2994         * sem_util.adb (Find_Body_Discriminal): Remove setting of discriminal's
2995         scope, which could overwrite a different already set value.
2996
2997 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
2998
2999         * sem_res.adb (Valid_Conversion): If expression is a predefined
3000         operator, use sloc of type of interpretation to improve error message
3001         when operand is of some derived type.
3002         * sem_eval.adb (Is_Mixed_Mode_Operand): New function, use it.
3003
3004 2010-06-22  Emmanuel Briot  <briot@adacore.com>
3005
3006         * g-expect-vms.adb (Expect_Internal): No longer raises an exception, so
3007         that it can set out parameters as well. When a process has died, reset
3008         its Input_Fd to Invalid_Fd, so that when using multiple processes we
3009         can find out which process has died.
3010
3011 2010-06-22  Thomas Quinot  <quinot@adacore.com>
3012
3013         * sem_eval.adb (Find_Universal_Operator_Type): New
3014         subprogram to identify the operand type of an operator on universal
3015         operands, when an explicit scope indication is present. Diagnose the
3016         case where such a call is ambiguous.
3017         (Eval_Arithmetic_Op, Eval_Relational_Op, Eval_Unary_Op):
3018         Use the above to identify the operand type so it can be properly frozen.
3019         * sem_res.adb (Make_Call_Into_Operator): Remove bogus freeze of operand
3020         type, done in an arbitrary, possibly incorrect type (the presence of
3021         some numeric type in the scope is checked for legality, but when more
3022         than one such type is in the scope, we just pick a random one, not
3023         necessarily the expected one).
3024         * sem_utils.ads, sem_utils.adb (Is_Universal_Numeric_Type): New utility
3025         subprogram.
3026
3027 2010-06-22  Robert Dewar  <dewar@adacore.com>
3028
3029         * sem_eval.adb: Minor reformatting.
3030
3031 2010-06-22  Robert Dewar  <dewar@adacore.com>
3032
3033         * exp_ch4.adb (Expand_N_Conditional_Expression): Use
3034         Expression_With_Actions to clean up the code generated when folding
3035         constant expressions.
3036
3037 2010-06-22  Vincent Celier  <celier@adacore.com>
3038
3039         * g-expect-vms.adb: Add new subprograms Free, First_Dead_Process and
3040         Has_Process.
3041
3042 2010-06-22  Vincent Celier  <celier@adacore.com>
3043
3044         * prj-nmsc.adb (Find_Sources): When a source from a multi-unit file is
3045         found, check if it's path has aready been found, whatever its index.
3046
3047 2010-06-22  Robert Dewar  <dewar@adacore.com>
3048
3049         * atree.adb, gnatbind.adb: Minor reformatting.
3050         Minor code reorganization.
3051
3052 2010-06-21  Robert Dewar  <dewar@adacore.com>
3053
3054         * exp_ch4.adb (Expand_N_Conditional_Expression): Fold if condition
3055         known at compile time.
3056
3057 2010-06-21  Gary Dismukes  <dismukes@adacore.com>
3058
3059         * atree.adb: Fix comment typo.
3060
3061 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
3062
3063         * sem_eval.adb (Test_Ambiguous_Operator): New procedure to check
3064         whether a universal arithmetic expression in a conversion, which is
3065         rewritten from a function call with an expanded name, is ambiguous.
3066
3067 2010-06-21  Vincent Celier  <celier@adacore.com>
3068
3069         * prj-nmsc.adb (Name_Location): New Boolean component Listed, to record
3070         source files in specified list of sources.
3071         (Check_Package_Naming): Remove out parameters Bodies and Specs, as they
3072         are never used.
3073         (Add_Source): Set the Location of the new source
3074         (Process_Exceptions_File_Based): Call Add_Source with the Location
3075         (Get_Sources_From_File): If an exception is found, set its Listed to
3076         True
3077         (Find_Sources): When Source_Files is specified, if an exception is
3078         found, set its Listed to True. Remove any exception that is not in a
3079         specified list of sources.
3080         * prj.ads (Source_Data): New component Location
3081
3082 2010-06-21  Vincent Celier  <celier@adacore.com>
3083
3084         * gnatbind.adb (Closure_Sources): Global table, moved from block.
3085
3086 2010-06-21  Thomas Quinot  <quinot@adacore.com>
3087
3088         * sem_res.adb: Minor reformatting.
3089         * atree.adb: New debugging hook "rr" for node rewrites.
3090
3091 2010-06-21  Robert Dewar  <dewar@adacore.com>
3092
3093         * g-expect.ads, g-expect.adb: Minor reformatting.
3094
3095 2010-06-21  Emmanuel Briot  <briot@adacore.com>
3096
3097         * s-regpat.adb (Next_Pointer_Bytes): New named constant. Code clean up.
3098
3099 2010-06-21  Arnaud Charlet  <charlet@adacore.com>
3100
3101         * gcc-interface/Make-lang.in: Update dependencies.
3102
3103 2010-06-21  Thomas Quinot  <quinot@adacore.com>
3104
3105         * bindgen.ads: Update comments.
3106
3107 2010-06-21  Vincent Celier  <celier@adacore.com>
3108
3109         * gnatbind.adb: Suppress dupicates when listing the sources in the
3110         closure (switch -R).
3111
3112 2010-06-21  Emmanuel Briot  <briot@adacore.com>
3113
3114         * s-regpat.adb (Link_Tail): Fix error when size of the pattern matcher
3115         is too small.
3116
3117 2010-06-21  Emmanuel Briot  <briot@adacore.com>
3118
3119         * g-expect.adb, g-expect.ads (First_Dead_Process, Free, Has_Process):
3120         New subprograms.
3121         (Expect_Internal): No longer raises an exception, so that it can set
3122         out parameters as well. When a process has died, reset its Input_Fd
3123         to Invalid_Fd, so that when using multiple processes we can find out
3124         which process has died.
3125
3126 2010-06-21  Robert Dewar  <dewar@adacore.com>
3127
3128         * s-regpat.adb, s-tpoben.adb, sem_attr.adb, sem_util.adb, sem_util.ads,
3129         checks.adb, sem_res.adb: Minor reformatting. Add comments.
3130
3131 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
3132
3133         * sem_ch6.adb (New_Overloaded_Entity): If the new entity is a
3134         rederivation associated with a full declaration in a private part, and
3135         there is a partial view that derives the same parent subprogram, the
3136         new entity does not become visible. This check must be applied to
3137         interface operations as well.
3138
3139 2010-06-21  Thomas Quinot  <quinot@adacore.com>
3140
3141         * checks.adb: Add comments.
3142         * prj-nmsc.adb: Minor reformatting.
3143
3144 2010-06-21  Thomas Quinot  <quinot@adacore.com>
3145
3146         * sem_ch9.adb, checks.adb, sem_util.adb, sem_util.ads, sem_res.adb,
3147         sem_attr.adb (Get_E_First_Or_Last): Use attribute references on E to
3148         extract bounds, to ensure that we get the proper captured values,
3149         rather than an expression that may have changed value since the point
3150         where the subtype was elaborated.
3151         (Find_Body_Discriminal): New utility subprogram to share code between...
3152         (Eval_Attribute): For the case of a subtype bound that references a
3153         discriminant of the current concurrent type, insert appropriate
3154         discriminal reference.
3155         (Resolve_Entry.Actual_Index_Type.Actual_Discriminant_Ref): For a
3156         requeue to an entry in a family in the current task, use corresponding
3157         body discriminal. 
3158         (Analyze_Accept_Statement): Rely on expansion of attribute references
3159         to insert proper discriminal references in range check for entry in
3160         family.
3161
3162 2010-06-21  Emmanuel Briot  <briot@adacore.com>
3163
3164         * s-regpat.adb (Compile): Fix handling of big patterns.
3165
3166 2010-06-21  Robert Dewar  <dewar@adacore.com>
3167
3168         * a-tifiio.adb: Minor reformatting.
3169
3170 2010-06-21  Pascal Obry  <obry@adacore.com>
3171
3172         * prj-nmsc.adb (Search_Directories): Use the non-translated directory
3173         path to open it.
3174
3175 2010-06-21  Javier Miranda  <miranda@adacore.com>
3176
3177         * exp_cg.adb (Write_Call_Info): Fill the component sourcename using the
3178         external name.
3179
3180 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
3181
3182         * exp_ch4.adb (Expand_Concatenate): If an object declaration is created
3183         to hold the result, indicate that the target of the declaration does
3184         not need an initialization, to prevent spurious errors when
3185         Initialize_Scalars is enabled.
3186
3187 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
3188
3189         * a-tifiio.adb (Put): In the procedure that performs I/O on a String,
3190         Fore is not bound by line length. The Fore parameter of the internal
3191         procedure that performs the operation is an integer.
3192
3193 2010-06-21  Thomas Quinot  <quinot@adacore.com>
3194
3195         * sem_res.adb, checks.adb: Minor reformatting.
3196
3197 2010-06-21  Emmanuel Briot  <briot@adacore.com>
3198
3199         * s-regpat.adb (Next_Instruction, Get_Next_Offset): Removed, merged
3200         into Get_Next.
3201         (Insert_Operator_Before): New subprogram, avoids duplicated code
3202         (Compile): Avoid doing two compilations when the pattern matcher ends
3203         up being small.
3204
3205 2010-06-21  Emmanuel Briot  <briot@adacore.com>
3206
3207         * s-regpat.adb: Improve debug traces
3208         (Dump): Change output format to keep it smaller.
3209
3210 2010-06-21  Javier Miranda  <miranda@adacore.com>
3211
3212         * exp_cg.adb (Generate_CG_Output): Disable redirection of standard
3213         output to the output file when this routine completes its work.
3214
3215 2010-06-20  Eric Botcazou  <ebotcazou@adacore.com>
3216
3217         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Use while instead of
3218         for loop.  Call build_constructor_from_list directly in the CICO case.
3219
3220 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
3221
3222         * freeze.adb (Build_And_Analyze_Renamed_Body): If the renaming
3223         declaration appears in the same unit and ealier than the renamed
3224         entity, retain generated body to prevent order-of-elaboration issues in
3225         gigi.
3226
3227 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
3228
3229         * s-tpoben.adb: Update comments.
3230
3231 2010-06-18  Robert Dewar  <dewar@adacore.com>
3232
3233         * debug.adb: Minor comment change.
3234
3235 2010-06-18  Javier Miranda  <miranda@adacore.com>
3236
3237         * exp_cg.adb: Code clean up.
3238         * debug.adb: Complete documentation of switch -gnatd.Z.
3239         * gcc-interface/misc.c (callgraph_info_file): Declare.
3240
3241 2010-06-18  Javier Miranda  <miranda@adacore.com>
3242
3243         * exp_cg.adb (Homonym_Suffix_Length): Minor code reorganization.
3244
3245 2010-06-18  Thomas Quinot  <quinot@adacore.com>
3246
3247         * sprint.ads: Minor reformatting.
3248         * output.ads: Update obsolete comment.
3249
3250 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
3251
3252         * freeze.adb (Build_And_Analyze_Renamed_Body): if the renamed entity is
3253         an external intrinsic operation (e.g. a GCC numeric function) indicate
3254         that the renaming entity has the same characteristics, so a call to it
3255         is properly expanded.
3256
3257 2010-06-18  Javier Miranda  <miranda@adacore.com>
3258
3259         * exp_cg.adb, exp_cg.ads, exp_disp.adb, gnat1drv.adb: Add initial
3260         support for dispatch table/callgraph info generation.
3261         * gcc-interface/Make-lang.in: Update dependencies.
3262
3263 2010-06-18  Robert Dewar  <dewar@adacore.com>
3264
3265         * exp_ch6.adb: Minor reformatting.
3266         * gnatname.adb: Add comment.
3267
3268 2010-06-18  Vincent Celier  <celier@adacore.com>
3269
3270         * gnatname.adb (Scan_Args): When --and is used, make sure that the
3271         dynamic tables in the newly allocated Argument_Data are properly
3272         initialized.
3273
3274 2010-06-18  Eric Botcazou  <ebotcazou@adacore.com>
3275
3276         * gnat1drv.adb: Fix comment.
3277
3278 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
3279
3280         * exp_ch6.adb (Expand_Inlined_Call): If the inlined subprogram is a
3281         renaming, re-expand the call with the renamed subprogram if that one
3282         is marked inlined as well.
3283
3284 2010-06-18  Gary Dismukes  <dismukes@adacore.com>
3285
3286         * gnat1drv.adb (Adjust_Global_Switches): Enable
3287         Use_Expression_With_Actions for AAMP and VM targets.
3288
3289 2010-06-18  Vincent Celier  <celier@adacore.com>
3290
3291         * prj-nmsc.adb (Process_Linker): Recognize response file format GCC.
3292
3293 2010-06-18  Thomas Quinot  <quinot@adacore.com>
3294
3295         * exp_ch4.adb: Minor reformatting.
3296
3297 2010-06-18  Javier Miranda  <miranda@adacore.com>
3298
3299         * debug.ads Add documentation on -gnatd.Z.
3300
3301 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
3302
3303         * sem_elim.adb: Proper error message on improperly eliminated instances
3304
3305 2010-06-18  Vincent Celier  <celier@adacore.com>
3306
3307         * prj.ads (Response_File_Format): New value GCC.
3308
3309 2010-06-18  Thomas Quinot  <quinot@adacore.com>
3310
3311         * gnat1drv.adb: Minor reformatting.
3312
3313 2010-06-18  Robert Dewar  <dewar@adacore.com>
3314
3315         * make.adb, sem_cat.adb: Minor reformatting.
3316         * sem_eval.adb: Fix typos.
3317
3318 2010-06-18  Pascal Obry  <obry@adacore.com>
3319
3320         * prj-nmsc.adb: Fix source filenames casing in debug output.
3321
3322 2010-06-18  Robert Dewar  <dewar@adacore.com>
3323
3324         * gnatcmd.adb: Minor reformatting.
3325
3326 2010-06-18  Robert Dewar  <dewar@adacore.com>
3327
3328         * sem_eval.adb (Eval_Conditional_Expression): Result is static if
3329         condition and both sub-expressions are static (and result is selected
3330         expression).
3331
3332 2010-06-18  Robert Dewar  <dewar@adacore.com>
3333
3334         * g-pehage.adb: Minor reformatting
3335
3336 2010-06-18  Pascal Obry  <obry@adacore.com>
3337
3338         * prj-nmsc.adb (Search_Directories): Insert canonical filenames into
3339         source hash table.
3340
3341 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
3342
3343         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
3344         dependencies. Fix target pairs on darwin.
3345         (gnatlib-sjlj, gnatlib-zcx): Pass THREAD_KIND.
3346
3347 2010-06-18  Pascal Obry  <obry@adacore.com>
3348
3349         * make.adb, prj-nmsc.adb: Fix source filenames casing in debug output.
3350
3351 2010-06-18  Vincent Celier  <celier@adacore.com>
3352
3353         * gnatcmd.adb: For gnatcheck, add -gnatec= switch for a global
3354         configuration pragmas file and, if -U is not used, for a local one.
3355
3356 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
3357
3358         * sem_elim.adb (Check_Eliminated): Use full information on entity name
3359         when it is given in the pragma by a selected component.
3360         (Check_For_Eliminated_Subprogram): Do no emit error if within a
3361         instance body that is itself within a generic unit.
3362         * sem_ch12.adb (Analyze_Subprogram_Instance): If the subprogram is
3363         eliminated, mark as well the anonymous subprogram that is its alias
3364         and appears within the wrapper package.
3365
3366 2010-06-18  Bob Duff  <duff@adacore.com>
3367
3368         * g-pehage.ads, g-pehage.adb (Produce): Clean up some of the code.
3369         Raise an exception if the output file cannot be opened. Add comments.
3370
3371 2010-06-18  Thomas Quinot  <quinot@adacore.com>
3372
3373         * sem_cat.adb (Validate_Object_Declaration): A variable declaration is
3374         not illegal per E.2.2(7) if it occurs in the private part of a
3375         Remote_Types unit.
3376
3377 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
3378
3379         * par-ch9.adb, sem_aggr.adb, sem_ch3.adb, layout.adb, sem_ch4.adb,
3380         sem_ch5.adb, sem_mech.adb, exp_util.adb, par-ch10.adb, sem_ch6.adb,
3381         par-ch11.adb, sem_ch7.adb, par-prag.adb, exp_disp.adb, par-ch12.adb,
3382         sem_ch8.adb, style.adb, sem_ch9.adb, sem_ch10.adb, prep.adb,
3383         sem_warn.adb, par-util.adb, scng.adb, sem_eval.adb, checks.adb,
3384         sem_prag.adb, sem_ch12.adb, styleg.adb, sem_ch13.adb, par-ch3.adb,
3385         par-tchk.adb, freeze.adb, sfn_scan.adb, par-ch4.adb, sem_util.adb,
3386         sem_res.adb, par-ch5.adb, lib-xref.adb, sem_attr.adb, par-ch6.adb,
3387         sem_disp.adb, prepcomp.adb, par-ch7.adb, sem_elab.adb, exp_ch4.adb,
3388         errout.ads: Update comments. Minor reformatting.
3389
3390         * g-spipat.adb, a-swunau.adb, a-swunau.ads, g-spitbo.adb,
3391         a-szunau.adb, a-szunau.ads, a-stunau.adb, a-stunau.ads,
3392         a-strunb.adb (Big_String. Big_String_Access): New type.
3393
3394         * par-labl.adb, restrict.adb, s-osinte-hpux-dce.ads, sem_ch11.adb,
3395         exp_pakd.adb, s-filofl.ads, par-endh.adb, exp_intr.adb, sem_cat.adb,
3396         sem_case.adb, exp_ch11.adb, s-osinte-linux.ads: Fix copyright notices.
3397
3398 2010-06-18  Geert Bosch  <bosch@adacore.com>
3399
3400         * i-forbla-darwin.adb: Include -lgnala and -lm in linker options for
3401         Darwin.
3402
3403 2010-06-18  Robert Dewar  <dewar@adacore.com>
3404
3405         * gnat1drv.adb (Adjust_Global_Switches): Set Use_Expression_With_Actions
3406         true for gcc.
3407
3408 2010-06-18  Robert Dewar  <dewar@adacore.com>
3409
3410         * sprint.adb: Minor format change for N_Expression_With_Actions.
3411         * repinfo.adb: Minor reformatting.
3412
3413 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
3414
3415         * sem_elim.adb (Check_Eliminated): If within a subunit, use
3416         Defining_Entity to obtain the name of the entity in the proper body, to
3417         properly handle both separate packages and subprograms.
3418
3419 2010-06-18  Emmanuel Briot  <briot@adacore.com>
3420
3421         * prj-nmsc.adb (Check_File): New parameter Display_Path.