OSDN Git Service

2009-09-21 Joel Sherrill <joel.sherrill@oarcorp.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2009-09-21  Joel Sherrill <joel.sherrill@oarcorp.com>
2
3         * s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0.
4         Bind to getpagesize() in RTEMS 4.10 and newer.
5
6 2009-09-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7
8         * env.c [__alpha__ && __osf__] (_BSD): Define.
9         * init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
10         to const char *.
11
12 2009-09-18  Pascal Obry  <obry@adacore.com>
13
14         * mingw32.h: Activate Unicode support for x86-64 Windows platform.
15
16 2009-09-18  Vadim Godunko  <godunko@adacore.com>
17
18         * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
19
20 2009-09-18  Javier Miranda  <miranda@adacore.com>
21
22         * exp_aggr.adb (Backend_Processing_Possible): Disable backend
23         processing for array aggregates in the VM backend if the array has
24         aliased components.
25
26 2009-09-18  Ed Schonberg  <schonberg@adacore.com>
27
28         * sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
29         the prefix indicates a previous semantic error, and this is the first
30         error in the program.
31
32 2009-09-18  Bob Duff  <duff@adacore.com>
33
34         * gnat_ugn.texi: Minor editing.
35
36 2009-09-18  Vincent Celier  <celier@adacore.com>
37
38         * prj.ads, prj.adb (Project_Data): New component
39         Imported_Directories_Switches.
40
41 2009-09-18  Pascal Obry  <obry@adacore.com>
42
43         * mingw32.h: Include standard _mingw.h file.
44         Define _WIN32_WINNT only if not already defined.
45
46 2009-09-18  Thomas Quinot  <quinot@adacore.com>
47
48         * g-socket.adb (Is_Open): New function indicating whether a
49         Selector_Type object is open.
50
51 2009-09-18  Vincent Celier  <celier@adacore.com>
52
53         * osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
54         is deleted before creating it.
55
56 2009-09-18  Robert Dewar  <dewar@adacore.com>
57
58         * bindgen.adb: Minor reformatting
59
60 2009-09-18  Arnaud Charlet  <charlet@adacore.com>
61
62         * s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
63         s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
64         signal handler is installed.
65         * s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
66         tasks if Abort_Task_Interrupt cannot be used.
67
68 2009-09-18  Vincent Celier  <celier@adacore.com>
69
70         * prj-tree.ads: Minor comment update
71
72 2009-09-17  Bob Duff  <duff@adacore.com>
73
74         * g-socket.ads: Document the fact that Close_Selector has no effect on
75         a closed selector.
76         * g-socket.adb: Raise an exception when a Selector that should be open
77         is closed.
78         (Check_Selector): Declare RSig as a constant rather than a renames,
79         less confusing.
80
81 2009-09-17  Robert Dewar  <dewar@adacore.com>
82
83         * exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
84         prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb,
85         prj-tree.ads: Minor reformatting
86
87 2009-09-17  Emmanuel Briot  <briot@adacore.com>
88
89         * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
90         spec.
91         (Do_Autoconf): If the object directory does not exists, create auto.cgpr
92         in a temporary directory instead
93
94 2009-09-17  Bob Duff  <duff@adacore.com>
95
96         * a-dynpri.adb (Set_Priority): Don't do anything if the task is already
97         terminated.
98         (Get_Priority): Correct message for "terminated" case -- it said "null".
99
100 2009-09-17  Robert Dewar  <dewar@adacore.com>
101
102         * exp_ch6.adb: Minor reformatting
103
104 2009-09-17  Emmanuel Briot  <briot@adacore.com>
105
106         * gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
107         switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
108         (Project_Node_Tree_Data.Project_Path): New field.
109
110         * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
111
112 2009-09-17  Emmanuel Briot  <briot@adacore.com>
113
114         * prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
115         Remove duplicate code.
116         (Prj.Ext): Fix memory leak
117         (Check): Now allow the syntax "-Xfoo=" to set an empty value to the
118         variable. This was previously allowed in the code in
119         Is_External_Assignment, and some tests rely on it
120
121 2009-09-17  Bob Duff  <duff@adacore.com>
122
123         * gnat_rm.texi, s-oscons-tmplt.c: Minor typo
124
125 2009-09-17  Emmanuel Briot  <briot@adacore.com>
126
127         * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
128         makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
129         prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
130         prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
131         Scenario variables are now specific to each project tree loaded in
132         memory.
133         Code clean ups.
134
135 2009-09-17  Javier Miranda  <miranda@adacore.com>
136
137         * exp_disp.adb (Make_DT): Remove wrong line of code that was
138         undocumented and probably added by mistake.
139
140 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
141
142         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
143         conversions between original and packable version of types from
144         the expression.
145
146 2009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
147
148         * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
149         If a padding type was made for the field, declare it.
150         (components_to_record): Add DEBUG_INFO_P parameter.  Adjust call
151         to gnat_to_gnu_field and call to self.
152         (gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
153         <E_Array_Subtype>: Likewise.
154         Adjust calls to gnat_to_gnu_field and components_to_record.
155
156 2009-09-16  Robert Dewar  <dewar@adacore.com>
157
158         * prj-nmsc.adb: Minor reformatting
159
160 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
161
162         * exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
163         expression is a by-reference type (tagged or inherently limited)
164         introduce an access type to capture references to the values of each
165         branch of the conditional.
166
167 2009-09-16  Emmanuel Briot  <briot@adacore.com>
168
169         * prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
170         (Project_Name_And_Node.Display_Name): new field
171         The display name of a project (as written in the .gpr file) is now
172         computed when the project file itself is parsed, not when it is
173         processed.
174
175 2009-09-16  Thomas Quinot  <quinot@adacore.com>
176
177         * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
178         intrinsics untouched (to be expanded later on by gigi) if an external
179         name has been specified.
180         (Freeze_Entity): Do not generate a default external name for
181         imported subprograms with convention Intrinsic (so that the above code
182         can identify the case where an external name has been explicitly
183         provided).
184
185         * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
186         replaced by something else due to an existing #define clause.
187
188 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
189
190         * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
191         Parameter_Association node, created for the extra actual generated for
192         an access parameter of a function that dispatches on result, to prevent
193         double generation of such actuals when the call is rewritten is a
194         dispatching call.
195         * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
196         * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
197         that carry this flag when rewriting the original call as a dispatching
198         call, after propagating the controlling tag.
199
200 2009-09-16  Vincent Celier  <celier@adacore.com>
201
202         * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
203         in the source data.
204         (Check_File): New parameter Source_Dir_Rank, to check if a duplicate
205         source is allowed.
206         (Find_Source_Dirs): New parameter Rank to be recorded with the source
207         directories.
208         (Search_Directories): Call Check_File with the rank of the directory
209         * prj.adb (Project_Empty): Add new component Source_Dir_Ranks
210         (Free): Free also Number_Lists
211         (Reset): Init also Number_Lists
212         * prj.ads (Number_List_Table): New dynamic table for lists of numbers
213         (Source_Data): New component Source_Dir_Rank. Remove component
214         Known_Order_Of_Source_Dirs, no longer needed.
215         (Project_Data): New component Source_Dir_Ranks
216         (Project_Tree_Data): New components Number_Lists
217
218 2009-09-16  Vincent Celier  <celier@adacore.com>
219
220         * gprep.adb (Yes_No): New global constant
221         Unix_Line_Terminators: New global Boolean variable
222         (Process_One_File): Create the out file with a "Text_Translation=" form
223         that depends on the use of option -T.
224         (Scan_Command_Line): Add option -T
225         (Usage): Add line for option -T
226
227 2009-09-16  Ed Schonberg  <schonberg@adacore.com>
228
229         * exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
230         predicate that describes a proper subset of
231         Is_Predefined_Dispatching_Operation and excludes stream operations,
232         which can be overridden by the user.
233         * sem_ch6.adb (Create_Extra_Formals): use
234         Is_Predefined_Internal_Operation, so that stream operations get extra
235         formals.
236         * exp_ch6.adb (Prevent double generation of extra actuals in calls to
237         'Input, which may be expanded twice, first as a function call and then
238         as a dispatching call.
239
240 2009-09-16  Thomas Quinot  <quinot@adacore.com>
241
242         * s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
243         * g-expect.adb (Set_Up_Child_Communications): Use
244         System.OS_Constants.Target_OS to determine whether running on Windows.
245
246 2009-09-14  Richard Henderson  <rth@redhat.com>
247
248         * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
249
250 2009-09-14  Eric Botcazou  <ebotcazou@adacore.com>
251
252         * exp_dbug.ads (Packed Array Encoding): Document the new encoding for
253         the unconstrained case.
254         * gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
255         the encoding.  Do not give a name to the pointer type to the XUT type.
256         * gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
257         for fat pointer types, if any.  Make sure DECL_ARTIFICIAL is cleared
258         on nodes with DECL_ORIGINAL_TYPE set.
259         (update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
260         for fat pointer types.  Make sure DECL_ARTIFICIAL is cleared.
261
262 2009-09-14  Richard Henderson  <rth@redhat.com>
263
264         * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
265         default_init_unwind_resume_libfunc.
266         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use
267         __builtin_eh_pointer.
268         * gcc-interface/utils.c (gnat_install_builtins): Update call
269         to build_common_builtin_nodes.
270
271 2009-09-13  Richard Guenther  <rguenther@suse.de>
272             Rafael Avila de Espindola  <espindola@google.com>
273
274         * gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables
275         eh_personality_libfunc and lang_eh_runtime_type.
276         (LANG_HOOKS_EH_PERSONALITY): Define.
277         (gnat_eh_personality_decl): New static variable.
278         (gnat_eh_personality): New static function.
279         Include gt-ada-misc.h.
280         * gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
281         * gcc-interface/config-lang.in (gtfiles): Add misc.c.
282
283 2009-09-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
284
285         PR ada/18302
286         * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
287
288 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
289
290         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
291         flow of control.
292         Avoid useless work when processing the Treat_As_Volatile flag.
293
294 2009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
295
296         * gcc-interface/targtyps.c: Reorder include directives.
297
298 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
299
300         * gcc-interface/targtyps.c: Add missing include for tm_p.h.
301         * gcc-interface/Make-lang.in: Update dependencies.
302
303 2009-09-07  Laurent GUERBY  <laurent@guerby.net>
304
305         * make.adb: Add missing documentation for multilib handling.
306         
307 2009-09-03  Diego Novillo  <dnovillo@google.com>
308
309         * gcc-interface/misc.c (lang_hooks): Remove const qualifier.
310
311 2009-09-02  Richard Henderson  <rth@redhat.com>
312
313         * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
314
315 2009-09-02  Olivier Hainque  <hainque@adacore.com>
316
317         * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
318         and uc arguments.
319         
320 2009-09-02  Olivier Hainque  <hainque@adacore.com>
321
322         * gcc-interface/decl.c (cannot_be_superflat_p): Handle
323         Signed_Integer_Type_Definition Scalar_Ranges.
324
325 2009-09-02  Eric Botcazou  <ebotcazou@adacore.com>
326
327         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the
328         SAVE_EXPR built for misaligned arguments.  Remove redundant stuff.
329         (addressable_p): Return true for more rvalues.
330
331 2009-09-01  Jakub Jelinek  <jakub@redhat.com>
332
333         * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
334         POINTER_SIZE to HOST_WIDE_INT.
335
336 2009-09-01  Richard Guenther  <rguenther@suse.de>
337
338         * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
339
340 2009-08-25  Eric Botcazou  <ebotcazou@adacore.com>
341
342         * gcc-interface/trans.c (call_to_gnu): Tidy.
343         (gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
344         non-constant size but the array itself has constant size.
345         * gcc-interface/utils.c (convert_vms_descriptor64): Fix type
346         consistency error.
347         (convert_vms_descriptor32): Likewise.
348
349 2009-08-22  Aurelien Jarno  <aurelien@aurel32.net>
350
351         * gcc-interface/Makefile.in: Add Ada support for 
352         GNU/kFreeBSD x86_64.
353         * system-freebsd-x86_64.ads: New file based on 
354         system-freebsd-x86.ads.
355
356 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
357
358         * gcc-interface/utils.c (convert): In the padded case, do the final
359         conversion as an unchecked conversion if the underlying types are
360         array types with variable size.
361
362 2009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
363
364         * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
365         as visited.
366         * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
367         bounds.
368         * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
369         fields.
370         (gnat_gimplify_expr) <DECL_EXPR>: New case.
371
372 2009-08-17  Aurelien Jarno  <aurelien@aurel32.net>
373
374         * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
375         (stack_t): New record type.
376         (sigaltstack): New imported function.
377         (Alternate_Stack): New imported variable.
378         (Alternate_Stack_Size): New constant.
379
380 2009-08-17  Vasiliy Fofanov  <fofanov@adacore.com>
381
382         * a-calend-vms.adb: Fix typo.
383
384 2009-08-17  Tristan Gingold  <gingold@adacore.com>
385
386         * s-taprop-posix.adb: Round up the stack size to avoid failure on
387         Darwin.
388
389 2009-08-17  Gary Dismukes  <dismukes@adacore.com>
390
391         * sem_cat.adb (Validate_Static_Object_Name): Update comment.
392
393 2009-08-17  Vincent Celier  <celier@adacore.com>
394
395         * make.adb (Arguments_Collected): Unneeded, removed
396         (Change_To_Object_Directory): Use Project directly. Add pragma Assert to
397         ensure caller does not pass in No_Project.
398         (Compile): Add new parameter Project. Let procedure
399         Collect_Arguments_And_Compile provide the proper value.
400
401         * switch-c.adb: Add documentation for -gnatea and -gnatez
402
403 2009-08-17  Ben Brosgol  <brosgol@adacore.com>
404
405         * gnat_ugn.texi: Changed name of package in SAL example, to avoid
406         clash with Ada 2005 reserved word (interface).
407
408 2009-08-17  Robert Dewar  <dewar@adacore.com>
409
410         * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
411         a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
412         a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
413         (use conditional expressions).
414
415 2009-08-17  Robert Dewar  <dewar@adacore.com>
416
417         * make.adb: Add ??? comment
418         * tbuild.adb: Minor reformatting
419
420 2009-08-17  Thomas Quinot  <quinot@adacore.com>
421
422         * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
423         Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
424         Use Tbuild.Make_Temporary to create entity for the temporary.
425
426 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
427
428         * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
429         and ignore -mieee switch to avoid spawning an extra gcc in this case.
430
431 2009-08-17  Thomas Quinot  <quinot@adacore.com>
432
433         * tbuild.adb: Minor reformatting
434
435 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
436
437         * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
438         exist, as is the case for synchronized types, use the type of the
439         discriminal in the parameter specification, to prevent a spurious
440         subtype mismatch in gigi.
441
442 2009-08-17  Robert Dewar  <dewar@adacore.com>
443
444         * prj-env.adb: Minor reformatting
445         * make.adb: Minor reformatting
446         Comment updates
447
448 2009-08-17  Javier Miranda  <miranda@adacore.com>
449
450         * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
451
452 2009-08-17  Emmanuel Briot  <briot@adacore.com>
453
454         * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
455         (Processing_Flags.Require_Obj_Dirs): new field, which controls whether
456         object directories must be present. In the case of gprclean at least,
457         these are optional (if they do not exist there is nothing to clean)
458
459 2009-08-17  Robert Dewar  <dewar@adacore.com>
460
461         * prj-env.adb: Minor reformatting
462         * sem_ch3.adb: Minor reformatting
463
464 2009-08-17  Hristian Kirtchev  <kirtchev@adacore.com>
465
466         * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
467         the time zone since VxWorks chose positive values to represent west
468         time zones and negative for east zones.
469
470 2009-08-17  Ed Schonberg  <schonberg@adacore.com>
471
472         * sem_ch3.adb (Access_Definition): Do not create an Itype reference for
473         an anonymous access type whose designated type is generic.
474
475 2009-08-17  Arnaud Charlet  <charlet@adacore.com>
476
477         * comperr.adb (Compiler_Abort): Do not generate a bug box when in
478         codepeer mode, friendlier.
479
480 2009-08-10  Laurent GUERBY  <laurent@guerby.net>
481
482         * make.adb: Handle multilib
483         
484 2009-08-10  Vincent Celier  <celier@adacore.com>
485
486         * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
487         the temporary file name in the error message when the temporary file
488         cannot be created.
489
490 2009-08-10  Yannick Moy  <moy@adacore.com>
491
492         * gnat_ugn.texi: Fix typo
493
494 2009-08-10  Robert Dewar  <dewar@adacore.com>
495
496         * exp_ch7.adb: Add ??? comment for last change
497
498 2009-08-10  Vincent Celier  <celier@adacore.com>
499
500         * prj-env.adb (Add_To_Buffer): New procedure
501         (Create_Config_Pragmas_File): Write to temporary file in one shot
502         (Create_Mapping_File): Ditto
503         (Set_Ada_Paths): Ditto
504
505 2009-08-10  Vincent Celier  <celier@adacore.com>
506
507         PR ada/17566
508         * xref_lib.adb (Print_Xref): Make sure that there is at least one space
509         between a declaration name and its type.
510
511 2009-08-07  Javier Miranda  <miranda@adacore.com>
512
513         * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
514         SCIL node.
515
516 2009-08-07  Robert Dewar  <dewar@adacore.com>
517
518         * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
519
520 2009-08-07  Vincent Celier  <celier@adacore.com>
521
522         * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
523         specified on the command line and there are switches in the Compiler
524         package of the project file, use these compilation switches to invoke
525         the tool.
526
527 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
528
529         * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
530
531 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
532
533         * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
534         even if not in main unit, to simplify debugging.
535
536 2009-08-07  Arnaud Charlet  <charlet@adacore.com>
537
538         * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
539         * gcc-interface/Make-lang.in: Update dependencies.
540
541 2009-08-07  Robert Dewar  <dewar@adacore.com>
542
543         * types.ads: Minor reformatting
544         * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
545         * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
546         Output_Non_Modified_In_Out_Warnings.
547         * sem_ch13.adb: Remove ??? comment.
548
549 2009-08-07  Vincent Celier  <celier@adacore.com>
550
551         * mlib-prj.adb (Build_Library): Include binder generate object file
552         for SAL when library name is only one character.
553
554 2009-08-07  Thomas Quinot  <quinot@adacore.com>
555
556         * targparm.adb: Minor reformatting
557         * sem.adb: Minor reformatting
558         * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
559
560 2009-08-07  Emmanuel Briot  <briot@adacore.com>
561
562         * prj-conf.adb: Remove duplicate directory separator in the output when
563         an object directory does not exist.
564
565 2009-08-07  Robert Dewar  <dewar@adacore.com>
566
567         * exp_util.adb: Minor reformatting
568
569 2009-08-07  Vincent Celier  <celier@adacore.com>
570
571         * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
572         length used).
573
574 2009-08-07  Ed Schonberg  <schonberg@adacore.com>
575
576         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
577         detect non-static private components that will violate restriction
578         No_Implicit_Heap_Allocation.
579
580 2009-08-07  Ben Brosgol  <brosgol@adacore.com>
581
582         * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
583
584 2009-08-02  Eric Botcazou  <ebotcazou@adacore.com>
585
586         * gcc-interface/gigi.h (end_subprog_body): Tweak comment.
587         * gcc-interface/utils.c (end_subprog_body): Likewise.
588         * gcc-interface/trans.c (gigi): Likewise.
589         (gnat_to_gnu): Likewise.
590
591 2009-07-30  Ben Brosgol  <brosgol@adacore.com>
592
593         * gnat_ugn.texi: Correct minor texi glitch.
594
595 2009-07-30  Ed Schonberg  <schonberg@adacore.com>
596
597         * exp_util.adb (Expand_Subtype_From_Expr): If the type of the
598         expression has an underlying representation that is an unchecked union,
599         there is no subtype to build.
600
601 2009-07-30  Robert Dewar  <dewar@adacore.com>
602
603         * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads,
604         s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb,
605         sem_ch7.adb, adaint.c: Minor reformatting
606
607 2009-07-29  Javier Miranda  <miranda@adacore.com>
608
609         * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
610         moved from the expander to the semantic analyzer to allow the
611         generation of these internal entities when compiling with no code
612         generation. Required by ASIS.
613         * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
614         * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
615         * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
616         (Expand_Freeze_Record_Type): Remove call to
617         Add_Internal_Interface_Entities because this routine is now called at
618         early stage --when the freezing node is analyzed.
619
620 2009-07-29  Robert Dewar  <dewar@adacore.com>
621
622         * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
623         exp_disp.adb, g-socket.adb: Minor reformatting
624
625 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
626
627         * sem_ch7.adb (New_Private_Type): Create class-wide type after other
628         attributes have been established, so that they are all inherited by the
629         class-wide type.
630         * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
631         properly named subtypes of class-wide types.
632
633 2009-07-29  Ed Schonberg  <schonberg@adacore.com>
634
635         * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
636         indicators on user-defined operators.
637
638 2009-07-29  Vadim Godunko  <godunko@adacore.com>
639
640         * g-socket.adb (Receive_Vector): Add comment.
641
642 2009-07-29  Javier Miranda  <miranda@adacore.com>
643
644         * frontend.adb (Frontend): Code cleanup.
645         * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
646         Rewriten as a procedure because it a new out-mode parameters to
647         keep up-to-date the controlling tag node in the caller.
648         (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
649         new out-mode parameter to keep up-to-date the controlling tag node in
650         the caller.
651         * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
652         exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
653         package Sem_SCIL.
654         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
655         available in new package Sem_SCIL.
656         (Next_Non_SCIL_Node): Ditto.
657         * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
658         package Sem_SCIL.
659         (Expand_Dispatching_Call): Update call to modified Exp_Atags routines
660         plus complete decoration of SCIL dispatching node.
661         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
662         * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
663         package Sem_SCIL.
664         (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
665         * exp_ch3.adb (Build_Init_Procedure): Fix comment.
666         * sem_scil.ads, sem_scil.adb: New files.
667         * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
668         Update dependencies.
669
670 2009-07-28  Robert Dewar  <dewar@adacore.com>
671
672         * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
673         makeutl.adb: Minor reformatting & code reorganization
674         * sem_ch3.adb: Minor reformatting.
675         Fix spelling error (constraint for constrain) in error msg.
676
677 2009-07-28  Emmanuel Briot  <briot@adacore.com>
678
679         * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
680         global variable that also exists in makeutl.ads, and that some routines
681         in that package use already.
682         (Check): Moved part of the code to makeutl.adb for better sharing with
683         gprbuild.
684
685 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
686
687         * gcc-interface/Make-lang.in: Update dependencies.
688
689 2009-07-28  Emmanuel Briot  <briot@adacore.com>
690
691         * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
692         importing project does not end up in the list, in the case of extending
693         projects.
694         * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
695         makeutl.ads, for better sharing with gprbuild.
696
697 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
698
699         * gnat_ugn.texi: Fix typo.
700
701 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
702
703         * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
704         derivation that renames some discriminants and constrain others.
705         * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
706         prefix is a derived untagged type, convert to the root type to conform
707         to the signature of the protected operations.
708
709 2009-07-28  Robert Dewar  <dewar@adacore.com>
710
711         * sinfo.ads: Update comments.
712         * exp_attr.adb: Minor reformatting
713
714 2009-07-28  Ed Schonberg  <schonberg@adacore.com>
715
716         * sem_aggr.adb (Get_Value): A named association in a record aggregate
717         should be treated as a modification of the named component, not as a
718         reference.
719
720 2009-07-28  Quentin Ochem  <ochem@adacore.com>
721
722         * prj-tree.ads, prj-tree.adb (Free): Minor editing.
723         * prj.ads, prj.adb (Image): Ditto.
724
725 2009-07-28  Arnaud Charlet  <charlet@adacore.com>
726
727         * frontend.adb: Minor reformatting.
728         (Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
729         for efficiency.
730
731 2009-07-28  Bob Duff  <duff@adacore.com>
732
733         * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
734         'Address to get a pointer to the protected body wrapper.
735
736 2009-07-28  Javier Miranda  <miranda@adacore.com>
737
738         * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
739         nodes if we are not generating code.
740         * frontend.adb (Check_SCIL_Node): New subprogram. Used to check
741         attribute SCIL_Related_Node of SCIL dispatching nodes.
742         (Check_SCIL_Nodes): New instantiation of Traverse_Proc.
743         * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
744         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
745         (SCIL_Entity): Update documentation.
746         (SCIL_Related_Node): Update documentation.
747         (SCIL_Controlling_Tag): New attribute.
748         (SCIL_Target_Prim): Update documentation.
749         (N_Null_Statement): Remove attributes associated with SCIL nodes.
750         (N_SCIL_Dispatch_Table_Object_Init): New node.
751         (N_SCIL_Dispatch_Table_Tag_Init): New node.
752         (N_SCIL_Dispatching_Call): New node.
753         (N_SCIL_Tag_Init): New node.
754         * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
755         (SCIL_Nkind,Set_SCIL_Nkind): Removed.
756         (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
757         (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
758         (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
759         (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
760         N_SCIL_Dispatching_Call nodes.
761         * sem.adb (Analyze): No need to analyze SCIL nodes.
762         * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
763         (Next_Non_SCIL_Node): New subprogram
764         * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
765         dispatching nodes.
766         * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
767         dispatching node.
768         * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
769         dispatching node.
770         * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
771         null statement nodes.
772         (Build_Init_Procedure): Generate new SCIL node.
773         * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
774         node.
775         * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
776         they are currently implemented as special N_Null_Statement nodes.
777         * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
778         procedure call then check if some SCIL node references it and needs
779         readjustment.
780         * exp_disp.ads (SCIL_Node_Kind): Removed.
781         (Adjust_SCIL_Node): New subprogram.
782         (Find_SCIL_Node): New subprogram.
783         (Get_SCIL_Node_Kind): Removed.
784         (New_SCIL_Node): Removed.
785         * exp_disp.adb (Adjust_SCIL_Node): New subprogram
786         (Expand_Dispatching_Call): Generate new SCIL dispatching node including
787         decoration of its new controlling_tag attribute.
788         (Get_SCIL_Node_Kind): Removed.
789         (Find_SCIL_Node): New subprogram.
790         (Make_Secondary_DT): Generate new SCIL nodes.
791         (Make_Tags): Generate new SCIL nodes.
792         (New_SCIL_Node): Removed.
793         * exp_util.adb (Insert_Actions): Handle SCIL nodes.
794         (Remove_Side_Effects): Check if relocated nodes require readjustment
795         of some SCIL dispatching node.
796         * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
797
798 2009-07-28  Robert Dewar  <dewar@adacore.com>
799
800         * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
801
802 2009-07-28  Sergey Rybin  <rybin@adacore.com>
803
804         * gnat_ugn.texi: Add section about gnatcheck rule exemption.
805
806 2009-07-28  Vadim Godunko  <godunko@adacore.com>
807
808         * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
809         not defined by limits.h.
810
811         * g-socket.adb (Receive_Vector): Use minimum length from user's vector
812         length and maximum supported length of data vector.
813
814 2009-07-28  Gary Dismukes  <dismukes@adacore.com>
815
816         * usage.adb: Inhibit printing gcc-specific switches for AAMP target.
817         * make.adb: Call Get_Target_Parameters before calling Usage so that
818         VM_Target and AAMP_On_Target will be set.
819
820 2009-07-28  Olivier Hainque  <hainque@adacore.com>
821
822         * g-ssinty.ads: Remove, pointless and just confusing at this stage.
823         * gnat_rm.texi: Remove documentation.
824         * g-sse.ads: Minor reorg along the way.
825         * gcc-interface/Makefile.in: Remove processing for g-ssinty.
826         * g-ssvety.ads: Minor comment updates.
827
828 2009-07-28  Sergey Rybin  <rybin@adacore.com>
829
830         * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
831         for the new format of the report file.
832
833 2009-07-28  Sergey Rybin  <rybin@adacore.com>
834
835         * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
836
837 2009-07-28  Pascal Obry  <obry@adacore.com>
838
839         * g-expect.adb: Record standard handles only on Windows.
840
841 2009-07-27  Emmanuel Briot  <briot@adacore.com>
842
843         * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
844         Add comments.
845
846 2009-07-27  Sergey Rybin  <rybin@adacore.com>
847
848         * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
849         rule definition the paragraph that explains that generic functions and
850         functions from generic packages are not checked.
851
852 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
853
854         * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
855         procedure when determining whether to set the Overridden_Operation
856         field of a subprogram overriding an inherited subprogram.
857         
858 2009-07-27  Robert Dewar  <dewar@adacore.com>
859
860         * a-except.adb, a-except-2005.ads: Minor reformatting
861
862 2009-07-27  Robert Dewar  <dewar@adacore.com>
863
864         * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
865
866 2009-07-27  Javier Miranda  <miranda@adacore.com>
867
868         * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
869         add some documentation explaining why the SCIL nodes must be generated
870         at that point.
871
872 2009-07-27  Olivier Hainque  <hainque@adacore.com>
873
874         * a-except.adb: Bind to __builtin_longjmp directly.
875         * a-except-2005.ads: Provide direct binding to __builtin_longjmp
876         for sjlj variants.
877         * a-exexpr.adb: Use it.
878         * a-except-xi.adb: Likewise.
879         * raise.c (_gnat_builtin_longjmp): Remove and update comments.
880         * raise.h (_gnat_builtin_longjmp): Remove declaration.
881
882 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
883
884         * sem_eval.adb (Compile_Time_Compare): More precise handling of
885         Known_Valid flag, to prevent spurious range deductions when scalar
886         variables may be uninitialized. New predicate Is_Known_Valid_Operand.
887
888 2009-07-27  Robert Dewar  <dewar@adacore.com>
889
890         * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
891         and code clean up.
892
893 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
894
895         * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
896         Ravenscar mode. Error has already been posted on specification.
897
898         * sem.adb: Further code clean ups.
899
900 2009-07-27  Robert Dewar  <dewar@adacore.com>
901
902         * g-sse.ads: Minor reformatting
903
904 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
905
906         * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
907         alternate ali extension.
908         * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
909         account Osint.ALI_Suffix.
910         * osint.ads (ALI_Suffix): Make visible.
911         * gnatfind.adb (Gnatfind): Add support for --ext= switch.
912         * gnat_ugn.texi: Document new gnatfind --ext= switch.
913
914 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
915
916         * sem.adb (Walk_Library_Items): If main unit is an instance body, do
917         its spec first.
918
919 2009-07-27  Javier Miranda  <miranda@adacore.com>
920
921         * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
922         the dispatching call has is expanded.
923
924 2009-07-27  Ed Schonberg  <schonberg@adacore.com>
925
926         * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
927         Is_Known_Valid flag on the temporary created for the value whose
928         validity is being checked.
929
930         * sem.adb (Do_Unit_And_Dependents): Further code reorganization to
931         handle properly main units that are package specifications.
932
933 2009-07-27  Geert Bosch  <bosch@adacore.com>
934
935         * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
936         * sem_aux.ads: Fix typo in comment
937         * sem_util.ads (Is_LHS): Adjust comment to match body
938
939 2009-07-27  Sergey Rybin  <rybin@adacore.com>
940
941         * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
942         rule definition.
943
944 2009-07-27  Olivier Hainque  <hainque@adacore.com>
945
946         * g-sse.ads, g-ssvety.ads: Update comments.
947
948 2009-07-27  Sergey Rybin  <rybin@adacore.com>
949
950         * gnat_ugn.texi: Update gnatcheck doc.
951
952 2009-07-27  Arnaud Charlet  <charlet@adacore.com>
953
954         * lib-xref.ads: Allocate/document 'o' char for use by references to
955         spark 'own' variables.
956
957 2009-07-27  Gary Dismukes  <dismukes@adacore.com>
958
959         * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
960         objects, since these are implicitly referenced by the return statement.
961         * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
962         Is_Return_Object in this procedure, as return objects will never make
963         it here since they're now marked as Referenced.
964
965 2009-07-27  Robert Dewar  <dewar@adacore.com>
966
967         * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
968
969 2009-07-27  Robert Dewar  <dewar@adacore.com>
970
971         * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
972
973         * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
974
975 2009-07-27  Geert Bosch  <bosch@adacore.com>
976
977         * checks.adb (Find_Check): Minor streamlining of logic.
978         * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
979         * debug.adb: Document -gnatdX debug flag
980         * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
981         list information about reads from scalar entities.
982         Also slightly simplify condition for Expand_Current_Value.
983         * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
984         functions.
985
986 2009-07-26  Dave Korn  <dave.korn.cygwin@gmail.com>
987
988         PR bootstrap/40578
989         * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
990         (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
991         to these.
992         (__gnat_stat): Adjust reference to STAT in prototype.
993         * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
994         __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
995         __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
996         __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
997         __gnat_is_writable_file, __gnat_is_executable_file,
998         __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
999         __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
1000         __gnat_copy_attribs): Adjust all references to the above.
1001         * cstreams.c (__gnat_is_regular_file_fd): Likewise.
1002
1003 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1004
1005         * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
1006         done at the same time, guard against listing a body more than once.
1007
1008 2009-07-23  Robert Dewar  <dewar@adacore.com>
1009
1010         * exp_ch6.adb: Minor reformatting
1011
1012 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1013
1014         * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
1015         static expression is known valid.
1016         * sem_eval.adb (Compile_Time_Compare): Handle properly non-static
1017         operands of a subtype with a single value.
1018
1019 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1020
1021         * sem.adb (Do_Units_And_Dependents): Process bodies only for units that
1022         are in the context of the main unit body.
1023
1024 2009-07-23  Sergey Rybin  <rybin@adacore.com>
1025
1026         * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
1027         misprint in rule description.
1028
1029 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
1030
1031         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
1032         test that the object declaration is within an extended return statement
1033         with direct test of whether the declared object associated with the
1034         build-in-place call is a return object, since the enclosing function
1035         might not even be a build-in-place function.
1036
1037 2009-07-23  Robert Dewar  <dewar@adacore.com>
1038
1039         * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
1040         Minor code reorganization
1041
1042 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
1043
1044         * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
1045         for static analysis, only packed arrays are causing troubles.
1046
1047 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
1048
1049         * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
1050         ancestor part is a call to a limited function with an unconstrained
1051         result subtype unless the aggregate has a null extension type.
1052         * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
1053         the parent type declaration to avoid blowups on subtype cases.
1054
1055 2009-07-23  Robert Dewar  <dewar@adacore.com>
1056
1057         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
1058         comma.
1059
1060         * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
1061
1062         * s-regexp.adb: Minor reformatting
1063         * scos.ads: Minor reformatting.
1064
1065 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
1066
1067         * freeze.adb (Set_Small_Size): Remove extra space for consistency with
1068         other similar messages.
1069         * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
1070         messages/implicit packing in CodePeer mode.
1071         (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
1072         * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
1073         CodePeer mode.
1074
1075 2009-07-23  Pascal Obry  <obry@adacore.com>
1076
1077         * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
1078         systems.
1079
1080 2009-07-23  Robert Dewar  <dewar@adacore.com>
1081
1082         * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
1083         Minor reformatting.
1084
1085 2009-07-23  Yannick Moy  <moy@adacore.com>
1086
1087         * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
1088         pattern.
1089         (Raise_Exception_If_No_More_Chars): Remove extra blank in exception
1090         string.
1091         (Raise_Exception): Ditto.
1092
1093 2009-07-23  Olivier Hainque  <hainque@adacore.com>
1094
1095         * g-sse.ads: Simplify comment.
1096
1097 2009-07-23  Olivier Hainque  <hainque@adacore.com>
1098
1099         * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
1100         low level internal type definitions for distinct higher level
1101         binding development activities (user type definitions and
1102         operations).
1103         * gnat_rm.texi: Document it.
1104         * g-ssvety.ads: Use it.
1105         * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
1106         g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
1107         * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
1108         for the "may_alias" attribute.
1109
1110 2009-07-23  Thomas Quinot  <quinot@adacore.com>
1111
1112         * scos.ads: Minor typo fix
1113
1114         * gcc-interface/decl.c (validate_alignment): For the case of an
1115         implicit array base type, look for alignment clause on first subtype.
1116
1117 2009-07-23  Robert Dewar  <dewar@adacore.com>
1118
1119         * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
1120         with tagged parent if tagged parent is fully repped.
1121
1122 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1123
1124         * sem.adb (Walk_Library_Units): Handle properly the case where a unit
1125         in the context depends on the spec of the main unit, by delaying
1126         processing of the main unit body until all other units have been
1127         processed.
1128
1129 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
1130
1131         * a-convec.adb: Add comments about suspicious/subtle code.
1132
1133 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1134
1135         * einfo.ads: Document use of Alias in private overriding
1136
1137 2009-07-23  Thomas Quinot  <quinot@adacore.com>
1138
1139         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
1140         an array type, propagate alignment from first subtype to implicit base
1141         type so that other subtypes (such as the itypes for aggregates of the
1142         type) also receive the expected alignment.
1143
1144         * g-comlin.ads: Minor documentation clarification/rewording. 
1145         * scos.ads: Minor comments update.
1146         * lib-writ.ads: Minor reformatting
1147
1148 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
1149
1150         * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
1151         of a class-wide interface type that is a return object of a
1152         build-in-place function, bypass the interface-related expansions into
1153         renamings with displacement conversions, etc.
1154         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
1155         for the case where a renaming occurs in a build-in-place context, to
1156         assert that the bypassing of the build-in-place treatment only occurs
1157         in the case of a renaming that is an expansion of a return expression
1158         that is itself a build-in-place function call.
1159
1160 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1161
1162         * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
1163         valid candidate interpretation in a prefixed view if it is hidden, but
1164         overrides an inherited operation declared in the visible part.
1165
1166 2009-07-23  Robert Dewar  <dewar@adacore.com>
1167
1168         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
1169         division operands to 64-bit at all in any circumstances.
1170
1171 2009-07-23  Robert Dewar  <dewar@adacore.com>
1172
1173         * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
1174         checking ranges for mod/rem to see if conditional jump will be
1175         generated.
1176         (Analyze_N_Op_Rem): Don't try to check actual lower bounds for
1177         generating special -1 test for rem, generate it whenever both
1178         operands can be negative (match circuit in Sem_Res).
1179         (Analyze_N_Op_Rem): Don't go to base type, no longer needed and
1180         destroys memory of positive range.
1181         * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
1182         checking ranges for mod/rem to see if conditional jump will be generated
1183
1184 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1185
1186         * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
1187         scalar components has non-static bounds, the equivalent aggregate
1188         cannot be built, even if the expression is static, because range checks
1189         will be generated.
1190
1191 2009-07-23  Robert Dewar  <dewar@adacore.com>
1192
1193         * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
1194         division operands to 64-bit inside a conversion if 64-bit division not
1195         available.
1196
1197 2009-07-23  Sergey Rybin  <rybin@adacore.com>
1198
1199         * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
1200
1201 2009-07-23  Javier Miranda  <miranda@adacore.com>
1202
1203         * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
1204         (Entity/Set_Entity): not available in N_Null_Statement nodes
1205         (Is_Scil_Node): renamed as Is_SCIL_Node
1206         (Scil_Nkind): renamed as SCIL_Nkind
1207         (Scil_Related_Node): renamed as SCIL_Related_Node
1208         (Scil_Target_Prim): renamed as SCIL_Target_Prim
1209         (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
1210         (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
1211         (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
1212         Update documentation
1213         * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
1214         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
1215         (New_Scil_Node): Renamed as New_SCIL_Node
1216         * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
1217         (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
1218         (New_Scil_Node): Renamed as New_SCIL_Node
1219         * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
1220
1221 2009-07-23  Robert Dewar  <dewar@adacore.com>
1222
1223         * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
1224         * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
1225         * einfo.adb: Minor reformatting
1226
1227 2009-07-23  Robert Dewar  <dewar@adacore.com>
1228
1229         * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
1230         cross-referencing the new related code in
1231         Exp_Ch4.Expand_N_Type_Conversion.
1232         * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
1233
1234         * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
1235         Add comment.
1236
1237 2009-07-23  Javier Miranda  <miranda@adacore.com>
1238
1239         * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
1240         Scil_Target_Prim, N_Has_Entity): Add missing documentation.
1241         * exp_disp.ads (Scil_Node_Kind): Ditto.
1242         * exp_disp.adb (Make_DT, Make_Tags): Ditto.
1243         * exp_ch3.adb (Build_Init_Procedure): Ditto.
1244
1245 2009-07-23  Javier Miranda  <miranda@adacore.com>
1246
1247         * einfo.adb (Component_Type): Add missing assertion.
1248         * sem_res.adb (Resolve_Call): Ensure proper kind of entity before
1249         reading attribute Component_Size.
1250         * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
1251         before reading attributes Component_Size and Component_Type.
1252         * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
1253         before reading attribute Component_Type.
1254
1255 2009-07-23  Olivier Hainque  <hainque@adacore.com>
1256
1257         * gnat_rm.texi: Document the GNAT.SSE units.
1258
1259 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1260
1261         * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
1262         not null return if it appears on a subunit.
1263
1264 2009-07-23  Robert Dewar  <dewar@adacore.com>
1265
1266         * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
1267         check right away so it does not get skipped for early returns, e.g.
1268         array assignments.
1269         (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
1270         left-side unless we really know the value is valid.
1271
1272         * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
1273         reformatting. Minor code reorganization. Add comments.
1274
1275 2009-07-23  Robert Dewar  <dewar@adacore.com>
1276
1277         * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
1278         complex condition.
1279
1280 2009-07-23  Gary Dismukes  <dismukes@adacore.com>
1281
1282         * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
1283         with test of coverage, to allow specific type objects in extended
1284         returns of class-wide functions. Remove now-unnecessary special-case
1285         tests that allowed this in certain cases of expanded extended returns.
1286
1287 2009-07-23  Javier Miranda  <miranda@adacore.com>
1288
1289         * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
1290         N_Null_Statements (for SCIL nodes).
1291         (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
1292         (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
1293         (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
1294         nodes).
1295         (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
1296         * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
1297         associated with dispatching call.
1298         (Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
1299         (Make_DT, Make_Tags): Add generation of SCIL nodes associated with
1300         initialization of dispatch tables and initialization of tags.
1301         (New_Scil_Node): New function that creates a new SCIL node.
1302         (Build_Init_Procedure): Add generation of SCIL node associated with the
1303         initialization of tags done in the IP subprogram.
1304
1305 2009-07-23  Ed Schonberg  <schonberg@adacore.com>
1306
1307         * errout.adb (Error_Msg_NEL): If the entity in the initial message has
1308         Warnings_Off, do not emit continuation messages.
1309
1310         * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
1311         spec.
1312
1313 2009-07-23  Emmanuel Briot  <briot@adacore.com>
1314
1315         * ali.adb: Minor comment update
1316
1317 2009-07-23  Vasiliy Fofanov  <fofanov@adacore.com>
1318
1319         * s-win32.ads (HANDLE): Define to be the same size as address type.
1320         Fix copyright.
1321
1322 2009-07-23  Olivier Hainque  <hainque@adacore.com>
1323
1324         * g-sse.ads: New file. Root of the SSE facilities trees, with
1325         general description and common declarations.
1326         * g-ssvety.ads: New file. Expose user level SSE vector types.
1327         * impunit.adb (Non_Imp_File_Names_95): Register new units.
1328         * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
1329         EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
1330
1331 2009-07-23  Ben Brosgol  <brosgol@adacore.com>
1332
1333         * gnat_ugn.texi: Wordsmithing.
1334
1335 2009-07-23  Arnaud Charlet  <charlet@adacore.com>
1336
1337         * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
1338
1339 2009-07-22  Eric Botcazou  <ebotcazou@adacore.com>
1340
1341         * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
1342         they are already of the base type of the index.
1343
1344 2009-07-22  Brett Porter  <porter@adacore.com>
1345
1346         * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
1347
1348 2009-07-22  Robert Dewar  <dewar@adacore.com>
1349
1350         * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS)
1351         * gnat_ugn.texi: Add documentation for -gnateS switch
1352         * ug_words: Add entry for -gnateS /SCO_OUTPUT
1353         * gcc-interface/Make-lang.in: Update dependencies.
1354
1355         * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb,
1356         par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial
1357         complete information for SCO input/output.
1358
1359 2009-07-22  Sergey Rybin  <rybin@adacore.com>
1360
1361         * gnat_ugn.texi: Update doc for some gnatcheck rules.
1362
1363 2009-07-22  Robert Dewar  <dewar@adacore.com>
1364
1365         * par_sco.adb, par_sco.ads (pscos): New debug routine to output
1366         contents of SCO tables.
1367         * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads,
1368         scos.adb, scos.ads: New files.
1369         * gcc-interface/Make-lang.in: Update dependencies.
1370
1371         * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
1372         fixes and reformatting.
1373
1374 2009-07-22  Robert Dewar  <dewar@adacore.com>
1375
1376         * g-socket.ads: Minor reformatting
1377
1378 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
1379
1380         * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
1381         include the entity kind for following cases of unreferenced entities:
1382         E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
1383
1384 2009-07-22  Ed Falis  <falis@adacore.com>
1385
1386         * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
1387         with taskSuspend.
1388
1389 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
1390
1391         * adadecode.c: Make this file compilable outside of GCC.
1392
1393 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1394
1395         * g-socket.adb, g-socket.ads (Check_Selector): Make sure that
1396         (partially) default-initialized socket sets are handled properly by
1397         clearing their Set component.
1398
1399 2009-07-22  Bob Duff  <duff@adacore.com>
1400
1401         * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
1402
1403 2009-07-22  Robert Dewar  <dewar@adacore.com>
1404
1405         * gnat_ugn.texi: Minor reformatting
1406
1407 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1408
1409         * errout.adb (Error_Msg): A style message within an instantiation
1410         should not be labelled as an error.
1411
1412 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1413
1414         * freeze.adb (Freeze_Entity): Do not generate extra formal for function
1415         in initialization expression if function does not have convention Ada.
1416
1417 2009-07-22  Sergey Rybin  <rybin@adacore.com>
1418
1419         * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
1420         '--separate-label' to control label layout.
1421
1422 2009-07-22  Robert Dewar  <dewar@adacore.com>
1423
1424         * exp_tss.ads, sem_eval.adb: Minor reformatting
1425
1426 2009-07-22  Bob Duff  <duff@adacore.com>
1427
1428         * exp_dist.adb, exp_dist.ads: Update comments.
1429
1430 2009-07-22  Brett Porter  <porter@adacore.com>
1431
1432         * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
1433         FPSCR.
1434         * sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
1435
1436 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
1437
1438         * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
1439         exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
1440         Minor reformatting.
1441         * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
1442         used poor terminology.
1443
1444 2009-07-22  Robert Dewar  <dewar@adacore.com>
1445
1446         * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
1447         * sem_eval.adb, exp_tss.adb: Minor comment update.
1448         * stylesw.adb: Code clean up.
1449
1450 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1451
1452         * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
1453         component size is an exact number of bytes, an array type can have a
1454         size clause that forces packing even though the array type itself is
1455         not bit-packed.
1456
1457 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1458
1459         * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
1460         if there is a previous entity with the same name in the scope, ignore
1461         it if it is the renaming declaration for a generic package introduced
1462         in instances.
1463
1464 2009-07-22  Nicolas Roche  <roche@adacore.com>
1465
1466         * seh_init.c: use RtlAddFunctionTable to register our SEH exception
1467         handler on x86_64 windows.
1468
1469 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
1470
1471         * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
1472         false positives in CodePeer, so ignore this pragma in this mode.
1473
1474 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1475
1476         * sem_util.adb, sem_ch10.adb: Minor reformatting
1477
1478         * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
1479         special handling for the case of no data received and Item'First =
1480         Stream_Element_Offset'First.
1481         (Last_Index): New subprogram factoring the above special handling
1482         over the various locations where it is required.
1483
1484 2009-07-22  Arnaud Charlet  <charlet@adacore.com>
1485
1486         * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
1487         checks in CodePeer_Mode.
1488         * gcc-interface/Make-lang.in: Update dependencies.
1489
1490 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1491
1492         * sem_aggr.adb: Improve error message.
1493
1494         * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
1495         of an address representation clause.
1496         * freeze.adb (Freeze_Static_Object): An local imported object is legal
1497         if it has an address clause.
1498
1499 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1500
1501         * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
1502         expression to insert an elab check using a conditional expression, be
1503         sure to carry the original list of interpretations to the new location.
1504
1505 2009-07-22  Gary Dismukes  <dismukes@adacore.com>
1506
1507         * gnat1drv.adb: Fix spelling error.
1508
1509 2009-07-22  Javier Miranda  <miranda@adacore.com>
1510
1511         * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram
1512         at the library level and fix a hidden bug in its implementation: its
1513         functionality for renaming objects was broken because
1514         N_Object_Renaming_Declarations nodes are not a subclass of
1515         N_Declaration nodes (as documented in sinfo.ads).
1516         * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
1517         check nodes that are actuals of generic instantiations.
1518
1519 2009-07-22  Ed Schonberg  <schonberg@adacore.com>
1520
1521         * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the
1522         context of a compilation unit is being analyzed. Used to detect
1523         circularities created by with_clauses that are not detected by the
1524         loading machinery.
1525         * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
1526         analyzing the context of the current compilation unit, to detect
1527         possible circularities created by with_clauses.
1528
1529 2009-07-22  Thomas Quinot  <quinot@adacore.com>
1530
1531         * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
1532
1533 2009-07-22  Robert Dewar  <dewar@adacore.com>
1534
1535         * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
1536         * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
1537         procedure.
1538         * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch
1539         * gnat_ugn.texi: Add documentation of -gnatyB
1540         * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
1541
1542 2009-07-22  Robert Dewar  <dewar@adacore.com>
1543
1544         * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
1545         make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
1546         s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
1547         s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
1548         errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
1549         a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
1550         s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
1551         a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
1552         erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
1553         obey short-circuit style rule.
1554
1555 2009-07-20  Bob Duff  <duff@adacore.com>
1556
1557         * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
1558         instead of "and", because otherwise Parent_Last_Bit is read
1559         uninitialized in the case where it's not a tagged type, or the tagged
1560         parent does not have a complete rep clause.
1561
1562 2009-07-20  Robert Dewar  <dewar@adacore.com>
1563
1564         * stylesw.ads: Minor documentation change.
1565
1566         * types.ads: Minor reformatting
1567
1568 2009-07-20  Javier Miranda  <miranda@adacore.com>
1569
1570         * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of
1571         generating the tag checks associated with dispatching calls.
1572         * exp_disp.adb (Apply_Access_Checks): New subprogram.
1573         (New_Value): This routine was previously local to expand dispatching
1574         calls but it is now used also by Apply_Access_Checks.
1575         (Expand_Dispatching_Calls): Cleanup code because the functionality of
1576         tag checks is now provided by Apply_Access_Checks. 
1577         * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
1578         case of dispatching calls.
1579
1580 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
1581
1582         * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
1583         CodePeer_Mode.
1584
1585 2009-07-20  Gary Dismukes  <dismukes@adacore.com>
1586
1587         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
1588         for VMS, only rewrite the first component of the associated exception's
1589         aggregate init (as 'V'), and eliminate the bogus rewrites of the second
1590         and third components  that were being replaced with 'M' and 'S'.
1591
1592 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
1593
1594         * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
1595         Also do not generate error when parsing a spec in CodePeer mode.
1596
1597 2009-07-20  Javier Miranda  <miranda@adacore.com>
1598
1599         * checks.adb (Apply_Access_Check): Avoid checks on availability of
1600         runtime function Offset_To_Top_Ptr when compiling with no tagged
1601         types expansion.
1602         * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
1603         adding code to the init proc when compiling for VM backends.
1604
1605 2009-07-20  Vincent Celier  <celier@adacore.com>
1606
1607         * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
1608         account switches -gnatw.?
1609
1610 2009-07-20  Thomas Quinot  <quinot@adacore.com>
1611
1612         * sem_dist.adb, exp_dist.adb: Minor reformatting
1613
1614         * Make-generated.in: New file.
1615
1616         * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
1617
1618 2009-07-20  Javier Miranda  <miranda@adacore.com>
1619
1620         * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
1621         subprogram.
1622         * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
1623         dynamically tagged expression.
1624         * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
1625         factorizes code.
1626         * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
1627         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
1628
1629 2009-07-20  Arnaud Charlet  <charlet@adacore.com>
1630
1631         * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
1632         CodePeer_Mode is set, to benefit from full front-end expansion
1633         (e.g. generics).
1634
1635 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
1636
1637         * sem_res.adb: Add guard.
1638
1639         * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
1640         for possible attribute definition of External_Tag, in case clause
1641         appears in the private part of a package.
1642
1643 2009-07-20  Jerome Guitton  <guitton@adacore.com>
1644
1645         * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
1646
1647 2009-07-20  Vadim Godunko  <godunko@adacore.com>
1648
1649         * a-coorma.adb: Minor reformatting.
1650
1651 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
1652
1653         * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
1654         access return types.
1655         * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
1656         provide an itype reference to gigi to force elaboration of the subtype
1657         at the proper point.
1658
1659 2009-07-20  Tristan Gingold  <gingold@adacore.com>
1660
1661         * g-expect.adb: Avoid closeing already closed handle.
1662
1663 2009-07-20  Robert Dewar  <dewar@adacore.com>
1664
1665         * sprint.adb (Write_Subprogram_Name): New procedure to output
1666         subprogram name with possible preceding $ (replaces
1667         Note_Implicit_Run_Time_Call).
1668
1669 2009-07-20  Robert Dewar  <dewar@adacore.com>
1670
1671         * vms_data.ads: Minor reformatting
1672
1673         * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
1674         applies to base type.
1675         (Parent_Subtype): Now allowed on record subtype, applies to base type
1676         * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
1677         for case of fully repped tagged type.
1678         (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
1679         tag save/restore for fully repped tagged type case.
1680         * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
1681         * fe.h (Is_Fully_Repped_Tagged_Type): New function
1682         * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
1683         overlap of tagged type components with parent type if parent type is
1684         fully repped.
1685         * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
1686
1687         * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
1688         comparisons.
1689         (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
1690         (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
1691
1692         * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
1693         logical operators (AND/OR/XOR), not comparison operators.
1694
1695         * sprint.ads: Minor reformatting
1696
1697 2009-07-20  Ed Schonberg  <schonberg@adacore.com>
1698
1699         * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
1700         intrinsics, check that argument is a string literal, rather than
1701         checking for staticness.
1702
1703 2009-07-20  Robert Dewar  <dewar@adacore.com>
1704
1705         * sem_ch13.adb: Minor reformatting
1706
1707         * einfo.ads: Minor reformatting
1708         Component_Bit_Offset is no longer considered obsolescent
1709
1710 2009-07-20  Nicolas Roche  <roche@adacore.com>
1711
1712         * a-calend.adb: Redefine time_t as signed integer with same size as
1713         Address type.
1714         * s-os_lib.ads: Redefine OS_Time as signed integer with same size as
1715         Address type
1716         * adaint.h: On Windows 64bits declare OS_Time as long long instead of
1717         long
1718
1719 2009-07-20  Javier Miranda  <miranda@adacore.com>
1720
1721         * exp_tss.adb (Init_Proc): Add missing support for non-default C++
1722         constructors that have anonymous access type formals.
1723
1724         * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
1725         class-wide arguments in case of imported C++ subprograms.
1726
1727         * exp_ch3.adb (Build_Initialization_Call): Add assertion.
1728
1729 2009-07-20  Sergey Rybin  <rybin@adacore.com>
1730
1731         * vms_data.ads: Update qualifiers.
1732
1733 2009-07-20  Robert Dewar  <dewar@adacore.com>
1734
1735         * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
1736         reformatting
1737
1738 2009-07-17  Richard Guenther  <rguenther@suse.de>
1739
1740         PR c/40401
1741         * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
1742         state.  Remove unused parameter.
1743         (gnat_gimplify_function): Do not gimplify here.
1744         Fold into its only caller and remove.
1745         (gnat_builtin_function): Adjust for end_subprog_body signature change.
1746         (gnat_write_global_declarations): Also finalize the CU.
1747         * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
1748         * gcc-interface/trans.c (gigi): Revert to pre-tuples state.
1749         (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
1750         change.
1751         * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
1752
1753 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
1754
1755         * gcc-interface/Make-lang.in: Update dependencies
1756
1757         * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
1758
1759 2009-07-15  Robert Dewar  <dewar@adacore.com>
1760
1761         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
1762         N_Label. Remove SCO table entry for entry point (not used).
1763
1764         * par_sco.ads: Remove SCO entry point type (not used)
1765
1766         * switch.adb: Minor code clean up.
1767
1768 2009-07-15  Eric Botcazou  <ebotcazou@adacore.com>
1769
1770         * exp_dbug.ads (Base Record Types): Document enhanced encoding.
1771
1772 2009-07-15  Thomas Quinot  <quinot@adacore.com>
1773
1774         * gnatls.adb: Minor reformatting
1775
1776         * gnatcmd.adb: Minor code reorganization
1777
1778 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
1779
1780         * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
1781         determine whether a component of a private type has a composite type.
1782
1783 2009-07-15  Robert Dewar  <dewar@adacore.com>
1784
1785         * sem_ch10.adb: Minor reformatting throughout
1786         Minor code reorganization (put nested subprograms in alpha order)
1787
1788 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
1789
1790         * exp_ch6.adb (Expand_Call): Prevent double attachment of the result
1791         when compiling a call to a protected function that returns a controlled
1792         object.
1793
1794 2009-07-15  Hristian Kirtchev  <kirtchev@adacore.com>
1795
1796         * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
1797         one. Add task locking and unlocking around the critical region which
1798         mentions localtime_r and global variable timezone for various targets.
1799         Comment reformatting.
1800
1801 2009-07-15  Robert Dewar  <dewar@adacore.com>
1802
1803         * gnat_rm.texi: Document s-ststop.ads
1804
1805         * impunit.ad: (Map_Array): New table of alternative names
1806         (Get_Kind_Of_Unit): Return possible suggested alternative name
1807
1808         * impunit.ads (Get_Kind_Of_Unit): Return possible suggested
1809         alternative name.
1810
1811         * sem_ch10.adb (Analalyze_With_Clause): Add name of possible
1812         alternative unit if an implementation unit is with'ed.
1813
1814 2009-07-15  Robert Dewar  <dewar@adacore.com>
1815
1816         * gnat_ugn.texi: Minor updates.
1817
1818         * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
1819
1820 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
1821
1822         * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
1823         conditions of a derived boolean type.
1824         Minor reformatting
1825
1826 2009-07-15  Robert Dewar  <dewar@adacore.com>
1827
1828         * gnat1drv.adb: Initialize SCO tables
1829
1830         * par-load.adb: Call SCO_Record for main unit spec
1831
1832         * par.adb: Make call to SCO_Record for main unit
1833
1834         * par_sco.adb (Unit_Table): Change format to facilitate sort
1835         (Process_Decisions): New procedure with list argument
1836         (Traverse_Generic_Package_Declaration): New procedure
1837         (Initialize): New procedure, replaces Init
1838         (SCO_Output): Sort unit table before output
1839         (SCO_Record): Avoid duplications
1840         (SCO_Record): Handle remaining cases of units
1841         (Traverse_Declarations_Or_Statements): Handle generics
1842
1843         * par_sco.ads (Initialize): New peocedure (replaces Init)
1844
1845         * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
1846         subunit.
1847
1848 2009-07-15  Arnaud Charlet  <charlet@adacore.com>
1849
1850         * debug.adb: Add -gnatd.J switch for now to support scil generation in
1851         parallel. Add missing doc for -gnatd.I and -gnatd.O
1852
1853 2009-07-15  Robert Dewar  <dewar@adacore.com>
1854
1855         * lib-load.adb: Minor reformatting
1856
1857         * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
1858
1859 2009-07-15  Robert Dewar  <dewar@adacore.com>
1860
1861         * par.adb: Minor reformatting
1862         Add ??? comment for possible bad comment
1863
1864         * par-ch10.adb: Minor reformatting
1865
1866 2009-07-15  Ed Schonberg  <schonberg@adacore.com>
1867
1868         * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
1869         is a literal of a derived boolean type, it appears as an unchecked
1870         conversion. Retrieve actual value from expression of conversion.
1871
1872 2009-07-15  Robert Dewar  <dewar@adacore.com>
1873
1874         * sem_ch3.adb: Minor reformatting
1875
1876         * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
1877         lib-writ.ads, lib-writ.adb: Minor reformatting.
1878         Fix problem with SCO format in ALI files
1879
1880 2009-07-15  Robert Dewar  <dewar@adacore.com>
1881
1882         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
1883         exp_aggr.adb: Minor code reorganization (better calling sequence for
1884         Make_Temporary).
1885
1886 2009-07-15  Thomas Quinot  <quinot@adacore.com>
1887
1888         * opt.ads: Minor comment edits
1889
1890 2009-07-15  Tristan Gingold  <gingold@adacore.com>
1891
1892         * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
1893         needed.
1894
1895 2009-07-15  Robert Dewar  <dewar@adacore.com>
1896
1897         * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
1898         information.
1899
1900         * lib-writ.ads: Document addition of SCO lines to ALI file
1901
1902         * par_sco.ads, par_sco.adb: New files.
1903
1904         * opt.ads (Generate_SCO): New switch
1905
1906         * par.adb (Par): Call SCO_Record to record SCO information
1907
1908         * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
1909
1910         * switch-c.adb: Recognize -gnateS to generate SCO information
1911
1912         * usage.adb: Add line for -gnateS
1913
1914         * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
1915
1916 2009-07-15  Robert Dewar  <dewar@adacore.com>
1917
1918         * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
1919         reformatting.
1920
1921 2009-07-15  Thomas Quinot  <quinot@adacore.com>
1922
1923         * g-socthi-mingw.adb: Minor comment addition
1924
1925         * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
1926
1927 2009-07-15  Robert Dewar  <dewar@adacore.com>
1928
1929         * g-htable.ads, s-htable.ads: Minor reformatting
1930
1931 2009-07-15  Robert Dewar  <dewar@adacore.com>
1932
1933         * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
1934         new switch -gnatw.g.
1935         (Set_GNAT_Mode_Warnings): New procedure.
1936
1937         * lib-xref.adb: Minor reformatting
1938
1939 2009-07-15  Robert Dewar  <dewar@adacore.com>
1940
1941         * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
1942         Minor code reorganization
1943
1944 2009-07-14  Taras Glek  <tglek@mozilla.com>
1945             Rafael Espindola  <espindola@google.com>
1946
1947         * gcc-interface/Make-lang.in (ada.install-plugin): New target for
1948         installing plugin headers.
1949
1950 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
1951
1952         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
1953         exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
1954         and link it to the expression whose value it captures.
1955
1956 2009-07-13  Robert Dewar  <dewar@adacore.com>
1957
1958         * output.adb: Minor comment addition for last change
1959
1960         * sinfo.ads: Minor reformatting
1961
1962 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
1963
1964         * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
1965         spawn failed like on all other targets.
1966
1967 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
1968
1969         * exp_ch7.adb: Indicate origin of temporary for transient expression.
1970
1971 2009-07-13  Thomas Quinot  <quinot@adacore.com>
1972
1973         * s-oscons-tmplt.c: Add comment.
1974
1975 2009-07-13  Robert Dewar  <dewar@adacore.com>
1976
1977         * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
1978         reformatting. Minor code reorganization (add 9 argument version of
1979         Nkind_In).
1980
1981         * impunit.adb: Remove s-os_lib from list of system extensions.
1982
1983         * sem_util.ads: Minor reformatting
1984
1985         * output.adb: Add warnings off/on around System.OS_Lib.
1986
1987 2009-07-13  Bob Duff  <duff@adacore.com>
1988
1989         * exp_dist.adb: Minor comment updates.
1990
1991 2009-07-13  Gary Dismukes  <dismukes@adacore.com>
1992
1993         * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
1994         several references to CodePeer.
1995
1996 2009-07-13  Bob Duff  <duff@adacore.com>
1997
1998         * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
1999         Build_TypeCode_Function_All): Do not recurse if the type is the base
2000         type.
2001
2002 2009-07-13  Robert Dewar  <dewar@adacore.com>
2003
2004         * exp_ch4.adb: Minor comment change
2005
2006 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2007
2008         * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
2009         type of iteration, to prevent spurious warnings.
2010
2011 2009-07-13  Nicolas Roche  <roche@adacore.com>
2012
2013         * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
2014         included.
2015
2016 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
2017
2018         * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
2019         gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
2020         Generate_SCIL.
2021         (CodePeer_Mode): New -gnatC switch.
2022         (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
2023         CodePeer_Mode.
2024
2025 2009-07-13  Eric Botcazou  <ebotcazou@adacore.com>
2026
2027         * checks.adb (Selected_Range_Checks): Do not consider that a non-static
2028         integer bound forces the check if it is compared to its subtype range.
2029
2030 2009-07-13  Robert Dewar  <dewar@adacore.com>
2031
2032         * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
2033         prj-strt.ads: Minor reformatting
2034
2035 2009-07-13  Thomas Quinot  <quinot@adacore.com>
2036
2037         * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
2038         set the type of the From_Any call to the base type.
2039
2040 2009-07-13  Doug Rupp  <rupp@adacore.com>
2041
2042         * symbols-processing-vms-ia64.adb (Process): Add variables and
2043         constants to retrieve and check for symbol visibility.
2044
2045 2009-07-13  Javier Miranda  <miranda@adacore.com>
2046
2047         * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
2048         the identical type we remove the conversion completely because
2049         it is useless.
2050
2051 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2052
2053         * prj-err.adb (Error_Msg): One more case where a message should be
2054         considered as a warning.
2055
2056         * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
2057
2058 2009-07-13  Thomas Quinot  <quinot@adacore.com>
2059
2060         * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
2061         calling stubs in the (library level) scope of the RCI locator, where it
2062         is attached, not in the caller's scope.
2063
2064 2009-07-13  Javier Miranda  <miranda@adacore.com>
2065
2066         * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
2067         interface object declarations we delay the generation of the equivalent
2068         record type declarations until its expansion because there are cases in
2069         which they are not required.            
2070
2071         * sem_util.adb (Implements_Interface): Add missing support for subtypes.
2072
2073         * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
2074         addition of assertion.
2075
2076         * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
2077         interface types require no equivalent constrained type declarations
2078         because the expanded code only references the tag component associated
2079         with the interface.
2080         (Find_Interface_Tag): Improve management of interfaces that are
2081         ancestors of tagged types.
2082
2083         * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
2084         class-wide object declarations to add missing support to statically
2085         displace the pointer to the object to reference the tag component
2086         associated with the interface.
2087
2088         * exp_disp.adb (Make_Tags) Avoid generation of internally generated
2089         auxiliary types associated with user-defined dispatching calls if the
2090         type has no user-defined primitives.
2091
2092 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
2093
2094         * mingw32.h: Make it explicit that we need XP or later.
2095
2096         * initialize.c: Remove useless extern symbol declaration.
2097
2098         * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
2099         code reuse in expect.c.
2100
2101         * adaint.c: Changes throughout the Windows section to redesign storage
2102         of the child process list and the process identification.
2103
2104         * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
2105         for interfacing, fix errors.
2106         (__gnat_expect_portable_execvp): use function in adaint.c
2107
2108 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2109
2110         * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
2111         prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
2112         prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
2113         errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
2114         (Prj.Nmsc.Report_Error): Removed, no longer needed.
2115         Always use Prj.Err.Report_Message.
2116
2117 2009-07-13  Robert Dewar  <dewar@adacore.com>
2118
2119         * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
2120         & comment edits.
2121
2122 2009-07-13  Robert Dewar  <dewar@adacore.com>
2123
2124         * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
2125         prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
2126
2127 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2128
2129         * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
2130         mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
2131         Ada_Prj_Include_File_Set): Removed, since not needed
2132         Code clean up.
2133
2134 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2135
2136         * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
2137         Analyze_Membership_Op.
2138
2139         * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
2140         Resolve_Membership_Op.
2141
2142         * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
2143         Expand_N_In.
2144
2145 2009-07-13  Robert Dewar  <dewar@adacore.com>
2146
2147         * clean.adb: Minor reformattting
2148
2149 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2150
2151         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
2152         gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
2153         prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
2154         prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
2155         and attributes in a project tree.
2156         (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
2157         Remove last remaining mode-specific code (ada_only or
2158         multi_language). This was duplicating code
2159         (Get_Mode, Set_Mode): removed, no longer used.
2160         (Initialize_Project_Path): all tools will now take into account both
2161         GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
2162         Remove some global variables and subprograms no longer used
2163         Make temporary files tree-specific, to avoid interferences between
2164         trees loaded in memory at the same time.
2165         (Prj.Delete_Temporary_File): new subprogram
2166         (Object_Paths, Source_Paths): fields no longer stored in the project
2167         tree, since they are only needed locally in Set_Ada_Paths.
2168         (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
2169         effect in practice.
2170         (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
2171         by local variables in the appropriate subprograms
2172         (Has_Foreign_Sources): removed.
2173
2174         * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
2175
2176 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
2177
2178         * gnat1drv.adb (Adjust_Global_Switches): No longer set
2179         Back_Annotate_Rep_Info in inspector mode.
2180         (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
2181
2182         * opt.ads: Update comment.
2183
2184 2009-07-13  Robert Dewar  <dewar@adacore.com>
2185
2186         * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
2187         prj.ads: Minor reformatting and code reorganization.
2188
2189         * par-ch3.adb (Check_Restricted_Expression): New procedure
2190
2191 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2192
2193         * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
2194         attribute into a call of the corresponding suprogram, create extra
2195         formals for the subprogram, because it may be a renaming whose
2196         analysis does not create extra formals.
2197
2198 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2199
2200         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
2201         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
2202         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
2203         prj-tree.ads: Minor reformatting.
2204         (Processing_Flags): new record to encapsulate the set of common
2205         parameters to several subprograms in the project manager.
2206         (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
2207         Remove the need for the Current_Dir parameter in subprograms.
2208         (Look_For_Sources): minor refactoring, now that we no longer need to
2209         share subprograms between the two Ada_Only and Multi_Language modes
2210         (Processing_Flags): New field Error_On_Unknown_Language.
2211         Merge tests for library project between gnatmake and gprbuild.
2212
2213 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
2214
2215         * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
2216         Minor reformatting.
2217
2218 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2219
2220         * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
2221         than units.
2222
2223 2009-07-13  Thomas Quinot  <quinot@adacore.com>
2224
2225         * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
2226         Write,Input,Output} from private view to full view.
2227
2228         * sem_type.adb, sem_type.ads: Minor reformatting
2229
2230 2009-07-13  Nicolas Setton  <setton@adacore.com>
2231
2232         * exp_dbug.ads: Add documentation note on the utility of
2233         DW_AT_GNAT_encoding for IDEs.
2234
2235 2009-07-13  Robert Dewar  <dewar@adacore.com>
2236
2237         * g-socthi-vxworks.adb: Minor reformatting
2238
2239         * gnatcmd.adb: Minor reformatting
2240
2241 2009-07-13  Thomas Quinot  <quinot@adacore.com>
2242
2243         * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
2244         removed, not used anymore.
2245         (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
2246         New subprogram, implements copy of an Any value into a limited object.
2247         (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
2248         Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
2249         Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
2250         of parameters of a limited type, use the above new subprogram.
2251
2252 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2253
2254         * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
2255         Location.
2256         (Copy_ALI_Files): Avoid calls to read when pointing outside of the
2257         allocated space.
2258         (Error_Report): Remove global variable, replaced by parameters.
2259
2260 2009-07-13  Thomas Quinot  <quinot@adacore.com>
2261
2262         * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
2263         standard sendto(2) interface for connected sockets (passing a null
2264         destination address). Use send(2) instead for that case.
2265
2266 2009-07-13  Pascal Obry  <obry@adacore.com>
2267
2268         * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
2269
2270 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2271
2272         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
2273         prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
2274         variables and tables in prj-nmsc.adb.
2275         (Tree_Processing_Data): Renames Processing_Data, some new fields added
2276         (Project_Processing_Data): New record
2277         Simplify/unify check for missing sources.
2278
2279 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2280
2281         * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
2282         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
2283         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
2284         prj-tree.ads (Immediate_Directory_Of): Removed.
2285         (Prj.Pars): Now parse the project simulating a default config file.
2286         (Add_Default_GNAT_Naming_Scheme): New subprogram
2287         (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
2288         Remove gnatmake-specific parsing of source files.
2289         (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
2290         the error itself to provide more precise diagnostics.
2291         (Process_Exceptions_Unit_Based): Avoid duplicate error message when
2292         a unit belongs to several projects.
2293         (Copy_Interface_Sources): Search the full path of files to copy in the
2294         list of sources of the application rather than in the list of units.
2295         (Parse_Project_And_Apply_Config): Do not reset the name of the main
2296         project file.
2297         (Check_File): Use htables to find out whether a source is duplicated.
2298         (Add_Source): check whether the source or unit were already seen earlier
2299
2300         * gcc-interface/Makefile.in: Update gnatmake dependencies.
2301
2302 2009-07-13  Robert Dewar  <dewar@adacore.com>
2303
2304         * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
2305         expression if extensions permitted.
2306
2307         * par-ch4.adb (P_Membership_Test): New procedure (implement membership
2308         set tests).
2309         (P_Relation): Use P_Membership_Test
2310
2311         * par.adb (P_Membership_Test): New procedure (implement membership set
2312         tests).
2313
2314         * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
2315
2316         * sprint.adb (Sprint_Node): Handle set form for membership tests.
2317
2318 2009-07-13  Thomas Quinot  <quinot@adacore.com>
2319
2320         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
2321         Do not attempt to generate stubs for predefined primitives of
2322         synchronized interfaces.
2323         (Add_Stub_Type): Factor some code from the PCS-specific variants of
2324         Build_Stub_Type.
2325
2326 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2327
2328         * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
2329         Controlling_Result flag from the operation they override.
2330
2331 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
2332
2333         * gcc-interface/Make-lang.in: Update dependencies
2334
2335 2009-07-13  Robert Dewar  <dewar@adacore.com>
2336
2337         * gnat_ugn.texi: The gnatf switch no longer is needed to get full
2338         details on unsupported constructs.
2339
2340         * rtsfind.adb: Remove references to All_Errors_Mode, give errors
2341         unconditionally.
2342
2343         * s-trafor-default.adb: Correct some warnings
2344
2345         * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
2346         sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
2347         Minor reformatting.
2348
2349         * par-ch4.adb (Conditional_Expression): Capture proper location for
2350         conditional expression, should point to IF.
2351
2352         * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
2353         s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
2354         g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
2355         reorganization (use conditional expressions).
2356
2357 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2358
2359         * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
2360         build-in-place function that returns an inherently limited type (not
2361         just a task type) create proper object declaration so that extra
2362         build-in-place actuals are properly added to the call.
2363
2364 2009-07-13  Robert Dewar  <dewar@adacore.com>
2365
2366         * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
2367
2368         * gnat_ugn.texi: Add documentation for -gnatw.m/.M
2369
2370         * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
2371
2372         * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
2373         Warn_On_Suspicious_Modulus_Value.
2374
2375         * ug_words: Add entries for -gnatw.m/-gnatw.M.
2376
2377         * usage.adb: Add lines for -gnatw.m/.M switches.
2378
2379         * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
2380
2381 2009-07-13  Javier Miranda  <miranda@adacore.com>
2382
2383         * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
2384         reading the Is_Interface attribute of the dispatching type.
2385
2386 2009-07-13  Robert Dewar  <dewar@adacore.com>
2387
2388         * a-convec.adb: Minor code reorganization (use conditional expressions)
2389
2390 2009-07-13  Robert Dewar  <dewar@adacore.com>
2391
2392         * freeze.adb (Check_Suspicious_Modulus): New procedure.
2393
2394 2009-07-13  Robert Dewar  <dewar@adacore.com>
2395
2396         * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
2397         warning).
2398
2399         * par-ch4.adb: Minor reformatting
2400
2401 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
2402
2403         * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
2404         => Is_Atomic_Aggregate
2405
2406 2009-07-13  Emmanuel Briot  <briot@adacore.com>
2407
2408         * prj-nmsc.adb: Avoid traversing the list of source files if
2409         we have already processed all locally removed files.
2410
2411 2009-07-13  Jose Ruiz  <ruiz@adacore.com>
2412
2413         * gnat_ugn.texi: Fix typo.
2414
2415 2009-07-13  Robert Dewar  <dewar@adacore.com>
2416
2417         * freeze.adb: Minor reformatting
2418         Minor code reorganization (use Nkind_In)
2419
2420         * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
2421
2422 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
2423
2424         * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
2425         local variable and do not test it in Compile_Time_Bad_Alignment.
2426         Do not issue size or alignment warnings for the X'Address form.
2427         * sem_util.ads (Find_Overlaid_Object): Delete.
2428         (Find_Overlaid_Entity): New procedure.
2429         * sem_util.adb (Find_Overlaid_Object): Rename to...
2430         (Find_Overlaid_Entity): ...this and turn into a procedure.  Report
2431         whether the address is offseted within the overlaid entity.
2432         (Has_Compatible_Alignment): Track the offset globally instead of
2433         passing it to Check_Offset.  For an indexed component, compute the
2434         full offset when possible.  If the resulting offset is zero, only
2435         check the prefix.
2436         (Check_Offset): Delete.
2437         * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
2438         (Address_Aliased_Entity): Delete.
2439         (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
2440         Find_Overlaid_Entity to find the overlaid entity and the offset.
2441         Adjust throughout for above change.
2442         (Validate_Address_Clauses): Always use attributes of entities, not of
2443         their type.  Tweak message for warning.  Call Has_Compatible_Alignment
2444         if the address is offseted to warn about incompatible alignments.
2445         * gcc-interface/gigi.h (annotate_object): Declare.
2446         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
2447         entity.  Call annotate_object instead of annotating manually objects.
2448         (annotate_object): New function.
2449         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
2450         at the end.
2451
2452 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
2453
2454         * gcc-interface/ada-tree.h: Minor reorganization.
2455         * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
2456         (gnat_print_type): Likewise.
2457
2458 2009-07-11  Thomas Quinot  <quinot@adacore.com>
2459
2460         * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
2461         Lvalue -> lvalue
2462
2463         * exp_ch6.adb: Minor reformatting
2464
2465 2009-07-11  Ed Schonberg  <schonberg@adacore.com>
2466
2467         * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
2468         account possible type qualification to determine whether aggregate
2469         needs a target temporary to respect atomic type or object.
2470
2471         * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
2472         Expand_Atomic_Aggregate.
2473
2474 2009-07-11  Emmanuel Briot  <briot@adacore.com>
2475
2476         * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
2477         algorithm.
2478         (Excluded_Sources_Htable): No longer a global table.
2479         Change error message to indicate which files are illegal in the list
2480         of excluded files, as opposed to only the location in the project
2481         file.
2482         (Find_Source): New subprogram.
2483
2484 2009-07-10  Thomas Quinot  <quinot@adacore.com>
2485
2486         * exp_ch7.adb: Update comments.
2487
2488 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
2489
2490         * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
2491         clause if -gnatI is set instead of crashing.
2492
2493 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2494
2495         * sem_ch11.adb (Same_Expression): Null is always equal to itself.
2496         Additional work to remove redundant successive raise statements, in
2497         this case access checks.
2498
2499 2009-07-10  Vincent Celier  <celier@adacore.com>
2500
2501         * make.adb (Compile): Always create a deep copy of the mapping file
2502         argument (-gnatem=...) as it may be deallocate/reallocate by
2503         Normalize_Arguments.
2504
2505 2009-07-10  Javier Miranda  <miranda@adacore.com>
2506
2507         * einfo.adb (Directly_Designated_Type): Add assertion.
2508         
2509         * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
2510         access types before using attribute Directly_Designated_Type.
2511
2512 2009-07-10  Emmanuel Briot  <briot@adacore.com>
2513
2514         * prj.ads: Minor typo fix
2515
2516 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2517
2518         * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
2519         special treatment.
2520
2521         * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
2522         subprogram is a function call, resolve properly, to ensure that extra
2523         actuals are added as needed.
2524
2525 2009-07-10  Thomas Quinot  <quinot@adacore.com>
2526
2527         * sem_aggr.adb: Minor comments editing
2528
2529         * exp_tss.adb, exp_ch3.adb: Minor reformatting
2530
2531 2009-07-10  Robert Dewar  <dewar@adacore.com>
2532
2533         * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
2534
2535         * exp_ch4.adb: Add ??? comment for conditional expressions on limited
2536         types.
2537
2538         * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
2539         replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
2540         case of conditional expressions that may not be elaborated.
2541
2542         * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
2543         conditional expression where we may not execute then then or else
2544         branches.
2545
2546 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
2547
2548         * i-cexten.ads (bool): New type.
2549
2550 2009-07-10  Robert Dewar  <dewar@adacore.com>
2551
2552         * sinfo.ads (N_Short_Circuit): New definition
2553         
2554         * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
2555         treepr.adb: Minor code reorganization (use N_Short_Circuit)
2556
2557 2009-07-10  Javier Miranda  <miranda@adacore.com>
2558
2559         * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
2560         non-tagged record types.
2561
2562         * sem_prag.adb
2563         (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
2564         with non-tagged types. Required to import C++ classes that have no
2565         virtual primitives.
2566         (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
2567         returning non-tagged types. For backward compatibility, if the
2568         constructor returns a class wide type we internally change the
2569         returned type to the corresponding non class-wide type.
2570
2571         * sem_aggr.adb
2572         (Valid_Ancestor_Type): CPP_Constructors code cleanup.
2573         (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
2574         (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
2575         (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
2576
2577         * sem_ch3.adb
2578         (Analyze_Object_Declaration): CPP_Constructors code cleanup.
2579
2580         * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
2581
2582         * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
2583
2584         * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
2585
2586         * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
2587         cleanup.
2588         
2589         * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
2590
2591         * gnat_rm.texi
2592         (pragma CPP_Class): Document that it can be used now with non-tagged
2593         record types.
2594         (pragma CPP_Constructor): Document that it can be used now with
2595         functions returning specific types. For backward compatibility
2596         we also support functions returning class-wide types.
2597
2598         * gnat_ugn.texi
2599         (Interfacing with C++ constructors): Update the examples to incorporate
2600         the new syntax in which the functions used to import C++ constructors
2601         return specific types.
2602         (Interfacing with C++ at the Class Level): Update the examples to
2603         incorporate the new syntax in which the functions used to import
2604         C++ constructors return specific types.
2605
2606 2009-07-10  Thomas Quinot  <quinot@adacore.com>
2607
2608         * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
2609         Make_Disp_Conditional_Select_Body,
2610         Make_Disp_Timed_Select_Body): For the case of a type that is neither an
2611         interface nor a concurrent type, the primitive body is empty. Generate
2612         a null statement so that it remains well formed.
2613
2614 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2615
2616         * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
2617         replace references to them in defaulted component expressions with
2618         references to the values of the discriminants of the target object.
2619
2620 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2621
2622         * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
2623         pragma, to capture global references if the context is generic.
2624
2625         * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
2626         appears within the initialization procedure for the corresponding
2627         record, replace it with the proper discriminal.
2628
2629 2009-07-10  Vincent Celier  <celier@adacore.com>
2630
2631         * make.adb: Do not include object directories or library ALI
2632         directories of library projects in the object path.
2633
2634 2009-07-10  Javier Miranda  <miranda@adacore.com>
2635
2636         * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
2637         Typ argument to ensure proper management of access types.
2638
2639 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2640
2641         * exp_ch7.adb (Build_Final_List): If the list is being built for a
2642         Taft-Amendment type, place the finalization list in the package body,
2643         to ensure that the tree for the spec is identical whenever it is
2644         compiled.
2645
2646 2009-07-10  Javier Miranda  <miranda@adacore.com>
2647
2648         * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
2649         inheriting attributes from a private Parent_Base.
2650
2651 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
2652
2653         * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
2654         statements with the same condition.
2655
2656 2009-07-10  Robert Dewar  <dewar@adacore.com>
2657
2658         * exp_ch4.adb (Raise_Accessibility_Error): New procedure
2659
2660 2009-07-09  Tom Tromey  <tromey@redhat.com>
2661
2662         * raise-gcc.c: Include dwarf2h (unconditionally).
2663
2664 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2665
2666         * sem_ch10.adb (Install_Context): If the unit is a package body,
2667         install the private with_clauses of the corresponding package
2668         declaration.
2669
2670 2009-07-09  Robert Dewar  <dewar@adacore.com>
2671
2672         * checks.adb: Minor reformatting
2673
2674 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
2675
2676         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
2677         into ug_words.
2678
2679 2009-07-09  Thomas Quinot  <quinot@adacore.com>
2680
2681         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
2682         Do not warn for a constant overlaying any constant object
2683
2684 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2685
2686         * sem_ch10.adb (Install_Context): If the unit is a package body,
2687         install the private with_clauses of the corresponding package
2688         declaration.
2689
2690 2009-07-09  Robert Dewar  <dewar@adacore.com>
2691
2692         * checks.adb: Minor reformatting
2693
2694 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
2695
2696         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
2697         into ug_words.
2698
2699 2009-07-09  Thomas Quinot  <quinot@adacore.com>
2700
2701         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
2702         Do not warn for a constant overlaying any constant object
2703
2704 2009-07-09  Arnaud Charlet  <charlet@adacore.com>
2705
2706         * gcc-interface/Make-lang.in: Update dependencies
2707
2708 2009-07-09  Thomas Quinot  <quinot@adacore.com>
2709
2710         * g-socket.adb (Check_Selector): Do not create local copies of the
2711         socket sets on the stack.
2712
2713 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
2714
2715         * gnat_ugn.texi: Add missing VMS translations.
2716
2717 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2718
2719         * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
2720         condition, to prevent generation of visible code during expansion,
2721         when Check is not enabled.
2722
2723 2009-07-09  Gary Dismukes  <dismukes@adacore.com>
2724
2725         * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
2726         the check gets registered for any available local handler
2727         (Set_Local_Raise).
2728
2729         * sem_util.adb: Add with and use of Exp_Ch11.
2730         (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
2731         that the check gets registered for any available local handler.
2732
2733         * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
2734         on slice ranges.
2735
2736 2009-07-09  Steve Baird  <baird@adacore.com>
2737
2738         * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
2739         function.
2740         (Expand_N_Exception_Declaration): Fix handling of exceptions
2741         declared in a subprogram.
2742
2743 2009-07-09  Emmanuel Briot  <briot@adacore.com>
2744
2745         * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
2746         multi-unit files.
2747
2748 2009-07-09  Thomas Quinot  <quinot@adacore.com>
2749
2750         * freeze.adb: Minor reformatting
2751
2752         * exp_ch3.adb: Minor comment fix.
2753
2754         * sinfo.ads: Minor comment fix
2755
2756 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2757
2758         * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
2759
2760 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2761
2762         * freeze.adb (Freeze_Expression): If the expression is the name of a
2763         function in a call, and the function has not been frozen yet, create
2764         extra formals for it to ensure that the proper actuals are created
2765         when expanding the call.
2766
2767 2009-07-09  Emmanuel Briot  <briot@adacore.com>
2768
2769         * prj-pp.adb (Print): Fix handling of source index when set on a
2770         declaration node.
2771
2772 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
2773
2774         * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
2775         a temporary to the source expression whose value it captures.
2776
2777         * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
2778
2779 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2780
2781         * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
2782         EXPR_LOCATION.
2783
2784 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
2785
2786         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
2787         parameters when the subtype of the actual is not known to be a subrange
2788         of the formal's subtype.
2789         (Expand_Call): Generate a range check only in the E_In_parameter case
2790         (in out parameter range checks are now handled in Expand_Actuals).
2791
2792         * exp_ch4.adb (Expand_N_Slice): Restore code that calls
2793         Enable_Range_Check.
2794
2795 2009-07-07  Robert Dewar  <dewar@adacore.com>
2796
2797         * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
2798
2799 2009-07-07  Javier Miranda  <miranda@adacore.com>
2800
2801         * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
2802         designated type comes from a limited views.
2803
2804 2009-07-07  Emmanuel Briot  <briot@adacore.com>
2805
2806         * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
2807         locally removed files that are later made visible again in an importing
2808         project.
2809
2810 2009-07-07  Robert Dewar  <dewar@adacore.com>
2811
2812         * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
2813
2814 2009-07-07  Sergey Rybin  <rybin@adacore.com>
2815
2816         * gnat_ugn.texi: Add an example to the description of gnatcheck
2817         'Style_Checks' rule option.
2818
2819 2009-07-07  Tristan Gingold  <gingold@adacore.com>
2820
2821         * seh_init.c: Fix inline assembly statement in seh_init.c
2822
2823 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
2824
2825         * sem_warn.adb (Check_References): Do not emit warnings on formals of
2826         an entry body. Only the formals of the entry declaration are traced.
2827
2828 2009-07-07  Robert Dewar  <dewar@adacore.com>
2829
2830         * s-osprim-mingw.adb: Minor code reorganization
2831
2832 2009-07-07  Robert Dewar  <dewar@adacore.com>
2833
2834         * prj-nmsc.adb: Minor reformatting
2835
2836 2009-07-07  Pascal Obry  <obry@adacore.com>
2837
2838         * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
2839         cases where Pattern is longer than Source.
2840
2841 2009-07-07  Pascal Obry  <obry@adacore.com>
2842
2843         * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
2844
2845 2009-07-07  Emmanuel Briot  <briot@adacore.com>
2846
2847         * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
2848         project file.
2849
2850 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
2851
2852         * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
2853         primitive operations, in case one of them is called in the
2854         initialization procedure for the type.
2855
2856 2009-07-07  Robert Dewar  <dewar@adacore.com>
2857
2858         * a-calend.adb: Minor code reorganization (use conditional expressions)
2859
2860         * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
2861         prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
2862         s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
2863         s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
2864         s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
2865         g-comlin.adb, exp_ch11.adb: Minor reformatting.
2866
2867 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
2868
2869         * checks.adb (Generate_Range_Check): Replace type conversions with
2870         unchecked conversions to support the case of performing range checks
2871         on Enum'Val (permits integer values to be converted to enumeration).
2872
2873         * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
2874         Attribute_Succ): Set Do_Range_Check to False before calling
2875         Expand_Pred_Succ, to prevent gigi from generating any range checks.
2876         (Expand_N_Attribute_Reference, case Attribute_Val):
2877         Generate a range check when needed (and set Do_Range_Check to False).
2878
2879         * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
2880         scalar object initialization if needed.
2881
2882         * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
2883         when needed on scalar allocators.
2884         (Expand_N_Qualified_Expression): Generate range check when needed.
2885         (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
2886         Checks on slice ranges handled in Resolve_Slice.
2887
2888         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
2889         when needed, for all scalar assignments, not just discrete.
2890         (Expand_Simple_Function_Return): Resolve the conversion created for a
2891         scalar function return so that the conversion will get expanded to
2892         generate a possible constraint check.
2893
2894         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
2895         in out scalar actuals when subtypes don't match, to ensure generation
2896         of return checks (and set Do_Range_Check to False).
2897         (Expand_Call): Uncomment code to perform range checks, but make it apply
2898         only to in and in out parameters (checks on parameter returns are
2899         handled in Expand_Actuals). If a scalar actual for a call to a derived
2900         subprogram is marked as needing a range check, peform it here (and set
2901         Do_Range_Check to False).
2902
2903         * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
2904         range check on scalar component associations when needed.
2905
2906         * sem_eval.adb (In_Subrange_Of): Return False when the first type has
2907         infinities but the second type does not, as these aren't compatible
2908         floating-point types.
2909
2910         * sem_res.adb (Resolve_Slice): In the case where the prefix of the
2911         slice is itself a slice, pick up the Etype of the prefix. This handles
2912         the case where the prefix was an Image attribute expanded to a slice,
2913         and ensures that we get the subtype with the slice constraint rather
2914         than the unconstrained subbtype of the 'Image.
2915
2916 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
2917
2918         * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
2919         overloaded expressions in a conditional expressions.
2920
2921         * sem_res.adb (Resolve): Handle properly overloaded conditional
2922         expressions.
2923
2924 2009-07-07  Robert Dewar  <dewar@adacore.com>
2925
2926         * scng.adb: Minor reformattting
2927
2928         * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
2929         association allows conditional expression without parens.
2930
2931         * par-ch4.adb (P_Name): Attribute arguments can be conditional
2932         expressions without enclosing parentheses, and also as parameters,
2933         indexing expressions etc.
2934         (P_Conditional_Expression): New procedure
2935         (P_Expression_If_OK): New procedure
2936
2937         * par.adb (P_Conditional_Expression): New procedure
2938         (P_Expression_If_OK): New procedure
2939
2940         * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
2941         form of conditional expression.
2942
2943         * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
2944         missing True argument if ELSE argument missing.
2945
2946         * sinfo.adb (Is_Elsif): New flag
2947
2948         * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
2949         part of the language, and the documentation is modified accordingly.
2950         (Is_Elsif): New flag
2951
2952 2009-07-06  Olivier Hainque  <hainque@adacore.com>
2953
2954         * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
2955         setjmp_longjmp): Attach the exception propagation reraise fallback
2956         to the sequence end label location when we have it.
2957
2958 2009-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2959
2960         PR ada/40608
2961         * init.c (APPLE): Include <mach/mach_init.h>.
2962         (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
2963
2964 2009-07-04  Eric Botcazou  <ebotcazou@adacore.com>
2965
2966         * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
2967         (SET_DECL_LANG_SPECIFIC): Likewise.
2968         (TYPE_RM_VALUE): New macro.
2969         (SET_TYPE_RM_VALUE): Likewise.
2970         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
2971         (TYPE_RM_MIN_VALUE): Likewise.
2972         (TYPE_RM_MAX_VALUE): Likewise.
2973         (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
2974         (SET_TYPE_RM_MIN_VALUE): Likewise.
2975         (SET_TYPE_RM_MAX_VALUE): Likewise.
2976         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
2977
2978 2009-07-04  Laurent GUERBY  <laurent@guerby.net>
2979
2980         PR ada/40631
2981         * tracebak.c (__gnat_backtrace): Fix old-style definition.
2982
2983 2009-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2984
2985         * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
2986
2987 2009-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2988
2989         PR ada/40609
2990         * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
2991         ucontext argument.
2992
2993 2009-07-01  Eric Botcazou  <ebotcazou@adacore.com>
2994
2995         * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
2996
2997 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
2998
2999         * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
3000         the type of the left operand if it pads a self-referential type when
3001         the right operand is a constructor.
3002
3003         * gcc-interface/lang-specs.h: Fix copyright date.
3004
3005 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
3006
3007         * gcc-interface/decl.c: Include tree-inline.h.
3008         (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
3009         * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
3010         * gcc-interface/utils2.c: Include tree-inline.
3011         (known_alignment) <CALL_EXPR>: Likewise.
3012
3013 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
3014
3015         * raise-gcc.c: Include dwarf2.h conditionally.
3016         
3017 2009-06-29  Tom Tromey  <tromey@redhat.com>
3018
3019         * raise-gcc.c: Include elf/dwarf2.h.
3020
3021 2009-06-27  Laurent GUERBY  <laurent@guerby.net>
3022
3023         * tb-gcc.c (trace_callback): Add casts to silence warning.
3024
3025 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
3026
3027         * tb-gcc.c: Fix copyright notice.
3028
3029 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
3030
3031         * init.c (__gnat_set_globals): Add prototype.
3032         * adaint.c (__gnat_binder_supports_auto_init): Likewise.
3033         (__gnat_sals_init_using_constructors): Likewise.
3034         * gcc-interface/utils.c (gnat_pushlevel): Likewise.
3035         (get_block_jmpbuf_decl): Likewise.
3036         (gnat_poplevel): Likewise.
3037         (merge_sizes): Rename local variable.
3038         (copy_type): Likewise.
3039         (build_vms_descriptor32): Likewise.
3040         (build_vms_descriptor): Likewise.
3041         (convert_vms_descriptor64): Likewise.
3042         (convert_vms_descriptor32): Likewise.
3043         (convert_to_fat_pointer): Likewise.
3044         (maybe_unconstrained_array): Likewise.
3045         (def_fn_type): Use promoted type with va_arg.
3046         * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
3047         (substitute_in_type): Rename local variable.
3048         * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
3049
3050 2009-06-26  Laurent GUERBY  <laurent@guerby.net>
3051
3052         * tb-gcc.c (trace_callback): Use char* instead of void*.
3053         * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
3054         * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
3055         (Attribute_to_gnu): Adjust for above change.
3056         (Subprogram_Body_to_gnu): Likewise.
3057         * gcc-interface/utils.c (merge_sizes): Rename local variable.
3058         (copy_type): Likewise.
3059         (build_vms_descriptor32): Likewise.
3060         (build_vms_descriptor): Likewise.
3061         (convert_vms_descriptor64): Likewise.
3062         (convert_vms_descriptor32): Likewise.
3063         (convert_to_fat_pointer): Likewise.
3064         (maybe_unconstrained_array): Likewise.
3065         * gcc-interface/decl.c (substitute_in_type): Likewise.
3066
3067 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
3068
3069         * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
3070         (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
3071         of the upper bound of the index types.
3072
3073 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
3074
3075         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
3076         out common predicate.  Use the maximum to compute the upper bound of
3077         the index type only when it is not wider than sizetype.  Perform the
3078         comparison in the index type for the generic expression.  Use real
3079         precision to decide whether to generate special types for debugging
3080         information.
3081
3082 2009-06-26  Matthew Gingell  <gingell@adacore.com>
3083
3084         * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
3085
3086 2009-06-26  Vincent Celier  <celier@adacore.com>
3087
3088         * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
3089         default.
3090
3091 2009-06-26  Robert Dewar  <dewar@adacore.com>
3092
3093         * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
3094
3095 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
3096
3097         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
3098         correct arguments to create_field_decl.  Remove redundant iteration.
3099         Rewrite computation of the maximum size.
3100         <E_Array_Subtype>: Reorder and simplify handling of special cases.
3101         Rewrite computation of the maximum size.  Use consistent naming.
3102         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
3103         comparison order for consistency.  Use generic integer node to
3104         build the operator and fold the result.
3105
3106 2009-06-25  Vincent Celier  <celier@adacore.com>
3107
3108         * vms_data.ads: Minor comment change
3109
3110 2009-06-25  Gary Dismukes  <dismukes@adacore.com>
3111
3112         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
3113         assignment statement to targeting a caller-provided object when the
3114         result type is an interface type.
3115
3116         * exp_ch6.adb (Expand_Call): Remove redundant test of
3117         Is_Limited_Interface (Is_Inherently_Limited is sufficient).
3118         (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
3119
3120         * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
3121         to OK_For_Limited_Init.
3122
3123         * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
3124         condition so that True is returned for all limited interfaces, not
3125         just synchronized ones. Ignore components of an interface type when
3126         checking for limited components (such a component can be a parent
3127         component).
3128
3129         * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
3130         (OK_For_Limited_Init): Add type parameter.
3131
3132         * sem_ch3.adb (Check_Initialization): Add type in call to
3133         OK_For_Limited_Init.
3134         (OK_For_Limited_Init): Add new type param in call to
3135         OK_For_Limited_Init_In_05.
3136         (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
3137         nonlimited type when the context type is a limited interface. Add type
3138         on recursive calls.
3139
3140         * sem_ch4.adb (Analyze_Allocator): Add type in call to
3141         OK_For_Limited_Init.
3142
3143         * sem_ch6.adb (Check_Limited_Return): Add type in call to
3144         OK_For_Limited_Init.
3145
3146         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
3147         OK_For_Limited_Init.
3148         (Instantiate_Object): Add type in call to OK_For_Limited_Init.
3149
3150         * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
3151         class-wide interface, get the base type before applying Etype, in order
3152         to account for class-wide subtypes.
3153
3154 2009-06-25  Emmanuel Briot  <briot@adacore.com>
3155
3156         * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
3157         prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
3158         between gnatmake and gprbuild.
3159         (Naming_Data): Removed, no longer used
3160         (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
3161         needed locally in one subprogram, no need to store forever in the
3162         structure.
3163         (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
3164         a similar role.
3165         (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
3166         Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
3167         Spec_Suffix_Id_Of): removed, no longer used.
3168
3169 2009-06-25  Javier Miranda  <miranda@adacore.com>
3170
3171         * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
3172         types on qualified expression in calls to imported C++ constructors.
3173
3174         * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
3175         imported C++ constructors.
3176
3177 2009-06-25  Sergey Rybin  <rybin@adacore.com>
3178
3179         * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
3180
3181 2009-06-25  Vincent Celier  <celier@adacore.com>
3182
3183         * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
3184         provided, on Windows change all '/' to '\'.
3185
3186         * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
3187         used. Minor comment changes
3188
3189         * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
3190         Remove_Forbidden_File_Name.
3191
3192 2009-06-25  Quentin Ochem  <ochem@adacore.com>
3193
3194         * prj.ads (Unit_Index): Now general access type.
3195
3196 2009-06-25  Pascal Obry  <obry@adacore.com>
3197
3198         * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
3199
3200 2009-06-25  Emmanuel Briot  <briot@adacore.com>
3201
3202         * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
3203         prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
3204         computed efficiently from the other fields.
3205         (Object_To_Global_Archive): New subprogram
3206         (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
3207         (Override_Kind): Fix handling of separates in Ada.
3208         (Create_Mapping_File): Remove duplicate code
3209         (Naming_Data.Implementation_Exception, Specification_Exception):
3210         field removed, since never used.
3211         (Naming_Data.Specs, .Bodies): field removed, since this is only
3212         used while processing the project and is not needed once the tree
3213         is in memory. This brings Naming_Data and Lang_Naming_Data
3214         closer (same content now, but different use still).
3215
3216 2009-06-25  Pascal Obry  <obry@adacore.com>
3217
3218         * sem_ch4.adb: Minor reformatting.
3219
3220         * a-strsea.adb: Fix confusion between 'Length and 'Last.
3221
3222 2009-06-25  Ed Schonberg  <schonberg@adacore.com>
3223
3224         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
3225         Unchecked_Access): If the context is an interface type, and the prefix
3226         is of the corresponding class-wide type, do not insert a conversion
3227         because the pointer displacement has already taken place, and we must
3228         retain the class-wide type in a dispatching context.
3229
3230 2009-06-25  Emmanuel Briot  <briot@adacore.com>
3231
3232         * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
3233         the previous source file.
3234         (Create_Mapping): Iterate on sources rather than on units.
3235
3236 2009-06-25  Emmanuel Briot  <briot@adacore.com>
3237
3238         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
3239         prj-env.adb, prj-env.ads (Slash): removed, no longer used
3240         (Source_Data): no longer use Path.Name to point to a locally removed
3241         file. Instead we use the field Locally_Removed which is clearer
3242
3243 2009-06-25  Arnaud Charlet  <charlet@adacore.com>
3244
3245         * gcc-interface/Make-lang.in: Remove references to sem_maps.o
3246
3247         * sem_maps.adb, sem_maps.ads: Removed, not used.
3248
3249 2009-06-25  Ed Falis  <falis@adacore.com>
3250
3251         * s-vxwext-rtp.ads: Add missing declaration
3252
3253 2009-06-25  Matthew Gingell  <gingell@adacore.com>
3254
3255         * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
3256         speed up unmapped case.
3257
3258 2009-06-25  Vincent Celier  <celier@adacore.com>
3259
3260         * prj-nmsc.adb (Check): Change error message for illegal abstract
3261         projects.
3262
3263 2009-06-25  Robert Dewar  <dewar@adacore.com>
3264
3265         * gnat_ugn.texi: Add note on use of -gnatct for ASIS
3266
3267 2009-06-25  Emmanuel Briot  <briot@adacore.com>
3268
3269         * fmap.ads: Add documentation on mapping files
3270
3271 2009-06-25  Robert Dewar  <dewar@adacore.com>
3272
3273         * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
3274         reformatting
3275
3276 2009-06-24  Robert Dewar  <dewar@adacore.com>
3277
3278         * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
3279
3280         * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
3281         case.
3282         (Index): Ditto.
3283
3284 2009-06-24  Ed Schonberg  <schonberg@adacore.com>
3285
3286         * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
3287         present when checking whether a call may be interpreted as an indexing
3288         of the result of a call.
3289
3290         * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
3291         body for a null procedure on the freeze actions for the procedure, so
3292         that it will be analyzed at the proper place without premature freezing
3293         of actuals.
3294
3295         * sem_ch3.adb (Check_Completion): Code cleanup. 
3296         Do not diagnose a null procedure without a body, if previous errors
3297         have disabled expansion.
3298
3299 2009-06-24  Doug Rupp  <rupp@adacore.com>
3300
3301         * init.c [VMS] Resignal C$_SIGKILL
3302
3303 2009-06-24  Ed Falis  <falis@adacore.com>
3304
3305         * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
3306         Define ERROR in body for VxWorks 6 kernel
3307
3308 2009-06-24  Pascal Obry  <obry@adacore.com>
3309
3310         * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
3311         in [Send/Receive]_Socket.
3312
3313 2009-06-24  Emmanuel Briot  <briot@adacore.com>
3314
3315         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
3316         prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
3317         to several subprograms.
3318         (Source_Data.Other_Part): Removed, since can be computed from the
3319         language.
3320         (Other_Part): New subprogram.
3321
3322 2009-06-24  Emmanuel Briot  <briot@adacore.com>
3323
3324         * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
3325         the full base name of the file when the suffix doesn't start with a '.'.
3326
3327 2009-06-24  Vincent Celier  <celier@adacore.com>
3328
3329         * prj-nmsc.adb (Check): A project declared abstract is legal if no
3330         attribute Source_Dirs, Source_Files, Source_List_File or Languages is
3331         declared.
3332
3333 2009-06-24  Robert Dewar  <dewar@adacore.com>
3334
3335         * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
3336         prj-env.adb: Minor reformatting
3337
3338 2009-06-24  Ed Falis  <falis@adacore.com>
3339
3340         * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
3341         s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
3342         s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
3343         support for VxWorks SMP.
3344
3345         * gcc-interface/Make-lang.in: Update dependencies
3346
3347 2009-06-24  Emmanuel Briot  <briot@adacore.com>
3348
3349         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
3350         prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
3351         no longer useful.
3352         (Source_Data.Lang_Kind): Removed, since it duplicates information
3353         already available through Language.Config.
3354         (Source_Data.Compile): Removed, since information is already available
3355         through the language.
3356         (Is_Compilable): New subprogram.
3357         (Source_Data.Dependency): Removed, since already available through
3358         the language.
3359         (Source_Data.Object_Exist, Object_Linked): Removed since available
3360         through the language already.
3361         (Unit_Data.File_Names): Is now also set in multi_language mode, to
3362         bring the two modes closer in the resulting data structures.
3363         (Source_Data.Unit): Now a direct pointer to the unit data, rather than
3364         just the name that would point into a hash table.
3365         (Get_Language_From_Name): New subprogram.
3366
3367 2009-06-24  Javier Miranda  <miranda@adacore.com>
3368
3369         * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
3370         visible through limited-with context clauses. In addition, avoid an
3371         extra tag check that is not required when the class-wide
3372         designated types of the operand and target types are
3373         the same entity.
3374         (Tagged_Membership): Handle entities from the limited view.
3375
3376 2009-06-24  Emmanuel Briot  <briot@adacore.com>
3377
3378         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
3379         prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
3380         (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
3381         different vocabularies for similar concepts (Impl/Body_Part and
3382         Spec/Specification).
3383         (Unit_Data): now points directly to a Source_Id, rather than duplicating
3384         some of the information in File_Name_Data. This also saves a bit of
3385         memory. However, since we are now using a pointer we need to test
3386         for null explicitly in several places of the code
3387
3388 2009-06-24  Javier Miranda  <miranda@adacore.com>
3389
3390         * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
3391         from processing the type conversion when the node is
3392         replaced by an N_Raise_Program_Error node.
3393
3394 2009-06-24  Hristian Kirtchev  <kirtchev@adacore.com>
3395
3396         * sem_ch6.adb (Designates_From_With_Type): New routine.
3397         (Process_Formals): Since anonymous access types are no longer flagged
3398         as from with types, traverse the designated type to determine whether
3399         it is coming from a limited view.
3400
3401         * sem_res.adb: Remove with and use clauses for Sem_Ch10.
3402         (Full_Designated_Type): Use Available_View to extract the non-limited /
3403         full view of a type.
3404
3405 2009-06-24  Robert Dewar  <dewar@adacore.com>
3406
3407         * exp_ch6.adb: Minor reformatting
3408
3409         * layout.adb: Minor reformatting
3410
3411         * make.adb: Minor reformatting
3412
3413 2009-06-24  Thomas Quinot  <quinot@adacore.com>
3414
3415         * sem_ch10.adb: Minor code reorganization.
3416
3417 2009-06-24  Eric Botcazou  <ebotcazou@adacore.com>
3418
3419         * ttypes.ads: Minor editing.
3420         
3421 2009-06-24  Robert Dewar  <dewar@adacore.com>
3422
3423         * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
3424         in deciding to do call-by-copy code.
3425
3426 2009-06-24  Vincent Celier  <celier@adacore.com>
3427
3428         * make.adb (Gnatmake): To decide if an executable should be rebuilt,
3429         check if an externally built library file is more current than the
3430         executable.
3431
3432 2009-06-23  Olivier Hainque  <hainque@adacore.com>
3433
3434         * gcc-interface/utils.c (handle_vector_size_attribute): Import from
3435         c-common.c and populate in gnat_internal_attribute_table.
3436         
3437 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
3438
3439         * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
3440         Available_View only when designated type of an anonymous access type
3441         is  limited view.
3442
3443 2009-06-23  Robert Dewar  <dewar@adacore.com>
3444
3445         * sem_ch10.adb: Minor reformatting
3446
3447         * ali.ads: Mino reformatting.
3448
3449         * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
3450         turning off inlining if ASIS mode active).
3451         
3452         * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
3453         This belongs in gnat1drv.adb after switches are scanned.
3454
3455 2009-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
3456
3457         * sem_attr.adb: Add with and use clauses for Sem_Ch10.
3458         (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root t