OSDN Git Service

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