OSDN Git Service

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