1 2009-10-02 Eric Botcazou <ebotcazou@adacore.com>
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.
7 2009-09-29 Eric Botcazou <ebotcazou@adacore.com>
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.
15 2009-09-29 Eric Botcazou <ebotcazou@adacore.com>
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
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.
32 2009-09-28 Olivier Hainque <hainque@adacore.com>
35 * gcc-interface/targtyps.c (get_target_default_allocator_alignment):
36 Account for observable alignments out of default allocators.
38 2009-09-28 Richard Henderson <rth@redhat.com>
40 * gcc-interface/utils.c (gnat_install_builtins): Update call to
41 build_common_builtin_nodes.
43 2009-09-26 Eric Botcazou <ebotcazou@adacore.com>
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.
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.
58 2009-09-25 Olivier Hainquqe <hainque@adacore.com>
59 Eric Botcazou <ebotcazou@adacore.com>
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.
82 2009-09-24 Eric Botcazou <ebotcazou@adacore.com>
84 * gcc-interface/ada.h: Fix outdated comment.
85 * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Use MARK_VISITED in
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
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.
104 2009-09-24 Dave Korn <dave.korn.cygwin@gmail.com>
106 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Simplify test for
107 a-except% in target pairs list; don't (implicitly) compare whitespace.
109 2009-09-24 Jakub Jelinek <jakub@redhat.com>
111 * gcc-interface/utils.c (gnat_pushdecl): Don't set
112 DECL_NO_STATIC_CHAIN, set DECL_STATIC_CHAIN for
115 2009-09-21 Joel Sherrill <joel.sherrill@oarcorp.com>
117 * s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0.
118 Bind to getpagesize() in RTEMS 4.10 and newer.
120 2009-09-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
122 * env.c [__alpha__ && __osf__] (_BSD): Define.
123 * init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
126 2009-09-18 Pascal Obry <obry@adacore.com>
128 * mingw32.h: Activate Unicode support for x86-64 Windows platform.
130 2009-09-18 Vadim Godunko <godunko@adacore.com>
132 * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
134 2009-09-18 Javier Miranda <miranda@adacore.com>
136 * exp_aggr.adb (Backend_Processing_Possible): Disable backend
137 processing for array aggregates in the VM backend if the array has
140 2009-09-18 Ed Schonberg <schonberg@adacore.com>
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.
146 2009-09-18 Bob Duff <duff@adacore.com>
148 * gnat_ugn.texi: Minor editing.
150 2009-09-18 Vincent Celier <celier@adacore.com>
152 * prj.ads, prj.adb (Project_Data): New component
153 Imported_Directories_Switches.
155 2009-09-18 Pascal Obry <obry@adacore.com>
157 * mingw32.h: Include standard _mingw.h file.
158 Define _WIN32_WINNT only if not already defined.
160 2009-09-18 Thomas Quinot <quinot@adacore.com>
162 * g-socket.adb (Is_Open): New function indicating whether a
163 Selector_Type object is open.
165 2009-09-18 Vincent Celier <celier@adacore.com>
167 * osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
168 is deleted before creating it.
170 2009-09-18 Robert Dewar <dewar@adacore.com>
172 * bindgen.adb: Minor reformatting
174 2009-09-18 Arnaud Charlet <charlet@adacore.com>
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.
182 2009-09-18 Vincent Celier <celier@adacore.com>
184 * prj-tree.ads: Minor comment update
186 2009-09-17 Bob Duff <duff@adacore.com>
188 * g-socket.ads: Document the fact that Close_Selector has no effect on
190 * g-socket.adb: Raise an exception when a Selector that should be open
192 (Check_Selector): Declare RSig as a constant rather than a renames,
195 2009-09-17 Robert Dewar <dewar@adacore.com>
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
201 2009-09-17 Emmanuel Briot <briot@adacore.com>
203 * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
205 (Do_Autoconf): If the object directory does not exists, create auto.cgpr
206 in a temporary directory instead
208 2009-09-17 Bob Duff <duff@adacore.com>
210 * a-dynpri.adb (Set_Priority): Don't do anything if the task is already
212 (Get_Priority): Correct message for "terminated" case -- it said "null".
214 2009-09-17 Robert Dewar <dewar@adacore.com>
216 * exp_ch6.adb: Minor reformatting
218 2009-09-17 Emmanuel Briot <briot@adacore.com>
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.
224 * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
226 2009-09-17 Emmanuel Briot <briot@adacore.com>
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
235 2009-09-17 Bob Duff <duff@adacore.com>
237 * gnat_rm.texi, s-oscons-tmplt.c: Minor typo
239 2009-09-17 Emmanuel Briot <briot@adacore.com>
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
249 2009-09-17 Javier Miranda <miranda@adacore.com>
251 * exp_disp.adb (Make_DT): Remove wrong line of code that was
252 undocumented and probably added by mistake.
254 2009-09-16 Eric Botcazou <ebotcazou@adacore.com>
256 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
257 conversions between original and packable version of types from
260 2009-09-16 Eric Botcazou <ebotcazou@adacore.com>
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.
270 2009-09-16 Robert Dewar <dewar@adacore.com>
272 * prj-nmsc.adb: Minor reformatting
274 2009-09-16 Ed Schonberg <schonberg@adacore.com>
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.
281 2009-09-16 Emmanuel Briot <briot@adacore.com>
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
289 2009-09-16 Thomas Quinot <quinot@adacore.com>
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
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.
302 2009-09-16 Ed Schonberg <schonberg@adacore.com>
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
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.
314 2009-09-16 Vincent Celier <celier@adacore.com>
316 * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
318 (Check_File): New parameter Source_Dir_Rank, to check if a duplicate
320 (Find_Source_Dirs): New parameter Rank to be recorded with the source
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
332 2009-09-16 Vincent Celier <celier@adacore.com>
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
341 2009-09-16 Ed Schonberg <schonberg@adacore.com>
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
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.
354 2009-09-16 Thomas Quinot <quinot@adacore.com>
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.
360 2009-09-14 Richard Henderson <rth@redhat.com>
362 * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
364 2009-09-14 Eric Botcazou <ebotcazou@adacore.com>
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.
376 2009-09-14 Richard Henderson <rth@redhat.com>
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.
385 2009-09-13 Richard Guenther <rguenther@suse.de>
386 Rafael Avila de Espindola <espindola@google.com>
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.
397 2009-09-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
400 * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
402 2009-09-08 Eric Botcazou <ebotcazou@adacore.com>
404 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
406 Avoid useless work when processing the Treat_As_Volatile flag.
408 2009-09-08 Eric Botcazou <ebotcazou@adacore.com>
410 * gcc-interface/targtyps.c: Reorder include directives.
412 2009-09-07 Laurent GUERBY <laurent@guerby.net>
414 * gcc-interface/targtyps.c: Add missing include for tm_p.h.
415 * gcc-interface/Make-lang.in: Update dependencies.
417 2009-09-07 Laurent GUERBY <laurent@guerby.net>
419 * make.adb: Add missing documentation for multilib handling.
421 2009-09-03 Diego Novillo <dnovillo@google.com>
423 * gcc-interface/misc.c (lang_hooks): Remove const qualifier.
425 2009-09-02 Richard Henderson <rth@redhat.com>
427 * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
429 2009-09-02 Olivier Hainque <hainque@adacore.com>
431 * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
434 2009-09-02 Olivier Hainque <hainque@adacore.com>
436 * gcc-interface/decl.c (cannot_be_superflat_p): Handle
437 Signed_Integer_Type_Definition Scalar_Ranges.
439 2009-09-02 Eric Botcazou <ebotcazou@adacore.com>
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.
445 2009-09-01 Jakub Jelinek <jakub@redhat.com>
447 * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
448 POINTER_SIZE to HOST_WIDE_INT.
450 2009-09-01 Richard Guenther <rguenther@suse.de>
452 * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
454 2009-08-25 Eric Botcazou <ebotcazou@adacore.com>
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
461 (convert_vms_descriptor32): Likewise.
463 2009-08-22 Aurelien Jarno <aurelien@aurel32.net>
465 * gcc-interface/Makefile.in: Add Ada support for
467 * system-freebsd-x86_64.ads: New file based on
468 system-freebsd-x86.ads.
470 2009-08-20 Eric Botcazou <ebotcazou@adacore.com>
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.
476 2009-08-20 Eric Botcazou <ebotcazou@adacore.com>
478 * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
480 * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
482 * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
484 (gnat_gimplify_expr) <DECL_EXPR>: New case.
486 2009-08-17 Aurelien Jarno <aurelien@aurel32.net>
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.
494 2009-08-17 Vasiliy Fofanov <fofanov@adacore.com>
496 * a-calend-vms.adb: Fix typo.
498 2009-08-17 Tristan Gingold <gingold@adacore.com>
500 * s-taprop-posix.adb: Round up the stack size to avoid failure on
503 2009-08-17 Gary Dismukes <dismukes@adacore.com>
505 * sem_cat.adb (Validate_Static_Object_Name): Update comment.
507 2009-08-17 Vincent Celier <celier@adacore.com>
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.
515 * switch-c.adb: Add documentation for -gnatea and -gnatez
517 2009-08-17 Ben Brosgol <brosgol@adacore.com>
519 * gnat_ugn.texi: Changed name of package in SAL example, to avoid
520 clash with Ada 2005 reserved word (interface).
522 2009-08-17 Robert Dewar <dewar@adacore.com>
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).
529 2009-08-17 Robert Dewar <dewar@adacore.com>
531 * make.adb: Add ??? comment
532 * tbuild.adb: Minor reformatting
534 2009-08-17 Thomas Quinot <quinot@adacore.com>
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.
540 2009-08-17 Arnaud Charlet <charlet@adacore.com>
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.
545 2009-08-17 Thomas Quinot <quinot@adacore.com>
547 * tbuild.adb: Minor reformatting
549 2009-08-17 Ed Schonberg <schonberg@adacore.com>
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.
556 2009-08-17 Robert Dewar <dewar@adacore.com>
558 * prj-env.adb: Minor reformatting
559 * make.adb: Minor reformatting
562 2009-08-17 Javier Miranda <miranda@adacore.com>
564 * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
566 2009-08-17 Emmanuel Briot <briot@adacore.com>
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)
573 2009-08-17 Robert Dewar <dewar@adacore.com>
575 * prj-env.adb: Minor reformatting
576 * sem_ch3.adb: Minor reformatting
578 2009-08-17 Hristian Kirtchev <kirtchev@adacore.com>
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.
584 2009-08-17 Ed Schonberg <schonberg@adacore.com>
586 * sem_ch3.adb (Access_Definition): Do not create an Itype reference for
587 an anonymous access type whose designated type is generic.
589 2009-08-17 Arnaud Charlet <charlet@adacore.com>
591 * comperr.adb (Compiler_Abort): Do not generate a bug box when in
592 codepeer mode, friendlier.
594 2009-08-10 Laurent GUERBY <laurent@guerby.net>
596 * make.adb: Handle multilib
598 2009-08-10 Vincent Celier <celier@adacore.com>
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
604 2009-08-10 Yannick Moy <moy@adacore.com>
606 * gnat_ugn.texi: Fix typo
608 2009-08-10 Robert Dewar <dewar@adacore.com>
610 * exp_ch7.adb: Add ??? comment for last change
612 2009-08-10 Vincent Celier <celier@adacore.com>
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
619 2009-08-10 Vincent Celier <celier@adacore.com>
622 * xref_lib.adb (Print_Xref): Make sure that there is at least one space
623 between a declaration name and its type.
625 2009-08-07 Javier Miranda <miranda@adacore.com>
627 * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
630 2009-08-07 Robert Dewar <dewar@adacore.com>
632 * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
634 2009-08-07 Vincent Celier <celier@adacore.com>
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
641 2009-08-07 Ben Brosgol <brosgol@adacore.com>
643 * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
645 2009-08-07 Ed Schonberg <schonberg@adacore.com>
647 * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
648 even if not in main unit, to simplify debugging.
650 2009-08-07 Arnaud Charlet <charlet@adacore.com>
652 * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
653 * gcc-interface/Make-lang.in: Update dependencies.
655 2009-08-07 Robert Dewar <dewar@adacore.com>
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.
663 2009-08-07 Vincent Celier <celier@adacore.com>
665 * mlib-prj.adb (Build_Library): Include binder generate object file
666 for SAL when library name is only one character.
668 2009-08-07 Thomas Quinot <quinot@adacore.com>
670 * targparm.adb: Minor reformatting
671 * sem.adb: Minor reformatting
672 * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
674 2009-08-07 Emmanuel Briot <briot@adacore.com>
676 * prj-conf.adb: Remove duplicate directory separator in the output when
677 an object directory does not exist.
679 2009-08-07 Robert Dewar <dewar@adacore.com>
681 * exp_util.adb: Minor reformatting
683 2009-08-07 Vincent Celier <celier@adacore.com>
685 * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
688 2009-08-07 Ed Schonberg <schonberg@adacore.com>
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.
694 2009-08-07 Ben Brosgol <brosgol@adacore.com>
696 * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
698 2009-08-02 Eric Botcazou <ebotcazou@adacore.com>
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.
705 2009-07-30 Ben Brosgol <brosgol@adacore.com>
707 * gnat_ugn.texi: Correct minor texi glitch.
709 2009-07-30 Ed Schonberg <schonberg@adacore.com>
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.
715 2009-07-30 Robert Dewar <dewar@adacore.com>
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
721 2009-07-29 Javier Miranda <miranda@adacore.com>
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.
734 2009-07-29 Robert Dewar <dewar@adacore.com>
736 * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
737 exp_disp.adb, g-socket.adb: Minor reformatting
739 2009-07-29 Ed Schonberg <schonberg@adacore.com>
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
744 * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
745 properly named subtypes of class-wide types.
747 2009-07-29 Ed Schonberg <schonberg@adacore.com>
749 * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
750 indicators on user-defined operators.
752 2009-07-29 Vadim Godunko <godunko@adacore.com>
754 * g-socket.adb (Receive_Vector): Add comment.
756 2009-07-29 Javier Miranda <miranda@adacore.com>
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
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
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
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
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.
784 2009-07-28 Robert Dewar <dewar@adacore.com>
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.
791 2009-07-28 Emmanuel Briot <briot@adacore.com>
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
799 2009-07-28 Arnaud Charlet <charlet@adacore.com>
801 * gcc-interface/Make-lang.in: Update dependencies.
803 2009-07-28 Emmanuel Briot <briot@adacore.com>
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
808 * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
809 makeutl.ads, for better sharing with gprbuild.
811 2009-07-28 Arnaud Charlet <charlet@adacore.com>
813 * gnat_ugn.texi: Fix typo.
815 2009-07-28 Ed Schonberg <schonberg@adacore.com>
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.
823 2009-07-28 Robert Dewar <dewar@adacore.com>
825 * sinfo.ads: Update comments.
826 * exp_attr.adb: Minor reformatting
828 2009-07-28 Ed Schonberg <schonberg@adacore.com>
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
834 2009-07-28 Quentin Ochem <ochem@adacore.com>
836 * prj-tree.ads, prj-tree.adb (Free): Minor editing.
837 * prj.ads, prj.adb (Image): Ditto.
839 2009-07-28 Arnaud Charlet <charlet@adacore.com>
841 * frontend.adb: Minor reformatting.
842 (Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
845 2009-07-28 Bob Duff <duff@adacore.com>
847 * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
848 'Address to get a pointer to the protected body wrapper.
850 2009-07-28 Javier Miranda <miranda@adacore.com>
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
880 * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
882 * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
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
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
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.
912 2009-07-28 Robert Dewar <dewar@adacore.com>
914 * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
916 2009-07-28 Sergey Rybin <rybin@adacore.com>
918 * gnat_ugn.texi: Add section about gnatcheck rule exemption.
920 2009-07-28 Vadim Godunko <godunko@adacore.com>
922 * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
923 not defined by limits.h.
925 * g-socket.adb (Receive_Vector): Use minimum length from user's vector
926 length and maximum supported length of data vector.
928 2009-07-28 Gary Dismukes <dismukes@adacore.com>
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.
934 2009-07-28 Olivier Hainque <hainque@adacore.com>
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.
942 2009-07-28 Sergey Rybin <rybin@adacore.com>
944 * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
945 for the new format of the report file.
947 2009-07-28 Sergey Rybin <rybin@adacore.com>
949 * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
951 2009-07-28 Pascal Obry <obry@adacore.com>
953 * g-expect.adb: Record standard handles only on Windows.
955 2009-07-27 Emmanuel Briot <briot@adacore.com>
957 * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
960 2009-07-27 Sergey Rybin <rybin@adacore.com>
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.
966 2009-07-27 Gary Dismukes <dismukes@adacore.com>
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.
972 2009-07-27 Robert Dewar <dewar@adacore.com>
974 * a-except.adb, a-except-2005.ads: Minor reformatting
976 2009-07-27 Robert Dewar <dewar@adacore.com>
978 * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
980 2009-07-27 Javier Miranda <miranda@adacore.com>
982 * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
983 add some documentation explaining why the SCIL nodes must be generated
986 2009-07-27 Olivier Hainque <hainque@adacore.com>
988 * a-except.adb: Bind to __builtin_longjmp directly.
989 * a-except-2005.ads: Provide direct binding to __builtin_longjmp
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.
996 2009-07-27 Ed Schonberg <schonberg@adacore.com>
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.
1002 2009-07-27 Robert Dewar <dewar@adacore.com>
1004 * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
1007 2009-07-27 Ed Schonberg <schonberg@adacore.com>
1009 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
1010 Ravenscar mode. Error has already been posted on specification.
1012 * sem.adb: Further code clean ups.
1014 2009-07-27 Robert Dewar <dewar@adacore.com>
1016 * g-sse.ads: Minor reformatting
1018 2009-07-27 Arnaud Charlet <charlet@adacore.com>
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.
1028 2009-07-27 Ed Schonberg <schonberg@adacore.com>
1030 * sem.adb (Walk_Library_Items): If main unit is an instance body, do
1033 2009-07-27 Javier Miranda <miranda@adacore.com>
1035 * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
1036 the dispatching call has is expanded.
1038 2009-07-27 Ed Schonberg <schonberg@adacore.com>
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.
1044 * sem.adb (Do_Unit_And_Dependents): Further code reorganization to
1045 handle properly main units that are package specifications.
1047 2009-07-27 Geert Bosch <bosch@adacore.com>
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
1053 2009-07-27 Sergey Rybin <rybin@adacore.com>
1055 * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
1058 2009-07-27 Olivier Hainque <hainque@adacore.com>
1060 * g-sse.ads, g-ssvety.ads: Update comments.
1062 2009-07-27 Sergey Rybin <rybin@adacore.com>
1064 * gnat_ugn.texi: Update gnatcheck doc.
1066 2009-07-27 Arnaud Charlet <charlet@adacore.com>
1068 * lib-xref.ads: Allocate/document 'o' char for use by references to
1069 spark 'own' variables.
1071 2009-07-27 Gary Dismukes <dismukes@adacore.com>
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.
1079 2009-07-27 Robert Dewar <dewar@adacore.com>
1081 * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
1083 2009-07-27 Robert Dewar <dewar@adacore.com>
1085 * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
1087 * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
1089 2009-07-27 Geert Bosch <bosch@adacore.com>
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
1100 2009-07-26 Dave Korn <dave.korn.cygwin@gmail.com>
1103 * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
1104 (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
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.
1117 2009-07-23 Ed Schonberg <schonberg@adacore.com>
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.
1122 2009-07-23 Robert Dewar <dewar@adacore.com>
1124 * exp_ch6.adb: Minor reformatting
1126 2009-07-23 Ed Schonberg <schonberg@adacore.com>
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.
1133 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1135 * sem.adb (Do_Units_And_Dependents): Process bodies only for units that
1136 are in the context of the main unit body.
1138 2009-07-23 Sergey Rybin <rybin@adacore.com>
1140 * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
1141 misprint in rule description.
1143 2009-07-23 Gary Dismukes <dismukes@adacore.com>
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.
1151 2009-07-23 Robert Dewar <dewar@adacore.com>
1153 * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
1154 Minor code reorganization
1156 2009-07-23 Arnaud Charlet <charlet@adacore.com>
1158 * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
1159 for static analysis, only packed arrays are causing troubles.
1161 2009-07-23 Gary Dismukes <dismukes@adacore.com>
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.
1169 2009-07-23 Robert Dewar <dewar@adacore.com>
1171 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
1174 * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
1176 * s-regexp.adb: Minor reformatting
1177 * scos.ads: Minor reformatting.
1179 2009-07-23 Arnaud Charlet <charlet@adacore.com>
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
1189 2009-07-23 Pascal Obry <obry@adacore.com>
1191 * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
1194 2009-07-23 Robert Dewar <dewar@adacore.com>
1196 * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
1199 2009-07-23 Yannick Moy <moy@adacore.com>
1201 * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
1203 (Raise_Exception_If_No_More_Chars): Remove extra blank in exception
1205 (Raise_Exception): Ditto.
1207 2009-07-23 Olivier Hainque <hainque@adacore.com>
1209 * g-sse.ads: Simplify comment.
1211 2009-07-23 Olivier Hainque <hainque@adacore.com>
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
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.
1224 2009-07-23 Thomas Quinot <quinot@adacore.com>
1226 * scos.ads: Minor typo fix
1228 * gcc-interface/decl.c (validate_alignment): For the case of an
1229 implicit array base type, look for alignment clause on first subtype.
1231 2009-07-23 Robert Dewar <dewar@adacore.com>
1233 * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
1234 with tagged parent if tagged parent is fully repped.
1236 2009-07-23 Ed Schonberg <schonberg@adacore.com>
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
1243 2009-07-23 Arnaud Charlet <charlet@adacore.com>
1245 * a-convec.adb: Add comments about suspicious/subtle code.
1247 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1249 * einfo.ads: Document use of Alias in private overriding
1251 2009-07-23 Thomas Quinot <quinot@adacore.com>
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.
1258 * g-comlin.ads: Minor documentation clarification/rewording.
1259 * scos.ads: Minor comments update.
1260 * lib-writ.ads: Minor reformatting
1262 2009-07-23 Gary Dismukes <dismukes@adacore.com>
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.
1274 2009-07-23 Ed Schonberg <schonberg@adacore.com>
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.
1280 2009-07-23 Robert Dewar <dewar@adacore.com>
1282 * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
1283 division operands to 64-bit at all in any circumstances.
1285 2009-07-23 Robert Dewar <dewar@adacore.com>
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
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
1298 2009-07-23 Ed Schonberg <schonberg@adacore.com>
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
1305 2009-07-23 Robert Dewar <dewar@adacore.com>
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
1311 2009-07-23 Sergey Rybin <rybin@adacore.com>
1313 * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
1315 2009-07-23 Javier Miranda <miranda@adacore.com>
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.
1335 2009-07-23 Robert Dewar <dewar@adacore.com>
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
1341 2009-07-23 Robert Dewar <dewar@adacore.com>
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
1348 * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
1351 2009-07-23 Javier Miranda <miranda@adacore.com>
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.
1359 2009-07-23 Javier Miranda <miranda@adacore.com>
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.
1369 2009-07-23 Olivier Hainque <hainque@adacore.com>
1371 * gnat_rm.texi: Document the GNAT.SSE units.
1373 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1375 * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
1376 not null return if it appears on a subunit.
1378 2009-07-23 Robert Dewar <dewar@adacore.com>
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.
1383 (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
1384 left-side unless we really know the value is valid.
1386 * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
1387 reformatting. Minor code reorganization. Add comments.
1389 2009-07-23 Robert Dewar <dewar@adacore.com>
1391 * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
1394 2009-07-23 Gary Dismukes <dismukes@adacore.com>
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.
1401 2009-07-23 Javier Miranda <miranda@adacore.com>
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
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.
1419 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1421 * errout.adb (Error_Msg_NEL): If the entity in the initial message has
1422 Warnings_Off, do not emit continuation messages.
1424 * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
1427 2009-07-23 Emmanuel Briot <briot@adacore.com>
1429 * ali.adb: Minor comment update
1431 2009-07-23 Vasiliy Fofanov <fofanov@adacore.com>
1433 * s-win32.ads (HANDLE): Define to be the same size as address type.
1436 2009-07-23 Olivier Hainque <hainque@adacore.com>
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.
1445 2009-07-23 Ben Brosgol <brosgol@adacore.com>
1447 * gnat_ugn.texi: Wordsmithing.
1449 2009-07-23 Arnaud Charlet <charlet@adacore.com>
1451 * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
1453 2009-07-22 Eric Botcazou <ebotcazou@adacore.com>
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.
1458 2009-07-22 Brett Porter <porter@adacore.com>
1460 * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
1462 2009-07-22 Robert Dewar <dewar@adacore.com>
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.
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.
1473 2009-07-22 Sergey Rybin <rybin@adacore.com>
1475 * gnat_ugn.texi: Update doc for some gnatcheck rules.
1477 2009-07-22 Robert Dewar <dewar@adacore.com>
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.
1485 * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
1486 fixes and reformatting.
1488 2009-07-22 Robert Dewar <dewar@adacore.com>
1490 * g-socket.ads: Minor reformatting
1492 2009-07-22 Gary Dismukes <dismukes@adacore.com>
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.
1498 2009-07-22 Ed Falis <falis@adacore.com>
1500 * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
1503 2009-07-22 Arnaud Charlet <charlet@adacore.com>
1505 * adadecode.c: Make this file compilable outside of GCC.
1507 2009-07-22 Thomas Quinot <quinot@adacore.com>
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.
1513 2009-07-22 Bob Duff <duff@adacore.com>
1515 * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
1517 2009-07-22 Robert Dewar <dewar@adacore.com>
1519 * gnat_ugn.texi: Minor reformatting
1521 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1523 * errout.adb (Error_Msg): A style message within an instantiation
1524 should not be labelled as an error.
1526 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1528 * freeze.adb (Freeze_Entity): Do not generate extra formal for function
1529 in initialization expression if function does not have convention Ada.
1531 2009-07-22 Sergey Rybin <rybin@adacore.com>
1533 * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
1534 '--separate-label' to control label layout.
1536 2009-07-22 Robert Dewar <dewar@adacore.com>
1538 * exp_tss.ads, sem_eval.adb: Minor reformatting
1540 2009-07-22 Bob Duff <duff@adacore.com>
1542 * exp_dist.adb, exp_dist.ads: Update comments.
1544 2009-07-22 Brett Porter <porter@adacore.com>
1546 * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
1548 * sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
1550 2009-07-22 Gary Dismukes <dismukes@adacore.com>
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.
1555 * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
1556 used poor terminology.
1558 2009-07-22 Robert Dewar <dewar@adacore.com>
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.
1564 2009-07-22 Ed Schonberg <schonberg@adacore.com>
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
1571 2009-07-22 Thomas Quinot <quinot@adacore.com>
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
1578 2009-07-22 Nicolas Roche <roche@adacore.com>
1580 * seh_init.c: use RtlAddFunctionTable to register our SEH exception
1581 handler on x86_64 windows.
1583 2009-07-22 Arnaud Charlet <charlet@adacore.com>
1585 * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
1586 false positives in CodePeer, so ignore this pragma in this mode.
1588 2009-07-22 Thomas Quinot <quinot@adacore.com>
1590 * sem_util.adb, sem_ch10.adb: Minor reformatting
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.
1598 2009-07-22 Arnaud Charlet <charlet@adacore.com>
1600 * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
1601 checks in CodePeer_Mode.
1602 * gcc-interface/Make-lang.in: Update dependencies.
1604 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1606 * sem_aggr.adb: Improve error message.
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.
1613 2009-07-22 Thomas Quinot <quinot@adacore.com>
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.
1619 2009-07-22 Gary Dismukes <dismukes@adacore.com>
1621 * gnat1drv.adb: Fix spelling error.
1623 2009-07-22 Javier Miranda <miranda@adacore.com>
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.
1633 2009-07-22 Ed Schonberg <schonberg@adacore.com>
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
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.
1643 2009-07-22 Thomas Quinot <quinot@adacore.com>
1645 * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
1647 2009-07-22 Robert Dewar <dewar@adacore.com>
1649 * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
1650 * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
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)
1656 2009-07-22 Robert Dewar <dewar@adacore.com>
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.
1669 2009-07-20 Bob Duff <duff@adacore.com>
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.
1676 2009-07-20 Robert Dewar <dewar@adacore.com>
1678 * stylesw.ads: Minor documentation change.
1680 * types.ads: Minor reformatting
1682 2009-07-20 Javier Miranda <miranda@adacore.com>
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.
1694 2009-07-20 Arnaud Charlet <charlet@adacore.com>
1696 * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
1699 2009-07-20 Gary Dismukes <dismukes@adacore.com>
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'.
1706 2009-07-20 Arnaud Charlet <charlet@adacore.com>
1708 * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
1709 Also do not generate error when parsing a spec in CodePeer mode.
1711 2009-07-20 Javier Miranda <miranda@adacore.com>
1713 * checks.adb (Apply_Access_Check): Avoid checks on availability of
1714 runtime function Offset_To_Top_Ptr when compiling with no tagged
1716 * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
1717 adding code to the init proc when compiling for VM backends.
1719 2009-07-20 Vincent Celier <celier@adacore.com>
1721 * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
1722 account switches -gnatw.?
1724 2009-07-20 Thomas Quinot <quinot@adacore.com>
1726 * sem_dist.adb, exp_dist.adb: Minor reformatting
1728 * Make-generated.in: New file.
1730 * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
1732 2009-07-20 Javier Miranda <miranda@adacore.com>
1734 * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
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
1740 * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
1741 * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
1743 2009-07-20 Arnaud Charlet <charlet@adacore.com>
1745 * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
1746 CodePeer_Mode is set, to benefit from full front-end expansion
1749 2009-07-20 Ed Schonberg <schonberg@adacore.com>
1751 * sem_res.adb: Add guard.
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.
1757 2009-07-20 Jerome Guitton <guitton@adacore.com>
1759 * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
1761 2009-07-20 Vadim Godunko <godunko@adacore.com>
1763 * a-coorma.adb: Minor reformatting.
1765 2009-07-20 Ed Schonberg <schonberg@adacore.com>
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.
1773 2009-07-20 Tristan Gingold <gingold@adacore.com>
1775 * g-expect.adb: Avoid closeing already closed handle.
1777 2009-07-20 Robert Dewar <dewar@adacore.com>
1779 * sprint.adb (Write_Subprogram_Name): New procedure to output
1780 subprogram name with possible preceding $ (replaces
1781 Note_Implicit_Run_Time_Call).
1783 2009-07-20 Robert Dewar <dewar@adacore.com>
1785 * vms_data.ads: Minor reformatting
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
1799 * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
1801 * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
1803 (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
1804 (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
1806 * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
1807 logical operators (AND/OR/XOR), not comparison operators.
1809 * sprint.ads: Minor reformatting
1811 2009-07-20 Ed Schonberg <schonberg@adacore.com>
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.
1817 2009-07-20 Robert Dewar <dewar@adacore.com>
1819 * sem_ch13.adb: Minor reformatting
1821 * einfo.ads: Minor reformatting
1822 Component_Bit_Offset is no longer considered obsolescent
1824 2009-07-20 Nicolas Roche <roche@adacore.com>
1826 * a-calend.adb: Redefine time_t as signed integer with same size as
1828 * s-os_lib.ads: Redefine OS_Time as signed integer with same size as
1830 * adaint.h: On Windows 64bits declare OS_Time as long long instead of
1833 2009-07-20 Javier Miranda <miranda@adacore.com>
1835 * exp_tss.adb (Init_Proc): Add missing support for non-default C++
1836 constructors that have anonymous access type formals.
1838 * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
1839 class-wide arguments in case of imported C++ subprograms.
1841 * exp_ch3.adb (Build_Initialization_Call): Add assertion.
1843 2009-07-20 Sergey Rybin <rybin@adacore.com>
1845 * vms_data.ads: Update qualifiers.
1847 2009-07-20 Robert Dewar <dewar@adacore.com>
1849 * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
1852 2009-07-17 Richard Guenther <rguenther@suse.de>
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
1865 * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
1867 2009-07-15 Arnaud Charlet <charlet@adacore.com>
1869 * gcc-interface/Make-lang.in: Update dependencies
1871 * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
1873 2009-07-15 Robert Dewar <dewar@adacore.com>
1875 * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
1876 N_Label. Remove SCO table entry for entry point (not used).
1878 * par_sco.ads: Remove SCO entry point type (not used)
1880 * switch.adb: Minor code clean up.
1882 2009-07-15 Eric Botcazou <ebotcazou@adacore.com>
1884 * exp_dbug.ads (Base Record Types): Document enhanced encoding.
1886 2009-07-15 Thomas Quinot <quinot@adacore.com>
1888 * gnatls.adb: Minor reformatting
1890 * gnatcmd.adb: Minor code reorganization
1892 2009-07-15 Ed Schonberg <schonberg@adacore.com>
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.
1897 2009-07-15 Robert Dewar <dewar@adacore.com>
1899 * sem_ch10.adb: Minor reformatting throughout
1900 Minor code reorganization (put nested subprograms in alpha order)
1902 2009-07-15 Ed Schonberg <schonberg@adacore.com>
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
1908 2009-07-15 Hristian Kirtchev <kirtchev@adacore.com>
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.
1915 2009-07-15 Robert Dewar <dewar@adacore.com>
1917 * gnat_rm.texi: Document s-ststop.ads
1919 * impunit.ad: (Map_Array): New table of alternative names
1920 (Get_Kind_Of_Unit): Return possible suggested alternative name
1922 * impunit.ads (Get_Kind_Of_Unit): Return possible suggested
1925 * sem_ch10.adb (Analalyze_With_Clause): Add name of possible
1926 alternative unit if an implementation unit is with'ed.
1928 2009-07-15 Robert Dewar <dewar@adacore.com>
1930 * gnat_ugn.texi: Minor updates.
1932 * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
1934 2009-07-15 Ed Schonberg <schonberg@adacore.com>
1936 * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
1937 conditions of a derived boolean type.
1940 2009-07-15 Robert Dewar <dewar@adacore.com>
1942 * gnat1drv.adb: Initialize SCO tables
1944 * par-load.adb: Call SCO_Record for main unit spec
1946 * par.adb: Make call to SCO_Record for main unit
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
1957 * par_sco.ads (Initialize): New peocedure (replaces Init)
1959 * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
1962 2009-07-15 Arnaud Charlet <charlet@adacore.com>
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
1967 2009-07-15 Robert Dewar <dewar@adacore.com>
1969 * lib-load.adb: Minor reformatting
1971 * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
1973 2009-07-15 Robert Dewar <dewar@adacore.com>
1975 * par.adb: Minor reformatting
1976 Add ??? comment for possible bad comment
1978 * par-ch10.adb: Minor reformatting
1980 2009-07-15 Ed Schonberg <schonberg@adacore.com>
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.
1986 2009-07-15 Robert Dewar <dewar@adacore.com>
1988 * sem_ch3.adb: Minor reformatting
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
1994 2009-07-15 Robert Dewar <dewar@adacore.com>
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
2000 2009-07-15 Thomas Quinot <quinot@adacore.com>
2002 * opt.ads: Minor comment edits
2004 2009-07-15 Tristan Gingold <gingold@adacore.com>
2006 * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
2009 2009-07-15 Robert Dewar <dewar@adacore.com>
2011 * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
2014 * lib-writ.ads: Document addition of SCO lines to ALI file
2016 * par_sco.ads, par_sco.adb: New files.
2018 * opt.ads (Generate_SCO): New switch
2020 * par.adb (Par): Call SCO_Record to record SCO information
2022 * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
2024 * switch-c.adb: Recognize -gnateS to generate SCO information
2026 * usage.adb: Add line for -gnateS
2028 * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
2030 2009-07-15 Robert Dewar <dewar@adacore.com>
2032 * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
2035 2009-07-15 Thomas Quinot <quinot@adacore.com>
2037 * g-socthi-mingw.adb: Minor comment addition
2039 * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
2041 2009-07-15 Robert Dewar <dewar@adacore.com>
2043 * g-htable.ads, s-htable.ads: Minor reformatting
2045 2009-07-15 Robert Dewar <dewar@adacore.com>
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.
2051 * lib-xref.adb: Minor reformatting
2053 2009-07-15 Robert Dewar <dewar@adacore.com>
2055 * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
2056 Minor code reorganization
2058 2009-07-14 Taras Glek <tglek@mozilla.com>
2059 Rafael Espindola <espindola@google.com>
2061 * gcc-interface/Make-lang.in (ada.install-plugin): New target for
2062 installing plugin headers.
2064 2009-07-13 Ed Schonberg <schonberg@adacore.com>
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.
2070 2009-07-13 Robert Dewar <dewar@adacore.com>
2072 * output.adb: Minor comment addition for last change
2074 * sinfo.ads: Minor reformatting
2076 2009-07-13 Vasiliy Fofanov <fofanov@adacore.com>
2078 * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
2079 spawn failed like on all other targets.
2081 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2083 * exp_ch7.adb: Indicate origin of temporary for transient expression.
2085 2009-07-13 Thomas Quinot <quinot@adacore.com>
2087 * s-oscons-tmplt.c: Add comment.
2089 2009-07-13 Robert Dewar <dewar@adacore.com>
2091 * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
2092 reformatting. Minor code reorganization (add 9 argument version of
2095 * impunit.adb: Remove s-os_lib from list of system extensions.
2097 * sem_util.ads: Minor reformatting
2099 * output.adb: Add warnings off/on around System.OS_Lib.
2101 2009-07-13 Bob Duff <duff@adacore.com>
2103 * exp_dist.adb: Minor comment updates.
2105 2009-07-13 Gary Dismukes <dismukes@adacore.com>
2107 * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
2108 several references to CodePeer.
2110 2009-07-13 Bob Duff <duff@adacore.com>
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
2116 2009-07-13 Robert Dewar <dewar@adacore.com>
2118 * exp_ch4.adb: Minor comment change
2120 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2122 * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
2123 type of iteration, to prevent spurious warnings.
2125 2009-07-13 Nicolas Roche <roche@adacore.com>
2127 * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
2130 2009-07-13 Arnaud Charlet <charlet@adacore.com>
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
2135 (CodePeer_Mode): New -gnatC switch.
2136 (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
2139 2009-07-13 Eric Botcazou <ebotcazou@adacore.com>
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.
2144 2009-07-13 Robert Dewar <dewar@adacore.com>
2146 * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
2147 prj-strt.ads: Minor reformatting
2149 2009-07-13 Thomas Quinot <quinot@adacore.com>
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.
2154 2009-07-13 Doug Rupp <rupp@adacore.com>
2156 * symbols-processing-vms-ia64.adb (Process): Add variables and
2157 constants to retrieve and check for symbol visibility.
2159 2009-07-13 Javier Miranda <miranda@adacore.com>
2161 * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
2162 the identical type we remove the conversion completely because
2165 2009-07-13 Emmanuel Briot <briot@adacore.com>
2167 * prj-err.adb (Error_Msg): One more case where a message should be
2168 considered as a warning.
2170 * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
2172 2009-07-13 Thomas Quinot <quinot@adacore.com>
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.
2178 2009-07-13 Javier Miranda <miranda@adacore.com>
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.
2185 * sem_util.adb (Implements_Interface): Add missing support for subtypes.
2187 * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
2188 addition of assertion.
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
2194 (Find_Interface_Tag): Improve management of interfaces that are
2195 ancestors of tagged types.
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.
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.
2206 2009-07-13 Vasiliy Fofanov <fofanov@adacore.com>
2208 * mingw32.h: Make it explicit that we need XP or later.
2210 * initialize.c: Remove useless extern symbol declaration.
2212 * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
2213 code reuse in expect.c.
2215 * adaint.c: Changes throughout the Windows section to redesign storage
2216 of the child process list and the process identification.
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
2222 2009-07-13 Emmanuel Briot <briot@adacore.com>
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.
2231 2009-07-13 Robert Dewar <dewar@adacore.com>
2233 * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
2236 2009-07-13 Robert Dewar <dewar@adacore.com>
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
2241 2009-07-13 Emmanuel Briot <briot@adacore.com>
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
2248 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2250 * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
2251 Analyze_Membership_Op.
2253 * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
2254 Resolve_Membership_Op.
2256 * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
2259 2009-07-13 Robert Dewar <dewar@adacore.com>
2261 * clean.adb: Minor reformattting
2263 2009-07-13 Emmanuel Briot <briot@adacore.com>
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
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.
2288 * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
2290 2009-07-13 Arnaud Charlet <charlet@adacore.com>
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
2296 * opt.ads: Update comment.
2298 2009-07-13 Robert Dewar <dewar@adacore.com>
2300 * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
2301 prj.ads: Minor reformatting and code reorganization.
2303 * par-ch3.adb (Check_Restricted_Expression): New procedure
2305 2009-07-13 Ed Schonberg <schonberg@adacore.com>
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.
2312 2009-07-13 Emmanuel Briot <briot@adacore.com>
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.
2327 2009-07-13 Arnaud Charlet <charlet@adacore.com>
2329 * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
2332 2009-07-13 Emmanuel Briot <briot@adacore.com>
2334 * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
2337 2009-07-13 Thomas Quinot <quinot@adacore.com>
2339 * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
2340 Write,Input,Output} from private view to full view.
2342 * sem_type.adb, sem_type.ads: Minor reformatting
2344 2009-07-13 Nicolas Setton <setton@adacore.com>
2346 * exp_dbug.ads: Add documentation note on the utility of
2347 DW_AT_GNAT_encoding for IDEs.
2349 2009-07-13 Robert Dewar <dewar@adacore.com>
2351 * g-socthi-vxworks.adb: Minor reformatting
2353 * gnatcmd.adb: Minor reformatting
2355 2009-07-13 Thomas Quinot <quinot@adacore.com>
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.
2366 2009-07-13 Emmanuel Briot <briot@adacore.com>
2368 * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
2370 (Copy_ALI_Files): Avoid calls to read when pointing outside of the
2372 (Error_Report): Remove global variable, replaced by parameters.
2374 2009-07-13 Thomas Quinot <quinot@adacore.com>
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.
2380 2009-07-13 Pascal Obry <obry@adacore.com>
2382 * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
2384 2009-07-13 Emmanuel Briot <briot@adacore.com>
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.
2393 2009-07-13 Emmanuel Briot <briot@adacore.com>
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
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
2414 * gcc-interface/Makefile.in: Update gnatmake dependencies.
2416 2009-07-13 Robert Dewar <dewar@adacore.com>
2418 * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
2419 expression if extensions permitted.
2421 * par-ch4.adb (P_Membership_Test): New procedure (implement membership
2423 (P_Relation): Use P_Membership_Test
2425 * par.adb (P_Membership_Test): New procedure (implement membership set
2428 * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
2430 * sprint.adb (Sprint_Node): Handle set form for membership tests.
2432 2009-07-13 Thomas Quinot <quinot@adacore.com>
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
2440 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2442 * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
2443 Controlling_Result flag from the operation they override.
2445 2009-07-13 Arnaud Charlet <charlet@adacore.com>
2447 * gcc-interface/Make-lang.in: Update dependencies
2449 2009-07-13 Robert Dewar <dewar@adacore.com>
2451 * gnat_ugn.texi: The gnatf switch no longer is needed to get full
2452 details on unsupported constructs.
2454 * rtsfind.adb: Remove references to All_Errors_Mode, give errors
2457 * s-trafor-default.adb: Correct some warnings
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:
2463 * par-ch4.adb (Conditional_Expression): Capture proper location for
2464 conditional expression, should point to IF.
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).
2471 2009-07-13 Ed Schonberg <schonberg@adacore.com>
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.
2478 2009-07-13 Robert Dewar <dewar@adacore.com>
2480 * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
2482 * gnat_ugn.texi: Add documentation for -gnatw.m/.M
2484 * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
2486 * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
2487 Warn_On_Suspicious_Modulus_Value.
2489 * ug_words: Add entries for -gnatw.m/-gnatw.M.
2491 * usage.adb: Add lines for -gnatw.m/.M switches.
2493 * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
2495 2009-07-13 Javier Miranda <miranda@adacore.com>
2497 * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
2498 reading the Is_Interface attribute of the dispatching type.
2500 2009-07-13 Robert Dewar <dewar@adacore.com>
2502 * a-convec.adb: Minor code reorganization (use conditional expressions)
2504 2009-07-13 Robert Dewar <dewar@adacore.com>
2506 * freeze.adb (Check_Suspicious_Modulus): New procedure.
2508 2009-07-13 Robert Dewar <dewar@adacore.com>
2510 * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
2513 * par-ch4.adb: Minor reformatting
2515 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2517 * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
2518 => Is_Atomic_Aggregate
2520 2009-07-13 Emmanuel Briot <briot@adacore.com>
2522 * prj-nmsc.adb: Avoid traversing the list of source files if
2523 we have already processed all locally removed files.
2525 2009-07-13 Jose Ruiz <ruiz@adacore.com>
2527 * gnat_ugn.texi: Fix typo.
2529 2009-07-13 Robert Dewar <dewar@adacore.com>
2531 * freeze.adb: Minor reformatting
2532 Minor code reorganization (use Nkind_In)
2534 * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
2536 2009-07-11 Eric Botcazou <ebotcazou@adacore.com>
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
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
2566 2009-07-11 Eric Botcazou <ebotcazou@adacore.com>
2568 * gcc-interface/ada-tree.h: Minor reorganization.
2569 * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
2570 (gnat_print_type): Likewise.
2572 2009-07-11 Thomas Quinot <quinot@adacore.com>
2574 * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
2577 * exp_ch6.adb: Minor reformatting
2579 2009-07-11 Ed Schonberg <schonberg@adacore.com>
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.
2585 * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
2586 Expand_Atomic_Aggregate.
2588 2009-07-11 Emmanuel Briot <briot@adacore.com>
2590 * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
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
2596 (Find_Source): New subprogram.
2598 2009-07-10 Thomas Quinot <quinot@adacore.com>
2600 * exp_ch7.adb: Update comments.
2602 2009-07-10 Arnaud Charlet <charlet@adacore.com>
2604 * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
2605 clause if -gnatI is set instead of crashing.
2607 2009-07-10 Ed Schonberg <schonberg@adacore.com>
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.
2613 2009-07-10 Vincent Celier <celier@adacore.com>
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.
2619 2009-07-10 Javier Miranda <miranda@adacore.com>
2621 * einfo.adb (Directly_Designated_Type): Add assertion.
2623 * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
2624 access types before using attribute Directly_Designated_Type.
2626 2009-07-10 Emmanuel Briot <briot@adacore.com>
2628 * prj.ads: Minor typo fix
2630 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2632 * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
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.
2639 2009-07-10 Thomas Quinot <quinot@adacore.com>
2641 * sem_aggr.adb: Minor comments editing
2643 * exp_tss.adb, exp_ch3.adb: Minor reformatting
2645 2009-07-10 Robert Dewar <dewar@adacore.com>
2647 * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
2649 * exp_ch4.adb: Add ??? comment for conditional expressions on limited
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.
2656 * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
2657 conditional expression where we may not execute then then or else
2660 2009-07-10 Arnaud Charlet <charlet@adacore.com>
2662 * i-cexten.ads (bool): New type.
2664 2009-07-10 Robert Dewar <dewar@adacore.com>
2666 * sinfo.ads (N_Short_Circuit): New definition
2668 * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
2669 treepr.adb: Minor code reorganization (use N_Short_Circuit)
2671 2009-07-10 Javier Miranda <miranda@adacore.com>
2673 * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
2674 non-tagged record types.
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
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.
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.
2692 (Analyze_Object_Declaration): CPP_Constructors code cleanup.
2694 * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
2696 * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
2698 * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
2700 * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
2703 * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
2706 (pragma CPP_Class): Document that it can be used now with non-tagged
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.
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.
2720 2009-07-10 Thomas Quinot <quinot@adacore.com>
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.
2728 2009-07-10 Ed Schonberg <schonberg@adacore.com>
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.
2734 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2736 * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
2737 pragma, to capture global references if the context is generic.
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.
2743 2009-07-10 Vincent Celier <celier@adacore.com>
2745 * make.adb: Do not include object directories or library ALI
2746 directories of library projects in the object path.
2748 2009-07-10 Javier Miranda <miranda@adacore.com>
2750 * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
2751 Typ argument to ensure proper management of access types.
2753 2009-07-10 Ed Schonberg <schonberg@adacore.com>
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
2760 2009-07-10 Javier Miranda <miranda@adacore.com>
2762 * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
2763 inheriting attributes from a private Parent_Base.
2765 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2767 * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
2768 statements with the same condition.
2770 2009-07-10 Robert Dewar <dewar@adacore.com>
2772 * exp_ch4.adb (Raise_Accessibility_Error): New procedure
2774 2009-07-09 Tom Tromey <tromey@redhat.com>
2776 * raise-gcc.c: Include dwarf2h (unconditionally).
2778 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2780 * sem_ch10.adb (Install_Context): If the unit is a package body,
2781 install the private with_clauses of the corresponding package
2784 2009-07-09 Robert Dewar <dewar@adacore.com>
2786 * checks.adb: Minor reformatting
2788 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
2790 * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
2793 2009-07-09 Thomas Quinot <quinot@adacore.com>
2795 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
2796 Do not warn for a constant overlaying any constant object
2798 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2800 * sem_ch10.adb (Install_Context): If the unit is a package body,
2801 install the private with_clauses of the corresponding package
2804 2009-07-09 Robert Dewar <dewar@adacore.com>
2806 * checks.adb: Minor reformatting
2808 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
2810 * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
2813 2009-07-09 Thomas Quinot <quinot@adacore.com>
2815 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
2816 Do not warn for a constant overlaying any constant object
2818 2009-07-09 Arnaud Charlet <charlet@adacore.com>
2820 * gcc-interface/Make-lang.in: Update dependencies
2822 2009-07-09 Thomas Quinot <quinot@adacore.com>
2824 * g-socket.adb (Check_Selector): Do not create local copies of the
2825 socket sets on the stack.
2827 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
2829 * gnat_ugn.texi: Add missing VMS translations.
2831 2009-07-09 Ed Schonberg <schonberg@adacore.com>
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.
2837 2009-07-09 Gary Dismukes <dismukes@adacore.com>
2839 * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
2840 the check gets registered for any available local handler
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.
2847 * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
2850 2009-07-09 Steve Baird <baird@adacore.com>
2852 * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
2854 (Expand_N_Exception_Declaration): Fix handling of exceptions
2855 declared in a subprogram.
2857 2009-07-09 Emmanuel Briot <briot@adacore.com>
2859 * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
2862 2009-07-09 Thomas Quinot <quinot@adacore.com>
2864 * freeze.adb: Minor reformatting
2866 * exp_ch3.adb: Minor comment fix.
2868 * sinfo.ads: Minor comment fix
2870 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2872 * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
2874 2009-07-09 Ed Schonberg <schonberg@adacore.com>
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.
2881 2009-07-09 Emmanuel Briot <briot@adacore.com>
2883 * prj-pp.adb (Print): Fix handling of source index when set on a
2886 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2888 * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
2889 a temporary to the source expression whose value it captures.
2891 * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
2893 2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2895 * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
2898 2009-07-07 Gary Dismukes <dismukes@adacore.com>
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).
2906 * exp_ch4.adb (Expand_N_Slice): Restore code that calls
2909 2009-07-07 Robert Dewar <dewar@adacore.com>
2911 * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
2913 2009-07-07 Javier Miranda <miranda@adacore.com>
2915 * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
2916 designated type comes from a limited views.
2918 2009-07-07 Emmanuel Briot <briot@adacore.com>
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
2924 2009-07-07 Robert Dewar <dewar@adacore.com>
2926 * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
2928 2009-07-07 Sergey Rybin <rybin@adacore.com>
2930 * gnat_ugn.texi: Add an example to the description of gnatcheck
2931 'Style_Checks' rule option.
2933 2009-07-07 Tristan Gingold <gingold@adacore.com>
2935 * seh_init.c: Fix inline assembly statement in seh_init.c
2937 2009-07-07 Ed Schonberg <schonberg@adacore.com>
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.
2942 2009-07-07 Robert Dewar <dewar@adacore.com>
2944 * s-osprim-mingw.adb: Minor code reorganization
2946 2009-07-07 Robert Dewar <dewar@adacore.com>
2948 * prj-nmsc.adb: Minor reformatting
2950 2009-07-07 Pascal Obry <obry@adacore.com>
2952 * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
2953 cases where Pattern is longer than Source.
2955 2009-07-07 Pascal Obry <obry@adacore.com>
2957 * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
2959 2009-07-07 Emmanuel Briot <briot@adacore.com>
2961 * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
2964 2009-07-07 Ed Schonberg <schonberg@adacore.com>
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.
2970 2009-07-07 Robert Dewar <dewar@adacore.com>
2972 * a-calend.adb: Minor code reorganization (use conditional expressions)
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.
2981 2009-07-07 Gary Dismukes <dismukes@adacore.com>
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).
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).
2993 * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
2994 scalar object initialization if needed.
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.
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.
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).
3017 * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
3018 range check on scalar component associations when needed.
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.
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.
3030 2009-07-07 Ed Schonberg <schonberg@adacore.com>
3032 * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
3033 overloaded expressions in a conditional expressions.
3035 * sem_res.adb (Resolve): Handle properly overloaded conditional
3038 2009-07-07 Robert Dewar <dewar@adacore.com>
3040 * scng.adb: Minor reformattting
3042 * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
3043 association allows conditional expression without parens.
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
3051 * par.adb (P_Conditional_Expression): New procedure
3052 (P_Expression_If_OK): New procedure
3054 * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
3055 form of conditional expression.
3057 * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
3058 missing True argument if ELSE argument missing.
3060 * sinfo.adb (Is_Elsif): New flag
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
3066 2009-07-06 Olivier Hainque <hainque@adacore.com>
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.
3072 2009-07-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3075 * init.c (APPLE): Include <mach/mach_init.h>.
3076 (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
3078 2009-07-04 Eric Botcazou <ebotcazou@adacore.com>
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.
3092 2009-07-04 Laurent GUERBY <laurent@guerby.net>
3095 * tracebak.c (__gnat_backtrace): Fix old-style definition.
3097 2009-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3099 * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
3101 2009-07-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3104 * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
3107 2009-07-01 Eric Botcazou <ebotcazou@adacore.com>
3109 * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
3111 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
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.
3117 * gcc-interface/lang-specs.h: Fix copyright date.
3119 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
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.
3127 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
3129 * raise-gcc.c: Include dwarf2.h conditionally.
3131 2009-06-29 Tom Tromey <tromey@redhat.com>
3133 * raise-gcc.c: Include elf/dwarf2.h.
3135 2009-06-27 Laurent GUERBY <laurent@guerby.net>
3137 * tb-gcc.c (trace_callback): Add casts to silence warning.
3139 2009-06-27 Eric Botcazou <ebotcazou@adacore.com>
3141 * tb-gcc.c: Fix copyright notice.
3143 2009-06-27 Eric Botcazou <ebotcazou@adacore.com>
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.
3164 2009-06-26 Laurent GUERBY <laurent@guerby.net>
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.
3181 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
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.
3187 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
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
3196 2009-06-26 Matthew Gingell <gingell@adacore.com>
3198 * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
3200 2009-06-26 Vincent Celier <celier@adacore.com>
3202 * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
3205 2009-06-26 Robert Dewar <dewar@adacore.com>
3207 * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
3209 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
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.
3220 2009-06-25 Vincent Celier <celier@adacore.com>
3222 * vms_data.ads: Minor comment change
3224 2009-06-25 Gary Dismukes <dismukes@adacore.com>
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.
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.
3234 * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
3235 to OK_For_Limited_Init.
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
3243 * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
3244 (OK_For_Limited_Init): Add type parameter.
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
3254 * sem_ch4.adb (Analyze_Allocator): Add type in call to
3255 OK_For_Limited_Init.
3257 * sem_ch6.adb (Check_Limited_Return): Add type in call to
3258 OK_For_Limited_Init.
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.
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.
3268 2009-06-25 Emmanuel Briot <briot@adacore.com>
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
3277 (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
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.
3283 2009-06-25 Javier Miranda <miranda@adacore.com>
3285 * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
3286 types on qualified expression in calls to imported C++ constructors.
3288 * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
3289 imported C++ constructors.
3291 2009-06-25 Sergey Rybin <rybin@adacore.com>
3293 * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
3295 2009-06-25 Vincent Celier <celier@adacore.com>
3297 * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
3298 provided, on Windows change all '/' to '\'.
3300 * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
3301 used. Minor comment changes
3303 * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
3304 Remove_Forbidden_File_Name.
3306 2009-06-25 Quentin Ochem <ochem@adacore.com>
3308 * prj.ads (Unit_Index): Now general access type.
3310 2009-06-25 Pascal Obry <obry@adacore.com>
3312 * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
3314 2009-06-25 Emmanuel Briot <briot@adacore.com>
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).
3330 2009-06-25 Pascal Obry <obry@adacore.com>
3332 * sem_ch4.adb: Minor reformatting.
3334 * a-strsea.adb: Fix confusion between 'Length and 'Last.
3336 2009-06-25 Ed Schonberg <schonberg@adacore.com>
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.
3344 2009-06-25 Emmanuel Briot <briot@adacore.com>
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.
3350 2009-06-25 Emmanuel Briot <briot@adacore.com>
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
3357 2009-06-25 Arnaud Charlet <charlet@adacore.com>
3359 * gcc-interface/Make-lang.in: Remove references to sem_maps.o
3361 * sem_maps.adb, sem_maps.ads: Removed, not used.
3363 2009-06-25 Ed Falis <falis@adacore.com>
3365 * s-vxwext-rtp.ads: Add missing declaration
3367 2009-06-25 Matthew Gingell <gingell@adacore.com>
3369 * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
3370 speed up unmapped case.
3372 2009-06-25 Vincent Celier <celier@adacore.com>
3374 * prj-nmsc.adb (Check): Change error message for illegal abstract
3377 2009-06-25 Robert Dewar <dewar@adacore.com>
3379 * gnat_ugn.texi: Add note on use of -gnatct for ASIS
3381 2009-06-25 Emmanuel Briot <briot@adacore.com>
3383 * fmap.ads: Add documentation on mapping files
3385 2009-06-25 Robert Dewar <dewar@adacore.com>
3387 * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
3390 2009-06-24 Robert Dewar <dewar@adacore.com>
3392 * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
3394 * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
3398 2009-06-24 Ed Schonberg <schonberg@adacore.com>
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.
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
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.
3413 2009-06-24 Doug Rupp <rupp@adacore.com>
3415 * init.c [VMS] Resignal C$_SIGKILL
3417 2009-06-24 Ed Falis <falis@adacore.com>
3419 * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
3420 Define ERROR in body for VxWorks 6 kernel
3422 2009-06-24 Pascal Obry <obry@adacore.com>
3424 * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
3425 in [Send/Receive]_Socket.
3427 2009-06-24 Emmanuel Briot <briot@adacore.com>
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
3434 (Other_Part): New subprogram.
3436 2009-06-24 Emmanuel Briot <briot@adacore.com>
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 '.'.
3441 2009-06-24 Vincent Celier <celier@adacore.com>
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
3447 2009-06-24 Robert Dewar <dewar@adacore.com>
3449 * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
3450 prj-env.adb: Minor reformatting
3452 2009-06-24 Ed Falis <falis@adacore.com>
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.
3459 * gcc-interface/Make-lang.in: Update dependencies
3461 2009-06-24 Emmanuel Briot <briot@adacore.com>
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
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
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.
3481 2009-06-24 Javier Miranda <miranda@adacore.com>
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
3488 (Tagged_Membership): Handle entities from the limited view.
3490 2009-06-24 Emmanuel Briot <briot@adacore.com>
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
3502 2009-06-24 Javier Miranda <miranda@adacore.com>
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.
3508 2009-06-24 Hristian Kirtchev <kirtchev@adacore.com>
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.
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.
3519 2009-06-24 Robert Dewar <dewar@adacore.com>
3521 * exp_ch6.adb: Minor reformatting
3523 * layout.adb: Minor reformatting
3525 * make.adb: Minor reformatting
3527 2009-06-24 Thomas Quinot <quinot@adacore.com>
3529 * sem_ch10.adb: Minor code reorganization.
3531 2009-06-24 Eric Botcazou <ebotcazou@adacore.com>
3533 * ttypes.ads: Minor editing.
3535 2009-06-24 Robert Dewar <dewar@adacore.com>
3537 * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
3538 in deciding to do call-by-copy code.
3540 2009-06-24 Vincent Celier <celier@adacore.com>
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
3546 2009-06-23 Olivier Hainque <hainque@adacore.com>
3548 * gcc-interface/utils.c (handle_vector_size_attribute): Import from
3549 c-common.c and populate in gnat_internal_attribute_table.
3551 2009-06-23 Ed Schonberg <schonberg@adacore.com>
3553 * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
3554 Available_View only when designated type of an anonymous access type
3557 2009-06-23 Robert Dewar <dewar@adacore.com>
3559 * sem_ch10.adb: Minor reformatting
3561 * ali.ads: Mino reformatting.
3563 * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
3564 turning off inlining if ASIS mode active).
3566 * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
3567 This belongs in gnat1drv.adb after switches are scanned.
3569 2009-06-23 Hristian Kirtchev <kirtchev@adacore.com>
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.
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
3585 * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
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.
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.
3596 2009-06-23 Ed Schonberg <schonberg@adacore.com>
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.
3603 2009-06-23 Robert Dewar <dewar@adacore.com>
3605 * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
3606 xref_lib.adb: Minor reformatting
3608 2009-06-23 Robert Dewar <dewar@adacore.com>
3610 * a-stzhas.adb: Provide dummy body to avoid build problems with old
3611 versions which did have a body for this unit.
3613 2009-06-23 Vincent Celier <celier@adacore.com>
3615 * prj-attr.adb: Attribute names Initial_Required_Switches and
3616 Final_Required_Switches changed to Leading_Required_Switches and
3617 Trailing_Required_Switches.
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.
3623 * prj.ads (Language_Config): Component Initial_Required_Switches and
3624 Final_Required_Switches changed to Leading_Required_Switches and
3625 Trailing_Required_Switches.
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.
3631 2009-06-23 Thomas Quinot <quinot@adacore.com>
3633 * prj-conf.adb: Minor reformatting
3635 * xref_lib.adb: Minor cleanup
3637 2009-06-23 Emmanuel Briot <briot@adacore.com>
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.
3643 2009-06-23 Ed Schonberg <schonberg@adacore.com>
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.
3651 2009-06-23 Javier Miranda <miranda@adacore.com>
3653 * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
3654 designated types referencing entities from the limited view.
3656 2009-06-23 Robert Dewar <dewar@adacore.com>
3658 * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
3660 * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
3663 * prj-conf.ads: Minor reformatting
3665 * prj-conf.adb: Minor reformatting
3667 2009-06-23 Vasiliy Fofanov <fofanov@adacore.com>
3669 * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
3670 to correspond to the log format that gnatmem now expects.
3672 2009-06-23 Vincent Celier <celier@adacore.com>
3674 * prj-attr.adb: New attributes Initial_Required_Switches,
3675 Final_Required_Switches and Object_File_Switches
3677 * prj-nmsc.adb (Process_Compiler): Process new attributes
3678 Name_Final_Required_Switches, Name_Initial_Required_Switches and
3679 Name_Object_File_Switches.
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.
3685 * snames.ads-tmpl: New standard names Initial_Required_Switches,
3686 Final_Required_Switches and Object_File_Switches
3688 2009-06-23 Pascal Obry <obry@adacore.com>
3690 * s-strhas.adb, s-strhas.ads: Minor reformatting.
3692 2009-06-23 Ed Schonberg <schonberg@adacore.com>
3694 * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
3695 not indicate that the enclosing unit needs a body.
3697 2009-06-23 Emmanuel Briot <briot@adacore.com>
3699 * prj-conf.ads, prj-conf.adb: New files part of the project manager.
3701 2009-06-23 Ed Schonberg <schonberg@adacore.com>
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.
3709 2009-06-23 Matthew Gingell <gingell@adacore.com>
3711 * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
3713 2009-06-22 Jose Ruiz <ruiz@adacore.com>
3715 * sysdep.c (__gnat_localtime_tzoff for RTX):
3716 SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
3717 GetTimeZoneInformation instead.
3719 2009-06-22 Robert Dewar <dewar@adacore.com>
3721 * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
3723 2009-06-22 Ed Schonberg <schonberg@adacore.com>
3725 * sem_ch12.adb (Collect_Previous_Instances): Do not collect
3726 instantiations declared in a previous generic package body.
3728 2009-06-22 Robert Dewar <dewar@adacore.com>
3730 * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
3731 restriction No_Direct_Boolean_Operators.
3733 2009-06-22 Thomas Quinot <quinot@adacore.com>
3735 * bindusg.adb: Minor fixes to gnatbind usage message
3737 * sem_eval.adb: Minor reformatting
3739 2009-06-22 Javier Miranda <miranda@adacore.com>
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.
3747 2009-06-22 Thomas Quinot <quinot@adacore.com>
3749 * sem_ch6.adb: Minor reformatting
3751 2009-06-22 Ed Schonberg <schonberg@adacore.com>
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.
3759 2009-06-22 Ed Schonberg <schonberg@adacore.com>
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.
3765 2009-06-22 Vincent Celier <celier@adacore.com>
3767 * prj-nmsc.adb (Locate_Directory): Indicate the project name when
3768 creating a directory automatically.
3770 2009-06-22 Eric Botcazou <ebotcazou@adacore.com>
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.
3776 2009-06-22 Thomas Quinot <quinot@adacore.com>
3778 * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
3781 2009-06-22 Matthew Gingell <gingell@adacore.com>
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.
3792 2009-06-22 Ed Falis <falis@adacore.com>
3794 * sysdep.c: remove include for nfsLib.h and an NFS specific error
3795 message for VxWorks 653 vThreads: not supported by the OS.
3797 * gsocket.h: disable sockets for VxWorks 653 vThreads.
3799 2009-06-22 Robert Dewar <dewar@adacore.com>
3801 * sem_ch6.adb: Add ??? comment for bad use of Style_Check
3803 2009-06-22 Robert Dewar <dewar@adacore.com>
3805 * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
3808 * freeze.adb: Minor comment updates
3810 * s-valrea.adb (Bad_Based_Value): New procedure
3811 (Scan_Real): Raise exceptions with messages
3813 2009-06-22 Matthew Gingell <gingell@adacore.com>
3815 * adaint.h: Complete previous change.
3817 2009-06-22 Thomas Quinot <quinot@adacore.com>
3819 * exp_ch7.ads, exp_ch3.adb: Minor reformatting
3821 2009-06-22 Ed Schonberg <schonberg@adacore.com>
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.
3828 2009-06-22 Vincent Celier <celier@adacore.com>
3830 * gnatcmd.adb (Check_Files): Close temporary files after all file names
3831 have been written into it.
3833 2009-06-22 Matthew Gingell <gingell@adacore.com>
3835 * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
3838 2009-06-22 Thomas Quinot <quinot@adacore.com>
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.
3843 2009-06-22 Pat Rogers <rogers@adacore.com>
3845 * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
3847 2009-06-22 Jerome Lambourg <lambourg@adacore.com>
3849 * freeze.adb: Add comments.
3851 2009-06-21 Thomas Quinot <quinot@adacore.com>
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
3863 (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
3864 name clash with new subprogram introduced in Exp_Util.
3866 2009-06-21 Robert Dewar <dewar@adacore.com>
3868 * einfo.ads: Minor reformatting
3870 2009-06-21 Ed Falis <falis@adacore.com>
3872 * env.c (__gnat_environ): return NULL for vThreads - unimplemented
3874 2009-06-21 Eric Botcazou <ebotcazou@adacore.com>
3876 * einfo.ads: Update comments.
3878 2009-06-21 Hristian Kirtchev <kirtchev@adacore.com>
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.
3884 2009-06-21 Vincent Celier <celier@adacore.com>
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.
3892 2009-06-21 Jerome Lambourg <lambourg@adacore.com>
3894 * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
3895 case of VM convention arrays.
3897 2009-06-20 Robert Dewar <dewar@adacore.com>
3899 * a-nudira.adb: Minor reformatting
3901 2009-06-20 Ed Schonberg <schonberg@adacore.com>
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.
3907 2009-06-20 Robert Dewar <dewar@adacore.com>
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.
3912 2009-06-20 Thomas Quinot <quinot@adacore.com>
3914 * sem_prag.adb: Minor reformatting
3916 * exp_disp.ads: Minor reformatting
3918 2009-06-20 Ed Schonberg <schonberg@adacore.com>
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.
3923 * exp_ch3.adb: Rename various freeze operations that perform expansion
3924 actions, to prevent confusion with subprograms in the freeze package.
3926 2009-06-20 Ed Schonberg <schonberg@adacore.com>
3928 * sem.adb (Walk_Library_Units): Check instantiations first.
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.
3934 * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
3935 a primitive operation of a synchronized tagged type that has a
3938 2009-06-20 Thomas Quinot <quinot@adacore.com>
3940 * einfo.ads: Fix typo.
3942 2009-06-20 Ed Falis <falis@adacore.com>
3944 * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
3946 2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
3948 * gcc-interface/trans.c (emit_check): Do not wrap up the result
3950 (protect_multiple_eval): Always protect complex expressions.
3952 2009-06-19 Emmanuel Briot <briot@adacore.com>
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.
3957 2009-06-19 Javier Miranda <miranda@adacore.com>
3959 * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
3960 Save and restore the visibility of the parent when installed.
3962 2009-06-19 Jose Ruiz <ruiz@adacore.com>
3964 * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
3965 by Common which contains all these fields.
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.
3972 2009-06-19 Robert Dewar <dewar@adacore.com>
3974 * a-einuoc.ads: Minor reformatting
3976 2009-06-19 Ed Falis <falis@adacore.com>
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.
3981 2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
3983 * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
3985 2009-06-19 Robert Dewar <dewar@adacore.com>
3987 * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
3990 * checks.adb (Determine_Range): Move the test for generic types later.
3992 * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
3994 (Eval_Relational_Op): Fold more cases including string compares
3996 * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
3999 2009-06-19 Robert Dewar <dewar@adacore.com>
4001 * sem_type.ads, sem_ch12.adb: Minor reformatting
4003 * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
4005 2009-06-19 Ed Schonberg <schonberg@adacore.com>
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.
4011 * sem.adb (Walk_Library_Units): exclude generic package declarations
4014 2009-06-19 Thomas Quinot <quinot@adacore.com>
4016 * i-vxwoio.ads: Add comments
4018 2009-06-19 Thomas Quinot <quinot@adacore.com>
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.
4031 2009-06-19 Robert Dewar <dewar@adacore.com>
4033 * checks.adb: Minor reformatting
4035 2009-06-19 Jose Ruiz <ruiz@adacore.com>
4037 * env.c (__gnat_environ): RTX does not support this functionality.
4039 2009-06-19 Ed Schonberg <schonberg@adacore.com>
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.
4045 2009-06-19 Robert Dewar <dewar@adacore.com>
4047 * checks.adb (Determine_Range): Do not attempt to get range of generic
4050 2009-06-19 Sergey Rybin <rybin@adacore.com>