OSDN Git Service

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