1 2009-09-21 Joel Sherrill <joel.sherrill@oarcorp.com>
3 * s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0.
4 Bind to getpagesize() in RTEMS 4.10 and newer.
6 2009-09-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8 * env.c [__alpha__ && __osf__] (_BSD): Define.
9 * init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
12 2009-09-18 Pascal Obry <obry@adacore.com>
14 * mingw32.h: Activate Unicode support for x86-64 Windows platform.
16 2009-09-18 Vadim Godunko <godunko@adacore.com>
18 * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
20 2009-09-18 Javier Miranda <miranda@adacore.com>
22 * exp_aggr.adb (Backend_Processing_Possible): Disable backend
23 processing for array aggregates in the VM backend if the array has
26 2009-09-18 Ed Schonberg <schonberg@adacore.com>
28 * sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
29 the prefix indicates a previous semantic error, and this is the first
32 2009-09-18 Bob Duff <duff@adacore.com>
34 * gnat_ugn.texi: Minor editing.
36 2009-09-18 Vincent Celier <celier@adacore.com>
38 * prj.ads, prj.adb (Project_Data): New component
39 Imported_Directories_Switches.
41 2009-09-18 Pascal Obry <obry@adacore.com>
43 * mingw32.h: Include standard _mingw.h file.
44 Define _WIN32_WINNT only if not already defined.
46 2009-09-18 Thomas Quinot <quinot@adacore.com>
48 * g-socket.adb (Is_Open): New function indicating whether a
49 Selector_Type object is open.
51 2009-09-18 Vincent Celier <celier@adacore.com>
53 * osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
54 is deleted before creating it.
56 2009-09-18 Robert Dewar <dewar@adacore.com>
58 * bindgen.adb: Minor reformatting
60 2009-09-18 Arnaud Charlet <charlet@adacore.com>
62 * s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
63 s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
64 signal handler is installed.
65 * s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
66 tasks if Abort_Task_Interrupt cannot be used.
68 2009-09-18 Vincent Celier <celier@adacore.com>
70 * prj-tree.ads: Minor comment update
72 2009-09-17 Bob Duff <duff@adacore.com>
74 * g-socket.ads: Document the fact that Close_Selector has no effect on
76 * g-socket.adb: Raise an exception when a Selector that should be open
78 (Check_Selector): Declare RSig as a constant rather than a renames,
81 2009-09-17 Robert Dewar <dewar@adacore.com>
83 * exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
84 prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb,
85 prj-tree.ads: Minor reformatting
87 2009-09-17 Emmanuel Briot <briot@adacore.com>
89 * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
91 (Do_Autoconf): If the object directory does not exists, create auto.cgpr
92 in a temporary directory instead
94 2009-09-17 Bob Duff <duff@adacore.com>
96 * a-dynpri.adb (Set_Priority): Don't do anything if the task is already
98 (Get_Priority): Correct message for "terminated" case -- it said "null".
100 2009-09-17 Robert Dewar <dewar@adacore.com>
102 * exp_ch6.adb: Minor reformatting
104 2009-09-17 Emmanuel Briot <briot@adacore.com>
106 * gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
107 switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
108 (Project_Node_Tree_Data.Project_Path): New field.
110 * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
112 2009-09-17 Emmanuel Briot <briot@adacore.com>
114 * prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
115 Remove duplicate code.
116 (Prj.Ext): Fix memory leak
117 (Check): Now allow the syntax "-Xfoo=" to set an empty value to the
118 variable. This was previously allowed in the code in
119 Is_External_Assignment, and some tests rely on it
121 2009-09-17 Bob Duff <duff@adacore.com>
123 * gnat_rm.texi, s-oscons-tmplt.c: Minor typo
125 2009-09-17 Emmanuel Briot <briot@adacore.com>
127 * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
128 makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
129 prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
130 prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
131 Scenario variables are now specific to each project tree loaded in
135 2009-09-17 Javier Miranda <miranda@adacore.com>
137 * exp_disp.adb (Make_DT): Remove wrong line of code that was
138 undocumented and probably added by mistake.
140 2009-09-16 Eric Botcazou <ebotcazou@adacore.com>
142 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
143 conversions between original and packable version of types from
146 2009-09-16 Eric Botcazou <ebotcazou@adacore.com>
148 * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
149 If a padding type was made for the field, declare it.
150 (components_to_record): Add DEBUG_INFO_P parameter. Adjust call
151 to gnat_to_gnu_field and call to self.
152 (gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
153 <E_Array_Subtype>: Likewise.
154 Adjust calls to gnat_to_gnu_field and components_to_record.
156 2009-09-16 Robert Dewar <dewar@adacore.com>
158 * prj-nmsc.adb: Minor reformatting
160 2009-09-16 Ed Schonberg <schonberg@adacore.com>
162 * exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
163 expression is a by-reference type (tagged or inherently limited)
164 introduce an access type to capture references to the values of each
165 branch of the conditional.
167 2009-09-16 Emmanuel Briot <briot@adacore.com>
169 * prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
170 (Project_Name_And_Node.Display_Name): new field
171 The display name of a project (as written in the .gpr file) is now
172 computed when the project file itself is parsed, not when it is
175 2009-09-16 Thomas Quinot <quinot@adacore.com>
177 * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
178 intrinsics untouched (to be expanded later on by gigi) if an external
179 name has been specified.
180 (Freeze_Entity): Do not generate a default external name for
181 imported subprograms with convention Intrinsic (so that the above code
182 can identify the case where an external name has been explicitly
185 * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
186 replaced by something else due to an existing #define clause.
188 2009-09-16 Ed Schonberg <schonberg@adacore.com>
190 * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
191 Parameter_Association node, created for the extra actual generated for
192 an access parameter of a function that dispatches on result, to prevent
193 double generation of such actuals when the call is rewritten is a
195 * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
196 * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
197 that carry this flag when rewriting the original call as a dispatching
198 call, after propagating the controlling tag.
200 2009-09-16 Vincent Celier <celier@adacore.com>
202 * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
204 (Check_File): New parameter Source_Dir_Rank, to check if a duplicate
206 (Find_Source_Dirs): New parameter Rank to be recorded with the source
208 (Search_Directories): Call Check_File with the rank of the directory
209 * prj.adb (Project_Empty): Add new component Source_Dir_Ranks
210 (Free): Free also Number_Lists
211 (Reset): Init also Number_Lists
212 * prj.ads (Number_List_Table): New dynamic table for lists of numbers
213 (Source_Data): New component Source_Dir_Rank. Remove component
214 Known_Order_Of_Source_Dirs, no longer needed.
215 (Project_Data): New component Source_Dir_Ranks
216 (Project_Tree_Data): New components Number_Lists
218 2009-09-16 Vincent Celier <celier@adacore.com>
220 * gprep.adb (Yes_No): New global constant
221 Unix_Line_Terminators: New global Boolean variable
222 (Process_One_File): Create the out file with a "Text_Translation=" form
223 that depends on the use of option -T.
224 (Scan_Command_Line): Add option -T
225 (Usage): Add line for option -T
227 2009-09-16 Ed Schonberg <schonberg@adacore.com>
229 * exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
230 predicate that describes a proper subset of
231 Is_Predefined_Dispatching_Operation and excludes stream operations,
232 which can be overridden by the user.
233 * sem_ch6.adb (Create_Extra_Formals): use
234 Is_Predefined_Internal_Operation, so that stream operations get extra
236 * exp_ch6.adb (Prevent double generation of extra actuals in calls to
237 'Input, which may be expanded twice, first as a function call and then
238 as a dispatching call.
240 2009-09-16 Thomas Quinot <quinot@adacore.com>
242 * s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
243 * g-expect.adb (Set_Up_Child_Communications): Use
244 System.OS_Constants.Target_OS to determine whether running on Windows.
246 2009-09-14 Richard Henderson <rth@redhat.com>
248 * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
250 2009-09-14 Eric Botcazou <ebotcazou@adacore.com>
252 * exp_dbug.ads (Packed Array Encoding): Document the new encoding for
253 the unconstrained case.
254 * gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
255 the encoding. Do not give a name to the pointer type to the XUT type.
256 * gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
257 for fat pointer types, if any. Make sure DECL_ARTIFICIAL is cleared
258 on nodes with DECL_ORIGINAL_TYPE set.
259 (update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
260 for fat pointer types. Make sure DECL_ARTIFICIAL is cleared.
262 2009-09-14 Richard Henderson <rth@redhat.com>
264 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
265 default_init_unwind_resume_libfunc.
266 * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use
267 __builtin_eh_pointer.
268 * gcc-interface/utils.c (gnat_install_builtins): Update call
269 to build_common_builtin_nodes.
271 2009-09-13 Richard Guenther <rguenther@suse.de>
272 Rafael Avila de Espindola <espindola@google.com>
274 * gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables
275 eh_personality_libfunc and lang_eh_runtime_type.
276 (LANG_HOOKS_EH_PERSONALITY): Define.
277 (gnat_eh_personality_decl): New static variable.
278 (gnat_eh_personality): New static function.
279 Include gt-ada-misc.h.
280 * gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
281 * gcc-interface/config-lang.in (gtfiles): Add misc.c.
283 2009-09-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
286 * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
288 2009-09-08 Eric Botcazou <ebotcazou@adacore.com>
290 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
292 Avoid useless work when processing the Treat_As_Volatile flag.
294 2009-09-08 Eric Botcazou <ebotcazou@adacore.com>
296 * gcc-interface/targtyps.c: Reorder include directives.
298 2009-09-07 Laurent GUERBY <laurent@guerby.net>
300 * gcc-interface/targtyps.c: Add missing include for tm_p.h.
301 * gcc-interface/Make-lang.in: Update dependencies.
303 2009-09-07 Laurent GUERBY <laurent@guerby.net>
305 * make.adb: Add missing documentation for multilib handling.
307 2009-09-03 Diego Novillo <dnovillo@google.com>
309 * gcc-interface/misc.c (lang_hooks): Remove const qualifier.
311 2009-09-02 Richard Henderson <rth@redhat.com>
313 * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
315 2009-09-02 Olivier Hainque <hainque@adacore.com>
317 * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
320 2009-09-02 Olivier Hainque <hainque@adacore.com>
322 * gcc-interface/decl.c (cannot_be_superflat_p): Handle
323 Signed_Integer_Type_Definition Scalar_Ranges.
325 2009-09-02 Eric Botcazou <ebotcazou@adacore.com>
327 * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the
328 SAVE_EXPR built for misaligned arguments. Remove redundant stuff.
329 (addressable_p): Return true for more rvalues.
331 2009-09-01 Jakub Jelinek <jakub@redhat.com>
333 * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
334 POINTER_SIZE to HOST_WIDE_INT.
336 2009-09-01 Richard Guenther <rguenther@suse.de>
338 * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
340 2009-08-25 Eric Botcazou <ebotcazou@adacore.com>
342 * gcc-interface/trans.c (call_to_gnu): Tidy.
343 (gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
344 non-constant size but the array itself has constant size.
345 * gcc-interface/utils.c (convert_vms_descriptor64): Fix type
347 (convert_vms_descriptor32): Likewise.
349 2009-08-22 Aurelien Jarno <aurelien@aurel32.net>
351 * gcc-interface/Makefile.in: Add Ada support for
353 * system-freebsd-x86_64.ads: New file based on
354 system-freebsd-x86.ads.
356 2009-08-20 Eric Botcazou <ebotcazou@adacore.com>
358 * gcc-interface/utils.c (convert): In the padded case, do the final
359 conversion as an unchecked conversion if the underlying types are
360 array types with variable size.
362 2009-08-20 Eric Botcazou <ebotcazou@adacore.com>
364 * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
366 * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
368 * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
370 (gnat_gimplify_expr) <DECL_EXPR>: New case.
372 2009-08-17 Aurelien Jarno <aurelien@aurel32.net>
374 * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
375 (stack_t): New record type.
376 (sigaltstack): New imported function.
377 (Alternate_Stack): New imported variable.
378 (Alternate_Stack_Size): New constant.
380 2009-08-17 Vasiliy Fofanov <fofanov@adacore.com>
382 * a-calend-vms.adb: Fix typo.
384 2009-08-17 Tristan Gingold <gingold@adacore.com>
386 * s-taprop-posix.adb: Round up the stack size to avoid failure on
389 2009-08-17 Gary Dismukes <dismukes@adacore.com>
391 * sem_cat.adb (Validate_Static_Object_Name): Update comment.
393 2009-08-17 Vincent Celier <celier@adacore.com>
395 * make.adb (Arguments_Collected): Unneeded, removed
396 (Change_To_Object_Directory): Use Project directly. Add pragma Assert to
397 ensure caller does not pass in No_Project.
398 (Compile): Add new parameter Project. Let procedure
399 Collect_Arguments_And_Compile provide the proper value.
401 * switch-c.adb: Add documentation for -gnatea and -gnatez
403 2009-08-17 Ben Brosgol <brosgol@adacore.com>
405 * gnat_ugn.texi: Changed name of package in SAL example, to avoid
406 clash with Ada 2005 reserved word (interface).
408 2009-08-17 Robert Dewar <dewar@adacore.com>
410 * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
411 a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
412 a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
413 (use conditional expressions).
415 2009-08-17 Robert Dewar <dewar@adacore.com>
417 * make.adb: Add ??? comment
418 * tbuild.adb: Minor reformatting
420 2009-08-17 Thomas Quinot <quinot@adacore.com>
422 * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
423 Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
424 Use Tbuild.Make_Temporary to create entity for the temporary.
426 2009-08-17 Arnaud Charlet <charlet@adacore.com>
428 * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
429 and ignore -mieee switch to avoid spawning an extra gcc in this case.
431 2009-08-17 Thomas Quinot <quinot@adacore.com>
433 * tbuild.adb: Minor reformatting
435 2009-08-17 Ed Schonberg <schonberg@adacore.com>
437 * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
438 exist, as is the case for synchronized types, use the type of the
439 discriminal in the parameter specification, to prevent a spurious
440 subtype mismatch in gigi.
442 2009-08-17 Robert Dewar <dewar@adacore.com>
444 * prj-env.adb: Minor reformatting
445 * make.adb: Minor reformatting
448 2009-08-17 Javier Miranda <miranda@adacore.com>
450 * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
452 2009-08-17 Emmanuel Briot <briot@adacore.com>
454 * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
455 (Processing_Flags.Require_Obj_Dirs): new field, which controls whether
456 object directories must be present. In the case of gprclean at least,
457 these are optional (if they do not exist there is nothing to clean)
459 2009-08-17 Robert Dewar <dewar@adacore.com>
461 * prj-env.adb: Minor reformatting
462 * sem_ch3.adb: Minor reformatting
464 2009-08-17 Hristian Kirtchev <kirtchev@adacore.com>
466 * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
467 the time zone since VxWorks chose positive values to represent west
468 time zones and negative for east zones.
470 2009-08-17 Ed Schonberg <schonberg@adacore.com>
472 * sem_ch3.adb (Access_Definition): Do not create an Itype reference for
473 an anonymous access type whose designated type is generic.
475 2009-08-17 Arnaud Charlet <charlet@adacore.com>
477 * comperr.adb (Compiler_Abort): Do not generate a bug box when in
478 codepeer mode, friendlier.
480 2009-08-10 Laurent GUERBY <laurent@guerby.net>
482 * make.adb: Handle multilib
484 2009-08-10 Vincent Celier <celier@adacore.com>
486 * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
487 the temporary file name in the error message when the temporary file
490 2009-08-10 Yannick Moy <moy@adacore.com>
492 * gnat_ugn.texi: Fix typo
494 2009-08-10 Robert Dewar <dewar@adacore.com>
496 * exp_ch7.adb: Add ??? comment for last change
498 2009-08-10 Vincent Celier <celier@adacore.com>
500 * prj-env.adb (Add_To_Buffer): New procedure
501 (Create_Config_Pragmas_File): Write to temporary file in one shot
502 (Create_Mapping_File): Ditto
503 (Set_Ada_Paths): Ditto
505 2009-08-10 Vincent Celier <celier@adacore.com>
508 * xref_lib.adb (Print_Xref): Make sure that there is at least one space
509 between a declaration name and its type.
511 2009-08-07 Javier Miranda <miranda@adacore.com>
513 * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
516 2009-08-07 Robert Dewar <dewar@adacore.com>
518 * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
520 2009-08-07 Vincent Celier <celier@adacore.com>
522 * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
523 specified on the command line and there are switches in the Compiler
524 package of the project file, use these compilation switches to invoke
527 2009-08-07 Ben Brosgol <brosgol@adacore.com>
529 * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
531 2009-08-07 Ed Schonberg <schonberg@adacore.com>
533 * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
534 even if not in main unit, to simplify debugging.
536 2009-08-07 Arnaud Charlet <charlet@adacore.com>
538 * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
539 * gcc-interface/Make-lang.in: Update dependencies.
541 2009-08-07 Robert Dewar <dewar@adacore.com>
543 * types.ads: Minor reformatting
544 * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
545 * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
546 Output_Non_Modified_In_Out_Warnings.
547 * sem_ch13.adb: Remove ??? comment.
549 2009-08-07 Vincent Celier <celier@adacore.com>
551 * mlib-prj.adb (Build_Library): Include binder generate object file
552 for SAL when library name is only one character.
554 2009-08-07 Thomas Quinot <quinot@adacore.com>
556 * targparm.adb: Minor reformatting
557 * sem.adb: Minor reformatting
558 * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
560 2009-08-07 Emmanuel Briot <briot@adacore.com>
562 * prj-conf.adb: Remove duplicate directory separator in the output when
563 an object directory does not exist.
565 2009-08-07 Robert Dewar <dewar@adacore.com>
567 * exp_util.adb: Minor reformatting
569 2009-08-07 Vincent Celier <celier@adacore.com>
571 * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
574 2009-08-07 Ed Schonberg <schonberg@adacore.com>
576 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
577 detect non-static private components that will violate restriction
578 No_Implicit_Heap_Allocation.
580 2009-08-07 Ben Brosgol <brosgol@adacore.com>
582 * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
584 2009-08-02 Eric Botcazou <ebotcazou@adacore.com>
586 * gcc-interface/gigi.h (end_subprog_body): Tweak comment.
587 * gcc-interface/utils.c (end_subprog_body): Likewise.
588 * gcc-interface/trans.c (gigi): Likewise.
589 (gnat_to_gnu): Likewise.
591 2009-07-30 Ben Brosgol <brosgol@adacore.com>
593 * gnat_ugn.texi: Correct minor texi glitch.
595 2009-07-30 Ed Schonberg <schonberg@adacore.com>
597 * exp_util.adb (Expand_Subtype_From_Expr): If the type of the
598 expression has an underlying representation that is an unchecked union,
599 there is no subtype to build.
601 2009-07-30 Robert Dewar <dewar@adacore.com>
603 * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads,
604 s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb,
605 sem_ch7.adb, adaint.c: Minor reformatting
607 2009-07-29 Javier Miranda <miranda@adacore.com>
609 * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
610 moved from the expander to the semantic analyzer to allow the
611 generation of these internal entities when compiling with no code
612 generation. Required by ASIS.
613 * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
614 * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
615 * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
616 (Expand_Freeze_Record_Type): Remove call to
617 Add_Internal_Interface_Entities because this routine is now called at
618 early stage --when the freezing node is analyzed.
620 2009-07-29 Robert Dewar <dewar@adacore.com>
622 * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
623 exp_disp.adb, g-socket.adb: Minor reformatting
625 2009-07-29 Ed Schonberg <schonberg@adacore.com>
627 * sem_ch7.adb (New_Private_Type): Create class-wide type after other
628 attributes have been established, so that they are all inherited by the
630 * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
631 properly named subtypes of class-wide types.
633 2009-07-29 Ed Schonberg <schonberg@adacore.com>
635 * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
636 indicators on user-defined operators.
638 2009-07-29 Vadim Godunko <godunko@adacore.com>
640 * g-socket.adb (Receive_Vector): Add comment.
642 2009-07-29 Javier Miranda <miranda@adacore.com>
644 * frontend.adb (Frontend): Code cleanup.
645 * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
646 Rewriten as a procedure because it a new out-mode parameters to
647 keep up-to-date the controlling tag node in the caller.
648 (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
649 new out-mode parameter to keep up-to-date the controlling tag node in
651 * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
652 exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
654 * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
655 available in new package Sem_SCIL.
656 (Next_Non_SCIL_Node): Ditto.
657 * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
659 (Expand_Dispatching_Call): Update call to modified Exp_Atags routines
660 plus complete decoration of SCIL dispatching node.
661 (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
662 * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
664 (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
665 * exp_ch3.adb (Build_Init_Procedure): Fix comment.
666 * sem_scil.ads, sem_scil.adb: New files.
667 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
670 2009-07-28 Robert Dewar <dewar@adacore.com>
672 * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
673 makeutl.adb: Minor reformatting & code reorganization
674 * sem_ch3.adb: Minor reformatting.
675 Fix spelling error (constraint for constrain) in error msg.
677 2009-07-28 Emmanuel Briot <briot@adacore.com>
679 * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
680 global variable that also exists in makeutl.ads, and that some routines
681 in that package use already.
682 (Check): Moved part of the code to makeutl.adb for better sharing with
685 2009-07-28 Arnaud Charlet <charlet@adacore.com>
687 * gcc-interface/Make-lang.in: Update dependencies.
689 2009-07-28 Emmanuel Briot <briot@adacore.com>
691 * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
692 importing project does not end up in the list, in the case of extending
694 * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
695 makeutl.ads, for better sharing with gprbuild.
697 2009-07-28 Arnaud Charlet <charlet@adacore.com>
699 * gnat_ugn.texi: Fix typo.
701 2009-07-28 Ed Schonberg <schonberg@adacore.com>
703 * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
704 derivation that renames some discriminants and constrain others.
705 * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
706 prefix is a derived untagged type, convert to the root type to conform
707 to the signature of the protected operations.
709 2009-07-28 Robert Dewar <dewar@adacore.com>
711 * sinfo.ads: Update comments.
712 * exp_attr.adb: Minor reformatting
714 2009-07-28 Ed Schonberg <schonberg@adacore.com>
716 * sem_aggr.adb (Get_Value): A named association in a record aggregate
717 should be treated as a modification of the named component, not as a
720 2009-07-28 Quentin Ochem <ochem@adacore.com>
722 * prj-tree.ads, prj-tree.adb (Free): Minor editing.
723 * prj.ads, prj.adb (Image): Ditto.
725 2009-07-28 Arnaud Charlet <charlet@adacore.com>
727 * frontend.adb: Minor reformatting.
728 (Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
731 2009-07-28 Bob Duff <duff@adacore.com>
733 * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
734 'Address to get a pointer to the protected body wrapper.
736 2009-07-28 Javier Miranda <miranda@adacore.com>
738 * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
739 nodes if we are not generating code.
740 * frontend.adb (Check_SCIL_Node): New subprogram. Used to check
741 attribute SCIL_Related_Node of SCIL dispatching nodes.
742 (Check_SCIL_Nodes): New instantiation of Traverse_Proc.
743 * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
744 (SCIL_Nkind,Set_SCIL_Nkind): Removed.
745 (SCIL_Entity): Update documentation.
746 (SCIL_Related_Node): Update documentation.
747 (SCIL_Controlling_Tag): New attribute.
748 (SCIL_Target_Prim): Update documentation.
749 (N_Null_Statement): Remove attributes associated with SCIL nodes.
750 (N_SCIL_Dispatch_Table_Object_Init): New node.
751 (N_SCIL_Dispatch_Table_Tag_Init): New node.
752 (N_SCIL_Dispatching_Call): New node.
753 (N_SCIL_Tag_Init): New node.
754 * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
755 (SCIL_Nkind,Set_SCIL_Nkind): Removed.
756 (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
757 (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
758 (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
759 (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
760 N_SCIL_Dispatching_Call nodes.
761 * sem.adb (Analyze): No need to analyze SCIL nodes.
762 * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
763 (Next_Non_SCIL_Node): New subprogram
764 * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
766 * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
768 * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
770 * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
771 null statement nodes.
772 (Build_Init_Procedure): Generate new SCIL node.
773 * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
775 * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
776 they are currently implemented as special N_Null_Statement nodes.
777 * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
778 procedure call then check if some SCIL node references it and needs
780 * exp_disp.ads (SCIL_Node_Kind): Removed.
781 (Adjust_SCIL_Node): New subprogram.
782 (Find_SCIL_Node): New subprogram.
783 (Get_SCIL_Node_Kind): Removed.
784 (New_SCIL_Node): Removed.
785 * exp_disp.adb (Adjust_SCIL_Node): New subprogram
786 (Expand_Dispatching_Call): Generate new SCIL dispatching node including
787 decoration of its new controlling_tag attribute.
788 (Get_SCIL_Node_Kind): Removed.
789 (Find_SCIL_Node): New subprogram.
790 (Make_Secondary_DT): Generate new SCIL nodes.
791 (Make_Tags): Generate new SCIL nodes.
792 (New_SCIL_Node): Removed.
793 * exp_util.adb (Insert_Actions): Handle SCIL nodes.
794 (Remove_Side_Effects): Check if relocated nodes require readjustment
795 of some SCIL dispatching node.
796 * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
798 2009-07-28 Robert Dewar <dewar@adacore.com>
800 * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
802 2009-07-28 Sergey Rybin <rybin@adacore.com>
804 * gnat_ugn.texi: Add section about gnatcheck rule exemption.
806 2009-07-28 Vadim Godunko <godunko@adacore.com>
808 * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
809 not defined by limits.h.
811 * g-socket.adb (Receive_Vector): Use minimum length from user's vector
812 length and maximum supported length of data vector.
814 2009-07-28 Gary Dismukes <dismukes@adacore.com>
816 * usage.adb: Inhibit printing gcc-specific switches for AAMP target.
817 * make.adb: Call Get_Target_Parameters before calling Usage so that
818 VM_Target and AAMP_On_Target will be set.
820 2009-07-28 Olivier Hainque <hainque@adacore.com>
822 * g-ssinty.ads: Remove, pointless and just confusing at this stage.
823 * gnat_rm.texi: Remove documentation.
824 * g-sse.ads: Minor reorg along the way.
825 * gcc-interface/Makefile.in: Remove processing for g-ssinty.
826 * g-ssvety.ads: Minor comment updates.
828 2009-07-28 Sergey Rybin <rybin@adacore.com>
830 * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
831 for the new format of the report file.
833 2009-07-28 Sergey Rybin <rybin@adacore.com>
835 * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
837 2009-07-28 Pascal Obry <obry@adacore.com>
839 * g-expect.adb: Record standard handles only on Windows.
841 2009-07-27 Emmanuel Briot <briot@adacore.com>
843 * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
846 2009-07-27 Sergey Rybin <rybin@adacore.com>
848 * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
849 rule definition the paragraph that explains that generic functions and
850 functions from generic packages are not checked.
852 2009-07-27 Gary Dismukes <dismukes@adacore.com>
854 * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
855 procedure when determining whether to set the Overridden_Operation
856 field of a subprogram overriding an inherited subprogram.
858 2009-07-27 Robert Dewar <dewar@adacore.com>
860 * a-except.adb, a-except-2005.ads: Minor reformatting
862 2009-07-27 Robert Dewar <dewar@adacore.com>
864 * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
866 2009-07-27 Javier Miranda <miranda@adacore.com>
868 * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
869 add some documentation explaining why the SCIL nodes must be generated
872 2009-07-27 Olivier Hainque <hainque@adacore.com>
874 * a-except.adb: Bind to __builtin_longjmp directly.
875 * a-except-2005.ads: Provide direct binding to __builtin_longjmp
877 * a-exexpr.adb: Use it.
878 * a-except-xi.adb: Likewise.
879 * raise.c (_gnat_builtin_longjmp): Remove and update comments.
880 * raise.h (_gnat_builtin_longjmp): Remove declaration.
882 2009-07-27 Ed Schonberg <schonberg@adacore.com>
884 * sem_eval.adb (Compile_Time_Compare): More precise handling of
885 Known_Valid flag, to prevent spurious range deductions when scalar
886 variables may be uninitialized. New predicate Is_Known_Valid_Operand.
888 2009-07-27 Robert Dewar <dewar@adacore.com>
890 * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
893 2009-07-27 Ed Schonberg <schonberg@adacore.com>
895 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
896 Ravenscar mode. Error has already been posted on specification.
898 * sem.adb: Further code clean ups.
900 2009-07-27 Robert Dewar <dewar@adacore.com>
902 * g-sse.ads: Minor reformatting
904 2009-07-27 Arnaud Charlet <charlet@adacore.com>
906 * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
907 alternate ali extension.
908 * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
909 account Osint.ALI_Suffix.
910 * osint.ads (ALI_Suffix): Make visible.
911 * gnatfind.adb (Gnatfind): Add support for --ext= switch.
912 * gnat_ugn.texi: Document new gnatfind --ext= switch.
914 2009-07-27 Ed Schonberg <schonberg@adacore.com>
916 * sem.adb (Walk_Library_Items): If main unit is an instance body, do
919 2009-07-27 Javier Miranda <miranda@adacore.com>
921 * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
922 the dispatching call has is expanded.
924 2009-07-27 Ed Schonberg <schonberg@adacore.com>
926 * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
927 Is_Known_Valid flag on the temporary created for the value whose
928 validity is being checked.
930 * sem.adb (Do_Unit_And_Dependents): Further code reorganization to
931 handle properly main units that are package specifications.
933 2009-07-27 Geert Bosch <bosch@adacore.com>
935 * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
936 * sem_aux.ads: Fix typo in comment
937 * sem_util.ads (Is_LHS): Adjust comment to match body
939 2009-07-27 Sergey Rybin <rybin@adacore.com>
941 * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
944 2009-07-27 Olivier Hainque <hainque@adacore.com>
946 * g-sse.ads, g-ssvety.ads: Update comments.
948 2009-07-27 Sergey Rybin <rybin@adacore.com>
950 * gnat_ugn.texi: Update gnatcheck doc.
952 2009-07-27 Arnaud Charlet <charlet@adacore.com>
954 * lib-xref.ads: Allocate/document 'o' char for use by references to
955 spark 'own' variables.
957 2009-07-27 Gary Dismukes <dismukes@adacore.com>
959 * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
960 objects, since these are implicitly referenced by the return statement.
961 * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
962 Is_Return_Object in this procedure, as return objects will never make
963 it here since they're now marked as Referenced.
965 2009-07-27 Robert Dewar <dewar@adacore.com>
967 * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
969 2009-07-27 Robert Dewar <dewar@adacore.com>
971 * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
973 * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
975 2009-07-27 Geert Bosch <bosch@adacore.com>
977 * checks.adb (Find_Check): Minor streamlining of logic.
978 * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
979 * debug.adb: Document -gnatdX debug flag
980 * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
981 list information about reads from scalar entities.
982 Also slightly simplify condition for Expand_Current_Value.
983 * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
986 2009-07-26 Dave Korn <dave.korn.cygwin@gmail.com>
989 * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
990 (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
992 (__gnat_stat): Adjust reference to STAT in prototype.
993 * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
994 __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
995 __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
996 __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
997 __gnat_is_writable_file, __gnat_is_executable_file,
998 __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
999 __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
1000 __gnat_copy_attribs): Adjust all references to the above.
1001 * cstreams.c (__gnat_is_regular_file_fd): Likewise.
1003 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1005 * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
1006 done at the same time, guard against listing a body more than once.
1008 2009-07-23 Robert Dewar <dewar@adacore.com>
1010 * exp_ch6.adb: Minor reformatting
1012 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1014 * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
1015 static expression is known valid.
1016 * sem_eval.adb (Compile_Time_Compare): Handle properly non-static
1017 operands of a subtype with a single value.
1019 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1021 * sem.adb (Do_Units_And_Dependents): Process bodies only for units that
1022 are in the context of the main unit body.
1024 2009-07-23 Sergey Rybin <rybin@adacore.com>
1026 * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
1027 misprint in rule description.
1029 2009-07-23 Gary Dismukes <dismukes@adacore.com>
1031 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
1032 test that the object declaration is within an extended return statement
1033 with direct test of whether the declared object associated with the
1034 build-in-place call is a return object, since the enclosing function
1035 might not even be a build-in-place function.
1037 2009-07-23 Robert Dewar <dewar@adacore.com>
1039 * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
1040 Minor code reorganization
1042 2009-07-23 Arnaud Charlet <charlet@adacore.com>
1044 * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
1045 for static analysis, only packed arrays are causing troubles.
1047 2009-07-23 Gary Dismukes <dismukes@adacore.com>
1049 * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
1050 ancestor part is a call to a limited function with an unconstrained
1051 result subtype unless the aggregate has a null extension type.
1052 * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
1053 the parent type declaration to avoid blowups on subtype cases.
1055 2009-07-23 Robert Dewar <dewar@adacore.com>
1057 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
1060 * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
1062 * s-regexp.adb: Minor reformatting
1063 * scos.ads: Minor reformatting.
1065 2009-07-23 Arnaud Charlet <charlet@adacore.com>
1067 * freeze.adb (Set_Small_Size): Remove extra space for consistency with
1068 other similar messages.
1069 * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
1070 messages/implicit packing in CodePeer mode.
1071 (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
1072 * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
1075 2009-07-23 Pascal Obry <obry@adacore.com>
1077 * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
1080 2009-07-23 Robert Dewar <dewar@adacore.com>
1082 * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
1085 2009-07-23 Yannick Moy <moy@adacore.com>
1087 * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
1089 (Raise_Exception_If_No_More_Chars): Remove extra blank in exception
1091 (Raise_Exception): Ditto.
1093 2009-07-23 Olivier Hainque <hainque@adacore.com>
1095 * g-sse.ads: Simplify comment.
1097 2009-07-23 Olivier Hainque <hainque@adacore.com>
1099 * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
1100 low level internal type definitions for distinct higher level
1101 binding development activities (user type definitions and
1103 * gnat_rm.texi: Document it.
1104 * g-ssvety.ads: Use it.
1105 * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
1106 g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
1107 * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
1108 for the "may_alias" attribute.
1110 2009-07-23 Thomas Quinot <quinot@adacore.com>
1112 * scos.ads: Minor typo fix
1114 * gcc-interface/decl.c (validate_alignment): For the case of an
1115 implicit array base type, look for alignment clause on first subtype.
1117 2009-07-23 Robert Dewar <dewar@adacore.com>
1119 * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
1120 with tagged parent if tagged parent is fully repped.
1122 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1124 * sem.adb (Walk_Library_Units): Handle properly the case where a unit
1125 in the context depends on the spec of the main unit, by delaying
1126 processing of the main unit body until all other units have been
1129 2009-07-23 Arnaud Charlet <charlet@adacore.com>
1131 * a-convec.adb: Add comments about suspicious/subtle code.
1133 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1135 * einfo.ads: Document use of Alias in private overriding
1137 2009-07-23 Thomas Quinot <quinot@adacore.com>
1139 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
1140 an array type, propagate alignment from first subtype to implicit base
1141 type so that other subtypes (such as the itypes for aggregates of the
1142 type) also receive the expected alignment.
1144 * g-comlin.ads: Minor documentation clarification/rewording.
1145 * scos.ads: Minor comments update.
1146 * lib-writ.ads: Minor reformatting
1148 2009-07-23 Gary Dismukes <dismukes@adacore.com>
1150 * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
1151 of a class-wide interface type that is a return object of a
1152 build-in-place function, bypass the interface-related expansions into
1153 renamings with displacement conversions, etc.
1154 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
1155 for the case where a renaming occurs in a build-in-place context, to
1156 assert that the bypassing of the build-in-place treatment only occurs
1157 in the case of a renaming that is an expansion of a return expression
1158 that is itself a build-in-place function call.
1160 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1162 * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
1163 valid candidate interpretation in a prefixed view if it is hidden, but
1164 overrides an inherited operation declared in the visible part.
1166 2009-07-23 Robert Dewar <dewar@adacore.com>
1168 * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
1169 division operands to 64-bit at all in any circumstances.
1171 2009-07-23 Robert Dewar <dewar@adacore.com>
1173 * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
1174 checking ranges for mod/rem to see if conditional jump will be
1176 (Analyze_N_Op_Rem): Don't try to check actual lower bounds for
1177 generating special -1 test for rem, generate it whenever both
1178 operands can be negative (match circuit in Sem_Res).
1179 (Analyze_N_Op_Rem): Don't go to base type, no longer needed and
1180 destroys memory of positive range.
1181 * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
1182 checking ranges for mod/rem to see if conditional jump will be generated
1184 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1186 * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
1187 scalar components has non-static bounds, the equivalent aggregate
1188 cannot be built, even if the expression is static, because range checks
1191 2009-07-23 Robert Dewar <dewar@adacore.com>
1193 * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
1194 division operands to 64-bit inside a conversion if 64-bit division not
1197 2009-07-23 Sergey Rybin <rybin@adacore.com>
1199 * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
1201 2009-07-23 Javier Miranda <miranda@adacore.com>
1203 * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
1204 (Entity/Set_Entity): not available in N_Null_Statement nodes
1205 (Is_Scil_Node): renamed as Is_SCIL_Node
1206 (Scil_Nkind): renamed as SCIL_Nkind
1207 (Scil_Related_Node): renamed as SCIL_Related_Node
1208 (Scil_Target_Prim): renamed as SCIL_Target_Prim
1209 (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
1210 (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
1211 (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
1212 Update documentation
1213 * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
1214 (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
1215 (New_Scil_Node): Renamed as New_SCIL_Node
1216 * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
1217 (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
1218 (New_Scil_Node): Renamed as New_SCIL_Node
1219 * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
1221 2009-07-23 Robert Dewar <dewar@adacore.com>
1223 * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
1224 * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
1225 * einfo.adb: Minor reformatting
1227 2009-07-23 Robert Dewar <dewar@adacore.com>
1229 * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
1230 cross-referencing the new related code in
1231 Exp_Ch4.Expand_N_Type_Conversion.
1232 * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
1234 * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
1237 2009-07-23 Javier Miranda <miranda@adacore.com>
1239 * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
1240 Scil_Target_Prim, N_Has_Entity): Add missing documentation.
1241 * exp_disp.ads (Scil_Node_Kind): Ditto.
1242 * exp_disp.adb (Make_DT, Make_Tags): Ditto.
1243 * exp_ch3.adb (Build_Init_Procedure): Ditto.
1245 2009-07-23 Javier Miranda <miranda@adacore.com>
1247 * einfo.adb (Component_Type): Add missing assertion.
1248 * sem_res.adb (Resolve_Call): Ensure proper kind of entity before
1249 reading attribute Component_Size.
1250 * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
1251 before reading attributes Component_Size and Component_Type.
1252 * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
1253 before reading attribute Component_Type.
1255 2009-07-23 Olivier Hainque <hainque@adacore.com>
1257 * gnat_rm.texi: Document the GNAT.SSE units.
1259 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1261 * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
1262 not null return if it appears on a subunit.
1264 2009-07-23 Robert Dewar <dewar@adacore.com>
1266 * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
1267 check right away so it does not get skipped for early returns, e.g.
1269 (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
1270 left-side unless we really know the value is valid.
1272 * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
1273 reformatting. Minor code reorganization. Add comments.
1275 2009-07-23 Robert Dewar <dewar@adacore.com>
1277 * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
1280 2009-07-23 Gary Dismukes <dismukes@adacore.com>
1282 * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
1283 with test of coverage, to allow specific type objects in extended
1284 returns of class-wide functions. Remove now-unnecessary special-case
1285 tests that allowed this in certain cases of expanded extended returns.
1287 2009-07-23 Javier Miranda <miranda@adacore.com>
1289 * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
1290 N_Null_Statements (for SCIL nodes).
1291 (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
1292 (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
1293 (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
1295 (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
1296 * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
1297 associated with dispatching call.
1298 (Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
1299 (Make_DT, Make_Tags): Add generation of SCIL nodes associated with
1300 initialization of dispatch tables and initialization of tags.
1301 (New_Scil_Node): New function that creates a new SCIL node.
1302 (Build_Init_Procedure): Add generation of SCIL node associated with the
1303 initialization of tags done in the IP subprogram.
1305 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1307 * errout.adb (Error_Msg_NEL): If the entity in the initial message has
1308 Warnings_Off, do not emit continuation messages.
1310 * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
1313 2009-07-23 Emmanuel Briot <briot@adacore.com>
1315 * ali.adb: Minor comment update
1317 2009-07-23 Vasiliy Fofanov <fofanov@adacore.com>
1319 * s-win32.ads (HANDLE): Define to be the same size as address type.
1322 2009-07-23 Olivier Hainque <hainque@adacore.com>
1324 * g-sse.ads: New file. Root of the SSE facilities trees, with
1325 general description and common declarations.
1326 * g-ssvety.ads: New file. Expose user level SSE vector types.
1327 * impunit.adb (Non_Imp_File_Names_95): Register new units.
1328 * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
1329 EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
1331 2009-07-23 Ben Brosgol <brosgol@adacore.com>
1333 * gnat_ugn.texi: Wordsmithing.
1335 2009-07-23 Arnaud Charlet <charlet@adacore.com>
1337 * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
1339 2009-07-22 Eric Botcazou <ebotcazou@adacore.com>
1341 * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
1342 they are already of the base type of the index.
1344 2009-07-22 Brett Porter <porter@adacore.com>
1346 * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
1348 2009-07-22 Robert Dewar <dewar@adacore.com>
1350 * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS)
1351 * gnat_ugn.texi: Add documentation for -gnateS switch
1352 * ug_words: Add entry for -gnateS /SCO_OUTPUT
1353 * gcc-interface/Make-lang.in: Update dependencies.
1355 * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb,
1356 par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial
1357 complete information for SCO input/output.
1359 2009-07-22 Sergey Rybin <rybin@adacore.com>
1361 * gnat_ugn.texi: Update doc for some gnatcheck rules.
1363 2009-07-22 Robert Dewar <dewar@adacore.com>
1365 * par_sco.adb, par_sco.ads (pscos): New debug routine to output
1366 contents of SCO tables.
1367 * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads,
1368 scos.adb, scos.ads: New files.
1369 * gcc-interface/Make-lang.in: Update dependencies.
1371 * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
1372 fixes and reformatting.
1374 2009-07-22 Robert Dewar <dewar@adacore.com>
1376 * g-socket.ads: Minor reformatting
1378 2009-07-22 Gary Dismukes <dismukes@adacore.com>
1380 * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
1381 include the entity kind for following cases of unreferenced entities:
1382 E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
1384 2009-07-22 Ed Falis <falis@adacore.com>
1386 * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
1389 2009-07-22 Arnaud Charlet <charlet@adacore.com>
1391 * adadecode.c: Make this file compilable outside of GCC.
1393 2009-07-22 Thomas Quinot <quinot@adacore.com>
1395 * g-socket.adb, g-socket.ads (Check_Selector): Make sure that
1396 (partially) default-initialized socket sets are handled properly by
1397 clearing their Set component.
1399 2009-07-22 Bob Duff <duff@adacore.com>
1401 * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
1403 2009-07-22 Robert Dewar <dewar@adacore.com>
1405 * gnat_ugn.texi: Minor reformatting
1407 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1409 * errout.adb (Error_Msg): A style message within an instantiation
1410 should not be labelled as an error.
1412 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1414 * freeze.adb (Freeze_Entity): Do not generate extra formal for function
1415 in initialization expression if function does not have convention Ada.
1417 2009-07-22 Sergey Rybin <rybin@adacore.com>
1419 * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
1420 '--separate-label' to control label layout.
1422 2009-07-22 Robert Dewar <dewar@adacore.com>
1424 * exp_tss.ads, sem_eval.adb: Minor reformatting
1426 2009-07-22 Bob Duff <duff@adacore.com>
1428 * exp_dist.adb, exp_dist.ads: Update comments.
1430 2009-07-22 Brett Porter <porter@adacore.com>
1432 * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
1434 * sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
1436 2009-07-22 Gary Dismukes <dismukes@adacore.com>
1438 * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
1439 exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
1441 * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
1442 used poor terminology.
1444 2009-07-22 Robert Dewar <dewar@adacore.com>
1446 * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
1447 * sem_eval.adb, exp_tss.adb: Minor comment update.
1448 * stylesw.adb: Code clean up.
1450 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1452 * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
1453 component size is an exact number of bytes, an array type can have a
1454 size clause that forces packing even though the array type itself is
1457 2009-07-22 Thomas Quinot <quinot@adacore.com>
1459 * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
1460 if there is a previous entity with the same name in the scope, ignore
1461 it if it is the renaming declaration for a generic package introduced
1464 2009-07-22 Nicolas Roche <roche@adacore.com>
1466 * seh_init.c: use RtlAddFunctionTable to register our SEH exception
1467 handler on x86_64 windows.
1469 2009-07-22 Arnaud Charlet <charlet@adacore.com>
1471 * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
1472 false positives in CodePeer, so ignore this pragma in this mode.
1474 2009-07-22 Thomas Quinot <quinot@adacore.com>
1476 * sem_util.adb, sem_ch10.adb: Minor reformatting
1478 * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
1479 special handling for the case of no data received and Item'First =
1480 Stream_Element_Offset'First.
1481 (Last_Index): New subprogram factoring the above special handling
1482 over the various locations where it is required.
1484 2009-07-22 Arnaud Charlet <charlet@adacore.com>
1486 * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
1487 checks in CodePeer_Mode.
1488 * gcc-interface/Make-lang.in: Update dependencies.
1490 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1492 * sem_aggr.adb: Improve error message.
1494 * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
1495 of an address representation clause.
1496 * freeze.adb (Freeze_Static_Object): An local imported object is legal
1497 if it has an address clause.
1499 2009-07-22 Thomas Quinot <quinot@adacore.com>
1501 * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
1502 expression to insert an elab check using a conditional expression, be
1503 sure to carry the original list of interpretations to the new location.
1505 2009-07-22 Gary Dismukes <dismukes@adacore.com>
1507 * gnat1drv.adb: Fix spelling error.
1509 2009-07-22 Javier Miranda <miranda@adacore.com>
1511 * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram
1512 at the library level and fix a hidden bug in its implementation: its
1513 functionality for renaming objects was broken because
1514 N_Object_Renaming_Declarations nodes are not a subclass of
1515 N_Declaration nodes (as documented in sinfo.ads).
1516 * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
1517 check nodes that are actuals of generic instantiations.
1519 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1521 * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the
1522 context of a compilation unit is being analyzed. Used to detect
1523 circularities created by with_clauses that are not detected by the
1525 * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
1526 analyzing the context of the current compilation unit, to detect
1527 possible circularities created by with_clauses.
1529 2009-07-22 Thomas Quinot <quinot@adacore.com>
1531 * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
1533 2009-07-22 Robert Dewar <dewar@adacore.com>
1535 * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
1536 * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
1538 * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch
1539 * gnat_ugn.texi: Add documentation of -gnatyB
1540 * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
1542 2009-07-22 Robert Dewar <dewar@adacore.com>
1544 * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
1545 make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
1546 s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
1547 s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
1548 errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
1549 a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
1550 s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
1551 a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
1552 erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
1553 obey short-circuit style rule.
1555 2009-07-20 Bob Duff <duff@adacore.com>
1557 * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
1558 instead of "and", because otherwise Parent_Last_Bit is read
1559 uninitialized in the case where it's not a tagged type, or the tagged
1560 parent does not have a complete rep clause.
1562 2009-07-20 Robert Dewar <dewar@adacore.com>
1564 * stylesw.ads: Minor documentation change.
1566 * types.ads: Minor reformatting
1568 2009-07-20 Javier Miranda <miranda@adacore.com>
1570 * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of
1571 generating the tag checks associated with dispatching calls.
1572 * exp_disp.adb (Apply_Access_Checks): New subprogram.
1573 (New_Value): This routine was previously local to expand dispatching
1574 calls but it is now used also by Apply_Access_Checks.
1575 (Expand_Dispatching_Calls): Cleanup code because the functionality of
1576 tag checks is now provided by Apply_Access_Checks.
1577 * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
1578 case of dispatching calls.
1580 2009-07-20 Arnaud Charlet <charlet@adacore.com>
1582 * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
1585 2009-07-20 Gary Dismukes <dismukes@adacore.com>
1587 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
1588 for VMS, only rewrite the first component of the associated exception's
1589 aggregate init (as 'V'), and eliminate the bogus rewrites of the second
1590 and third components that were being replaced with 'M' and 'S'.
1592 2009-07-20 Arnaud Charlet <charlet@adacore.com>
1594 * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
1595 Also do not generate error when parsing a spec in CodePeer mode.
1597 2009-07-20 Javier Miranda <miranda@adacore.com>
1599 * checks.adb (Apply_Access_Check): Avoid checks on availability of
1600 runtime function Offset_To_Top_Ptr when compiling with no tagged
1602 * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
1603 adding code to the init proc when compiling for VM backends.
1605 2009-07-20 Vincent Celier <celier@adacore.com>
1607 * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
1608 account switches -gnatw.?
1610 2009-07-20 Thomas Quinot <quinot@adacore.com>
1612 * sem_dist.adb, exp_dist.adb: Minor reformatting
1614 * Make-generated.in: New file.
1616 * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
1618 2009-07-20 Javier Miranda <miranda@adacore.com>
1620 * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
1622 * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
1623 dynamically tagged expression.
1624 * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
1626 * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
1627 * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
1629 2009-07-20 Arnaud Charlet <charlet@adacore.com>
1631 * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
1632 CodePeer_Mode is set, to benefit from full front-end expansion
1635 2009-07-20 Ed Schonberg <schonberg@adacore.com>
1637 * sem_res.adb: Add guard.
1639 * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
1640 for possible attribute definition of External_Tag, in case clause
1641 appears in the private part of a package.
1643 2009-07-20 Jerome Guitton <guitton@adacore.com>
1645 * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
1647 2009-07-20 Vadim Godunko <godunko@adacore.com>
1649 * a-coorma.adb: Minor reformatting.
1651 2009-07-20 Ed Schonberg <schonberg@adacore.com>
1653 * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
1654 access return types.
1655 * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
1656 provide an itype reference to gigi to force elaboration of the subtype
1657 at the proper point.
1659 2009-07-20 Tristan Gingold <gingold@adacore.com>
1661 * g-expect.adb: Avoid closeing already closed handle.
1663 2009-07-20 Robert Dewar <dewar@adacore.com>
1665 * sprint.adb (Write_Subprogram_Name): New procedure to output
1666 subprogram name with possible preceding $ (replaces
1667 Note_Implicit_Run_Time_Call).
1669 2009-07-20 Robert Dewar <dewar@adacore.com>
1671 * vms_data.ads: Minor reformatting
1673 * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
1674 applies to base type.
1675 (Parent_Subtype): Now allowed on record subtype, applies to base type
1676 * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
1677 for case of fully repped tagged type.
1678 (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
1679 tag save/restore for fully repped tagged type case.
1680 * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
1681 * fe.h (Is_Fully_Repped_Tagged_Type): New function
1682 * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
1683 overlap of tagged type components with parent type if parent type is
1685 * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
1687 * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
1689 (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
1690 (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
1692 * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
1693 logical operators (AND/OR/XOR), not comparison operators.
1695 * sprint.ads: Minor reformatting
1697 2009-07-20 Ed Schonberg <schonberg@adacore.com>
1699 * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
1700 intrinsics, check that argument is a string literal, rather than
1701 checking for staticness.
1703 2009-07-20 Robert Dewar <dewar@adacore.com>
1705 * sem_ch13.adb: Minor reformatting
1707 * einfo.ads: Minor reformatting
1708 Component_Bit_Offset is no longer considered obsolescent
1710 2009-07-20 Nicolas Roche <roche@adacore.com>
1712 * a-calend.adb: Redefine time_t as signed integer with same size as
1714 * s-os_lib.ads: Redefine OS_Time as signed integer with same size as
1716 * adaint.h: On Windows 64bits declare OS_Time as long long instead of
1719 2009-07-20 Javier Miranda <miranda@adacore.com>
1721 * exp_tss.adb (Init_Proc): Add missing support for non-default C++
1722 constructors that have anonymous access type formals.
1724 * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
1725 class-wide arguments in case of imported C++ subprograms.
1727 * exp_ch3.adb (Build_Initialization_Call): Add assertion.
1729 2009-07-20 Sergey Rybin <rybin@adacore.com>
1731 * vms_data.ads: Update qualifiers.
1733 2009-07-20 Robert Dewar <dewar@adacore.com>
1735 * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
1738 2009-07-17 Richard Guenther <rguenther@suse.de>
1741 * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
1742 state. Remove unused parameter.
1743 (gnat_gimplify_function): Do not gimplify here.
1744 Fold into its only caller and remove.
1745 (gnat_builtin_function): Adjust for end_subprog_body signature change.
1746 (gnat_write_global_declarations): Also finalize the CU.
1747 * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
1748 * gcc-interface/trans.c (gigi): Revert to pre-tuples state.
1749 (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
1751 * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
1753 2009-07-15 Arnaud Charlet <charlet@adacore.com>
1755 * gcc-interface/Make-lang.in: Update dependencies
1757 * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
1759 2009-07-15 Robert Dewar <dewar@adacore.com>
1761 * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
1762 N_Label. Remove SCO table entry for entry point (not used).
1764 * par_sco.ads: Remove SCO entry point type (not used)
1766 * switch.adb: Minor code clean up.
1768 2009-07-15 Eric Botcazou <ebotcazou@adacore.com>
1770 * exp_dbug.ads (Base Record Types): Document enhanced encoding.
1772 2009-07-15 Thomas Quinot <quinot@adacore.com>
1774 * gnatls.adb: Minor reformatting
1776 * gnatcmd.adb: Minor code reorganization
1778 2009-07-15 Ed Schonberg <schonberg@adacore.com>
1780 * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
1781 determine whether a component of a private type has a composite type.
1783 2009-07-15 Robert Dewar <dewar@adacore.com>
1785 * sem_ch10.adb: Minor reformatting throughout
1786 Minor code reorganization (put nested subprograms in alpha order)
1788 2009-07-15 Ed Schonberg <schonberg@adacore.com>
1790 * exp_ch6.adb (Expand_Call): Prevent double attachment of the result
1791 when compiling a call to a protected function that returns a controlled
1794 2009-07-15 Hristian Kirtchev <kirtchev@adacore.com>
1796 * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
1797 one. Add task locking and unlocking around the critical region which
1798 mentions localtime_r and global variable timezone for various targets.
1799 Comment reformatting.
1801 2009-07-15 Robert Dewar <dewar@adacore.com>
1803 * gnat_rm.texi: Document s-ststop.ads
1805 * impunit.ad: (Map_Array): New table of alternative names
1806 (Get_Kind_Of_Unit): Return possible suggested alternative name
1808 * impunit.ads (Get_Kind_Of_Unit): Return possible suggested
1811 * sem_ch10.adb (Analalyze_With_Clause): Add name of possible
1812 alternative unit if an implementation unit is with'ed.
1814 2009-07-15 Robert Dewar <dewar@adacore.com>
1816 * gnat_ugn.texi: Minor updates.
1818 * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
1820 2009-07-15 Ed Schonberg <schonberg@adacore.com>
1822 * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
1823 conditions of a derived boolean type.
1826 2009-07-15 Robert Dewar <dewar@adacore.com>
1828 * gnat1drv.adb: Initialize SCO tables
1830 * par-load.adb: Call SCO_Record for main unit spec
1832 * par.adb: Make call to SCO_Record for main unit
1834 * par_sco.adb (Unit_Table): Change format to facilitate sort
1835 (Process_Decisions): New procedure with list argument
1836 (Traverse_Generic_Package_Declaration): New procedure
1837 (Initialize): New procedure, replaces Init
1838 (SCO_Output): Sort unit table before output
1839 (SCO_Record): Avoid duplications
1840 (SCO_Record): Handle remaining cases of units
1841 (Traverse_Declarations_Or_Statements): Handle generics
1843 * par_sco.ads (Initialize): New peocedure (replaces Init)
1845 * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
1848 2009-07-15 Arnaud Charlet <charlet@adacore.com>
1850 * debug.adb: Add -gnatd.J switch for now to support scil generation in
1851 parallel. Add missing doc for -gnatd.I and -gnatd.O
1853 2009-07-15 Robert Dewar <dewar@adacore.com>
1855 * lib-load.adb: Minor reformatting
1857 * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
1859 2009-07-15 Robert Dewar <dewar@adacore.com>
1861 * par.adb: Minor reformatting
1862 Add ??? comment for possible bad comment
1864 * par-ch10.adb: Minor reformatting
1866 2009-07-15 Ed Schonberg <schonberg@adacore.com>
1868 * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
1869 is a literal of a derived boolean type, it appears as an unchecked
1870 conversion. Retrieve actual value from expression of conversion.
1872 2009-07-15 Robert Dewar <dewar@adacore.com>
1874 * sem_ch3.adb: Minor reformatting
1876 * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
1877 lib-writ.ads, lib-writ.adb: Minor reformatting.
1878 Fix problem with SCO format in ALI files
1880 2009-07-15 Robert Dewar <dewar@adacore.com>
1882 * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
1883 exp_aggr.adb: Minor code reorganization (better calling sequence for
1886 2009-07-15 Thomas Quinot <quinot@adacore.com>
1888 * opt.ads: Minor comment edits
1890 2009-07-15 Tristan Gingold <gingold@adacore.com>
1892 * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
1895 2009-07-15 Robert Dewar <dewar@adacore.com>
1897 * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
1900 * lib-writ.ads: Document addition of SCO lines to ALI file
1902 * par_sco.ads, par_sco.adb: New files.
1904 * opt.ads (Generate_SCO): New switch
1906 * par.adb (Par): Call SCO_Record to record SCO information
1908 * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
1910 * switch-c.adb: Recognize -gnateS to generate SCO information
1912 * usage.adb: Add line for -gnateS
1914 * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
1916 2009-07-15 Robert Dewar <dewar@adacore.com>
1918 * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
1921 2009-07-15 Thomas Quinot <quinot@adacore.com>
1923 * g-socthi-mingw.adb: Minor comment addition
1925 * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
1927 2009-07-15 Robert Dewar <dewar@adacore.com>
1929 * g-htable.ads, s-htable.ads: Minor reformatting
1931 2009-07-15 Robert Dewar <dewar@adacore.com>
1933 * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
1934 new switch -gnatw.g.
1935 (Set_GNAT_Mode_Warnings): New procedure.
1937 * lib-xref.adb: Minor reformatting
1939 2009-07-15 Robert Dewar <dewar@adacore.com>
1941 * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
1942 Minor code reorganization
1944 2009-07-14 Taras Glek <tglek@mozilla.com>
1945 Rafael Espindola <espindola@google.com>
1947 * gcc-interface/Make-lang.in (ada.install-plugin): New target for
1948 installing plugin headers.
1950 2009-07-13 Ed Schonberg <schonberg@adacore.com>
1952 * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
1953 exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
1954 and link it to the expression whose value it captures.
1956 2009-07-13 Robert Dewar <dewar@adacore.com>
1958 * output.adb: Minor comment addition for last change
1960 * sinfo.ads: Minor reformatting
1962 2009-07-13 Vasiliy Fofanov <fofanov@adacore.com>
1964 * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
1965 spawn failed like on all other targets.
1967 2009-07-13 Ed Schonberg <schonberg@adacore.com>
1969 * exp_ch7.adb: Indicate origin of temporary for transient expression.
1971 2009-07-13 Thomas Quinot <quinot@adacore.com>
1973 * s-oscons-tmplt.c: Add comment.
1975 2009-07-13 Robert Dewar <dewar@adacore.com>
1977 * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
1978 reformatting. Minor code reorganization (add 9 argument version of
1981 * impunit.adb: Remove s-os_lib from list of system extensions.
1983 * sem_util.ads: Minor reformatting
1985 * output.adb: Add warnings off/on around System.OS_Lib.
1987 2009-07-13 Bob Duff <duff@adacore.com>
1989 * exp_dist.adb: Minor comment updates.
1991 2009-07-13 Gary Dismukes <dismukes@adacore.com>
1993 * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
1994 several references to CodePeer.
1996 2009-07-13 Bob Duff <duff@adacore.com>
1998 * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
1999 Build_TypeCode_Function_All): Do not recurse if the type is the base
2002 2009-07-13 Robert Dewar <dewar@adacore.com>
2004 * exp_ch4.adb: Minor comment change
2006 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2008 * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
2009 type of iteration, to prevent spurious warnings.
2011 2009-07-13 Nicolas Roche <roche@adacore.com>
2013 * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
2016 2009-07-13 Arnaud Charlet <charlet@adacore.com>
2018 * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
2019 gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
2021 (CodePeer_Mode): New -gnatC switch.
2022 (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
2025 2009-07-13 Eric Botcazou <ebotcazou@adacore.com>
2027 * checks.adb (Selected_Range_Checks): Do not consider that a non-static
2028 integer bound forces the check if it is compared to its subtype range.
2030 2009-07-13 Robert Dewar <dewar@adacore.com>
2032 * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
2033 prj-strt.ads: Minor reformatting
2035 2009-07-13 Thomas Quinot <quinot@adacore.com>
2037 * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
2038 set the type of the From_Any call to the base type.
2040 2009-07-13 Doug Rupp <rupp@adacore.com>
2042 * symbols-processing-vms-ia64.adb (Process): Add variables and
2043 constants to retrieve and check for symbol visibility.
2045 2009-07-13 Javier Miranda <miranda@adacore.com>
2047 * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
2048 the identical type we remove the conversion completely because
2051 2009-07-13 Emmanuel Briot <briot@adacore.com>
2053 * prj-err.adb (Error_Msg): One more case where a message should be
2054 considered as a warning.
2056 * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
2058 2009-07-13 Thomas Quinot <quinot@adacore.com>
2060 * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
2061 calling stubs in the (library level) scope of the RCI locator, where it
2062 is attached, not in the caller's scope.
2064 2009-07-13 Javier Miranda <miranda@adacore.com>
2066 * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
2067 interface object declarations we delay the generation of the equivalent
2068 record type declarations until its expansion because there are cases in
2069 which they are not required.
2071 * sem_util.adb (Implements_Interface): Add missing support for subtypes.
2073 * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
2074 addition of assertion.
2076 * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
2077 interface types require no equivalent constrained type declarations
2078 because the expanded code only references the tag component associated
2080 (Find_Interface_Tag): Improve management of interfaces that are
2081 ancestors of tagged types.
2083 * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
2084 class-wide object declarations to add missing support to statically
2085 displace the pointer to the object to reference the tag component
2086 associated with the interface.
2088 * exp_disp.adb (Make_Tags) Avoid generation of internally generated
2089 auxiliary types associated with user-defined dispatching calls if the
2090 type has no user-defined primitives.
2092 2009-07-13 Vasiliy Fofanov <fofanov@adacore.com>
2094 * mingw32.h: Make it explicit that we need XP or later.
2096 * initialize.c: Remove useless extern symbol declaration.
2098 * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
2099 code reuse in expect.c.
2101 * adaint.c: Changes throughout the Windows section to redesign storage
2102 of the child process list and the process identification.
2104 * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
2105 for interfacing, fix errors.
2106 (__gnat_expect_portable_execvp): use function in adaint.c
2108 2009-07-13 Emmanuel Briot <briot@adacore.com>
2110 * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
2111 prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
2112 prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
2113 errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
2114 (Prj.Nmsc.Report_Error): Removed, no longer needed.
2115 Always use Prj.Err.Report_Message.
2117 2009-07-13 Robert Dewar <dewar@adacore.com>
2119 * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
2122 2009-07-13 Robert Dewar <dewar@adacore.com>
2124 * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
2125 prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
2127 2009-07-13 Emmanuel Briot <briot@adacore.com>
2129 * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
2130 mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
2131 Ada_Prj_Include_File_Set): Removed, since not needed
2134 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2136 * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
2137 Analyze_Membership_Op.
2139 * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
2140 Resolve_Membership_Op.
2142 * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
2145 2009-07-13 Robert Dewar <dewar@adacore.com>
2147 * clean.adb: Minor reformattting
2149 2009-07-13 Emmanuel Briot <briot@adacore.com>
2151 * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
2152 gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
2153 prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
2154 prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
2155 and attributes in a project tree.
2156 (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
2157 Remove last remaining mode-specific code (ada_only or
2158 multi_language). This was duplicating code
2159 (Get_Mode, Set_Mode): removed, no longer used.
2160 (Initialize_Project_Path): all tools will now take into account both
2161 GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
2162 Remove some global variables and subprograms no longer used
2163 Make temporary files tree-specific, to avoid interferences between
2164 trees loaded in memory at the same time.
2165 (Prj.Delete_Temporary_File): new subprogram
2166 (Object_Paths, Source_Paths): fields no longer stored in the project
2167 tree, since they are only needed locally in Set_Ada_Paths.
2168 (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
2170 (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
2171 by local variables in the appropriate subprograms
2172 (Has_Foreign_Sources): removed.
2174 * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
2176 2009-07-13 Arnaud Charlet <charlet@adacore.com>
2178 * gnat1drv.adb (Adjust_Global_Switches): No longer set
2179 Back_Annotate_Rep_Info in inspector mode.
2180 (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
2182 * opt.ads: Update comment.
2184 2009-07-13 Robert Dewar <dewar@adacore.com>
2186 * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
2187 prj.ads: Minor reformatting and code reorganization.
2189 * par-ch3.adb (Check_Restricted_Expression): New procedure
2191 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2193 * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
2194 attribute into a call of the corresponding suprogram, create extra
2195 formals for the subprogram, because it may be a renaming whose
2196 analysis does not create extra formals.
2198 2009-07-13 Emmanuel Briot <briot@adacore.com>
2200 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
2201 prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
2202 prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
2203 prj-tree.ads: Minor reformatting.
2204 (Processing_Flags): new record to encapsulate the set of common
2205 parameters to several subprograms in the project manager.
2206 (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
2207 Remove the need for the Current_Dir parameter in subprograms.
2208 (Look_For_Sources): minor refactoring, now that we no longer need to
2209 share subprograms between the two Ada_Only and Multi_Language modes
2210 (Processing_Flags): New field Error_On_Unknown_Language.
2211 Merge tests for library project between gnatmake and gprbuild.
2213 2009-07-13 Arnaud Charlet <charlet@adacore.com>
2215 * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
2218 2009-07-13 Emmanuel Briot <briot@adacore.com>
2220 * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
2223 2009-07-13 Thomas Quinot <quinot@adacore.com>
2225 * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
2226 Write,Input,Output} from private view to full view.
2228 * sem_type.adb, sem_type.ads: Minor reformatting
2230 2009-07-13 Nicolas Setton <setton@adacore.com>
2232 * exp_dbug.ads: Add documentation note on the utility of
2233 DW_AT_GNAT_encoding for IDEs.
2235 2009-07-13 Robert Dewar <dewar@adacore.com>
2237 * g-socthi-vxworks.adb: Minor reformatting
2239 * gnatcmd.adb: Minor reformatting
2241 2009-07-13 Thomas Quinot <quinot@adacore.com>
2243 * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
2244 removed, not used anymore.
2245 (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
2246 New subprogram, implements copy of an Any value into a limited object.
2247 (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
2248 Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
2249 Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
2250 of parameters of a limited type, use the above new subprogram.
2252 2009-07-13 Emmanuel Briot <briot@adacore.com>
2254 * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
2256 (Copy_ALI_Files): Avoid calls to read when pointing outside of the
2258 (Error_Report): Remove global variable, replaced by parameters.
2260 2009-07-13 Thomas Quinot <quinot@adacore.com>
2262 * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
2263 standard sendto(2) interface for connected sockets (passing a null
2264 destination address). Use send(2) instead for that case.
2266 2009-07-13 Pascal Obry <obry@adacore.com>
2268 * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
2270 2009-07-13 Emmanuel Briot <briot@adacore.com>
2272 * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
2273 prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
2274 variables and tables in prj-nmsc.adb.
2275 (Tree_Processing_Data): Renames Processing_Data, some new fields added
2276 (Project_Processing_Data): New record
2277 Simplify/unify check for missing sources.
2279 2009-07-13 Emmanuel Briot <briot@adacore.com>
2281 * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
2282 prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
2283 prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
2284 prj-tree.ads (Immediate_Directory_Of): Removed.
2285 (Prj.Pars): Now parse the project simulating a default config file.
2286 (Add_Default_GNAT_Naming_Scheme): New subprogram
2287 (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
2288 Remove gnatmake-specific parsing of source files.
2289 (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
2290 the error itself to provide more precise diagnostics.
2291 (Process_Exceptions_Unit_Based): Avoid duplicate error message when
2292 a unit belongs to several projects.
2293 (Copy_Interface_Sources): Search the full path of files to copy in the
2294 list of sources of the application rather than in the list of units.
2295 (Parse_Project_And_Apply_Config): Do not reset the name of the main
2297 (Check_File): Use htables to find out whether a source is duplicated.
2298 (Add_Source): check whether the source or unit were already seen earlier
2300 * gcc-interface/Makefile.in: Update gnatmake dependencies.
2302 2009-07-13 Robert Dewar <dewar@adacore.com>
2304 * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
2305 expression if extensions permitted.
2307 * par-ch4.adb (P_Membership_Test): New procedure (implement membership
2309 (P_Relation): Use P_Membership_Test
2311 * par.adb (P_Membership_Test): New procedure (implement membership set
2314 * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
2316 * sprint.adb (Sprint_Node): Handle set form for membership tests.
2318 2009-07-13 Thomas Quinot <quinot@adacore.com>
2320 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
2321 Do not attempt to generate stubs for predefined primitives of
2322 synchronized interfaces.
2323 (Add_Stub_Type): Factor some code from the PCS-specific variants of
2326 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2328 * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
2329 Controlling_Result flag from the operation they override.
2331 2009-07-13 Arnaud Charlet <charlet@adacore.com>
2333 * gcc-interface/Make-lang.in: Update dependencies
2335 2009-07-13 Robert Dewar <dewar@adacore.com>
2337 * gnat_ugn.texi: The gnatf switch no longer is needed to get full
2338 details on unsupported constructs.
2340 * rtsfind.adb: Remove references to All_Errors_Mode, give errors
2343 * s-trafor-default.adb: Correct some warnings
2345 * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
2346 sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
2349 * par-ch4.adb (Conditional_Expression): Capture proper location for
2350 conditional expression, should point to IF.
2352 * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
2353 s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
2354 g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
2355 reorganization (use conditional expressions).
2357 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2359 * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
2360 build-in-place function that returns an inherently limited type (not
2361 just a task type) create proper object declaration so that extra
2362 build-in-place actuals are properly added to the call.
2364 2009-07-13 Robert Dewar <dewar@adacore.com>
2366 * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
2368 * gnat_ugn.texi: Add documentation for -gnatw.m/.M
2370 * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
2372 * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
2373 Warn_On_Suspicious_Modulus_Value.
2375 * ug_words: Add entries for -gnatw.m/-gnatw.M.
2377 * usage.adb: Add lines for -gnatw.m/.M switches.
2379 * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
2381 2009-07-13 Javier Miranda <miranda@adacore.com>
2383 * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
2384 reading the Is_Interface attribute of the dispatching type.
2386 2009-07-13 Robert Dewar <dewar@adacore.com>
2388 * a-convec.adb: Minor code reorganization (use conditional expressions)
2390 2009-07-13 Robert Dewar <dewar@adacore.com>
2392 * freeze.adb (Check_Suspicious_Modulus): New procedure.
2394 2009-07-13 Robert Dewar <dewar@adacore.com>
2396 * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
2399 * par-ch4.adb: Minor reformatting
2401 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2403 * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
2404 => Is_Atomic_Aggregate
2406 2009-07-13 Emmanuel Briot <briot@adacore.com>
2408 * prj-nmsc.adb: Avoid traversing the list of source files if
2409 we have already processed all locally removed files.
2411 2009-07-13 Jose Ruiz <ruiz@adacore.com>
2413 * gnat_ugn.texi: Fix typo.
2415 2009-07-13 Robert Dewar <dewar@adacore.com>
2417 * freeze.adb: Minor reformatting
2418 Minor code reorganization (use Nkind_In)
2420 * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
2422 2009-07-11 Eric Botcazou <ebotcazou@adacore.com>
2424 * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
2425 local variable and do not test it in Compile_Time_Bad_Alignment.
2426 Do not issue size or alignment warnings for the X'Address form.
2427 * sem_util.ads (Find_Overlaid_Object): Delete.
2428 (Find_Overlaid_Entity): New procedure.
2429 * sem_util.adb (Find_Overlaid_Object): Rename to...
2430 (Find_Overlaid_Entity): ...this and turn into a procedure. Report
2431 whether the address is offseted within the overlaid entity.
2432 (Has_Compatible_Alignment): Track the offset globally instead of
2433 passing it to Check_Offset. For an indexed component, compute the
2434 full offset when possible. If the resulting offset is zero, only
2436 (Check_Offset): Delete.
2437 * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
2438 (Address_Aliased_Entity): Delete.
2439 (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
2440 Find_Overlaid_Entity to find the overlaid entity and the offset.
2441 Adjust throughout for above change.
2442 (Validate_Address_Clauses): Always use attributes of entities, not of
2443 their type. Tweak message for warning. Call Has_Compatible_Alignment
2444 if the address is offseted to warn about incompatible alignments.
2445 * gcc-interface/gigi.h (annotate_object): Declare.
2446 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
2447 entity. Call annotate_object instead of annotating manually objects.
2448 (annotate_object): New function.
2449 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
2452 2009-07-11 Eric Botcazou <ebotcazou@adacore.com>
2454 * gcc-interface/ada-tree.h: Minor reorganization.
2455 * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
2456 (gnat_print_type): Likewise.
2458 2009-07-11 Thomas Quinot <quinot@adacore.com>
2460 * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
2463 * exp_ch6.adb: Minor reformatting
2465 2009-07-11 Ed Schonberg <schonberg@adacore.com>
2467 * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
2468 account possible type qualification to determine whether aggregate
2469 needs a target temporary to respect atomic type or object.
2471 * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
2472 Expand_Atomic_Aggregate.
2474 2009-07-11 Emmanuel Briot <briot@adacore.com>
2476 * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
2478 (Excluded_Sources_Htable): No longer a global table.
2479 Change error message to indicate which files are illegal in the list
2480 of excluded files, as opposed to only the location in the project
2482 (Find_Source): New subprogram.
2484 2009-07-10 Thomas Quinot <quinot@adacore.com>
2486 * exp_ch7.adb: Update comments.
2488 2009-07-10 Arnaud Charlet <charlet@adacore.com>
2490 * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
2491 clause if -gnatI is set instead of crashing.
2493 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2495 * sem_ch11.adb (Same_Expression): Null is always equal to itself.
2496 Additional work to remove redundant successive raise statements, in
2497 this case access checks.
2499 2009-07-10 Vincent Celier <celier@adacore.com>
2501 * make.adb (Compile): Always create a deep copy of the mapping file
2502 argument (-gnatem=...) as it may be deallocate/reallocate by
2503 Normalize_Arguments.
2505 2009-07-10 Javier Miranda <miranda@adacore.com>
2507 * einfo.adb (Directly_Designated_Type): Add assertion.
2509 * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
2510 access types before using attribute Directly_Designated_Type.
2512 2009-07-10 Emmanuel Briot <briot@adacore.com>
2514 * prj.ads: Minor typo fix
2516 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2518 * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
2521 * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
2522 subprogram is a function call, resolve properly, to ensure that extra
2523 actuals are added as needed.
2525 2009-07-10 Thomas Quinot <quinot@adacore.com>
2527 * sem_aggr.adb: Minor comments editing
2529 * exp_tss.adb, exp_ch3.adb: Minor reformatting
2531 2009-07-10 Robert Dewar <dewar@adacore.com>
2533 * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
2535 * exp_ch4.adb: Add ??? comment for conditional expressions on limited
2538 * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
2539 replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
2540 case of conditional expressions that may not be elaborated.
2542 * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
2543 conditional expression where we may not execute then then or else
2546 2009-07-10 Arnaud Charlet <charlet@adacore.com>
2548 * i-cexten.ads (bool): New type.
2550 2009-07-10 Robert Dewar <dewar@adacore.com>
2552 * sinfo.ads (N_Short_Circuit): New definition
2554 * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
2555 treepr.adb: Minor code reorganization (use N_Short_Circuit)
2557 2009-07-10 Javier Miranda <miranda@adacore.com>
2559 * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
2560 non-tagged record types.
2563 (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
2564 with non-tagged types. Required to import C++ classes that have no
2566 (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
2567 returning non-tagged types. For backward compatibility, if the
2568 constructor returns a class wide type we internally change the
2569 returned type to the corresponding non class-wide type.
2572 (Valid_Ancestor_Type): CPP_Constructors code cleanup.
2573 (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
2574 (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
2575 (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
2578 (Analyze_Object_Declaration): CPP_Constructors code cleanup.
2580 * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
2582 * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
2584 * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
2586 * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
2589 * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
2592 (pragma CPP_Class): Document that it can be used now with non-tagged
2594 (pragma CPP_Constructor): Document that it can be used now with
2595 functions returning specific types. For backward compatibility
2596 we also support functions returning class-wide types.
2599 (Interfacing with C++ constructors): Update the examples to incorporate
2600 the new syntax in which the functions used to import C++ constructors
2601 return specific types.
2602 (Interfacing with C++ at the Class Level): Update the examples to
2603 incorporate the new syntax in which the functions used to import
2604 C++ constructors return specific types.
2606 2009-07-10 Thomas Quinot <quinot@adacore.com>
2608 * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
2609 Make_Disp_Conditional_Select_Body,
2610 Make_Disp_Timed_Select_Body): For the case of a type that is neither an
2611 interface nor a concurrent type, the primitive body is empty. Generate
2612 a null statement so that it remains well formed.
2614 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2616 * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
2617 replace references to them in defaulted component expressions with
2618 references to the values of the discriminants of the target object.
2620 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2622 * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
2623 pragma, to capture global references if the context is generic.
2625 * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
2626 appears within the initialization procedure for the corresponding
2627 record, replace it with the proper discriminal.
2629 2009-07-10 Vincent Celier <celier@adacore.com>
2631 * make.adb: Do not include object directories or library ALI
2632 directories of library projects in the object path.
2634 2009-07-10 Javier Miranda <miranda@adacore.com>
2636 * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
2637 Typ argument to ensure proper management of access types.
2639 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2641 * exp_ch7.adb (Build_Final_List): If the list is being built for a
2642 Taft-Amendment type, place the finalization list in the package body,
2643 to ensure that the tree for the spec is identical whenever it is
2646 2009-07-10 Javier Miranda <miranda@adacore.com>
2648 * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
2649 inheriting attributes from a private Parent_Base.
2651 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2653 * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
2654 statements with the same condition.
2656 2009-07-10 Robert Dewar <dewar@adacore.com>
2658 * exp_ch4.adb (Raise_Accessibility_Error): New procedure
2660 2009-07-09 Tom Tromey <tromey@redhat.com>
2662 * raise-gcc.c: Include dwarf2h (unconditionally).
2664 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2666 * sem_ch10.adb (Install_Context): If the unit is a package body,
2667 install the private with_clauses of the corresponding package
2670 2009-07-09 Robert Dewar <dewar@adacore.com>
2672 * checks.adb: Minor reformatting
2674 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
2676 * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
2679 2009-07-09 Thomas Quinot <quinot@adacore.com>
2681 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
2682 Do not warn for a constant overlaying any constant object
2684 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2686 * sem_ch10.adb (Install_Context): If the unit is a package body,
2687 install the private with_clauses of the corresponding package
2690 2009-07-09 Robert Dewar <dewar@adacore.com>
2692 * checks.adb: Minor reformatting
2694 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
2696 * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
2699 2009-07-09 Thomas Quinot <quinot@adacore.com>
2701 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
2702 Do not warn for a constant overlaying any constant object
2704 2009-07-09 Arnaud Charlet <charlet@adacore.com>
2706 * gcc-interface/Make-lang.in: Update dependencies
2708 2009-07-09 Thomas Quinot <quinot@adacore.com>
2710 * g-socket.adb (Check_Selector): Do not create local copies of the
2711 socket sets on the stack.
2713 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
2715 * gnat_ugn.texi: Add missing VMS translations.
2717 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2719 * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
2720 condition, to prevent generation of visible code during expansion,
2721 when Check is not enabled.
2723 2009-07-09 Gary Dismukes <dismukes@adacore.com>
2725 * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
2726 the check gets registered for any available local handler
2729 * sem_util.adb: Add with and use of Exp_Ch11.
2730 (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
2731 that the check gets registered for any available local handler.
2733 * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
2736 2009-07-09 Steve Baird <baird@adacore.com>
2738 * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
2740 (Expand_N_Exception_Declaration): Fix handling of exceptions
2741 declared in a subprogram.
2743 2009-07-09 Emmanuel Briot <briot@adacore.com>
2745 * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
2748 2009-07-09 Thomas Quinot <quinot@adacore.com>
2750 * freeze.adb: Minor reformatting
2752 * exp_ch3.adb: Minor comment fix.
2754 * sinfo.ads: Minor comment fix
2756 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2758 * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
2760 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2762 * freeze.adb (Freeze_Expression): If the expression is the name of a
2763 function in a call, and the function has not been frozen yet, create
2764 extra formals for it to ensure that the proper actuals are created
2765 when expanding the call.
2767 2009-07-09 Emmanuel Briot <briot@adacore.com>
2769 * prj-pp.adb (Print): Fix handling of source index when set on a
2772 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2774 * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
2775 a temporary to the source expression whose value it captures.
2777 * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
2779 2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2781 * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
2784 2009-07-07 Gary Dismukes <dismukes@adacore.com>
2786 * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
2787 parameters when the subtype of the actual is not known to be a subrange
2788 of the formal's subtype.
2789 (Expand_Call): Generate a range check only in the E_In_parameter case
2790 (in out parameter range checks are now handled in Expand_Actuals).
2792 * exp_ch4.adb (Expand_N_Slice): Restore code that calls
2795 2009-07-07 Robert Dewar <dewar@adacore.com>
2797 * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
2799 2009-07-07 Javier Miranda <miranda@adacore.com>
2801 * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
2802 designated type comes from a limited views.
2804 2009-07-07 Emmanuel Briot <briot@adacore.com>
2806 * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
2807 locally removed files that are later made visible again in an importing
2810 2009-07-07 Robert Dewar <dewar@adacore.com>
2812 * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
2814 2009-07-07 Sergey Rybin <rybin@adacore.com>
2816 * gnat_ugn.texi: Add an example to the description of gnatcheck
2817 'Style_Checks' rule option.
2819 2009-07-07 Tristan Gingold <gingold@adacore.com>
2821 * seh_init.c: Fix inline assembly statement in seh_init.c
2823 2009-07-07 Ed Schonberg <schonberg@adacore.com>
2825 * sem_warn.adb (Check_References): Do not emit warnings on formals of
2826 an entry body. Only the formals of the entry declaration are traced.
2828 2009-07-07 Robert Dewar <dewar@adacore.com>
2830 * s-osprim-mingw.adb: Minor code reorganization
2832 2009-07-07 Robert Dewar <dewar@adacore.com>
2834 * prj-nmsc.adb: Minor reformatting
2836 2009-07-07 Pascal Obry <obry@adacore.com>
2838 * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
2839 cases where Pattern is longer than Source.
2841 2009-07-07 Pascal Obry <obry@adacore.com>
2843 * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
2845 2009-07-07 Emmanuel Briot <briot@adacore.com>
2847 * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
2850 2009-07-07 Ed Schonberg <schonberg@adacore.com>
2852 * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
2853 primitive operations, in case one of them is called in the
2854 initialization procedure for the type.
2856 2009-07-07 Robert Dewar <dewar@adacore.com>
2858 * a-calend.adb: Minor code reorganization (use conditional expressions)
2860 * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
2861 prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
2862 s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
2863 s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
2864 s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
2865 g-comlin.adb, exp_ch11.adb: Minor reformatting.
2867 2009-07-07 Gary Dismukes <dismukes@adacore.com>
2869 * checks.adb (Generate_Range_Check): Replace type conversions with
2870 unchecked conversions to support the case of performing range checks
2871 on Enum'Val (permits integer values to be converted to enumeration).
2873 * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
2874 Attribute_Succ): Set Do_Range_Check to False before calling
2875 Expand_Pred_Succ, to prevent gigi from generating any range checks.
2876 (Expand_N_Attribute_Reference, case Attribute_Val):
2877 Generate a range check when needed (and set Do_Range_Check to False).
2879 * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
2880 scalar object initialization if needed.
2882 * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
2883 when needed on scalar allocators.
2884 (Expand_N_Qualified_Expression): Generate range check when needed.
2885 (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
2886 Checks on slice ranges handled in Resolve_Slice.
2888 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
2889 when needed, for all scalar assignments, not just discrete.
2890 (Expand_Simple_Function_Return): Resolve the conversion created for a
2891 scalar function return so that the conversion will get expanded to
2892 generate a possible constraint check.
2894 * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
2895 in out scalar actuals when subtypes don't match, to ensure generation
2896 of return checks (and set Do_Range_Check to False).
2897 (Expand_Call): Uncomment code to perform range checks, but make it apply
2898 only to in and in out parameters (checks on parameter returns are
2899 handled in Expand_Actuals). If a scalar actual for a call to a derived
2900 subprogram is marked as needing a range check, peform it here (and set
2901 Do_Range_Check to False).
2903 * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
2904 range check on scalar component associations when needed.
2906 * sem_eval.adb (In_Subrange_Of): Return False when the first type has
2907 infinities but the second type does not, as these aren't compatible
2908 floating-point types.
2910 * sem_res.adb (Resolve_Slice): In the case where the prefix of the
2911 slice is itself a slice, pick up the Etype of the prefix. This handles
2912 the case where the prefix was an Image attribute expanded to a slice,
2913 and ensures that we get the subtype with the slice constraint rather
2914 than the unconstrained subbtype of the 'Image.
2916 2009-07-07 Ed Schonberg <schonberg@adacore.com>
2918 * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
2919 overloaded expressions in a conditional expressions.
2921 * sem_res.adb (Resolve): Handle properly overloaded conditional
2924 2009-07-07 Robert Dewar <dewar@adacore.com>
2926 * scng.adb: Minor reformattting
2928 * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
2929 association allows conditional expression without parens.
2931 * par-ch4.adb (P_Name): Attribute arguments can be conditional
2932 expressions without enclosing parentheses, and also as parameters,
2933 indexing expressions etc.
2934 (P_Conditional_Expression): New procedure
2935 (P_Expression_If_OK): New procedure
2937 * par.adb (P_Conditional_Expression): New procedure
2938 (P_Expression_If_OK): New procedure
2940 * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
2941 form of conditional expression.
2943 * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
2944 missing True argument if ELSE argument missing.
2946 * sinfo.adb (Is_Elsif): New flag
2948 * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
2949 part of the language, and the documentation is modified accordingly.
2950 (Is_Elsif): New flag
2952 2009-07-06 Olivier Hainque <hainque@adacore.com>
2954 * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
2955 setjmp_longjmp): Attach the exception propagation reraise fallback
2956 to the sequence end label location when we have it.
2958 2009-07-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2961 * init.c (APPLE): Include <mach/mach_init.h>.
2962 (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
2964 2009-07-04 Eric Botcazou <ebotcazou@adacore.com>
2966 * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
2967 (SET_DECL_LANG_SPECIFIC): Likewise.
2968 (TYPE_RM_VALUE): New macro.
2969 (SET_TYPE_RM_VALUE): Likewise.
2970 (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
2971 (TYPE_RM_MIN_VALUE): Likewise.
2972 (TYPE_RM_MAX_VALUE): Likewise.
2973 (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
2974 (SET_TYPE_RM_MIN_VALUE): Likewise.
2975 (SET_TYPE_RM_MAX_VALUE): Likewise.
2976 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
2978 2009-07-04 Laurent GUERBY <laurent@guerby.net>
2981 * tracebak.c (__gnat_backtrace): Fix old-style definition.
2983 2009-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2985 * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
2987 2009-07-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2990 * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
2993 2009-07-01 Eric Botcazou <ebotcazou@adacore.com>
2995 * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
2997 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
2999 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
3000 the type of the left operand if it pads a self-referential type when
3001 the right operand is a constructor.
3003 * gcc-interface/lang-specs.h: Fix copyright date.
3005 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
3007 * gcc-interface/decl.c: Include tree-inline.h.
3008 (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
3009 * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
3010 * gcc-interface/utils2.c: Include tree-inline.
3011 (known_alignment) <CALL_EXPR>: Likewise.
3013 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
3015 * raise-gcc.c: Include dwarf2.h conditionally.
3017 2009-06-29 Tom Tromey <tromey@redhat.com>
3019 * raise-gcc.c: Include elf/dwarf2.h.
3021 2009-06-27 Laurent GUERBY <laurent@guerby.net>
3023 * tb-gcc.c (trace_callback): Add casts to silence warning.
3025 2009-06-27 Eric Botcazou <ebotcazou@adacore.com>
3027 * tb-gcc.c: Fix copyright notice.
3029 2009-06-27 Eric Botcazou <ebotcazou@adacore.com>
3031 * init.c (__gnat_set_globals): Add prototype.
3032 * adaint.c (__gnat_binder_supports_auto_init): Likewise.
3033 (__gnat_sals_init_using_constructors): Likewise.
3034 * gcc-interface/utils.c (gnat_pushlevel): Likewise.
3035 (get_block_jmpbuf_decl): Likewise.
3036 (gnat_poplevel): Likewise.
3037 (merge_sizes): Rename local variable.
3038 (copy_type): Likewise.
3039 (build_vms_descriptor32): Likewise.
3040 (build_vms_descriptor): Likewise.
3041 (convert_vms_descriptor64): Likewise.
3042 (convert_vms_descriptor32): Likewise.
3043 (convert_to_fat_pointer): Likewise.
3044 (maybe_unconstrained_array): Likewise.
3045 (def_fn_type): Use promoted type with va_arg.
3046 * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
3047 (substitute_in_type): Rename local variable.
3048 * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
3050 2009-06-26 Laurent GUERBY <laurent@guerby.net>
3052 * tb-gcc.c (trace_callback): Use char* instead of void*.
3053 * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
3054 * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
3055 (Attribute_to_gnu): Adjust for above change.
3056 (Subprogram_Body_to_gnu): Likewise.
3057 * gcc-interface/utils.c (merge_sizes): Rename local variable.
3058 (copy_type): Likewise.
3059 (build_vms_descriptor32): Likewise.
3060 (build_vms_descriptor): Likewise.
3061 (convert_vms_descriptor64): Likewise.
3062 (convert_vms_descriptor32): Likewise.
3063 (convert_to_fat_pointer): Likewise.
3064 (maybe_unconstrained_array): Likewise.
3065 * gcc-interface/decl.c (substitute_in_type): Likewise.
3067 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
3069 * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
3070 (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
3071 of the upper bound of the index types.
3073 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
3075 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
3076 out common predicate. Use the maximum to compute the upper bound of
3077 the index type only when it is not wider than sizetype. Perform the
3078 comparison in the index type for the generic expression. Use real
3079 precision to decide whether to generate special types for debugging
3082 2009-06-26 Matthew Gingell <gingell@adacore.com>
3084 * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
3086 2009-06-26 Vincent Celier <celier@adacore.com>
3088 * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
3091 2009-06-26 Robert Dewar <dewar@adacore.com>
3093 * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
3095 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
3097 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
3098 correct arguments to create_field_decl. Remove redundant iteration.
3099 Rewrite computation of the maximum size.
3100 <E_Array_Subtype>: Reorder and simplify handling of special cases.
3101 Rewrite computation of the maximum size. Use consistent naming.
3102 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
3103 comparison order for consistency. Use generic integer node to
3104 build the operator and fold the result.
3106 2009-06-25 Vincent Celier <celier@adacore.com>
3108 * vms_data.ads: Minor comment change
3110 2009-06-25 Gary Dismukes <dismukes@adacore.com>
3112 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
3113 assignment statement to targeting a caller-provided object when the
3114 result type is an interface type.
3116 * exp_ch6.adb (Expand_Call): Remove redundant test of
3117 Is_Limited_Interface (Is_Inherently_Limited is sufficient).
3118 (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
3120 * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
3121 to OK_For_Limited_Init.
3123 * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
3124 condition so that True is returned for all limited interfaces, not
3125 just synchronized ones. Ignore components of an interface type when
3126 checking for limited components (such a component can be a parent
3129 * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
3130 (OK_For_Limited_Init): Add type parameter.
3132 * sem_ch3.adb (Check_Initialization): Add type in call to
3133 OK_For_Limited_Init.
3134 (OK_For_Limited_Init): Add new type param in call to
3135 OK_For_Limited_Init_In_05.
3136 (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
3137 nonlimited type when the context type is a limited interface. Add type
3140 * sem_ch4.adb (Analyze_Allocator): Add type in call to
3141 OK_For_Limited_Init.
3143 * sem_ch6.adb (Check_Limited_Return): Add type in call to
3144 OK_For_Limited_Init.
3146 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
3147 OK_For_Limited_Init.
3148 (Instantiate_Object): Add type in call to OK_For_Limited_Init.
3150 * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
3151 class-wide interface, get the base type before applying Etype, in order
3152 to account for class-wide subtypes.
3154 2009-06-25 Emmanuel Briot <briot@adacore.com>
3156 * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
3157 prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
3158 between gnatmake and gprbuild.
3159 (Naming_Data): Removed, no longer used
3160 (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
3161 needed locally in one subprogram, no need to store forever in the
3163 (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
3165 (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
3166 Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
3167 Spec_Suffix_Id_Of): removed, no longer used.
3169 2009-06-25 Javier Miranda <miranda@adacore.com>
3171 * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
3172 types on qualified expression in calls to imported C++ constructors.
3174 * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
3175 imported C++ constructors.
3177 2009-06-25 Sergey Rybin <rybin@adacore.com>
3179 * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
3181 2009-06-25 Vincent Celier <celier@adacore.com>
3183 * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
3184 provided, on Windows change all '/' to '\'.
3186 * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
3187 used. Minor comment changes
3189 * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
3190 Remove_Forbidden_File_Name.
3192 2009-06-25 Quentin Ochem <ochem@adacore.com>
3194 * prj.ads (Unit_Index): Now general access type.
3196 2009-06-25 Pascal Obry <obry@adacore.com>
3198 * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
3200 2009-06-25 Emmanuel Briot <briot@adacore.com>
3202 * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
3203 prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
3204 computed efficiently from the other fields.
3205 (Object_To_Global_Archive): New subprogram
3206 (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
3207 (Override_Kind): Fix handling of separates in Ada.
3208 (Create_Mapping_File): Remove duplicate code
3209 (Naming_Data.Implementation_Exception, Specification_Exception):
3210 field removed, since never used.
3211 (Naming_Data.Specs, .Bodies): field removed, since this is only
3212 used while processing the project and is not needed once the tree
3213 is in memory. This brings Naming_Data and Lang_Naming_Data
3214 closer (same content now, but different use still).
3216 2009-06-25 Pascal Obry <obry@adacore.com>
3218 * sem_ch4.adb: Minor reformatting.
3220 * a-strsea.adb: Fix confusion between 'Length and 'Last.
3222 2009-06-25 Ed Schonberg <schonberg@adacore.com>
3224 * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
3225 Unchecked_Access): If the context is an interface type, and the prefix
3226 is of the corresponding class-wide type, do not insert a conversion
3227 because the pointer displacement has already taken place, and we must
3228 retain the class-wide type in a dispatching context.
3230 2009-06-25 Emmanuel Briot <briot@adacore.com>
3232 * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
3233 the previous source file.
3234 (Create_Mapping): Iterate on sources rather than on units.
3236 2009-06-25 Emmanuel Briot <briot@adacore.com>
3238 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
3239 prj-env.adb, prj-env.ads (Slash): removed, no longer used
3240 (Source_Data): no longer use Path.Name to point to a locally removed
3241 file. Instead we use the field Locally_Removed which is clearer
3243 2009-06-25 Arnaud Charlet <charlet@adacore.com>
3245 * gcc-interface/Make-lang.in: Remove references to sem_maps.o
3247 * sem_maps.adb, sem_maps.ads: Removed, not used.
3249 2009-06-25 Ed Falis <falis@adacore.com>
3251 * s-vxwext-rtp.ads: Add missing declaration
3253 2009-06-25 Matthew Gingell <gingell@adacore.com>
3255 * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
3256 speed up unmapped case.
3258 2009-06-25 Vincent Celier <celier@adacore.com>
3260 * prj-nmsc.adb (Check): Change error message for illegal abstract
3263 2009-06-25 Robert Dewar <dewar@adacore.com>
3265 * gnat_ugn.texi: Add note on use of -gnatct for ASIS
3267 2009-06-25 Emmanuel Briot <briot@adacore.com>
3269 * fmap.ads: Add documentation on mapping files
3271 2009-06-25 Robert Dewar <dewar@adacore.com>
3273 * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
3276 2009-06-24 Robert Dewar <dewar@adacore.com>
3278 * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
3280 * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
3284 2009-06-24 Ed Schonberg <schonberg@adacore.com>
3286 * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
3287 present when checking whether a call may be interpreted as an indexing
3288 of the result of a call.
3290 * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
3291 body for a null procedure on the freeze actions for the procedure, so
3292 that it will be analyzed at the proper place without premature freezing
3295 * sem_ch3.adb (Check_Completion): Code cleanup.
3296 Do not diagnose a null procedure without a body, if previous errors
3297 have disabled expansion.
3299 2009-06-24 Doug Rupp <rupp@adacore.com>
3301 * init.c [VMS] Resignal C$_SIGKILL
3303 2009-06-24 Ed Falis <falis@adacore.com>
3305 * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
3306 Define ERROR in body for VxWorks 6 kernel
3308 2009-06-24 Pascal Obry <obry@adacore.com>
3310 * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
3311 in [Send/Receive]_Socket.
3313 2009-06-24 Emmanuel Briot <briot@adacore.com>
3315 * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
3316 prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
3317 to several subprograms.
3318 (Source_Data.Other_Part): Removed, since can be computed from the
3320 (Other_Part): New subprogram.
3322 2009-06-24 Emmanuel Briot <briot@adacore.com>
3324 * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
3325 the full base name of the file when the suffix doesn't start with a '.'.
3327 2009-06-24 Vincent Celier <celier@adacore.com>
3329 * prj-nmsc.adb (Check): A project declared abstract is legal if no
3330 attribute Source_Dirs, Source_Files, Source_List_File or Languages is
3333 2009-06-24 Robert Dewar <dewar@adacore.com>
3335 * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
3336 prj-env.adb: Minor reformatting
3338 2009-06-24 Ed Falis <falis@adacore.com>
3340 * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
3341 s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
3342 s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
3343 support for VxWorks SMP.
3345 * gcc-interface/Make-lang.in: Update dependencies
3347 2009-06-24 Emmanuel Briot <briot@adacore.com>
3349 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
3350 prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
3352 (Source_Data.Lang_Kind): Removed, since it duplicates information
3353 already available through Language.Config.
3354 (Source_Data.Compile): Removed, since information is already available
3355 through the language.
3356 (Is_Compilable): New subprogram.
3357 (Source_Data.Dependency): Removed, since already available through
3359 (Source_Data.Object_Exist, Object_Linked): Removed since available
3360 through the language already.
3361 (Unit_Data.File_Names): Is now also set in multi_language mode, to
3362 bring the two modes closer in the resulting data structures.
3363 (Source_Data.Unit): Now a direct pointer to the unit data, rather than
3364 just the name that would point into a hash table.
3365 (Get_Language_From_Name): New subprogram.
3367 2009-06-24 Javier Miranda <miranda@adacore.com>
3369 * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
3370 visible through limited-with context clauses. In addition, avoid an
3371 extra tag check that is not required when the class-wide
3372 designated types of the operand and target types are
3374 (Tagged_Membership): Handle entities from the limited view.
3376 2009-06-24 Emmanuel Briot <briot@adacore.com>
3378 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
3379 prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
3380 (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
3381 different vocabularies for similar concepts (Impl/Body_Part and
3382 Spec/Specification).
3383 (Unit_Data): now points directly to a Source_Id, rather than duplicating
3384 some of the information in File_Name_Data. This also saves a bit of
3385 memory. However, since we are now using a pointer we need to test
3386 for null explicitly in several places of the code
3388 2009-06-24 Javier Miranda <miranda@adacore.com>
3390 * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
3391 from processing the type conversion when the node is
3392 replaced by an N_Raise_Program_Error node.
3394 2009-06-24 Hristian Kirtchev <kirtchev@adacore.com>
3396 * sem_ch6.adb (Designates_From_With_Type): New routine.
3397 (Process_Formals): Since anonymous access types are no longer flagged
3398 as from with types, traverse the designated type to determine whether
3399 it is coming from a limited view.
3401 * sem_res.adb: Remove with and use clauses for Sem_Ch10.
3402 (Full_Designated_Type): Use Available_View to extract the non-limited /
3403 full view of a type.
3405 2009-06-24 Robert Dewar <dewar@adacore.com>
3407 * exp_ch6.adb: Minor reformatting
3409 * layout.adb: Minor reformatting
3411 * make.adb: Minor reformatting
3413 2009-06-24 Thomas Quinot <quinot@adacore.com>
3415 * sem_ch10.adb: Minor code reorganization.
3417 2009-06-24 Eric Botcazou <ebotcazou@adacore.com>
3419 * ttypes.ads: Minor editing.
3421 2009-06-24 Robert Dewar <dewar@adacore.com>
3423 * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
3424 in deciding to do call-by-copy code.
3426 2009-06-24 Vincent Celier <celier@adacore.com>
3428 * make.adb (Gnatmake): To decide if an executable should be rebuilt,
3429 check if an externally built library file is more current than the
3432 2009-06-23 Olivier Hainque <hainque@adacore.com>
3434 * gcc-interface/utils.c (handle_vector_size_attribute): Import from
3435 c-common.c and populate in gnat_internal_attribute_table.
3437 2009-06-23 Ed Schonberg <schonberg@adacore.com>
3439 * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
3440 Available_View only when designated type of an anonymous access type
3443 2009-06-23 Robert Dewar <dewar@adacore.com>
3445 * sem_ch10.adb: Minor reformatting
3447 * ali.ads: Mino reformatting.
3449 * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
3450 turning off inlining if ASIS mode active).
3452 * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
3453 This belongs in gnat1drv.adb after switches are scanned.
3455 2009-06-23 Hristian Kirtchev <kirtchev@adacore.com>
3457 * sem_attr.adb: Add with and use clauses for Sem_Ch10.
3458 (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root t