1 2009-09-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3 * env.c [__alpha__ && __osf__] (_BSD): Define.
4 * init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
7 2009-09-18 Pascal Obry <obry@adacore.com>
9 * mingw32.h: Activate Unicode support for x86-64 Windows platform.
11 2009-09-18 Vadim Godunko <godunko@adacore.com>
13 * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
15 2009-09-18 Javier Miranda <miranda@adacore.com>
17 * exp_aggr.adb (Backend_Processing_Possible): Disable backend
18 processing for array aggregates in the VM backend if the array has
21 2009-09-18 Ed Schonberg <schonberg@adacore.com>
23 * sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
24 the prefix indicates a previous semantic error, and this is the first
27 2009-09-18 Bob Duff <duff@adacore.com>
29 * gnat_ugn.texi: Minor editing.
31 2009-09-18 Vincent Celier <celier@adacore.com>
33 * prj.ads, prj.adb (Project_Data): New component
34 Imported_Directories_Switches.
36 2009-09-18 Pascal Obry <obry@adacore.com>
38 * mingw32.h: Include standard _mingw.h file.
39 Define _WIN32_WINNT only if not already defined.
41 2009-09-18 Thomas Quinot <quinot@adacore.com>
43 * g-socket.adb (Is_Open): New function indicating whether a
44 Selector_Type object is open.
46 2009-09-18 Vincent Celier <celier@adacore.com>
48 * osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
49 is deleted before creating it.
51 2009-09-18 Robert Dewar <dewar@adacore.com>
53 * bindgen.adb: Minor reformatting
55 2009-09-18 Arnaud Charlet <charlet@adacore.com>
57 * s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
58 s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
59 signal handler is installed.
60 * s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
61 tasks if Abort_Task_Interrupt cannot be used.
63 2009-09-18 Vincent Celier <celier@adacore.com>
65 * prj-tree.ads: Minor comment update
67 2009-09-17 Bob Duff <duff@adacore.com>
69 * g-socket.ads: Document the fact that Close_Selector has no effect on
71 * g-socket.adb: Raise an exception when a Selector that should be open
73 (Check_Selector): Declare RSig as a constant rather than a renames,
76 2009-09-17 Robert Dewar <dewar@adacore.com>
78 * exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
79 prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb,
80 prj-tree.ads: Minor reformatting
82 2009-09-17 Emmanuel Briot <briot@adacore.com>
84 * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
86 (Do_Autoconf): If the object directory does not exists, create auto.cgpr
87 in a temporary directory instead
89 2009-09-17 Bob Duff <duff@adacore.com>
91 * a-dynpri.adb (Set_Priority): Don't do anything if the task is already
93 (Get_Priority): Correct message for "terminated" case -- it said "null".
95 2009-09-17 Robert Dewar <dewar@adacore.com>
97 * exp_ch6.adb: Minor reformatting
99 2009-09-17 Emmanuel Briot <briot@adacore.com>
101 * gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
102 switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
103 (Project_Node_Tree_Data.Project_Path): New field.
105 * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
107 2009-09-17 Emmanuel Briot <briot@adacore.com>
109 * prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
110 Remove duplicate code.
111 (Prj.Ext): Fix memory leak
112 (Check): Now allow the syntax "-Xfoo=" to set an empty value to the
113 variable. This was previously allowed in the code in
114 Is_External_Assignment, and some tests rely on it
116 2009-09-17 Bob Duff <duff@adacore.com>
118 * gnat_rm.texi, s-oscons-tmplt.c: Minor typo
120 2009-09-17 Emmanuel Briot <briot@adacore.com>
122 * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
123 makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
124 prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
125 prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
126 Scenario variables are now specific to each project tree loaded in
130 2009-09-17 Javier Miranda <miranda@adacore.com>
132 * exp_disp.adb (Make_DT): Remove wrong line of code that was
133 undocumented and probably added by mistake.
135 2009-09-16 Eric Botcazou <ebotcazou@adacore.com>
137 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
138 conversions between original and packable version of types from
141 2009-09-16 Eric Botcazou <ebotcazou@adacore.com>
143 * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
144 If a padding type was made for the field, declare it.
145 (components_to_record): Add DEBUG_INFO_P parameter. Adjust call
146 to gnat_to_gnu_field and call to self.
147 (gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
148 <E_Array_Subtype>: Likewise.
149 Adjust calls to gnat_to_gnu_field and components_to_record.
151 2009-09-16 Robert Dewar <dewar@adacore.com>
153 * prj-nmsc.adb: Minor reformatting
155 2009-09-16 Ed Schonberg <schonberg@adacore.com>
157 * exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
158 expression is a by-reference type (tagged or inherently limited)
159 introduce an access type to capture references to the values of each
160 branch of the conditional.
162 2009-09-16 Emmanuel Briot <briot@adacore.com>
164 * prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
165 (Project_Name_And_Node.Display_Name): new field
166 The display name of a project (as written in the .gpr file) is now
167 computed when the project file itself is parsed, not when it is
170 2009-09-16 Thomas Quinot <quinot@adacore.com>
172 * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
173 intrinsics untouched (to be expanded later on by gigi) if an external
174 name has been specified.
175 (Freeze_Entity): Do not generate a default external name for
176 imported subprograms with convention Intrinsic (so that the above code
177 can identify the case where an external name has been explicitly
180 * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
181 replaced by something else due to an existing #define clause.
183 2009-09-16 Ed Schonberg <schonberg@adacore.com>
185 * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
186 Parameter_Association node, created for the extra actual generated for
187 an access parameter of a function that dispatches on result, to prevent
188 double generation of such actuals when the call is rewritten is a
190 * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
191 * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
192 that carry this flag when rewriting the original call as a dispatching
193 call, after propagating the controlling tag.
195 2009-09-16 Vincent Celier <celier@adacore.com>
197 * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
199 (Check_File): New parameter Source_Dir_Rank, to check if a duplicate
201 (Find_Source_Dirs): New parameter Rank to be recorded with the source
203 (Search_Directories): Call Check_File with the rank of the directory
204 * prj.adb (Project_Empty): Add new component Source_Dir_Ranks
205 (Free): Free also Number_Lists
206 (Reset): Init also Number_Lists
207 * prj.ads (Number_List_Table): New dynamic table for lists of numbers
208 (Source_Data): New component Source_Dir_Rank. Remove component
209 Known_Order_Of_Source_Dirs, no longer needed.
210 (Project_Data): New component Source_Dir_Ranks
211 (Project_Tree_Data): New components Number_Lists
213 2009-09-16 Vincent Celier <celier@adacore.com>
215 * gprep.adb (Yes_No): New global constant
216 Unix_Line_Terminators: New global Boolean variable
217 (Process_One_File): Create the out file with a "Text_Translation=" form
218 that depends on the use of option -T.
219 (Scan_Command_Line): Add option -T
220 (Usage): Add line for option -T
222 2009-09-16 Ed Schonberg <schonberg@adacore.com>
224 * exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
225 predicate that describes a proper subset of
226 Is_Predefined_Dispatching_Operation and excludes stream operations,
227 which can be overridden by the user.
228 * sem_ch6.adb (Create_Extra_Formals): use
229 Is_Predefined_Internal_Operation, so that stream operations get extra
231 * exp_ch6.adb (Prevent double generation of extra actuals in calls to
232 'Input, which may be expanded twice, first as a function call and then
233 as a dispatching call.
235 2009-09-16 Thomas Quinot <quinot@adacore.com>
237 * s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
238 * g-expect.adb (Set_Up_Child_Communications): Use
239 System.OS_Constants.Target_OS to determine whether running on Windows.
241 2009-09-14 Richard Henderson <rth@redhat.com>
243 * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
245 2009-09-14 Eric Botcazou <ebotcazou@adacore.com>
247 * exp_dbug.ads (Packed Array Encoding): Document the new encoding for
248 the unconstrained case.
249 * gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
250 the encoding. Do not give a name to the pointer type to the XUT type.
251 * gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
252 for fat pointer types, if any. Make sure DECL_ARTIFICIAL is cleared
253 on nodes with DECL_ORIGINAL_TYPE set.
254 (update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
255 for fat pointer types. Make sure DECL_ARTIFICIAL is cleared.
257 2009-09-14 Richard Henderson <rth@redhat.com>
259 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
260 default_init_unwind_resume_libfunc.
261 * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use
262 __builtin_eh_pointer.
263 * gcc-interface/utils.c (gnat_install_builtins): Update call
264 to build_common_builtin_nodes.
266 2009-09-13 Richard Guenther <rguenther@suse.de>
267 Rafael Avila de Espindola <espindola@google.com>
269 * gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables
270 eh_personality_libfunc and lang_eh_runtime_type.
271 (LANG_HOOKS_EH_PERSONALITY): Define.
272 (gnat_eh_personality_decl): New static variable.
273 (gnat_eh_personality): New static function.
274 Include gt-ada-misc.h.
275 * gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
276 * gcc-interface/config-lang.in (gtfiles): Add misc.c.
278 2009-09-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
281 * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
283 2009-09-08 Eric Botcazou <ebotcazou@adacore.com>
285 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
287 Avoid useless work when processing the Treat_As_Volatile flag.
289 2009-09-08 Eric Botcazou <ebotcazou@adacore.com>
291 * gcc-interface/targtyps.c: Reorder include directives.
293 2009-09-07 Laurent GUERBY <laurent@guerby.net>
295 * gcc-interface/targtyps.c: Add missing include for tm_p.h.
296 * gcc-interface/Make-lang.in: Update dependencies.
298 2009-09-07 Laurent GUERBY <laurent@guerby.net>
300 * make.adb: Add missing documentation for multilib handling.
302 2009-09-03 Diego Novillo <dnovillo@google.com>
304 * gcc-interface/misc.c (lang_hooks): Remove const qualifier.
306 2009-09-02 Richard Henderson <rth@redhat.com>
308 * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
310 2009-09-02 Olivier Hainque <hainque@adacore.com>
312 * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
315 2009-09-02 Olivier Hainque <hainque@adacore.com>
317 * gcc-interface/decl.c (cannot_be_superflat_p): Handle
318 Signed_Integer_Type_Definition Scalar_Ranges.
320 2009-09-02 Eric Botcazou <ebotcazou@adacore.com>
322 * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the
323 SAVE_EXPR built for misaligned arguments. Remove redundant stuff.
324 (addressable_p): Return true for more rvalues.
326 2009-09-01 Jakub Jelinek <jakub@redhat.com>
328 * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
329 POINTER_SIZE to HOST_WIDE_INT.
331 2009-09-01 Richard Guenther <rguenther@suse.de>
333 * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
335 2009-08-25 Eric Botcazou <ebotcazou@adacore.com>
337 * gcc-interface/trans.c (call_to_gnu): Tidy.
338 (gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
339 non-constant size but the array itself has constant size.
340 * gcc-interface/utils.c (convert_vms_descriptor64): Fix type
342 (convert_vms_descriptor32): Likewise.
344 2009-08-22 Aurelien Jarno <aurelien@aurel32.net>
346 * gcc-interface/Makefile.in: Add Ada support for
348 * system-freebsd-x86_64.ads: New file based on
349 system-freebsd-x86.ads.
351 2009-08-20 Eric Botcazou <ebotcazou@adacore.com>
353 * gcc-interface/utils.c (convert): In the padded case, do the final
354 conversion as an unchecked conversion if the underlying types are
355 array types with variable size.
357 2009-08-20 Eric Botcazou <ebotcazou@adacore.com>
359 * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
361 * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
363 * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
365 (gnat_gimplify_expr) <DECL_EXPR>: New case.
367 2009-08-17 Aurelien Jarno <aurelien@aurel32.net>
369 * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
370 (stack_t): New record type.
371 (sigaltstack): New imported function.
372 (Alternate_Stack): New imported variable.
373 (Alternate_Stack_Size): New constant.
375 2009-08-17 Vasiliy Fofanov <fofanov@adacore.com>
377 * a-calend-vms.adb: Fix typo.
379 2009-08-17 Tristan Gingold <gingold@adacore.com>
381 * s-taprop-posix.adb: Round up the stack size to avoid failure on
384 2009-08-17 Gary Dismukes <dismukes@adacore.com>
386 * sem_cat.adb (Validate_Static_Object_Name): Update comment.
388 2009-08-17 Vincent Celier <celier@adacore.com>
390 * make.adb (Arguments_Collected): Unneeded, removed
391 (Change_To_Object_Directory): Use Project directly. Add pragma Assert to
392 ensure caller does not pass in No_Project.
393 (Compile): Add new parameter Project. Let procedure
394 Collect_Arguments_And_Compile provide the proper value.
396 * switch-c.adb: Add documentation for -gnatea and -gnatez
398 2009-08-17 Ben Brosgol <brosgol@adacore.com>
400 * gnat_ugn.texi: Changed name of package in SAL example, to avoid
401 clash with Ada 2005 reserved word (interface).
403 2009-08-17 Robert Dewar <dewar@adacore.com>
405 * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
406 a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
407 a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
408 (use conditional expressions).
410 2009-08-17 Robert Dewar <dewar@adacore.com>
412 * make.adb: Add ??? comment
413 * tbuild.adb: Minor reformatting
415 2009-08-17 Thomas Quinot <quinot@adacore.com>
417 * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
418 Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
419 Use Tbuild.Make_Temporary to create entity for the temporary.
421 2009-08-17 Arnaud Charlet <charlet@adacore.com>
423 * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
424 and ignore -mieee switch to avoid spawning an extra gcc in this case.
426 2009-08-17 Thomas Quinot <quinot@adacore.com>
428 * tbuild.adb: Minor reformatting
430 2009-08-17 Ed Schonberg <schonberg@adacore.com>
432 * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
433 exist, as is the case for synchronized types, use the type of the
434 discriminal in the parameter specification, to prevent a spurious
435 subtype mismatch in gigi.
437 2009-08-17 Robert Dewar <dewar@adacore.com>
439 * prj-env.adb: Minor reformatting
440 * make.adb: Minor reformatting
443 2009-08-17 Javier Miranda <miranda@adacore.com>
445 * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
447 2009-08-17 Emmanuel Briot <briot@adacore.com>
449 * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
450 (Processing_Flags.Require_Obj_Dirs): new field, which controls whether
451 object directories must be present. In the case of gprclean at least,
452 these are optional (if they do not exist there is nothing to clean)
454 2009-08-17 Robert Dewar <dewar@adacore.com>
456 * prj-env.adb: Minor reformatting
457 * sem_ch3.adb: Minor reformatting
459 2009-08-17 Hristian Kirtchev <kirtchev@adacore.com>
461 * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
462 the time zone since VxWorks chose positive values to represent west
463 time zones and negative for east zones.
465 2009-08-17 Ed Schonberg <schonberg@adacore.com>
467 * sem_ch3.adb (Access_Definition): Do not create an Itype reference for
468 an anonymous access type whose designated type is generic.
470 2009-08-17 Arnaud Charlet <charlet@adacore.com>
472 * comperr.adb (Compiler_Abort): Do not generate a bug box when in
473 codepeer mode, friendlier.
475 2009-08-10 Laurent GUERBY <laurent@guerby.net>
477 * make.adb: Handle multilib
479 2009-08-10 Vincent Celier <celier@adacore.com>
481 * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
482 the temporary file name in the error message when the temporary file
485 2009-08-10 Yannick Moy <moy@adacore.com>
487 * gnat_ugn.texi: Fix typo
489 2009-08-10 Robert Dewar <dewar@adacore.com>
491 * exp_ch7.adb: Add ??? comment for last change
493 2009-08-10 Vincent Celier <celier@adacore.com>
495 * prj-env.adb (Add_To_Buffer): New procedure
496 (Create_Config_Pragmas_File): Write to temporary file in one shot
497 (Create_Mapping_File): Ditto
498 (Set_Ada_Paths): Ditto
500 2009-08-10 Vincent Celier <celier@adacore.com>
503 * xref_lib.adb (Print_Xref): Make sure that there is at least one space
504 between a declaration name and its type.
506 2009-08-07 Javier Miranda <miranda@adacore.com>
508 * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
511 2009-08-07 Robert Dewar <dewar@adacore.com>
513 * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
515 2009-08-07 Vincent Celier <celier@adacore.com>
517 * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
518 specified on the command line and there are switches in the Compiler
519 package of the project file, use these compilation switches to invoke
522 2009-08-07 Ben Brosgol <brosgol@adacore.com>
524 * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
526 2009-08-07 Ed Schonberg <schonberg@adacore.com>
528 * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
529 even if not in main unit, to simplify debugging.
531 2009-08-07 Arnaud Charlet <charlet@adacore.com>
533 * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
534 * gcc-interface/Make-lang.in: Update dependencies.
536 2009-08-07 Robert Dewar <dewar@adacore.com>
538 * types.ads: Minor reformatting
539 * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
540 * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
541 Output_Non_Modified_In_Out_Warnings.
542 * sem_ch13.adb: Remove ??? comment.
544 2009-08-07 Vincent Celier <celier@adacore.com>
546 * mlib-prj.adb (Build_Library): Include binder generate object file
547 for SAL when library name is only one character.
549 2009-08-07 Thomas Quinot <quinot@adacore.com>
551 * targparm.adb: Minor reformatting
552 * sem.adb: Minor reformatting
553 * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
555 2009-08-07 Emmanuel Briot <briot@adacore.com>
557 * prj-conf.adb: Remove duplicate directory separator in the output when
558 an object directory does not exist.
560 2009-08-07 Robert Dewar <dewar@adacore.com>
562 * exp_util.adb: Minor reformatting
564 2009-08-07 Vincent Celier <celier@adacore.com>
566 * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
569 2009-08-07 Ed Schonberg <schonberg@adacore.com>
571 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
572 detect non-static private components that will violate restriction
573 No_Implicit_Heap_Allocation.
575 2009-08-07 Ben Brosgol <brosgol@adacore.com>
577 * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
579 2009-08-02 Eric Botcazou <ebotcazou@adacore.com>
581 * gcc-interface/gigi.h (end_subprog_body): Tweak comment.
582 * gcc-interface/utils.c (end_subprog_body): Likewise.
583 * gcc-interface/trans.c (gigi): Likewise.
584 (gnat_to_gnu): Likewise.
586 2009-07-30 Ben Brosgol <brosgol@adacore.com>
588 * gnat_ugn.texi: Correct minor texi glitch.
590 2009-07-30 Ed Schonberg <schonberg@adacore.com>
592 * exp_util.adb (Expand_Subtype_From_Expr): If the type of the
593 expression has an underlying representation that is an unchecked union,
594 there is no subtype to build.
596 2009-07-30 Robert Dewar <dewar@adacore.com>
598 * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads,
599 s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb,
600 sem_ch7.adb, adaint.c: Minor reformatting
602 2009-07-29 Javier Miranda <miranda@adacore.com>
604 * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
605 moved from the expander to the semantic analyzer to allow the
606 generation of these internal entities when compiling with no code
607 generation. Required by ASIS.
608 * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
609 * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
610 * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
611 (Expand_Freeze_Record_Type): Remove call to
612 Add_Internal_Interface_Entities because this routine is now called at
613 early stage --when the freezing node is analyzed.
615 2009-07-29 Robert Dewar <dewar@adacore.com>
617 * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
618 exp_disp.adb, g-socket.adb: Minor reformatting
620 2009-07-29 Ed Schonberg <schonberg@adacore.com>
622 * sem_ch7.adb (New_Private_Type): Create class-wide type after other
623 attributes have been established, so that they are all inherited by the
625 * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
626 properly named subtypes of class-wide types.
628 2009-07-29 Ed Schonberg <schonberg@adacore.com>
630 * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
631 indicators on user-defined operators.
633 2009-07-29 Vadim Godunko <godunko@adacore.com>
635 * g-socket.adb (Receive_Vector): Add comment.
637 2009-07-29 Javier Miranda <miranda@adacore.com>
639 * frontend.adb (Frontend): Code cleanup.
640 * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
641 Rewriten as a procedure because it a new out-mode parameters to
642 keep up-to-date the controlling tag node in the caller.
643 (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
644 new out-mode parameter to keep up-to-date the controlling tag node in
646 * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
647 exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
649 * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
650 available in new package Sem_SCIL.
651 (Next_Non_SCIL_Node): Ditto.
652 * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
654 (Expand_Dispatching_Call): Update call to modified Exp_Atags routines
655 plus complete decoration of SCIL dispatching node.
656 (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
657 * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
659 (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
660 * exp_ch3.adb (Build_Init_Procedure): Fix comment.
661 * sem_scil.ads, sem_scil.adb: New files.
662 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
665 2009-07-28 Robert Dewar <dewar@adacore.com>
667 * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
668 makeutl.adb: Minor reformatting & code reorganization
669 * sem_ch3.adb: Minor reformatting.
670 Fix spelling error (constraint for constrain) in error msg.
672 2009-07-28 Emmanuel Briot <briot@adacore.com>
674 * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
675 global variable that also exists in makeutl.ads, and that some routines
676 in that package use already.
677 (Check): Moved part of the code to makeutl.adb for better sharing with
680 2009-07-28 Arnaud Charlet <charlet@adacore.com>
682 * gcc-interface/Make-lang.in: Update dependencies.
684 2009-07-28 Emmanuel Briot <briot@adacore.com>
686 * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
687 importing project does not end up in the list, in the case of extending
689 * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
690 makeutl.ads, for better sharing with gprbuild.
692 2009-07-28 Arnaud Charlet <charlet@adacore.com>
694 * gnat_ugn.texi: Fix typo.
696 2009-07-28 Ed Schonberg <schonberg@adacore.com>
698 * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
699 derivation that renames some discriminants and constrain others.
700 * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
701 prefix is a derived untagged type, convert to the root type to conform
702 to the signature of the protected operations.
704 2009-07-28 Robert Dewar <dewar@adacore.com>
706 * sinfo.ads: Update comments.
707 * exp_attr.adb: Minor reformatting
709 2009-07-28 Ed Schonberg <schonberg@adacore.com>
711 * sem_aggr.adb (Get_Value): A named association in a record aggregate
712 should be treated as a modification of the named component, not as a
715 2009-07-28 Quentin Ochem <ochem@adacore.com>
717 * prj-tree.ads, prj-tree.adb (Free): Minor editing.
718 * prj.ads, prj.adb (Image): Ditto.
720 2009-07-28 Arnaud Charlet <charlet@adacore.com>
722 * frontend.adb: Minor reformatting.
723 (Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
726 2009-07-28 Bob Duff <duff@adacore.com>
728 * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
729 'Address to get a pointer to the protected body wrapper.
731 2009-07-28 Javier Miranda <miranda@adacore.com>
733 * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
734 nodes if we are not generating code.
735 * frontend.adb (Check_SCIL_Node): New subprogram. Used to check
736 attribute SCIL_Related_Node of SCIL dispatching nodes.
737 (Check_SCIL_Nodes): New instantiation of Traverse_Proc.
738 * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
739 (SCIL_Nkind,Set_SCIL_Nkind): Removed.
740 (SCIL_Entity): Update documentation.
741 (SCIL_Related_Node): Update documentation.
742 (SCIL_Controlling_Tag): New attribute.
743 (SCIL_Target_Prim): Update documentation.
744 (N_Null_Statement): Remove attributes associated with SCIL nodes.
745 (N_SCIL_Dispatch_Table_Object_Init): New node.
746 (N_SCIL_Dispatch_Table_Tag_Init): New node.
747 (N_SCIL_Dispatching_Call): New node.
748 (N_SCIL_Tag_Init): New node.
749 * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
750 (SCIL_Nkind,Set_SCIL_Nkind): Removed.
751 (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
752 (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
753 (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
754 (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
755 N_SCIL_Dispatching_Call nodes.
756 * sem.adb (Analyze): No need to analyze SCIL nodes.
757 * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
758 (Next_Non_SCIL_Node): New subprogram
759 * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
761 * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
763 * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
765 * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
766 null statement nodes.
767 (Build_Init_Procedure): Generate new SCIL node.
768 * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
770 * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
771 they are currently implemented as special N_Null_Statement nodes.
772 * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
773 procedure call then check if some SCIL node references it and needs
775 * exp_disp.ads (SCIL_Node_Kind): Removed.
776 (Adjust_SCIL_Node): New subprogram.
777 (Find_SCIL_Node): New subprogram.
778 (Get_SCIL_Node_Kind): Removed.
779 (New_SCIL_Node): Removed.
780 * exp_disp.adb (Adjust_SCIL_Node): New subprogram
781 (Expand_Dispatching_Call): Generate new SCIL dispatching node including
782 decoration of its new controlling_tag attribute.
783 (Get_SCIL_Node_Kind): Removed.
784 (Find_SCIL_Node): New subprogram.
785 (Make_Secondary_DT): Generate new SCIL nodes.
786 (Make_Tags): Generate new SCIL nodes.
787 (New_SCIL_Node): Removed.
788 * exp_util.adb (Insert_Actions): Handle SCIL nodes.
789 (Remove_Side_Effects): Check if relocated nodes require readjustment
790 of some SCIL dispatching node.
791 * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
793 2009-07-28 Robert Dewar <dewar@adacore.com>
795 * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
797 2009-07-28 Sergey Rybin <rybin@adacore.com>
799 * gnat_ugn.texi: Add section about gnatcheck rule exemption.
801 2009-07-28 Vadim Godunko <godunko@adacore.com>
803 * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
804 not defined by limits.h.
806 * g-socket.adb (Receive_Vector): Use minimum length from user's vector
807 length and maximum supported length of data vector.
809 2009-07-28 Gary Dismukes <dismukes@adacore.com>
811 * usage.adb: Inhibit printing gcc-specific switches for AAMP target.
812 * make.adb: Call Get_Target_Parameters before calling Usage so that
813 VM_Target and AAMP_On_Target will be set.
815 2009-07-28 Olivier Hainque <hainque@adacore.com>
817 * g-ssinty.ads: Remove, pointless and just confusing at this stage.
818 * gnat_rm.texi: Remove documentation.
819 * g-sse.ads: Minor reorg along the way.
820 * gcc-interface/Makefile.in: Remove processing for g-ssinty.
821 * g-ssvety.ads: Minor comment updates.
823 2009-07-28 Sergey Rybin <rybin@adacore.com>
825 * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
826 for the new format of the report file.
828 2009-07-28 Sergey Rybin <rybin@adacore.com>
830 * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
832 2009-07-28 Pascal Obry <obry@adacore.com>
834 * g-expect.adb: Record standard handles only on Windows.
836 2009-07-27 Emmanuel Briot <briot@adacore.com>
838 * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
841 2009-07-27 Sergey Rybin <rybin@adacore.com>
843 * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
844 rule definition the paragraph that explains that generic functions and
845 functions from generic packages are not checked.
847 2009-07-27 Gary Dismukes <dismukes@adacore.com>
849 * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
850 procedure when determining whether to set the Overridden_Operation
851 field of a subprogram overriding an inherited subprogram.
853 2009-07-27 Robert Dewar <dewar@adacore.com>
855 * a-except.adb, a-except-2005.ads: Minor reformatting
857 2009-07-27 Robert Dewar <dewar@adacore.com>
859 * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
861 2009-07-27 Javier Miranda <miranda@adacore.com>
863 * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
864 add some documentation explaining why the SCIL nodes must be generated
867 2009-07-27 Olivier Hainque <hainque@adacore.com>
869 * a-except.adb: Bind to __builtin_longjmp directly.
870 * a-except-2005.ads: Provide direct binding to __builtin_longjmp
872 * a-exexpr.adb: Use it.
873 * a-except-xi.adb: Likewise.
874 * raise.c (_gnat_builtin_longjmp): Remove and update comments.
875 * raise.h (_gnat_builtin_longjmp): Remove declaration.
877 2009-07-27 Ed Schonberg <schonberg@adacore.com>
879 * sem_eval.adb (Compile_Time_Compare): More precise handling of
880 Known_Valid flag, to prevent spurious range deductions when scalar
881 variables may be uninitialized. New predicate Is_Known_Valid_Operand.
883 2009-07-27 Robert Dewar <dewar@adacore.com>
885 * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
888 2009-07-27 Ed Schonberg <schonberg@adacore.com>
890 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
891 Ravenscar mode. Error has already been posted on specification.
893 * sem.adb: Further code clean ups.
895 2009-07-27 Robert Dewar <dewar@adacore.com>
897 * g-sse.ads: Minor reformatting
899 2009-07-27 Arnaud Charlet <charlet@adacore.com>
901 * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
902 alternate ali extension.
903 * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
904 account Osint.ALI_Suffix.
905 * osint.ads (ALI_Suffix): Make visible.
906 * gnatfind.adb (Gnatfind): Add support for --ext= switch.
907 * gnat_ugn.texi: Document new gnatfind --ext= switch.
909 2009-07-27 Ed Schonberg <schonberg@adacore.com>
911 * sem.adb (Walk_Library_Items): If main unit is an instance body, do
914 2009-07-27 Javier Miranda <miranda@adacore.com>
916 * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
917 the dispatching call has is expanded.
919 2009-07-27 Ed Schonberg <schonberg@adacore.com>
921 * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
922 Is_Known_Valid flag on the temporary created for the value whose
923 validity is being checked.
925 * sem.adb (Do_Unit_And_Dependents): Further code reorganization to
926 handle properly main units that are package specifications.
928 2009-07-27 Geert Bosch <bosch@adacore.com>
930 * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
931 * sem_aux.ads: Fix typo in comment
932 * sem_util.ads (Is_LHS): Adjust comment to match body
934 2009-07-27 Sergey Rybin <rybin@adacore.com>
936 * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
939 2009-07-27 Olivier Hainque <hainque@adacore.com>
941 * g-sse.ads, g-ssvety.ads: Update comments.
943 2009-07-27 Sergey Rybin <rybin@adacore.com>
945 * gnat_ugn.texi: Update gnatcheck doc.
947 2009-07-27 Arnaud Charlet <charlet@adacore.com>
949 * lib-xref.ads: Allocate/document 'o' char for use by references to
950 spark 'own' variables.
952 2009-07-27 Gary Dismukes <dismukes@adacore.com>
954 * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
955 objects, since these are implicitly referenced by the return statement.
956 * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
957 Is_Return_Object in this procedure, as return objects will never make
958 it here since they're now marked as Referenced.
960 2009-07-27 Robert Dewar <dewar@adacore.com>
962 * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
964 2009-07-27 Robert Dewar <dewar@adacore.com>
966 * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
968 * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
970 2009-07-27 Geert Bosch <bosch@adacore.com>
972 * checks.adb (Find_Check): Minor streamlining of logic.
973 * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
974 * debug.adb: Document -gnatdX debug flag
975 * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
976 list information about reads from scalar entities.
977 Also slightly simplify condition for Expand_Current_Value.
978 * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
981 2009-07-26 Dave Korn <dave.korn.cygwin@gmail.com>
984 * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
985 (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
987 (__gnat_stat): Adjust reference to STAT in prototype.
988 * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
989 __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
990 __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
991 __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
992 __gnat_is_writable_file, __gnat_is_executable_file,
993 __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
994 __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
995 __gnat_copy_attribs): Adjust all references to the above.
996 * cstreams.c (__gnat_is_regular_file_fd): Likewise.
998 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1000 * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
1001 done at the same time, guard against listing a body more than once.
1003 2009-07-23 Robert Dewar <dewar@adacore.com>
1005 * exp_ch6.adb: Minor reformatting
1007 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1009 * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
1010 static expression is known valid.
1011 * sem_eval.adb (Compile_Time_Compare): Handle properly non-static
1012 operands of a subtype with a single value.
1014 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1016 * sem.adb (Do_Units_And_Dependents): Process bodies only for units that
1017 are in the context of the main unit body.
1019 2009-07-23 Sergey Rybin <rybin@adacore.com>
1021 * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
1022 misprint in rule description.
1024 2009-07-23 Gary Dismukes <dismukes@adacore.com>
1026 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
1027 test that the object declaration is within an extended return statement
1028 with direct test of whether the declared object associated with the
1029 build-in-place call is a return object, since the enclosing function
1030 might not even be a build-in-place function.
1032 2009-07-23 Robert Dewar <dewar@adacore.com>
1034 * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
1035 Minor code reorganization
1037 2009-07-23 Arnaud Charlet <charlet@adacore.com>
1039 * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
1040 for static analysis, only packed arrays are causing troubles.
1042 2009-07-23 Gary Dismukes <dismukes@adacore.com>
1044 * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
1045 ancestor part is a call to a limited function with an unconstrained
1046 result subtype unless the aggregate has a null extension type.
1047 * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
1048 the parent type declaration to avoid blowups on subtype cases.
1050 2009-07-23 Robert Dewar <dewar@adacore.com>
1052 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
1055 * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
1057 * s-regexp.adb: Minor reformatting
1058 * scos.ads: Minor reformatting.
1060 2009-07-23 Arnaud Charlet <charlet@adacore.com>
1062 * freeze.adb (Set_Small_Size): Remove extra space for consistency with
1063 other similar messages.
1064 * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
1065 messages/implicit packing in CodePeer mode.
1066 (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
1067 * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
1070 2009-07-23 Pascal Obry <obry@adacore.com>
1072 * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
1075 2009-07-23 Robert Dewar <dewar@adacore.com>
1077 * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
1080 2009-07-23 Yannick Moy <moy@adacore.com>
1082 * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
1084 (Raise_Exception_If_No_More_Chars): Remove extra blank in exception
1086 (Raise_Exception): Ditto.
1088 2009-07-23 Olivier Hainque <hainque@adacore.com>
1090 * g-sse.ads: Simplify comment.
1092 2009-07-23 Olivier Hainque <hainque@adacore.com>
1094 * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
1095 low level internal type definitions for distinct higher level
1096 binding development activities (user type definitions and
1098 * gnat_rm.texi: Document it.
1099 * g-ssvety.ads: Use it.
1100 * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
1101 g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
1102 * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
1103 for the "may_alias" attribute.
1105 2009-07-23 Thomas Quinot <quinot@adacore.com>
1107 * scos.ads: Minor typo fix
1109 * gcc-interface/decl.c (validate_alignment): For the case of an
1110 implicit array base type, look for alignment clause on first subtype.
1112 2009-07-23 Robert Dewar <dewar@adacore.com>
1114 * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
1115 with tagged parent if tagged parent is fully repped.
1117 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1119 * sem.adb (Walk_Library_Units): Handle properly the case where a unit
1120 in the context depends on the spec of the main unit, by delaying
1121 processing of the main unit body until all other units have been
1124 2009-07-23 Arnaud Charlet <charlet@adacore.com>
1126 * a-convec.adb: Add comments about suspicious/subtle code.
1128 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1130 * einfo.ads: Document use of Alias in private overriding
1132 2009-07-23 Thomas Quinot <quinot@adacore.com>
1134 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
1135 an array type, propagate alignment from first subtype to implicit base
1136 type so that other subtypes (such as the itypes for aggregates of the
1137 type) also receive the expected alignment.
1139 * g-comlin.ads: Minor documentation clarification/rewording.
1140 * scos.ads: Minor comments update.
1141 * lib-writ.ads: Minor reformatting
1143 2009-07-23 Gary Dismukes <dismukes@adacore.com>
1145 * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
1146 of a class-wide interface type that is a return object of a
1147 build-in-place function, bypass the interface-related expansions into
1148 renamings with displacement conversions, etc.
1149 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
1150 for the case where a renaming occurs in a build-in-place context, to
1151 assert that the bypassing of the build-in-place treatment only occurs
1152 in the case of a renaming that is an expansion of a return expression
1153 that is itself a build-in-place function call.
1155 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1157 * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
1158 valid candidate interpretation in a prefixed view if it is hidden, but
1159 overrides an inherited operation declared in the visible part.
1161 2009-07-23 Robert Dewar <dewar@adacore.com>
1163 * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
1164 division operands to 64-bit at all in any circumstances.
1166 2009-07-23 Robert Dewar <dewar@adacore.com>
1168 * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
1169 checking ranges for mod/rem to see if conditional jump will be
1171 (Analyze_N_Op_Rem): Don't try to check actual lower bounds for
1172 generating special -1 test for rem, generate it whenever both
1173 operands can be negative (match circuit in Sem_Res).
1174 (Analyze_N_Op_Rem): Don't go to base type, no longer needed and
1175 destroys memory of positive range.
1176 * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
1177 checking ranges for mod/rem to see if conditional jump will be generated
1179 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1181 * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
1182 scalar components has non-static bounds, the equivalent aggregate
1183 cannot be built, even if the expression is static, because range checks
1186 2009-07-23 Robert Dewar <dewar@adacore.com>
1188 * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
1189 division operands to 64-bit inside a conversion if 64-bit division not
1192 2009-07-23 Sergey Rybin <rybin@adacore.com>
1194 * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
1196 2009-07-23 Javier Miranda <miranda@adacore.com>
1198 * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
1199 (Entity/Set_Entity): not available in N_Null_Statement nodes
1200 (Is_Scil_Node): renamed as Is_SCIL_Node
1201 (Scil_Nkind): renamed as SCIL_Nkind
1202 (Scil_Related_Node): renamed as SCIL_Related_Node
1203 (Scil_Target_Prim): renamed as SCIL_Target_Prim
1204 (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
1205 (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
1206 (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
1207 Update documentation
1208 * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
1209 (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
1210 (New_Scil_Node): Renamed as New_SCIL_Node
1211 * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
1212 (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
1213 (New_Scil_Node): Renamed as New_SCIL_Node
1214 * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
1216 2009-07-23 Robert Dewar <dewar@adacore.com>
1218 * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
1219 * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
1220 * einfo.adb: Minor reformatting
1222 2009-07-23 Robert Dewar <dewar@adacore.com>
1224 * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
1225 cross-referencing the new related code in
1226 Exp_Ch4.Expand_N_Type_Conversion.
1227 * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
1229 * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
1232 2009-07-23 Javier Miranda <miranda@adacore.com>
1234 * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
1235 Scil_Target_Prim, N_Has_Entity): Add missing documentation.
1236 * exp_disp.ads (Scil_Node_Kind): Ditto.
1237 * exp_disp.adb (Make_DT, Make_Tags): Ditto.
1238 * exp_ch3.adb (Build_Init_Procedure): Ditto.
1240 2009-07-23 Javier Miranda <miranda@adacore.com>
1242 * einfo.adb (Component_Type): Add missing assertion.
1243 * sem_res.adb (Resolve_Call): Ensure proper kind of entity before
1244 reading attribute Component_Size.
1245 * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
1246 before reading attributes Component_Size and Component_Type.
1247 * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
1248 before reading attribute Component_Type.
1250 2009-07-23 Olivier Hainque <hainque@adacore.com>
1252 * gnat_rm.texi: Document the GNAT.SSE units.
1254 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1256 * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
1257 not null return if it appears on a subunit.
1259 2009-07-23 Robert Dewar <dewar@adacore.com>
1261 * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
1262 check right away so it does not get skipped for early returns, e.g.
1264 (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
1265 left-side unless we really know the value is valid.
1267 * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
1268 reformatting. Minor code reorganization. Add comments.
1270 2009-07-23 Robert Dewar <dewar@adacore.com>
1272 * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
1275 2009-07-23 Gary Dismukes <dismukes@adacore.com>
1277 * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
1278 with test of coverage, to allow specific type objects in extended
1279 returns of class-wide functions. Remove now-unnecessary special-case
1280 tests that allowed this in certain cases of expanded extended returns.
1282 2009-07-23 Javier Miranda <miranda@adacore.com>
1284 * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
1285 N_Null_Statements (for SCIL nodes).
1286 (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
1287 (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
1288 (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
1290 (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
1291 * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
1292 associated with dispatching call.
1293 (Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
1294 (Make_DT, Make_Tags): Add generation of SCIL nodes associated with
1295 initialization of dispatch tables and initialization of tags.
1296 (New_Scil_Node): New function that creates a new SCIL node.
1297 (Build_Init_Procedure): Add generation of SCIL node associated with the
1298 initialization of tags done in the IP subprogram.
1300 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1302 * errout.adb (Error_Msg_NEL): If the entity in the initial message has
1303 Warnings_Off, do not emit continuation messages.
1305 * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
1308 2009-07-23 Emmanuel Briot <briot@adacore.com>
1310 * ali.adb: Minor comment update
1312 2009-07-23 Vasiliy Fofanov <fofanov@adacore.com>
1314 * s-win32.ads (HANDLE): Define to be the same size as address type.
1317 2009-07-23 Olivier Hainque <hainque@adacore.com>
1319 * g-sse.ads: New file. Root of the SSE facilities trees, with
1320 general description and common declarations.
1321 * g-ssvety.ads: New file. Expose user level SSE vector types.
1322 * impunit.adb (Non_Imp_File_Names_95): Register new units.
1323 * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
1324 EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
1326 2009-07-23 Ben Brosgol <brosgol@adacore.com>
1328 * gnat_ugn.texi: Wordsmithing.
1330 2009-07-23 Arnaud Charlet <charlet@adacore.com>
1332 * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
1334 2009-07-22 Eric Botcazou <ebotcazou@adacore.com>
1336 * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
1337 they are already of the base type of the index.
1339 2009-07-22 Brett Porter <porter@adacore.com>
1341 * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
1343 2009-07-22 Robert Dewar <dewar@adacore.com>
1345 * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS)
1346 * gnat_ugn.texi: Add documentation for -gnateS switch
1347 * ug_words: Add entry for -gnateS /SCO_OUTPUT
1348 * gcc-interface/Make-lang.in: Update dependencies.
1350 * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb,
1351 par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial
1352 complete information for SCO input/output.
1354 2009-07-22 Sergey Rybin <rybin@adacore.com>
1356 * gnat_ugn.texi: Update doc for some gnatcheck rules.
1358 2009-07-22 Robert Dewar <dewar@adacore.com>
1360 * par_sco.adb, par_sco.ads (pscos): New debug routine to output
1361 contents of SCO tables.
1362 * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads,
1363 scos.adb, scos.ads: New files.
1364 * gcc-interface/Make-lang.in: Update dependencies.
1366 * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
1367 fixes and reformatting.
1369 2009-07-22 Robert Dewar <dewar@adacore.com>
1371 * g-socket.ads: Minor reformatting
1373 2009-07-22 Gary Dismukes <dismukes@adacore.com>
1375 * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
1376 include the entity kind for following cases of unreferenced entities:
1377 E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
1379 2009-07-22 Ed Falis <falis@adacore.com>
1381 * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
1384 2009-07-22 Arnaud Charlet <charlet@adacore.com>
1386 * adadecode.c: Make this file compilable outside of GCC.
1388 2009-07-22 Thomas Quinot <quinot@adacore.com>
1390 * g-socket.adb, g-socket.ads (Check_Selector): Make sure that
1391 (partially) default-initialized socket sets are handled properly by
1392 clearing their Set component.
1394 2009-07-22 Bob Duff <duff@adacore.com>
1396 * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
1398 2009-07-22 Robert Dewar <dewar@adacore.com>
1400 * gnat_ugn.texi: Minor reformatting
1402 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1404 * errout.adb (Error_Msg): A style message within an instantiation
1405 should not be labelled as an error.
1407 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1409 * freeze.adb (Freeze_Entity): Do not generate extra formal for function
1410 in initialization expression if function does not have convention Ada.
1412 2009-07-22 Sergey Rybin <rybin@adacore.com>
1414 * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
1415 '--separate-label' to control label layout.
1417 2009-07-22 Robert Dewar <dewar@adacore.com>
1419 * exp_tss.ads, sem_eval.adb: Minor reformatting
1421 2009-07-22 Bob Duff <duff@adacore.com>
1423 * exp_dist.adb, exp_dist.ads: Update comments.
1425 2009-07-22 Brett Porter <porter@adacore.com>
1427 * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
1429 * sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
1431 2009-07-22 Gary Dismukes <dismukes@adacore.com>
1433 * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
1434 exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
1436 * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
1437 used poor terminology.
1439 2009-07-22 Robert Dewar <dewar@adacore.com>
1441 * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
1442 * sem_eval.adb, exp_tss.adb: Minor comment update.
1443 * stylesw.adb: Code clean up.
1445 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1447 * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
1448 component size is an exact number of bytes, an array type can have a
1449 size clause that forces packing even though the array type itself is
1452 2009-07-22 Thomas Quinot <quinot@adacore.com>
1454 * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
1455 if there is a previous entity with the same name in the scope, ignore
1456 it if it is the renaming declaration for a generic package introduced
1459 2009-07-22 Nicolas Roche <roche@adacore.com>
1461 * seh_init.c: use RtlAddFunctionTable to register our SEH exception
1462 handler on x86_64 windows.
1464 2009-07-22 Arnaud Charlet <charlet@adacore.com>
1466 * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
1467 false positives in CodePeer, so ignore this pragma in this mode.
1469 2009-07-22 Thomas Quinot <quinot@adacore.com>
1471 * sem_util.adb, sem_ch10.adb: Minor reformatting
1473 * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
1474 special handling for the case of no data received and Item'First =
1475 Stream_Element_Offset'First.
1476 (Last_Index): New subprogram factoring the above special handling
1477 over the various locations where it is required.
1479 2009-07-22 Arnaud Charlet <charlet@adacore.com>
1481 * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
1482 checks in CodePeer_Mode.
1483 * gcc-interface/Make-lang.in: Update dependencies.
1485 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1487 * sem_aggr.adb: Improve error message.
1489 * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
1490 of an address representation clause.
1491 * freeze.adb (Freeze_Static_Object): An local imported object is legal
1492 if it has an address clause.
1494 2009-07-22 Thomas Quinot <quinot@adacore.com>
1496 * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
1497 expression to insert an elab check using a conditional expression, be
1498 sure to carry the original list of interpretations to the new location.
1500 2009-07-22 Gary Dismukes <dismukes@adacore.com>
1502 * gnat1drv.adb: Fix spelling error.
1504 2009-07-22 Javier Miranda <miranda@adacore.com>
1506 * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram
1507 at the library level and fix a hidden bug in its implementation: its
1508 functionality for renaming objects was broken because
1509 N_Object_Renaming_Declarations nodes are not a subclass of
1510 N_Declaration nodes (as documented in sinfo.ads).
1511 * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
1512 check nodes that are actuals of generic instantiations.
1514 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1516 * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the
1517 context of a compilation unit is being analyzed. Used to detect
1518 circularities created by with_clauses that are not detected by the
1520 * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
1521 analyzing the context of the current compilation unit, to detect
1522 possible circularities created by with_clauses.
1524 2009-07-22 Thomas Quinot <quinot@adacore.com>
1526 * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
1528 2009-07-22 Robert Dewar <dewar@adacore.com>
1530 * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
1531 * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
1533 * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch
1534 * gnat_ugn.texi: Add documentation of -gnatyB
1535 * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
1537 2009-07-22 Robert Dewar <dewar@adacore.com>
1539 * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
1540 make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
1541 s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
1542 s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
1543 errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
1544 a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
1545 s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
1546 a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
1547 erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
1548 obey short-circuit style rule.
1550 2009-07-20 Bob Duff <duff@adacore.com>
1552 * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
1553 instead of "and", because otherwise Parent_Last_Bit is read
1554 uninitialized in the case where it's not a tagged type, or the tagged
1555 parent does not have a complete rep clause.
1557 2009-07-20 Robert Dewar <dewar@adacore.com>
1559 * stylesw.ads: Minor documentation change.
1561 * types.ads: Minor reformatting
1563 2009-07-20 Javier Miranda <miranda@adacore.com>
1565 * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of
1566 generating the tag checks associated with dispatching calls.
1567 * exp_disp.adb (Apply_Access_Checks): New subprogram.
1568 (New_Value): This routine was previously local to expand dispatching
1569 calls but it is now used also by Apply_Access_Checks.
1570 (Expand_Dispatching_Calls): Cleanup code because the functionality of
1571 tag checks is now provided by Apply_Access_Checks.
1572 * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
1573 case of dispatching calls.
1575 2009-07-20 Arnaud Charlet <charlet@adacore.com>
1577 * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
1580 2009-07-20 Gary Dismukes <dismukes@adacore.com>
1582 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
1583 for VMS, only rewrite the first component of the associated exception's
1584 aggregate init (as 'V'), and eliminate the bogus rewrites of the second
1585 and third components that were being replaced with 'M' and 'S'.
1587 2009-07-20 Arnaud Charlet <charlet@adacore.com>
1589 * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
1590 Also do not generate error when parsing a spec in CodePeer mode.
1592 2009-07-20 Javier Miranda <miranda@adacore.com>
1594 * checks.adb (Apply_Access_Check): Avoid checks on availability of
1595 runtime function Offset_To_Top_Ptr when compiling with no tagged
1597 * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
1598 adding code to the init proc when compiling for VM backends.
1600 2009-07-20 Vincent Celier <celier@adacore.com>
1602 * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
1603 account switches -gnatw.?
1605 2009-07-20 Thomas Quinot <quinot@adacore.com>
1607 * sem_dist.adb, exp_dist.adb: Minor reformatting
1609 * Make-generated.in: New file.
1611 * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
1613 2009-07-20 Javier Miranda <miranda@adacore.com>
1615 * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
1617 * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
1618 dynamically tagged expression.
1619 * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
1621 * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
1622 * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
1624 2009-07-20 Arnaud Charlet <charlet@adacore.com>
1626 * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
1627 CodePeer_Mode is set, to benefit from full front-end expansion
1630 2009-07-20 Ed Schonberg <schonberg@adacore.com>
1632 * sem_res.adb: Add guard.
1634 * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
1635 for possible attribute definition of External_Tag, in case clause
1636 appears in the private part of a package.
1638 2009-07-20 Jerome Guitton <guitton@adacore.com>
1640 * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
1642 2009-07-20 Vadim Godunko <godunko@adacore.com>
1644 * a-coorma.adb: Minor reformatting.
1646 2009-07-20 Ed Schonberg <schonberg@adacore.com>
1648 * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
1649 access return types.
1650 * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
1651 provide an itype reference to gigi to force elaboration of the subtype
1652 at the proper point.
1654 2009-07-20 Tristan Gingold <gingold@adacore.com>
1656 * g-expect.adb: Avoid closeing already closed handle.
1658 2009-07-20 Robert Dewar <dewar@adacore.com>
1660 * sprint.adb (Write_Subprogram_Name): New procedure to output
1661 subprogram name with possible preceding $ (replaces
1662 Note_Implicit_Run_Time_Call).
1664 2009-07-20 Robert Dewar <dewar@adacore.com>
1666 * vms_data.ads: Minor reformatting
1668 * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
1669 applies to base type.
1670 (Parent_Subtype): Now allowed on record subtype, applies to base type
1671 * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
1672 for case of fully repped tagged type.
1673 (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
1674 tag save/restore for fully repped tagged type case.
1675 * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
1676 * fe.h (Is_Fully_Repped_Tagged_Type): New function
1677 * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
1678 overlap of tagged type components with parent type if parent type is
1680 * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
1682 * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
1684 (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
1685 (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
1687 * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
1688 logical operators (AND/OR/XOR), not comparison operators.
1690 * sprint.ads: Minor reformatting
1692 2009-07-20 Ed Schonberg <schonberg@adacore.com>
1694 * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
1695 intrinsics, check that argument is a string literal, rather than
1696 checking for staticness.
1698 2009-07-20 Robert Dewar <dewar@adacore.com>
1700 * sem_ch13.adb: Minor reformatting
1702 * einfo.ads: Minor reformatting
1703 Component_Bit_Offset is no longer considered obsolescent
1705 2009-07-20 Nicolas Roche <roche@adacore.com>
1707 * a-calend.adb: Redefine time_t as signed integer with same size as
1709 * s-os_lib.ads: Redefine OS_Time as signed integer with same size as
1711 * adaint.h: On Windows 64bits declare OS_Time as long long instead of
1714 2009-07-20 Javier Miranda <miranda@adacore.com>
1716 * exp_tss.adb (Init_Proc): Add missing support for non-default C++
1717 constructors that have anonymous access type formals.
1719 * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
1720 class-wide arguments in case of imported C++ subprograms.
1722 * exp_ch3.adb (Build_Initialization_Call): Add assertion.
1724 2009-07-20 Sergey Rybin <rybin@adacore.com>
1726 * vms_data.ads: Update qualifiers.
1728 2009-07-20 Robert Dewar <dewar@adacore.com>
1730 * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
1733 2009-07-17 Richard Guenther <rguenther@suse.de>
1736 * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
1737 state. Remove unused parameter.
1738 (gnat_gimplify_function): Do not gimplify here.
1739 Fold into its only caller and remove.
1740 (gnat_builtin_function): Adjust for end_subprog_body signature change.
1741 (gnat_write_global_declarations): Also finalize the CU.
1742 * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
1743 * gcc-interface/trans.c (gigi): Revert to pre-tuples state.
1744 (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
1746 * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
1748 2009-07-15 Arnaud Charlet <charlet@adacore.com>
1750 * gcc-interface/Make-lang.in: Update dependencies
1752 * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
1754 2009-07-15 Robert Dewar <dewar@adacore.com>
1756 * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
1757 N_Label. Remove SCO table entry for entry point (not used).
1759 * par_sco.ads: Remove SCO entry point type (not used)
1761 * switch.adb: Minor code clean up.
1763 2009-07-15 Eric Botcazou <ebotcazou@adacore.com>
1765 * exp_dbug.ads (Base Record Types): Document enhanced encoding.
1767 2009-07-15 Thomas Quinot <quinot@adacore.com>
1769 * gnatls.adb: Minor reformatting
1771 * gnatcmd.adb: Minor code reorganization
1773 2009-07-15 Ed Schonberg <schonberg@adacore.com>
1775 * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
1776 determine whether a component of a private type has a composite type.
1778 2009-07-15 Robert Dewar <dewar@adacore.com>
1780 * sem_ch10.adb: Minor reformatting throughout
1781 Minor code reorganization (put nested subprograms in alpha order)
1783 2009-07-15 Ed Schonberg <schonberg@adacore.com>
1785 * exp_ch6.adb (Expand_Call): Prevent double attachment of the result
1786 when compiling a call to a protected function that returns a controlled
1789 2009-07-15 Hristian Kirtchev <kirtchev@adacore.com>
1791 * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
1792 one. Add task locking and unlocking around the critical region which
1793 mentions localtime_r and global variable timezone for various targets.
1794 Comment reformatting.
1796 2009-07-15 Robert Dewar <dewar@adacore.com>
1798 * gnat_rm.texi: Document s-ststop.ads
1800 * impunit.ad: (Map_Array): New table of alternative names
1801 (Get_Kind_Of_Unit): Return possible suggested alternative name
1803 * impunit.ads (Get_Kind_Of_Unit): Return possible suggested
1806 * sem_ch10.adb (Analalyze_With_Clause): Add name of possible
1807 alternative unit if an implementation unit is with'ed.
1809 2009-07-15 Robert Dewar <dewar@adacore.com>
1811 * gnat_ugn.texi: Minor updates.
1813 * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
1815 2009-07-15 Ed Schonberg <schonberg@adacore.com>
1817 * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
1818 conditions of a derived boolean type.
1821 2009-07-15 Robert Dewar <dewar@adacore.com>
1823 * gnat1drv.adb: Initialize SCO tables
1825 * par-load.adb: Call SCO_Record for main unit spec
1827 * par.adb: Make call to SCO_Record for main unit
1829 * par_sco.adb (Unit_Table): Change format to facilitate sort
1830 (Process_Decisions): New procedure with list argument
1831 (Traverse_Generic_Package_Declaration): New procedure
1832 (Initialize): New procedure, replaces Init
1833 (SCO_Output): Sort unit table before output
1834 (SCO_Record): Avoid duplications
1835 (SCO_Record): Handle remaining cases of units
1836 (Traverse_Declarations_Or_Statements): Handle generics
1838 * par_sco.ads (Initialize): New peocedure (replaces Init)
1840 * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
1843 2009-07-15 Arnaud Charlet <charlet@adacore.com>
1845 * debug.adb: Add -gnatd.J switch for now to support scil generation in
1846 parallel. Add missing doc for -gnatd.I and -gnatd.O
1848 2009-07-15 Robert Dewar <dewar@adacore.com>
1850 * lib-load.adb: Minor reformatting
1852 * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
1854 2009-07-15 Robert Dewar <dewar@adacore.com>
1856 * par.adb: Minor reformatting
1857 Add ??? comment for possible bad comment
1859 * par-ch10.adb: Minor reformatting
1861 2009-07-15 Ed Schonberg <schonberg@adacore.com>
1863 * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
1864 is a literal of a derived boolean type, it appears as an unchecked
1865 conversion. Retrieve actual value from expression of conversion.
1867 2009-07-15 Robert Dewar <dewar@adacore.com>
1869 * sem_ch3.adb: Minor reformatting
1871 * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
1872 lib-writ.ads, lib-writ.adb: Minor reformatting.
1873 Fix problem with SCO format in ALI files
1875 2009-07-15 Robert Dewar <dewar@adacore.com>
1877 * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
1878 exp_aggr.adb: Minor code reorganization (better calling sequence for
1881 2009-07-15 Thomas Quinot <quinot@adacore.com>
1883 * opt.ads: Minor comment edits
1885 2009-07-15 Tristan Gingold <gingold@adacore.com>
1887 * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
1890 2009-07-15 Robert Dewar <dewar@adacore.com>
1892 * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
1895 * lib-writ.ads: Document addition of SCO lines to ALI file
1897 * par_sco.ads, par_sco.adb: New files.
1899 * opt.ads (Generate_SCO): New switch
1901 * par.adb (Par): Call SCO_Record to record SCO information
1903 * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
1905 * switch-c.adb: Recognize -gnateS to generate SCO information
1907 * usage.adb: Add line for -gnateS
1909 * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
1911 2009-07-15 Robert Dewar <dewar@adacore.com>
1913 * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
1916 2009-07-15 Thomas Quinot <quinot@adacore.com>
1918 * g-socthi-mingw.adb: Minor comment addition
1920 * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
1922 2009-07-15 Robert Dewar <dewar@adacore.com>
1924 * g-htable.ads, s-htable.ads: Minor reformatting
1926 2009-07-15 Robert Dewar <dewar@adacore.com>
1928 * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
1929 new switch -gnatw.g.
1930 (Set_GNAT_Mode_Warnings): New procedure.
1932 * lib-xref.adb: Minor reformatting
1934 2009-07-15 Robert Dewar <dewar@adacore.com>
1936 * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
1937 Minor code reorganization
1939 2009-07-14 Taras Glek <tglek@mozilla.com>
1940 Rafael Espindola <espindola@google.com>
1942 * gcc-interface/Make-lang.in (ada.install-plugin): New target for
1943 installing plugin headers.
1945 2009-07-13 Ed Schonberg <schonberg@adacore.com>
1947 * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
1948 exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
1949 and link it to the expression whose value it captures.
1951 2009-07-13 Robert Dewar <dewar@adacore.com>
1953 * output.adb: Minor comment addition for last change
1955 * sinfo.ads: Minor reformatting
1957 2009-07-13 Vasiliy Fofanov <fofanov@adacore.com>
1959 * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
1960 spawn failed like on all other targets.
1962 2009-07-13 Ed Schonberg <schonberg@adacore.com>
1964 * exp_ch7.adb: Indicate origin of temporary for transient expression.
1966 2009-07-13 Thomas Quinot <quinot@adacore.com>
1968 * s-oscons-tmplt.c: Add comment.
1970 2009-07-13 Robert Dewar <dewar@adacore.com>
1972 * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
1973 reformatting. Minor code reorganization (add 9 argument version of
1976 * impunit.adb: Remove s-os_lib from list of system extensions.
1978 * sem_util.ads: Minor reformatting
1980 * output.adb: Add warnings off/on around System.OS_Lib.
1982 2009-07-13 Bob Duff <duff@adacore.com>
1984 * exp_dist.adb: Minor comment updates.
1986 2009-07-13 Gary Dismukes <dismukes@adacore.com>
1988 * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
1989 several references to CodePeer.
1991 2009-07-13 Bob Duff <duff@adacore.com>
1993 * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
1994 Build_TypeCode_Function_All): Do not recurse if the type is the base
1997 2009-07-13 Robert Dewar <dewar@adacore.com>
1999 * exp_ch4.adb: Minor comment change
2001 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2003 * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
2004 type of iteration, to prevent spurious warnings.
2006 2009-07-13 Nicolas Roche <roche@adacore.com>
2008 * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
2011 2009-07-13 Arnaud Charlet <charlet@adacore.com>
2013 * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
2014 gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
2016 (CodePeer_Mode): New -gnatC switch.
2017 (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
2020 2009-07-13 Eric Botcazou <ebotcazou@adacore.com>
2022 * checks.adb (Selected_Range_Checks): Do not consider that a non-static
2023 integer bound forces the check if it is compared to its subtype range.
2025 2009-07-13 Robert Dewar <dewar@adacore.com>
2027 * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
2028 prj-strt.ads: Minor reformatting
2030 2009-07-13 Thomas Quinot <quinot@adacore.com>
2032 * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
2033 set the type of the From_Any call to the base type.
2035 2009-07-13 Doug Rupp <rupp@adacore.com>
2037 * symbols-processing-vms-ia64.adb (Process): Add variables and
2038 constants to retrieve and check for symbol visibility.
2040 2009-07-13 Javier Miranda <miranda@adacore.com>
2042 * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
2043 the identical type we remove the conversion completely because
2046 2009-07-13 Emmanuel Briot <briot@adacore.com>
2048 * prj-err.adb (Error_Msg): One more case where a message should be
2049 considered as a warning.
2051 * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
2053 2009-07-13 Thomas Quinot <quinot@adacore.com>
2055 * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
2056 calling stubs in the (library level) scope of the RCI locator, where it
2057 is attached, not in the caller's scope.
2059 2009-07-13 Javier Miranda <miranda@adacore.com>
2061 * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
2062 interface object declarations we delay the generation of the equivalent
2063 record type declarations until its expansion because there are cases in
2064 which they are not required.
2066 * sem_util.adb (Implements_Interface): Add missing support for subtypes.
2068 * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
2069 addition of assertion.
2071 * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
2072 interface types require no equivalent constrained type declarations
2073 because the expanded code only references the tag component associated
2075 (Find_Interface_Tag): Improve management of interfaces that are
2076 ancestors of tagged types.
2078 * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
2079 class-wide object declarations to add missing support to statically
2080 displace the pointer to the object to reference the tag component
2081 associated with the interface.
2083 * exp_disp.adb (Make_Tags) Avoid generation of internally generated
2084 auxiliary types associated with user-defined dispatching calls if the
2085 type has no user-defined primitives.
2087 2009-07-13 Vasiliy Fofanov <fofanov@adacore.com>
2089 * mingw32.h: Make it explicit that we need XP or later.
2091 * initialize.c: Remove useless extern symbol declaration.
2093 * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
2094 code reuse in expect.c.
2096 * adaint.c: Changes throughout the Windows section to redesign storage
2097 of the child process list and the process identification.
2099 * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
2100 for interfacing, fix errors.
2101 (__gnat_expect_portable_execvp): use function in adaint.c
2103 2009-07-13 Emmanuel Briot <briot@adacore.com>
2105 * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
2106 prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
2107 prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
2108 errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
2109 (Prj.Nmsc.Report_Error): Removed, no longer needed.
2110 Always use Prj.Err.Report_Message.
2112 2009-07-13 Robert Dewar <dewar@adacore.com>
2114 * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
2117 2009-07-13 Robert Dewar <dewar@adacore.com>
2119 * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
2120 prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
2122 2009-07-13 Emmanuel Briot <briot@adacore.com>
2124 * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
2125 mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
2126 Ada_Prj_Include_File_Set): Removed, since not needed
2129 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2131 * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
2132 Analyze_Membership_Op.
2134 * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
2135 Resolve_Membership_Op.
2137 * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
2140 2009-07-13 Robert Dewar <dewar@adacore.com>
2142 * clean.adb: Minor reformattting
2144 2009-07-13 Emmanuel Briot <briot@adacore.com>
2146 * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
2147 gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
2148 prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
2149 prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
2150 and attributes in a project tree.
2151 (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
2152 Remove last remaining mode-specific code (ada_only or
2153 multi_language). This was duplicating code
2154 (Get_Mode, Set_Mode): removed, no longer used.
2155 (Initialize_Project_Path): all tools will now take into account both
2156 GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
2157 Remove some global variables and subprograms no longer used
2158 Make temporary files tree-specific, to avoid interferences between
2159 trees loaded in memory at the same time.
2160 (Prj.Delete_Temporary_File): new subprogram
2161 (Object_Paths, Source_Paths): fields no longer stored in the project
2162 tree, since they are only needed locally in Set_Ada_Paths.
2163 (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
2165 (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
2166 by local variables in the appropriate subprograms
2167 (Has_Foreign_Sources): removed.
2169 * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
2171 2009-07-13 Arnaud Charlet <charlet@adacore.com>
2173 * gnat1drv.adb (Adjust_Global_Switches): No longer set
2174 Back_Annotate_Rep_Info in inspector mode.
2175 (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
2177 * opt.ads: Update comment.
2179 2009-07-13 Robert Dewar <dewar@adacore.com>
2181 * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
2182 prj.ads: Minor reformatting and code reorganization.
2184 * par-ch3.adb (Check_Restricted_Expression): New procedure
2186 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2188 * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
2189 attribute into a call of the corresponding suprogram, create extra
2190 formals for the subprogram, because it may be a renaming whose
2191 analysis does not create extra formals.
2193 2009-07-13 Emmanuel Briot <briot@adacore.com>
2195 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
2196 prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
2197 prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
2198 prj-tree.ads: Minor reformatting.
2199 (Processing_Flags): new record to encapsulate the set of common
2200 parameters to several subprograms in the project manager.
2201 (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
2202 Remove the need for the Current_Dir parameter in subprograms.
2203 (Look_For_Sources): minor refactoring, now that we no longer need to
2204 share subprograms between the two Ada_Only and Multi_Language modes
2205 (Processing_Flags): New field Error_On_Unknown_Language.
2206 Merge tests for library project between gnatmake and gprbuild.
2208 2009-07-13 Arnaud Charlet <charlet@adacore.com>
2210 * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
2213 2009-07-13 Emmanuel Briot <briot@adacore.com>
2215 * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
2218 2009-07-13 Thomas Quinot <quinot@adacore.com>
2220 * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
2221 Write,Input,Output} from private view to full view.
2223 * sem_type.adb, sem_type.ads: Minor reformatting
2225 2009-07-13 Nicolas Setton <setton@adacore.com>
2227 * exp_dbug.ads: Add documentation note on the utility of
2228 DW_AT_GNAT_encoding for IDEs.
2230 2009-07-13 Robert Dewar <dewar@adacore.com>
2232 * g-socthi-vxworks.adb: Minor reformatting
2234 * gnatcmd.adb: Minor reformatting
2236 2009-07-13 Thomas Quinot <quinot@adacore.com>
2238 * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
2239 removed, not used anymore.
2240 (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
2241 New subprogram, implements copy of an Any value into a limited object.
2242 (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
2243 Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
2244 Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
2245 of parameters of a limited type, use the above new subprogram.
2247 2009-07-13 Emmanuel Briot <briot@adacore.com>
2249 * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
2251 (Copy_ALI_Files): Avoid calls to read when pointing outside of the
2253 (Error_Report): Remove global variable, replaced by parameters.
2255 2009-07-13 Thomas Quinot <quinot@adacore.com>
2257 * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
2258 standard sendto(2) interface for connected sockets (passing a null
2259 destination address). Use send(2) instead for that case.
2261 2009-07-13 Pascal Obry <obry@adacore.com>
2263 * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
2265 2009-07-13 Emmanuel Briot <briot@adacore.com>
2267 * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
2268 prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
2269 variables and tables in prj-nmsc.adb.
2270 (Tree_Processing_Data): Renames Processing_Data, some new fields added
2271 (Project_Processing_Data): New record
2272 Simplify/unify check for missing sources.
2274 2009-07-13 Emmanuel Briot <briot@adacore.com>
2276 * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
2277 prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
2278 prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
2279 prj-tree.ads (Immediate_Directory_Of): Removed.
2280 (Prj.Pars): Now parse the project simulating a default config file.
2281 (Add_Default_GNAT_Naming_Scheme): New subprogram
2282 (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
2283 Remove gnatmake-specific parsing of source files.
2284 (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
2285 the error itself to provide more precise diagnostics.
2286 (Process_Exceptions_Unit_Based): Avoid duplicate error message when
2287 a unit belongs to several projects.
2288 (Copy_Interface_Sources): Search the full path of files to copy in the
2289 list of sources of the application rather than in the list of units.
2290 (Parse_Project_And_Apply_Config): Do not reset the name of the main
2292 (Check_File): Use htables to find out whether a source is duplicated.
2293 (Add_Source): check whether the source or unit were already seen earlier
2295 * gcc-interface/Makefile.in: Update gnatmake dependencies.
2297 2009-07-13 Robert Dewar <dewar@adacore.com>
2299 * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
2300 expression if extensions permitted.
2302 * par-ch4.adb (P_Membership_Test): New procedure (implement membership
2304 (P_Relation): Use P_Membership_Test
2306 * par.adb (P_Membership_Test): New procedure (implement membership set
2309 * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
2311 * sprint.adb (Sprint_Node): Handle set form for membership tests.
2313 2009-07-13 Thomas Quinot <quinot@adacore.com>
2315 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
2316 Do not attempt to generate stubs for predefined primitives of
2317 synchronized interfaces.
2318 (Add_Stub_Type): Factor some code from the PCS-specific variants of
2321 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2323 * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
2324 Controlling_Result flag from the operation they override.
2326 2009-07-13 Arnaud Charlet <charlet@adacore.com>
2328 * gcc-interface/Make-lang.in: Update dependencies
2330 2009-07-13 Robert Dewar <dewar@adacore.com>
2332 * gnat_ugn.texi: The gnatf switch no longer is needed to get full
2333 details on unsupported constructs.
2335 * rtsfind.adb: Remove references to All_Errors_Mode, give errors
2338 * s-trafor-default.adb: Correct some warnings
2340 * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
2341 sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
2344 * par-ch4.adb (Conditional_Expression): Capture proper location for
2345 conditional expression, should point to IF.
2347 * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
2348 s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
2349 g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
2350 reorganization (use conditional expressions).
2352 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2354 * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
2355 build-in-place function that returns an inherently limited type (not
2356 just a task type) create proper object declaration so that extra
2357 build-in-place actuals are properly added to the call.
2359 2009-07-13 Robert Dewar <dewar@adacore.com>
2361 * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
2363 * gnat_ugn.texi: Add documentation for -gnatw.m/.M
2365 * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
2367 * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
2368 Warn_On_Suspicious_Modulus_Value.
2370 * ug_words: Add entries for -gnatw.m/-gnatw.M.
2372 * usage.adb: Add lines for -gnatw.m/.M switches.
2374 * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
2376 2009-07-13 Javier Miranda <miranda@adacore.com>
2378 * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
2379 reading the Is_Interface attribute of the dispatching type.
2381 2009-07-13 Robert Dewar <dewar@adacore.com>
2383 * a-convec.adb: Minor code reorganization (use conditional expressions)
2385 2009-07-13 Robert Dewar <dewar@adacore.com>
2387 * freeze.adb (Check_Suspicious_Modulus): New procedure.
2389 2009-07-13 Robert Dewar <dewar@adacore.com>
2391 * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
2394 * par-ch4.adb: Minor reformatting
2396 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2398 * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
2399 => Is_Atomic_Aggregate
2401 2009-07-13 Emmanuel Briot <briot@adacore.com>
2403 * prj-nmsc.adb: Avoid traversing the list of source files if
2404 we have already processed all locally removed files.
2406 2009-07-13 Jose Ruiz <ruiz@adacore.com>
2408 * gnat_ugn.texi: Fix typo.
2410 2009-07-13 Robert Dewar <dewar@adacore.com>
2412 * freeze.adb: Minor reformatting
2413 Minor code reorganization (use Nkind_In)
2415 * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
2417 2009-07-11 Eric Botcazou <ebotcazou@adacore.com>
2419 * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
2420 local variable and do not test it in Compile_Time_Bad_Alignment.
2421 Do not issue size or alignment warnings for the X'Address form.
2422 * sem_util.ads (Find_Overlaid_Object): Delete.
2423 (Find_Overlaid_Entity): New procedure.
2424 * sem_util.adb (Find_Overlaid_Object): Rename to...
2425 (Find_Overlaid_Entity): ...this and turn into a procedure. Report
2426 whether the address is offseted within the overlaid entity.
2427 (Has_Compatible_Alignment): Track the offset globally instead of
2428 passing it to Check_Offset. For an indexed component, compute the
2429 full offset when possible. If the resulting offset is zero, only
2431 (Check_Offset): Delete.
2432 * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
2433 (Address_Aliased_Entity): Delete.
2434 (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
2435 Find_Overlaid_Entity to find the overlaid entity and the offset.
2436 Adjust throughout for above change.
2437 (Validate_Address_Clauses): Always use attributes of entities, not of
2438 their type. Tweak message for warning. Call Has_Compatible_Alignment
2439 if the address is offseted to warn about incompatible alignments.
2440 * gcc-interface/gigi.h (annotate_object): Declare.
2441 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
2442 entity. Call annotate_object instead of annotating manually objects.
2443 (annotate_object): New function.
2444 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
2447 2009-07-11 Eric Botcazou <ebotcazou@adacore.com>
2449 * gcc-interface/ada-tree.h: Minor reorganization.
2450 * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
2451 (gnat_print_type): Likewise.
2453 2009-07-11 Thomas Quinot <quinot@adacore.com>
2455 * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
2458 * exp_ch6.adb: Minor reformatting
2460 2009-07-11 Ed Schonberg <schonberg@adacore.com>
2462 * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
2463 account possible type qualification to determine whether aggregate
2464 needs a target temporary to respect atomic type or object.
2466 * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
2467 Expand_Atomic_Aggregate.
2469 2009-07-11 Emmanuel Briot <briot@adacore.com>
2471 * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
2473 (Excluded_Sources_Htable): No longer a global table.
2474 Change error message to indicate which files are illegal in the list
2475 of excluded files, as opposed to only the location in the project
2477 (Find_Source): New subprogram.
2479 2009-07-10 Thomas Quinot <quinot@adacore.com>
2481 * exp_ch7.adb: Update comments.
2483 2009-07-10 Arnaud Charlet <charlet@adacore.com>
2485 * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
2486 clause if -gnatI is set instead of crashing.
2488 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2490 * sem_ch11.adb (Same_Expression): Null is always equal to itself.
2491 Additional work to remove redundant successive raise statements, in
2492 this case access checks.
2494 2009-07-10 Vincent Celier <celier@adacore.com>
2496 * make.adb (Compile): Always create a deep copy of the mapping file
2497 argument (-gnatem=...) as it may be deallocate/reallocate by
2498 Normalize_Arguments.
2500 2009-07-10 Javier Miranda <miranda@adacore.com>
2502 * einfo.adb (Directly_Designated_Type): Add assertion.
2504 * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
2505 access types before using attribute Directly_Designated_Type.
2507 2009-07-10 Emmanuel Briot <briot@adacore.com>
2509 * prj.ads: Minor typo fix
2511 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2513 * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
2516 * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
2517 subprogram is a function call, resolve properly, to ensure that extra
2518 actuals are added as needed.
2520 2009-07-10 Thomas Quinot <quinot@adacore.com>
2522 * sem_aggr.adb: Minor comments editing
2524 * exp_tss.adb, exp_ch3.adb: Minor reformatting
2526 2009-07-10 Robert Dewar <dewar@adacore.com>
2528 * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
2530 * exp_ch4.adb: Add ??? comment for conditional expressions on limited
2533 * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
2534 replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
2535 case of conditional expressions that may not be elaborated.
2537 * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
2538 conditional expression where we may not execute then then or else
2541 2009-07-10 Arnaud Charlet <charlet@adacore.com>
2543 * i-cexten.ads (bool): New type.
2545 2009-07-10 Robert Dewar <dewar@adacore.com>
2547 * sinfo.ads (N_Short_Circuit): New definition
2549 * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
2550 treepr.adb: Minor code reorganization (use N_Short_Circuit)
2552 2009-07-10 Javier Miranda <miranda@adacore.com>
2554 * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
2555 non-tagged record types.
2558 (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
2559 with non-tagged types. Required to import C++ classes that have no
2561 (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
2562 returning non-tagged types. For backward compatibility, if the
2563 constructor returns a class wide type we internally change the
2564 returned type to the corresponding non class-wide type.
2567 (Valid_Ancestor_Type): CPP_Constructors code cleanup.
2568 (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
2569 (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
2570 (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
2573 (Analyze_Object_Declaration): CPP_Constructors code cleanup.
2575 * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
2577 * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
2579 * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
2581 * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
2584 * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
2587 (pragma CPP_Class): Document that it can be used now with non-tagged
2589 (pragma CPP_Constructor): Document that it can be used now with
2590 functions returning specific types. For backward compatibility
2591 we also support functions returning class-wide types.
2594 (Interfacing with C++ constructors): Update the examples to incorporate
2595 the new syntax in which the functions used to import C++ constructors
2596 return specific types.
2597 (Interfacing with C++ at the Class Level): Update the examples to
2598 incorporate the new syntax in which the functions used to import
2599 C++ constructors return specific types.
2601 2009-07-10 Thomas Quinot <quinot@adacore.com>
2603 * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
2604 Make_Disp_Conditional_Select_Body,
2605 Make_Disp_Timed_Select_Body): For the case of a type that is neither an
2606 interface nor a concurrent type, the primitive body is empty. Generate
2607 a null statement so that it remains well formed.
2609 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2611 * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
2612 replace references to them in defaulted component expressions with
2613 references to the values of the discriminants of the target object.
2615 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2617 * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
2618 pragma, to capture global references if the context is generic.
2620 * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
2621 appears within the initialization procedure for the corresponding
2622 record, replace it with the proper discriminal.
2624 2009-07-10 Vincent Celier <celier@adacore.com>
2626 * make.adb: Do not include object directories or library ALI
2627 directories of library projects in the object path.
2629 2009-07-10 Javier Miranda <miranda@adacore.com>
2631 * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
2632 Typ argument to ensure proper management of access types.
2634 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2636 * exp_ch7.adb (Build_Final_List): If the list is being built for a
2637 Taft-Amendment type, place the finalization list in the package body,
2638 to ensure that the tree for the spec is identical whenever it is
2641 2009-07-10 Javier Miranda <miranda@adacore.com>
2643 * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
2644 inheriting attributes from a private Parent_Base.
2646 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2648 * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
2649 statements with the same condition.
2651 2009-07-10 Robert Dewar <dewar@adacore.com>
2653 * exp_ch4.adb (Raise_Accessibility_Error): New procedure
2655 2009-07-09 Tom Tromey <tromey@redhat.com>
2657 * raise-gcc.c: Include dwarf2h (unconditionally).
2659 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2661 * sem_ch10.adb (Install_Context): If the unit is a package body,
2662 install the private with_clauses of the corresponding package
2665 2009-07-09 Robert Dewar <dewar@adacore.com>
2667 * checks.adb: Minor reformatting
2669 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
2671 * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
2674 2009-07-09 Thomas Quinot <quinot@adacore.com>
2676 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
2677 Do not warn for a constant overlaying any constant object
2679 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2681 * sem_ch10.adb (Install_Context): If the unit is a package body,
2682 install the private with_clauses of the corresponding package
2685 2009-07-09 Robert Dewar <dewar@adacore.com>
2687 * checks.adb: Minor reformatting
2689 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
2691 * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
2694 2009-07-09 Thomas Quinot <quinot@adacore.com>
2696 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
2697 Do not warn for a constant overlaying any constant object
2699 2009-07-09 Arnaud Charlet <charlet@adacore.com>
2701 * gcc-interface/Make-lang.in: Update dependencies
2703 2009-07-09 Thomas Quinot <quinot@adacore.com>
2705 * g-socket.adb (Check_Selector): Do not create local copies of the
2706 socket sets on the stack.
2708 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
2710 * gnat_ugn.texi: Add missing VMS translations.
2712 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2714 * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
2715 condition, to prevent generation of visible code during expansion,
2716 when Check is not enabled.
2718 2009-07-09 Gary Dismukes <dismukes@adacore.com>
2720 * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
2721 the check gets registered for any available local handler
2724 * sem_util.adb: Add with and use of Exp_Ch11.
2725 (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
2726 that the check gets registered for any available local handler.
2728 * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
2731 2009-07-09 Steve Baird <baird@adacore.com>
2733 * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
2735 (Expand_N_Exception_Declaration): Fix handling of exceptions
2736 declared in a subprogram.
2738 2009-07-09 Emmanuel Briot <briot@adacore.com>
2740 * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
2743 2009-07-09 Thomas Quinot <quinot@adacore.com>
2745 * freeze.adb: Minor reformatting
2747 * exp_ch3.adb: Minor comment fix.
2749 * sinfo.ads: Minor comment fix
2751 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2753 * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
2755 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2757 * freeze.adb (Freeze_Expression): If the expression is the name of a
2758 function in a call, and the function has not been frozen yet, create
2759 extra formals for it to ensure that the proper actuals are created
2760 when expanding the call.
2762 2009-07-09 Emmanuel Briot <briot@adacore.com>
2764 * prj-pp.adb (Print): Fix handling of source index when set on a
2767 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2769 * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
2770 a temporary to the source expression whose value it captures.
2772 * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
2774 2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2776 * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
2779 2009-07-07 Gary Dismukes <dismukes@adacore.com>
2781 * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
2782 parameters when the subtype of the actual is not known to be a subrange
2783 of the formal's subtype.
2784 (Expand_Call): Generate a range check only in the E_In_parameter case
2785 (in out parameter range checks are now handled in Expand_Actuals).
2787 * exp_ch4.adb (Expand_N_Slice): Restore code that calls
2790 2009-07-07 Robert Dewar <dewar@adacore.com>
2792 * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
2794 2009-07-07 Javier Miranda <miranda@adacore.com>
2796 * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
2797 designated type comes from a limited views.
2799 2009-07-07 Emmanuel Briot <briot@adacore.com>
2801 * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
2802 locally removed files that are later made visible again in an importing
2805 2009-07-07 Robert Dewar <dewar@adacore.com>
2807 * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
2809 2009-07-07 Sergey Rybin <rybin@adacore.com>
2811 * gnat_ugn.texi: Add an example to the description of gnatcheck
2812 'Style_Checks' rule option.
2814 2009-07-07 Tristan Gingold <gingold@adacore.com>
2816 * seh_init.c: Fix inline assembly statement in seh_init.c
2818 2009-07-07 Ed Schonberg <schonberg@adacore.com>
2820 * sem_warn.adb (Check_References): Do not emit warnings on formals of
2821 an entry body. Only the formals of the entry declaration are traced.
2823 2009-07-07 Robert Dewar <dewar@adacore.com>
2825 * s-osprim-mingw.adb: Minor code reorganization
2827 2009-07-07 Robert Dewar <dewar@adacore.com>
2829 * prj-nmsc.adb: Minor reformatting
2831 2009-07-07 Pascal Obry <obry@adacore.com>
2833 * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
2834 cases where Pattern is longer than Source.
2836 2009-07-07 Pascal Obry <obry@adacore.com>
2838 * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
2840 2009-07-07 Emmanuel Briot <briot@adacore.com>
2842 * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
2845 2009-07-07 Ed Schonberg <schonberg@adacore.com>
2847 * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
2848 primitive operations, in case one of them is called in the
2849 initialization procedure for the type.
2851 2009-07-07 Robert Dewar <dewar@adacore.com>
2853 * a-calend.adb: Minor code reorganization (use conditional expressions)
2855 * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
2856 prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
2857 s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
2858 s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
2859 s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
2860 g-comlin.adb, exp_ch11.adb: Minor reformatting.
2862 2009-07-07 Gary Dismukes <dismukes@adacore.com>
2864 * checks.adb (Generate_Range_Check): Replace type conversions with
2865 unchecked conversions to support the case of performing range checks
2866 on Enum'Val (permits integer values to be converted to enumeration).
2868 * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
2869 Attribute_Succ): Set Do_Range_Check to False before calling
2870 Expand_Pred_Succ, to prevent gigi from generating any range checks.
2871 (Expand_N_Attribute_Reference, case Attribute_Val):
2872 Generate a range check when needed (and set Do_Range_Check to False).
2874 * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
2875 scalar object initialization if needed.
2877 * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
2878 when needed on scalar allocators.
2879 (Expand_N_Qualified_Expression): Generate range check when needed.
2880 (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
2881 Checks on slice ranges handled in Resolve_Slice.
2883 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
2884 when needed, for all scalar assignments, not just discrete.
2885 (Expand_Simple_Function_Return): Resolve the conversion created for a
2886 scalar function return so that the conversion will get expanded to
2887 generate a possible constraint check.
2889 * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
2890 in out scalar actuals when subtypes don't match, to ensure generation
2891 of return checks (and set Do_Range_Check to False).
2892 (Expand_Call): Uncomment code to perform range checks, but make it apply
2893 only to in and in out parameters (checks on parameter returns are
2894 handled in Expand_Actuals). If a scalar actual for a call to a derived
2895 subprogram is marked as needing a range check, peform it here (and set
2896 Do_Range_Check to False).
2898 * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
2899 range check on scalar component associations when needed.
2901 * sem_eval.adb (In_Subrange_Of): Return False when the first type has
2902 infinities but the second type does not, as these aren't compatible
2903 floating-point types.
2905 * sem_res.adb (Resolve_Slice): In the case where the prefix of the
2906 slice is itself a slice, pick up the Etype of the prefix. This handles
2907 the case where the prefix was an Image attribute expanded to a slice,
2908 and ensures that we get the subtype with the slice constraint rather
2909 than the unconstrained subbtype of the 'Image.
2911 2009-07-07 Ed Schonberg <schonberg@adacore.com>
2913 * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
2914 overloaded expressions in a conditional expressions.
2916 * sem_res.adb (Resolve): Handle properly overloaded conditional
2919 2009-07-07 Robert Dewar <dewar@adacore.com>
2921 * scng.adb: Minor reformattting
2923 * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
2924 association allows conditional expression without parens.
2926 * par-ch4.adb (P_Name): Attribute arguments can be conditional
2927 expressions without enclosing parentheses, and also as parameters,
2928 indexing expressions etc.
2929 (P_Conditional_Expression): New procedure
2930 (P_Expression_If_OK): New procedure
2932 * par.adb (P_Conditional_Expression): New procedure
2933 (P_Expression_If_OK): New procedure
2935 * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
2936 form of conditional expression.
2938 * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
2939 missing True argument if ELSE argument missing.
2941 * sinfo.adb (Is_Elsif): New flag
2943 * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
2944 part of the language, and the documentation is modified accordingly.
2945 (Is_Elsif): New flag
2947 2009-07-06 Olivier Hainque <hainque@adacore.com>
2949 * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
2950 setjmp_longjmp): Attach the exception propagation reraise fallback
2951 to the sequence end label location when we have it.
2953 2009-07-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2956 * init.c (APPLE): Include <mach/mach_init.h>.
2957 (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
2959 2009-07-04 Eric Botcazou <ebotcazou@adacore.com>
2961 * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
2962 (SET_DECL_LANG_SPECIFIC): Likewise.
2963 (TYPE_RM_VALUE): New macro.
2964 (SET_TYPE_RM_VALUE): Likewise.
2965 (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
2966 (TYPE_RM_MIN_VALUE): Likewise.
2967 (TYPE_RM_MAX_VALUE): Likewise.
2968 (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
2969 (SET_TYPE_RM_MIN_VALUE): Likewise.
2970 (SET_TYPE_RM_MAX_VALUE): Likewise.
2971 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
2973 2009-07-04 Laurent GUERBY <laurent@guerby.net>
2976 * tracebak.c (__gnat_backtrace): Fix old-style definition.
2978 2009-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2980 * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
2982 2009-07-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2985 * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
2988 2009-07-01 Eric Botcazou <ebotcazou@adacore.com>
2990 * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
2992 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
2994 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
2995 the type of the left operand if it pads a self-referential type when
2996 the right operand is a constructor.
2998 * gcc-interface/lang-specs.h: Fix copyright date.
3000 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
3002 * gcc-interface/decl.c: Include tree-inline.h.
3003 (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
3004 * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
3005 * gcc-interface/utils2.c: Include tree-inline.
3006 (known_alignment) <CALL_EXPR>: Likewise.
3008 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
3010 * raise-gcc.c: Include dwarf2.h conditionally.
3012 2009-06-29 Tom Tromey <tromey@redhat.com>
3014 * raise-gcc.c: Include elf/dwarf2.h.
3016 2009-06-27 Laurent GUERBY <laurent@guerby.net>
3018 * tb-gcc.c (trace_callback): Add casts to silence warning.
3020 2009-06-27 Eric Botcazou <ebotcazou@adacore.com>
3022 * tb-gcc.c: Fix copyright notice.
3024 2009-06-27 Eric Botcazou <ebotcazou@adacore.com>
3026 * init.c (__gnat_set_globals): Add prototype.
3027 * adaint.c (__gnat_binder_supports_auto_init): Likewise.
3028 (__gnat_sals_init_using_constructors): Likewise.
3029 * gcc-interface/utils.c (gnat_pushlevel): Likewise.
3030 (get_block_jmpbuf_decl): Likewise.
3031 (gnat_poplevel): Likewise.
3032 (merge_sizes): Rename local variable.
3033 (copy_type): Likewise.
3034 (build_vms_descriptor32): Likewise.
3035 (build_vms_descriptor): Likewise.
3036 (convert_vms_descriptor64): Likewise.
3037 (convert_vms_descriptor32): Likewise.
3038 (convert_to_fat_pointer): Likewise.
3039 (maybe_unconstrained_array): Likewise.
3040 (def_fn_type): Use promoted type with va_arg.
3041 * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
3042 (substitute_in_type): Rename local variable.
3043 * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
3045 2009-06-26 Laurent GUERBY <laurent@guerby.net>
3047 * tb-gcc.c (trace_callback): Use char* instead of void*.
3048 * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
3049 * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
3050 (Attribute_to_gnu): Adjust for above change.
3051 (Subprogram_Body_to_gnu): Likewise.
3052 * gcc-interface/utils.c (merge_sizes): Rename local variable.
3053 (copy_type): Likewise.
3054 (build_vms_descriptor32): Likewise.
3055 (build_vms_descriptor): Likewise.
3056 (convert_vms_descriptor64): Likewise.
3057 (convert_vms_descriptor32): Likewise.
3058 (convert_to_fat_pointer): Likewise.
3059 (maybe_unconstrained_array): Likewise.
3060 * gcc-interface/decl.c (substitute_in_type): Likewise.
3062 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
3064 * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
3065 (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
3066 of the upper bound of the index types.
3068 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
3070 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
3071 out common predicate. Use the maximum to compute the upper bound of
3072 the index type only when it is not wider than sizetype. Perform the
3073 comparison in the index type for the generic expression. Use real
3074 precision to decide whether to generate special types for debugging
3077 2009-06-26 Matthew Gingell <gingell@adacore.com>
3079 * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
3081 2009-06-26 Vincent Celier <celier@adacore.com>
3083 * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
3086 2009-06-26 Robert Dewar <dewar@adacore.com>
3088 * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
3090 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
3092 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
3093 correct arguments to create_field_decl. Remove redundant iteration.
3094 Rewrite computation of the maximum size.
3095 <E_Array_Subtype>: Reorder and simplify handling of special cases.
3096 Rewrite computation of the maximum size. Use consistent naming.
3097 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
3098 comparison order for consistency. Use generic integer node to
3099 build the operator and fold the result.
3101 2009-06-25 Vincent Celier <celier@adacore.com>
3103 * vms_data.ads: Minor comment change
3105 2009-06-25 Gary Dismukes <dismukes@adacore.com>
3107 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
3108 assignment statement to targeting a caller-provided object when the
3109 result type is an interface type.
3111 * exp_ch6.adb (Expand_Call): Remove redundant test of
3112 Is_Limited_Interface (Is_Inherently_Limited is sufficient).
3113 (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
3115 * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
3116 to OK_For_Limited_Init.
3118 * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
3119 condition so that True is returned for all limited interfaces, not
3120 just synchronized ones. Ignore components of an interface type when
3121 checking for limited components (such a component can be a parent
3124 * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
3125 (OK_For_Limited_Init): Add type parameter.
3127 * sem_ch3.adb (Check_Initialization): Add type in call to
3128 OK_For_Limited_Init.
3129 (OK_For_Limited_Init): Add new type param in call to
3130 OK_For_Limited_Init_In_05.
3131 (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
3132 nonlimited type when the context type is a limited interface. Add type
3135 * sem_ch4.adb (Analyze_Allocator): Add type in call to
3136 OK_For_Limited_Init.
3138 * sem_ch6.adb (Check_Limited_Return): Add type in call to
3139 OK_For_Limited_Init.
3141 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
3142 OK_For_Limited_Init.
3143 (Instantiate_Object): Add type in call to OK_For_Limited_Init.
3145 * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
3146 class-wide interface, get the base type before applying Etype, in order
3147 to account for class-wide subtypes.
3149 2009-06-25 Emmanuel Briot <briot@adacore.com>
3151 * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
3152 prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
3153 between gnatmake and gprbuild.
3154 (Naming_Data): Removed, no longer used
3155 (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
3156 needed locally in one subprogram, no need to store forever in the
3158 (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
3160 (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
3161 Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
3162 Spec_Suffix_Id_Of): removed, no longer used.
3164 2009-06-25 Javier Miranda <miranda@adacore.com>
3166 * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
3167 types on qualified expression in calls to imported C++ constructors.
3169 * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
3170 imported C++ constructors.
3172 2009-06-25 Sergey Rybin <rybin@adacore.com>
3174 * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
3176 2009-06-25 Vincent Celier <celier@adacore.com>
3178 * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
3179 provided, on Windows change all '/' to '\'.
3181 * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
3182 used. Minor comment changes
3184 * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
3185 Remove_Forbidden_File_Name.
3187 2009-06-25 Quentin Ochem <ochem@adacore.com>
3189 * prj.ads (Unit_Index): Now general access type.
3191 2009-06-25 Pascal Obry <obry@adacore.com>
3193 * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
3195 2009-06-25 Emmanuel Briot <briot@adacore.com>
3197 * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
3198 prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
3199 computed efficiently from the other fields.
3200 (Object_To_Global_Archive): New subprogram
3201 (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
3202 (Override_Kind): Fix handling of separates in Ada.
3203 (Create_Mapping_File): Remove duplicate code
3204 (Naming_Data.Implementation_Exception, Specification_Exception):
3205 field removed, since never used.
3206 (Naming_Data.Specs, .Bodies): field removed, since this is only
3207 used while processing the project and is not needed once the tree
3208 is in memory. This brings Naming_Data and Lang_Naming_Data
3209 closer (same content now, but different use still).
3211 2009-06-25 Pascal Obry <obry@adacore.com>
3213 * sem_ch4.adb: Minor reformatting.
3215 * a-strsea.adb: Fix confusion between 'Length and 'Last.
3217 2009-06-25 Ed Schonberg <schonberg@adacore.com>
3219 * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
3220 Unchecked_Access): If the context is an interface type, and the prefix
3221 is of the corresponding class-wide type, do not insert a conversion
3222 because the pointer displacement has already taken place, and we must
3223 retain the class-wide type in a dispatching context.
3225 2009-06-25 Emmanuel Briot <briot@adacore.com>
3227 * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
3228 the previous source file.
3229 (Create_Mapping): Iterate on sources rather than on units.
3231 2009-06-25 Emmanuel Briot <briot@adacore.com>
3233 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
3234 prj-env.adb, prj-env.ads (Slash): removed, no longer used
3235 (Source_Data): no longer use Path.Name to point to a locally removed
3236 file. Instead we use the field Locally_Removed which is clearer
3238 2009-06-25 Arnaud Charlet <charlet@adacore.com>
3240 * gcc-interface/Make-lang.in: Remove references to sem_maps.o
3242 * sem_maps.adb, sem_maps.ads: Removed, not used.
3244 2009-06-25 Ed Falis <falis@adacore.com>
3246 * s-vxwext-rtp.ads: Add missing declaration
3248 2009-06-25 Matthew Gingell <gingell@adacore.com>
3250 * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
3251 speed up unmapped case.
3253 2009-06-25 Vincent Celier <celier@adacore.com>
3255 * prj-nmsc.adb (Check): Change error message for illegal abstract
3258 2009-06-25 Robert Dewar <dewar@adacore.com>
3260 * gnat_ugn.texi: Add note on use of -gnatct for ASIS
3262 2009-06-25 Emmanuel Briot <briot@adacore.com>
3264 * fmap.ads: Add documentation on mapping files
3266 2009-06-25 Robert Dewar <dewar@adacore.com>
3268 * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
3271 2009-06-24 Robert Dewar <dewar@adacore.com>
3273 * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
3275 * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
3279 2009-06-24 Ed Schonberg <schonberg@adacore.com>
3281 * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
3282 present when checking whether a call may be interpreted as an indexing
3283 of the result of a call.
3285 * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
3286 body for a null procedure on the freeze actions for the procedure, so
3287 that it will be analyzed at the proper place without premature freezing
3290 * sem_ch3.adb (Check_Completion): Code cleanup.
3291 Do not diagnose a null procedure without a body, if previous errors
3292 have disabled expansion.
3294 2009-06-24 Doug Rupp <rupp@adacore.com>
3296 * init.c [VMS] Resignal C$_SIGKILL
3298 2009-06-24 Ed Falis <falis@adacore.com>
3300 * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
3301 Define ERROR in body for VxWorks 6 kernel
3303 2009-06-24 Pascal Obry <obry@adacore.com>
3305 * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
3306 in [Send/Receive]_Socket.
3308 2009-06-24 Emmanuel Briot <briot@adacore.com>
3310 * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
3311 prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
3312 to several subprograms.
3313 (Source_Data.Other_Part): Removed, since can be computed from the
3315 (Other_Part): New subprogram.
3317 2009-06-24 Emmanuel Briot <briot@adacore.com>
3319 * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
3320 the full base name of the file when the suffix doesn't start with a '.'.
3322 2009-06-24 Vincent Celier <celier@adacore.com>
3324 * prj-nmsc.adb (Check): A project declared abstract is legal if no
3325 attribute Source_Dirs, Source_Files, Source_List_File or Languages is
3328 2009-06-24 Robert Dewar <dewar@adacore.com>
3330 * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
3331 prj-env.adb: Minor reformatting
3333 2009-06-24 Ed Falis <falis@adacore.com>
3335 * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
3336 s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
3337 s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
3338 support for VxWorks SMP.
3340 * gcc-interface/Make-lang.in: Update dependencies
3342 2009-06-24 Emmanuel Briot <briot@adacore.com>
3344 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
3345 prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
3347 (Source_Data.Lang_Kind): Removed, since it duplicates information
3348 already available through Language.Config.
3349 (Source_Data.Compile): Removed, since information is already available
3350 through the language.
3351 (Is_Compilable): New subprogram.
3352 (Source_Data.Dependency): Removed, since already available through
3354 (Source_Data.Object_Exist, Object_Linked): Removed since available
3355 through the language already.
3356 (Unit_Data.File_Names): Is now also set in multi_language mode, to
3357 bring the two modes closer in the resulting data structures.
3358 (Source_Data.Unit): Now a direct pointer to the unit data, rather than
3359 just the name that would point into a hash table.
3360 (Get_Language_From_Name): New subprogram.
3362 2009-06-24 Javier Miranda <miranda@adacore.com>
3364 * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
3365 visible through limited-with context clauses. In addition, avoid an
3366 extra tag check that is not required when the class-wide
3367 designated types of the operand and target types are
3369 (Tagged_Membership): Handle entities from the limited view.
3371 2009-06-24 Emmanuel Briot <briot@adacore.com>
3373 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
3374 prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
3375 (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
3376 different vocabularies for similar concepts (Impl/Body_Part and
3377 Spec/Specification).
3378 (Unit_Data): now points directly to a Source_Id, rather than duplicating
3379 some of the information in File_Name_Data. This also saves a bit of
3380 memory. However, since we are now using a pointer we need to test
3381 for null explicitly in several places of the code
3383 2009-06-24 Javier Miranda <miranda@adacore.com>
3385 * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
3386 from processing the type conversion when the node is
3387 replaced by an N_Raise_Program_Error node.
3389 2009-06-24 Hristian Kirtchev <kirtchev@adacore.com>
3391 * sem_ch6.adb (Designates_From_With_Type): New routine.
3392 (Process_Formals): Since anonymous access types are no longer flagged
3393 as from with types, traverse the designated type to determine whether
3394 it is coming from a limited view.
3396 * sem_res.adb: Remove with and use clauses for Sem_Ch10.
3397 (Full_Designated_Type): Use Available_View to extract the non-limited /
3398 full view of a type.
3400 2009-06-24 Robert Dewar <dewar@adacore.com>
3402 * exp_ch6.adb: Minor reformatting
3404 * layout.adb: Minor reformatting
3406 * make.adb: Minor reformatting
3408 2009-06-24 Thomas Quinot <quinot@adacore.com>
3410 * sem_ch10.adb: Minor code reorganization.
3412 2009-06-24 Eric Botcazou <ebotcazou@adacore.com>
3414 * ttypes.ads: Minor editing.
3416 2009-06-24 Robert Dewar <dewar@adacore.com>
3418 * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
3419 in deciding to do call-by-copy code.
3421 2009-06-24 Vincent Celier <celier@adacore.com>
3423 * make.adb (Gnatmake): To decide if an executable should be rebuilt,
3424 check if an externally built library file is more current than the
3427 2009-06-23 Olivier Hainque <hainque@adacore.com>
3429 * gcc-interface/utils.c (handle_vector_size_attribute): Import from
3430 c-common.c and populate in gnat_internal_attribute_table.
3432 2009-06-23 Ed Schonberg <schonberg@adacore.com>
3434 * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
3435 Available_View only when designated type of an anonymous access type
3438 2009-06-23 Robert Dewar <dewar@adacore.com>
3440 * sem_ch10.adb: Minor reformatting
3442 * ali.ads: Mino reformatting.
3444 * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
3445 turning off inlining if ASIS mode active).
3447 * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
3448 This belongs in gnat1drv.adb after switches are scanned.
3450 2009-06-23 Hristian Kirtchev <kirtchev@adacore.com>
3452 * sem_attr.adb: Add with and use clauses for Sem_Ch10.
3453 (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
3454 when dealing with class-wide types. Detect a legal shadow entity and
3455 retrieve its non-limited view.
3457 * sem_ch10.adb (Has_With_Clause): Move the spec and body of the
3458 subprogram to top package level from Intall_Limited_Withed_Unit.
3459 (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
3460 Add check which prevents the installation of a limited view if the
3461 non-limited view is already visible through a with clause.
3462 (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
3463 legal shadow entity which may occur in subprogram formals of anonymous
3466 * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
3468 * sem_ch3.adb (Access_Definition): Remove the propagation of flag
3469 From_With_Type from the designated type to the generated anonymous
3470 access type. Remove associated comment.
3472 * sem_res.adb Add with and use clauses for Sem_Ch10.
3473 (Full_Designated_Type): Detect a legal shadow entity and retrieve its
3474 non-limited view. Since the shadow entity may replace a regular
3475 incomplete type, return the available full view.
3477 2009-06-23 Ed Schonberg <schonberg@adacore.com>
3479 * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
3480 incomplete type declarations. Previous code was potentially quadratic
3481 in the number of visible declarations in any package appearing in a
3482 limited_with_clause.
3484 2009-06-23 Robert Dewar <dewar@adacore.com>
3486 * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
3487 xref_lib.adb: Minor reformatting
3489 2009-06-23 Robert Dewar <dewar@adacore.com>
3491 * a-stzhas.adb: Provide dummy body to avoid build problems with old
3492 versions which did have a body for this unit.
3494 2009-06-23 Vincent Celier <celier@adacore.com>
3496 * prj-attr.adb: Attribute names Initial_Required_Switches and
3497 Final_Required_Switches changed to Leading_Required_Switches and
3498 Trailing_Required_Switches.
3500 * prj-nmsc.adb (Process_Compiler): Attribute names
3501 Initial_Required_Switches and Final_Required_Switches changed to
3502 Leading_Required_Switches and Trailing_Required_Switches.
3504 * prj.ads (Language_Config): Component Initial_Required_Switches and
3505 Final_Required_Switches changed to Leading_Required_Switches and
3506 Trailing_Required_Switches.
3508 * snames.ads-tmpl: Remove standard names Initial_Required_Switches and
3509 Final_Required_Switches; add standard names Leading_Required_Switches
3510 and Trailing_Required_Switches.
3512 2009-06-23 Thomas Quinot <quinot@adacore.com>
3514 * prj-conf.adb: Minor reformatting
3516 * xref_lib.adb: Minor cleanup
3518 2009-06-23 Emmanuel Briot <briot@adacore.com>
3520 * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
3521 prj-conf.ads (Check_Configuration): New parameter
3522 Compiler_Driver_Mandatory.
3524 2009-06-23 Ed Schonberg <schonberg@adacore.com>
3526 * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
3527 context of the current unit has an inline pragma, the instance is not
3528 rewritten as the declaration of the package wrapper. Handle both
3529 possibilities when retrieving the visible subprogram that renames the
3530 instantiation itself.
3532 2009-06-23 Javier Miranda <miranda@adacore.com>
3534 * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
3535 designated types referencing entities from the limited view.
3537 2009-06-23 Robert Dewar <dewar@adacore.com>
3539 * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
3541 * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
3544 * prj-conf.ads: Minor reformatting
3546 * prj-conf.adb: Minor reformatting
3548 2009-06-23 Vasiliy Fofanov <fofanov@adacore.com>
3550 * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
3551 to correspond to the log format that gnatmem now expects.
3553 2009-06-23 Vincent Celier <celier@adacore.com>
3555 * prj-attr.adb: New attributes Initial_Required_Switches,
3556 Final_Required_Switches and Object_File_Switches
3558 * prj-nmsc.adb (Process_Compiler): Process new attributes
3559 Name_Final_Required_Switches, Name_Initial_Required_Switches and
3560 Name_Object_File_Switches.
3562 * prj.ads (Language_Config): New component
3563 Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
3564 Compiler_Final_Required_Switches and Object_File_Switches.
3566 * snames.ads-tmpl: New standard names Initial_Required_Switches,
3567 Final_Required_Switches and Object_File_Switches
3569 2009-06-23 Pascal Obry <obry@adacore.com>
3571 * s-strhas.adb, s-strhas.ads: Minor reformatting.
3573 2009-06-23 Ed Schonberg <schonberg@adacore.com>
3575 * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
3576 not indicate that the enclosing unit needs a body.
3578 2009-06-23 Emmanuel Briot <briot@adacore.com>
3580 * prj-conf.ads, prj-conf.adb: New files part of the project manager.
3582 2009-06-23 Ed Schonberg <schonberg@adacore.com>
3584 * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
3585 primitive equality include it with its source name even if the
3586 operation is currently invisible, to make sure that the corresponding
3587 slot in the dispatch table is reserved for the internal equality
3588 subsequently generated during expansion.
3590 2009-06-23 Matthew Gingell <gingell@adacore.com>
3592 * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
3594 2009-06-22 Jose Ruiz <ruiz@adacore.com>
3596 * sysdep.c (__gnat_localtime_tzoff for RTX):
3597 SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
3598 GetTimeZoneInformation instead.
3600 2009-06-22 Robert Dewar <dewar@adacore.com>
3602 * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
3604 2009-06-22 Ed Schonberg <schonberg@adacore.com>
3606 * sem_ch12.adb (Collect_Previous_Instances): Do not collect
3607 instantiations declared in a previous generic package body.
3609 2009-06-22 Robert Dewar <dewar@adacore.com>
3611 * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
3612 restriction No_Direct_Boolean_Operators.
3614 2009-06-22 Thomas Quinot <quinot@adacore.com>
3616 * bindusg.adb: Minor fixes to gnatbind usage message
3618 * sem_eval.adb: Minor reformatting
3620 2009-06-22 Javier Miranda <miranda@adacore.com>
3622 * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
3623 freezing point the check on the use of abstract types in object
3624 declarations. Done to allow the declaration of C++ imported variables
3625 or constants whose type corresponds with an imported C++ classes for
3626 which the constructor is not imported.
3628 2009-06-22 Thomas Quinot <quinot@adacore.com>
3630 * sem_ch6.adb: Minor reformatting
3632 2009-06-22 Ed Schonberg <schonberg@adacore.com>
3634 * exp_ch3.adb (Build_Initialization_Call): If a discriminated record
3635 component is constrained with an expression rather than with a
3636 discriminant of the enclosing type, use that expression when building
3637 the call to default-initialize the component, when the call is part of
3638 an aggregate with box initialization.
3640 2009-06-22 Ed Schonberg <schonberg@adacore.com>
3642 * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
3643 unconditional rather than a style check, because a formal name out of
3644 order is suspicious.
3646 2009-06-22 Vincent Celier <celier@adacore.com>
3648 * prj-nmsc.adb (Locate_Directory): Indicate the project name when
3649 creating a directory automatically.
3651 2009-06-22 Eric Botcazou <ebotcazou@adacore.com>
3653 * sem_ch3.adb (Create_Constrained_Components): For a subtype of an
3654 untagged derived type, add a hidden component for every constrained
3655 discriminant of the parent type to keep record layout consistent.
3657 2009-06-22 Thomas Quinot <quinot@adacore.com>
3659 * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
3662 2009-06-22 Matthew Gingell <gingell@adacore.com>
3664 * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
3665 s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
3666 g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
3667 a-swuwha.adb: New unit System.String_Hash.
3668 Refactor redundant cut and pasted hash functions with instances of a
3669 new generic hash function.
3670 Implement a new string hashing algorithm which appears in testing to
3671 be move effective than to previous approach.
3673 2009-06-22 Ed Falis <falis@adacore.com>
3675 * sysdep.c: remove include for nfsLib.h and an NFS specific error
3676 message for VxWorks 653 vThreads: not supported by the OS.
3678 * gsocket.h: disable sockets for VxWorks 653 vThreads.
3680 2009-06-22 Robert Dewar <dewar@adacore.com>
3682 * sem_ch6.adb: Add ??? comment for bad use of Style_Check
3684 2009-06-22 Robert Dewar <dewar@adacore.com>
3686 * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
3689 * freeze.adb: Minor comment updates
3691 * s-valrea.adb (Bad_Based_Value): New procedure
3692 (Scan_Real): Raise exceptions with messages
3694 2009-06-22 Matthew Gingell <gingell@adacore.com>
3696 * adaint.h: Complete previous change.
3698 2009-06-22 Thomas Quinot <quinot@adacore.com>
3700 * exp_ch7.ads, exp_ch3.adb: Minor reformatting
3702 2009-06-22 Ed Schonberg <schonberg@adacore.com>
3704 * sem_ch6.adb (Check_Overriding_Indicator): When style checks are
3705 enabled, emit warning when a non-controlling argument of the overriding
3706 operation appears out of place vis-a-vis of the formal of the
3707 overridden operation.
3709 2009-06-22 Vincent Celier <celier@adacore.com>
3711 * gnatcmd.adb (Check_Files): Close temporary files after all file names
3712 have been written into it.
3714 2009-06-22 Matthew Gingell <gingell@adacore.com>
3716 * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
3719 2009-06-22 Thomas Quinot <quinot@adacore.com>
3721 * sem_disp.adb (Check_Direct_Call): Handle the case where the full
3722 view of the root type is visible at the point of the call.
3724 2009-06-22 Pat Rogers <rogers@adacore.com>
3726 * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
3728 2009-06-22 Jerome Lambourg <lambourg@adacore.com>
3730 * freeze.adb: Add comments.
3732 2009-06-21 Thomas Quinot <quinot@adacore.com>
3734 * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
3735 sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
3736 Factor out code to new subprogram...
3737 (Exp_Util.Find_Init_Call): New shared routine to find the init proc call
3738 for a default initialized variable.
3739 (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
3740 entity that has an associated freeze node.
3741 (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
3742 If there is an init call for the object, defer it to the object freeze
3744 (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
3745 name clash with new subprogram introduced in Exp_Util.
3747 2009-06-21 Robert Dewar <dewar@adacore.com>
3749 * einfo.ads: Minor reformatting
3751 2009-06-21 Ed Falis <falis@adacore.com>
3753 * env.c (__gnat_environ): return NULL for vThreads - unimplemented
3755 2009-06-21 Eric Botcazou <ebotcazou@adacore.com>
3757 * einfo.ads: Update comments.
3759 2009-06-21 Hristian Kirtchev <kirtchev@adacore.com>
3761 * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
3762 where the controlling formal is of private class-wide type whose
3763 completion is a synchronized type can be converted into direct calls.
3765 2009-06-21 Vincent Celier <celier@adacore.com>
3767 * gnatcmd.adb (Check_Files): When all sources of the project are to be
3768 indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
3769 of sources using -files=, so that the distinction can be made by the
3770 tool of a call with no source (to display the usage) from a call with
3771 a project file that contains no source.
3773 2009-06-21 Jerome Lambourg <lambourg@adacore.com>
3775 * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
3776 case of VM convention arrays.
3778 2009-06-20 Robert Dewar <dewar@adacore.com>
3780 * a-nudira.adb: Minor reformatting
3782 2009-06-20 Ed Schonberg <schonberg@adacore.com>
3784 * exp_ch3.adb (Build_Record_Init_Proc): When copying initial
3785 expressions (possibly from a parent type) indicate that the scope of
3786 the new itypes is the initialization procedure being built.
3788 2009-06-20 Robert Dewar <dewar@adacore.com>
3790 * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
3791 Needs_64, and now computed without anomolies for some dynamic types.
3793 2009-06-20 Thomas Quinot <quinot@adacore.com>
3795 * sem_prag.adb: Minor reformatting
3797 * exp_disp.ads: Minor reformatting
3799 2009-06-20 Ed Schonberg <schonberg@adacore.com>
3801 * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
3802 function call is a legal expression to initialize a limited object.
3804 * exp_ch3.adb: Rename various freeze operations that perform expansion
3805 actions, to prevent confusion with subprograms in the freeze package.
3807 2009-06-20 Ed Schonberg <schonberg@adacore.com>
3809 * sem.adb (Walk_Library_Units): Check instantiations first.
3811 * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
3812 private primitive if it is a function with a controlling result that is
3813 a type extension with progenitors.
3815 * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
3816 a primitive operation of a synchronized tagged type that has a
3819 2009-06-20 Thomas Quinot <quinot@adacore.com>
3821 * einfo.ads: Fix typo.
3823 2009-06-20 Ed Falis <falis@adacore.com>
3825 * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
3827 2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
3829 * gcc-interface/trans.c (emit_check): Do not wrap up the result
3831 (protect_multiple_eval): Always protect complex expressions.
3833 2009-06-19 Emmanuel Briot <briot@adacore.com>
3835 * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
3836 make sure we always return a name ending with a path separator.
3838 2009-06-19 Javier Miranda <miranda@adacore.com>
3840 * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
3841 Save and restore the visibility of the parent when installed.
3843 2009-06-19 Jose Ruiz <ruiz@adacore.com>
3845 * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
3846 by Common which contains all these fields.
3848 * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
3849 Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
3850 Remove code duplication in this package by means of calling the
3851 equivalent code in s-taprob.
3853 2009-06-19 Robert Dewar <dewar@adacore.com>
3855 * a-einuoc.ads: Minor reformatting
3857 2009-06-19 Ed Falis <falis@adacore.com>
3859 * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
3860 s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
3862 2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
3864 * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
3866 2009-06-19 Robert Dewar <dewar@adacore.com>
3868 * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
3871 * checks.adb (Determine_Range): Move the test for generic types later.
3873 * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
3875 (Eval_Relational_Op): Fold more cases including string compares
3877 * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
3880 2009-06-19 Robert Dewar <dewar@adacore.com>
3882 * sem_type.ads, sem_ch12.adb: Minor reformatting
3884 * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
3886 2009-06-19 Ed Schonberg <schonberg@adacore.com>
3888 * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
3889 primitive operation of a rivate extension whose controlling argument
3890 is an out parameter.
3892 * sem.adb (Walk_Library_Units): exclude generic package declarations
3895 2009-06-19 Thomas Quinot <quinot@adacore.com>
3897 * i-vxwoio.ads: Add comments
3899 2009-06-19 Thomas Quinot <quinot@adacore.com>
3901 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
3902 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
3903 g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
3904 (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
3905 (GNAT.Sockets.Thin.Socket_Ioctl): Use new function
3906 Thin_Common.Socket_Ioctl.
3907 (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
3908 __gnat_socket_ioctl.
3909 (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
3910 argument after the file descriptor and request code.
3912 2009-06-19 Robert Dewar <dewar@adacore.com>
3914 * checks.adb: Minor reformatting
3916 2009-06-19 Jose Ruiz <ruiz@adacore.com>
3918 * env.c (__gnat_environ): RTX does not support this functionality.
3920 2009-06-19 Ed Schonberg <schonberg@adacore.com>
3922 * sem.adb (Walk_Library_Items): Include bodies in the list of units to
3923 traverse, to account for front-end inlining and instantiations in a
3924 spec or in the main unit.
3926 2009-06-19 Robert Dewar <dewar@adacore.com>
3928 * checks.adb (Determine_Range): Do not attempt to get range of generic
3931 2009-06-19 Sergey Rybin <rybin@adacore.com>
3933 * gnat_ugn.texi, vms_data.ads: Add the documentation for the new
3934 gnatmetric option for generating the schema file for gnatmetric XML
3935 output. Add corresponding VMS qualifier.
3937 2009-06-19 Robert Dewar <dewar@adacore.com>
3939 * g-cgi.adb: Minor reformatting
3941 2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
3943 * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
3944 signal code for SIGFPE and raise Program_Error for SIGILL.
3946 * s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
3948 2009-06-19 Ed Schonberg <schonberg@adacore.com>
3950 * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
3951 generic package if there is a visibility candidate that is declared in
3954 2009-06-18 Olivier Hainque <hainque@adacore.com>
3956 * system-aix64.ads: New file.
3957 * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
3958 64bit system.ads for ppc64 multilib variants.
3960 2009-06-16 Robert Dewar <dewar@adacore.com>
3961 Olivier Hainque <hainque@adacore.com>
3963 Relax constraints on Machine_Attribute argument types:
3964 * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
3966 (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
3967 * gcc-interface/decl.c (prepend_attributes): Accept static
3968 expressions of any type as attribute arguments, not only string
3970 * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
3971 the relaxation of the restriction on the Info argument type.
3973 2009-06-13 Aldy Hernandez <aldyh@redhat.com>
3975 * gcc-interface/utils.c (record_builtin_type): Pass location
3976 argument to build_decl.
3977 (create_type_stub_decl): Same.
3978 (create_type_decl): Same.
3979 (create_var_decl_1): Same.
3980 (create_field_decl): Same.
3981 (create_param_decl): Same.
3982 (create_label_decl): Same.
3983 (create_subprog_decl): Same.
3984 * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
3985 * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
3986 argument to create_artificial_label.
3987 (Loop_Statement_to_gnu): Same.
3988 (Subprogram_Body_to_gnu): Same.
3989 (gnat_gimplify_stmt): Same.
3991 2009-06-11 Richard Henderson <rth@redhat.com>
3993 * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
3996 2009-06-11 Ed Schonberg <schonberg@adacore.com>
3998 * sem_attr.adb (Resolve_Attribute, case 'access): Add missing
3999 accessibiliy check on access_to_subprogram in the context of an
4000 anonymous access that is not an access parameter.
4002 2009-06-11 Eric Botcazou <ebotcazou@adacore.com>
4004 * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
4006 2009-06-11 Quentin Ochem <ochem@adacore.com>
4008 * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
4009 comments for message handled by GPS.
4011 2009-06-11 Matthew Gingell <gingell@adacore.com>
4013 * adaint.c: Use fopen64 instead of fopen on platforms where we know
4016 2009-06-11 Pascal Obry <obry@adacore.com>
4018 * g-cgi.ads: Fix comment typo.
4020 * g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
4022 2009-06-10 Eric Botcazou <ebotcazou@adacore.com>
4024 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
4025 a reference to the original type for the type of the field of the
4027 (maybe_pad_type): Likewise.
4029 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
4030 common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
4031 Pass correctly typed arguments to create_field_decl.
4032 <E_Record_Subtype>: Set BLKmode for tagged and limited types in the
4033 case of contrained discriminants as well. Use the padded base type
4034 in the other case as well. Rename temporary variable. Tweak test.
4035 Factor common access pattern. Set GNU_SIZE only once.
4037 2009-06-09 Olivier Hainque <hainque@adacore.com>
4039 * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
4040 helper for build_call_alloc_dealloc with arguments to be interpreted
4041 identically. Process the case where a GNAT_PROC to call is provided.
4042 (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
4043 and return an allocator for DATA_SIZE bytes aimed at containing a
4044 DATA_TYPE object, using the default __gnat_malloc allocator. Honor
4045 DATA_TYPE alignments greater than what the latter offers.
4046 (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
4047 release a DATA_TYPE object designated by DATA_PTR using the
4048 __gnat_free entry point.
4049 (build_call_alloc_dealloc): Expect object data type instead of naked
4050 alignment constraint. Use the new helpers.
4051 (build_allocator): Remove special processing for the super-aligned
4052 case, now handled by build_call_alloc_dealloc. Pass data
4053 type instead of the former alignment argument, as expected by the new