OSDN Git Service

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