OSDN Git Service

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