f763a28b7f70c7525879c54b8b5837d3604f05de
[gcc.git] / gcc / ada / ChangeLog
1 2009-09-18 Arnaud Charlet <charlet@adacore.com>
2
3 * s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
4 s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
5 signal handler is installed.
6 * s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
7 tasks if Abort_Task_Interrupt cannot be used.
8
9 2009-09-18 Vincent Celier <celier@adacore.com>
10
11 * prj-tree.ads: Minor comment update
12
13 2009-09-17 Bob Duff <duff@adacore.com>
14
15 * g-socket.ads: Document the fact that Close_Selector has no effect on
16 a closed selector.
17 * g-socket.adb: Raise an exception when a Selector that should be open
18 is closed.
19 (Check_Selector): Declare RSig as a constant rather than a renames,
20 less confusing.
21
22 2009-09-17 Robert Dewar <dewar@adacore.com>
23
24 * exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
25 prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb,
26 prj-tree.ads: Minor reformatting
27
28 2009-09-17 Emmanuel Briot <briot@adacore.com>
29
30 * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
31 spec.
32 (Do_Autoconf): If the object directory does not exists, create auto.cgpr
33 in a temporary directory instead
34
35 2009-09-17 Bob Duff <duff@adacore.com>
36
37 * a-dynpri.adb (Set_Priority): Don't do anything if the task is already
38 terminated.
39 (Get_Priority): Correct message for "terminated" case -- it said "null".
40
41 2009-09-17 Robert Dewar <dewar@adacore.com>
42
43 * exp_ch6.adb: Minor reformatting
44
45 2009-09-17 Emmanuel Briot <briot@adacore.com>
46
47 * gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
48 switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
49 (Project_Node_Tree_Data.Project_Path): New field.
50
51 * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
52
53 2009-09-17 Emmanuel Briot <briot@adacore.com>
54
55 * prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
56 Remove duplicate code.
57 (Prj.Ext): Fix memory leak
58 (Check): Now allow the syntax "-Xfoo=" to set an empty value to the
59 variable. This was previously allowed in the code in
60 Is_External_Assignment, and some tests rely on it
61
62 2009-09-17 Bob Duff <duff@adacore.com>
63
64 * gnat_rm.texi, s-oscons-tmplt.c: Minor typo
65
66 2009-09-17 Emmanuel Briot <briot@adacore.com>
67
68 * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
69 makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
70 prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
71 prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
72 Scenario variables are now specific to each project tree loaded in
73 memory.
74 Code clean ups.
75
76 2009-09-17 Javier Miranda <miranda@adacore.com>
77
78 * exp_disp.adb (Make_DT): Remove wrong line of code that was
79 undocumented and probably added by mistake.
80
81 2009-09-16 Eric Botcazou <ebotcazou@adacore.com>
82
83 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
84 conversions between original and packable version of types from
85 the expression.
86
87 2009-09-16 Eric Botcazou <ebotcazou@adacore.com>
88
89 * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
90 If a padding type was made for the field, declare it.
91 (components_to_record): Add DEBUG_INFO_P parameter. Adjust call
92 to gnat_to_gnu_field and call to self.
93 (gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
94 <E_Array_Subtype>: Likewise.
95 Adjust calls to gnat_to_gnu_field and components_to_record.
96
97 2009-09-16 Robert Dewar <dewar@adacore.com>
98
99 * prj-nmsc.adb: Minor reformatting
100
101 2009-09-16 Ed Schonberg <schonberg@adacore.com>
102
103 * exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
104 expression is a by-reference type (tagged or inherently limited)
105 introduce an access type to capture references to the values of each
106 branch of the conditional.
107
108 2009-09-16 Emmanuel Briot <briot@adacore.com>
109
110 * prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
111 (Project_Name_And_Node.Display_Name): new field
112 The display name of a project (as written in the .gpr file) is now
113 computed when the project file itself is parsed, not when it is
114 processed.
115
116 2009-09-16 Thomas Quinot <quinot@adacore.com>
117
118 * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
119 intrinsics untouched (to be expanded later on by gigi) if an external
120 name has been specified.
121 (Freeze_Entity): Do not generate a default external name for
122 imported subprograms with convention Intrinsic (so that the above code
123 can identify the case where an external name has been explicitly
124 provided).
125
126 * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
127 replaced by something else due to an existing #define clause.
128
129 2009-09-16 Ed Schonberg <schonberg@adacore.com>
130
131 * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
132 Parameter_Association node, created for the extra actual generated for
133 an access parameter of a function that dispatches on result, to prevent
134 double generation of such actuals when the call is rewritten is a
135 dispatching call.
136 * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
137 * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
138 that carry this flag when rewriting the original call as a dispatching
139 call, after propagating the controlling tag.
140
141 2009-09-16 Vincent Celier <celier@adacore.com>
142
143 * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
144 in the source data.
145 (Check_File): New parameter Source_Dir_Rank, to check if a duplicate
146 source is allowed.
147 (Find_Source_Dirs): New parameter Rank to be recorded with the source
148 directories.
149 (Search_Directories): Call Check_File with the rank of the directory
150 * prj.adb (Project_Empty): Add new component Source_Dir_Ranks
151 (Free): Free also Number_Lists
152 (Reset): Init also Number_Lists
153 * prj.ads (Number_List_Table): New dynamic table for lists of numbers
154 (Source_Data): New component Source_Dir_Rank. Remove component
155 Known_Order_Of_Source_Dirs, no longer needed.
156 (Project_Data): New component Source_Dir_Ranks
157 (Project_Tree_Data): New components Number_Lists
158
159 2009-09-16 Vincent Celier <celier@adacore.com>
160
161 * gprep.adb (Yes_No): New global constant
162 Unix_Line_Terminators: New global Boolean variable
163 (Process_One_File): Create the out file with a "Text_Translation=" form
164 that depends on the use of option -T.
165 (Scan_Command_Line): Add option -T
166 (Usage): Add line for option -T
167
168 2009-09-16 Ed Schonberg <schonberg@adacore.com>
169
170 * exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
171 predicate that describes a proper subset of
172 Is_Predefined_Dispatching_Operation and excludes stream operations,
173 which can be overridden by the user.
174 * sem_ch6.adb (Create_Extra_Formals): use
175 Is_Predefined_Internal_Operation, so that stream operations get extra
176 formals.
177 * exp_ch6.adb (Prevent double generation of extra actuals in calls to
178 'Input, which may be expanded twice, first as a function call and then
179 as a dispatching call.
180
181 2009-09-16 Thomas Quinot <quinot@adacore.com>
182
183 * s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
184 * g-expect.adb (Set_Up_Child_Communications): Use
185 System.OS_Constants.Target_OS to determine whether running on Windows.
186
187 2009-09-14 Richard Henderson <rth@redhat.com>
188
189 * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
190
191 2009-09-14 Eric Botcazou <ebotcazou@adacore.com>
192
193 * exp_dbug.ads (Packed Array Encoding): Document the new encoding for
194 the unconstrained case.
195 * gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
196 the encoding. Do not give a name to the pointer type to the XUT type.
197 * gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
198 for fat pointer types, if any. Make sure DECL_ARTIFICIAL is cleared
199 on nodes with DECL_ORIGINAL_TYPE set.
200 (update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
201 for fat pointer types. Make sure DECL_ARTIFICIAL is cleared.
202
203 2009-09-14 Richard Henderson <rth@redhat.com>
204
205 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
206 default_init_unwind_resume_libfunc.
207 * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use
208 __builtin_eh_pointer.
209 * gcc-interface/utils.c (gnat_install_builtins): Update call
210 to build_common_builtin_nodes.
211
212 2009-09-13 Richard Guenther <rguenther@suse.de>
213 Rafael Avila de Espindola <espindola@google.com>
214
215 * gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables
216 eh_personality_libfunc and lang_eh_runtime_type.
217 (LANG_HOOKS_EH_PERSONALITY): Define.
218 (gnat_eh_personality_decl): New static variable.
219 (gnat_eh_personality): New static function.
220 Include gt-ada-misc.h.
221 * gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
222 * gcc-interface/config-lang.in (gtfiles): Add misc.c.
223
224 2009-09-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
225
226 PR ada/18302
227 * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
228
229 2009-09-08 Eric Botcazou <ebotcazou@adacore.com>
230
231 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
232 flow of control.
233 Avoid useless work when processing the Treat_As_Volatile flag.
234
235 2009-09-08 Eric Botcazou <ebotcazou@adacore.com>
236
237 * gcc-interface/targtyps.c: Reorder include directives.
238
239 2009-09-07 Laurent GUERBY <laurent@guerby.net>
240
241 * gcc-interface/targtyps.c: Add missing include for tm_p.h.
242 * gcc-interface/Make-lang.in: Update dependencies.
243
244 2009-09-07 Laurent GUERBY <laurent@guerby.net>
245
246 * make.adb: Add missing documentation for multilib handling.
247
248 2009-09-03 Diego Novillo <dnovillo@google.com>
249
250 * gcc-interface/misc.c (lang_hooks): Remove const qualifier.
251
252 2009-09-02 Richard Henderson <rth@redhat.com>
253
254 * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
255
256 2009-09-02 Olivier Hainque <hainque@adacore.com>
257
258 * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
259 and uc arguments.
260
261 2009-09-02 Olivier Hainque <hainque@adacore.com>
262
263 * gcc-interface/decl.c (cannot_be_superflat_p): Handle
264 Signed_Integer_Type_Definition Scalar_Ranges.
265
266 2009-09-02 Eric Botcazou <ebotcazou@adacore.com>
267
268 * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the
269 SAVE_EXPR built for misaligned arguments. Remove redundant stuff.
270 (addressable_p): Return true for more rvalues.
271
272 2009-09-01 Jakub Jelinek <jakub@redhat.com>
273
274 * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
275 POINTER_SIZE to HOST_WIDE_INT.
276
277 2009-09-01 Richard Guenther <rguenther@suse.de>
278
279 * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
280
281 2009-08-25 Eric Botcazou <ebotcazou@adacore.com>
282
283 * gcc-interface/trans.c (call_to_gnu): Tidy.
284 (gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
285 non-constant size but the array itself has constant size.
286 * gcc-interface/utils.c (convert_vms_descriptor64): Fix type
287 consistency error.
288 (convert_vms_descriptor32): Likewise.
289
290 2009-08-22 Aurelien Jarno <aurelien@aurel32.net>
291
292 * gcc-interface/Makefile.in: Add Ada support for
293 GNU/kFreeBSD x86_64.
294 * system-freebsd-x86_64.ads: New file based on
295 system-freebsd-x86.ads.
296
297 2009-08-20 Eric Botcazou <ebotcazou@adacore.com>
298
299 * gcc-interface/utils.c (convert): In the padded case, do the final
300 conversion as an unchecked conversion if the underlying types are
301 array types with variable size.
302
303 2009-08-20 Eric Botcazou <ebotcazou@adacore.com>
304
305 * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
306 as visited.
307 * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
308 bounds.
309 * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
310 fields.
311 (gnat_gimplify_expr) <DECL_EXPR>: New case.
312
313 2009-08-17 Aurelien Jarno <aurelien@aurel32.net>
314
315 * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
316 (stack_t): New record type.
317 (sigaltstack): New imported function.
318 (Alternate_Stack): New imported variable.
319 (Alternate_Stack_Size): New constant.
320
321 2009-08-17 Vasiliy Fofanov <fofanov@adacore.com>
322
323 * a-calend-vms.adb: Fix typo.
324
325 2009-08-17 Tristan Gingold <gingold@adacore.com>
326
327 * s-taprop-posix.adb: Round up the stack size to avoid failure on
328 Darwin.
329
330 2009-08-17 Gary Dismukes <dismukes@adacore.com>
331
332 * sem_cat.adb (Validate_Static_Object_Name): Update comment.
333
334 2009-08-17 Vincent Celier <celier@adacore.com>
335
336 * make.adb (Arguments_Collected): Unneeded, removed
337 (Change_To_Object_Directory): Use Project directly. Add pragma Assert to
338 ensure caller does not pass in No_Project.
339 (Compile): Add new parameter Project. Let procedure
340 Collect_Arguments_And_Compile provide the proper value.
341
342 * switch-c.adb: Add documentation for -gnatea and -gnatez
343
344 2009-08-17 Ben Brosgol <brosgol@adacore.com>
345
346 * gnat_ugn.texi: Changed name of package in SAL example, to avoid
347 clash with Ada 2005 reserved word (interface).
348
349 2009-08-17 Robert Dewar <dewar@adacore.com>
350
351 * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
352 a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
353 a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
354 (use conditional expressions).
355
356 2009-08-17 Robert Dewar <dewar@adacore.com>
357
358 * make.adb: Add ??? comment
359 * tbuild.adb: Minor reformatting
360
361 2009-08-17 Thomas Quinot <quinot@adacore.com>
362
363 * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
364 Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
365 Use Tbuild.Make_Temporary to create entity for the temporary.
366
367 2009-08-17 Arnaud Charlet <charlet@adacore.com>
368
369 * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
370 and ignore -mieee switch to avoid spawning an extra gcc in this case.
371
372 2009-08-17 Thomas Quinot <quinot@adacore.com>
373
374 * tbuild.adb: Minor reformatting
375
376 2009-08-17 Ed Schonberg <schonberg@adacore.com>
377
378 * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
379 exist, as is the case for synchronized types, use the type of the
380 discriminal in the parameter specification, to prevent a spurious
381 subtype mismatch in gigi.
382
383 2009-08-17 Robert Dewar <dewar@adacore.com>
384
385 * prj-env.adb: Minor reformatting
386 * make.adb: Minor reformatting
387 Comment updates
388
389 2009-08-17 Javier Miranda <miranda@adacore.com>
390
391 * exp_ch7.adb (Wrap_Transient_Expression): Update comments.
392
393 2009-08-17 Emmanuel Briot <briot@adacore.com>
394
395 * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
396 (Processing_Flags.Require_Obj_Dirs): new field, which controls whether
397 object directories must be present. In the case of gprclean at least,
398 these are optional (if they do not exist there is nothing to clean)
399
400 2009-08-17 Robert Dewar <dewar@adacore.com>
401
402 * prj-env.adb: Minor reformatting
403 * sem_ch3.adb: Minor reformatting
404
405 2009-08-17 Hristian Kirtchev <kirtchev@adacore.com>
406
407 * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
408 the time zone since VxWorks chose positive values to represent west
409 time zones and negative for east zones.
410
411 2009-08-17 Ed Schonberg <schonberg@adacore.com>
412
413 * sem_ch3.adb (Access_Definition): Do not create an Itype reference for
414 an anonymous access type whose designated type is generic.
415
416 2009-08-17 Arnaud Charlet <charlet@adacore.com>
417
418 * comperr.adb (Compiler_Abort): Do not generate a bug box when in
419 codepeer mode, friendlier.
420
421 2009-08-10 Laurent GUERBY <laurent@guerby.net>
422
423 * make.adb: Handle multilib
424
425 2009-08-10 Vincent Celier <celier@adacore.com>
426
427 * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
428 the temporary file name in the error message when the temporary file
429 cannot be created.
430
431 2009-08-10 Yannick Moy <moy@adacore.com>
432
433 * gnat_ugn.texi: Fix typo
434
435 2009-08-10 Robert Dewar <dewar@adacore.com>
436
437 * exp_ch7.adb: Add ??? comment for last change
438
439 2009-08-10 Vincent Celier <celier@adacore.com>
440
441 * prj-env.adb (Add_To_Buffer): New procedure
442 (Create_Config_Pragmas_File): Write to temporary file in one shot
443 (Create_Mapping_File): Ditto
444 (Set_Ada_Paths): Ditto
445
446 2009-08-10 Vincent Celier <celier@adacore.com>
447
448 PR ada/17566
449 * xref_lib.adb (Print_Xref): Make sure that there is at least one space
450 between a declaration name and its type.
451
452 2009-08-07 Javier Miranda <miranda@adacore.com>
453
454 * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
455 SCIL node.
456
457 2009-08-07 Robert Dewar <dewar@adacore.com>
458
459 * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
460
461 2009-08-07 Vincent Celier <celier@adacore.com>
462
463 * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
464 specified on the command line and there are switches in the Compiler
465 package of the project file, use these compilation switches to invoke
466 the tool.
467
468 2009-08-07 Ben Brosgol <brosgol@adacore.com>
469
470 * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
471
472 2009-08-07 Ed Schonberg <schonberg@adacore.com>
473
474 * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
475 even if not in main unit, to simplify debugging.
476
477 2009-08-07 Arnaud Charlet <charlet@adacore.com>
478
479 * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
480 * gcc-interface/Make-lang.in: Update dependencies.
481
482 2009-08-07 Robert Dewar <dewar@adacore.com>
483
484 * types.ads: Minor reformatting
485 * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
486 * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
487 Output_Non_Modified_In_Out_Warnings.
488 * sem_ch13.adb: Remove ??? comment.
489
490 2009-08-07 Vincent Celier <celier@adacore.com>
491
492 * mlib-prj.adb (Build_Library): Include binder generate object file
493 for SAL when library name is only one character.
494
495 2009-08-07 Thomas Quinot <quinot@adacore.com>
496
497 * targparm.adb: Minor reformatting
498 * sem.adb: Minor reformatting
499 * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
500
501 2009-08-07 Emmanuel Briot <briot@adacore.com>
502
503 * prj-conf.adb: Remove duplicate directory separator in the output when
504 an object directory does not exist.
505
506 2009-08-07 Robert Dewar <dewar@adacore.com>
507
508 * exp_util.adb: Minor reformatting
509
510 2009-08-07 Vincent Celier <celier@adacore.com>
511
512 * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
513 length used).
514
515 2009-08-07 Ed Schonberg <schonberg@adacore.com>
516
517 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
518 detect non-static private components that will violate restriction
519 No_Implicit_Heap_Allocation.
520
521 2009-08-07 Ben Brosgol <brosgol@adacore.com>
522
523 * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
524
525 2009-08-02 Eric Botcazou <ebotcazou@adacore.com>
526
527 * gcc-interface/gigi.h (end_subprog_body): Tweak comment.
528 * gcc-interface/utils.c (end_subprog_body): Likewise.
529 * gcc-interface/trans.c (gigi): Likewise.
530 (gnat_to_gnu): Likewise.
531
532 2009-07-30 Ben Brosgol <brosgol@adacore.com>
533
534 * gnat_ugn.texi: Correct minor texi glitch.
535
536 2009-07-30 Ed Schonberg <schonberg@adacore.com>
537
538 * exp_util.adb (Expand_Subtype_From_Expr): If the type of the
539 expression has an underlying representation that is an unchecked union,
540 there is no subtype to build.
541
542 2009-07-30 Robert Dewar <dewar@adacore.com>
543
544 * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads,
545 s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb,
546 sem_ch7.adb, adaint.c: Minor reformatting
547
548 2009-07-29 Javier Miranda <miranda@adacore.com>
549
550 * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
551 moved from the expander to the semantic analyzer to allow the
552 generation of these internal entities when compiling with no code
553 generation. Required by ASIS.
554 * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
555 * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
556 * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
557 (Expand_Freeze_Record_Type): Remove call to
558 Add_Internal_Interface_Entities because this routine is now called at
559 early stage --when the freezing node is analyzed.
560
561 2009-07-29 Robert Dewar <dewar@adacore.com>
562
563 * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
564 exp_disp.adb, g-socket.adb: Minor reformatting
565
566 2009-07-29 Ed Schonberg <schonberg@adacore.com>
567
568 * sem_ch7.adb (New_Private_Type): Create class-wide type after other
569 attributes have been established, so that they are all inherited by the
570 class-wide type.
571 * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
572 properly named subtypes of class-wide types.
573
574 2009-07-29 Ed Schonberg <schonberg@adacore.com>
575
576 * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
577 indicators on user-defined operators.
578
579 2009-07-29 Vadim Godunko <godunko@adacore.com>
580
581 * g-socket.adb (Receive_Vector): Add comment.
582
583 2009-07-29 Javier Miranda <miranda@adacore.com>
584
585 * frontend.adb (Frontend): Code cleanup.
586 * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
587 Rewriten as a procedure because it a new out-mode parameters to
588 keep up-to-date the controlling tag node in the caller.
589 (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
590 new out-mode parameter to keep up-to-date the controlling tag node in
591 the caller.
592 * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
593 exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
594 package Sem_SCIL.
595 * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
596 available in new package Sem_SCIL.
597 (Next_Non_SCIL_Node): Ditto.
598 * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
599 package Sem_SCIL.
600 (Expand_Dispatching_Call): Update call to modified Exp_Atags routines
601 plus complete decoration of SCIL dispatching node.
602 (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
603 * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
604 package Sem_SCIL.
605 (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
606 * exp_ch3.adb (Build_Init_Procedure): Fix comment.
607 * sem_scil.ads, sem_scil.adb: New files.
608 * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
609 Update dependencies.
610
611 2009-07-28 Robert Dewar <dewar@adacore.com>
612
613 * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
614 makeutl.adb: Minor reformatting & code reorganization
615 * sem_ch3.adb: Minor reformatting.
616 Fix spelling error (constraint for constrain) in error msg.
617
618 2009-07-28 Emmanuel Briot <briot@adacore.com>
619
620 * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
621 global variable that also exists in makeutl.ads, and that some routines
622 in that package use already.
623 (Check): Moved part of the code to makeutl.adb for better sharing with
624 gprbuild.
625
626 2009-07-28 Arnaud Charlet <charlet@adacore.com>
627
628 * gcc-interface/Make-lang.in: Update dependencies.
629
630 2009-07-28 Emmanuel Briot <briot@adacore.com>
631
632 * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
633 importing project does not end up in the list, in the case of extending
634 projects.
635 * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
636 makeutl.ads, for better sharing with gprbuild.
637
638 2009-07-28 Arnaud Charlet <charlet@adacore.com>
639
640 * gnat_ugn.texi: Fix typo.
641
642 2009-07-28 Ed Schonberg <schonberg@adacore.com>
643
644 * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
645 derivation that renames some discriminants and constrain others.
646 * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
647 prefix is a derived untagged type, convert to the root type to conform
648 to the signature of the protected operations.
649
650 2009-07-28 Robert Dewar <dewar@adacore.com>
651
652 * sinfo.ads: Update comments.
653 * exp_attr.adb: Minor reformatting
654
655 2009-07-28 Ed Schonberg <schonberg@adacore.com>
656
657 * sem_aggr.adb (Get_Value): A named association in a record aggregate
658 should be treated as a modification of the named component, not as a
659 reference.
660
661 2009-07-28 Quentin Ochem <ochem@adacore.com>
662
663 * prj-tree.ads, prj-tree.adb (Free): Minor editing.
664 * prj.ads, prj.adb (Image): Ditto.
665
666 2009-07-28 Arnaud Charlet <charlet@adacore.com>
667
668 * frontend.adb: Minor reformatting.
669 (Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
670 for efficiency.
671
672 2009-07-28 Bob Duff <duff@adacore.com>
673
674 * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
675 'Address to get a pointer to the protected body wrapper.
676
677 2009-07-28 Javier Miranda <miranda@adacore.com>
678
679 * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
680 nodes if we are not generating code.
681 * frontend.adb (Check_SCIL_Node): New subprogram. Used to check
682 attribute SCIL_Related_Node of SCIL dispatching nodes.
683 (Check_SCIL_Nodes): New instantiation of Traverse_Proc.
684 * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
685 (SCIL_Nkind,Set_SCIL_Nkind): Removed.
686 (SCIL_Entity): Update documentation.
687 (SCIL_Related_Node): Update documentation.
688 (SCIL_Controlling_Tag): New attribute.
689 (SCIL_Target_Prim): Update documentation.
690 (N_Null_Statement): Remove attributes associated with SCIL nodes.
691 (N_SCIL_Dispatch_Table_Object_Init): New node.
692 (N_SCIL_Dispatch_Table_Tag_Init): New node.
693 (N_SCIL_Dispatching_Call): New node.
694 (N_SCIL_Tag_Init): New node.
695 * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
696 (SCIL_Nkind,Set_SCIL_Nkind): Removed.
697 (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
698 (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
699 (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
700 (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
701 N_SCIL_Dispatching_Call nodes.
702 * sem.adb (Analyze): No need to analyze SCIL nodes.
703 * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
704 (Next_Non_SCIL_Node): New subprogram
705 * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
706 dispatching nodes.
707 * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
708 dispatching node.
709 * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
710 dispatching node.
711 * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
712 null statement nodes.
713 (Build_Init_Procedure): Generate new SCIL node.
714 * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
715 node.
716 * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
717 they are currently implemented as special N_Null_Statement nodes.
718 * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
719 procedure call then check if some SCIL node references it and needs
720 readjustment.
721 * exp_disp.ads (SCIL_Node_Kind): Removed.
722 (Adjust_SCIL_Node): New subprogram.
723 (Find_SCIL_Node): New subprogram.
724 (Get_SCIL_Node_Kind): Removed.
725 (New_SCIL_Node): Removed.
726 * exp_disp.adb (Adjust_SCIL_Node): New subprogram
727 (Expand_Dispatching_Call): Generate new SCIL dispatching node including
728 decoration of its new controlling_tag attribute.
729 (Get_SCIL_Node_Kind): Removed.
730 (Find_SCIL_Node): New subprogram.
731 (Make_Secondary_DT): Generate new SCIL nodes.
732 (Make_Tags): Generate new SCIL nodes.
733 (New_SCIL_Node): Removed.
734 * exp_util.adb (Insert_Actions): Handle SCIL nodes.
735 (Remove_Side_Effects): Check if relocated nodes require readjustment
736 of some SCIL dispatching node.
737 * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
738
739 2009-07-28 Robert Dewar <dewar@adacore.com>
740
741 * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
742
743 2009-07-28 Sergey Rybin <rybin@adacore.com>
744
745 * gnat_ugn.texi: Add section about gnatcheck rule exemption.
746
747 2009-07-28 Vadim Godunko <godunko@adacore.com>
748
749 * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
750 not defined by limits.h.
751
752 * g-socket.adb (Receive_Vector): Use minimum length from user's vector
753 length and maximum supported length of data vector.
754
755 2009-07-28 Gary Dismukes <dismukes@adacore.com>
756
757 * usage.adb: Inhibit printing gcc-specific switches for AAMP target.
758 * make.adb: Call Get_Target_Parameters before calling Usage so that
759 VM_Target and AAMP_On_Target will be set.
760
761 2009-07-28 Olivier Hainque <hainque@adacore.com>
762
763 * g-ssinty.ads: Remove, pointless and just confusing at this stage.
764 * gnat_rm.texi: Remove documentation.
765 * g-sse.ads: Minor reorg along the way.
766 * gcc-interface/Makefile.in: Remove processing for g-ssinty.
767 * g-ssvety.ads: Minor comment updates.
768
769 2009-07-28 Sergey Rybin <rybin@adacore.com>
770
771 * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
772 for the new format of the report file.
773
774 2009-07-28 Sergey Rybin <rybin@adacore.com>
775
776 * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
777
778 2009-07-28 Pascal Obry <obry@adacore.com>
779
780 * g-expect.adb: Record standard handles only on Windows.
781
782 2009-07-27 Emmanuel Briot <briot@adacore.com>
783
784 * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
785 Add comments.
786
787 2009-07-27 Sergey Rybin <rybin@adacore.com>
788
789 * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
790 rule definition the paragraph that explains that generic functions and
791 functions from generic packages are not checked.
792
793 2009-07-27 Gary Dismukes <dismukes@adacore.com>
794
795 * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
796 procedure when determining whether to set the Overridden_Operation
797 field of a subprogram overriding an inherited subprogram.
798
799 2009-07-27 Robert Dewar <dewar@adacore.com>
800
801 * a-except.adb, a-except-2005.ads: Minor reformatting
802
803 2009-07-27 Robert Dewar <dewar@adacore.com>
804
805 * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
806
807 2009-07-27 Javier Miranda <miranda@adacore.com>
808
809 * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
810 add some documentation explaining why the SCIL nodes must be generated
811 at that point.
812
813 2009-07-27 Olivier Hainque <hainque@adacore.com>
814
815 * a-except.adb: Bind to __builtin_longjmp directly.
816 * a-except-2005.ads: Provide direct binding to __builtin_longjmp
817 for sjlj variants.
818 * a-exexpr.adb: Use it.
819 * a-except-xi.adb: Likewise.
820 * raise.c (_gnat_builtin_longjmp): Remove and update comments.
821 * raise.h (_gnat_builtin_longjmp): Remove declaration.
822
823 2009-07-27 Ed Schonberg <schonberg@adacore.com>
824
825 * sem_eval.adb (Compile_Time_Compare): More precise handling of
826 Known_Valid flag, to prevent spurious range deductions when scalar
827 variables may be uninitialized. New predicate Is_Known_Valid_Operand.
828
829 2009-07-27 Robert Dewar <dewar@adacore.com>
830
831 * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
832 and code clean up.
833
834 2009-07-27 Ed Schonberg <schonberg@adacore.com>
835
836 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
837 Ravenscar mode. Error has already been posted on specification.
838
839 * sem.adb: Further code clean ups.
840
841 2009-07-27 Robert Dewar <dewar@adacore.com>
842
843 * g-sse.ads: Minor reformatting
844
845 2009-07-27 Arnaud Charlet <charlet@adacore.com>
846
847 * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
848 alternate ali extension.
849 * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
850 account Osint.ALI_Suffix.
851 * osint.ads (ALI_Suffix): Make visible.
852 * gnatfind.adb (Gnatfind): Add support for --ext= switch.
853 * gnat_ugn.texi: Document new gnatfind --ext= switch.
854
855 2009-07-27 Ed Schonberg <schonberg@adacore.com>
856
857 * sem.adb (Walk_Library_Items): If main unit is an instance body, do
858 its spec first.
859
860 2009-07-27 Javier Miranda <miranda@adacore.com>
861
862 * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
863 the dispatching call has is expanded.
864
865 2009-07-27 Ed Schonberg <schonberg@adacore.com>
866
867 * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
868 Is_Known_Valid flag on the temporary created for the value whose
869 validity is being checked.
870
871 * sem.adb (Do_Unit_And_Dependents): Further code reorganization to
872 handle properly main units that are package specifications.
873
874 2009-07-27 Geert Bosch <bosch@adacore.com>
875
876 * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
877 * sem_aux.ads: Fix typo in comment
878 * sem_util.ads (Is_LHS): Adjust comment to match body
879
880 2009-07-27 Sergey Rybin <rybin@adacore.com>
881
882 * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
883 rule definition.
884
885 2009-07-27 Olivier Hainque <hainque@adacore.com>
886
887 * g-sse.ads, g-ssvety.ads: Update comments.
888
889 2009-07-27 Sergey Rybin <rybin@adacore.com>
890
891 * gnat_ugn.texi: Update gnatcheck doc.
892
893 2009-07-27 Arnaud Charlet <charlet@adacore.com>
894
895 * lib-xref.ads: Allocate/document 'o' char for use by references to
896 spark 'own' variables.
897
898 2009-07-27 Gary Dismukes <dismukes@adacore.com>
899
900 * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
901 objects, since these are implicitly referenced by the return statement.
902 * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
903 Is_Return_Object in this procedure, as return objects will never make
904 it here since they're now marked as Referenced.
905
906 2009-07-27 Robert Dewar <dewar@adacore.com>
907
908 * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
909
910 2009-07-27 Robert Dewar <dewar@adacore.com>
911
912 * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
913
914 * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
915
916 2009-07-27 Geert Bosch <bosch@adacore.com>
917
918 * checks.adb (Find_Check): Minor streamlining of logic.
919 * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
920 * debug.adb: Document -gnatdX debug flag
921 * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
922 list information about reads from scalar entities.
923 Also slightly simplify condition for Expand_Current_Value.
924 * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
925 functions.
926
927 2009-07-26 Dave Korn <dave.korn.cygwin@gmail.com>
928
929 PR bootstrap/40578
930 * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
931 (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
932 to these.
933 (__gnat_stat): Adjust reference to STAT in prototype.
934 * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
935 __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
936 __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
937 __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
938 __gnat_is_writable_file, __gnat_is_executable_file,
939 __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
940 __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
941 __gnat_copy_attribs): Adjust all references to the above.
942 * cstreams.c (__gnat_is_regular_file_fd): Likewise.
943
944 2009-07-23 Ed Schonberg <schonberg@adacore.com>
945
946 * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
947 done at the same time, guard against listing a body more than once.
948
949 2009-07-23 Robert Dewar <dewar@adacore.com>
950
951 * exp_ch6.adb: Minor reformatting
952
953 2009-07-23 Ed Schonberg <schonberg@adacore.com>
954
955 * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
956 static expression is known valid.
957 * sem_eval.adb (Compile_Time_Compare): Handle properly non-static
958 operands of a subtype with a single value.
959
960 2009-07-23 Ed Schonberg <schonberg@adacore.com>
961
962 * sem.adb (Do_Units_And_Dependents): Process bodies only for units that
963 are in the context of the main unit body.
964
965 2009-07-23 Sergey Rybin <rybin@adacore.com>
966
967 * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
968 misprint in rule description.
969
970 2009-07-23 Gary Dismukes <dismukes@adacore.com>
971
972 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
973 test that the object declaration is within an extended return statement
974 with direct test of whether the declared object associated with the
975 build-in-place call is a return object, since the enclosing function
976 might not even be a build-in-place function.
977
978 2009-07-23 Robert Dewar <dewar@adacore.com>
979
980 * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
981 Minor code reorganization
982
983 2009-07-23 Arnaud Charlet <charlet@adacore.com>
984
985 * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
986 for static analysis, only packed arrays are causing troubles.
987
988 2009-07-23 Gary Dismukes <dismukes@adacore.com>
989
990 * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
991 ancestor part is a call to a limited function with an unconstrained
992 result subtype unless the aggregate has a null extension type.
993 * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
994 the parent type declaration to avoid blowups on subtype cases.
995
996 2009-07-23 Robert Dewar <dewar@adacore.com>
997
998 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
999 comma.
1000
1001 * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
1002
1003 * s-regexp.adb: Minor reformatting
1004 * scos.ads: Minor reformatting.
1005
1006 2009-07-23 Arnaud Charlet <charlet@adacore.com>
1007
1008 * freeze.adb (Set_Small_Size): Remove extra space for consistency with
1009 other similar messages.
1010 * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
1011 messages/implicit packing in CodePeer mode.
1012 (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
1013 * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
1014 CodePeer mode.
1015
1016 2009-07-23 Pascal Obry <obry@adacore.com>
1017
1018 * prj-nmsc.adb: Fix spec/body naming extension on case insensitive
1019 systems.
1020
1021 2009-07-23 Robert Dewar <dewar@adacore.com>
1022
1023 * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
1024 Minor reformatting.
1025
1026 2009-07-23 Yannick Moy <moy@adacore.com>
1027
1028 * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
1029 pattern.
1030 (Raise_Exception_If_No_More_Chars): Remove extra blank in exception
1031 string.
1032 (Raise_Exception): Ditto.
1033
1034 2009-07-23 Olivier Hainque <hainque@adacore.com>
1035
1036 * g-sse.ads: Simplify comment.
1037
1038 2009-07-23 Olivier Hainque <hainque@adacore.com>
1039
1040 * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
1041 low level internal type definitions for distinct higher level
1042 binding development activities (user type definitions and
1043 operations).
1044 * gnat_rm.texi: Document it.
1045 * g-ssvety.ads: Use it.
1046 * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
1047 g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
1048 * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
1049 for the "may_alias" attribute.
1050
1051 2009-07-23 Thomas Quinot <quinot@adacore.com>
1052
1053 * scos.ads: Minor typo fix
1054
1055 * gcc-interface/decl.c (validate_alignment): For the case of an
1056 implicit array base type, look for alignment clause on first subtype.
1057
1058 2009-07-23 Robert Dewar <dewar@adacore.com>
1059
1060 * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
1061 with tagged parent if tagged parent is fully repped.
1062
1063 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1064
1065 * sem.adb (Walk_Library_Units): Handle properly the case where a unit
1066 in the context depends on the spec of the main unit, by delaying
1067 processing of the main unit body until all other units have been
1068 processed.
1069
1070 2009-07-23 Arnaud Charlet <charlet@adacore.com>
1071
1072 * a-convec.adb: Add comments about suspicious/subtle code.
1073
1074 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1075
1076 * einfo.ads: Document use of Alias in private overriding
1077
1078 2009-07-23 Thomas Quinot <quinot@adacore.com>
1079
1080 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
1081 an array type, propagate alignment from first subtype to implicit base
1082 type so that other subtypes (such as the itypes for aggregates of the
1083 type) also receive the expected alignment.
1084
1085 * g-comlin.ads: Minor documentation clarification/rewording.
1086 * scos.ads: Minor comments update.
1087 * lib-writ.ads: Minor reformatting
1088
1089 2009-07-23 Gary Dismukes <dismukes@adacore.com>
1090
1091 * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
1092 of a class-wide interface type that is a return object of a
1093 build-in-place function, bypass the interface-related expansions into
1094 renamings with displacement conversions, etc.
1095 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
1096 for the case where a renaming occurs in a build-in-place context, to
1097 assert that the bypassing of the build-in-place treatment only occurs
1098 in the case of a renaming that is an expansion of a return expression
1099 that is itself a build-in-place function call.
1100
1101 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1102
1103 * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
1104 valid candidate interpretation in a prefixed view if it is hidden, but
1105 overrides an inherited operation declared in the visible part.
1106
1107 2009-07-23 Robert Dewar <dewar@adacore.com>
1108
1109 * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
1110 division operands to 64-bit at all in any circumstances.
1111
1112 2009-07-23 Robert Dewar <dewar@adacore.com>
1113
1114 * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
1115 checking ranges for mod/rem to see if conditional jump will be
1116 generated.
1117 (Analyze_N_Op_Rem): Don't try to check actual lower bounds for
1118 generating special -1 test for rem, generate it whenever both
1119 operands can be negative (match circuit in Sem_Res).
1120 (Analyze_N_Op_Rem): Don't go to base type, no longer needed and
1121 destroys memory of positive range.
1122 * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
1123 checking ranges for mod/rem to see if conditional jump will be generated
1124
1125 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1126
1127 * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
1128 scalar components has non-static bounds, the equivalent aggregate
1129 cannot be built, even if the expression is static, because range checks
1130 will be generated.
1131
1132 2009-07-23 Robert Dewar <dewar@adacore.com>
1133
1134 * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
1135 division operands to 64-bit inside a conversion if 64-bit division not
1136 available.
1137
1138 2009-07-23 Sergey Rybin <rybin@adacore.com>
1139
1140 * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
1141
1142 2009-07-23 Javier Miranda <miranda@adacore.com>
1143
1144 * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
1145 (Entity/Set_Entity): not available in N_Null_Statement nodes
1146 (Is_Scil_Node): renamed as Is_SCIL_Node
1147 (Scil_Nkind): renamed as SCIL_Nkind
1148 (Scil_Related_Node): renamed as SCIL_Related_Node
1149 (Scil_Target_Prim): renamed as SCIL_Target_Prim
1150 (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
1151 (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
1152 (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
1153 Update documentation
1154 * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
1155 (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
1156 (New_Scil_Node): Renamed as New_SCIL_Node
1157 * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
1158 (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
1159 (New_Scil_Node): Renamed as New_SCIL_Node
1160 * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
1161
1162 2009-07-23 Robert Dewar <dewar@adacore.com>
1163
1164 * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
1165 * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
1166 * einfo.adb: Minor reformatting
1167
1168 2009-07-23 Robert Dewar <dewar@adacore.com>
1169
1170 * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
1171 cross-referencing the new related code in
1172 Exp_Ch4.Expand_N_Type_Conversion.
1173 * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
1174
1175 * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
1176 Add comment.
1177
1178 2009-07-23 Javier Miranda <miranda@adacore.com>
1179
1180 * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
1181 Scil_Target_Prim, N_Has_Entity): Add missing documentation.
1182 * exp_disp.ads (Scil_Node_Kind): Ditto.
1183 * exp_disp.adb (Make_DT, Make_Tags): Ditto.
1184 * exp_ch3.adb (Build_Init_Procedure): Ditto.
1185
1186 2009-07-23 Javier Miranda <miranda@adacore.com>
1187
1188 * einfo.adb (Component_Type): Add missing assertion.
1189 * sem_res.adb (Resolve_Call): Ensure proper kind of entity before
1190 reading attribute Component_Size.
1191 * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
1192 before reading attributes Component_Size and Component_Type.
1193 * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
1194 before reading attribute Component_Type.
1195
1196 2009-07-23 Olivier Hainque <hainque@adacore.com>
1197
1198 * gnat_rm.texi: Document the GNAT.SSE units.
1199
1200 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1201
1202 * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
1203 not null return if it appears on a subunit.
1204
1205 2009-07-23 Robert Dewar <dewar@adacore.com>
1206
1207 * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
1208 check right away so it does not get skipped for early returns, e.g.
1209 array assignments.
1210 (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
1211 left-side unless we really know the value is valid.
1212
1213 * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
1214 reformatting. Minor code reorganization. Add comments.
1215
1216 2009-07-23 Robert Dewar <dewar@adacore.com>
1217
1218 * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
1219 complex condition.
1220
1221 2009-07-23 Gary Dismukes <dismukes@adacore.com>
1222
1223 * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
1224 with test of coverage, to allow specific type objects in extended
1225 returns of class-wide functions. Remove now-unnecessary special-case
1226 tests that allowed this in certain cases of expanded extended returns.
1227
1228 2009-07-23 Javier Miranda <miranda@adacore.com>
1229
1230 * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
1231 N_Null_Statements (for SCIL nodes).
1232 (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
1233 (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
1234 (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
1235 nodes).
1236 (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
1237 * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
1238 associated with dispatching call.
1239 (Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
1240 (Make_DT, Make_Tags): Add generation of SCIL nodes associated with
1241 initialization of dispatch tables and initialization of tags.
1242 (New_Scil_Node): New function that creates a new SCIL node.
1243 (Build_Init_Procedure): Add generation of SCIL node associated with the
1244 initialization of tags done in the IP subprogram.
1245
1246 2009-07-23 Ed Schonberg <schonberg@adacore.com>
1247
1248 * errout.adb (Error_Msg_NEL): If the entity in the initial message has
1249 Warnings_Off, do not emit continuation messages.
1250
1251 * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
1252 spec.
1253
1254 2009-07-23 Emmanuel Briot <briot@adacore.com>
1255
1256 * ali.adb: Minor comment update
1257
1258 2009-07-23 Vasiliy Fofanov <fofanov@adacore.com>
1259
1260 * s-win32.ads (HANDLE): Define to be the same size as address type.
1261 Fix copyright.
1262
1263 2009-07-23 Olivier Hainque <hainque@adacore.com>
1264
1265 * g-sse.ads: New file. Root of the SSE facilities trees, with
1266 general description and common declarations.
1267 * g-ssvety.ads: New file. Expose user level SSE vector types.
1268 * impunit.adb (Non_Imp_File_Names_95): Register new units.
1269 * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
1270 EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
1271
1272 2009-07-23 Ben Brosgol <brosgol@adacore.com>
1273
1274 * gnat_ugn.texi: Wordsmithing.
1275
1276 2009-07-23 Arnaud Charlet <charlet@adacore.com>
1277
1278 * prj-conf.ads, prj-conf.adb: Switch to GPLv3.
1279
1280 2009-07-22 Eric Botcazou <ebotcazou@adacore.com>
1281
1282 * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
1283 they are already of the base type of the index.
1284
1285 2009-07-22 Brett Porter <porter@adacore.com>
1286
1287 * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
1288
1289 2009-07-22 Robert Dewar <dewar@adacore.com>
1290
1291 * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS)
1292 * gnat_ugn.texi: Add documentation for -gnateS switch
1293 * ug_words: Add entry for -gnateS /SCO_OUTPUT
1294 * gcc-interface/Make-lang.in: Update dependencies.
1295
1296 * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb,
1297 par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial
1298 complete information for SCO input/output.
1299
1300 2009-07-22 Sergey Rybin <rybin@adacore.com>
1301
1302 * gnat_ugn.texi: Update doc for some gnatcheck rules.
1303
1304 2009-07-22 Robert Dewar <dewar@adacore.com>
1305
1306 * par_sco.adb, par_sco.ads (pscos): New debug routine to output
1307 contents of SCO tables.
1308 * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads,
1309 scos.adb, scos.ads: New files.
1310 * gcc-interface/Make-lang.in: Update dependencies.
1311
1312 * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
1313 fixes and reformatting.
1314
1315 2009-07-22 Robert Dewar <dewar@adacore.com>
1316
1317 * g-socket.ads: Minor reformatting
1318
1319 2009-07-22 Gary Dismukes <dismukes@adacore.com>
1320
1321 * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
1322 include the entity kind for following cases of unreferenced entities:
1323 E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
1324
1325 2009-07-22 Ed Falis <falis@adacore.com>
1326
1327 * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
1328 with taskSuspend.
1329
1330 2009-07-22 Arnaud Charlet <charlet@adacore.com>
1331
1332 * adadecode.c: Make this file compilable outside of GCC.
1333
1334 2009-07-22 Thomas Quinot <quinot@adacore.com>
1335
1336 * g-socket.adb, g-socket.ads (Check_Selector): Make sure that
1337 (partially) default-initialized socket sets are handled properly by
1338 clearing their Set component.
1339
1340 2009-07-22 Bob Duff <duff@adacore.com>
1341
1342 * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
1343
1344 2009-07-22 Robert Dewar <dewar@adacore.com>
1345
1346 * gnat_ugn.texi: Minor reformatting
1347
1348 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1349
1350 * errout.adb (Error_Msg): A style message within an instantiation
1351 should not be labelled as an error.
1352
1353 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1354
1355 * freeze.adb (Freeze_Entity): Do not generate extra formal for function
1356 in initialization expression if function does not have convention Ada.
1357
1358 2009-07-22 Sergey Rybin <rybin@adacore.com>
1359
1360 * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
1361 '--separate-label' to control label layout.
1362
1363 2009-07-22 Robert Dewar <dewar@adacore.com>
1364
1365 * exp_tss.ads, sem_eval.adb: Minor reformatting
1366
1367 2009-07-22 Bob Duff <duff@adacore.com>
1368
1369 * exp_dist.adb, exp_dist.ads: Update comments.
1370
1371 2009-07-22 Brett Porter <porter@adacore.com>
1372
1373 * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
1374 FPSCR.
1375 * sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
1376
1377 2009-07-22 Gary Dismukes <dismukes@adacore.com>
1378
1379 * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
1380 exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
1381 Minor reformatting.
1382 * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
1383 used poor terminology.
1384
1385 2009-07-22 Robert Dewar <dewar@adacore.com>
1386
1387 * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
1388 * sem_eval.adb, exp_tss.adb: Minor comment update.
1389 * stylesw.adb: Code clean up.
1390
1391 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1392
1393 * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
1394 component size is an exact number of bytes, an array type can have a
1395 size clause that forces packing even though the array type itself is
1396 not bit-packed.
1397
1398 2009-07-22 Thomas Quinot <quinot@adacore.com>
1399
1400 * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
1401 if there is a previous entity with the same name in the scope, ignore
1402 it if it is the renaming declaration for a generic package introduced
1403 in instances.
1404
1405 2009-07-22 Nicolas Roche <roche@adacore.com>
1406
1407 * seh_init.c: use RtlAddFunctionTable to register our SEH exception
1408 handler on x86_64 windows.
1409
1410 2009-07-22 Arnaud Charlet <charlet@adacore.com>
1411
1412 * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
1413 false positives in CodePeer, so ignore this pragma in this mode.
1414
1415 2009-07-22 Thomas Quinot <quinot@adacore.com>
1416
1417 * sem_util.adb, sem_ch10.adb: Minor reformatting
1418
1419 * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
1420 special handling for the case of no data received and Item'First =
1421 Stream_Element_Offset'First.
1422 (Last_Index): New subprogram factoring the above special handling
1423 over the various locations where it is required.
1424
1425 2009-07-22 Arnaud Charlet <charlet@adacore.com>
1426
1427 * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
1428 checks in CodePeer_Mode.
1429 * gcc-interface/Make-lang.in: Update dependencies.
1430
1431 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1432
1433 * sem_aggr.adb: Improve error message.
1434
1435 * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
1436 of an address representation clause.
1437 * freeze.adb (Freeze_Static_Object): An local imported object is legal
1438 if it has an address clause.
1439
1440 2009-07-22 Thomas Quinot <quinot@adacore.com>
1441
1442 * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
1443 expression to insert an elab check using a conditional expression, be
1444 sure to carry the original list of interpretations to the new location.
1445
1446 2009-07-22 Gary Dismukes <dismukes@adacore.com>
1447
1448 * gnat1drv.adb: Fix spelling error.
1449
1450 2009-07-22 Javier Miranda <miranda@adacore.com>
1451
1452 * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram
1453 at the library level and fix a hidden bug in its implementation: its
1454 functionality for renaming objects was broken because
1455 N_Object_Renaming_Declarations nodes are not a subclass of
1456 N_Declaration nodes (as documented in sinfo.ads).
1457 * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
1458 check nodes that are actuals of generic instantiations.
1459
1460 2009-07-22 Ed Schonberg <schonberg@adacore.com>
1461
1462 * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the
1463 context of a compilation unit is being analyzed. Used to detect
1464 circularities created by with_clauses that are not detected by the
1465 loading machinery.
1466 * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
1467 analyzing the context of the current compilation unit, to detect
1468 possible circularities created by with_clauses.
1469
1470 2009-07-22 Thomas Quinot <quinot@adacore.com>
1471
1472 * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
1473
1474 2009-07-22 Robert Dewar <dewar@adacore.com>
1475
1476 * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
1477 * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
1478 procedure.
1479 * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch
1480 * gnat_ugn.texi: Add documentation of -gnatyB
1481 * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
1482
1483 2009-07-22 Robert Dewar <dewar@adacore.com>
1484
1485 * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
1486 make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
1487 s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
1488 s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
1489 errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
1490 a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
1491 s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
1492 a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
1493 erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
1494 obey short-circuit style rule.
1495
1496 2009-07-20 Bob Duff <duff@adacore.com>
1497
1498 * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
1499 instead of "and", because otherwise Parent_Last_Bit is read
1500 uninitialized in the case where it's not a tagged type, or the tagged
1501 parent does not have a complete rep clause.
1502
1503 2009-07-20 Robert Dewar <dewar@adacore.com>
1504
1505 * stylesw.ads: Minor documentation change.
1506
1507 * types.ads: Minor reformatting
1508
1509 2009-07-20 Javier Miranda <miranda@adacore.com>
1510
1511 * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of
1512 generating the tag checks associated with dispatching calls.
1513 * exp_disp.adb (Apply_Access_Checks): New subprogram.
1514 (New_Value): This routine was previously local to expand dispatching
1515 calls but it is now used also by Apply_Access_Checks.
1516 (Expand_Dispatching_Calls): Cleanup code because the functionality of
1517 tag checks is now provided by Apply_Access_Checks.
1518 * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
1519 case of dispatching calls.
1520
1521 2009-07-20 Arnaud Charlet <charlet@adacore.com>
1522
1523 * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
1524 CodePeer_Mode.
1525
1526 2009-07-20 Gary Dismukes <dismukes@adacore.com>
1527
1528 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
1529 for VMS, only rewrite the first component of the associated exception's
1530 aggregate init (as 'V'), and eliminate the bogus rewrites of the second
1531 and third components that were being replaced with 'M' and 'S'.
1532
1533 2009-07-20 Arnaud Charlet <charlet@adacore.com>
1534
1535 * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
1536 Also do not generate error when parsing a spec in CodePeer mode.
1537
1538 2009-07-20 Javier Miranda <miranda@adacore.com>
1539
1540 * checks.adb (Apply_Access_Check): Avoid checks on availability of
1541 runtime function Offset_To_Top_Ptr when compiling with no tagged
1542 types expansion.
1543 * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
1544 adding code to the init proc when compiling for VM backends.
1545
1546 2009-07-20 Vincent Celier <celier@adacore.com>
1547
1548 * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
1549 account switches -gnatw.?
1550
1551 2009-07-20 Thomas Quinot <quinot@adacore.com>
1552
1553 * sem_dist.adb, exp_dist.adb: Minor reformatting
1554
1555 * Make-generated.in: New file.
1556
1557 * gcc-interface/Make-lang.in: Use Make-generated.in fragment.
1558
1559 2009-07-20 Javier Miranda <miranda@adacore.com>
1560
1561 * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
1562 subprogram.
1563 * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
1564 dynamically tagged expression.
1565 * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
1566 factorizes code.
1567 * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
1568 * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
1569
1570 2009-07-20 Arnaud Charlet <charlet@adacore.com>
1571
1572 * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
1573 CodePeer_Mode is set, to benefit from full front-end expansion
1574 (e.g. generics).
1575
1576 2009-07-20 Ed Schonberg <schonberg@adacore.com>
1577
1578 * sem_res.adb: Add guard.
1579
1580 * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
1581 for possible attribute definition of External_Tag, in case clause
1582 appears in the private part of a package.
1583
1584 2009-07-20 Jerome Guitton <guitton@adacore.com>
1585
1586 * gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
1587
1588 2009-07-20 Vadim Godunko <godunko@adacore.com>
1589
1590 * a-coorma.adb: Minor reformatting.
1591
1592 2009-07-20 Ed Schonberg <schonberg@adacore.com>
1593
1594 * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
1595 access return types.
1596 * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
1597 provide an itype reference to gigi to force elaboration of the subtype
1598 at the proper point.
1599
1600 2009-07-20 Tristan Gingold <gingold@adacore.com>
1601
1602 * g-expect.adb: Avoid closeing already closed handle.
1603
1604 2009-07-20 Robert Dewar <dewar@adacore.com>
1605
1606 * sprint.adb (Write_Subprogram_Name): New procedure to output
1607 subprogram name with possible preceding $ (replaces
1608 Note_Implicit_Run_Time_Call).
1609
1610 2009-07-20 Robert Dewar <dewar@adacore.com>
1611
1612 * vms_data.ads: Minor reformatting
1613
1614 * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
1615 applies to base type.
1616 (Parent_Subtype): Now allowed on record subtype, applies to base type
1617 * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
1618 for case of fully repped tagged type.
1619 (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
1620 tag save/restore for fully repped tagged type case.
1621 * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
1622 * fe.h (Is_Fully_Repped_Tagged_Type): New function
1623 * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
1624 overlap of tagged type components with parent type if parent type is
1625 fully repped.
1626 * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
1627
1628 * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
1629 comparisons.
1630 (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
1631 (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
1632
1633 * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
1634 logical operators (AND/OR/XOR), not comparison operators.
1635
1636 * sprint.ads: Minor reformatting
1637
1638 2009-07-20 Ed Schonberg <schonberg@adacore.com>
1639
1640 * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
1641 intrinsics, check that argument is a string literal, rather than
1642 checking for staticness.
1643
1644 2009-07-20 Robert Dewar <dewar@adacore.com>
1645
1646 * sem_ch13.adb: Minor reformatting
1647
1648 * einfo.ads: Minor reformatting
1649 Component_Bit_Offset is no longer considered obsolescent
1650
1651 2009-07-20 Nicolas Roche <roche@adacore.com>
1652
1653 * a-calend.adb: Redefine time_t as signed integer with same size as
1654 Address type.
1655 * s-os_lib.ads: Redefine OS_Time as signed integer with same size as
1656 Address type
1657 * adaint.h: On Windows 64bits declare OS_Time as long long instead of
1658 long
1659
1660 2009-07-20 Javier Miranda <miranda@adacore.com>
1661
1662 * exp_tss.adb (Init_Proc): Add missing support for non-default C++
1663 constructors that have anonymous access type formals.
1664
1665 * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
1666 class-wide arguments in case of imported C++ subprograms.
1667
1668 * exp_ch3.adb (Build_Initialization_Call): Add assertion.
1669
1670 2009-07-20 Sergey Rybin <rybin@adacore.com>
1671
1672 * vms_data.ads: Update qualifiers.
1673
1674 2009-07-20 Robert Dewar <dewar@adacore.com>
1675
1676 * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
1677 reformatting
1678
1679 2009-07-17 Richard Guenther <rguenther@suse.de>
1680
1681 PR c/40401
1682 * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
1683 state. Remove unused parameter.
1684 (gnat_gimplify_function): Do not gimplify here.
1685 Fold into its only caller and remove.
1686 (gnat_builtin_function): Adjust for end_subprog_body signature change.
1687 (gnat_write_global_declarations): Also finalize the CU.
1688 * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
1689 * gcc-interface/trans.c (gigi): Revert to pre-tuples state.
1690 (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
1691 change.
1692 * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
1693
1694 2009-07-15 Arnaud Charlet <charlet@adacore.com>
1695
1696 * gcc-interface/Make-lang.in: Update dependencies
1697
1698 * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
1699
1700 2009-07-15 Robert Dewar <dewar@adacore.com>
1701
1702 * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
1703 N_Label. Remove SCO table entry for entry point (not used).
1704
1705 * par_sco.ads: Remove SCO entry point type (not used)
1706
1707 * switch.adb: Minor code clean up.
1708
1709 2009-07-15 Eric Botcazou <ebotcazou@adacore.com>
1710
1711 * exp_dbug.ads (Base Record Types): Document enhanced encoding.
1712
1713 2009-07-15 Thomas Quinot <quinot@adacore.com>
1714
1715 * gnatls.adb: Minor reformatting
1716
1717 * gnatcmd.adb: Minor code reorganization
1718
1719 2009-07-15 Ed Schonberg <schonberg@adacore.com>
1720
1721 * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
1722 determine whether a component of a private type has a composite type.
1723
1724 2009-07-15 Robert Dewar <dewar@adacore.com>
1725
1726 * sem_ch10.adb: Minor reformatting throughout
1727 Minor code reorganization (put nested subprograms in alpha order)
1728
1729 2009-07-15 Ed Schonberg <schonberg@adacore.com>
1730
1731 * exp_ch6.adb (Expand_Call): Prevent double attachment of the result
1732 when compiling a call to a protected function that returns a controlled
1733 object.
1734
1735 2009-07-15 Hristian Kirtchev <kirtchev@adacore.com>
1736
1737 * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
1738 one. Add task locking and unlocking around the critical region which
1739 mentions localtime_r and global variable timezone for various targets.
1740 Comment reformatting.
1741
1742 2009-07-15 Robert Dewar <dewar@adacore.com>
1743
1744 * gnat_rm.texi: Document s-ststop.ads
1745
1746 * impunit.ad: (Map_Array): New table of alternative names
1747 (Get_Kind_Of_Unit): Return possible suggested alternative name
1748
1749 * impunit.ads (Get_Kind_Of_Unit): Return possible suggested
1750 alternative name.
1751
1752 * sem_ch10.adb (Analalyze_With_Clause): Add name of possible
1753 alternative unit if an implementation unit is with'ed.
1754
1755 2009-07-15 Robert Dewar <dewar@adacore.com>
1756
1757 * gnat_ugn.texi: Minor updates.
1758
1759 * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
1760
1761 2009-07-15 Ed Schonberg <schonberg@adacore.com>
1762
1763 * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
1764 conditions of a derived boolean type.
1765 Minor reformatting
1766
1767 2009-07-15 Robert Dewar <dewar@adacore.com>
1768
1769 * gnat1drv.adb: Initialize SCO tables
1770
1771 * par-load.adb: Call SCO_Record for main unit spec
1772
1773 * par.adb: Make call to SCO_Record for main unit
1774
1775 * par_sco.adb (Unit_Table): Change format to facilitate sort
1776 (Process_Decisions): New procedure with list argument
1777 (Traverse_Generic_Package_Declaration): New procedure
1778 (Initialize): New procedure, replaces Init
1779 (SCO_Output): Sort unit table before output
1780 (SCO_Record): Avoid duplications
1781 (SCO_Record): Handle remaining cases of units
1782 (Traverse_Declarations_Or_Statements): Handle generics
1783
1784 * par_sco.ads (Initialize): New peocedure (replaces Init)
1785
1786 * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
1787 subunit.
1788
1789 2009-07-15 Arnaud Charlet <charlet@adacore.com>
1790
1791 * debug.adb: Add -gnatd.J switch for now to support scil generation in
1792 parallel. Add missing doc for -gnatd.I and -gnatd.O
1793
1794 2009-07-15 Robert Dewar <dewar@adacore.com>
1795
1796 * lib-load.adb: Minor reformatting
1797
1798 * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
1799
1800 2009-07-15 Robert Dewar <dewar@adacore.com>
1801
1802 * par.adb: Minor reformatting
1803 Add ??? comment for possible bad comment
1804
1805 * par-ch10.adb: Minor reformatting
1806
1807 2009-07-15 Ed Schonberg <schonberg@adacore.com>
1808
1809 * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
1810 is a literal of a derived boolean type, it appears as an unchecked
1811 conversion. Retrieve actual value from expression of conversion.
1812
1813 2009-07-15 Robert Dewar <dewar@adacore.com>
1814
1815 * sem_ch3.adb: Minor reformatting
1816
1817 * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
1818 lib-writ.ads, lib-writ.adb: Minor reformatting.
1819 Fix problem with SCO format in ALI files
1820
1821 2009-07-15 Robert Dewar <dewar@adacore.com>
1822
1823 * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
1824 exp_aggr.adb: Minor code reorganization (better calling sequence for
1825 Make_Temporary).
1826
1827 2009-07-15 Thomas Quinot <quinot@adacore.com>
1828
1829 * opt.ads: Minor comment edits
1830
1831 2009-07-15 Tristan Gingold <gingold@adacore.com>
1832
1833 * gcc-interface/Makefile.in: Special rule for seh_init.o no longer
1834 needed.
1835
1836 2009-07-15 Robert Dewar <dewar@adacore.com>
1837
1838 * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
1839 information.
1840
1841 * lib-writ.ads: Document addition of SCO lines to ALI file
1842
1843 * par_sco.ads, par_sco.adb: New files.
1844
1845 * opt.ads (Generate_SCO): New switch
1846
1847 * par.adb (Par): Call SCO_Record to record SCO information
1848
1849 * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
1850
1851 * switch-c.adb: Recognize -gnateS to generate SCO information
1852
1853 * usage.adb: Add line for -gnateS
1854
1855 * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
1856
1857 2009-07-15 Robert Dewar <dewar@adacore.com>
1858
1859 * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
1860 reformatting.
1861
1862 2009-07-15 Thomas Quinot <quinot@adacore.com>
1863
1864 * g-socthi-mingw.adb: Minor comment addition
1865
1866 * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
1867
1868 2009-07-15 Robert Dewar <dewar@adacore.com>
1869
1870 * g-htable.ads, s-htable.ads: Minor reformatting
1871
1872 2009-07-15 Robert Dewar <dewar@adacore.com>
1873
1874 * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
1875 new switch -gnatw.g.
1876 (Set_GNAT_Mode_Warnings): New procedure.
1877
1878 * lib-xref.adb: Minor reformatting
1879
1880 2009-07-15 Robert Dewar <dewar@adacore.com>
1881
1882 * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
1883 Minor code reorganization
1884
1885 2009-07-14 Taras Glek <tglek@mozilla.com>
1886 Rafael Espindola <espindola@google.com>
1887
1888 * gcc-interface/Make-lang.in (ada.install-plugin): New target for
1889 installing plugin headers.
1890
1891 2009-07-13 Ed Schonberg <schonberg@adacore.com>
1892
1893 * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
1894 exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
1895 and link it to the expression whose value it captures.
1896
1897 2009-07-13 Robert Dewar <dewar@adacore.com>
1898
1899 * output.adb: Minor comment addition for last change
1900
1901 * sinfo.ads: Minor reformatting
1902
1903 2009-07-13 Vasiliy Fofanov <fofanov@adacore.com>
1904
1905 * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
1906 spawn failed like on all other targets.
1907
1908 2009-07-13 Ed Schonberg <schonberg@adacore.com>
1909
1910 * exp_ch7.adb: Indicate origin of temporary for transient expression.
1911
1912 2009-07-13 Thomas Quinot <quinot@adacore.com>
1913
1914 * s-oscons-tmplt.c: Add comment.
1915
1916 2009-07-13 Robert Dewar <dewar@adacore.com>
1917
1918 * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
1919 reformatting. Minor code reorganization (add 9 argument version of
1920 Nkind_In).
1921
1922 * impunit.adb: Remove s-os_lib from list of system extensions.
1923
1924 * sem_util.ads: Minor reformatting
1925
1926 * output.adb: Add warnings off/on around System.OS_Lib.
1927
1928 2009-07-13 Bob Duff <duff@adacore.com>
1929
1930 * exp_dist.adb: Minor comment updates.
1931
1932 2009-07-13 Gary Dismukes <dismukes@adacore.com>
1933
1934 * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
1935 several references to CodePeer.
1936
1937 2009-07-13 Bob Duff <duff@adacore.com>
1938
1939 * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
1940 Build_TypeCode_Function_All): Do not recurse if the type is the base
1941 type.
1942
1943 2009-07-13 Robert Dewar <dewar@adacore.com>
1944
1945 * exp_ch4.adb: Minor comment change
1946
1947 2009-07-13 Ed Schonberg <schonberg@adacore.com>
1948
1949 * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
1950 type of iteration, to prevent spurious warnings.
1951
1952 2009-07-13 Nicolas Roche <roche@adacore.com>
1953
1954 * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
1955 included.
1956
1957 2009-07-13 Arnaud Charlet <charlet@adacore.com>
1958
1959 * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
1960 gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
1961 Generate_SCIL.
1962 (CodePeer_Mode): New -gnatC switch.
1963 (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
1964 CodePeer_Mode.
1965
1966 2009-07-13 Eric Botcazou <ebotcazou@adacore.com>
1967
1968 * checks.adb (Selected_Range_Checks): Do not consider that a non-static
1969 integer bound forces the check if it is compared to its subtype range.
1970
1971 2009-07-13 Robert Dewar <dewar@adacore.com>
1972
1973 * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
1974 prj-strt.ads: Minor reformatting
1975
1976 2009-07-13 Thomas Quinot <quinot@adacore.com>
1977
1978 * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
1979 set the type of the From_Any call to the base type.
1980
1981 2009-07-13 Doug Rupp <rupp@adacore.com>
1982
1983 * symbols-processing-vms-ia64.adb (Process): Add variables and
1984 constants to retrieve and check for symbol visibility.
1985
1986 2009-07-13 Javier Miranda <miranda@adacore.com>
1987
1988 * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
1989 the identical type we remove the conversion completely because
1990 it is useless.
1991
1992 2009-07-13 Emmanuel Briot <briot@adacore.com>
1993
1994 * prj-err.adb (Error_Msg): One more case where a message should be
1995 considered as a warning.
1996
1997 * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
1998
1999 2009-07-13 Thomas Quinot <quinot@adacore.com>
2000
2001 * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
2002 calling stubs in the (library level) scope of the RCI locator, where it
2003 is attached, not in the caller's scope.
2004
2005 2009-07-13 Javier Miranda <miranda@adacore.com>
2006
2007 * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
2008 interface object declarations we delay the generation of the equivalent
2009 record type declarations until its expansion because there are cases in
2010 which they are not required.
2011
2012 * sem_util.adb (Implements_Interface): Add missing support for subtypes.
2013
2014 * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
2015 addition of assertion.
2016
2017 * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
2018 interface types require no equivalent constrained type declarations
2019 because the expanded code only references the tag component associated
2020 with the interface.
2021 (Find_Interface_Tag): Improve management of interfaces that are
2022 ancestors of tagged types.
2023
2024 * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
2025 class-wide object declarations to add missing support to statically
2026 displace the pointer to the object to reference the tag component
2027 associated with the interface.
2028
2029 * exp_disp.adb (Make_Tags) Avoid generation of internally generated
2030 auxiliary types associated with user-defined dispatching calls if the
2031 type has no user-defined primitives.
2032
2033 2009-07-13 Vasiliy Fofanov <fofanov@adacore.com>
2034
2035 * mingw32.h: Make it explicit that we need XP or later.
2036
2037 * initialize.c: Remove useless extern symbol declaration.
2038
2039 * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
2040 code reuse in expect.c.
2041
2042 * adaint.c: Changes throughout the Windows section to redesign storage
2043 of the child process list and the process identification.
2044
2045 * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
2046 for interfacing, fix errors.
2047 (__gnat_expect_portable_execvp): use function in adaint.c
2048
2049 2009-07-13 Emmanuel Briot <briot@adacore.com>
2050
2051 * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
2052 prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
2053 prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
2054 errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
2055 (Prj.Nmsc.Report_Error): Removed, no longer needed.
2056 Always use Prj.Err.Report_Message.
2057
2058 2009-07-13 Robert Dewar <dewar@adacore.com>
2059
2060 * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
2061 & comment edits.
2062
2063 2009-07-13 Robert Dewar <dewar@adacore.com>
2064
2065 * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
2066 prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
2067
2068 2009-07-13 Emmanuel Briot <briot@adacore.com>
2069
2070 * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
2071 mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
2072 Ada_Prj_Include_File_Set): Removed, since not needed
2073 Code clean up.
2074
2075 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2076
2077 * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
2078 Analyze_Membership_Op.
2079
2080 * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
2081 Resolve_Membership_Op.
2082
2083 * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
2084 Expand_N_In.
2085
2086 2009-07-13 Robert Dewar <dewar@adacore.com>
2087
2088 * clean.adb: Minor reformattting
2089
2090 2009-07-13 Emmanuel Briot <briot@adacore.com>
2091
2092 * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
2093 gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
2094 prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
2095 prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
2096 and attributes in a project tree.
2097 (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
2098 Remove last remaining mode-specific code (ada_only or
2099 multi_language). This was duplicating code
2100 (Get_Mode, Set_Mode): removed, no longer used.
2101 (Initialize_Project_Path): all tools will now take into account both
2102 GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
2103 Remove some global variables and subprograms no longer used
2104 Make temporary files tree-specific, to avoid interferences between
2105 trees loaded in memory at the same time.
2106 (Prj.Delete_Temporary_File): new subprogram
2107 (Object_Paths, Source_Paths): fields no longer stored in the project
2108 tree, since they are only needed locally in Set_Ada_Paths.
2109 (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
2110 effect in practice.
2111 (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
2112 by local variables in the appropriate subprograms
2113 (Has_Foreign_Sources): removed.
2114
2115 * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
2116
2117 2009-07-13 Arnaud Charlet <charlet@adacore.com>
2118
2119 * gnat1drv.adb (Adjust_Global_Switches): No longer set
2120 Back_Annotate_Rep_Info in inspector mode.
2121 (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
2122
2123 * opt.ads: Update comment.
2124
2125 2009-07-13 Robert Dewar <dewar@adacore.com>
2126
2127 * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
2128 prj.ads: Minor reformatting and code reorganization.
2129
2130 * par-ch3.adb (Check_Restricted_Expression): New procedure
2131
2132 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2133
2134 * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
2135 attribute into a call of the corresponding suprogram, create extra
2136 formals for the subprogram, because it may be a renaming whose
2137 analysis does not create extra formals.
2138
2139 2009-07-13 Emmanuel Briot <briot@adacore.com>
2140
2141 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
2142 prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
2143 prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
2144 prj-tree.ads: Minor reformatting.
2145 (Processing_Flags): new record to encapsulate the set of common
2146 parameters to several subprograms in the project manager.
2147 (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
2148 Remove the need for the Current_Dir parameter in subprograms.
2149 (Look_For_Sources): minor refactoring, now that we no longer need to
2150 share subprograms between the two Ada_Only and Multi_Language modes
2151 (Processing_Flags): New field Error_On_Unknown_Language.
2152 Merge tests for library project between gnatmake and gprbuild.
2153
2154 2009-07-13 Arnaud Charlet <charlet@adacore.com>
2155
2156 * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
2157 Minor reformatting.
2158
2159 2009-07-13 Emmanuel Briot <briot@adacore.com>
2160
2161 * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
2162 than units.
2163
2164 2009-07-13 Thomas Quinot <quinot@adacore.com>
2165
2166 * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
2167 Write,Input,Output} from private view to full view.
2168
2169 * sem_type.adb, sem_type.ads: Minor reformatting
2170
2171 2009-07-13 Nicolas Setton <setton@adacore.com>
2172
2173 * exp_dbug.ads: Add documentation note on the utility of
2174 DW_AT_GNAT_encoding for IDEs.
2175
2176 2009-07-13 Robert Dewar <dewar@adacore.com>
2177
2178 * g-socthi-vxworks.adb: Minor reformatting
2179
2180 * gnatcmd.adb: Minor reformatting
2181
2182 2009-07-13 Thomas Quinot <quinot@adacore.com>
2183
2184 * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
2185 removed, not used anymore.
2186 (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
2187 New subprogram, implements copy of an Any value into a limited object.
2188 (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
2189 Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
2190 Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
2191 of parameters of a limited type, use the above new subprogram.
2192
2193 2009-07-13 Emmanuel Briot <briot@adacore.com>
2194
2195 * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
2196 Location.
2197 (Copy_ALI_Files): Avoid calls to read when pointing outside of the
2198 allocated space.
2199 (Error_Report): Remove global variable, replaced by parameters.
2200
2201 2009-07-13 Thomas Quinot <quinot@adacore.com>
2202
2203 * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
2204 standard sendto(2) interface for connected sockets (passing a null
2205 destination address). Use send(2) instead for that case.
2206
2207 2009-07-13 Pascal Obry <obry@adacore.com>
2208
2209 * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
2210
2211 2009-07-13 Emmanuel Briot <briot@adacore.com>
2212
2213 * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
2214 prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
2215 variables and tables in prj-nmsc.adb.
2216 (Tree_Processing_Data): Renames Processing_Data, some new fields added
2217 (Project_Processing_Data): New record
2218 Simplify/unify check for missing sources.
2219
2220 2009-07-13 Emmanuel Briot <briot@adacore.com>
2221
2222 * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
2223 prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
2224 prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
2225 prj-tree.ads (Immediate_Directory_Of): Removed.
2226 (Prj.Pars): Now parse the project simulating a default config file.
2227 (Add_Default_GNAT_Naming_Scheme): New subprogram
2228 (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
2229 Remove gnatmake-specific parsing of source files.
2230 (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
2231 the error itself to provide more precise diagnostics.
2232 (Process_Exceptions_Unit_Based): Avoid duplicate error message when
2233 a unit belongs to several projects.
2234 (Copy_Interface_Sources): Search the full path of files to copy in the
2235 list of sources of the application rather than in the list of units.
2236 (Parse_Project_And_Apply_Config): Do not reset the name of the main
2237 project file.
2238 (Check_File): Use htables to find out whether a source is duplicated.
2239 (Add_Source): check whether the source or unit were already seen earlier
2240
2241 * gcc-interface/Makefile.in: Update gnatmake dependencies.
2242
2243 2009-07-13 Robert Dewar <dewar@adacore.com>
2244
2245 * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
2246 expression if extensions permitted.
2247
2248 * par-ch4.adb (P_Membership_Test): New procedure (implement membership
2249 set tests).
2250 (P_Relation): Use P_Membership_Test
2251
2252 * par.adb (P_Membership_Test): New procedure (implement membership set
2253 tests).
2254
2255 * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
2256
2257 * sprint.adb (Sprint_Node): Handle set form for membership tests.
2258
2259 2009-07-13 Thomas Quinot <quinot@adacore.com>
2260
2261 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
2262 Do not attempt to generate stubs for predefined primitives of
2263 synchronized interfaces.
2264 (Add_Stub_Type): Factor some code from the PCS-specific variants of
2265 Build_Stub_Type.
2266
2267 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2268
2269 * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
2270 Controlling_Result flag from the operation they override.
2271
2272 2009-07-13 Arnaud Charlet <charlet@adacore.com>
2273
2274 * gcc-interface/Make-lang.in: Update dependencies
2275
2276 2009-07-13 Robert Dewar <dewar@adacore.com>
2277
2278 * gnat_ugn.texi: The gnatf switch no longer is needed to get full
2279 details on unsupported constructs.
2280
2281 * rtsfind.adb: Remove references to All_Errors_Mode, give errors
2282 unconditionally.
2283
2284 * s-trafor-default.adb: Correct some warnings
2285
2286 * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
2287 sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
2288 Minor reformatting.
2289
2290 * par-ch4.adb (Conditional_Expression): Capture proper location for
2291 conditional expression, should point to IF.
2292
2293 * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
2294 s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
2295 g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
2296 reorganization (use conditional expressions).
2297
2298 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2299
2300 * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
2301 build-in-place function that returns an inherently limited type (not
2302 just a task type) create proper object declaration so that extra
2303 build-in-place actuals are properly added to the call.
2304
2305 2009-07-13 Robert Dewar <dewar@adacore.com>
2306
2307 * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
2308
2309 * gnat_ugn.texi: Add documentation for -gnatw.m/.M
2310
2311 * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
2312
2313 * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
2314 Warn_On_Suspicious_Modulus_Value.
2315
2316 * ug_words: Add entries for -gnatw.m/-gnatw.M.
2317
2318 * usage.adb: Add lines for -gnatw.m/.M switches.
2319
2320 * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
2321
2322 2009-07-13 Javier Miranda <miranda@adacore.com>
2323
2324 * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
2325 reading the Is_Interface attribute of the dispatching type.
2326
2327 2009-07-13 Robert Dewar <dewar@adacore.com>
2328
2329 * a-convec.adb: Minor code reorganization (use conditional expressions)
2330
2331 2009-07-13 Robert Dewar <dewar@adacore.com>
2332
2333 * freeze.adb (Check_Suspicious_Modulus): New procedure.
2334
2335 2009-07-13 Robert Dewar <dewar@adacore.com>
2336
2337 * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
2338 warning).
2339
2340 * par-ch4.adb: Minor reformatting
2341
2342 2009-07-13 Ed Schonberg <schonberg@adacore.com>
2343
2344 * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
2345 => Is_Atomic_Aggregate
2346
2347 2009-07-13 Emmanuel Briot <briot@adacore.com>
2348
2349 * prj-nmsc.adb: Avoid traversing the list of source files if
2350 we have already processed all locally removed files.
2351
2352 2009-07-13 Jose Ruiz <ruiz@adacore.com>
2353
2354 * gnat_ugn.texi: Fix typo.
2355
2356 2009-07-13 Robert Dewar <dewar@adacore.com>
2357
2358 * freeze.adb: Minor reformatting
2359 Minor code reorganization (use Nkind_In)
2360
2361 * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
2362
2363 2009-07-11 Eric Botcazou <ebotcazou@adacore.com>
2364
2365 * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
2366 local variable and do not test it in Compile_Time_Bad_Alignment.
2367 Do not issue size or alignment warnings for the X'Address form.
2368 * sem_util.ads (Find_Overlaid_Object): Delete.
2369 (Find_Overlaid_Entity): New procedure.
2370 * sem_util.adb (Find_Overlaid_Object): Rename to...
2371 (Find_Overlaid_Entity): ...this and turn into a procedure. Report
2372 whether the address is offseted within the overlaid entity.
2373 (Has_Compatible_Alignment): Track the offset globally instead of
2374 passing it to Check_Offset. For an indexed component, compute the
2375 full offset when possible. If the resulting offset is zero, only
2376 check the prefix.
2377 (Check_Offset): Delete.
2378 * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
2379 (Address_Aliased_Entity): Delete.
2380 (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
2381 Find_Overlaid_Entity to find the overlaid entity and the offset.
2382 Adjust throughout for above change.
2383 (Validate_Address_Clauses): Always use attributes of entities, not of
2384 their type. Tweak message for warning. Call Has_Compatible_Alignment
2385 if the address is offseted to warn about incompatible alignments.
2386 * gcc-interface/gigi.h (annotate_object): Declare.
2387 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
2388 entity. Call annotate_object instead of annotating manually objects.
2389 (annotate_object): New function.
2390 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
2391 at the end.
2392
2393 2009-07-11 Eric Botcazou <ebotcazou@adacore.com>
2394
2395 * gcc-interface/ada-tree.h: Minor reorganization.
2396 * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
2397 (gnat_print_type): Likewise.
2398
2399 2009-07-11 Thomas Quinot <quinot@adacore.com>
2400
2401 * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
2402 Lvalue -> lvalue
2403
2404 * exp_ch6.adb: Minor reformatting
2405
2406 2009-07-11 Ed Schonberg <schonberg@adacore.com>
2407
2408 * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
2409 account possible type qualification to determine whether aggregate
2410 needs a target temporary to respect atomic type or object.
2411
2412 * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
2413 Expand_Atomic_Aggregate.
2414
2415 2009-07-11 Emmanuel Briot <briot@adacore.com>
2416
2417 * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
2418 algorithm.
2419 (Excluded_Sources_Htable): No longer a global table.
2420 Change error message to indicate which files are illegal in the list
2421 of excluded files, as opposed to only the location in the project
2422 file.
2423 (Find_Source): New subprogram.
2424
2425 2009-07-10 Thomas Quinot <quinot@adacore.com>
2426
2427 * exp_ch7.adb: Update comments.
2428
2429 2009-07-10 Arnaud Charlet <charlet@adacore.com>
2430
2431 * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
2432 clause if -gnatI is set instead of crashing.
2433
2434 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2435
2436 * sem_ch11.adb (Same_Expression): Null is always equal to itself.
2437 Additional work to remove redundant successive raise statements, in
2438 this case access checks.
2439
2440 2009-07-10 Vincent Celier <celier@adacore.com>
2441
2442 * make.adb (Compile): Always create a deep copy of the mapping file
2443 argument (-gnatem=...) as it may be deallocate/reallocate by
2444 Normalize_Arguments.
2445
2446 2009-07-10 Javier Miranda <miranda@adacore.com>
2447
2448 * einfo.adb (Directly_Designated_Type): Add assertion.
2449
2450 * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
2451 access types before using attribute Directly_Designated_Type.
2452
2453 2009-07-10 Emmanuel Briot <briot@adacore.com>
2454
2455 * prj.ads: Minor typo fix
2456
2457 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2458
2459 * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
2460 special treatment.
2461
2462 * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
2463 subprogram is a function call, resolve properly, to ensure that extra
2464 actuals are added as needed.
2465
2466 2009-07-10 Thomas Quinot <quinot@adacore.com>
2467
2468 * sem_aggr.adb: Minor comments editing
2469
2470 * exp_tss.adb, exp_ch3.adb: Minor reformatting
2471
2472 2009-07-10 Robert Dewar <dewar@adacore.com>
2473
2474 * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
2475
2476 * exp_ch4.adb: Add ??? comment for conditional expressions on limited
2477 types.
2478
2479 * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
2480 replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
2481 case of conditional expressions that may not be elaborated.
2482
2483 * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
2484 conditional expression where we may not execute then then or else
2485 branches.
2486
2487 2009-07-10 Arnaud Charlet <charlet@adacore.com>
2488
2489 * i-cexten.ads (bool): New type.
2490
2491 2009-07-10 Robert Dewar <dewar@adacore.com>
2492
2493 * sinfo.ads (N_Short_Circuit): New definition
2494
2495 * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
2496 treepr.adb: Minor code reorganization (use N_Short_Circuit)
2497
2498 2009-07-10 Javier Miranda <miranda@adacore.com>
2499
2500 * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
2501 non-tagged record types.
2502
2503 * sem_prag.adb
2504 (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
2505 with non-tagged types. Required to import C++ classes that have no
2506 virtual primitives.
2507 (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
2508 returning non-tagged types. For backward compatibility, if the
2509 constructor returns a class wide type we internally change the
2510 returned type to the corresponding non class-wide type.
2511
2512 * sem_aggr.adb
2513 (Valid_Ancestor_Type): CPP_Constructors code cleanup.
2514 (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
2515 (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
2516 (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
2517
2518 * sem_ch3.adb
2519 (Analyze_Object_Declaration): CPP_Constructors code cleanup.
2520
2521 * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
2522
2523 * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
2524
2525 * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
2526
2527 * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
2528 cleanup.
2529
2530 * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
2531
2532 * gnat_rm.texi
2533 (pragma CPP_Class): Document that it can be used now with non-tagged
2534 record types.
2535 (pragma CPP_Constructor): Document that it can be used now with
2536 functions returning specific types. For backward compatibility
2537 we also support functions returning class-wide types.
2538
2539 * gnat_ugn.texi
2540 (Interfacing with C++ constructors): Update the examples to incorporate
2541 the new syntax in which the functions used to import C++ constructors
2542 return specific types.
2543 (Interfacing with C++ at the Class Level): Update the examples to
2544 incorporate the new syntax in which the functions used to import
2545 C++ constructors return specific types.
2546
2547 2009-07-10 Thomas Quinot <quinot@adacore.com>
2548
2549 * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
2550 Make_Disp_Conditional_Select_Body,
2551 Make_Disp_Timed_Select_Body): For the case of a type that is neither an
2552 interface nor a concurrent type, the primitive body is empty. Generate
2553 a null statement so that it remains well formed.
2554
2555 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2556
2557 * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
2558 replace references to them in defaulted component expressions with
2559 references to the values of the discriminants of the target object.
2560
2561 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2562
2563 * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
2564 pragma, to capture global references if the context is generic.
2565
2566 * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
2567 appears within the initialization procedure for the corresponding
2568 record, replace it with the proper discriminal.
2569
2570 2009-07-10 Vincent Celier <celier@adacore.com>
2571
2572 * make.adb: Do not include object directories or library ALI
2573 directories of library projects in the object path.
2574
2575 2009-07-10 Javier Miranda <miranda@adacore.com>
2576
2577 * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
2578 Typ argument to ensure proper management of access types.
2579
2580 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2581
2582 * exp_ch7.adb (Build_Final_List): If the list is being built for a
2583 Taft-Amendment type, place the finalization list in the package body,
2584 to ensure that the tree for the spec is identical whenever it is
2585 compiled.
2586
2587 2009-07-10 Javier Miranda <miranda@adacore.com>
2588
2589 * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
2590 inheriting attributes from a private Parent_Base.
2591
2592 2009-07-10 Ed Schonberg <schonberg@adacore.com>
2593
2594 * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
2595 statements with the same condition.
2596
2597 2009-07-10 Robert Dewar <dewar@adacore.com>
2598
2599 * exp_ch4.adb (Raise_Accessibility_Error): New procedure
2600
2601 2009-07-09 Tom Tromey <tromey@redhat.com>
2602
2603 * raise-gcc.c: Include dwarf2h (unconditionally).
2604
2605 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2606
2607 * sem_ch10.adb (Install_Context): If the unit is a package body,
2608 install the private with_clauses of the corresponding package
2609 declaration.
2610
2611 2009-07-09 Robert Dewar <dewar@adacore.com>
2612
2613 * checks.adb: Minor reformatting
2614
2615 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
2616
2617 * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
2618 into ug_words.
2619
2620 2009-07-09 Thomas Quinot <quinot@adacore.com>
2621
2622 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
2623 Do not warn for a constant overlaying any constant object
2624
2625 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2626
2627 * sem_ch10.adb (Install_Context): If the unit is a package body,
2628 install the private with_clauses of the corresponding package
2629 declaration.
2630
2631 2009-07-09 Robert Dewar <dewar@adacore.com>
2632
2633 * checks.adb: Minor reformatting
2634
2635 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
2636
2637 * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
2638 into ug_words.
2639
2640 2009-07-09 Thomas Quinot <quinot@adacore.com>
2641
2642 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
2643 Do not warn for a constant overlaying any constant object
2644
2645 2009-07-09 Arnaud Charlet <charlet@adacore.com>
2646
2647 * gcc-interface/Make-lang.in: Update dependencies
2648
2649 2009-07-09 Thomas Quinot <quinot@adacore.com>
2650
2651 * g-socket.adb (Check_Selector): Do not create local copies of the
2652 socket sets on the stack.
2653
2654 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
2655
2656 * gnat_ugn.texi: Add missing VMS translations.
2657
2658 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2659
2660 * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
2661 condition, to prevent generation of visible code during expansion,
2662 when Check is not enabled.
2663
2664 2009-07-09 Gary Dismukes <dismukes@adacore.com>
2665
2666 * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
2667 the check gets registered for any available local handler
2668 (Set_Local_Raise).
2669
2670 * sem_util.adb: Add with and use of Exp_Ch11.
2671 (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
2672 that the check gets registered for any available local handler.
2673
2674 * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
2675 on slice ranges.
2676
2677 2009-07-09 Steve Baird <baird@adacore.com>
2678
2679 * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
2680 function.
2681 (Expand_N_Exception_Declaration): Fix handling of exceptions
2682 declared in a subprogram.
2683
2684 2009-07-09 Emmanuel Briot <briot@adacore.com>
2685
2686 * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
2687 multi-unit files.
2688
2689 2009-07-09 Thomas Quinot <quinot@adacore.com>
2690
2691 * freeze.adb: Minor reformatting
2692
2693 * exp_ch3.adb: Minor comment fix.
2694
2695 * sinfo.ads: Minor comment fix
2696
2697 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2698
2699 * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
2700
2701 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2702
2703 * freeze.adb (Freeze_Expression): If the expression is the name of a
2704 function in a call, and the function has not been frozen yet, create
2705 extra formals for it to ensure that the proper actuals are created
2706 when expanding the call.
2707
2708 2009-07-09 Emmanuel Briot <briot@adacore.com>
2709
2710 * prj-pp.adb (Print): Fix handling of source index when set on a
2711 declaration node.
2712
2713 2009-07-09 Ed Schonberg <schonberg@adacore.com>
2714
2715 * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
2716 a temporary to the source expression whose value it captures.
2717
2718 * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
2719
2720 2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2721
2722 * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
2723 EXPR_LOCATION.
2724
2725 2009-07-07 Gary Dismukes <dismukes@adacore.com>
2726
2727 * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
2728 parameters when the subtype of the actual is not known to be a subrange
2729 of the formal's subtype.
2730 (Expand_Call): Generate a range check only in the E_In_parameter case
2731 (in out parameter range checks are now handled in Expand_Actuals).
2732
2733 * exp_ch4.adb (Expand_N_Slice): Restore code that calls
2734 Enable_Range_Check.
2735
2736 2009-07-07 Robert Dewar <dewar@adacore.com>
2737
2738 * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
2739
2740 2009-07-07 Javier Miranda <miranda@adacore.com>
2741
2742 * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
2743 designated type comes from a limited views.
2744
2745 2009-07-07 Emmanuel Briot <briot@adacore.com>
2746
2747 * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
2748 locally removed files that are later made visible again in an importing
2749 project.
2750
2751 2009-07-07 Robert Dewar <dewar@adacore.com>
2752
2753 * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
2754
2755 2009-07-07 Sergey Rybin <rybin@adacore.com>
2756
2757 * gnat_ugn.texi: Add an example to the description of gnatcheck
2758 'Style_Checks' rule option.
2759
2760 2009-07-07 Tristan Gingold <gingold@adacore.com>
2761
2762 * seh_init.c: Fix inline assembly statement in seh_init.c
2763
2764 2009-07-07 Ed Schonberg <schonberg@adacore.com>
2765
2766 * sem_warn.adb (Check_References): Do not emit warnings on formals of
2767 an entry body. Only the formals of the entry declaration are traced.
2768
2769 2009-07-07 Robert Dewar <dewar@adacore.com>
2770
2771 * s-osprim-mingw.adb: Minor code reorganization
2772
2773 2009-07-07 Robert Dewar <dewar@adacore.com>
2774
2775 * prj-nmsc.adb: Minor reformatting
2776
2777 2009-07-07 Pascal Obry <obry@adacore.com>
2778
2779 * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
2780 cases where Pattern is longer than Source.
2781
2782 2009-07-07 Pascal Obry <obry@adacore.com>
2783
2784 * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
2785
2786 2009-07-07 Emmanuel Briot <briot@adacore.com>
2787
2788 * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
2789 project file.
2790
2791 2009-07-07 Ed Schonberg <schonberg@adacore.com>
2792
2793 * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
2794 primitive operations, in case one of them is called in the
2795 initialization procedure for the type.
2796
2797 2009-07-07 Robert Dewar <dewar@adacore.com>
2798
2799 * a-calend.adb: Minor code reorganization (use conditional expressions)
2800
2801 * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
2802 prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
2803 s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
2804 s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
2805 s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
2806 g-comlin.adb, exp_ch11.adb: Minor reformatting.
2807
2808 2009-07-07 Gary Dismukes <dismukes@adacore.com>
2809
2810 * checks.adb (Generate_Range_Check): Replace type conversions with
2811 unchecked conversions to support the case of performing range checks
2812 on Enum'Val (permits integer values to be converted to enumeration).
2813
2814 * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
2815 Attribute_Succ): Set Do_Range_Check to False before calling
2816 Expand_Pred_Succ, to prevent gigi from generating any range checks.
2817 (Expand_N_Attribute_Reference, case Attribute_Val):
2818 Generate a range check when needed (and set Do_Range_Check to False).
2819
2820 * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
2821 scalar object initialization if needed.
2822
2823 * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
2824 when needed on scalar allocators.
2825 (Expand_N_Qualified_Expression): Generate range check when needed.
2826 (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
2827 Checks on slice ranges handled in Resolve_Slice.
2828
2829 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
2830 when needed, for all scalar assignments, not just discrete.
2831 (Expand_Simple_Function_Return): Resolve the conversion created for a
2832 scalar function return so that the conversion will get expanded to
2833 generate a possible constraint check.
2834
2835 * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
2836 in out scalar actuals when subtypes don't match, to ensure generation
2837 of return checks (and set Do_Range_Check to False).
2838 (Expand_Call): Uncomment code to perform range checks, but make it apply
2839 only to in and in out parameters (checks on parameter returns are
2840 handled in Expand_Actuals). If a scalar actual for a call to a derived
2841 subprogram is marked as needing a range check, peform it here (and set
2842 Do_Range_Check to False).
2843
2844 * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
2845 range check on scalar component associations when needed.
2846
2847 * sem_eval.adb (In_Subrange_Of): Return False when the first type has
2848 infinities but the second type does not, as these aren't compatible
2849 floating-point types.
2850
2851 * sem_res.adb (Resolve_Slice): In the case where the prefix of the
2852 slice is itself a slice, pick up the Etype of the prefix. This handles
2853 the case where the prefix was an Image attribute expanded to a slice,
2854 and ensures that we get the subtype with the slice constraint rather
2855 than the unconstrained subbtype of the 'Image.
2856
2857 2009-07-07 Ed Schonberg <schonberg@adacore.com>
2858
2859 * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
2860 overloaded expressions in a conditional expressions.
2861
2862 * sem_res.adb (Resolve): Handle properly overloaded conditional
2863 expressions.
2864
2865 2009-07-07 Robert Dewar <dewar@adacore.com>
2866
2867 * scng.adb: Minor reformattting
2868
2869 * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
2870 association allows conditional expression without parens.
2871
2872 * par-ch4.adb (P_Name): Attribute arguments can be conditional
2873 expressions without enclosing parentheses, and also as parameters,
2874 indexing expressions etc.
2875 (P_Conditional_Expression): New procedure
2876 (P_Expression_If_OK): New procedure
2877
2878 * par.adb (P_Conditional_Expression): New procedure
2879 (P_Expression_If_OK): New procedure
2880
2881 * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
2882 form of conditional expression.
2883
2884 * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
2885 missing True argument if ELSE argument missing.
2886
2887 * sinfo.adb (Is_Elsif): New flag
2888
2889 * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
2890 part of the language, and the documentation is modified accordingly.
2891 (Is_Elsif): New flag
2892
2893 2009-07-06 Olivier Hainque <hainque@adacore.com>
2894
2895 * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
2896 setjmp_longjmp): Attach the exception propagation reraise fallback
2897 to the sequence end label location when we have it.
2898
2899 2009-07-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2900
2901 PR ada/40608
2902 * init.c (APPLE): Include <mach/mach_init.h>.
2903 (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
2904
2905 2009-07-04 Eric Botcazou <ebotcazou@adacore.com>
2906
2907 * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
2908 (SET_DECL_LANG_SPECIFIC): Likewise.
2909 (TYPE_RM_VALUE): New macro.
2910 (SET_TYPE_RM_VALUE): Likewise.
2911 (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
2912 (TYPE_RM_MIN_VALUE): Likewise.
2913 (TYPE_RM_MAX_VALUE): Likewise.
2914 (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
2915 (SET_TYPE_RM_MIN_VALUE): Likewise.
2916 (SET_TYPE_RM_MAX_VALUE): Likewise.
2917 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
2918
2919 2009-07-04 Laurent GUERBY <laurent@guerby.net>
2920
2921 PR ada/40631
2922 * tracebak.c (__gnat_backtrace): Fix old-style definition.
2923
2924 2009-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2925
2926 * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
2927
2928 2009-07-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2929
2930 PR ada/40609
2931 * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
2932 ucontext argument.
2933
2934 2009-07-01 Eric Botcazou <ebotcazou@adacore.com>
2935
2936 * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
2937
2938 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
2939
2940 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
2941 the type of the left operand if it pads a self-referential type when
2942 the right operand is a constructor.
2943
2944 * gcc-interface/lang-specs.h: Fix copyright date.
2945
2946 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
2947
2948 * gcc-interface/decl.c: Include tree-inline.h.
2949 (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
2950 * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
2951 * gcc-interface/utils2.c: Include tree-inline.
2952 (known_alignment) <CALL_EXPR>: Likewise.
2953
2954 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
2955
2956 * raise-gcc.c: Include dwarf2.h conditionally.
2957
2958 2009-06-29 Tom Tromey <tromey@redhat.com>
2959
2960 * raise-gcc.c: Include elf/dwarf2.h.
2961
2962 2009-06-27 Laurent GUERBY <laurent@guerby.net>
2963
2964 * tb-gcc.c (trace_callback): Add casts to silence warning.
2965
2966 2009-06-27 Eric Botcazou <ebotcazou@adacore.com>
2967
2968 * tb-gcc.c: Fix copyright notice.
2969
2970 2009-06-27 Eric Botcazou <ebotcazou@adacore.com>
2971
2972 * init.c (__gnat_set_globals): Add prototype.
2973 * adaint.c (__gnat_binder_supports_auto_init): Likewise.
2974 (__gnat_sals_init_using_constructors): Likewise.
2975 * gcc-interface/utils.c (gnat_pushlevel): Likewise.
2976 (get_block_jmpbuf_decl): Likewise.
2977 (gnat_poplevel): Likewise.
2978 (merge_sizes): Rename local variable.
2979 (copy_type): Likewise.
2980 (build_vms_descriptor32): Likewise.
2981 (build_vms_descriptor): Likewise.
2982 (convert_vms_descriptor64): Likewise.
2983 (convert_vms_descriptor32): Likewise.
2984 (convert_to_fat_pointer): Likewise.
2985 (maybe_unconstrained_array): Likewise.
2986 (def_fn_type): Use promoted type with va_arg.
2987 * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
2988 (substitute_in_type): Rename local variable.
2989 * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
2990
2991 2009-06-26 Laurent GUERBY <laurent@guerby.net>
2992
2993 * tb-gcc.c (trace_callback): Use char* instead of void*.
2994 * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
2995 * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
2996 (Attribute_to_gnu): Adjust for above change.
2997 (Subprogram_Body_to_gnu): Likewise.
2998 * gcc-interface/utils.c (merge_sizes): Rename local variable.
2999 (copy_type): Likewise.
3000 (build_vms_descriptor32): Likewise.
3001 (build_vms_descriptor): Likewise.
3002 (convert_vms_descriptor64): Likewise.
3003 (convert_vms_descriptor32): Likewise.
3004 (convert_to_fat_pointer): Likewise.
3005 (maybe_unconstrained_array): Likewise.
3006 * gcc-interface/decl.c (substitute_in_type): Likewise.
3007
3008 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
3009
3010 * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
3011 (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
3012 of the upper bound of the index types.
3013
3014 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
3015
3016 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
3017 out common predicate. Use the maximum to compute the upper bound of
3018 the index type only when it is not wider than sizetype. Perform the
3019 comparison in the index type for the generic expression. Use real
3020 precision to decide whether to generate special types for debugging
3021 information.
3022
3023 2009-06-26 Matthew Gingell <gingell@adacore.com>
3024
3025 * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
3026
3027 2009-06-26 Vincent Celier <celier@adacore.com>
3028
3029 * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
3030 default.
3031
3032 2009-06-26 Robert Dewar <dewar@adacore.com>
3033
3034 * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
3035
3036 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
3037
3038 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
3039 correct arguments to create_field_decl. Remove redundant iteration.
3040 Rewrite computation of the maximum size.
3041 <E_Array_Subtype>: Reorder and simplify handling of special cases.
3042 Rewrite computation of the maximum size. Use consistent naming.
3043 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
3044 comparison order for consistency. Use generic integer node to
3045 build the operator and fold the result.
3046
3047 2009-06-25 Vincent Celier <celier@adacore.com>
3048
3049 * vms_data.ads: Minor comment change
3050
3051 2009-06-25 Gary Dismukes <dismukes@adacore.com>
3052
3053 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
3054 assignment statement to targeting a caller-provided object when the
3055 result type is an interface type.
3056
3057 * exp_ch6.adb (Expand_Call): Remove redundant test of
3058 Is_Limited_Interface (Is_Inherently_Limited is sufficient).
3059 (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
3060
3061 * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
3062 to OK_For_Limited_Init.
3063
3064 * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
3065 condition so that True is returned for all limited interfaces, not
3066 just synchronized ones. Ignore components of an interface type when
3067 checking for limited components (such a component can be a parent
3068 component).
3069
3070 * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
3071 (OK_For_Limited_Init): Add type parameter.
3072
3073 * sem_ch3.adb (Check_Initialization): Add type in call to
3074 OK_For_Limited_Init.
3075 (OK_For_Limited_Init): Add new type param in call to
3076 OK_For_Limited_Init_In_05.
3077 (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
3078 nonlimited type when the context type is a limited interface. Add type
3079 on recursive calls.
3080
3081 * sem_ch4.adb (Analyze_Allocator): Add type in call to
3082 OK_For_Limited_Init.
3083
3084 * sem_ch6.adb (Check_Limited_Return): Add type in call to
3085 OK_For_Limited_Init.
3086
3087 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
3088 OK_For_Limited_Init.
3089 (Instantiate_Object): Add type in call to OK_For_Limited_Init.
3090
3091 * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
3092 class-wide interface, get the base type before applying Etype, in order
3093 to account for class-wide subtypes.
3094
3095 2009-06-25 Emmanuel Briot <briot@adacore.com>
3096
3097 * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
3098 prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
3099 between gnatmake and gprbuild.
3100 (Naming_Data): Removed, no longer used
3101 (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
3102 needed locally in one subprogram, no need to store forever in the
3103 structure.
3104 (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
3105 a similar role.
3106 (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
3107 Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
3108 Spec_Suffix_Id_Of): removed, no longer used.
3109
3110 2009-06-25 Javier Miranda <miranda@adacore.com>
3111
3112 * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
3113 types on qualified expression in calls to imported C++ constructors.
3114
3115 * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
3116 imported C++ constructors.
3117
3118 2009-06-25 Sergey Rybin <rybin@adacore.com>
3119
3120 * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
3121
3122 2009-06-25 Vincent Celier <celier@adacore.com>
3123
3124 * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
3125 provided, on Windows change all '/' to '\'.
3126
3127 * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
3128 used. Minor comment changes
3129
3130 * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
3131 Remove_Forbidden_File_Name.
3132
3133 2009-06-25 Quentin Ochem <ochem@adacore.com>
3134
3135 * prj.ads (Unit_Index): Now general access type.
3136
3137 2009-06-25 Pascal Obry <obry@adacore.com>
3138
3139 * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
3140
3141 2009-06-25 Emmanuel Briot <briot@adacore.com>
3142
3143 * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
3144 prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
3145 computed efficiently from the other fields.
3146 (Object_To_Global_Archive): New subprogram
3147 (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
3148 (Override_Kind): Fix handling of separates in Ada.
3149 (Create_Mapping_File): Remove duplicate code
3150 (Naming_Data.Implementation_Exception, Specification_Exception):
3151 field removed, since never used.
3152 (Naming_Data.Specs, .Bodies): field removed, since this is only
3153 used while processing the project and is not needed once the tree
3154 is in memory. This brings Naming_Data and Lang_Naming_Data
3155 closer (same content now, but different use still).
3156
3157 2009-06-25 Pascal Obry <obry@adacore.com>
3158
3159 * sem_ch4.adb: Minor reformatting.
3160
3161 * a-strsea.adb: Fix confusion between 'Length and 'Last.
3162
3163 2009-06-25 Ed Schonberg <schonberg@adacore.com>
3164
3165 * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
3166 Unchecked_Access): If the context is an interface type, and the prefix
3167 is of the corresponding class-wide type, do not insert a conversion
3168 because the pointer displacement has already taken place, and we must
3169 retain the class-wide type in a dispatching context.
3170
3171 2009-06-25 Emmanuel Briot <briot@adacore.com>
3172
3173 * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
3174 the previous source file.
3175 (Create_Mapping): Iterate on sources rather than on units.
3176
3177 2009-06-25 Emmanuel Briot <briot@adacore.com>
3178
3179 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
3180 prj-env.adb, prj-env.ads (Slash): removed, no longer used
3181 (Source_Data): no longer use Path.Name to point to a locally removed
3182 file. Instead we use the field Locally_Removed which is clearer
3183
3184 2009-06-25 Arnaud Charlet <charlet@adacore.com>
3185
3186 * gcc-interface/Make-lang.in: Remove references to sem_maps.o
3187
3188 * sem_maps.adb, sem_maps.ads: Removed, not used.
3189
3190 2009-06-25 Ed Falis <falis@adacore.com>
3191
3192 * s-vxwext-rtp.ads: Add missing declaration
3193
3194 2009-06-25 Matthew Gingell <gingell@adacore.com>
3195
3196 * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
3197 speed up unmapped case.
3198
3199 2009-06-25 Vincent Celier <celier@adacore.com>
3200
3201 * prj-nmsc.adb (Check): Change error message for illegal abstract
3202 projects.
3203
3204 2009-06-25 Robert Dewar <dewar@adacore.com>
3205
3206 * gnat_ugn.texi: Add note on use of -gnatct for ASIS
3207
3208 2009-06-25 Emmanuel Briot <briot@adacore.com>
3209
3210 * fmap.ads: Add documentation on mapping files
3211
3212 2009-06-25 Robert Dewar <dewar@adacore.com>
3213
3214 * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
3215 reformatting
3216
3217 2009-06-24 Robert Dewar <dewar@adacore.com>
3218
3219 * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
3220
3221 * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
3222 case.
3223 (Index): Ditto.
3224
3225 2009-06-24 Ed Schonberg <schonberg@adacore.com>
3226
3227 * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
3228 present when checking whether a call may be interpreted as an indexing
3229 of the result of a call.
3230
3231 * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
3232 body for a null procedure on the freeze actions for the procedure, so
3233 that it will be analyzed at the proper place without premature freezing
3234 of actuals.
3235
3236 * sem_ch3.adb (Check_Completion): Code cleanup.
3237 Do not diagnose a null procedure without a body, if previous errors
3238 have disabled expansion.
3239
3240 2009-06-24 Doug Rupp <rupp@adacore.com>
3241
3242 * init.c [VMS] Resignal C$_SIGKILL
3243
3244 2009-06-24 Ed Falis <falis@adacore.com>
3245
3246 * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
3247 Define ERROR in body for VxWorks 6 kernel
3248
3249 2009-06-24 Pascal Obry <obry@adacore.com>
3250
3251 * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
3252 in [Send/Receive]_Socket.
3253
3254 2009-06-24 Emmanuel Briot <briot@adacore.com>
3255
3256 * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
3257 prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
3258 to several subprograms.
3259 (Source_Data.Other_Part): Removed, since can be computed from the
3260 language.
3261 (Other_Part): New subprogram.
3262
3263 2009-06-24 Emmanuel Briot <briot@adacore.com>
3264
3265 * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
3266 the full base name of the file when the suffix doesn't start with a '.'.
3267
3268 2009-06-24 Vincent Celier <celier@adacore.com>
3269
3270 * prj-nmsc.adb (Check): A project declared abstract is legal if no
3271 attribute Source_Dirs, Source_Files, Source_List_File or Languages is
3272 declared.
3273
3274 2009-06-24 Robert Dewar <dewar@adacore.com>
3275
3276 * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
3277 prj-env.adb: Minor reformatting
3278
3279 2009-06-24 Ed Falis <falis@adacore.com>
3280
3281 * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
3282 s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
3283 s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
3284 support for VxWorks SMP.
3285
3286 * gcc-interface/Make-lang.in: Update dependencies
3287
3288 2009-06-24 Emmanuel Briot <briot@adacore.com>
3289
3290 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
3291 prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
3292 no longer useful.
3293 (Source_Data.Lang_Kind): Removed, since it duplicates information
3294 already available through Language.Config.
3295 (Source_Data.Compile): Removed, since information is already available
3296 through the language.
3297 (Is_Compilable): New subprogram.
3298 (Source_Data.Dependency): Removed, since already available through
3299 the language.
3300 (Source_Data.Object_Exist, Object_Linked): Removed since available
3301 through the language already.
3302 (Unit_Data.File_Names): Is now also set in multi_language mode, to
3303 bring the two modes closer in the resulting data structures.
3304 (Source_Data.Unit): Now a direct pointer to the unit data, rather than
3305 just the name that would point into a hash table.
3306 (Get_Language_From_Name): New subprogram.
3307
3308 2009-06-24 Javier Miranda <miranda@adacore.com>
3309
3310 * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
3311 visible through limited-with context clauses. In addition, avoid an
3312 extra tag check that is not required when the class-wide
3313 designated types of the operand and target types are
3314 the same entity.
3315 (Tagged_Membership): Handle entities from the limited view.
3316
3317 2009-06-24 Emmanuel Briot <briot@adacore.com>
3318
3319 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
3320 prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
3321 (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
3322 different vocabularies for similar concepts (Impl/Body_Part and
3323 Spec/Specification).
3324 (Unit_Data): now points directly to a Source_Id, rather than duplicating
3325 some of the information in File_Name_Data. This also saves a bit of
3326 memory. However, since we are now using a pointer we need to test
3327 for null explicitly in several places of the code
3328
3329 2009-06-24 Javier Miranda <miranda@adacore.com>
3330
3331 * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
3332 from processing the type conversion when the node is
3333 replaced by an N_Raise_Program_Error node.
3334
3335 2009-06-24 Hristian Kirtchev <kirtchev@adacore.com>
3336
3337 * sem_ch6.adb (Designates_From_With_Type): New routine.
3338 (Process_Formals): Since anonymous access types are no longer flagged
3339 as from with types, traverse the designated type to determine whether
3340 it is coming from a limited view.
3341
3342 * sem_res.adb: Remove with and use clauses for Sem_Ch10.
3343 (Full_Designated_Type): Use Available_View to extract the non-limited /
3344 full view of a type.
3345
3346 2009-06-24 Robert Dewar <dewar@adacore.com>
3347
3348 * exp_ch6.adb: Minor reformatting
3349
3350 * layout.adb: Minor reformatting
3351
3352 * make.adb: Minor reformatting
3353
3354 2009-06-24 Thomas Quinot <quinot@adacore.com>
3355
3356 * sem_ch10.adb: Minor code reorganization.
3357
3358 2009-06-24 Eric Botcazou <ebotcazou@adacore.com>
3359
3360 * ttypes.ads: Minor editing.
3361
3362 2009-06-24 Robert Dewar <dewar@adacore.com>
3363
3364 * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
3365 in deciding to do call-by-copy code.
3366
3367 2009-06-24 Vincent Celier <celier@adacore.com>
3368
3369 * make.adb (Gnatmake): To decide if an executable should be rebuilt,
3370 check if an externally built library file is more current than the
3371 executable.
3372
3373 2009-06-23 Olivier Hainque <hainque@adacore.com>
3374
3375 * gcc-interface/utils.c (handle_vector_size_attribute): Import from
3376 c-common.c and populate in gnat_internal_attribute_table.
3377
3378 2009-06-23 Ed Schonberg <schonberg@adacore.com>
3379
3380 * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
3381 Available_View only when designated type of an anonymous access type
3382 is limited view.
3383
3384 2009-06-23 Robert Dewar <dewar@adacore.com>
3385
3386 * sem_ch10.adb: Minor reformatting
3387
3388 * ali.ads: Mino reformatting.
3389
3390 * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
3391 turning off inlining if ASIS mode active).
3392
3393 * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
3394 This belongs in gnat1drv.adb after switches are scanned.
3395
3396 2009-06-23 Hristian Kirtchev <kirtchev@adacore.com>
3397
3398 * sem_attr.adb: Add with and use clauses for Sem_Ch10.
3399 (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
3400 when dealing with class-wide types. Detect a legal shadow entity and
3401 retrieve its non-limited view.
3402
3403 * sem_ch10.adb (Has_With_Clause): Move the spec and body of the
3404 subprogram to top package level from Intall_Limited_Withed_Unit.
3405 (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
3406 Add check which prevents the installation of a limited view if the
3407 non-limited view is already visible through a with clause.
3408 (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
3409 legal shadow entity which may occur in subprogram formals of anonymous
3410 access type.
3411
3412 * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
3413
3414 * sem_ch3.adb (Access_Definition): Remove the propagation of flag
3415 From_With_Type from the designated type to the generated anonymous
3416 access type. Remove associated comment.
3417
3418 * sem_res.adb Add with and use clauses for Sem_Ch10.
3419 (Full_Designated_Type): Detect a legal shadow entity and retrieve its
3420 non-limited view. Since the shadow entity may replace a regular
3421 incomplete type, return the available full view.
3422
3423 2009-06-23 Ed Schonberg <schonberg@adacore.com>
3424
3425 * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
3426 incomplete type declarations. Previous code was potentially quadratic
3427 in the number of visible declarations in any package appearing in a
3428 limited_with_clause.
3429
3430 2009-06-23 Robert Dewar <dewar@adacore.com>
3431
3432 * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
3433 xref_lib.adb: Minor reformatting
3434
3435 2009-06-23 Robert Dewar <dewar@adacore.com>
3436
3437 * a-stzhas.adb: Provide dummy body to avoid build problems with old
3438 versions which did have a body for this unit.
3439
3440 2009-06-23 Vincent Celier <celier@adacore.com>
3441
3442 * prj-attr.adb: Attribute names Initial_Required_Switches and
3443 Final_Required_Switches changed to Leading_Required_Switches and
3444 Trailing_Required_Switches.
3445
3446 * prj-nmsc.adb (Process_Compiler): Attribute names
3447 Initial_Required_Switches and Final_Required_Switches changed to
3448 Leading_Required_Switches and Trailing_Required_Switches.
3449
3450 * prj.ads (Language_Config): Component Initial_Required_Switches and
3451 Final_Required_Switches changed to Leading_Required_Switches and
3452 Trailing_Required_Switches.
3453
3454 * snames.ads-tmpl: Remove standard names Initial_Required_Switches and
3455 Final_Required_Switches; add standard names Leading_Required_Switches
3456 and Trailing_Required_Switches.
3457
3458 2009-06-23 Thomas Quinot <quinot@adacore.com>
3459
3460 * prj-conf.adb: Minor reformatting
3461
3462 * xref_lib.adb: Minor cleanup
3463
3464 2009-06-23 Emmanuel Briot <briot@adacore.com>
3465
3466 * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
3467 prj-conf.ads (Check_Configuration): New parameter
3468 Compiler_Driver_Mandatory.
3469
3470 2009-06-23 Ed Schonberg <schonberg@adacore.com>
3471
3472 * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
3473 context of the current unit has an inline pragma, the instance is not
3474 rewritten as the declaration of the package wrapper. Handle both
3475 possibilities when retrieving the visible subprogram that renames the
3476 instantiation itself.
3477
3478 2009-06-23 Javier Miranda <miranda@adacore.com>
3479
3480 * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
3481 designated types referencing entities from the limited view.
3482
3483 2009-06-23 Robert Dewar <dewar@adacore.com>
3484
3485 * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
3486
3487 * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
3488 small values
3489
3490 * prj-conf.ads: Minor reformatting
3491
3492 * prj-conf.adb: Minor reformatting
3493
3494 2009-06-23 Vasiliy Fofanov <fofanov@adacore.com>
3495
3496 * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
3497 to correspond to the log format that gnatmem now expects.
3498
3499 2009-06-23 Vincent Celier <celier@adacore.com>
3500
3501 * prj-attr.adb: New attributes Initial_Required_Switches,
3502 Final_Required_Switches and Object_File_Switches
3503
3504 * prj-nmsc.adb (Process_Compiler): Process new attributes
3505 Name_Final_Required_Switches, Name_Initial_Required_Switches and
3506 Name_Object_File_Switches.
3507
3508 * prj.ads (Language_Config): New component
3509 Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
3510 Compiler_Final_Required_Switches and Object_File_Switches.
3511
3512 * snames.ads-tmpl: New standard names Initial_Required_Switches,
3513 Final_Required_Switches and Object_File_Switches
3514
3515 2009-06-23 Pascal Obry <obry@adacore.com>
3516
3517 * s-strhas.adb, s-strhas.ads: Minor reformatting.
3518
3519 2009-06-23 Ed Schonberg <schonberg@adacore.com>
3520
3521 * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
3522 not indicate that the enclosing unit needs a body.
3523
3524 2009-06-23 Emmanuel Briot <briot@adacore.com>
3525
3526 * prj-conf.ads, prj-conf.adb: New files part of the project manager.
3527
3528 2009-06-23 Ed Schonberg <schonberg@adacore.com>
3529
3530 * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
3531 primitive equality include it with its source name even if the
3532 operation is currently invisible, to make sure that the corresponding
3533 slot in the dispatch table is reserved for the internal equality
3534 subsequently generated during expansion.
3535
3536 2009-06-23 Matthew Gingell <gingell@adacore.com>
3537
3538 * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
3539
3540 2009-06-22 Jose Ruiz <ruiz@adacore.com>
3541
3542 * sysdep.c (__gnat_localtime_tzoff for RTX):
3543 SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
3544 GetTimeZoneInformation instead.
3545
3546 2009-06-22 Robert Dewar <dewar@adacore.com>
3547
3548 * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
3549
3550 2009-06-22 Ed Schonberg <schonberg@adacore.com>
3551
3552 * sem_ch12.adb (Collect_Previous_Instances): Do not collect
3553 instantiations declared in a previous generic package body.
3554
3555 2009-06-22 Robert Dewar <dewar@adacore.com>
3556
3557 * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
3558 restriction No_Direct_Boolean_Operators.
3559
3560 2009-06-22 Thomas Quinot <quinot@adacore.com>
3561
3562 * bindusg.adb: Minor fixes to gnatbind usage message
3563
3564 * sem_eval.adb: Minor reformatting
3565
3566 2009-06-22 Javier Miranda <miranda@adacore.com>
3567
3568 * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
3569 freezing point the check on the use of abstract types in object
3570 declarations. Done to allow the declaration of C++ imported variables
3571 or constants whose type corresponds with an imported C++ classes for
3572 which the constructor is not imported.
3573
3574 2009-06-22 Thomas Quinot <quinot@adacore.com>
3575
3576 * sem_ch6.adb: Minor reformatting
3577
3578 2009-06-22 Ed Schonberg <schonberg@adacore.com>
3579
3580 * exp_ch3.adb (Build_Initialization_Call): If a discriminated record
3581 component is constrained with an expression rather than with a
3582 discriminant of the enclosing type, use that expression when building
3583 the call to default-initialize the component, when the call is part of
3584 an aggregate with box initialization.
3585
3586 2009-06-22 Ed Schonberg <schonberg@adacore.com>
3587
3588 * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
3589 unconditional rather than a style check, because a formal name out of
3590 order is suspicious.
3591
3592 2009-06-22 Vincent Celier <celier@adacore.com>
3593
3594 * prj-nmsc.adb (Locate_Directory): Indicate the project name when
3595 creating a directory automatically.
3596
3597 2009-06-22 Eric Botcazou <ebotcazou@adacore.com>
3598
3599 * sem_ch3.adb (Create_Constrained_Components): For a subtype of an
3600 untagged derived type, add a hidden component for every constrained
3601 discriminant of the parent type to keep record layout consistent.
3602
3603 2009-06-22 Thomas Quinot <quinot@adacore.com>
3604
3605 * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
3606 copy).
3607
3608 2009-06-22 Matthew Gingell <gingell@adacore.com>
3609
3610 * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
3611 s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
3612 g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
3613 a-swuwha.adb: New unit System.String_Hash.
3614 Refactor redundant cut and pasted hash functions with instances of a
3615 new generic hash function.
3616 Implement a new string hashing algorithm which appears in testing to
3617 be move effective than to previous approach.
3618
3619 2009-06-22 Ed Falis <falis@adacore.com>
3620
3621 * sysdep.c: remove include for nfsLib.h and an NFS specific error
3622 message for VxWorks 653 vThreads: not supported by the OS.
3623
3624 * gsocket.h: disable sockets for VxWorks 653 vThreads.
3625
3626 2009-06-22 Robert Dewar <dewar@adacore.com>
3627
3628 * sem_ch6.adb: Add ??? comment for bad use of Style_Check
3629
3630 2009-06-22 Robert Dewar <dewar@adacore.com>
3631
3632 * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
3633 by Sloc_Range.
3634
3635 * freeze.adb: Minor comment updates
3636
3637 * s-valrea.adb (Bad_Based_Value): New procedure
3638 (Scan_Real): Raise exceptions with messages
3639
3640 2009-06-22 Matthew Gingell <gingell@adacore.com>
3641
3642 * adaint.h: Complete previous change.
3643
3644 2009-06-22 Thomas Quinot <quinot@adacore.com>
3645
3646 * exp_ch7.ads, exp_ch3.adb: Minor reformatting
3647
3648 2009-06-22 Ed Schonberg <schonberg@adacore.com>
3649
3650 * sem_ch6.adb (Check_Overriding_Indicator): When style checks are
3651 enabled, emit warning when a non-controlling argument of the overriding
3652 operation appears out of place vis-a-vis of the formal of the
3653 overridden operation.
3654
3655 2009-06-22 Vincent Celier <celier@adacore.com>
3656
3657 * gnatcmd.adb (Check_Files): Close temporary files after all file names
3658 have been written into it.
3659
3660 2009-06-22 Matthew Gingell <gingell@adacore.com>
3661
3662 * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
3663 available.
3664
3665 2009-06-22 Thomas Quinot <quinot@adacore.com>
3666
3667 * sem_disp.adb (Check_Direct_Call): Handle the case where the full
3668 view of the root type is visible at the point of the call.
3669
3670 2009-06-22 Pat Rogers <rogers@adacore.com>
3671
3672 * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
3673
3674 2009-06-22 Jerome Lambourg <lambourg@adacore.com>
3675
3676 * freeze.adb: Add comments.
3677
3678 2009-06-21 Thomas Quinot <quinot@adacore.com>
3679
3680 * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
3681 sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
3682 Factor out code to new subprogram...
3683 (Exp_Util.Find_Init_Call): New shared routine to find the init proc call
3684 for a default initialized variable.
3685 (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
3686 entity that has an associated freeze node.
3687 (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
3688 If there is an init call for the object, defer it to the object freeze
3689 point.
3690 (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
3691 name clash with new subprogram introduced in Exp_Util.
3692
3693 2009-06-21 Robert Dewar <dewar@adacore.com>
3694
3695 * einfo.ads: Minor reformatting
3696
3697 2009-06-21 Ed Falis <falis@adacore.com>
3698
3699 * env.c (__gnat_environ): return NULL for vThreads - unimplemented
3700
3701 2009-06-21 Eric Botcazou <ebotcazou@adacore.com>
3702
3703 * einfo.ads: Update comments.
3704
3705 2009-06-21 Hristian Kirtchev <kirtchev@adacore.com>
3706
3707 * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
3708 where the controlling formal is of private class-wide type whose
3709 completion is a synchronized type can be converted into direct calls.
3710
3711 2009-06-21 Vincent Celier <celier@adacore.com>
3712
3713 * gnatcmd.adb (Check_Files): When all sources of the project are to be
3714 indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
3715 of sources using -files=, so that the distinction can be made by the
3716 tool of a call with no source (to display the usage) from a call with
3717 a project file that contains no source.
3718
3719 2009-06-21 Jerome Lambourg <lambourg@adacore.com>
3720
3721 * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
3722 case of VM convention arrays.
3723
3724 2009-06-20 Robert Dewar <dewar@adacore.com>
3725
3726 * a-nudira.adb: Minor reformatting
3727
3728 2009-06-20 Ed Schonberg <schonberg@adacore.com>
3729
3730 * exp_ch3.adb (Build_Record_Init_Proc): When copying initial
3731 expressions (possibly from a parent type) indicate that the scope of
3732 the new itypes is the initialization procedure being built.
3733
3734 2009-06-20 Robert Dewar <dewar@adacore.com>
3735
3736 * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
3737 Needs_64, and now computed without anomolies for some dynamic types.
3738
3739 2009-06-20 Thomas Quinot <quinot@adacore.com>
3740
3741 * sem_prag.adb: Minor reformatting
3742
3743 * exp_disp.ads: Minor reformatting
3744
3745 2009-06-20 Ed Schonberg <schonberg@adacore.com>
3746
3747 * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
3748 function call is a legal expression to initialize a limited object.
3749
3750 * exp_ch3.adb: Rename various freeze operations that perform expansion
3751 actions, to prevent confusion with subprograms in the freeze package.
3752
3753 2009-06-20 Ed Schonberg <schonberg@adacore.com>
3754
3755 * sem.adb (Walk_Library_Units): Check instantiations first.
3756
3757 * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
3758 private primitive if it is a function with a controlling result that is
3759 a type extension with progenitors.
3760
3761 * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
3762 a primitive operation of a synchronized tagged type that has a
3763 controlling result.
3764
3765 2009-06-20 Thomas Quinot <quinot@adacore.com>
3766
3767 * einfo.ads: Fix typo.
3768
3769 2009-06-20 Ed Falis <falis@adacore.com>
3770
3771 * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
3772
3773 2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
3774
3775 * gcc-interface/trans.c (emit_check): Do not wrap up the result
3776 in a SAVE_EXPR.
3777 (protect_multiple_eval): Always protect complex expressions.
3778
3779 2009-06-19 Emmanuel Briot <briot@adacore.com>
3780
3781 * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
3782 make sure we always return a name ending with a path separator.
3783
3784 2009-06-19 Javier Miranda <miranda@adacore.com>
3785
3786 * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
3787 Save and restore the visibility of the parent when installed.
3788
3789 2009-06-19 Jose Ruiz <ruiz@adacore.com>
3790
3791 * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
3792 by Common which contains all these fields.
3793
3794 * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
3795 Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
3796 Remove code duplication in this package by means of calling the
3797 equivalent code in s-taprob.
3798
3799 2009-06-19 Robert Dewar <dewar@adacore.com>
3800
3801 * a-einuoc.ads: Minor reformatting
3802
3803 2009-06-19 Ed Falis <falis@adacore.com>
3804
3805 * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
3806 s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
3807
3808 2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
3809
3810 * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
3811
3812 2009-06-19 Robert Dewar <dewar@adacore.com>
3813
3814 * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
3815 ranges
3816
3817 * checks.adb (Determine_Range): Move the test for generic types later.
3818
3819 * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
3820 cases.
3821 (Eval_Relational_Op): Fold more cases including string compares
3822
3823 * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
3824 function.
3825
3826 2009-06-19 Robert Dewar <dewar@adacore.com>
3827
3828 * sem_type.ads, sem_ch12.adb: Minor reformatting
3829
3830 * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
3831
3832 2009-06-19 Ed Schonberg <schonberg@adacore.com>
3833
3834 * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
3835 primitive operation of a rivate extension whose controlling argument
3836 is an out parameter.
3837
3838 * sem.adb (Walk_Library_Units): exclude generic package declarations
3839 from check.
3840
3841 2009-06-19 Thomas Quinot <quinot@adacore.com>
3842
3843 * i-vxwoio.ads: Add comments
3844
3845 2009-06-19 Thomas Quinot <quinot@adacore.com>
3846
3847 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
3848 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
3849 g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
3850 (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
3851 (GNAT.Sockets.Thin.Socket_Ioctl): Use new function
3852 Thin_Common.Socket_Ioctl.
3853 (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
3854 __gnat_socket_ioctl.
3855 (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
3856 argument after the file descriptor and request code.
3857
3858 2009-06-19 Robert Dewar <dewar@adacore.com>
3859
3860 * checks.adb: Minor reformatting
3861
3862 2009-06-19 Jose Ruiz <ruiz@adacore.com>
3863
3864 * env.c (__gnat_environ): RTX does not support this functionality.
3865
3866 2009-06-19 Ed Schonberg <schonberg@adacore.com>
3867
3868 * sem.adb (Walk_Library_Items): Include bodies in the list of units to
3869 traverse, to account for front-end inlining and instantiations in a
3870 spec or in the main unit.
3871
3872 2009-06-19 Robert Dewar <dewar@adacore.com>
3873
3874 * checks.adb (Determine_Range): Do not attempt to get range of generic
3875 type.
3876
3877 2009-06-19 Sergey Rybin <rybin@adacore.com>
3878
3879 * gnat_ugn.texi, vms_data.ads: Add the documentation for the new
3880 gnatmetric option for generating the schema file for gnatmetric XML
3881 output. Add corresponding VMS qualifier.
3882
3883 2009-06-19 Robert Dewar <dewar@adacore.com>
3884
3885 * g-cgi.adb: Minor reformatting
3886
3887 2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
3888
3889 * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
3890 signal code for SIGFPE and raise Program_Error for SIGILL.
3891
3892 * s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
3893
3894 2009-06-19 Ed Schonberg <schonberg@adacore.com>
3895
3896 * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
3897 generic package if there is a visibility candidate that is declared in
3898 a regular package.
3899
3900 2009-06-18 Olivier Hainque <hainque@adacore.com>
3901
3902 * system-aix64.ads: New file.
3903 * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
3904 64bit system.ads for ppc64 multilib variants.
3905
3906 2009-06-16 Robert Dewar <dewar@adacore.com>
3907 Olivier Hainque <hainque@adacore.com>
3908
3909 Relax constraints on Machine_Attribute argument types:
3910 * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
3911 missing type.
3912 (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
3913 * gcc-interface/decl.c (prepend_attributes): Accept static
3914 expressions of any type as attribute arguments, not only string
3915 literals.
3916 * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
3917 the relaxation of the restriction on the Info argument type.
3918
3919 2009-06-13 Aldy Hernandez <aldyh@redhat.com>
3920
3921 * gcc-interface/utils.c (record_builtin_type): Pass location
3922 argument to build_decl.
3923 (create_type_stub_decl): Same.
3924 (create_type_decl): Same.
3925 (create_var_decl_1): Same.
3926 (create_field_decl): Same.
3927 (create_param_decl): Same.
3928 (create_label_decl): Same.
3929 (create_subprog_decl): Same.
3930 * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
3931 * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
3932 argument to create_artificial_label.
3933 (Loop_Statement_to_gnu): Same.
3934 (Subprogram_Body_to_gnu): Same.
3935 (gnat_gimplify_stmt): Same.
3936
3937 2009-06-11 Richard Henderson <rth@redhat.com>
3938
3939 * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
3940 OPT_gdwarfplus.
3941
3942 2009-06-11 Ed Schonberg <schonberg@adacore.com>
3943
3944 * sem_attr.adb (Resolve_Attribute, case 'access): Add missing
3945 accessibiliy check on access_to_subprogram in the context of an
3946 anonymous access that is not an access parameter.
3947
3948 2009-06-11 Eric Botcazou <ebotcazou@adacore.com>
3949
3950 * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
3951
3952 2009-06-11 Quentin Ochem <ochem@adacore.com>
3953
3954 * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
3955 comments for message handled by GPS.
3956
3957 2009-06-11 Matthew Gingell <gingell@adacore.com>
3958
3959 * adaint.c: Use fopen64 instead of fopen on platforms where we know
3960 it's supported.
3961
3962 2009-06-11 Pascal Obry <obry@adacore.com>
3963
3964 * g-cgi.ads: Fix comment typo.
3965
3966 * g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
3967
3968 2009-06-10 Eric Botcazou <ebotcazou@adacore.com>
3969
3970 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
3971 a reference to the original type for the type of the field of the
3972 XVS type.
3973 (maybe_pad_type): Likewise.
3974
3975 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
3976 common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
3977 Pass correctly typed arguments to create_field_decl.
3978 <E_Record_Subtype>: Set BLKmode for tagged and limited types in the
3979 case of contrained discriminants as well. Use the padded base type
3980 in the other case as well. Rename temporary variable. Tweak test.
3981 Factor common access pattern. Set GNU_SIZE only once.
3982
3983 2009-06-09 Olivier Hainque <hainque@adacore.com>
3984
3985 * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
3986 helper for build_call_alloc_dealloc with arguments to be interpreted
3987 identically. Process the case where a GNAT_PROC to call is provided.
3988 (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
3989 and return an allocator for DATA_SIZE bytes aimed at containing a
3990 DATA_TYPE object, using the default __gnat_malloc allocator. Honor
3991 DATA_TYPE alignments greater than what the latter offers.
3992 (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
3993 release a DATA_TYPE object designated by DATA_PTR using the
3994 __gnat_free entry point.
3995 (build_call_alloc_dealloc): Expect object data type instead of naked
3996 alignment constraint. Use the new helpers.
3997 (build_allocator): Remove special processing for the super-aligned
3998 case, now handled by build_call_alloc_dealloc. Pass data
3999 type instead of the former alignment argument, as expected by the new
4000 interface.
4001 * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
4002 and comment.
4003 * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
4004 Remove special processing for the super-aligned case, now handled
4005 by build_call_alloc_dealloc. Pass data type instead of the former
4006 alignment argument, as expected by the new interface.
4007
4008 2009-06-08 Alexandre Oliva <aoliva@redhat.com>
4009
4010 * lib-writ.adb (flag_compare_debug): Import.
4011 (Write_ALI): Skip during -fcompare-debug-second.
4012
4013 2009-06-03 Eric Botcazou <ebotcazou@adacore.com>
4014
4015 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
4016 adjusting the discriminant nodes in an extension, use the full view
4017 of the parent subtype if it is of a private kind.
4018
4019 2009-06-03 Eric Botcazou <ebotcazou@adacore.com>
4020
4021 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the
4022 _Parent field, if any, to the record before adding the other fields.
4023 <E_Record_Subtype>: Put the _Controller field before the other fields
4024 except for the _Tag or _Parent fields.
4025 (components_to_record): Likewise. Retrieve the _Parent field from the
4026 record type.
4027
4028 2009-06-03 Eric Botcazou <ebotcazou@adacore.com>
4029
4030 * gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
4031 remove unused parameter and simplify.
4032 (gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS. Factor
4033 common predicate. Rewrite loop for clarity. Use GNU_TYPE directly
4034 as context for all discriminants. Fix formatting nits.
4035 <E_Record_Subtype>: Add cosmetic 'break'. Test Has_Discriminants
4036 before Discriminant_Constraint. Adjust for above renaming. Do not
4037 set GNU_TYPE more than once.
4038 (elaborate_entity): Test Has_Discriminants on the entity and use
4039 Implementation_Base_Type.
4040 (components_to_record): Rename component_list to gnat_component_list.
4041 Retrieve the _Parent field from the list. Fix nits in comments.
4042 Clarify logic in loop. Pass correct arguments to create_field_decl.
4043
4044 2009-06-02 Eric Botcazou <ebotcazou@adacore.com>
4045
4046 * gcc-interface/Make-lang.in: Fix formatting.
4047
4048 2009-06-01 Olivier Hainque <hainque@adacore.com>
4049 Eric Botcazou <ebotcazou@adacore.com>
4050
4051 * gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
4052 to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
4053 on the result if at least one of the input fields couldn't be output
4054 as a static constant any more.
4055
4056 2009-06-01 Olivier Hainque <hainque@adacore.com>
4057 Eric Botcazou <ebotcazou@adacore.com>
4058
4059 * gcc-interface/utils2.c (gnat_build_constructor): Factor
4060 out code. Use initializer_constant_valid_for_bitfield_p and
4061 CONSTRUCTOR_BITFIELD_P for bit-fields.
4062
4063 2009-05-26 Ian Lance Taylor <iant@google.com>
4064
4065 * gcc-interface/Makefile.in (COMPILER): Define.
4066 (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
4067 (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
4068 (seh_init.o, tracebak.o): Likewise.
4069 * gcc-interface/Make-lang.in (ada/targext.o): Likewise.
4070 (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
4071 (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
4072 (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
4073 (ada/utils2.o): Likewise.
4074
4075 2009-05-24 Olivier Hainque <hainque@adacore.com>
4076
4077 * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
4078 * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
4079 Add -auxbase variants to the list of recognized internal switches.
4080 * back_end.adb (Scan_Back_End_Switches): Use the new functions and
4081 adjust comments.
4082 * lib.ads: Make comment on internal GCC switches more general.
4083 * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
4084 as for C.
4085
4086 2009-05-23 Eric Botcazou <ebotcazou@adacore.com>
4087
4088 * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
4089
4090 2009-05-23 Eric Botcazou <ebotcazou@adacore.com>
4091
4092 * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
4093 types.
4094
4095 2009-05-23 Eric Botcazou <ebotcazou@adacore.com>
4096
4097 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
4098 original type because of the alignment when there is an address clause.
4099
4100 2009-05-20 Eric Botcazou <ebotcazou@adacore.com>
4101
4102 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
4103 discriminants affect the shape of the subtype, retrieve the GCC type
4104 directly from the original field if the GNAT types for the field and
4105 the original field are the same.
4106
4107 2009-05-15 Eric Botcazou <ebotcazou@adacore.com>
4108
4109 * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
4110 New macros.
4111 (TYPE_RM_VALUES): Likewise.
4112 (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
4113 (SET_TYPE_RM_SIZE): New macro.
4114 (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
4115 (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
4116 (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
4117 * gcc-interface/gigi.h (create_range_type): Declare.
4118 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
4119 Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
4120 <E_Signed_Integer_Subtype>: Build a regular integer type first and
4121 then set the RM bounds. Use SET_TYPE_RM_SIZE to set the RM size.
4122 <E_Floating_Point_Subtype>: Build a regular floating-point type first
4123 and then set the RM bounds.
4124 <E_Array_Type>: Use create_range_type instead of build_range_type.
4125 <E_Array_Subtype>: Build a regular integer type first and then set
4126 the RM bounds for the extra subtype.
4127 <E_String_Literal_Subtype>: Use create_range_type instead of
4128 build_range_type.
4129 <all>: Set the RM bounds for enumeration types and the GCC bounds for
4130 floating-point types.
4131 (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
4132 (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
4133 to set the bounds. Use SET_TYPE_RM_SIZE to set the RM size.
4134 (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
4135 types and with RM bounds for subtypes.
4136 * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
4137 (gnat_print_type) <REAL_TYPE>: New case.
4138 <ENUMERAL_TYPE>: Fall through to above case.
4139 (gnat_get_subrange_bounds): New function.
4140 * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
4141 TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
4142 * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
4143 for booleans. Adjust and use SET_TYPE_RM_SIZE to set the RM size.
4144 (create_range_type): New function.
4145 (create_param_decl): Build a regular integer type first and then set
4146 the RM bounds for the extra subtype.
4147 (unchecked_convert): Remove kludge for 'Valid.
4148 * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
4149 the index to sizetype instead of TYPE_DOMAIN.
4150
4151 2009-05-14 Eric Botcazou <ebotcazou@adacore.com>
4152
4153 * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
4154 parameter and move check for static expression to...
4155 (elaborate_expression): ...here. Adjust call to above function.
4156 (gnat_to_gnu_entity): Likewise for all calls. Use correct arguments
4157 in calls to elaborate_expression.
4158 (elaborate_entity): Likewise.
4159 (substitution_list): Likewise.
4160 (maybe_variable): Fix formatting.
4161 (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
4162 missing guard.
4163 * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
4164
4165 2009-05-07 Arnaud Charlet <charlet@adacore.com>
4166
4167 * gcc-interface/Make-lang.in: Update dependencies.
4168
4169 2009-05-06 Laurent GUERBY <laurent@guerby.net>
4170
4171 * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
4172 Define sa_handler_pos.
4173 * s-osinte-linux.ads: Use it.
4174 * s-linux-mipsel.ads: New.
4175 * system-linux-mips64el.ads: New.
4176 * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
4177 mips64el-linux.
4178
4179 2009-05-06 Arnaud Charlet <charlet@adacore.com>
4180
4181 * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
4182 targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
4183 opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
4184 (Tagged_Type_Expansion): New flag.
4185 Replace use of VM_Target related to tagged types expansion by
4186 Tagged_Type_Expansion, since tagged type expansion is not necessarily
4187 linked to VM targets.
4188
4189 2009-05-06 Robert Dewar <dewar@adacore.com>
4190
4191 * sem_attr.adb: Add processing for Standard'Compiler_Version
4192
4193 * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
4194 skipping.
4195 (Expr_First_Char): Add ??? comment that paren skipping needs work
4196 (Expr_Last_Char): Add ??? comment that paren skipping needs work
4197
4198 * exp_attr.adb: Add processing for Compiler_Version
4199
4200 * sem_attr.adb: New attribute Compiler_Version
4201
4202 * snames.ads-tmpl: Add entries for Compiler_Version attribute
4203
4204 * gnat_rm.texi: Document Compiler_Version attribute
4205
4206 2009-05-06 Robert Dewar <dewar@adacore.com>
4207
4208 * errout.adb: Minor reformatting
4209
4210 * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
4211 sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
4212 styleg.adb: Add stylized comments to error messages that are included
4213 in the codefix circuitry of IDE's such as GPS.
4214
4215 2009-05-06 Sergey Rybin <rybin@adacore.com>
4216
4217 * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
4218 new form of the rule parameter that allows to specify the suffix for
4219 access-to-access type names.
4220
4221 2009-05-06 Robert Dewar <dewar@adacore.com>
4222
4223 * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
4224 out parameter assigned when exception handlers are present.
4225
4226 * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
4227 assignments on exit.
4228
4229 * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
4230 sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
4231 prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
4232 par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
4233 messages that are included in the codefix circuitry of IDE's such as
4234 GPS.
4235
4236 * sinput.ads, sinput.adb (Expr_First_Char): New function
4237 (Expr_Last_Char): New function
4238
4239 2009-05-06 Sergey Rybin <rybin@adacore.com>
4240
4241 * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
4242 Add formal definition for extra exit point metric
4243
4244 2009-05-06 Pascal Obry <obry@adacore.com>
4245
4246 * adaint.c: Support for setting attributes on unicode filename on
4247 Windows.
4248
4249 2009-05-06 Robert Dewar <dewar@adacore.com>
4250
4251 * sem_warn.adb: Minor reformatting
4252
4253 2009-05-06 Javier Miranda <miranda@adacore.com>
4254
4255 * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
4256 not have discriminants or components with default expressions.
4257 (Analyze_Pragma): For pragma CPP_Class check that imported types
4258 have no discriminants and components have no default expression.
4259
4260 * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
4261 class-wide types in the expression of a record component association.
4262
4263 2009-05-06 Sergey Rybin <rybin@adacore.com>
4264
4265 * vms_data.ads: Add qualifier for gnatmetric extra exit points metric
4266
4267 * gnat_ugn.texi: Add description for the new extra exit points metric
4268 (gnatmetric section).
4269
4270 2009-05-06 Robert Dewar <dewar@adacore.com>
4271
4272 * s-fileio.adb: Minor comment update
4273
4274 * sem_ch8.adb: Minor reformatting
4275
4276 * exp_ch3.adb: Update comments.
4277
4278 2009-05-06 Tristan Gingold <gingold@adacore.com>
4279
4280 * init.c, s-osinte-darwin.ads: Reduce alternate stack size
4281
4282 2009-05-06 Arnaud Charlet <charlet@adacore.com>
4283
4284 * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
4285 Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
4286
4287 * gcc-interface/Make-lang.in: Update dependencies
4288
4289 2009-05-06 Ed Schonberg <schonberg@adacore.com>
4290
4291 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
4292 change. The context clause of a generic instance declaration must be
4293 preserved until the end of the compilation, because it may have to be
4294 installed/removed repeatedly.
4295 The latest change to sem.adb ensures that the context of both spec and
4296 body of an instance is traversed before the instance itself, making
4297 this patch redundant.
4298
4299 2009-05-06 Gary Dismukes <dismukes@adacore.com>
4300
4301 * sem_aggr.adb: Fix typo.
4302
4303 2009-05-06 Thomas Quinot <quinot@adacore.com>
4304
4305 * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
4306 declaration, do not adjust if the declaration is to be rewritten into
4307 a renaming.
4308
4309 2009-05-06 Ed Schonberg <schonberg@adacore.com>
4310
4311 * sem_ch8.adb (Find_Type): Reject the use of a task type in its own
4312 discriminant part.
4313
4314 2009-05-06 Bob Duff <duff@adacore.com>
4315
4316 * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
4317 otherwise the compiler would be allowed to optimize away the cleanup
4318 code.
4319
4320 2009-05-06 Gary Dismukes <dismukes@adacore.com>
4321
4322 * gnat_ugn.texi: Fix typo.
4323
4324 2009-05-06 Thomas Quinot <quinot@adacore.com>
4325
4326 * g-debuti.adb: Minor reformatting
4327
4328 * exp_attr.adb: Minor reformatting
4329
4330 2009-05-06 Robert Dewar <dewar@adacore.com>
4331
4332 * sem_aggr.adb: Minor reformatting.
4333
4334 * g-socthi-vms.adb: Minor reformatting
4335
4336 2009-05-06 Bob Duff <duff@adacore.com>
4337
4338 * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
4339 (Append_All): Add Append_All to g-table and g-dyntab, similar to table.
4340
4341 2009-05-06 Bob Duff <duff@adacore.com>
4342
4343 * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
4344 flags.
4345
4346 2009-05-06 Javier Miranda <miranda@adacore.com>
4347
4348 * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
4349 (Resolve_Extension_Aggregate): Do not reject C++ constructors in
4350 extension aggregates.
4351 (Resolve_Record_Aggregate): Add support for C++ constructors in
4352 extension aggregates.
4353
4354 * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
4355 constructors in extension aggregates.
4356
4357 2009-05-06 Robert Dewar <dewar@adacore.com>
4358
4359 * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
4360 clause.
4361
4362 2009-05-06 Thomas Quinot <quinot@adacore.com>
4363
4364 * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
4365 packed type, since on OpenVMS, struct msghdr is packed.
4366
4367 2009-05-06 Ed Schonberg <schonberg@adacore.com>
4368
4369 * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
4370 call returning an unconstrained composite value, create the proper
4371 subtype for it, as is done for object dclarations with unconstrained
4372 nominal subtypes. Perform this transformation regarless of whether
4373 call comes from source.
4374
4375 2009-05-06 Robert Dewar <dewar@adacore.com>
4376
4377 * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
4378 records
4379
4380 * gnat_rm.texi:
4381 Add documentation for pragma Implicit_Packing applied to record
4382 types.
4383
4384 2009-05-06 Ed Schonberg <schonberg@adacore.com>
4385
4386 * sem.adb (Walk_Library_Items): Place all with_clauses of an
4387 instantiation on the spec, because late instance bodies may generate
4388 with_clauses for the instance body but are inserted in the instance
4389 spec.
4390
4391 2009-05-06 Emmanuel Briot <briot@adacore.com>
4392
4393 * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
4394 support for returning the directory even if it doesn't exist. This is
4395 used for the object directory, since we are always setting it to a
4396 non-null value, and we should set it to an absolute name rather than a
4397 relative name for the sake of external tools that might depend on it.
4398 (Check_Library_Attributes): When Project.Library_Dir is known, check
4399 that the directory exists.
4400
4401 2009-05-06 Ed Schonberg <schonberg@adacore.com>
4402
4403 * sem_attr.adb (Check_Dereference): If the prefix of an attribute
4404 reference is an implicit dereference, do not freeze the designated type
4405 if within a default expression or when preanalyzing a pre/postcondtion.
4406
4407 2009-05-06 Ed Schonberg <schonberg@adacore.com>
4408
4409 * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
4410 call returning an unconstrained composite value, create the proper
4411 subtype for it, as is done for object dclarations with unconstrained
4412 nominal subtypes
4413
4414 2009-05-06 Robert Dewar <dewar@adacore.com>
4415
4416 * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
4417 improvements
4418
4419 * freeze.adb: Minor reformatting
4420
4421 2009-05-06 Thomas Quinot <quinot@adacore.com>
4422
4423 * sem_ch3.adb (Access_Type_Declaration): An access type whose
4424 designated type is a limited view from a limited with clause (flagged
4425 From_With_Type) is not itself such a limited view.
4426
4427 2009-05-06 Emmanuel Briot <briot@adacore.com>
4428
4429 * prj-nmsc.adb: Remove unused variable.
4430
4431 * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
4432 prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
4433 makeutl.ads, since not all users of prj.ads need this.
4434
4435 2009-05-06 Javier Miranda <miranda@adacore.com>
4436
4437 * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
4438 constructor in case of aggregates whose type is a CPP_Class type.
4439
4440 2009-05-06 Robert Dewar <dewar@adacore.com>
4441
4442 * sem_ch13.adb: Minor comment additions
4443
4444 * osint.adb: Minor reformatting
4445
4446 2009-05-06 Pascal Obry <obry@adacore.com>
4447
4448 * initialize.c: On Windows, keep full pathname to expanded command
4449 line patterns.
4450
4451 2009-05-06 Ed Schonberg <schonberg@adacore.com>
4452
4453 * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
4454 an aggregate with box default is of a discriminated private type, do
4455 not build a subaggregate for it.
4456 A proper call to the initialization procedure is generated for it.
4457
4458 2009-05-06 Thomas Quinot <quinot@adacore.com>
4459
4460 * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
4461 (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
4462 Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
4463 use standard array code for Standard.String.
4464 (Exp_Dist): Bump PolyORB s-parint API version to 3.
4465 (Rtsfind): New entities TA_Std_String, Unbounded_String.
4466
4467 2009-05-06 Robert Dewar <dewar@adacore.com>
4468
4469 * g-comlin.ads: Minor reformatting
4470
4471 * xoscons.adb: Minor reformatting
4472
4473 2009-05-06 Gary Dismukes <dismukes@adacore.com>
4474
4475 * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
4476 Underlying_Type before retrieving the type definition for gathering
4477 components, to account for the case where the type is private.
4478
4479 2009-05-06 Tristan Gingold <gingold@adacore.com>
4480
4481 * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
4482
4483 2009-05-06 Thomas Quinot <quinot@adacore.com>
4484
4485 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
4486 g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
4487 g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
4488 (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
4489 Windows versions): Fix incorrect base
4490 address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
4491 (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
4492 System.Address for the To parameter instead of a Sockaddr_In_Access, to
4493 achieve independance from AF_INET family, and also to allow this
4494 parameter to be retrieved from a Msghdr for the Windows case where
4495 these routines are used to implement C_Sendmsg and C_Recvmsg.
4496
4497 2009-05-06 Bob Duff <duff@adacore.com>
4498
4499 * g-expect.adb, g-expect.ads: Minor reformatting
4500
4501 * sdefault.ads: Minor comment fix
4502
4503 * g-expect-vms.adb: Minor reformatting
4504
4505 * table.ads, table.adb (Append_All): New convenience procedure for
4506 appending a whole array.
4507
4508 * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
4509 box message. Call Osint.Dump_Source_File_Names to print out the file
4510 list, instead of rummaging around in various data structures.
4511
4512 * debug.adb: New switch -gnatd.n, to print source file names as they
4513 are read.
4514
4515 * alloc.ads: Add parameters for Osint.File_Name_Chars.
4516
4517 * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
4518 out source file names during a "bug box".
4519 (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
4520 (Read_Source_File): Print out the file name, if requested via -gnatd.n.
4521 If it's not part of the runtimes, store it for later printing by
4522 Dump_Source_File_Names.
4523
4524 2009-05-06 Javier Miranda <miranda@adacore.com>
4525
4526 * gnat_rm.texi (CPP_Constructor): Avoid duplication of the
4527 documentation and add reference to the GNAT user guide for further
4528 details.
4529
4530 2009-05-06 Javier Miranda <miranda@adacore.com>
4531
4532 * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
4533 also wrong examples that use extension aggregates.
4534
4535 2009-05-06 Albert Lee <lee@adacore.com>
4536
4537 * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
4538 of Msg_Iovlen_T for VMS.
4539
4540 2009-05-04 Laurent GUERBY <laurent@guerby.net>
4541
4542 PR ada/38874
4543 * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
4544
4545 2009-04-29 Ed Schonberg <schonberg@adacore.com>
4546
4547 * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
4548 box-defaulted operator in an instantiation, when the type of the
4549 operands is not directly visible.
4550
4551 2009-04-29 Gary Dismukes <dismukes@adacore.com>
4552
4553 * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
4554 (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
4555 analysis of the ancestor part. Remove prohibition against limited
4556 interpretations of the ancestor expression in the case of Ada 2005.
4557 Revise error message in overloaded case, adding a message to cover
4558 the Ada 2005 case.
4559
4560 2009-04-29 Thomas Quinot <quinot@adacore.com>
4561
4562 * xoscons.adb: Minor reformatting
4563
4564 2009-04-29 Bob Duff <duff@adacore.com>
4565
4566 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
4567 attribute_definition_clauses for the following attributes when the
4568 -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
4569 Storage_Size, Write. Otherwise, we get spurious errors (for example,
4570 missing Read attribute on remote types).
4571
4572 * gnat_ugn.texi: Document the change, and add a stern warning.
4573
4574 2009-04-29 Ed Schonberg <schonberg@adacore.com>
4575
4576 * sem_attr.adb (Check_Local_Access): Indicate that value tracing is
4577 disabled not just for the current scope, but for the innermost dynamic
4578 scope as well.
4579
4580 2009-04-29 Arnaud Charlet <charlet@adacore.com>
4581
4582 * gcc-interface/Make-lang.in: Update dependencies
4583
4584 2009-04-29 Vincent Celier <celier@adacore.com>
4585
4586 * prj-part.adb: Minor comment update
4587
4588 2009-04-29 Ed Schonberg <schonberg@adacore.com>
4589
4590 * sem_aggr.adb (Resolve_Record_Aggregate): handle properly
4591 box-initialized records with discriminated subcomponents that are
4592 constrained by discriminants of enclosing components. New subsidiary
4593 procedures Add_Discriminant_Values, Propagate_Discriminants.
4594
4595 2009-04-29 Arnaud Charlet <charlet@adacore.com>
4596
4597 * g-socket.adb: Code clean up.
4598
4599 2009-04-29 Gary Dismukes <dismukes@adacore.com>
4600
4601 * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
4602 function entity, to cover the case of a parameterless function call
4603 that has not been resolved.
4604
4605 2009-04-29 Robert Dewar <dewar@adacore.com>
4606
4607 * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
4608 reformatting and comment updates.
4609
4610 2009-04-29 Arnaud Charlet <charlet@adacore.com>
4611
4612 * gnat_ugn.texi: Update some documentation about interfacing with C++
4613 Mention -fkeep-inline-functions.
4614
4615 * gnat_ugn.texi: Minor edits
4616
4617 2009-04-29 Ed Schonberg <schonberg@adacore.com>
4618
4619 * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
4620 for a defaulted component of an enclosing aggregate, inherit the type
4621 from the component declaration of the enclosing type.
4622
4623 2009-04-29 Albert Lee <lee@adacore.com>
4624
4625 * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
4626 g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
4627 (System.OS_Constants): New type Msg_Iovlen_T which follows whether the
4628 msg_iovlen field in struct msghdr is 32 or 64 bits wide.
4629 Relocate the Msghdr record type from GNAT.Sockets.Thin to
4630 GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
4631 type for the Msg_Iovlen field.
4632
4633 2009-04-29 Vincent Celier <celier@adacore.com>
4634
4635 * sinput-l.adb (Load_File): When preprocessing, set temporarily the
4636 Source_File_Index_Table entries for the source, to avoid crash when
4637 reporting an error.
4638
4639 * gnatcmd.adb (Test_If_Relative_Path): Use
4640 Makeutl.Test_If_Relative_Path.
4641
4642 * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
4643 Including_RTS is True.
4644
4645 * makeutl.ads (Test_If_Relative_Path): New Boolean parameter
4646 Including_RTS defaulted to False.
4647
4648 * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
4649 a default value.
4650
4651 2009-04-29 Javier Miranda <miranda@adacore.com>
4652
4653 * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
4654
4655 2009-04-29 Javier Miranda <miranda@adacore.com>
4656
4657 * sem_ch3.adb (Analyze_Object_Declaration): Disable error message
4658 associated with dyamically tagged expressions if the expression
4659 initializing a tagged type corresponds with a non default CPP
4660 constructor.
4661 (OK_For_Limited_Init): CPP constructor calls are OK for initialization
4662 of limited type objects.
4663
4664 * sem_ch5.adb (Analyze_Assignment): Improve the error message reported
4665 when a CPP constructor is called in an assignment. Disable also the
4666 error message associated with dyamically tagged expressions if the
4667 exporession initializing a tagged type corresponds with a non default
4668 CPP constructor.
4669
4670 * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
4671 non-default C++ constructors.
4672
4673 * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
4674
4675 * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
4676 non-default constructors.
4677 (Init_Proc): Add support for non-default constructors.
4678
4679 * exp_disp.adb (Set_Default_Constructor): Removed.
4680 (Set_CPP_Constructors): Code based in removed Set_Default_Constructor
4681 but extending its functionality to handle non-default constructors.
4682
4683 * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
4684 constructors. Minor code cleanup removing unrequired label and goto
4685 statement.
4686
4687 * exp_ch3.adb (Build_Initialization_Call): Add support for non-default
4688 constructors.
4689 (Build_Init_Statements): Add support for non-default constructors.
4690 (Expand_N_Object_Declaration): Add support for non-default constructors.
4691 (Freeze_Record_Type): Replace call to Set_Default_Constructor by call
4692 to Set_CPP_Constructors.
4693
4694 * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
4695 non-default constructors.
4696 Required to handle its use in build-in-place statements.
4697
4698 * gnat_rm.texi (CPP_Constructor): Document new extended use of this
4699 pragma for non-default C++ constructors and the new compiler support
4700 that allows the use of these constructors in record components, limited
4701 aggregates, and extended return statements.
4702
4703 2009-04-29 Vincent Celier <celier@adacore.com>
4704
4705 * prj-part.adb (Parse_Single_Project): Do not attempt to find a
4706 project extending an abstract project.
4707
4708 2009-04-29 Eric Botcazou <ebotcazou@adacore.com>
4709
4710 * targparm.ads: Fix oversight.
4711
4712 2009-04-29 Ed Schonberg <schonberg@adacore.com>
4713
4714 * lib-xref.adb (Output_Overridden_Op): Follow several levels of
4715 derivation when necessary, to find the user-subprogram that is actally
4716 being overridden.
4717
4718 2009-04-29 Robert Dewar <dewar@adacore.com>
4719
4720 * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
4721 components
4722
4723 2009-04-29 Ed Schonberg <schonberg@adacore.com>
4724
4725 * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
4726 primitive operation, rather than source line of synchronized type, when
4727 building the wrapper for a primitive operation that overrides an
4728 operation inherited from a progenitor, to improve the error message on
4729 duplicate declarations.
4730
4731 * sem_ch3.adb (Process_Full_View): Use new signature of
4732 Build_Wrapper_Spec.
4733
4734 2009-04-29 Robert Dewar <dewar@adacore.com>
4735
4736 * prj-nmsc.ads: Minor reformatting
4737
4738 2009-04-29 Eric Botcazou <ebotcazou@adacore.com>
4739
4740 * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
4741 expression on the existing parent If statement.
4742
4743 2009-04-29 Robert Dewar <dewar@adacore.com>
4744
4745 * prj-proc.adb, prj.ads: Minor reformatting
4746
4747 2009-04-29 Eric Botcazou <ebotcazou@adacore.com>
4748
4749 * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
4750 existing parent If statement on the newly created one.
4751
4752 2009-04-29 Emmanuel Briot <briot@adacore.com>
4753
4754 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
4755 prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
4756 prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
4757 (Set_In_Configuration, In_Configuration): Removed.
4758 Replaced by an extra parameter Is_Config_File in several parameter to
4759 avoid global variables to store the state of the parser.
4760
4761 2009-04-29 Ed Schonberg <schonberg@adacore.com>
4762
4763 * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
4764 with_clauses generated for the same unit through rtsfind, and that
4765 appear in the context of different units.
4766
4767 * rtsfind.adb: New attribute First_Implicit_With, component of the
4768 Unit_Record that stores information about a unit loaded through rtsfind.
4769
4770 2009-04-29 Gary Dismukes <dismukes@adacore.com>
4771
4772 * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
4773 (other conditions permitting), so that abstract stream subprograms will
4774 be declared for them.
4775
4776 2009-04-29 Bob Duff <duff@adacore.com>
4777
4778 * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
4779
4780 * g-expect.ads: Minor comment fixes.
4781
4782 2009-04-29 Ed Schonberg <schonberg@adacore.com>
4783
4784 * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
4785 dispatching operation is a body without previous spec, update the list
4786 of primitive operations to ensure that cross-reference information is
4787 up-to-date.
4788
4789 2009-04-29 Albert Lee <lee@adacore.com>
4790
4791 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
4792 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
4793 g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
4794 (GNAT.Sockets.Thin.C_Readv,
4795 GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
4796 (GNAT.Sockets.Thin.C_Recvmsg,
4797 GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
4798 sendmsg(2).
4799 (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
4800 C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
4801
4802 2009-04-29 Ed Schonberg <schonberg@adacore.com>
4803
4804 * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
4805 operation is a body without previous spec, update the list of
4806 primitive operations to ensure that cross-reference information is
4807 up-to-date.
4808
4809 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
4810 new compilation unit node for the instance declaration, keep the
4811 context items of the original unit on it, so that the context of the
4812 instance body only holds the context inherited from the generic body.
4813
4814 2009-04-29 Bob Duff <duff@adacore.com>
4815
4816 * sem_res.adb: Minor comment fix.
4817
4818 2009-04-29 Thomas Quinot <quinot@adacore.com>
4819
4820 * sem_elim.adb: Minor reformatting
4821
4822 2009-04-29 Ed Schonberg <schonberg@adacore.com>
4823
4824 * exp_aggr.adb (Convert_To_Positional): if the current unit is a
4825 predefined unit, allow arbitrary number of components in static
4826 aggregate, to ensure that the same level of constant folding applies
4827 for Ada 95 and Ada 05 versions of the file.
4828
4829 2009-04-29 Ed Schonberg <schonberg@adacore.com>
4830
4831 * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
4832 information: no need for full scope check.
4833 (Eliminate_Error): Do not emit error in a generic context.
4834
4835 2009-04-29 Ed Falis <falis@adacore.com>
4836
4837 * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
4838 VxWorks 653 POS does not support rmdir.
4839
4840 2009-04-29 Matteo Bordin <bordin@adacore.com>
4841
4842 * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
4843 results are printed.
4844
4845 2009-04-29 Arnaud Charlet <charlet@adacore.com>
4846
4847 * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
4848 unused assignment.
4849
4850 2009-04-29 Thomas Quinot <quinot@adacore.com>
4851
4852 * make.adb: Minor reformatting.
4853 Minor code reorganization throughout.
4854
4855 2009-04-29 Matteo Bordin <bordin@adacore.com>
4856
4857 * s-stausa.ads: Changed visibility of type Task_Result: moved to
4858 public part to give application visibility over it.
4859 This is for future improvement and to build a public API on top of it.
4860 Changed record components name of type Task_Result to reflect the new
4861 way of reporting.
4862
4863 * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
4864 reporting Stack usage.
4865
4866 * gnat_ugn.texi: Update doc of stack usage report.
4867
4868 * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
4869
4870 * Makefile.rtl: Add new run-time files.
4871
4872 2009-04-29 Pascal Obry <obry@adacore.com>
4873
4874 * initialize.c: Do not expand quoted arguments.
4875
4876 2009-04-29 Emmanuel Briot <briot@adacore.com>
4877
4878 * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
4879
4880 * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
4881 Prj.Ultimate_Extending_Project_Of
4882
4883 2009-04-29 Ed Schonberg <schonberg@adacore.com>
4884
4885 * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
4886 Amendment type, add the with_clause for Finalization.List_Controller
4887 only if the current context is a package body.
4888
4889 2009-04-29 Thomas Quinot <quinot@adacore.com>
4890
4891 * sem_ch12.adb: Minor reformatting
4892
4893 * sem_aggr.adb: Minor reformatting
4894
4895 * sem_ch6.adb, sem_cat.ads: Minor reformatting
4896
4897 * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
4898
4899 2009-04-29 Quentin Ochem <ochem@adacore.com>
4900
4901 * prj.ads (Source_Id): Now general pointer type.
4902
4903 2009-04-29 Thomas Quinot <quinot@adacore.com>
4904
4905 * exp_ch7.adb, rtsfind.adb: Minor reformatting
4906
4907 * sem_res.adb: Minor reformatting
4908
4909 2009-04-29 Thomas Quinot <quinot@adacore.com>
4910
4911 * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
4912 operands is static only if it is a predefined concatenation operator.
4913
4914 * sem_util.adb: Minor reformatting
4915
4916 * sem_ch12.adb (Save_References): When propagating semantic information
4917 from generic copy back to generic template, for the case of an
4918 identifier that has been rewritten to an explicit dereference whose
4919 prefix is either an object name or a parameterless funcion call
4920 denoting a global object or function, properly capture the denoted
4921 global entity: perform the corresponding rewriting in the template,
4922 and point the rewritten identifier to the correct global entity (not
4923 to the associated identifier in the generic copy).
4924
4925 2009-04-29 Robert Dewar <dewar@adacore.com>
4926
4927 * rtsfind.adb, prj-env.adb: Minor reformatting
4928 Minor code reorganization
4929
4930 2009-04-29 Emmanuel Briot <briot@adacore.com>
4931
4932 * make.adb: Fix comment
4933
4934 * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
4935 is given as argument, as might happen in gnatmake.
4936
4937 2009-04-29 Ed Schonberg <schonberg@adacore.com>
4938
4939 * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
4940 an abstract operation of a progenitor is not properly overridden by an
4941 operation of a derived synchronized type.
4942
4943 2009-04-29 Robert Dewar <dewar@adacore.com>
4944
4945 * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
4946 prj-proc.adb: Minor reformatting
4947 Minor code reorganization
4948
4949 2009-04-29 Bob Duff <duff@adacore.com>
4950
4951 * exp_ch7.adb (Build_Final_List): For an access type that designates a
4952 Taft Amendment type, if the access type needs finalization, make sure
4953 the implicit with clause for List_Controller occurs on the package spec.
4954
4955 * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
4956 with's created for the pseudo-children of Text_IO and friends. In
4957 particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
4958 Ada.Text_IO.Integer_IO both with-ing each other.
4959
4960 * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
4961 oddball cases when pragma Extend_System is used.
4962
4963 * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
4964 the case where a package spec instantiates a generic whose body with's
4965 this package, so Walk_Library_Items won't complain about cyclic with's.
4966
4967 2009-04-29 Emmanuel Briot <briot@adacore.com>
4968
4969 * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
4970 prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
4971 mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
4972 (Project_Id): now a real pointer to Project_Data, instead of an index
4973 into the Projects_Table. This simplifies the API significantly, avoiding
4974 extra lookups in this table and the need to pass the Project_Tree_Ref
4975 parameter in several cases
4976
4977 2009-04-29 Nicolas Setton <setton@adacore.com>
4978
4979 * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
4980 darwin.
4981
4982 2009-04-25 Eric Botcazou <ebotcazou@adacore.com>
4983
4984 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
4985 back kludge.
4986
4987 2009-04-24 Robert Dewar <dewar@adacore.com>
4988
4989 * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
4990 clean.adb: Minor reformatting.
4991 Minor code reorganization and message improvement.
4992
4993 2009-04-24 Emmanuel Briot <briot@adacore.com>
4994
4995 * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
4996 (Alternate_Languages): now implemented as a malloc-ed list rather
4997 than through a table.
4998
4999 2009-04-24 Thomas Quinot <quinot@adacore.com>
5000
5001 * sem_res.adb (Static_Concatenation): Simplify predicate to make it
5002 accurately handle cases such as "lit" & "lit" and
5003 "lit" & static_string_constant
5004
5005 2009-04-24 Emmanuel Briot <briot@adacore.com>
5006
5007 * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
5008 prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
5009 removed. Lists of projects are now implemented via standard malloc
5010 rather than through the table.
5011
5012 2009-04-24 Thomas Quinot <quinot@adacore.com>
5013
5014 * sem_ch12.adb: Minor reformatting
5015
5016 * g-trasym.adb: Minor reformatting
5017
5018 * exp_ch6.adb: Minor reformatting
5019
5020 2009-04-24 Robert Dewar <dewar@adacore.com>
5021
5022 * layout.adb (Layout_Type): For packed array type, copy unset
5023 size/alignment fields from the referenced Packed_Array_Type.
5024
5025 2009-04-24 Bob Duff <duff@adacore.com>
5026
5027 * lib-load.adb (Make_Instance_Unit): Revert previous change, no
5028 longer needed after sem_ch12 changes.
5029
5030 * sem.adb (Walk_Library_Items): Include with's in some debugging
5031 printouts.
5032
5033 2009-04-24 Emmanuel Briot <briot@adacore.com>
5034
5035 * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
5036 only ever using the Project field.
5037
5038 2009-04-24 Ed Schonberg <schonberg@adacore.com>
5039
5040 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
5041 Body_Required on the generated compilation node. The new node is linked
5042 to its body, but both share the same file, so we do not set this flag
5043 on the new unit so as not to create a spurious dependency on a
5044 non-existent body in the ali file for the instance.
5045
5046 2009-04-24 Robert Dewar <dewar@adacore.com>
5047
5048 * make.adb: Minor reformatting
5049
5050 2009-04-24 Emmanuel Briot <briot@adacore.com>
5051
5052 * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
5053 Add_Source): merge some code between those. In particular change where
5054 file normalization is done to avoid a few extra calls to
5055 Canonicalize_File_Name. This also removes the need for passing
5056 Current_Dir in a number of subprograms.
5057
5058 2009-04-24 Bob Duff <duff@adacore.com>
5059
5060 * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
5061 False, assign the correct unit to the Cunit field of the new table
5062 entry. We want the spec unit, not the body unit.
5063
5064 * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
5065 interface for these.
5066 (Maybe_Add_With): Check whether we're trying to a with on the current
5067 unit, and avoid creating such directly self-referential with clauses.
5068 (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
5069 [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
5070 and matches existing comments in the spec.
5071
5072 * sem.adb (Walk_Library_Items): Add various special cases to make the
5073 assertions pass.
5074
5075 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
5076 instead of Parent (N), for uniformity.
5077
5078 2009-04-24 Robert Dewar <dewar@adacore.com>
5079
5080 * errout.ads: Minor reformatting
5081
5082 2009-04-24 Emmanuel Briot <briot@adacore.com>
5083
5084 * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
5085 behavior when the project includes sources from multiple languages
5086
5087 2009-04-24 Vincent Celier <celier@adacore.com>
5088
5089 * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
5090 is a language other than Ada declared.
5091
5092 * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
5093 Imported_First set to True.
5094
5095 2009-04-24 Ed Schonberg <schonberg@adacore.com>
5096
5097 * sem_res.adb: additional optimization to inhibit creation of
5098 redundant transient scopes.
5099
5100 2009-04-24 Bob Duff <duff@adacore.com>
5101
5102 * rtsfind.ads: Minor comment fix
5103
5104 2009-04-24 Emmanuel Briot <briot@adacore.com>
5105
5106 * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
5107 Get_Path_Name_And_Record_Ada_Sources): merged, since these were
5108 basically doing the same work (for explicit or implicit sources).
5109 (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
5110 role. Rewritten to share some code (testing that all explicit sources
5111 have been found) between ada_only and multi_language modes.
5112
5113 2009-04-24 Jerome Lambourg <lambourg@adacore.com>
5114
5115 * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
5116 for CLI imported types.
5117 (Analyze_Pragma): Allow CIL or Java imported functions returning
5118 access-to-subprogram types.
5119
5120 2009-04-24 Emmanuel Briot <briot@adacore.com>
5121
5122 * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
5123 (Project_Data.Dir_Path): field removed, since it can be computed
5124 directly from .Directory, and is needed only once when processing the
5125 project is buildgpr.adb or make.adb
5126
5127 2009-04-24 Robert Dewar <dewar@adacore.com>
5128
5129 * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
5130 rtsfind.adb: Minor reformatting.
5131 Minor code reorganization
5132
5133 2009-04-24 Arnaud Charlet <charlet@adacore.com>
5134
5135 * mlib-prj.adb: Use friendlier english identifier.
5136
5137 * gnatcmd.adb, make.adb: Use better english identifiers.
5138
5139 2009-04-24 Robert Dewar <dewar@adacore.com>
5140
5141 * clean.adb: Minor reformatting
5142
5143 2009-04-24 Robert Dewar <dewar@adacore.com>
5144
5145 * einfo.adb (OK_To_Rename): New flag
5146
5147 * einfo.ads (OK_To_Rename): New flag
5148
5149 * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
5150 OK_To_Rename set.
5151
5152 * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
5153
5154 * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
5155 OK_To_Rename.
5156
5157 2009-04-24 Emmanuel Briot <briot@adacore.com>
5158
5159 * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
5160 clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
5161 field removed. This is not a property of the
5162 project, just a boolean used to traverse the project tree, and storing
5163 it in the structure prevents doing multiple traversal in parallel.
5164 (Project_Data.Checked): also removed, since it was playing the same role
5165 as Seen when we had two nested loops, and this is no longer necessary
5166 (For_All_Imported_Projects): removed, since in fact there was already
5167 the equivalent in For_Every_Project_Imported. The latter was rewritten
5168 to use a local hash table instead of Project_Data.Seen
5169 Various loops were rewritten to use For_Every_Project_Imported, thus
5170 removing the need for Project_Data.Seen. This avoids a lot of code
5171 duplication
5172
5173 2009-04-24 Ed Schonberg <schonberg@adacore.com>
5174
5175 * sem_res.adb (Resolve_Actuals): Do not create blocks around code
5176 statements, even though the actual of the call is a concatenation,
5177 because the argument is static, and we want to preserve warning
5178 messages about sequences of code statements that are not marked
5179 volatile.
5180
5181 * sem_warn.adb: remove obsolete comment about warning being obsolete
5182
5183 * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
5184 requeued and the delay has expired while within the accept statement
5185 that executes the requeue, do not perform the requeue and indicate that
5186 the timed call has been aborted.
5187
5188 2009-04-24 Emmanuel Briot <briot@adacore.com>
5189
5190 * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
5191 (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
5192 (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
5193 since they can be computed from the above.
5194
5195 2009-04-24 Vincent Celier <celier@adacore.com>
5196
5197 * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
5198
5199 * prj-env.adb: Move all global variables to the private part of the
5200 project tree data.
5201 Access these new components instead of the global variables no longer
5202 in existence.
5203 (Add_To_Path): New Project_Tree_Ref parameter, to access the new
5204 components that were previously global variables.
5205
5206 * prj-env.ads (Initialize): New Project_Tree_Ref parameter
5207 (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
5208 parameter.
5209
5210 * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
5211 be able to call Set_Mapping_File_Initial_State_To_Empty with it.
5212
5213 * prj.adb (Initialize): Do not call Prj.Env.Initialize
5214 (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
5215 components in the private part of the project tree data.
5216
5217 * prj.ads (Private_Project_Tree_Data): new components moved from
5218 Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
5219 Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
5220 Ada_Prj_Objects_File_Set, Fill_Mapping_File.
5221
5222 2009-04-24 Vincent Celier <celier@adacore.com>
5223
5224 * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
5225
5226 * prj-nmsc.adb (Check_Library): No error for imports by shared library
5227 projects, when --unchecked-shared-lib-imports is used.
5228
5229 2009-04-24 Robert Dewar <dewar@adacore.com>
5230
5231 * sem_ch7.adb: Minor reformatting
5232
5233 2009-04-24 Tristan Gingold <gingold@adacore.com>
5234
5235 * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
5236 mach thread id.
5237
5238 2009-04-24 Emmanuel Briot <briot@adacore.com>
5239
5240 * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
5241 Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
5242 (For_All_Imported_Projects): new procedure
5243 (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
5244 above rather than duplicating code.
5245
5246 2009-04-24 Emmanuel Briot <briot@adacore.com>
5247
5248 * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
5249 (Source_Id, Source_Data): use a real list to store sources rather than
5250 using an external table to store the elements. This makes code more
5251 efficient and more readable.
5252
5253 2009-04-24 Emmanuel Briot <briot@adacore.com>
5254
5255 * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
5256 (Source_Iterator): new type.
5257 This removes the need for having the sources on three different
5258 lists at the project tree, project and language level. They are now
5259 on a single list.
5260
5261 2009-04-24 Emmanuel Briot <briot@adacore.com>
5262
5263 * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
5264
5265 2009-04-24 Ed Schonberg <schonberg@adacore.com>
5266
5267 * sem_warn.adb: Add comment on obsolete warning
5268
5269 2009-04-24 Arnaud Charlet <charlet@adacore.com>
5270
5271 * s-tassta.adb (Create_Task): Fix violation of locking rule.
5272
5273 2009-04-24 Emmanuel Briot <briot@adacore.com>
5274
5275 * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
5276 to Language_Ptr to better reflect its new implementation.
5277 (Project_Data.First_Languages_Processing): renamed to Languages now
5278 that the field with that name is no longer used
5279 (Project_Data.Languages): removed, no longer used, and duplicates
5280 information already available through First_Language_Processing.
5281 (Prj.Language_Index): now an actual pointer, instead of an index into
5282 a table. This makes the list somewhat more obvious, but more importantly
5283 removes the need to pass a pointer to the project_tree_data in a few
5284 places, and makes accessing the attributes of a languages more
5285 efficient.
5286
5287 2009-04-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5288 Thomas Quinot <quinot@adacore.com>
5289
5290 * fe.h (Set_Identifier_Casing): Add const to second parameter.
5291 * gcc-interface/misc.c (internal_error_function): Make copy of return
5292 from pp_formatted_text before assigning BUFFER to it.
5293 (gnat_init): Likewise for main_input_filename and gnat_argv.
5294 (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
5295
5296 2009-04-24 Eric Botcazou <ebotcazou@adacore.com>
5297
5298 * ttypes.ads (Target_Double_Float_Alignment): New variable.
5299 (Target_Double_Scalar_Alignment): Likewise.
5300 * get_targ.ads (Get_Strict_Alignment): Adjust external name.
5301 (Get_Double_Float_Alignment): New imported function.
5302 (Get_Double_Scalar_Alignment): Likewise.
5303 * layout.adb (Set_Elem_Alignment): Take into account specific caps for
5304 the alignment of "double" floating-point types and "double" or larger
5305 scalar types, as parameterized by Target_Double_Float_Alignment and
5306 Target_Double_Scalar_Alignment respectively.
5307 * gcc-interface/gigi.h (double_float_alignment): Declare.
5308 (double_scalar_alignment): Likewise.
5309 (is_double_float_or_array): Likewise.
5310 (is_double_scalar_or_array): Likewise.
5311 (get_target_double_float_alignment): Likewise.
5312 (get_target_double_scalar_alignment): Likewise.
5313 * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
5314 (get_target_strict_alignment): ...this.
5315 (get_target_double_float_alignment): New function.
5316 (get_target_double_scalar_alignment): Likewise.
5317 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
5318 Test the presence of an alignment clause for under-aligned integer
5319 types. Take into account specific caps for the alignment of "double"
5320 floating-point types and "double" or larger scalar types, as
5321 parameterized by Target_Double_Float_Alignment and
5322 Target_Double_Scalar_Alignment respectively.
5323 (validate_alignment): Likewise.
5324 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
5325 (gigi): Initialize double_float_alignment and double_scalar_alignment.
5326 * gcc-interface/utils.c (double_float_alignment): New global variable.
5327 (double_scalar_alignment): Likewise.
5328 (is_double_float_or_array): New predicate.
5329 (is_double_scalar_or_array): Likewise.
5330
5331 2009-04-24 Eric Botcazou <ebotcazou@adacore.com>
5332
5333 * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
5334 the conditional expression only if it is common to both arms.
5335
5336 2009-04-24 Eric Botcazou <ebotcazou@adacore.com>
5337
5338 * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
5339 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
5340 arguments to build_allocator.
5341 * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
5342 Remove code handling special allocator and assert its uselessness.
5343
5344 2009-04-24 Eric Botcazou <ebotcazou@adacore.com>
5345
5346 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
5347 alignment is specified, do not promote that of the component type
5348 beyond it.
5349 <E_Array_Subtype>: Likewise.
5350
5351 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
5352
5353 * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
5354 * sinfo.ads (Object Declaration): Likewise.
5355 (Assignment Statement): Likewise.
5356 * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
5357 Do not force Is_True_Constant to false on the temporary.
5358 (Freeze_Entity): Do not force Is_True_Constant to false on names on
5359 the RHS of object declarations.
5360 * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
5361 New case. Return 1 if the object is atomic.
5362 <N_Assignment_Statement>: Likewise.
5363
5364 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
5365
5366 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
5367 For packed array types, make the original array type a parallel type
5368 for the modular type and its JM wrapper if the type is bit-packed.
5369 <E_Array_Subtype>: Likewise. Do not generate the special XA parallel
5370 record type for packed array types. Remove kludge.
5371
5372 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
5373
5374 * gcc-interface/gigi.h (create_index_type): Adjust head comment.
5375 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
5376 Use front-end predicates to compute signedness and precision.
5377 <E_String_Literal_Subtype>: Fold range type.
5378 Make sure to set longest_float_type_node to a scalar type.
5379 (elaborate_entity): Use consistent Constraint_Error spelling.
5380 (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
5381 * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
5382 output for the modulus, if any.
5383 <ENUMERAL_TYPE>: Likewise for the RM size.
5384 * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
5385 spelling.
5386 * gcc-interface/utils.c (finish_record_type): Really test the alignment
5387 of BLKmode bit-fields to compute their addressability.
5388 (create_index_type): Adjust comments.
5389 (create_param_decl): Create the biased subtype manually.
5390 * gcc-interface/utils2.c (build_component_ref): Use consistent
5391 Constraint_Error spelling.
5392
5393 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
5394
5395 * gcc-interface/cuintp.c: Clean up include directives.
5396 * gcc-interface/targtyps.c: Likewise.
5397 * gcc-interface/decl.c: Likewise.
5398 * gcc-interface/misc.c: Likewise.
5399 * gcc-interface/trans.c: Likewise.
5400 * gcc-interface/utils.c: Likewise.
5401 * gcc-interface/utils2.c: Likewise.
5402 * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
5403
5404 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
5405
5406 * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
5407 (SET_TYPE_LANG_SPECIFIC): Likewise. Fix formatting.
5408 (SET_DECL_LANG_SPECIFIC): Likewise.
5409 Reorder macros.
5410 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
5411 Update comment about use of build_range_type.
5412 <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
5413 <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
5414 check for other cases of overloading.
5415 * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
5416 * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
5417 Use size_int in lieu of build_int_cst.
5418 (build_call_alloc_dealloc): Use build_index_2_type in lieu of
5419 build_range_type.
5420
5421 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
5422
5423 * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
5424 type is an enumeral or a boolean type, change it to an integer type
5425 with the same mode and signedness.
5426
5427 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
5428
5429 * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
5430 for an external constant whose initializer is not absolute.
5431
5432 2009-04-22 Taras Glek <tglek@mozilla.com>
5433
5434 * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
5435 * gcc-interface/trans.c: Likewise.
5436 * gcc-interface/utils.c: Likewise.
5437
5438 2009-04-22 Ed Schonberg <schonberg@adacore.com>
5439
5440 * sem_res.adb: Create block around procedure call when actual is a
5441 concatenation.
5442
5443 2009-04-22 Thomas Quinot <quinot@adacore.com>
5444
5445 * s-soflin.ads: Fix typos
5446
5447 2009-04-22 Vincent Celier <celier@adacore.com>
5448
5449 * prj-env.adb: Minor comment change
5450
5451 * prj-nmsc.adb (Check_Common): Add guard to avoid calling
5452 Get_Name_String with No_File.
5453
5454 * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
5455 cannot be created even when not in verbose mode.
5456
5457 2009-04-22 Emmanuel Briot <briot@adacore.com>
5458
5459 * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
5460 prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
5461 Multi_Language modes, to avoid code duplication.
5462 (Project_Data.Include_Language): Removed.
5463
5464 2009-04-22 Vincent Celier <celier@adacore.com>
5465
5466 * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
5467 the temporary file cannot be created, indicating the directory when the
5468 creation was attempted.
5469
5470 2009-04-22 Emmanuel Briot <briot@adacore.com>
5471
5472 * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
5473 the language names, not their indices.
5474
5475 2009-04-22 Emmanuel Briot <briot@adacore.com>
5476
5477 * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
5478 (Source_Data.Language_Name): Field removed.
5479
5480 2009-04-22 Emmanuel Briot <briot@adacore.com>
5481
5482 * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
5483 Two fields removed.
5484
5485 2009-04-22 Emmanuel Briot <briot@adacore.com>
5486
5487 * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
5488 separate_suffix to the same value as the body_suffix.
5489
5490 2009-04-22 Robert Dewar <dewar@adacore.com>
5491
5492 * prj.adb: Minor code reorganization
5493 Code clean up.
5494
5495 * prj-proc.adb: Minor code reorganization, clean up.
5496
5497 * prj-nmsc.adb: Minor reformatting
5498 Minor code reorganization
5499
5500 * gnat_ugn.texi: Add to doc on strict aliasing
5501
5502 2009-04-22 Pascal Obry <obry@adacore.com>
5503
5504 * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
5505 SpinCount.
5506
5507 * s-tasini.adb: Minor reformatting.
5508
5509 * s-tassta.adb: Minor reformatting.
5510
5511 2009-04-22 Emmanuel Briot <briot@adacore.com>
5512
5513 * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
5514 smaller subprograms.
5515 Renamed to Check_File_Naming_Schemes to avoid confusion with the
5516 other Check_Naming_Schemes functions that plays a totally different
5517 role.
5518 (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
5519 extracted from the above. These were partially rewritten to avoid
5520 unnecessary code and temporary variables.
5521 (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
5522 and Get_Unit (which for now still exist since they contain mode-specific
5523 code)
5524
5525 2009-04-22 Emmanuel Briot <briot@adacore.com>
5526
5527 * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
5528 Remove duplicated code.
5529 (Canonical_Case_File_Name): new subprogram
5530 (Check_And_Normalize_Unit_Names): new subprogram
5531 (Write_Attr): new subprogram
5532 Better sharing of code
5533 (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
5534 split Check_Naming and help find duplicated code
5535 (Check_Common): new subprogram, sharing code between ada_only and
5536 multi_language mode.
5537 (Naming_Data.Dot_Repl_Loc): field removed
5538
5539 2009-04-22 Emmanuel Briot <briot@adacore.com>
5540
5541 * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
5542 Minor refactoring to reduce the size of
5543 Process_Sources_In_Multi_Language_Mode.
5544 Avoid extra copied of Source_Data, which we found in the past could be
5545 quite slow.
5546 (Mark_Excluded_Sources): new subprogram.
5547 (Remove_Locally_Removed_Files_From_Units): merged into the above
5548 Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
5549 and allow better sharing of code between multi_lang and ada_only modes
5550 (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
5551
5552 2009-04-22 Emmanuel Briot <briot@adacore.com>
5553
5554 * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
5555 Removed, since unused.
5556
5557 2009-04-22 Vincent Celier <celier@adacore.com>
5558
5559 * prj-attr.adb: New single project level attribute
5560 Separate_Run_Path_Options.
5561
5562 * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
5563 attribute Seperate_Run_Path_Options.
5564
5565 * prj.ads: (Project_Configuration): New Boolean component
5566 Separate_Run_Path_Options, defaulted to False.
5567
5568 * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
5569
5570 2009-04-22 Robert Dewar <dewar@adacore.com>
5571
5572 * sem_type.adb: Minor reformatting
5573
5574 * mlib.adb: Minor reformatting
5575
5576 * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
5577 syntax error.
5578
5579 2009-04-22 Nicolas Setton <setton@adacore.com>
5580
5581 * link.c: Add flag __gnat_separate_run_path_options.
5582
5583 * mlib.adb (Separate_Run_Path_Options): New subprogram.
5584
5585 * mlib.ads (Separate_Run_Path_Options): Declare.
5586
5587 * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
5588 switch per directory, rather than one "rpath" switch listing all
5589 directories.
5590
5591 * gnatlink.adb (Process_Binder_File): Likewise.
5592
5593 * make.adb (Gnatmake): Likewise.
5594
5595 2009-04-22 Hristian Kirtchev <kirtchev@adacore.com>
5596
5597 * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
5598 Add a call to Move_Final_List when the target of the assignment is a
5599 return object that needs finalization and the expression is a
5600 controlled build-in-place function.
5601
5602 2009-04-22 Vincent Celier <celier@adacore.com>
5603
5604 * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
5605 Including_Libraries set to True.
5606
5607 2009-04-22 Ed Schonberg <schonberg@adacore.com>
5608
5609 * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
5610 create a unit table entry for the subprogram declaration created for a
5611 child suprogram body that has no separate specification.
5612
5613 * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
5614 subprogram body, call Make_Child_Decl_Unit.
5615
5616 * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
5617 table can only be the created specification of a child subprogram body
5618 that is the main unit, which has not been entered in the table yet.
5619
5620 * errout.adb (Output_Messages): Ignore created specification of a
5621 child subprogram body to prevent repeated listing of error messages.
5622
5623 * gnat1drv.adb (gnat1drv): The generated specification for a child
5624 subprogram body does not generate code.
5625
5626 2009-04-22 Arnaud Charlet <charlet@adacore.com>
5627
5628 * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
5629 since this unit is now part of bootstrap units, so must use Ada 95
5630 syntax only.
5631
5632 2009-04-22 Thomas Quinot <quinot@adacore.com>
5633
5634 * a-tasatt.adb: Minor reformatting
5635
5636 2009-04-22 Bob Duff <duff@adacore.com>
5637
5638 * s-stalib.ads: Remove "with System;" since we're inside System, so
5639 it's unnecessary.
5640
5641 2009-04-22 Vincent Celier <celier@adacore.com>
5642
5643 * prj-nmsc.adb (Add_Source): Always put the dependency file name in
5644 the source record, as there may be a dependency file even if no object
5645 file is created.
5646
5647 2009-04-22 Robert Dewar <dewar@adacore.com>
5648
5649 * lib-load.adb: Minor reformatting
5650
5651 * lib-load.ads: Minor reformatting
5652
5653 * sinfo.ads: Minor reformatting
5654
5655 2009-04-22 Bob Duff <duff@adacore.com>
5656
5657 * exp_pakd.adb: Minor comment fixes.
5658
5659 * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
5660 sem_ch12.adb: Change the meaning of the Library_Unit attribute to
5661 include units containing instantiations, as well as units that are
5662 generic instantiations.
5663
5664 * sem.adb: Include dependents and corresponding specs/bodies in the
5665 unit walk.
5666
5667 * gcc-interface/Make-lang.in:
5668 sem now depends on s-bitops, because of the packed array of Booleans.
5669
5670 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
5671
5672 * gcc-interface/ada-tree.def: Fix formatting nits.
5673 (REGION_STMT): Delete.
5674 (HANDLER_STMT): Likewise.
5675 * gcc-interface/ada-tree.h: Fix formatting nits.
5676 (IS_STMT): Delete.
5677 (REGION_STMT_BODY): Likewise.
5678 (REGION_STMT_HANDLE): Likewise.
5679 (REGION_STMT_BLOCK): Likewise.
5680 (HANDLER_STMT_ARG): Likewise.
5681 (HANDLER_STMT_LIST): Likewise.
5682 (HANDLER_STMT_BLOCK): Likewise.
5683 * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
5684 (fp_size_to_prec): Likewise.
5685 (largest_move_alignment): Delete.
5686 (gnat_compute_largest_alignment): Likewise.
5687 Fix minor nits.
5688 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
5689 Remove redundant code.
5690 <E_Array_Type>: Remove redundant assert.
5691 <E_Array_Subtype>: Exit early from index computation in pathological
5692 cases.
5693 Rewrite conditional assignment.
5694 (make_type_from_size): Likewise.
5695 * gcc-interface/misc.c (largest_move_alignment): Delete.
5696 (gnat_finish_incomplete_decl): Likewise.
5697 (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
5698 (asm_out_file): Likewise
5699 (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
5700 (gnat_dwarf_name): Move around.
5701 * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
5702 (gigi): Remove call to gnat_compute_largest_alignment.
5703 * utils.c (create_field_decl): Rewrite conditional assignment.
5704 Fix minor nits.
5705
5706 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
5707
5708 * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
5709 on entry. Defer common processing for types. Reorder and clean up.
5710 Compute the equivalent GNAT node and the default size for types only.
5711 <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
5712 <E_Access_Type>: For an unconstrained designated type, do not pretend
5713 that a dummy type is always made.
5714 <all> Fix nits in comments.
5715 (validate_size): Fix formatting nits and comments.
5716 (set_rm_size): Likewise.
5717 * gcc-interface/utils.c (create_param_decl): Replace bogus argument
5718 passed to TARGET_PROMOTE_PROTOTYPES hook.
5719
5720 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
5721
5722 * fe.h (Get_External_Name): Declare.
5723 * gcc-interface/gigi.h (concat_id_with_name): Rename to...
5724 (concat_name): ...this.
5725 * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
5726 gnu_entity_name and adjust for above renaming.
5727 <E_Access_Type>: Use create_concat_name to get the name of the various
5728 types associated with unconstrained array types.
5729 (make_aligning_type): Adjust for above renaming.
5730 (maybe_pad_type): Likewise.
5731 (components_to_record): Likewise. Use get_identifier_with_length for
5732 the encoding of the variant.
5733 (get_entity_name): Use get_identifier_with_length.
5734 (create_concat_name): Likewise. Use Get_External_Name if no suffix.
5735 Do not fiddle with Name_Buffer.
5736 (concat_id_with_name): Rename to...
5737 (concat_name): ...this. Use get_identifier_with_length. Do not fiddle
5738 with Name_Buffer.
5739 * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
5740 above renaming.
5741
5742 2009-04-21 Joseph Myers <joseph@codesourcery.com>
5743
5744 * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
5745 license notices.
5746
5747 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
5748
5749 * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
5750
5751 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
5752
5753 * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
5754 (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
5755 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
5756 Remove useless support code for packed array types and assert its
5757 uselessness.
5758 <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
5759 adjust for TYPE_RM_SIZE change.
5760 <all> Fix nits in comments. Use Original_Array_Type accessor instead
5761 of Associated_Node_For_Itype accessor for packed array types.
5762 (make_packable_type): Likewise.
5763 (maybe_pad_type): Likewise.
5764 (set_rm_size): Likewise. Rework conditional statement. Adjust for
5765 TYPE_RM_SIZE change.
5766 (make_type_from_size): Adjust for TYPE_RM_SIZE change.
5767 (rm_size): Fix nits in comments. Rework conditional statements.
5768 * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
5769 change.
5770 * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
5771 * gcc-interface/utils.c (gnat_init_decl_processing): Use more
5772 appropriate function to initialize the size_type_node. Adjust for
5773 TYPE_RM_SIZE change.
5774
5775 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
5776
5777 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
5778 for imported subprograms.
5779
5780 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
5781
5782 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
5783 constant objects covered by 13.3(19) volatile.
5784
5785 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
5786
5787 * gcc-interface/utils.c (create_type_decl): Do not pass declarations
5788 of dummy fat pointer types to the debug back-end.
5789
5790 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
5791
5792 * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
5793 <E_Signed_Integer_Subtype>: Set the RM size on the integer type
5794 before wrapping it up in the record type. Do not overwrite the
5795 Ada size of the record type with the Esize.
5796
5797 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
5798
5799 * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
5800 (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
5801 if the conversion is on the LHS of an assignment and a no-op.
5802 <all> Do not convert the result to the result type if the Parent
5803 node is such a conversion.
5804
5805 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
5806
5807 * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
5808 * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
5809 of types with unknown discriminants.
5810 (substitute_in_type): Rewrite and restrict to formal substitutions.
5811 * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
5812 (update_pointer_to): Update comment.
5813
5814 2009-04-20 Ed Schonberg <schonberg@adacore.com>
5815
5816 * sem_ch8.adb (Use_One_Package): In an instance, if two
5817 potentially_use_visible and non-overloadable homonyms are available
5818 from the actuals of distinct formal packages, retain the current one,
5819 which was visible in the generic, to prevent spurious visibility
5820 errors.
5821 (End_Use_Package): Restore use_visibility when needed.
5822
5823 2009-04-20 Sergey Rybin <rybin@adacore.com>
5824
5825 * gnat_ugn.texi, vms_data.ads: Update doc.
5826
5827 2009-04-20 Arnaud Charlet <charlet@adacore.com>
5828
5829 * gcc-interface/Make-lang.in: Update dependencies
5830
5831 * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
5832 Windows.
5833
5834 2009-04-20 Robert Dewar <dewar@adacore.com>
5835
5836 * checks.ads: Fix documentation of range check handling
5837
5838 2009-04-20 Ed Schonberg <schonberg@adacore.com>
5839
5840 * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
5841 a redundant use_type clause.
5842
5843 2009-04-20 Robert Dewar <dewar@adacore.com>
5844
5845 * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
5846 this attribute can be evaluated at compile time.
5847 (Eval_Attribute, case Range_Length): Same improvement
5848
5849 * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
5850
5851 2009-04-20 Ed Schonberg <schonberg@adacore.com>
5852
5853 * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
5854 for better handling of null procedures.
5855 (Check_Overriding_Indicator): Do not emit a warning on a missing
5856 overriding indicator on an operator when the type of which the operator
5857 is a primitive is private.
5858
5859 2009-04-20 Bob Duff <duff@adacore.com>
5860
5861 * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
5862 debugging output.
5863
5864 2009-04-20 Robert Dewar <dewar@adacore.com>
5865
5866 * sem_attr.adb: Minor reformatting
5867
5868 * gnatcmd.adb: Minor reformatting
5869
5870 2009-04-20 Ed Schonberg <schonberg@adacore.com>
5871
5872 * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
5873 overloaded and one interpretation matches the context, label the
5874 operand with the type of first formal.
5875
5876 2009-04-20 Bob Duff <duff@adacore.com>
5877
5878 * debug.ads: Minor comment fix.
5879
5880 * debug.adb: Minor comment fixes.
5881
5882 2009-04-20 Javier Miranda <miranda@adacore.com>
5883
5884 * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
5885
5886 * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
5887
5888 * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
5889 is expanded into a call to Raise_Exception, avoid passing the
5890 exception-name'identity in runtimes in which this argument
5891 is not used.
5892
5893 2009-04-20 Jerome Lambourg <lambourg@adacore.com>
5894
5895 * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
5896 generated bindings for cil.
5897
5898 2009-04-20 Ed Schonberg <schonberg@adacore.com>
5899
5900 * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
5901 discriminants, collect components from the Underlying_Record_View,
5902 which will be used in the expansion of the aggregate into assignments.
5903
5904 * sem_ch3.adb: Do not label derived type with unknown discriminants as
5905 having a private declaration.
5906
5907 2009-04-20 Ed Schonberg <schonberg@adacore.com>
5908
5909 * exp_util.adb (Expand_Subtype_From_Expr): use the
5910 underlying_record_view when available, to create the proper constrained
5911 subtype for an object of a derived type with unknown discriminants.
5912
5913 2009-04-20 Javier Miranda <miranda@adacore.com>
5914
5915 * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
5916 formals that have pragma unreferenced.
5917
5918 2009-04-20 Pascal Obry <obry@adacore.com>
5919
5920 * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
5921 Remove all calls to To_Lower_If_Case_Insensitive to preserve
5922 the pathname original casing.
5923
5924 2009-04-20 Robert Dewar <dewar@adacore.com>
5925
5926 * g-trasym.adb: Minor reformatting
5927
5928 * s-os_lib.adb: Minor reformatting
5929
5930 * sem.adb: Minor reformatting
5931 Minor code reorganization
5932
5933 * sem_ch3.adb: Minor reformatting
5934
5935 * sem_ch4.adb: Minor reformatting
5936
5937 * sem_ch8.adb: Minor reformatting
5938
5939 * sem_type.adb: Minor reformatting
5940
5941 2009-04-20 Javier Miranda <miranda@adacore.com>
5942
5943 * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
5944 generated by derivations of tagged types use the aliased subprogram a
5945 reference to locate their controlling type.
5946
5947 2009-04-20 Tristan Gingold <gingold@adacore.com>
5948
5949 * g-trasym.adb: Set size of result buffer before calling
5950 convert_address.
5951
5952 2009-04-20 Ed Schonberg <schonberg@adacore.com>
5953
5954 * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
5955 to a function returning an array can be interpreted as a call with
5956 defaulted parameters whose result is indexed, take into account the
5957 types of all the indices of the array result type.
5958
5959 2009-04-20 Pascal Obry <obry@adacore.com>
5960
5961 * a-direct.adb, s-os_lib.adb: Minor reformatting.
5962
5963 2009-04-20 Ed Schonberg <schonberg@adacore.com>
5964
5965 * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
5966 null exclusion qualifiers for object renaming declarations.
5967
5968 2009-04-20 Nicolas Roche <roche@adacore.com>
5969
5970 * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
5971 unsigned long long. So compare local_time and utc_time before computing
5972 the difference.
5973
5974 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
5975
5976 * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
5977 of the Underlying_Record_View before that of the derived type.
5978
5979 * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
5980 with unknown discriminants with regard to the parent subtype.
5981
5982 2009-04-20 Bob Duff <duff@adacore.com>
5983
5984 * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
5985 that are not included. This is necessary if the main unit is a generic
5986 instantiation.
5987
5988 * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
5989 because it doesn't work if -gnatn is used.
5990
5991 2009-04-20 Ed Schonberg <schonberg@adacore.com>
5992
5993 * rtsfind.adb (RTE, RTE_Record_Component): In
5994 Configurable_Run_Time_Mode, do not enable front-end inlining.
5995
5996 2009-04-20 Thomas Quinot <quinot@adacore.com>
5997
5998 * g-socthi-vms.adb: Remove now unnecessary WITH clause on
5999 System.Address_To_Access_Conversions.
6000
6001 2009-04-20 Ed Schonberg <schonberg@adacore.com>
6002
6003 * sem.adb: Guard against ill-formed subunits.
6004
6005 2009-04-20 Bob Duff <duff@adacore.com>
6006
6007 * output.adb (Flush_Buffer): Do not indent blank lines.
6008 (Ignore_Output): New procedure for output suppression.
6009
6010 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
6011
6012 * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
6013 when it is positive. This avoids a potential constraint error raised
6014 by the conversion to Natural.
6015
6016 2009-04-20 Gary Dismukes <dismukes@adacore.com>
6017
6018 * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
6019 involves a target that has a specified address, don't set Forward_OK
6020 and Backward_OK to False if the rhs is an aggregate, since overlap
6021 can't occur.
6022
6023 2009-04-20 Ed Schonberg <schonberg@adacore.com>
6024
6025 * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
6026 in an object renaming declaration when the expected type is an
6027 anonymous access type.
6028
6029 * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
6030 ambiguity when one interpretation is an anonymous access type and the
6031 other is a named access type, and the context itself is anonymous
6032
6033 2009-04-20 Thomas Quinot <quinot@adacore.com>
6034
6035 * einfo.ads: Minor comment rewording
6036
6037 * sem_aggr.adb: Minor comment rewording
6038
6039 * sem_ch3.adb, sem_ch6.adb: Minor reformatting
6040
6041 2009-04-20 Pascal Obry <obry@adacore.com>
6042
6043 * adaint.c (__gnat_is_readable_file): Check for file existence
6044 when not using ACL (always the case on remote drives).
6045
6046 2009-04-20 Robert Dewar <dewar@adacore.com>
6047
6048 * sinfo.ads: Minor comment fixes
6049
6050 * exp_disp.adb: Minor reformatting
6051
6052 * gnat1drv.adb: Minor reformatting
6053
6054 * output.adb: Minor reformatting
6055
6056 * s-vxwext-kernel.ads: Minor reformatting
6057
6058 * sem.ads: Minor reformatting
6059
6060 * sem.adb: Minor reformatting
6061
6062 * sem_elim.adb: Minor reformatting
6063
6064 * uname.ads: Minor reformatting
6065
6066 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
6067
6068 * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
6069 a small dope of 4 words to the adjustment to the stack pointer.
6070
6071 2009-04-20 Thomas Quinot <quinot@adacore.com>
6072
6073 * xoscons.adb: generate C header s-oscons.h in
6074 addition to s-oscons.ads.
6075
6076 * socket.c: On VMS, use s-oscons.h.
6077
6078 * sem_ch3.adb: Minor reformatting
6079
6080 * exp_ch9.adb: Minor reformatting
6081
6082 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
6083
6084 * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
6085 (Attribute_to_gnu): Do not call check_for_eliminated_entity.
6086 (call_to_gnu): Likewise.
6087
6088 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
6089
6090 * gcc-interface/trans.c (gigi): Declare the name of the compilation
6091 unit as the first global name at the very beginning.
6092
6093 2009-04-20 Thomas Quinot <quinot@adacore.com>
6094
6095 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
6096 s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
6097 g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
6098 since HP-UX supports neither inet_aton nor inet_pton (altough the
6099 latter is part of the Single UNIX Specification!).
6100 So reorganize code, and share C implementation based on inet_addr(3)
6101 with VMS (instead of having a VMS specific Ada implementation in
6102 g-socthi-vms.adb).
6103
6104 2009-04-20 Gary Dismukes <dismukes@adacore.com>
6105
6106 * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
6107 to return the object file name saved by Set_Object_Output_File_Name.
6108
6109 2009-04-20 Emmanuel Briot <briot@adacore.com>
6110
6111 * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
6112 for the standard command line, when argc has been modified since the
6113 start of the application.
6114
6115 2009-04-20 Thomas Quinot <quinot@adacore.com>
6116
6117 * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
6118 WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
6119
6120 2009-04-20 Bob Duff <duff@adacore.com>
6121
6122 * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
6123 pragma Debug.
6124
6125 2009-04-20 Ed Schonberg <schonberg@adacore.com>
6126
6127 * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
6128 subprogram as Eliminated when source operation is.
6129 (Expand_N_Protected_Type_Declaration): Generate protected and
6130 unprotected specs for the internal operations, even if the source
6131 operation is eliminated.
6132
6133 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
6134
6135 * exp_ch3.adb (Make_Predefined_Primitive_Specs,
6136 Predefined_Primitive_Bodies): Do not create the declarations and bodies
6137 of the primitive subprograms associated with dispatching select
6138 statements when the runtime is in configurable mode.
6139
6140 2009-04-20 Ed Falis <falis@adacore.com>
6141
6142 * s-vxwext-kernel.ads (tickGet): Use tick64Get.
6143
6144 2009-04-20 Thomas Quinot <quinot@adacore.com>
6145
6146 * s-oscons-tmplt.c: Add support for generating a dummy version of
6147 s-oscons.ads providing all possible constants.
6148
6149 * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
6150
6151 * socket.c (__gnat_inet_pton): On Windows make sure we always use the
6152 ANSI version (not the UNICODE version) of WSAStringToAddress.
6153
6154 2009-04-20 Pascal Obry <obry@adacore.com>
6155
6156 * adaint.c (__gnat_set_OWNER_ACL): properly free memory
6157 allocated for the security descriptor and make sure all
6158 handles are closed before leaving this procedure.
6159
6160 2009-04-20 Javier Miranda <miranda@adacore.com>
6161
6162 * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
6163 (Set_Is_Underlying_Record_View): New subprogram
6164
6165 * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
6166 private types with unknown discriminants use the underlying record view
6167 if available.
6168
6169 * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
6170 underlying record view in the full view of private types whose parent
6171 has unknown discriminants.
6172 (Build_Derived_Record_Type): Avoid generating the class-wide entity
6173 associated with an underlying record view.
6174 (Derived_Type_Declaration): Avoid deriving parent primitives in
6175 underlying record views.
6176
6177 * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
6178 records with unknown discriminants.
6179
6180 * sem_type.adb (Covers): Handle underlying record views.
6181 (Is_Ancestor): Add support for underlying record views.
6182
6183 * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
6184 dispatching call if the type of the target object is tagged and has
6185 unknown discriminants.
6186
6187 * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
6188 unknown discriminants.
6189
6190 * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
6191 tables for internally built underlying record views.
6192
6193 * sprint.adb (sprint_node_actual): Improve output of aggregates with an
6194 empty list of component associations.
6195
6196 2009-04-20 Thomas Quinot <quinot@adacore.com>
6197
6198 * sem_ch10.adb: Minor reformatting
6199
6200 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
6201 g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
6202 (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
6203 standard inet_pton API (and emulate it on platforms that do not
6204 support it).
6205 (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
6206 DECC$INET_ADDR, imported in Ada.
6207 (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
6208 implementation provided by GNAT runtime.
6209 (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
6210 Windows.
6211
6212 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
6213
6214 * gnat_ugn.texi: Add documentation for -fno-ivopts.
6215
6216 2009-04-20 Ed Schonberg <schonberg@adacore.com>
6217
6218 * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
6219 with_clause if it is the main unit.
6220
6221 2009-04-20 Thomas Quinot <quinot@adacore.com>
6222
6223 * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
6224 (no behaviour change): Use Append instead of Increment_Last followed
6225 by assignment.
6226
6227 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
6228
6229 * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
6230 declarations of all primitives associated with dispatching asynchronous,
6231 conditional and timed selects when dispaching calls are forbidden and
6232 select statements are not allowed (such as in Ravenscar).
6233 (Predefined_Primitive_Bodies): Ditto for bodies.
6234
6235 * exp_disp.ad (Make_DT): Do not create and populate the
6236 Select_Specific_Data of the dispatch table when dispatching calls are
6237 forbidden and select statements are not allowed (such as in Ravenscar).
6238
6239 2009-04-20 Robert Dewar <dewar@adacore.com>
6240
6241 * a-tifiio.adb: Minor reformatting
6242
6243 2009-04-20 Thomas Quinot <quinot@adacore.com>
6244
6245 * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
6246 other C library functions, report *failure* with a zero status, and
6247 success with a non-zero status.
6248
6249 2009-04-20 Bob Duff <duff@adacore.com>
6250
6251 * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
6252 (Semantics): After analyzing each unit, Append it to the
6253 Comp_Unit_List, if appropriate.
6254
6255 * gnat1drv.adb (Check_Library_Items): New procedure for debugging
6256 purposes.
6257 (Gnat1drv): Correct comment regarding Back_End_Mode.
6258
6259 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
6260
6261 * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
6262
6263 2009-04-20 Thomas Quinot <quinot@adacore.com>
6264
6265 * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
6266 output.adb, output.ads, s-taprop-hpux-dce.adb,
6267 s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
6268 reformatting.
6269
6270 2009-04-20 Thomas Quinot <quinot@adacore.com>
6271
6272 * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
6273 g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
6274 (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
6275 (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
6276 except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
6277 (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
6278
6279 * debug.adb: Fix typo
6280
6281 * gnat_rm.texi: Minor doc fix.
6282
6283 * sem_ch7.adb, freeze.adb: Minor reformatting
6284
6285 2009-04-20 Thomas Quinot <quinot@adacore.com>
6286
6287 * g-socket.ads: Add new constants:
6288 Loopback_Inet_Addr
6289 Unspecified_Group_Inet_Addr
6290 All_Hosts_Group_Inet_Addr
6291 All_Routers_Group_Inet_Addr
6292
6293 * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
6294 ERANGE (Result too large).
6295 (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
6296 propagation of errno to caller.
6297
6298 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
6299
6300 * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
6301 to 24. Increment Leap_Seconds_Count and add an entry to aggregate
6302 Leap_Second_Times.
6303
6304 2009-04-20 Gary Dismukes <dismukes@adacore.com>
6305
6306 * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
6307 checking for references to eliminated subprograms that should be
6308 flagged.
6309 (Eliminate_Error_Message): Update comment to say "references" rather
6310 than "calls" (since attribute cases are handled here as well).
6311
6312 * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
6313 checking for references to eliminated subprograms that should be
6314 flagged. Add with and use of Sem and Sem_Util.
6315
6316 * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
6317 Add with and use of Sem_Elim.
6318
6319 * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
6320 applied to eliminated subprograms.
6321 (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
6322 eliminated subprograms.
6323 Add with and use of Sem_Elim.
6324
6325 * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
6326 to eliminated subprograms, now handled during Resolve_Call.
6327 Remove with and use of Sem_Elim.
6328
6329 * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
6330 testing Is_Eliminated, for proper handling of primitive derived from
6331 eliminated subprograms.
6332
6333 2009-04-20 Vincent Celier <celier@adacore.com>
6334
6335 * mlib-prj.adb (Build_Library): Use the shared library linker, if one
6336 has been declared (Library_GCC or Linker'Driver), for the driver name.
6337
6338 * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
6339 Linker'Driver is, use Linker'Driver as the shared library linker.
6340 (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
6341 Library_GCC is declared.
6342 (Check_Library_Attributes): Set up the shared linker driver: either
6343 Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
6344 declared.
6345
6346 2009-04-20 Thomas Quinot <quinot@adacore.com>
6347
6348 * g-socket.ads (Send_Socket): Fix misleading comment.
6349
6350 2009-04-20 Arnaud Charlet <charlet@adacore.com>
6351
6352 * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
6353 ASIS mode.
6354
6355 2009-04-20 Geert Bosch <bosch@adacore.com>
6356
6357 * a-tifiio.adb (Put): Avoid generating too many digits for certain
6358 fixed types with smalls that are neither integer or the reciprocal
6359 of an integer.
6360
6361 2009-04-20 Bob Duff <duff@adacore.com>
6362
6363 * uname.ads: Minor comment fix.
6364
6365 * types.ads: Minor comment fix.
6366
6367 2009-04-20 Pascal Obry <obry@adacore.com>
6368
6369 * adaint.c (__gnat_get_libraries_from_registry): Fix code to
6370 avoid warning. At the same time fix a memory leak.
6371
6372 * osint.adb (Get_Libraries_From_Registry): Properly free memory
6373 returned by the above routine.
6374
6375 2009-04-20 Robert Dewar <dewar@adacore.com>
6376
6377 * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
6378 s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
6379 s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
6380 s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
6381
6382 * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
6383
6384 2009-04-20 Pascal Obry <obry@adacore.com>
6385
6386 * initialize.c (__gnat_initialize): Add braces to kill warning.
6387
6388 * adaint.c: Minor reformatting, remove trailing spaces.
6389
6390 2009-04-17 Arnaud Charlet <charlet@adacore.com>
6391
6392 * gcc-interface/Make-lang.in: Update dependencies.
6393
6394 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
6395
6396 * adaint.h (__gnat_lwp_self): Declare on Linux.
6397
6398 * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
6399
6400 2009-04-20 Robert Dewar <dewar@adacore.com>
6401
6402 * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
6403 front-end part of -fpreserve-control-flow switch.
6404
6405 2009-04-20 Bob Duff <duff@adacore.com>
6406
6407 * rtsfind.adb: Minor comment fix
6408
6409 2009-04-20 Robert Dewar <dewar@adacore.com>
6410
6411 * exp_aggr.adb: Minor reformatting
6412 Minor code reorganization (use Nkind_In)
6413
6414 * g-socket.adb: Minor reformatting
6415
6416 * g-socket.ads: Minor comment fix
6417
6418 * s-auxdec.ads: Minor comment and organization update.
6419
6420 * s-auxdec-vms_64.ads: Minor comment and organization update.
6421
6422 * sem_ch10.adb: Minor addition of ??? comment
6423
6424 * sem_disp.adb: Minor reformatting
6425
6426 2009-04-20 Ed Schonberg <schonberg@adacore.com>
6427
6428 * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
6429 list a caller of an inlined subprogram, if the caller itself is not
6430 called.
6431
6432 2009-04-20 Pascal Obry <obry@adacore.com>
6433
6434 * adaint.c: Disable use of ACL on network drives.
6435
6436 2009-04-20 Arnaud Charlet <charlet@adacore.com>
6437
6438 * gnat_ugn.texi: Add examples.
6439
6440 2009-04-20 Thomas Quinot <quinot@adacore.com>
6441
6442 * g-socket.ads (Abort_Selector): Clarify documentation.
6443
6444 2009-04-20 Arnaud Charlet <charlet@adacore.com>
6445
6446 * opt.ads (Inspector_Mode): Update documentation of this flag.
6447
6448 2009-04-20 Thomas Quinot <quinot@adacore.com>
6449
6450 * g-socket.ads: Minor reformatting
6451
6452 * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
6453 consider S_resolvLib error codes since we only use the hostLib wrappers.
6454
6455 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
6456
6457 * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
6458 of the Underlying_Record_View after that of the derived type.
6459
6460 2009-04-20 Arnaud Charlet <charlet@adacore.com>
6461
6462 * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
6463 in inspector mode.
6464
6465 2009-04-20 Javier Miranda <miranda@adacore.com>
6466
6467 * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
6468
6469 * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
6470 documentation.
6471
6472 * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
6473
6474 * sem_disp.adb
6475 (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
6476 in internally built overriding subprograms.
6477
6478 2009-04-20 Doug Rupp <rupp@adacore.com>
6479
6480 * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
6481
6482 * s-auxdec.ads: Likewise
6483
6484 2009-04-20 Ed Schonberg <schonberg@adacore.com>
6485
6486 * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
6487 type by an interface.
6488
6489 * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
6490 minimze difference in expanded tree when compiled as spec of the main
6491 unit, or as a spec in the context of another unit.
6492
6493 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
6494
6495 * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
6496 (localtime_tzoff): This routine no longer accepts an actual of type
6497 tm_Pointer.
6498 (UTC_Time_Offset): Remove local variable Secs_TM.
6499
6500 * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
6501 actual of type struct tm*. Add local variable of type struct tm for all
6502 targets that provide localtime_r and need to invoke it.
6503
6504 2009-04-20 Thomas Quinot <quinot@adacore.com>
6505
6506 * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
6507 (GNAT.Sockets.Resolve_Error): Add case of EPIPE
6508 Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
6509
6510 2009-04-20 Robert Dewar <dewar@adacore.com>
6511
6512 * sem_ch3.adb: Minor reformatting
6513
6514 * lib-load.adb: Minor reformatting
6515
6516 * sem_ch4.adb: Minor reformatting
6517
6518 2009-04-20 Robert Dewar <dewar@adacore.com>
6519
6520 * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
6521 (equal values => False).
6522
6523 2009-04-20 Ed Schonberg <schonberg@adacore.com>
6524
6525 * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
6526 to null procedures can be inlined unconditionally.
6527
6528 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
6529
6530 * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
6531 non-addressable parameter passed by reference, do not convert the
6532 actual if its type is already the nominal type, unless it is of
6533 self-referential size.
6534
6535 2009-04-20 Arnaud Charlet <charlet@adacore.com>
6536
6537 * gnat_ugn.texi: Fix typos.
6538
6539 2009-04-20 Robert Dewar <dewar@adacore.com>
6540
6541 * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
6542 Validate_Unchecked_Warnings to suppress warnings about size or
6543 alignment or extra bits if either type involved has pragma Warnings
6544 (Off) set for the type entity.
6545
6546 2009-04-19 Eric Botcazou <ebotcazou@adacore.com>
6547
6548 * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
6549 a builtin type and give it a name.
6550
6551 2009-04-17 Diego Novillo <dnovillo@google.com>
6552
6553 * gcc-interface/misc.c (gnat_expand_expr): Remove.
6554 (LANG_HOOKS_EXPAND_EXPR): Remove.
6555
6556 2009-04-17 Robert Dewar <dewar@adacore.com>
6557
6558 * sem_ch3.adb: Minor reformatting
6559
6560 2009-04-17 Pascal Obry <obry@adacore.com>
6561
6562 * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
6563
6564 2009-04-17 Ed Schonberg <schonberg@adacore.com>
6565
6566 * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
6567 illegal constraints on type derived from formal discrete types.
6568
6569 2009-04-17 Thomas Quinot <quinot@adacore.com>
6570
6571 PR ada/35953
6572
6573 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6574 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
6575 g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
6576 g-socket.ads (GNAT.Sockets.Thin.C_Send,
6577 GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
6578 Replace calls to send(2) with equivalent sendto(2) calls.
6579 (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
6580 (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
6581 report an error in that case. Factor code common to the two versions
6582 (datagram and stream) in common routine Stream_Write.
6583
6584 2009-04-17 Robert Dewar <dewar@adacore.com>
6585
6586 * exp_disp.adb: Minor reformatting
6587 Minor code reorganization (use Nkind_In)
6588
6589 * prepcomp.adb: Minor reformatting
6590
6591 * sem_ch3.adb: Minor reformatting
6592
6593 * sem_res.adb: Minor comment addition
6594
6595 * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
6596 for address clause
6597
6598 * lib-xref.adb (Generate_Reference): Exclude recursive calls from
6599 setting Is_Referenced
6600
6601 * types.ads: Minor reformatting
6602
6603 2009-04-17 Arnaud Charlet <charlet@adacore.com>
6604
6605 * gnat_ugn.texi: Initial documentation on binding generator.
6606
6607 2009-04-17 Ed Schonberg <schonberg@adacore.com>
6608
6609 * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
6610 type extensions whose parent is a type with unknown discriminants.
6611
6612 * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
6613 aggregate has unknown discriminants, use the Underlying_Record_View to
6614 obtain the discriminants of the ancestor part.
6615
6616 * exp_disp.adb (Build_Dispatch_Tables): Types that are
6617 Underlying_Record_Views share the dispatching information of the
6618 original record extension.
6619
6620 * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
6621 discriminants, propagate dispach table information to the
6622 Underlying_Record_View.
6623
6624 * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
6625 discriminants and declaration is not a completion, generate
6626 Underlying_Record_View to provide proper discriminant information to
6627 the front-end and to gigi.
6628
6629 2009-04-17 Robert Dewar <dewar@adacore.com>
6630
6631 * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
6632 s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
6633 s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
6634 g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
6635 s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
6636 s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
6637 g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
6638 s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
6639 g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
6640 s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
6641 s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
6642 s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
6643 s-conca3.ads: Remove unneeded pragma Warnings
6644
6645 2009-04-17 Robert Dewar <dewar@adacore.com>
6646
6647 * g-moreex.adb: Add comments.
6648
6649 * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
6650
6651 * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
6652 Warnings (Off)
6653
6654 * prepcomp.adb: Add ??? comment
6655
6656 * a-tasatt.adb: Minor reformatting
6657
6658 * g-trasym-vms-alpha.adb: Add ??? comment
6659
6660 * g-trasym-vms-ia64.adb: Add ??? comment
6661
6662 * xoscons.adb: Minor reformatting
6663
6664 * s-tassta.adb: Minor reformatting
6665
6666 * s-scaval.adb: Add ??? comment
6667
6668 * stand.ads: Minor code clean up (remove junk with of Namet)
6669
6670 * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
6671 s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
6672 s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
6673 s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
6674 s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
6675 s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
6676 s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
6677 s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
6678 Warnings off pragmas.
6679
6680 2009-04-17 Pascal Obry <obry@adacore.com>
6681
6682 * initialize.c: Fix test for reallocating the arguments array.
6683
6684 2009-04-17 Geert Bosch <bosch@adacore.com>
6685
6686 * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
6687 conversion truncate only for decimal fixed point types.
6688
6689 2009-04-17 Jerome Lambourg <lambourg@adacore.com>
6690
6691 * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
6692 reinitialized.
6693
6694 2009-04-17 Robert Dewar <dewar@adacore.com>
6695
6696 * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
6697 Backwards_OK if either operand has an address clause.
6698
6699 2009-04-17 Pascal Obry <obry@adacore.com>
6700
6701 * initialize.c: Code clean up, use realloc.
6702
6703 2009-04-17 Pascal Obry <obry@adacore.com>
6704
6705 * initialize.c: Do not get Unicode command line if Unicode support not
6706 activated.
6707 Add support for wildcard expansion for Unicode parameters on Win32.
6708
6709 * mingw32.h: Add missing macros when Unicode support not activated.
6710
6711 2009-04-17 Javier Miranda <miranda@adacore.com>
6712
6713 * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
6714 avoid generating code that references the Current_Master
6715 when compiling without tasks.
6716
6717 2009-04-17 Vincent Celier <celier@adacore.com>
6718
6719 * prj-attr.adb: New project level attribute Target
6720
6721 * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
6722 attribute Target
6723
6724 * prj.ads (Project_Configuration): New component Target
6725
6726 2009-04-17 Thomas Quinot <quinot@adacore.com>
6727
6728 * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
6729 case for the case of an aggregate component, the attach call for the
6730 result is actually needed.
6731
6732 * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
6733 an array aggregate must be disabled if the component type requires
6734 controlled actions.
6735
6736 * exp_ch3.adb: Minor reformatting
6737
6738 2009-04-17 Bob Duff <duff@adacore.com>
6739
6740 * output.ads (Indent,Outdent): New procedures for indenting the output.
6741 (Write_Char): Correct comment -- LF _is_ allowed.
6742
6743 * output.adb (Indent,Outdent): New procedures for indenting the output.
6744 Keep track of the indentation level, and make sure it doesn't get too
6745 high.
6746 (Flush_Buffer): Insert spaces at the beginning of each line, if
6747 indentation level is nonzero.
6748 (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
6749 indentation level.
6750 (Set_Standard_Error,Set_Standard_Output): Remove superfluous
6751 "Next_Col := 1;". Flush_Buffer does that.
6752
6753 * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
6754 controlled by the -gnatdc switch. It now occurs on entry/exit to the
6755 relevant analysis routines, and calls Indent/Outdent to make the
6756 indentation reflect the nesting level. Add "helper" routines, since
6757 otherwise lots of "return;" statements would skip the debugging output.
6758
6759 2009-04-17 Arnaud Charlet <charlet@adacore.com>
6760
6761 * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
6762 s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
6763 s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
6764
6765 2009-04-17 Thomas Quinot <quinot@adacore.com>
6766
6767 * exp_aggr.adb: Minor code reorganization, no behaviour change.
6768
6769 2009-04-17 Ed Schonberg <schonberg@adacore.com>
6770
6771 * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
6772 clause in a unit that is a package body or a subunit, when the previous
6773 clause appears in a spec or a parent.
6774
6775 2009-04-17 Thomas Quinot <quinot@adacore.com>
6776
6777 * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
6778
6779 * exp_ch7.adb: Minor reformatting
6780
6781 2009-04-17 Bob Duff <duff@adacore.com>
6782
6783 * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
6784 allocator, check that the expression of the qualified expression obeys
6785 the constraints of the subtype of the qualified expression.
6786
6787 2009-04-17 Thomas Quinot <quinot@adacore.com>
6788
6789 * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
6790
6791 2009-04-17 Ed Schonberg <schonberg@adacore.com>
6792
6793 * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
6794 aggregate, using context imposed by subtype mark in allocator.
6795
6796 2009-04-17 Pascal Obry <obry@adacore.com>
6797
6798 * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
6799
6800 2009-04-17 Nicolas Roche <roche@adacore.com>
6801
6802 * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
6803 argument length.
6804
6805 2009-04-17 Gary Dismukes <dismukes@adacore.com>
6806
6807 * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
6808 cover both calls and attribute references ("call" => "reference").
6809
6810 2009-04-17 Ed Schonberg <schonberg@adacore.com>
6811
6812 * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
6813 type for which Storage_Size is set to 0 is legal in a pure unit.
6814
6815 2009-04-17 Thomas Quinot <quinot@adacore.com>
6816
6817 * exp_ch7.adb: Minor reformatting
6818
6819 2009-04-17 Robert Dewar <dewar@adacore.com>
6820
6821 * restrict.adb (Check_Restriction_No_Dependence): Don't check
6822 restriction if outside main extended source unit.
6823
6824 * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
6825 for parents of child units as well as the child unit itself.
6826
6827 2009-04-17 Bob Duff <duff@adacore.com>
6828
6829 * checks.ads: Minor comment fix
6830
6831 * exp_aggr.ads: Minor comment fix
6832
6833 2009-04-17 Nicolas Roche <roche@adacore.com>
6834
6835 * adaint.c: Improve cross compiler detection and handling.
6836
6837 2009-04-17 Eric Botcazou <ebotcazou@adacore.com>
6838
6839 * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
6840
6841 2009-04-17 Pascal Obry <obry@adacore.com>
6842
6843 * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
6844 CurrentCodePage.
6845
6846 * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
6847 value when no encoding form paramter is set on Text_IO services.
6848
6849 * adaint.c: CurrentCodePage new variable on Windows.
6850 Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
6851 ones.
6852
6853 * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
6854 ones.
6855
6856 * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
6857 environment variable value. Default is UTF-8.
6858
6859 * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
6860 fopen and freopen encoding parameter is now set to Unspecified.
6861 The default value is in this case UTF-8 (as it was before) but
6862 use the new macros that convert to/from the code page set
6863 at runtime (CurrentCodePage).
6864
6865 * s-fileio.adb: When no encoding specified use Unspecified value.
6866
6867 2009-04-17 Ed Schonberg <schonberg@adacore.com>
6868
6869 * atree.adb, atree.ads: Remove dead code.
6870
6871 2009-04-17 Arnaud Charlet <charlet@adacore.com>
6872
6873 * gcc-interface/Make-lang.in: Update dependencies.
6874
6875 2009-04-17 Ed Schonberg <schonberg@adacore.com>
6876
6877 * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
6878 illegal uses of incomplete types in formal parts and return types.
6879
6880 * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
6881 access to subprograms.
6882
6883 * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
6884 Taft-amendment types as the return type of an access_to_function type.
6885
6886 * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
6887 type for access_to_subprograms. The check is performed on package exit.
6888
6889 2009-04-17 Ed Schonberg <schonberg@adacore.com>
6890
6891 * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
6892
6893 * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
6894
6895 * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
6896
6897 * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
6898 semantic units, because the handling of itypes in the copied tree
6899 requires semantic information that does not belong in atree.
6900
6901 2009-04-17 Robert Dewar <dewar@adacore.com>
6902
6903 * par-ch6.adb: Minor reformatting
6904
6905 * prj.adb: Minor reformatting
6906
6907 2009-04-17 Gary Dismukes <dismukes@adacore.com>
6908
6909 * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
6910 on protected subprogram bodies, so exclude the case where Pf_Flags is
6911 Pf_Decl_Pbod from the error check.
6912
6913 * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
6914 indicators on subprograms in protected bodies, and proceed with parsing
6915 the subprogram.
6916
6917 * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
6918 subprograms from the check for primitiveness on subprograms with
6919 overriding indicators.
6920 (Check_Overriding_Indicator): Include protected subprograms in the
6921 style check for missing overriding indicators.
6922
6923 2009-04-17 Tristan Gingold <gingold@adacore.com>
6924
6925 * init.c: Fix stack checking for x86 Darwin.
6926
6927 2009-04-17 Vincent Celier <celier@adacore.com>
6928
6929 * prj-attr.adb: New project level attribute Object_File_Suffix
6930 (<language>).
6931
6932 * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
6933 object file name
6934 (Process_Compiler): Process attribute Object_File_Suffix
6935
6936 * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
6937 platform suffix, when specified.
6938
6939 * prj.ads (Language_Config): New component Object_File_Suffix,
6940 defaulted to No_Name.
6941 (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
6942
6943 * snames.ads-tmpl: New standard name Object_File_Suffix
6944
6945 2009-04-17 Robert Dewar <dewar@adacore.com>
6946
6947 * gnat_rm.texi: Add documentation about No_Streams restriction
6948
6949 * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
6950 attributes when checking No_Streams restriction.
6951
6952 2009-04-17 Thomas Quinot <quinot@adacore.com>
6953
6954 * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
6955
6956 * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
6957 missing calls to RE_Request_Destroy to deallocate request objects after
6958 use.
6959
6960 2009-04-17 Nicolas Setton <setton@adacore.com>
6961
6962 * link.c: Fix support for passing a response file under Darwin.
6963
6964 2009-04-17 Emmanuel Briot <briot@adacore.com>
6965
6966 * prj.adb (Free): new subprogram.
6967
6968 2009-04-17 Ed Schonberg <schonberg@adacore.com>
6969
6970 * sem_ch3.adb: additional initialization on incomplete subtypes.
6971
6972 * sem_ch6.adb (Process_Formals): if the subprogram is in the private
6973 part and one of the formals is an incomplete tagged type, attach to
6974 list of private dependends of the type for later validation.
6975
6976 * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
6977 primitive operations of a Taft-amendmment type.
6978
6979 * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
6980 type. The check is performed on package exit, possibly after the
6981 subprogram is frozen.
6982
6983 2009-04-17 Vincent Celier <celier@adacore.com>
6984
6985 * prj-nmsc.adb (Get_Directories): Get the object and exec directory
6986 before looking for source directories, but make sure that there are nil
6987 if they are not explicitely declared and there is explicitely no
6988 sources in the project.
6989
6990 2009-04-17 Pascal Obry <obry@adacore.com>
6991
6992 * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
6993
6994 * init.c: Fix minor typo and style fix.
6995
6996 2009-04-17 Robert Dewar <dewar@adacore.com>
6997
6998 * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
6999
7000 * sem_attr.adb (Analyze_Attribute, case Address): Use
7001 PE_Address_Of_Intrinsic.
7002
7003 * types.ads: Add PE_Address_Of_Intrinsic
7004
7005 * types.h: Add PE_Address_Of_Intrinsic
7006
7007 2009-04-17 Nicolas Setton <setton@adacore.com>
7008
7009 * gcc-interface/Makefile.in: Under darwin, build shared libraries
7010 with install_name starting with "@rpath/".
7011
7012 2009-04-17 Nicolas Setton <setton@adacore.com>
7013
7014 * link.c: Add darwin section
7015
7016 2009-04-16 Robert Dewar <dewar@adacore.com>
7017
7018 * g-pehage.adb: Minor reformatting
7019
7020 * sem_ch12.adb: Minor reformatting
7021
7022 * exp_dist.adb: Minor reformatting
7023
7024 * bindgen.adb: Minor style fixes.
7025
7026 2009-04-16 Ed Schonberg <schonberg@adacore.com>
7027
7028 * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
7029 indexed components to the case where the prefix is a static string
7030 literal.
7031
7032 2009-04-16 Javier Miranda <miranda@adacore.com>
7033
7034 * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
7035 objects avoid any further expansion of the expression initializing the
7036 object.
7037
7038 2009-04-16 Ed Schonberg <schonberg@adacore.com>
7039
7040 * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
7041 that hides an outer homograph, make that homograph invisible when
7042 analyzing the actuals, to to prevent illegal direct visibility on it.
7043
7044 2009-04-16 Eric Botcazou <ebotcazou@adacore.com>
7045
7046 * g-pehage.adb (Initialize): Fix off-by-one error.
7047
7048 2009-04-16 Tristan Gingold <gingold@adacore.com>
7049
7050 * init.c: Detect real stack overflow on Darwin.
7051
7052 * system-darwin-x86.ads: Use stack probing on darwin x86.
7053
7054 2009-04-16 Ed Schonberg <schonberg@adacore.com>
7055
7056 * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
7057 take the address of an intrinsic subprogram.
7058
7059 2009-04-16 Arnaud Charlet <charlet@adacore.com>
7060
7061 * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
7062 for the targets where GNAT.Traceback.Symbolic is not supported.
7063
7064 2009-04-16 Vincent Celier <celier@adacore.com>
7065
7066 * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
7067
7068 * g-trasym.ads: Update comments.
7069
7070 2009-04-16 Vasiliy Fofanov <fofanov@adacore.com>
7071
7072 * tracebak.c (STOP_FRAME): Verify validity of the current address
7073 before dereferencing.
7074
7075 2009-04-16 Ed Schonberg <schonberg@adacore.com>
7076
7077 * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
7078 the original location of the index expressions and the index subtypes,
7079 to prevent spurious out-of-scope references in gigi.
7080
7081 2009-04-16 Tristan Gingold <gingold@adacore.com>
7082
7083 * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
7084 Add support for stack checking on darwin.
7085
7086 2009-04-16 Vincent Celier <celier@adacore.com>
7087
7088 * prj-attr.adb: New attribute Runtime_Source_Dir
7089
7090 * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
7091 attribute Runtime_Source_Dir.
7092 (Check_Naming_Schemes): Give default values to out parameters to avoid
7093 invalid data.
7094
7095 * prj.ads (Language_Config): New component Runtime_Source_Dir
7096
7097 * snames.ads-tmpl: New standard name Runtime_Source_Dir
7098
7099 2009-04-16 Pascal Obry <obry@adacore.com>
7100
7101 * adaint.h, adaint.c (__gnat_rmdir): New routine.
7102 Simple wrapper routines used to convert to proper encoding on
7103 Windows.
7104
7105 * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
7106
7107 * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
7108 twice.
7109
7110 2009-04-16 Pascal Obry <obry@adacore.com>
7111
7112 * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
7113
7114 2009-04-16 Thomas Quinot <quinot@adacore.com>
7115
7116 * snames.ads-tmpl (Name_Defined): New predefined name for use by the
7117 integrated preprocessor.
7118
7119 * prep.ads, prep.adb (Setup_Hooks): New subprogram.
7120 (Initialize): Split into two subprograms, Initialize (to be called
7121 prior to compiler command line processing) and Setup_Hooks (to be called
7122 later on when the first source file is loaded).
7123
7124 * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
7125 Add call to Prep.Initialize.
7126
7127 * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
7128 to Prep.Setup_Hooks.
7129
7130 2009-04-16 Pascal Obry <obry@adacore.com>
7131
7132 * adaint.h, adaint.c (__gnat_chdir): New routine.
7133 Simple wrapper routines used to convert to proper encoding on
7134 Windows.
7135
7136 * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
7137
7138 * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
7139
7140 2009-04-16 Quentin Ochem <ochem@adacore.com>
7141
7142 * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
7143 of Source.Init.
7144
7145 2009-04-16 Eric Botcazou <ebotcazou@adacore.com>
7146
7147 * a-convec.ads (Is_Empty): Mark inline.
7148
7149 2009-04-16 Nicolas Roche <roche@adacore.com>
7150
7151 * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
7152
7153 2009-04-16 Thomas Quinot <quinot@adacore.com>
7154
7155 * prepcomp.adb: Minor reformatting
7156
7157 2009-04-16 Jerome Lambourg <lambourg@adacore.com>
7158
7159 * sem_prag.adb (Process_Import_Or_Interface): With .NET,
7160 Access_Subprogram types can also be imported.
7161 (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
7162 names.
7163
7164 2009-04-16 Ed Schonberg <schonberg@adacore.com>
7165
7166 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
7167 preserve homonym chain when the declaration is rewritten into a
7168 renaming declaration, in order to preserve visibility structure.
7169
7170 2009-04-16 Jerome Lambourg <lambourg@adacore.com>
7171
7172 * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
7173 taken into account for VM targets.
7174
7175 2009-04-16 Hristian Kirtchev <kirtchev@adacore.com>
7176
7177 * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
7178 Year_Week_In_Year.
7179 (Year_Week_In_Year): New routine which contains the original code from
7180 Week_In_Year. Add the missing special case for January 1st falling on
7181 a Monday.
7182
7183 2009-04-16 Thomas Quinot <quinot@adacore.com>
7184
7185 * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
7186 actual type, use the base type to build the To_Any function.
7187 (Build_From_Any_Function): Remove junk, useless subtype conversion.
7188
7189 2009-04-16 Thomas Quinot <quinot@adacore.com>
7190
7191 * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
7192 restrict.adb: Minor code reorganization (use
7193 Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
7194
7195 2009-04-16 Bob Duff <duff@adacore.com>
7196
7197 * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
7198 unused.
7199
7200 2009-04-16 Thomas Quinot <quinot@adacore.com>
7201
7202 * sem_ch4.adb: Minor reformatting
7203
7204 * adaint.c: Remove junk duplicated code.
7205
7206 * sem_ch3.adb: Minor reformatting
7207
7208 * exp_dist.adb: Minor comment rewording
7209
7210 2009-04-16 Robert Dewar <dewar@adacore.com>
7211
7212 * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
7213 used together.
7214
7215 2009-04-16 Ed Schonberg <schonberg@adacore.com>
7216
7217 * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
7218 usable before calling Add_One_Interp, to resolve spurious ambiguities.
7219
7220 2009-04-16 Robert Dewar <dewar@adacore.com>
7221
7222 * Make-lang.in: Add entries for s-conca?.o
7223
7224 * Makefile.rtl: Add entries for s-conca?
7225
7226 * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
7227 of concatenation expansion
7228
7229 * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
7230 string cases instead of expanding assignments inline.
7231
7232 * opt.ads (Optimize_Size): New flag
7233
7234 * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
7235 s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
7236 s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
7237 s-conca9.adb, s-conca9.ads: New file.
7238
7239 2009-04-16 Robert Dewar <dewar@adacore.com>
7240
7241 * exp_ch6.adb: Add comments
7242
7243 * rtsfind.ads: Add entries for s-conca? routines
7244
7245 2009-04-16 Arnaud Charlet <charlet@adacore.com>
7246
7247 * gcc-interface/Make-lang.in: Update dependencies.
7248
7249 * gcc-interface/Makefile.in: Update translation for vms.
7250
7251 2009-04-16 Ed Schonberg <schonberg@adacore.com>
7252
7253 * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
7254 and made global, to be used when installing parents of a child
7255 instance, to provide mappings for entities declared in formal packages
7256 of ancestor units. Now called from Install_Formal_Packages.
7257
7258 2009-04-16 Doug Rupp <rupp@adacore.com>
7259
7260 * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
7261 notation for clarity.
7262
7263 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
7264 s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
7265 s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
7266 (Initialize): Initialize Known_Tasks with Environment task.
7267
7268 * s-taskin.ads (Task_States): Move new states to end for the sake of
7269 GDB compatibility.
7270
7271 * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
7272
7273 2009-04-16 Ed Schonberg <schonberg@adacore.com>
7274
7275 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
7276 operation has an inline pragma, propagate the flag to the internal
7277 unprotected subprogram.
7278
7279 2009-04-16 Doug Rupp <rupp@adacore.com>
7280
7281 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
7282 s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb,
7283 s-taprop-hpux-dce.adb, s-taprop-posix.adb
7284 (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
7285
7286 * s-taprop-vms.adb (Enter_Task): Likewise.
7287 (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
7288
7289 * s-tassta.adb (Activate_Tasks): After task creation set state to
7290 Activating, vice Runnable. Initialize Known_Tasks, moved here from
7291 s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
7292 Set state to Runnable after above.
7293 (Task_Wrapper): Set Debug_Event_Run. In exception block set
7294 Debug_Event_Terminated.
7295
7296 * s-taskin.ads (Task_States): Add new states Activiting and
7297 Activator_Delay_Sleep.
7298 (Bit_Array, Debug_Event_Array): New types.
7299 (Global_Task_Debug_Event_Set: New flag.
7300 (Common_ATCB): New field Debug_Events.
7301
7302 * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
7303
7304 * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
7305 Activator_Sleep.
7306
7307 * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
7308 Activating and when Acceptor_Delay_Sleep.
7309
7310 * s-tasdeb.ads: Add constants for Debug_Events.
7311 (Debug_Event_Kind_Type): New subtype.
7312 (Signal_Debug_Event): New subprogram.
7313
7314 * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
7315
7316 2009-04-16 Thomas Quinot <quinot@adacore.com>
7317
7318 * sem_elim.adb: Minor reformatting
7319
7320 * freeze.adb: Minor reformatting
7321
7322 * exp_ch4.adb: Minor reformatting
7323
7324 2009-04-16 Emmanuel Briot <briot@adacore.com>
7325
7326 * prj-nmsc.adb (Path_Name_Of): fix memory leak
7327
7328 2009-04-16 Robert Dewar <dewar@adacore.com>
7329
7330 * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
7331
7332 2009-04-16 Vincent Celier <celier@adacore.com>
7333
7334 * fmap.adb (Initialize): Show the current line when the mapping file
7335 is detected as "incorrectly formatted".
7336
7337 2009-04-16 Robert Dewar <dewar@adacore.com>
7338
7339 * sem_ch12.adb: Minor reformatting
7340
7341 * sem_ch5.adb: Minor comment addition
7342
7343 * sem_util.adb: Minor reformatting
7344
7345 * sinput-p.adb: Minor reformatting
7346 Add missing pragma Warnings (On)
7347
7348 2009-04-16 Ed Falis <falis@adacore.com>
7349
7350 * s-vxwext-kernel.adb: (ERROR): deleted unused constant
7351
7352 2009-04-16 Vincent Celier <celier@adacore.com>
7353
7354 * ali-util.adb: Minor comment spelling error fix
7355
7356 2009-04-16 Eric Botcazou <ebotcazou@adacore.com>
7357
7358 * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
7359 generate an assignment loop in case of overlap.
7360
7361 2009-04-16 Olivier Hainque <hainque@adacore.com>
7362
7363 * gnat_ugn.texi (gnatmem description): Make it explicit that
7364 gnatmem is designed to work in association with static runtime
7365 library only.
7366
7367 2009-04-16 Thomas Quinot <quinot@adacore.com>
7368
7369 * sem_type.adb: Minor reformatting
7370
7371 2009-04-16 Hristian Kirtchev <kirtchev@adacore.com>
7372
7373 * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
7374 concerning return codes of gettimeofday and return value check.
7375
7376 2009-04-16 Ed Falis <falis@adacore.com>
7377
7378 * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
7379 body can be renaming of imported routines.
7380
7381 2009-04-16 Vasiliy Fofanov <fofanov@adacore.com>
7382
7383 * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
7384 targeted fashion.
7385
7386 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
7387
7388 * exp_ch9.adb: Comment improvements.
7389 (Build_Entry_Family_Name): Add parentheses around the index of a entry
7390 family member.
7391
7392 2009-04-15 Bob Duff <duff@adacore.com>
7393
7394 * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
7395 "while X /= null loop" where X is unchanged inside the loop. We were
7396 not warning in this case, because of the pointers -- we feared that the
7397 loop variable could be updated via a pointer, if there are any pointers
7398 around the place. But that is impossible in this case.
7399
7400 * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
7401 the case of dereferences. In X.all, X cannot be an l-value. We now
7402 catch that case (and implicit dereferences, too).
7403
7404 2009-04-15 Vincent Celier <celier@adacore.com>
7405
7406 * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
7407
7408 2009-04-15 Ed Schonberg <schonberg@adacore.com>
7409
7410 * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
7411 From code reading.
7412 (Analyze_Package_Instantiation): If generic unit in child instance is
7413 the same as generic unit in parent instance, look for an outer homonym
7414 to locate the desired generic.
7415
7416 2009-04-15 Bob Duff <duff@adacore.com>
7417
7418 * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
7419 warnings unless the loop comes from source, because checking generated
7420 loops is a waste of time, and makes it harder to debug
7421 Check_Infinite_Loop_Warning.
7422
7423 * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
7424 tested in the while loop is a renaming, do not warn. Otherwise, we get
7425 false alarms, because it's usually renaming something that we can't
7426 deal with (an indexed component, a global variable, ...).
7427
7428 * gnat_rm.texi: Fix typo
7429
7430 2009-04-15 Thomas Quinot <quinot@adacore.com>
7431
7432 * sem_ch6.adb: Minor reformatting
7433
7434 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
7435
7436 * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
7437 immediate parent of the controlled function call is a component
7438 association.
7439
7440 2009-04-15 Ed Schonberg <schonberg@adacore.com>
7441
7442 * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
7443 corresponding class-wide type is also in use.
7444
7445 2009-04-15 Thomas Quinot <quinot@adacore.com>
7446
7447 * frontend.adb: Minor comment fix
7448
7449 2009-04-15 Robert Dewar <dewar@adacore.com>
7450
7451 * gnatchop.adb (BOM_Length): New global variable
7452 (Write_Unit): Add new parameter Write_BOM
7453 (Write_Chopped_Files): Check for BOM and set Write_BOM for call
7454 to Write_Unit
7455
7456 * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
7457
7458 2009-04-15 Geert Bosch <bosch@adacore.com>
7459
7460 * system-mingw-x86_64.ads, system-darwin-x86_64.ads
7461 (Backend_Overflow_Checks): Set to True.
7462
7463 2009-04-15 Gary Dismukes <dismukes@adacore.com>
7464
7465 * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
7466 keyword is given in a record extension.
7467
7468 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
7469
7470 * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
7471 of a controlled function call in the context of a record aggregate.
7472 This does not apply to array aggregates since the call will be expanded
7473 into assignments.
7474
7475 2009-04-15 Ed Falis <falis@adacore.com>
7476
7477 * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
7478 s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
7479 s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
7480 s-osinte-vxworks* and s-vxwext*.
7481
7482 2009-04-15 Arnaud Charlet <charlet@adacore.com>
7483
7484 * gcc-interface/Make-lang.in: Update dependencies.
7485
7486 * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
7487 and s-vxwext*.
7488
7489 2009-04-15 Robert Dewar <dewar@adacore.com>
7490
7491 * sem_ch13.adb (Unchecked_Conversions): Store source location instead
7492 of node for location for warning messages.
7493
7494 * gnatchop.adb: Minor reformatting
7495
7496 2009-04-15 Ed Schonberg <schonberg@adacore.com>
7497
7498 * exp_ch6.adb: additional guard for renaming declarations for in
7499 parameters of an array type.
7500
7501 2009-04-15 Robert Dewar <dewar@adacore.com>
7502
7503 * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
7504 in case they were rewritten by expander (Force_Evaluation).
7505
7506 * targparm.adb (Get_Target_Parameters): Correct check for
7507 Suppress_Exception_Locations.
7508
7509 2009-04-15 Ed Schonberg <schonberg@adacore.com>
7510
7511 * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
7512 inlined is of an array type that is not bit-packed, use a renaming
7513 declaration to capture its value, rather than a constant declaration.
7514
7515 2009-04-15 Robert Dewar <dewar@adacore.com>
7516
7517 * rtsfind.adb: Minor reformatting.
7518
7519 2009-04-15 Emmanuel Briot <briot@adacore.com>
7520
7521 * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
7522 Restore, and free the saved context.
7523
7524 2009-04-15 Gary Dismukes <dismukes@adacore.com>
7525
7526 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
7527 for illegal private extension from a synchronized interface parent in
7528 front of check for illegal limited extension so that limited extension
7529 from a synchronized interface will be rejected.
7530 (Check_Ifaces): Check that a private extension that has a synchronized
7531 interface as a progenitor must be explicitly declared synchronized.
7532 Also check that a record extension cannot derive from a synchronized
7533 interface.
7534
7535 2009-04-15 Pascal Obry <obry@adacore.com>
7536
7537 * adaint.h (__gnat_unlink): Add spec.
7538 (__gnat_rename): Likewise.
7539
7540 2009-04-15 Vincent Celier <celier@adacore.com>
7541
7542 * prj-nmsc.adb: Minor spelling error corrections in error messages
7543
7544 2009-04-15 Robert Dewar <dewar@adacore.com>
7545
7546 * sinfo.ads: Minor comment update
7547
7548 * opt.ads: Minor comment updates
7549
7550 * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
7551 modular type.
7552
7553 2009-04-15 Ed Schonberg <schonberg@adacore.com>
7554
7555 * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
7556 that generates the code needed to update a dispatch table when a
7557 primitive operation is declared with a subprogram body without previous
7558 spec. Insertion of the generated code is responsibility of the caller.
7559 (Make_DT): When building static tables, append the code created by
7560 Register_Primitive to update a secondary table after it has been
7561 constructed.
7562
7563 * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
7564
7565 * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
7566 on an overriding operation that implements an interface operation only
7567 if not building static dispatch tables.
7568
7569 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
7570
7571 * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
7572 does not cause overflow when converted to Duration. Use the safe value
7573 as the maximum allowable time delay..
7574
7575 2009-04-15 Jerome Lambourg <lambourg@adacore.com>
7576
7577 * g-comlin.adb (Set_Command_Line): When adding a switch with attached
7578 parameter, specify that the delimiter is NUL, otherwise "-j2" will be
7579 translated to "-j 2".
7580
7581 2009-04-15 Bob Duff <duff@adacore.com>
7582
7583 * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
7584 with_clauses, to avoid code duplication. Change this processing so we
7585 always add a with_clause on the main unit if needed.
7586
7587 2009-04-15 Pascal Obry <obry@adacore.com>
7588
7589 Add support for Win32 native encoding for delete/rename routines.
7590
7591 * adaint.c (__gnat_unlink): New routine.
7592 (__gnat_rename): New routine.
7593 Simple wrapper routines used to convert to proper encoding on
7594 Windows.
7595
7596 * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
7597 call to the C library.
7598
7599 * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
7600
7601 2009-04-15 Robert Dewar <dewar@adacore.com>
7602
7603 * s-tassta.adb: Minor reformatting
7604
7605 2009-04-15 Robert Dewar <dewar@adacore.com>
7606
7607 * frontend.adb (Frontend): Set proper default for
7608 Warn_On_Non_Local_Exception.
7609
7610 * opt.ads (Exception_Handler_Encountered): New flag
7611 (No_Warn_On_Non_Local_Exception): New flag
7612
7613 * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
7614
7615 * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
7616 (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
7617
7618 2009-04-15 Cyrille Comar <comar@adacore.com>
7619
7620 * s-tassta.adb, a-exextr.adb, a-elchha.adb
7621 (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
7622 message when exception traces are active since it would generate
7623 redundant information.
7624 (Exception_Traces.Notify_Exception): put message output by a critical
7625 section to avoid unsynchronized output.
7626 (Trace_Unhandled_Exception_In_Task): put message output by a critical
7627 section to avoid unsynchronized output.
7628
7629 2009-04-15 Emmanuel Briot <briot@adacore.com>
7630
7631 * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
7632 (Free): New subprogram.
7633
7634 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
7635
7636 * a-calend.adb: Add new constant Nanos_In_Four_Years.
7637 (Formatting_Operations.Time_Of): Change the way four year chunks of
7638 nanoseconds are added to the intermediate result.
7639
7640 2009-04-15 Nicolas Setton <setton@adacore.com>
7641
7642 * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
7643 does not need to wait for a carriage return.
7644
7645 2009-04-15 Tristan Gingold <gingold@adacore.com>
7646
7647 * bindgen.adb: Do not generate adafinal if No_Finalization restriction
7648 is set.
7649
7650 2009-04-15 Ed Schonberg <schonberg@adacore.com>
7651
7652 * freeze.adb (Freeze_Entity): improve error message for improper use of
7653 incomplete types.
7654 Diagnose additional illegal uses of incomplete types in formal parts.
7655 appearing in formal parts.
7656
7657 * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
7658
7659 2009-04-15 Robert Dewar <dewar@adacore.com>
7660
7661 * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
7662
7663 2009-04-15 Nicolas Roche <roche@adacore.com>
7664
7665 * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
7666 current thread.
7667
7668 * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
7669
7670 * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
7671
7672 2009-04-15 Ed Schonberg <schonberg@adacore.com>
7673
7674 * sem_ch4.adb: improve error message on exponentiation.
7675
7676 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
7677
7678 * a-calend.adb: Move constant Epoch_Offset from package
7679 Conversion_Operations to top level.
7680 (Delay_Operations.To_Duration): Define a constant which represents
7681 "end of time" and use it as a guard against very distant delay dates.
7682 Protect the code against overflow when performing the origin shift to
7683 Unix time.
7684
7685 2009-04-15 Robert Dewar <dewar@adacore.com>
7686
7687 * sem_prag.adb: Minor reformatting.
7688
7689 * sem_type.adb: Minor reformatting
7690
7691 2009-04-15 Javier Miranda <miranda@adacore.com>
7692
7693 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
7694 support to check eliminated subprograms.
7695
7696 * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
7697
7698 * sem_elim.adb (Set_Eliminated): Add support for elimination of
7699 dispatching subprograms.
7700
7701 * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
7702 operations. Initialize with "null" the slots of eliminated dispaching
7703 primitives.
7704 (Write_DT): Add output for eliminated primitives.
7705
7706 * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
7707
7708 2009-04-15 Ed Schonberg <schonberg@adacore.com>
7709
7710 * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
7711 the second is redundant, regardless of scopes.
7712
7713 2009-04-15 Vincent Celier <celier@adacore.com>
7714
7715 * prj-nmsc.adb (Get_Directories): Check for sources before checking
7716 the object directory as when there are no sources, they may not be any
7717 object directory.
7718
7719 * make.adb (Gnatmake): Do not attempt to get the path name of the exec
7720 directory, when there are no exec directory.
7721
7722 2009-04-15 Ed Schonberg <schonberg@adacore.com>
7723
7724 * sem_type.adb (Remove_Conversions): In order to resolve spurious
7725 ambiguities, refine removal of universal interpretations from complex
7726 expressions with literal arguments, when some numeric operators have
7727 been declared abstract.
7728
7729 2009-04-15 Ed Falis <falis@adacore.com>
7730
7731 * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
7732 and backward compatibility for targets using probing for stack overflow
7733
7734 2009-04-15 Ed Schonberg <schonberg@adacore.com>
7735
7736 * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
7737 after any declaration, including renaming declarations.
7738
7739 2009-04-15 Arnaud Charlet <charlet@adacore.com>
7740
7741 * gcc-interface/Make-lang.in: Update dependencies.
7742
7743 * gcc-interface/Makefile.in: Fix VxWorks target pairs.
7744 Update xenomai target pairs.
7745
7746 2009-04-15 Javier Miranda <miranda@adacore.com>
7747
7748 * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
7749
7750 * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
7751 functions returning anonymous access to class-wide limited types. Mark
7752 also the containing scope as a task master.
7753
7754 * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
7755 limited-withed packages. Required to restore their visibility after
7756 processing packages associated with implicit with-clauses.
7757
7758 * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
7759 associated with return statements because this work is now done by
7760 Check_Anonymous_Return.
7761 (Build_Master): Code cleanup.
7762
7763 2009-04-15 Thomas Quinot <quinot@adacore.com>
7764
7765 * sem_warn.ads: Minor reformatting
7766
7767 2009-04-15 Ed Schonberg <schonberg@adacore.com>
7768
7769 * sem_ch3.adb: better error message for illegal interfaces
7770
7771 * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
7772 formal is an incomplete type from a limited_with clause.
7773
7774 2009-04-15 Vincent Celier <celier@adacore.com>
7775
7776 * prj-nmsc.adb (Locate_Directory): New Boolean parameter
7777 Externally_Built indicating if the project is externally built. If it
7778 is, and --subdirs is specified, but the subdir does not exist, look
7779 for the specified directory, without the subdir.
7780
7781 2009-04-15 Gary Dismukes <dismukes@adacore.com>
7782
7783 * a-tasatt.adb: Fix typo, plus minor reformatting
7784
7785 * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
7786
7787 * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
7788
7789 2009-04-15 Ed Schonberg <schonberg@adacore.com>
7790
7791 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
7792 private extension whose parent is a synchronized interface carries an
7793 explicit synchronized keyword.
7794
7795 2009-04-15 Thomas Quinot <quinot@adacore.com>
7796
7797 * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
7798 instantiate generic shared object package with the corresponding
7799 record type.
7800
7801 2009-04-15 Arnaud Charlet <charlet@adacore.com>
7802
7803 * system-linux-sparc.ads: Remove obsolete entries.
7804
7805 2009-04-15 Thomas Quinot <quinot@adacore.com>
7806
7807 * s-tasuti.ads: Add ??? comment
7808
7809 2009-04-15 Ed Schonberg <schonberg@adacore.com>
7810
7811 * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
7812 type even if the designated type comes from a limited_with clause, to
7813 ensure that the symbol for the finalization list of the access type is
7814 created.
7815
7816 2009-04-10 Robert Dewar <dewar@adacore.com>
7817
7818 * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
7819 for warning suppression.
7820
7821 2009-04-10 Ed Schonberg <schonberg@adacore.com>
7822
7823 * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
7824 identical, there is no redudancy to check.
7825
7826 2009-04-10 Gary Dismukes <dismukes@adacore.com>
7827
7828 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
7829 calls initializing SS_Allocator (which is initialized in following
7830 code).
7831 (Expand_Simple_Function_Return): Add comment about False value for
7832 Comes_From_Source on secondary-stack allocator.
7833
7834 * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
7835 (Build_Entry_Name): Add comment.
7836
7837 2009-04-10 Robert Dewar <dewar@adacore.com>
7838
7839 * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
7840
7841 * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
7842 bound tested, since this is now done more generally in Sem_Res.
7843
7844 * sem_res.adb (Resolve_Comparison_Op): Add call to
7845 Check_Lower_Bound_Tested.
7846 (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
7847
7848 * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
7849 (Low_Bound_Tested): New name for Low_Bound_Known flag
7850
7851 * exp_ch5.adb: Minor reformatting
7852
7853 * exp_ch4.adb:
7854 Add comments on copying the Comes_From_Source flag for allocators
7855
7856 * sinfo.ads:
7857 Add comments on copying the Comes_From_Source flag for allocators
7858
7859 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
7860 Comes_From_Source flag from old allocator to new one.
7861
7862 2009-04-10 Ed Schonberg <schonberg@adacore.com>
7863
7864 * sem_ch6.ads: Address missing documentation query
7865
7866 2009-04-10 Vincent Celier <celier@adacore.com>
7867
7868 * prj-attr.adb:
7869 Add new Linker attributes Max_Command_Line_Length, Response_File_Format
7870 and Response_File_Switches.
7871
7872 * prj-nmsc.adb (Process_Linker): Process new attributes
7873 Max_Command_Line_Length, Response_File_Format and
7874 Response_File_Switches.
7875
7876 * prj.ads (Response_File_Format): New enumeration type
7877 (Project_Configuration): New componants Max_Command_Line_Length,
7878 Resp_File_Format and Resp_File_Options.
7879
7880 * snames.ads-tmpl: Add new standard names for linking response files
7881 for gprbuild: GNU, None, Object_List, Option_List,
7882 Max_Command_Line_Length, Response_File_Format and
7883 Response_File_Switches.
7884
7885 2009-04-10 Geert Bosch <bosch@adacore.com>
7886
7887 * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
7888 system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
7889 system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
7890 system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
7891 system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
7892 system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
7893 system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
7894 system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
7895 system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
7896 system-vxworks-arm.ads, system-vxworks-m68k.ads,
7897 system-vxworks-mips.ads, system-vxworks-ppc.ads,
7898 system-vxworks-sparcv9.ads, system-vxworks-x86.ads
7899 (Backend_Overflow_Checks): Set to True.
7900
7901 2009-04-10 Thomas Quinot <quinot@adacore.com>
7902
7903 * exp_attr.adb: Minor reformatting
7904
7905 2009-04-10 Ed Schonberg <schonberg@adacore.com>
7906
7907 * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
7908 analyze the expression for a postcondition, even if the compiler mode
7909 is Generate_Code.
7910
7911 2009-04-10 Robert Dewar <dewar@adacore.com>
7912
7913 * sem_aux.adb: Minor reformatting
7914
7915 2009-04-10 Ed Falis <falis@adacore.com>
7916
7917 * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
7918
7919 * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
7920
7921 2009-04-10 Thomas Quinot <quinot@adacore.com>
7922
7923 * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
7924 undocumented formal.
7925 Minor reformatting
7926
7927 * a-direio.ads: Fix typo in comment
7928
7929 * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
7930 errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
7931 Use uniform phrasing for comment at start of subprogram body.
7932
7933 * xsnamest.adb: Add note to explain why we use specific names for the
7934 newly generated files instead of generating snames.{ads,adb,h} directly
7935
7936 2009-04-10 Sergey Rybin <rybin@adacore.com>
7937
7938 * vms_data.ads:
7939 Add qualifier for new gnatstub option '--no-exception'
7940
7941 * gnat_ugn.texi:
7942 Add the description of the new gnatstub option '--no-exception'
7943
7944 2009-04-10 Robert Dewar <dewar@adacore.com>
7945
7946 * rtsfind.adb: Minor reformatting
7947
7948 2009-04-10 Thomas Quinot <quinot@adacore.com>
7949
7950 * sem_disp.adb: Minor reformatting.
7951 Add comment pointing to RM clause for the case of warning against a
7952 (failed) attempt at declaring a primitive operation elsewhere than in a
7953 package spec.
7954
7955 2009-04-10 Ed Schonberg <schonberg@adacore.com>
7956
7957 * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
7958 an actual for a previous formal package of the current instance.
7959
7960 2009-04-10 Bob Duff <duff@adacore.com>
7961
7962 * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
7963 them first, rather than on the extended main unit.
7964
7965 2009-04-10 Ed Schonberg <schonberg@adacore.com>
7966
7967 * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
7968 specification of full view carries a null exclusion indicator, create
7969 an itype for it, to check for conformance with partial view.
7970
7971 2009-04-10 Bob Duff <duff@adacore.com>
7972
7973 * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
7974
7975 * rtsfind.adb: Minor comment changes, and remove useless code.
7976
7977 * sinfo.ads: Add ??? comment.
7978
7979 2009-04-10 Vincent Celier <celier@adacore.com>
7980
7981 * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
7982
7983 2009-04-10 Ed Schonberg <schonberg@adacore.com>
7984
7985 * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
7986 type is a synchronized type, retrieve tag information from the
7987 corresponding record, which has the dispatch table link.
7988
7989 2009-04-10 Jerome Lambourg <lambourg@adacore.com>
7990
7991 * g-comlin.adb (Group_Analysis): Take care of switches that might be
7992 decomposed afterwards, but are present as-is in the command line
7993 configuration, and thus should be kept as-is.
7994
7995 2009-04-10 Robert Dewar <dewar@adacore.com>
7996
7997 * gnat_rm.texi: Document that postconditions are tested on implicit
7998 returns.
7999
8000 * sem_aux.adb: Minor reformatting
8001
8002 2009-04-10 Gary Dismukes <dismukes@adacore.com>
8003
8004 * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
8005 setting Etype.
8006
8007 * par-ch3.adb (P_Access_Type_Definition): Set new attribute
8008 Null_Exclusion_In_Return_Present when an access-to-function type has a
8009 result type with an explicit not null.
8010
8011 * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
8012 given on the result type, then create a null-excluding itype for the
8013 function.
8014
8015 * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
8016 the case where a null exclusion is imposed on a named access type.
8017 (Analyze_Subprogram_Specification): Push and pop the scope of the
8018 function around the call to Analyze_Return_Type in the case of no
8019 formals, for consistency with handling when formals are present
8020 (Process_Formals does this). Ensures that any itype created for the
8021 return type will be associated with the proper scope.
8022
8023 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
8024 exclusion is given on a generic function's result type, then create a
8025 null-excluding itype for the generic function.
8026 (Instantiate_Object): Set Null_Exclusion_Present of a constant created
8027 for an actual for a formal in object according to the setting on the
8028 formal. Ensures null exclusion checks are done when the association is
8029 elaborated.
8030
8031 * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
8032 N_Access_Function_Definition.
8033
8034 * sinfo.adb: Add Get_ and Set_ operations for
8035 Null_Exclusion_In_Return_Present.
8036
8037 2009-04-10 Bob Duff <duff@adacore.com>
8038
8039 * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
8040 call to the _Postconditions procedure in the case of implicit returns
8041 from analysis to expansion. This eliminates some duplicated code. Use
8042 the Postcondition_Proc to find the identity of this procedure during
8043 expansion.
8044
8045 2009-04-10 Robert Dewar <dewar@adacore.com>
8046
8047 * sem_ch6.adb: Minor code clean up.
8048
8049 * einfo.ads, sem_attr.adb: Minor comment fixes.
8050
8051 2009-04-10 Robert Dewar <dewar@adacore.com>
8052
8053 * sem_ch8.adb: Minor reformatting
8054
8055 2009-04-10 Robert Dewar <dewar@adacore.com>
8056
8057 * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
8058 procedures.
8059
8060 * sem_ch6.adb: Minor code clean up.
8061
8062 2009-04-10 Robert Dewar <dewar@adacore.com>
8063
8064 * mlib-tgt-specific-xi.adb: Minor reformatting
8065
8066 2009-04-10 Bob Duff <duff@adacore.com>
8067
8068 * einfo.ads: Minor comment fixes
8069
8070 2009-04-10 Vincent Celier <celier@adacore.com>
8071
8072 * snames.ads-tmpl: Remove names that are no longer used in the
8073 Project Manager.
8074 Mark specifically those that are used only in gprbuild
8075
8076 2009-04-10 Eric Botcazou <ebotcazou@adacore.com>
8077
8078 * init.c: Adjust EH support code on Alpha/Tru64.
8079
8080 2009-04-10 Bob Duff <duff@adacore.com>
8081
8082 * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
8083 procedure on every path that could return implicitly (not via a return
8084 statement) from a procedure.
8085
8086 2009-04-10 Ed Schonberg <schonberg@adacore.com>
8087
8088 * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
8089 valid scope for a task declarations and therefore for a master id.
8090
8091 2009-04-10 Robert Dewar <dewar@adacore.com>
8092
8093 * sem_aux.adb: Minor reformatting
8094
8095 2009-04-10 Vincent Celier <celier@adacore.com>
8096
8097 * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
8098 True.
8099 (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
8100 (Set_Obsolescent_Check): New procedure to change the value of
8101 Obsolescent_Check_Flag.
8102
8103 * scn.ads (Set_Obsolescent_Check): New procedure to control
8104 Obsolescent_Check.
8105
8106 * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
8107 obsolescent features while preprocessing.
8108
8109 2009-04-10 Thomas Quinot <quinot@adacore.com>
8110
8111 * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
8112 generated files on all platforms.
8113
8114 2009-04-10 Robert Dewar <dewar@adacore.com>
8115
8116 * sem_aux.adb: Minor reformatting
8117
8118 2009-04-10 Ed Schonberg <schonberg@adacore.com>
8119
8120 * sem_ch3.adb (Access_Definition): Handle properly the case of a
8121 protected function with formals that returns an anonymous access type.
8122
8123 2009-04-10 Thomas Quinot <quinot@adacore.com>
8124
8125 * sem_disp.adb: Minor reformatting
8126
8127 2009-04-10 Vasiliy Fofanov <fofanov@adacore.com>
8128
8129 * seh_init.c: Do not use the 32-bit specific implementation of
8130 __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
8131 version TBD).
8132
8133 2009-04-10 Jose Ruiz <ruiz@adacore.com>
8134
8135 * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
8136 a '/' at the end so we better use the complete target name to determine
8137 whether it is a PowerPC 55xx target.
8138
8139 2009-04-10 Thomas Quinot <quinot@adacore.com>
8140
8141 * sem_eval.adb: Minor reformatting
8142
8143 2009-04-10 Thomas Quinot <quinot@adacore.com>
8144
8145 * snames.h, snames.ads, snames.adb: Remove files, now generated from
8146 templates.
8147
8148 * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
8149 above.
8150
8151 * xsnamest.adb: New file.
8152
8153 * gcc-interface/Make-lang.in: New target for automated generation of
8154 snames.ads, snames.adb and snames.h
8155
8156 2009-04-10 Tristan Gingold <gingold@adacore.com>
8157
8158 * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
8159 avoid compile time warnings.
8160 Do not add gcc/config in include search list while compiling the RTS.
8161 Pragma Thread_Local_Storage is available on any target.
8162
8163 2009-04-10 Bob Duff <duff@adacore.com>
8164
8165 * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
8166
8167 2009-04-10 Tristan Gingold <gingold@adacore.com>
8168
8169 * init.c: Install signal handler on Darwin.
8170
8171 2009-04-10 Robert Dewar <dewar@adacore.com>
8172
8173 * sem_prag.adb: Minor reformatting
8174
8175 * exp_util.adb (Make_Non_Empty_Check): New function
8176 (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
8177 (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
8178
8179 2009-04-10 Arnaud Charlet <charlet@adacore.com>
8180
8181 * make.adb, gnatlink.adb: Rename JGNAT toolchain.
8182
8183 2009-04-10 Jose Ruiz <ruiz@adacore.com>
8184
8185 * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
8186 tool prefix for AVR and PowerPC 55xx targets.
8187
8188 2009-04-10 Robert Dewar <dewar@adacore.com>
8189
8190 * sem_warn.adb (Within_Postcondition): New function
8191 (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
8192
8193 2009-04-10 Robert Dewar <dewar@adacore.com>
8194
8195 * sem_warn.adb: Minor reformatting
8196
8197 * make.adb: Minor reformatting.
8198
8199 2009-04-10 Gary Dismukes <dismukes@adacore.com>
8200
8201 * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
8202 entity and the scope is a subprogram, retrieve the Sloc of the
8203 subprogram's body rather than using the sloc of the spec, for better
8204 line-stepping behavior in gdb.
8205 (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
8206 controller, use the Sloc of the first declaration of the containing list
8207 rather than that of the node that triggered creation of the list
8208 controller.
8209
8210 2009-04-10 Vincent Celier <celier@adacore.com>
8211
8212 * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
8213 to avoid gcc warning.
8214
8215 2009-04-10 Robert Dewar <dewar@adacore.com>
8216
8217 * g-comlin.adb: Add ??? comment
8218
8219 2009-04-10 Ed Schonberg <schonberg@adacore.com>
8220
8221 * sem_warn.adb (Check_Unused_Withs): Do not emit message about
8222 unreferenced entities for a package with no visible declarations.
8223
8224 2009-04-10 Robert Dewar <dewar@adacore.com>
8225
8226 * exp_ch9.adb: Minor reformatting
8227
8228 2009-04-10 Thomas Quinot <quinot@adacore.com>
8229
8230 * sem_prag.adb: Minor reformatting
8231
8232 2009-04-10 Vincent Celier <celier@adacore.com>
8233
8234 * prj-nmsc.adb:
8235 (Check_Library_Attributes): For a project qualified as a library project
8236 that is not a library project, indicate in the error message which
8237 attributes are missing (Library_Dir and/or Library_Name).
8238
8239 2009-04-10 Bob Duff <duff@adacore.com>
8240
8241 * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
8242 generated nodes, because it might confuse various circuits in the FE.
8243
8244 2009-04-10 Ed Schonberg <schonberg@adacore.com>
8245
8246 * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
8247 of pragma. It will be recopied and analyzed when used in call to
8248 Create_Task.
8249
8250 * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
8251 initialization operations and recognize use of it in procedure calls
8252 within init_procs.
8253
8254 * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
8255 argument, because it may have side-effects.
8256
8257 * exp_ch2.adb: Remove obsolete comments on default functions
8258
8259 2009-04-10 Jose Ruiz <ruiz@adacore.com>
8260
8261 * adaint.c (RTX section): Do for RTX the same thing as we do for
8262 Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
8263
8264 2009-04-10 Robert Dewar <dewar@adacore.com>
8265
8266 * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
8267
8268 * sem_res.adb (Resolve_Call): Fix test for
8269 Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
8270 a non-dynamic scope).
8271
8272 2009-04-10 Robert Dewar <dewar@adacore.com>
8273
8274 * make.adb: Add comment.
8275 Minor reformatting
8276
8277 2009-04-10 Nicolas Setton <setton@adacore.com>
8278
8279 * s-osprim-darwin.adb: New file.
8280
8281 * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
8282
8283 2009-04-10 Thomas Quinot <quinot@adacore.com>
8284
8285 * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
8286
8287 2009-04-09 Nick Clifton <nickc@redhat.com>
8288
8289 * adadecode.h: Change copyright header to refer to version
8290 3 of the GNU General Public License with version 3.1 of the
8291 GCC Runtime Library Exception and to point readers at the
8292 COPYING3 and COPYING3.RUNTIME files and the FSF's license web
8293 page.
8294 * 9drpc.adb: Likewise.
8295 * a-assert.adb: Likewise.
8296 * a-astaco.adb: Likewise.
8297 * a-calari.adb: Likewise.
8298 * a-calcon.adb: Likewise.
8299 * a-calcon.ads: Likewise.
8300 * a-caldel.ads: Likewise.
8301 * a-calend-vms.adb: Likewise.
8302 * a-calend-vms.ads: Likewise.
8303 * a-calend.adb: Likewise.
8304 * a-calend.ads: Likewise.
8305 * a-calfor.adb: Likewise.
8306 * a-catizo.adb: Likewise.
8307 * a-cdlili.adb: Likewise.
8308 * a-cdlili.ads: Likewise.
8309 * a-cgaaso.adb: Likewise.
8310 * a-cgaaso.ads: Likewise.
8311 * a-cgarso.adb: Likewise.
8312 * a-cgcaso.adb: Likewise.
8313 * a-chacon.adb: Likewise.
8314 * a-chacon.ads: Likewise.
8315 * a-chahan.adb: Likewise.
8316 * a-chahan.ads: Likewise.
8317 * a-chlat9.ads: Likewise.
8318 * a-chtgke.adb: Likewise.
8319 * a-chtgke.ads: Likewise.
8320 * a-chtgop.adb: Likewise.
8321 * a-chtgop.ads: Likewise.
8322 * a-chzla1.ads: Likewise.
8323 * a-chzla9.ads: Likewise.
8324 * a-cidlli.adb: Likewise.
8325 * a-cidlli.ads: Likewise.
8326 * a-cihama.adb: Likewise.
8327 * a-cihama.ads: Likewise.
8328 * a-cihase.adb: Likewise.
8329 * a-cihase.ads: Likewise.
8330 * a-ciorma.adb: Likewise.
8331 * a-ciorma.ads: Likewise.
8332 * a-ciormu.adb: Likewise.
8333 * a-ciormu.ads: Likewise.
8334 * a-ciorse.adb: Likewise.
8335 * a-ciorse.ads: Likewise.
8336 * a-clrefi.adb: Likewise.
8337 * a-clrefi.ads: Likewise.
8338 * a-cohama.adb: Likewise.
8339 * a-cohama.ads: Likewise.
8340 * a-cohase.adb: Likewise.
8341 * a-cohase.ads: Likewise.
8342 * a-cohata.ads: Likewise.
8343 * a-coinve.adb: Likewise.
8344 * a-coinve.ads: Likewise.
8345 * a-colien.adb: Likewise.
8346 * a-colien.ads: Likewise.
8347 * a-colire.adb: Likewise.
8348 * a-colire.ads: Likewise.
8349 * a-comlin.adb: Likewise.
8350 * a-comlin.ads: Likewise.
8351 * a-convec.adb: Likewise.
8352 * a-convec.ads: Likewise.
8353 * a-coorma.adb: Likewise.
8354 * a-coorma.ads: Likewise.
8355 * a-coormu.adb: Likewise.
8356 * a-coormu.ads: Likewise.
8357 * a-coorse.adb: Likewise.
8358 * a-coorse.ads: Likewise.
8359 * a-coprnu.adb: Likewise.
8360 * a-coprnu.ads: Likewise.
8361 * a-crbltr.ads: Likewise.
8362 * a-crbtgk.adb: Likewise.
8363 * a-crbtgk.ads: Likewise.
8364 * a-crbtgo.adb: Likewise.
8365 * a-crbtgo.ads: Likewise.
8366 * a-crdlli.adb: Likewise.
8367 * a-crdlli.ads: Likewise.
8368 * a-cwila1.ads: Likewise.
8369 * a-cwila9.ads: Likewise.
8370 * a-decima.adb: Likewise.
8371 * a-decima.ads: Likewise.
8372 * a-diocst.adb: Likewise.
8373 * a-diocst.ads: Likewise.
8374 * a-direct.adb: Likewise.
8375 * a-direct.ads: Likewise.
8376 * a-direio.adb: Likewise.
8377 * a-direio.ads: Likewise.
8378 * a-dirval-mingw.adb: Likewise.
8379 * a-dirval-vms.adb: Likewise.
8380 * a-dirval.adb: Likewise.
8381 * a-dirval.ads: Likewise.
8382 * a-dynpri.adb: Likewise.
8383 * a-einuoc.adb: Likewise.
8384 * a-einuoc.ads: Likewise.
8385 * a-elchha.adb: Likewise.
8386 * a-elchha.ads: Likewise.
8387 * a-envvar.adb: Likewise.
8388 * a-excach.adb: Likewise.
8389 * a-except-2005.adb: Likewise.
8390 * a-except-2005.ads: Likewise.
8391 * a-except.adb: Likewise.
8392 * a-except.ads: Likewise.
8393 * a-excpol-abort.adb: Likewise.
8394 * a-excpol.adb: Likewise.
8395 * a-exctra.adb: Likewise.
8396 * a-exctra.ads: Likewise.
8397 * a-exetim-mingw.adb: Likewise.
8398 * a-exetim-mingw.ads: Likewise.
8399 * a-exexda.adb: Likewise.
8400 * a-exexpr-gcc.adb: Likewise.
8401 * a-exexpr.adb: Likewise.
8402 * a-exextr.adb: Likewise.
8403 * a-exstat.adb: Likewise.
8404 * a-filico.adb: Likewise.
8405 * a-filico.ads: Likewise.
8406 * a-finali.adb: Likewise.
8407 * a-finali.ads: Likewise.
8408 * a-interr.ads: Likewise.
8409 * a-intnam-aix.ads: Likewise.
8410 * a-intnam-darwin.ads: Likewise.
8411 * a-intnam-dummy.ads: Likewise.
8412 * a-intnam-freebsd.ads: Likewise.
8413 * a-intnam-hpux.ads: Likewise.
8414 * a-intnam-irix.ads: Likewise.
8415 * a-intnam-linux.ads: Likewise.
8416 * a-intnam-lynxos.ads: Likewise.
8417 * a-intnam-mingw.ads: Likewise.
8418 * a-intnam-rtems.ads: Likewise.
8419 * a-intnam-solaris.ads: Likewise.
8420 * a-intnam-tru64.ads: Likewise.
8421 * a-intnam-vms.ads: Likewise.
8422 * a-intnam-vxworks.ads: Likewise.
8423 * a-intsig.adb: Likewise.
8424 * a-intsig.ads: Likewise.
8425 * a-ngcefu.adb: Likewise.
8426 * a-ngcoar.adb: Likewise.
8427 * a-ngcoty.adb: Likewise.
8428 * a-ngcoty.ads: Likewise.
8429 * a-ngelfu.adb: Likewise.
8430 * a-ngrear.adb: Likewise.
8431 * a-ngrear.ads: Likewise.
8432 * a-nudira.adb: Likewise.
8433 * a-nudira.ads: Likewise.
8434 * a-nuflra.adb: Likewise.
8435 * a-nuflra.ads: Likewise.
8436 * a-numaux-darwin.adb: Likewise.
8437 * a-numaux-darwin.ads: Likewise.
8438 * a-numaux-libc-x86.ads: Likewise.
8439 * a-numaux-vxworks.ads: Likewise.
8440 * a-numaux-x86.adb: Likewise.
8441 * a-numaux-x86.ads: Likewise.
8442 * a-numaux.ads: Likewise.
8443 * a-rbtgso.adb: Likewise.
8444 * a-rbtgso.ads: Likewise.
8445 * a-reatim.ads: Likewise.
8446 * a-retide.adb: Likewise.
8447 * a-retide.ads: Likewise.
8448 * a-rttiev.adb: Likewise.
8449 * a-rttiev.ads: Likewise.
8450 * a-secain.adb: Likewise.
8451 * a-secain.ads: Likewise.
8452 * a-sequio.adb: Likewise.
8453 * a-sequio.ads: Likewise.
8454 * a-shcain.adb: Likewise.
8455 * a-shcain.ads: Likewise.
8456 * a-siocst.adb: Likewise.
8457 * a-siocst.ads: Likewise.
8458 * a-slcain.adb: Likewise.
8459 * a-slcain.ads: Likewise.
8460 * a-ssicst.adb: Likewise.
8461 * a-ssicst.ads: Likewise.
8462 * a-stboha.adb: Likewise.
8463 * a-stmaco.ads: Likewise.
8464 * a-storio.adb: Likewise.
8465 * a-strbou.adb: Likewise.
8466 * a-strbou.ads: Likewise.
8467 * a-stream.ads: Likewise.
8468 * a-strfix.adb: Likewise.
8469 * a-strhas.adb: Likewise.
8470 * a-strmap.adb: Likewise.
8471 * a-strmap.ads: Likewise.
8472 * a-strsea.adb: Likewise.
8473 * a-strsea.ads: Likewise.
8474 * a-strsup.adb: Likewise.
8475 * a-strsup.ads: Likewise.
8476 * a-strunb.adb: Likewise.
8477 * a-strunb.ads: Likewise.
8478 * a-ststio.adb: Likewise.
8479 * a-ststio.ads: Likewise.
8480 * a-stunau.adb: Likewise.
8481 * a-stunau.ads: Likewise.
8482 * a-stunha.adb: Likewise.
8483 * a-stwibo.adb: Likewise.
8484 * a-stwibo.ads: Likewise.
8485 * a-stwifi.adb: Likewise.
8486 * a-stwiha.adb: Likewise.
8487 * a-stwima.adb: Likewise.
8488 * a-stwima.ads: Likewise.
8489 * a-stwise.adb: Likewise.
8490 * a-stwise.ads: Likewise.
8491 * a-stwisu.adb: Likewise.
8492 * a-stwisu.ads: Likewise.
8493 * a-stwiun.adb: Likewise.
8494 * a-stwiun.ads: Likewise.
8495 * a-stzbou.adb: Likewise.
8496 * a-stzbou.ads: Likewise.
8497 * a-stzfix.adb: Likewise.
8498 * a-stzhas.adb: Likewise.
8499 * a-stzmap.adb: Likewise.
8500 * a-stzmap.ads: Likewise.
8501 * a-stzsea.adb: Likewise.
8502 * a-stzsea.ads: Likewise.
8503 * a-stzsup.adb: Likewise.
8504 * a-stzsup.ads: Likewise.
8505 * a-stzunb.adb: Likewise.
8506 * a-stzunb.ads: Likewise.
8507 * a-suteio.adb: Likewise.
8508 * a-suteio.ads: Likewise.
8509 * a-swbwha.adb: Likewise.
8510 * a-swmwco.ads: Likewise.
8511 * a-swunau.adb: Likewise.
8512 * a-swunau.ads: Likewise.
8513 * a-swuwha.adb: Likewise.
8514 * a-swuwti.adb: Likewise.
8515 * a-swuwti.ads: Likewise.
8516 * a-sytaco.adb: Likewise.
8517 * a-sytaco.ads: Likewise.
8518 * a-szbzha.adb: Likewise.
8519 * a-szmzco.ads: Likewise.
8520 * a-szunau.adb: Likewise.
8521 * a-szunau.ads: Likewise.
8522 * a-szuzha.adb: Likewise.
8523 * a-szuzti.adb: Likewise.
8524 * a-szuzti.ads: Likewise.
8525 * a-tags.adb: Likewise.
8526 * a-tags.ads: Likewise.
8527 * a-tasatt.ads: Likewise.
8528 * a-taside.adb: Likewise.
8529 * a-taside.ads: Likewise.
8530 * a-taster.adb: Likewise.
8531 * a-teioed.adb: Likewise.
8532 * a-teioed.ads: Likewise.
8533 * a-textio.adb: Likewise.
8534 * a-textio.ads: Likewise.
8535 * a-tiboio.adb: Likewise.
8536 * a-ticoau.adb: Likewise.
8537 * a-ticoau.ads: Likewise.
8538 * a-ticoio.adb: Likewise.
8539 * a-ticoio.ads: Likewise.
8540 * a-tideau.adb: Likewise.
8541 * a-tideau.ads: Likewise.
8542 * a-tideio.adb: Likewise.
8543 * a-tideio.ads: Likewise.
8544 * a-tienau.adb: Likewise.
8545 * a-tienau.ads: Likewise.
8546 * a-tienio.adb: Likewise.
8547 * a-tienio.ads: Likewise.
8548 * a-tifiio.adb: Likewise.
8549 * a-tifiio.ads: Likewise.
8550 * a-tiflau.adb: Likewise.
8551 * a-tiflau.ads: Likewise.
8552 * a-tiflio.adb: Likewise.
8553 * a-tiflio.ads: Likewise.
8554 * a-tigeau.adb: Likewise.
8555 * a-tigeau.ads: Likewise.
8556 * a-tiinau.adb: Likewise.
8557 * a-tiinau.ads: Likewise.
8558 * a-tiinio.adb: Likewise.
8559 * a-tiinio.ads: Likewise.
8560 * a-timoau.adb: Likewise.
8561 * a-timoau.ads: Likewise.
8562 * a-timoio.adb: Likewise.
8563 * a-timoio.ads: Likewise.
8564 * a-tiocst.adb: Likewise.
8565 * a-tiocst.ads: Likewise.
8566 * a-titest.adb: Likewise.
8567 * a-wichun.adb: Likewise.
8568 * a-wichun.ads: Likewise.
8569 * a-witeio.adb: Likewise.
8570 * a-witeio.ads: Likewise.
8571 * a-wtcoau.adb: Likewise.
8572 * a-wtcoau.ads: Likewise.
8573 * a-wtcoio.adb: Likewise.
8574 * a-wtcstr.adb: Likewise.
8575 * a-wtcstr.ads: Likewise.
8576 * a-wtdeau.adb: Likewise.
8577 * a-wtdeau.ads: Likewise.
8578 * a-wtdeio.adb: Likewise.
8579 * a-wtdeio.ads: Likewise.
8580 * a-wtedit.adb: Likewise.
8581 * a-wtedit.ads: Likewise.
8582 * a-wtenau.adb: Likewise.
8583 * a-wtenau.ads: Likewise.
8584 * a-wtenio.adb: Likewise.
8585 * a-wtenio.ads: Likewise.
8586 * a-wtfiio.adb: Likewise.
8587 * a-wtfiio.ads: Likewise.
8588 * a-wtflau.adb: Likewise.
8589 * a-wtflau.ads: Likewise.
8590 * a-wtflio.adb: Likewise.
8591 * a-wtflio.ads: Likewise.
8592 * a-wtgeau.adb: Likewise.
8593 * a-wtgeau.ads: Likewise.
8594 * a-wtinau.adb: Likewise.
8595 * a-wtinau.ads: Likewise.
8596 * a-wtinio.adb: Likewise.
8597 * a-wtmoau.adb: Likewise.
8598 * a-wtmoau.ads: Likewise.
8599 * a-wtmoio.adb: Likewise.
8600 * a-wtmoio.ads: Likewise.
8601 * a-wttest.adb: Likewise.
8602 * a-wwboio.adb: Likewise.
8603 * a-zchuni.adb: Likewise.
8604 * a-zchuni.ads: Likewise.
8605 * a-ztcoau.adb: Likewise.
8606 * a-ztcoau.ads: Likewise.
8607 * a-ztcoio.adb: Likewise.
8608 * a-ztcstr.adb: Likewise.
8609 * a-ztcstr.ads: Likewise.
8610 * a-ztdeau.adb: Likewise.
8611 * a-ztdeau.ads: Likewise.
8612 * a-ztdeio.adb: Likewise.
8613 * a-ztdeio.ads: Likewise.
8614 * a-ztedit.adb: Likewise.
8615 * a-ztedit.ads: Likewise.
8616 * a-ztenau.adb: Likewise.
8617 * a-ztenau.ads: Likewise.
8618 * a-ztenio.adb: Likewise.
8619 * a-ztenio.ads: Likewise.
8620 * a-ztexio.adb: Likewise.
8621 * a-ztexio.ads: Likewise.
8622 * a-ztfiio.adb: Likewise.
8623 * a-ztfiio.ads: Likewise.
8624 * a-ztflau.adb: Likewise.
8625 * a-ztflau.ads: Likewise.
8626 * a-ztflio.adb: Likewise.
8627 * a-ztflio.ads: Likewise.
8628 * a-ztgeau.adb: Likewise.
8629 * a-ztgeau.ads: Likewise.
8630 * a-ztinau.adb: Likewise.
8631 * a-ztinau.ads: Likewise.
8632 * a-ztinio.adb: Likewise.
8633 * a-ztmoau.adb: Likewise.
8634 * a-ztmoau.ads: Likewise.
8635 * a-ztmoio.adb: Likewise.
8636 * a-ztmoio.ads: Likewise.
8637 * a-zttest.adb: Likewise.
8638 * a-zzboio.adb: Likewise.
8639 * adadecode.c: Likewise.
8640 * adaint.c: Likewise.
8641 * adaint.h: Likewise.
8642 * alloc.ads: Likewise.
8643 * argv.c: Likewise.
8644 * arit64.c: Likewise.
8645 * atree.adb: Likewise.
8646 * atree.ads: Likewise.
8647 * aux-io.c: Likewise.
8648 * cal.c: Likewise.
8649 * casing.adb: Likewise.
8650 * casing.ads: Likewise.
8651 * cio.c: Likewise.
8652 * csets.adb: Likewise.
8653 * csets.ads: Likewise.
8654 * cstreams.c: Likewise.
8655 * ctrl_c.c: Likewise.
8656 * debug.adb: Likewise.
8657 * debug.ads: Likewise.
8658 * dec.ads: Likewise.
8659 * einfo.adb: Likewise.
8660 * einfo.ads: Likewise.
8661 * elists.adb: Likewise.
8662 * elists.ads: Likewise.
8663 * env.c: Likewise.
8664 * env.h: Likewise.
8665 * errno.c: Likewise.
8666 * exit.c: Likewise.
8667 * fe.h: Likewise.
8668 * final.c: Likewise.
8669 * fname.adb: Likewise.
8670 * fname.ads: Likewise.
8671 * g-allein.ads: Likewise.
8672 * g-alleve.adb: Likewise.
8673 * g-alleve.ads: Likewise.
8674 * g-altcon.adb: Likewise.
8675 * g-altcon.ads: Likewise.
8676 * g-altive.ads: Likewise.
8677 * g-alveop.adb: Likewise.
8678 * g-alveop.ads: Likewise.
8679 * g-alvety.ads: Likewise.
8680 * g-alvevi.ads: Likewise.
8681 * g-arrspl.adb: Likewise.
8682 * g-arrspl.ads: Likewise.
8683 * g-calend.ads: Likewise.
8684 * g-comlin.adb: Likewise.
8685 * g-debpoo.adb: Likewise.
8686 * g-debpoo.ads: Likewise.
8687 * g-eacodu-vms.adb: Likewise.
8688 * g-eacodu.adb: Likewise.
8689 * g-excact.adb: Likewise.
8690 * g-excact.ads: Likewise.
8691 * g-locfil.adb: Likewise.
8692 * g-os_lib.ads: Likewise.
8693 * g-rannum.adb: Likewise.
8694 * g-rannum.ads: Likewise.
8695 * g-regist.adb: Likewise.
8696 * g-regist.ads: Likewise.
8697 * g-signal.adb: Likewise.
8698 * g-signal.ads: Likewise.
8699 * g-soccon.ads: Likewise.
8700 * g-string.adb: Likewise.
8701 * g-string.ads: Likewise.
8702 * g-strspl.ads: Likewise.
8703 * g-timsta.adb: Likewise.
8704 * g-timsta.ads: Likewise.
8705 * g-trasym-vms-alpha.adb: Likewise.
8706 * g-trasym-vms-ia64.adb: Likewise.
8707 * g-utf_32.adb: Likewise.
8708 * g-utf_32.ads: Likewise.
8709 * g-wistsp.ads: Likewise.
8710 * g-zstspl.ads: Likewise.
8711 * gmem.c: Likewise.
8712 * gnatvsn.adb: Likewise.
8713 * gnatvsn.ads: Likewise.
8714 * gsocket.h: Likewise.
8715 * hostparm.ads: Likewise.
8716 * i-c.adb: Likewise.
8717 * i-cexten.ads: Likewise.
8718 * i-cobol.adb: Likewise.
8719 * i-cobol.ads: Likewise.
8720 * i-cpoint.adb: Likewise.
8721 * i-cpoint.ads: Likewise.
8722 * i-cpp.adb: Likewise.
8723 * i-cpp.ads: Likewise.
8724 * i-cstrea-vms.adb: Likewise.
8725 * i-cstrea.adb: Likewise.
8726 * i-cstrea.ads: Likewise.
8727 * i-cstrin.adb: Likewise.
8728 * i-cstrin.ads: Likewise.
8729 * i-forbla-darwin.adb: Likewise.
8730 * i-forbla-unimplemented.ads: Likewise.
8731 * i-forbla.adb: Likewise.
8732 * i-forbla.ads: Likewise.
8733 * i-forlap.ads: Likewise.
8734 * i-fortra.adb: Likewise.
8735 * i-pacdec.adb: Likewise.
8736 * i-pacdec.ads: Likewise.
8737 * i-vxwoio.adb: Likewise.
8738 * i-vxwoio.ads: Likewise.
8739 * indepsw-aix.adb: Likewise.
8740 * indepsw-gnu.adb: Likewise.
8741 * indepsw-mingw.adb: Likewise.
8742 * indepsw.adb: Likewise.
8743 * indepsw.ads: Likewise.
8744 * init.c: Likewise.
8745 * initialize.c: Likewise.
8746 * interfac.ads: Likewise.
8747 * krunch.adb: Likewise.
8748 * krunch.ads: Likewise.
8749 * lib-list.adb: Likewise.
8750 * lib-sort.adb: Likewise.
8751 * lib.adb: Likewise.
8752 * lib.ads: Likewise.
8753 * link.c: Likewise.
8754 * math_lib.adb: Likewise.
8755 * memtrack.adb: Likewise.
8756 * mingw32.h: Likewise.
8757 * mkdir.c: Likewise.
8758 * namet-sp.adb: Likewise.
8759 * namet-sp.ads: Likewise.
8760 * namet.adb: Likewise.
8761 * namet.ads: Likewise.
8762 * nlists.adb: Likewise.
8763 * nlists.ads: Likewise.
8764 * opt.adb: Likewise.
8765 * opt.ads: Likewise.
8766 * output.adb: Likewise.
8767 * output.ads: Likewise.
8768 * raise-gcc.c: Likewise.
8769 * raise.c: Likewise.
8770 * raise.h: Likewise.
8771 * repinfo.adb: Likewise.
8772 * repinfo.ads: Likewise.
8773 * repinfo.h: Likewise.
8774 * rident.ads: Likewise.
8775 * s-addima.adb: Likewise.
8776 * s-addima.ads: Likewise.
8777 * s-addope.adb: Likewise.
8778 * s-addope.ads: Likewise.
8779 * s-arit64.adb: Likewise.
8780 * s-arit64.ads: Likewise.
8781 * s-assert.adb: Likewise.
8782 * s-assert.ads: Likewise.
8783 * s-asthan-vms-alpha.adb: Likewise.
8784 * s-asthan.adb: Likewise.
8785 * s-asthan.ads: Likewise.
8786 * s-atacco.adb: Likewise.
8787 * s-atacco.ads: Likewise.
8788 * s-auxdec-empty.adb: Likewise.
8789 * s-auxdec-empty.ads: Likewise.
8790 * s-auxdec-vms_64.ads: Likewise.
8791 * s-auxdec.adb: Likewise.
8792 * s-auxdec.ads: Likewise.
8793 * s-bitops.adb: Likewise.
8794 * s-bitops.ads: Likewise.
8795 * s-boarop.ads: Likewise.
8796 * s-carsi8.adb: Likewise.
8797 * s-carsi8.ads: Likewise.
8798 * s-carun8.adb: Likewise.
8799 * s-carun8.ads: Likewise.
8800 * s-casi16.adb: Likewise.
8801 * s-casi16.ads: Likewise.
8802 * s-casi32.adb: Likewise.
8803 * s-casi32.ads: Likewise.
8804 * s-casi64.adb: Likewise.
8805 * s-casi64.ads: Likewise.
8806 * s-casuti.ads: Likewise.
8807 * s-caun16.adb: Likewise.
8808 * s-caun16.ads: Likewise.
8809 * s-caun32.adb: Likewise.
8810 * s-caun32.ads: Likewise.
8811 * s-caun64.adb: Likewise.
8812 * s-caun64.ads: Likewise.
8813 * s-chepoo.ads: Likewise.
8814 * s-crc32.adb: Likewise.
8815 * s-crc32.ads: Likewise.
8816 * s-crtl.ads: Likewise.
8817 * s-direio.adb: Likewise.
8818 * s-direio.ads: Likewise.
8819 * s-dsaser.ads: Likewise.
8820 * s-except.adb: Likewise.
8821 * s-except.ads: Likewise.
8822 * s-exctab.adb: Likewise.
8823 * s-exctab.ads: Likewise.
8824 * s-exnint.adb: Likewise.
8825 * s-exnint.ads: Likewise.
8826 * s-exnllf.adb: Likewise.
8827 * s-exnllf.ads: Likewise.
8828 * s-exnlli.adb: Likewise.
8829 * s-exnlli.ads: Likewise.
8830 * s-expint.adb: Likewise.
8831 * s-expint.ads: Likewise.
8832 * s-explli.adb: Likewise.
8833 * s-explli.ads: Likewise.
8834 * s-expllu.adb: Likewise.
8835 * s-expllu.ads: Likewise.
8836 * s-expmod.adb: Likewise.
8837 * s-expmod.ads: Likewise.
8838 * s-expuns.adb: Likewise.
8839 * s-expuns.ads: Likewise.
8840 * s-fatflt.ads: Likewise.
8841 * s-fatgen.adb: Likewise.
8842 * s-fatgen.ads: Likewise.
8843 * s-fatlfl.ads: Likewise.
8844 * s-fatllf.ads: Likewise.
8845 * s-fatsfl.ads: Likewise.
8846 * s-ficobl.ads: Likewise.
8847 * s-fileio.adb: Likewise.
8848 * s-fileio.ads: Likewise.
8849 * s-filofl.ads: Likewise.
8850 * s-finimp.adb: Likewise.
8851 * s-finimp.ads: Likewise.
8852 * s-finroo.adb: Likewise.
8853 * s-finroo.ads: Likewise.
8854 * s-fishfl.ads: Likewise.
8855 * s-fore.adb: Likewise.
8856 * s-fore.ads: Likewise.
8857 * s-fvadfl.ads: Likewise.
8858 * s-fvaffl.ads: Likewise.
8859 * s-fvagfl.ads: Likewise.
8860 * s-gearop.adb: Likewise.
8861 * s-gearop.ads: Likewise.
8862 * s-gecobl.adb: Likewise.
8863 * s-gecobl.ads: Likewise.
8864 * s-gecola.adb: Likewise.
8865 * s-gecola.ads: Likewise.
8866 * s-gerebl.adb: Likewise.
8867 * s-gerebl.ads: Likewise.
8868 * s-gerela.adb: Likewise.
8869 * s-gerela.ads: Likewise.
8870 * s-geveop.adb: Likewise.
8871 * s-geveop.ads: Likewise.
8872 * s-gloloc.adb: Likewise.
8873 * s-gloloc.ads: Likewise.
8874 * s-hibaen.ads: Likewise.
8875 * s-imenne.adb: Likewise.
8876 * s-imenne.ads: Likewise.
8877 * s-imgbiu.adb: Likewise.
8878 * s-imgbiu.ads: Likewise.
8879 * s-imgboo.adb: Likewise.
8880 * s-imgboo.ads: Likewise.
8881 * s-imgcha.adb: Likewise.
8882 * s-imgcha.ads: Likewise.
8883 * s-imgdec.adb: Likewise.
8884 * s-imgdec.ads: Likewise.
8885 * s-imgenu.adb: Likewise.
8886 * s-imgenu.ads: Likewise.
8887 * s-imgint.adb: Likewise.
8888 * s-imgint.ads: Likewise.
8889 * s-imgllb.adb: Likewise.
8890 * s-imgllb.ads: Likewise.
8891 * s-imglld.adb: Likewise.
8892 * s-imglld.ads: Likewise.
8893 * s-imglli.adb: Likewise.
8894 * s-imglli.ads: Likewise.
8895 * s-imgllu.adb: Likewise.
8896 * s-imgllu.ads: Likewise.
8897 * s-imgllw.adb: Likewise.
8898 * s-imgllw.ads: Likewise.
8899 * s-imgrea.adb: Likewise.
8900 * s-imgrea.ads: Likewise.
8901 * s-imguns.adb: Likewise.
8902 * s-imguns.ads: Likewise.
8903 * s-imgwch.adb: Likewise.
8904 * s-imgwch.ads: Likewise.
8905 * s-imgwiu.adb: Likewise.
8906 * s-imgwiu.ads: Likewise.
8907 * s-inmaop-dummy.adb: Likewise.
8908 * s-inmaop-vms.adb: Likewise.
8909 * s-inmaop.ads: Likewise.
8910 * s-interr-hwint.adb: Likewise.
8911 * s-interr-sigaction.adb: Likewise.
8912 * s-interr-vms.adb: Likewise.
8913 * s-interr.adb: Likewise.
8914 * s-interr.ads: Likewise.
8915 * s-intman-dummy.adb: Likewise.
8916 * s-intman-mingw.adb: Likewise.
8917 * s-intman-posix.adb: Likewise.
8918 * s-intman-solaris.adb: Likewise.
8919 * s-intman-vms.adb: Likewise.
8920 * s-intman-vms.ads: Likewise.
8921 * s-intman-vxworks.adb: Likewise.
8922 * s-intman-vxworks.ads: Likewise.
8923 * s-intman.ads: Likewise.
8924 * s-io.adb: Likewise.
8925 * s-io.ads: Likewise.
8926 * s-linux-alpha.ads: Likewise.
8927 * s-linux-hppa.ads: Likewise.
8928 * s-linux.ads: Likewise.
8929 * s-maccod.ads: Likewise.
8930 * s-mantis.adb: Likewise.
8931 * s-mantis.ads: Likewise.
8932 * s-mastop-irix.adb: Likewise.
8933 * s-mastop.adb: Likewise.
8934 * s-mastop.ads: Likewise.
8935 * s-memcop.ads: Likewise.
8936 * s-memory-mingw.adb: Likewise.
8937 * s-memory.adb: Likewise.
8938 * s-memory.ads: Likewise.
8939 * s-os_lib.ads: Likewise.
8940 * s-oscons-tmplt.c: Likewise.
8941 * s-osinte-aix.adb: Likewise.
8942 * s-osinte-darwin.adb: Likewise.
8943 * s-osinte-freebsd.adb: Likewise.
8944 * s-osinte-irix.adb: Likewise.
8945 * s-osinte-lynxos-3.adb: Likewise.
8946 * s-osinte-rtems.ads: Likewise.
8947 * s-osinte-tru64.adb: Likewise.
8948 * s-osinte-vxworks-kernel.adb: Likewise.
8949 * s-osinte-vxworks.adb: Likewise.
8950 * s-osprim-mingw.adb: Likewise.
8951 * s-osprim-posix.adb: Likewise.
8952 * s-osprim-solaris.adb: Likewise.
8953 * s-osprim-unix.adb: Likewise.
8954 * s-osprim-vms.adb: Likewise.
8955 * s-osprim-vms.ads: Likewise.
8956 * s-osprim-vxworks.adb: Likewise.
8957 * s-osprim.ads: Likewise.
8958 * s-pack03.adb: Likewise.
8959 * s-pack03.ads: Likewise.
8960 * s-pack05.adb: Likewise.
8961 * s-pack05.ads: Likewise.
8962 * s-pack06.adb: Likewise.
8963 * s-pack06.ads: Likewise.
8964 * s-pack07.adb: Likewise.
8965 * s-pack07.ads: Likewise.
8966 * s-pack09.adb: Likewise.
8967 * s-pack09.ads: Likewise.
8968 * s-pack10.adb: Likewise.
8969 * s-pack10.ads: Likewise.
8970 * s-pack11.adb: Likewise.
8971 * s-pack11.ads: Likewise.
8972 * s-pack12.adb: Likewise.
8973 * s-pack12.ads: Likewise.
8974 * s-pack13.adb: Likewise.
8975 * s-pack13.ads: Likewise.
8976 * s-pack14.adb: Likewise.
8977 * s-pack14.ads: Likewise.
8978 * s-pack15.adb: Likewise.
8979 * s-pack15.ads: Likewise.
8980 * s-pack17.adb: Likewise.
8981 * s-pack17.ads: Likewise.
8982 * s-pack18.adb: Likewise.
8983 * s-pack18.ads: Likewise.
8984 * s-pack19.adb: Likewise.
8985 * s-pack19.ads: Likewise.
8986 * s-pack20.adb: Likewise.
8987 * s-pack20.ads: Likewise.
8988 * s-pack21.adb: Likewise.
8989 * s-pack21.ads: Likewise.
8990 * s-pack22.adb: Likewise.
8991 * s-pack22.ads: Likewise.
8992 * s-pack23.adb: Likewise.
8993 * s-pack23.ads: Likewise.
8994 * s-pack24.adb: Likewise.
8995 * s-pack24.ads: Likewise.
8996 * s-pack25.adb: Likewise.
8997 * s-pack25.ads: Likewise.
8998 * s-pack26.adb: Likewise.
8999 * s-pack26.ads: Likewise.
9000 * s-pack27.adb: Likewise.
9001 * s-pack27.ads: Likewise.
9002 * s-pack28.adb: Likewise.
9003 * s-pack28.ads: Likewise.
9004 * s-pack29.adb: Likewise.
9005 * s-pack29.ads: Likewise.
9006 * s-pack30.adb: Likewise.
9007 * s-pack30.ads: Likewise.
9008 * s-pack31.adb: Likewise.
9009 * s-pack31.ads: Likewise.
9010 * s-pack33.adb: Likewise.
9011 * s-pack33.ads: Likewise.
9012 * s-pack34.adb: Likewise.
9013 * s-pack34.ads: Likewise.
9014 * s-pack35.adb: Likewise.
9015 * s-pack35.ads: Likewise.
9016 * s-pack36.adb: Likewise.
9017 * s-pack36.ads: Likewise.
9018 * s-pack37.adb: Likewise.
9019 * s-pack37.ads: Likewise.
9020 * s-pack38.adb: Likewise.
9021 * s-pack38.ads: Likewise.
9022 * s-pack39.adb: Likewise.
9023 * s-pack39.ads: Likewise.
9024 * s-pack40.adb: Likewise.
9025 * s-pack40.ads: Likewise.
9026 * s-pack41.adb: Likewise.
9027 * s-pack41.ads: Likewise.
9028 * s-pack42.adb: Likewise.
9029 * s-pack42.ads: Likewise.
9030 * s-pack43.adb: Likewise.
9031 * s-pack43.ads: Likewise.
9032 * s-pack44.adb: Likewise.
9033 * s-pack44.ads: Likewise.
9034 * s-pack45.adb: Likewise.
9035 * s-pack45.ads: Likewise.
9036 * s-pack46.adb: Likewise.
9037 * s-pack46.ads: Likewise.
9038 * s-pack47.adb: Likewise.
9039 * s-pack47.ads: Likewise.
9040 * s-pack48.adb: Likewise.
9041 * s-pack48.ads: Likewise.
9042 * s-pack49.adb: Likewise.
9043 * s-pack49.ads: Likewise.
9044 * s-pack50.adb: Likewise.
9045 * s-pack50.ads: Likewise.
9046 * s-pack51.adb: Likewise.
9047 * s-pack51.ads: Likewise.
9048 * s-pack52.adb: Likewise.
9049 * s-pack52.ads: Likewise.
9050 * s-pack53.adb: Likewise.
9051 * s-pack53.ads: Likewise.
9052 * s-pack54.adb: Likewise.
9053 * s-pack54.ads: Likewise.
9054 * s-pack55.adb: Likewise.
9055 * s-pack55.ads: Likewise.
9056 * s-pack56.adb: Likewise.
9057 * s-pack56.ads: Likewise.
9058 * s-pack57.adb: Likewise.
9059 * s-pack57.ads: Likewise.
9060 * s-pack58.adb: Likewise.
9061 * s-pack58.ads: Likewise.
9062 * s-pack59.adb: Likewise.
9063 * s-pack59.ads: Likewise.
9064 * s-pack60.adb: Likewise.
9065 * s-pack60.ads: Likewise.
9066 * s-pack61.adb: Likewise.
9067 * s-pack61.ads: Likewise.
9068 * s-pack62.adb: Likewise.
9069 * s-pack62.ads: Likewise.
9070 * s-pack63.adb: Likewise.
9071 * s-pack63.ads: Likewise.
9072 * s-parame-ae653.ads: Likewise.
9073 * s-parame-hpux.ads: Likewise.
9074 * s-parame-rtems.adb: Likewise.
9075 * s-parame-vms-alpha.ads: Likewise.
9076 * s-parame-vms-ia64.ads: Likewise.
9077 * s-parame-vms-restrict.ads: Likewise.
9078 * s-parame-vxworks.adb: Likewise.
9079 * s-parame-vxworks.ads: Likewise.
9080 * s-parame.adb: Likewise.
9081 * s-parame.ads: Likewise.
9082 * s-parint.adb: Likewise.
9083 * s-parint.ads: Likewise.
9084 * s-pooglo.adb: Likewise.
9085 * s-pooglo.ads: Likewise.
9086 * s-pooloc.adb: Likewise.
9087 * s-pooloc.ads: Likewise.
9088 * s-poosiz.adb: Likewise.
9089 * s-poosiz.ads: Likewise.
9090 * s-powtab.ads: Likewise.
9091 * s-proinf-irix-athread.adb: Likewise.
9092 * s-proinf-irix-athread.ads: Likewise.
9093 * s-proinf.adb: Likewise.
9094 * s-proinf.ads: Likewise.
9095 * s-purexc.ads: Likewise.
9096 * s-rannum.adb: Likewise.
9097 * s-rannum.ads: Likewise.
9098 * s-restri.adb: Likewise.
9099 * s-restri.ads: Likewise.
9100 * s-rident.ads: Likewise.
9101 * s-rpc.adb: Likewise.
9102 * s-rpc.ads: Likewise.
9103 * s-scaval.adb: Likewise.
9104 * s-scaval.ads: Likewise.
9105 * s-secsta.adb: Likewise.
9106 * s-secsta.ads: Likewise.
9107 * s-sequio.adb: Likewise.
9108 * s-sequio.ads: Likewise.
9109 * s-shasto.adb: Likewise.
9110 * s-shasto.ads: Likewise.
9111 * s-soflin.adb: Likewise.
9112 * s-soflin.ads: Likewise.
9113 * s-solita.adb: Likewise.
9114 * s-solita.ads: Likewise.
9115 * s-sopco3.adb: Likewise.
9116 * s-sopco3.ads: Likewise.
9117 * s-sopco4.adb: Likewise.
9118 * s-sopco4.ads: Likewise.
9119 * s-sopco5.adb: Likewise.
9120 * s-sopco5.ads: Likewise.
9121 * s-stache.adb: Likewise.
9122 * s-stache.ads: Likewise.
9123 * s-stalib.adb: Likewise.
9124 * s-stalib.ads: Likewise.
9125 * s-stausa.adb: Likewise.
9126 * s-stausa.ads: Likewise.
9127 * s-stchop-limit.ads: Likewise.
9128 * s-stchop-rtems.adb: Likewise.
9129 * s-stchop-vxworks.adb: Likewise.
9130 * s-stchop.adb: Likewise.
9131 * s-stchop.ads: Likewise.
9132 * s-stoele.adb: Likewise.
9133 * s-stoele.ads: Likewise.
9134 * s-stopoo.adb: Likewise.
9135 * s-stopoo.ads: Likewise.
9136 * s-stratt.adb: Likewise.
9137 * s-stratt.ads: Likewise.
9138 * s-strcom.adb: Likewise.
9139 * s-strcom.ads: Likewise.
9140 * s-string.adb: Likewise.
9141 * s-string.ads: Likewise.
9142 * s-strops.adb: Likewise.
9143 * s-strops.ads: Likewise.
9144 * s-strxdr.adb: Likewise.
9145 * s-ststop.adb: Likewise.
9146 * s-ststop.ads: Likewise.
9147 * s-taasde.adb: Likewise.
9148 * s-taasde.ads: Likewise.
9149 * s-tadeca.adb: Likewise.
9150 * s-tadeca.ads: Likewise.
9151 * s-tadert.adb: Likewise.
9152 * s-tadert.ads: Likewise.
9153 * s-taenca.adb: Likewise.
9154 * s-taenca.ads: Likewise.
9155 * s-taprob.ads: Likewise.
9156 * s-taprop-dummy.adb: Likewise.
9157 * s-taprop-hpux-dce.adb: Likewise.
9158 * s-taprop-irix.adb: Likewise.
9159 * s-taprop-linux.adb: Likewise.
9160 * s-taprop-lynxos.adb: Likewise.
9161 * s-taprop-mingw.adb: Likewise.
9162 * s-taprop-posix.adb: Likewise.
9163 * s-taprop-solaris.adb: Likewise.
9164 * s-taprop-tru64.adb: Likewise.
9165 * s-taprop-vms.adb: Likewise.
9166 * s-taprop-vxworks.adb: Likewise.
9167 * s-taprop.ads: Likewise.
9168 * s-tarest.adb: Likewise.
9169 * s-tarest.ads: Likewise.
9170 * s-tasdeb.adb: Likewise.
9171 * s-tasdeb.ads: Likewise.
9172 * s-tasinf-irix.ads: Likewise.
9173 * s-tasinf-linux.adb: Likewise.
9174 * s-tasinf-linux.ads: Likewise.
9175 * s-tasinf-mingw.adb: Likewise.
9176 * s-tasinf-mingw.ads: Likewise.
9177 * s-tasinf-solaris.adb: Likewise.
9178 * s-tasinf-solaris.ads: Likewise.
9179 * s-tasinf-tru64.ads: Likewise.
9180 * s-tasinf.adb: Likewise.
9181 * s-tasinf.ads: Likewise.
9182 * s-tasini.adb: Likewise.
9183 * s-tasini.ads: Likewise.
9184 * s-taskin.adb: Likewise.
9185 * s-taskin.ads: Likewise.
9186 * s-taspri-dummy.ads: Likewise.
9187 * s-taspri-hpux-dce.ads: Likewise.
9188 * s-taspri-mingw.ads: Likewise.
9189 * s-taspri-solaris.ads: Likewise.
9190 * s-taspri-tru64.ads: Likewise.
9191 * s-taspri-vms.ads: Likewise.
9192 * s-taspri-vxworks.ads: Likewise.
9193 * s-tasque.adb: Likewise.
9194 * s-tasque.ads: Likewise.
9195 * s-tasren.adb: Likewise.
9196 * s-tasren.ads: Likewise.
9197 * s-tasres.ads: Likewise.
9198 * s-tassta.adb: Likewise.
9199 * s-tassta.ads: Likewise.
9200 * s-tasuti.adb: Likewise.
9201 * s-tasuti.ads: Likewise.
9202 * s-tfsetr-default.adb: Likewise.
9203 * s-tfsetr-vxworks.adb: Likewise.
9204 * s-tpinop.adb: Likewise.
9205 * s-tpinop.ads: Likewise.
9206 * s-tpoben.adb: Likewise.
9207 * s-tpoben.ads: Likewise.
9208 * s-tpobop.adb: Likewise.
9209 * s-tpobop.ads: Likewise.
9210 * s-tpopde-vms.adb: Likewise.
9211 * s-tpopde-vms.ads: Likewise.
9212 * s-tpopsp-lynxos.adb: Likewise.
9213 * s-tpopsp-posix-foreign.adb: Likewise.
9214 * s-tpopsp-posix.adb: Likewise.
9215 * s-tpopsp-solaris.adb: Likewise.
9216 * s-tpopsp-vxworks.adb: Likewise.
9217 * s-tporft.adb: Likewise.
9218 * s-tposen.adb: Likewise.
9219 * s-tposen.ads: Likewise.
9220 * s-traceb.adb: Likewise.
9221 * s-traceb.ads: Likewise.
9222 * s-traces-default.adb: Likewise.
9223 * s-traces.adb: Likewise.
9224 * s-traces.ads: Likewise.
9225 * s-traent-vms.adb: Likewise.
9226 * s-traent-vms.ads: Likewise.
9227 * s-traent.adb: Likewise.
9228 * s-traent.ads: Likewise.
9229 * s-trafor-default.adb: Likewise.
9230 * s-trafor-default.ads: Likewise.
9231 * s-tratas-default.adb: Likewise.
9232 * s-tratas.adb: Likewise.
9233 * s-tratas.ads: Likewise.
9234 * s-unstyp.ads: Likewise.
9235 * s-utf_32.adb: Likewise.
9236 * s-utf_32.ads: Likewise.
9237 * s-vaflop-vms-alpha.adb: Likewise.
9238 * s-vaflop.adb: Likewise.
9239 * s-vaflop.ads: Likewise.
9240 * s-valboo.adb: Likewise.
9241 * s-valboo.ads: Likewise.
9242 * s-valcha.adb: Likewise.
9243 * s-valcha.ads: Likewise.
9244 * s-valdec.adb: Likewise.
9245 * s-valdec.ads: Likewise.
9246 * s-valenu.adb: Likewise.
9247 * s-valenu.ads: Likewise.
9248 * s-valint.adb: Likewise.
9249 * s-valint.ads: Likewise.
9250 * s-vallld.adb: Likewise.
9251 * s-vallld.ads: Likewise.
9252 * s-vallli.adb: Likewise.
9253 * s-vallli.ads: Likewise.
9254 * s-valllu.adb: Likewise.
9255 * s-valllu.ads: Likewise.
9256 * s-valrea.adb: Likewise.
9257 * s-valrea.ads: Likewise.
9258 * s-valuns.adb: Likewise.
9259 * s-valuns.ads: Likewise.
9260 * s-valuti.adb: Likewise.
9261 * s-valuti.ads: Likewise.
9262 * s-valwch.adb: Likewise.
9263 * s-valwch.ads: Likewise.
9264 * s-veboop.adb: Likewise.
9265 * s-veboop.ads: Likewise.
9266 * s-vector.ads: Likewise.
9267 * s-vercon.adb: Likewise.
9268 * s-vercon.ads: Likewise.
9269 * s-vmexta.adb: Likewise.
9270 * s-vmexta.ads: Likewise.
9271 * s-vxwext-kernel.ads: Likewise.
9272 * s-vxwext-rtp.adb: Likewise.
9273 * s-vxwext-rtp.ads: Likewise.
9274 * s-vxwext.ads: Likewise.
9275 * s-vxwork-arm.ads: Likewise.
9276 * s-vxwork-m68k.ads: Likewise.
9277 * s-vxwork-mips.ads: Likewise.
9278 * s-vxwork-ppc.ads: Likewise.
9279 * s-vxwork-sparcv9.ads: Likewise.
9280 * s-vxwork-x86.ads: Likewise.
9281 * s-wchcnv.adb: Likewise.
9282 * s-wchcnv.ads: Likewise.
9283 * s-wchcon.adb: Likewise.
9284 * s-wchcon.ads: Likewise.
9285 * s-wchjis.adb: Likewise.
9286 * s-wchjis.ads: Likewise.
9287 * s-wchstw.adb: Likewise.
9288 * s-wchstw.ads: Likewise.
9289 * s-wchwts.adb: Likewise.
9290 * s-wchwts.ads: Likewise.
9291 * s-widboo.adb: Likewise.
9292 * s-widboo.ads: Likewise.
9293 * s-widcha.adb: Likewise.
9294 * s-widcha.ads: Likewise.
9295 * s-widenu.adb: Likewise.
9296 * s-widenu.ads: Likewise.
9297 * s-widlli.adb: Likewise.
9298 * s-widlli.ads: Likewise.
9299 * s-widllu.adb: Likewise.
9300 * s-widllu.ads: Likewise.
9301 * s-widwch.adb: Likewise.
9302 * s-widwch.ads: Likewise.
9303 * s-win32.ads: Likewise.
9304 * s-winext.ads: Likewise.
9305 * s-wwdcha.adb: Likewise.
9306 * s-wwdcha.ads: Likewise.
9307 * s-wwdenu.adb: Likewise.
9308 * s-wwdenu.ads: Likewise.
9309 * s-wwdwch.adb: Likewise.
9310 * s-wwdwch.ads: Likewise.
9311 * scans.adb: Likewise.
9312 * scans.ads: Likewise.
9313 * seh_init.c: Likewise.
9314 * sfn_scan.adb: Likewise.
9315 * sinfo.adb: Likewise.
9316 * sinfo.ads: Likewise.
9317 * sinput.adb: Likewise.
9318 * sinput.ads: Likewise.
9319 * snames.adb: Likewise.
9320 * snames.ads: Likewise.
9321 * socket.c: Likewise.
9322 * stand.adb: Likewise.
9323 * stand.ads: Likewise.
9324 * stringt.adb: Likewise.
9325 * stringt.ads: Likewise.
9326 * sysdep.c: Likewise.
9327 * system-aix.ads: Likewise.
9328 * system-darwin-ppc.ads: Likewise.
9329 * system-darwin-x86.ads: Likewise.
9330 * system-darwin-x86_64.ads: Likewise.
9331 * system-freebsd-x86.ads: Likewise.
9332 * system-hpux-ia64.ads: Likewise.
9333 * system-hpux.ads: Likewise.
9334 * system-irix-n32.ads: Likewise.
9335 * system-irix-n64.ads: Likewise.
9336 * system-irix-o32.ads: Likewise.
9337 * system-linux-alpha.ads: Likewise.
9338 * system-linux-hppa.ads: Likewise.
9339 * system-linux-ia64.ads: Likewise.
9340 * system-linux-mips.ads: Likewise.
9341 * system-linux-mipsel.ads: Likewise.
9342 * system-linux-ppc.ads: Likewise.
9343 * system-linux-ppc64.ads: Likewise.
9344 * system-linux-s390.ads: Likewise.
9345 * system-linux-s390x.ads: Likewise.
9346 * system-linux-sh4.ads: Likewise.
9347 * system-linux-sparc.ads: Likewise.
9348 * system-linux-sparcv9.ads: Likewise.
9349 * system-linux-x86.ads: Likewise.
9350 * system-linux-x86_64.ads: Likewise.
9351 * system-lynxos-ppc.ads: Likewise.
9352 * system-lynxos-x86.ads: Likewise.
9353 * system-mingw-x86_64.ads: Likewise.
9354 * system-mingw.ads: Likewise.
9355 * system-rtems.ads: Likewise.
9356 * system-solaris-sparc.ads: Likewise.
9357 * system-solaris-sparcv9.ads: Likewise.
9358 * system-solaris-x86.ads: Likewise.
9359 * system-solaris-x86_64.ads: Likewise.
9360 * system-tru64.ads: Likewise.
9361 * system-vms-ia64.ads: Likewise.
9362 * system-vms-zcx.ads: Likewise.
9363 * system-vms.ads: Likewise.
9364 * system-vms_64.ads: Likewise.
9365 * system-vxworks-arm.ads: Likewise.
9366 * system-vxworks-m68k.ads: Likewise.
9367 * system-vxworks-mips.ads: Likewise.
9368 * system-vxworks-ppc.ads: Likewise.
9369 * system-vxworks-sparcv9.ads: Likewise.
9370 * system-vxworks-x86.ads: Likewise.
9371 * system.ads: Likewise.
9372 * table.adb: Likewise.
9373 * table.ads: Likewise.
9374 * targext.c: Likewise.
9375 * targparm.ads: Likewise.
9376 * tree_in.adb: Likewise.
9377 * tree_in.ads: Likewise.
9378 * tree_io.adb: Likewise.
9379 * tree_io.ads: Likewise.
9380 * types.adb: Likewise.
9381 * types.ads: Likewise.
9382 * uintp.adb: Likewise.
9383 * uintp.ads: Likewise.
9384 * uname.adb: Likewise.
9385 * uname.ads: Likewise.
9386 * urealp.adb: Likewise.
9387 * urealp.ads: Likewise.
9388 * vx_stack_info.c: Likewise.
9389 * widechar.adb: Likewise.
9390 * widechar.ads: Likewise.
9391 * exp_attr.adb: Change copyright header to refer to version
9392 3 of the GNU General Public License and to point readers at the
9393 COPYING3 file and the FSF's license web page.
9394 * sem.adb: Likewise.
9395 * sem_attr.ads: Likewise.
9396 * freeze.adb: Likewise.
9397 * freeze.ads: Likewise.
9398 * errout.ads: Likewise.
9399 * erroutc.adb: Likewise.
9400 * exp_ch11.ads: Likewise.
9401
9402 2009-04-09 Jakub Jelinek <jakub@redhat.com>
9403
9404 * config-lang.in: Change copyright header to refer to version
9405 3 of the GNU General Public License and to point readers at the
9406 COPYING3 file and the FSF's license web page.
9407 * gcc-interface/trans.c: Likewise.
9408 * gnathtml.pl: Likewise.
9409 * gcc-interface/ada.h: Likewise. Remove runtime exception.
9410 * gcc-interface/gigi.h: Likewise.
9411 * gcc-interface/misc.c: Likewise.
9412 * gcc-interface/targtyps.c: Likewise.
9413
9414 2009-04-09 Nicolas Setton <setton@adacore.com>
9415
9416 * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
9417
9418 * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
9419 struct_timeval.
9420
9421 2009-04-09 Bob Duff <duff@adacore.com>
9422
9423 * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
9424 internally-generated nodes related to select statements to avoid
9425 confusing the debugger.
9426
9427 2009-04-09 Pascal Obry <obry@adacore.com>
9428
9429 * make.adb: Ensure that all linker arguments are duplicated.
9430
9431 2009-04-09 Robert Dewar <dewar@adacore.com>
9432
9433 * sem_ch5.adb: Minor reformatting
9434
9435 2009-04-09 Vincent Celier <celier@adacore.com>
9436
9437 * vms_data.ads:
9438 Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
9439 New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
9440 New qualifier /LXDEBUG=nnn for -gnatDnnn
9441 For H820-010
9442
9443 * gnat_ugn.texi:
9444 Update documentation for VMS qualifiers equivalent to -gnatGnn and
9445 -gnatDnn
9446
9447 2009-04-09 Nicolas Setton <setton@adacore.com>
9448
9449 * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
9450 to match layout of siginfo_t in sys/signal.h.
9451
9452 * gcc-interface/Makefile.in: Add section for x86_64 darwin.
9453
9454 2009-04-09 Thomas Quinot <quinot@adacore.com>
9455
9456 * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
9457
9458 2009-04-09 Nicolas Setton <setton@adacore.com>
9459
9460 * s-oscons-tmplt.c: Allow long lines in the generated spec.
9461 Add generation of Darwin-specific constants needed when binding to the
9462 pthread library.
9463
9464 2009-04-09 Robert Dewar <dewar@adacore.com>
9465
9466 * checks.adb:
9467 (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
9468 when no invalid values exist, Avoid duplicate read of atomic variable.
9469
9470 * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
9471 (Standard_Unsigned): Set Is_Known_Valid
9472
9473 * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
9474 subtype declaration if no constraint.
9475 (Set_Modular_Size): Set Is_Known_Valid if appropriate
9476 (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
9477
9478 2009-04-09 Robert Dewar <dewar@adacore.com>
9479
9480 * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
9481 switch.ads: for numeric switches, an optional equal sign is always
9482 allowed.
9483
9484 2009-04-09 Vincent Celier <celier@adacore.com>
9485
9486 * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
9487 the case of file names is not significant.
9488
9489 2009-04-09 Vincent Celier <celier@adacore.com>
9490
9491 * errout.adb: Remove dependency on package Style
9492
9493 * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
9494 moved to Stylesw.
9495
9496 * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
9497 Styleg.
9498
9499 * errutil.adb, par.adb: Import Stylesw
9500
9501 2009-04-09 Arnaud Charlet <charlet@adacore.com>
9502
9503 * opt.ads: Fix typos.
9504
9505 2009-04-09 Robert Dewar <dewar@adacore.com>
9506
9507 * einfo.adb: Minor reformatting
9508
9509 2009-04-09 Robert Dewar <dewar@adacore.com>
9510
9511 * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
9512 units.
9513
9514 * styleg-c.ads, styleg-c.adb: Removed, no longer used.
9515
9516 2009-04-09 Robert Dewar <dewar@adacore.com>
9517
9518 * g-comver.adb: Minor reformatting.
9519
9520 2009-04-09 Thomas Quinot <quinot@adacore.com>
9521
9522 * lib-load.ads (Load_Unit): Update documentation.
9523
9524 2009-04-09 Ed Schonberg <schonberg@adacore.com>
9525
9526 * lib-load.adb (Load_Unit): When loading the parent of a child unit
9527 named in a with_clause, retain the with_clause to preserve a
9528 limited_with indication.
9529
9530 2009-04-09 Robert Dewar <dewar@adacore.com>
9531
9532 * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
9533 exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
9534 sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
9535 possible to replace an OR of two separate tests.
9536
9537 2009-04-09 Robert Dewar <dewar@adacore.com>
9538
9539 * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
9540 Maximum_Messages.
9541
9542 * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
9543 warning status as well.
9544
9545 * opt.ads (Maximum_Messages): New name for Maximum_Errors.
9546
9547 * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
9548 Maximum_Messages.
9549
9550 * bindusg.adb, usage.adb: Update line for -gnatm switch
9551
9552 * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
9553 -mnn binder switch.
9554
9555 2009-04-09 Robert Dewar <dewar@adacore.com>
9556
9557 * sem_ch10.adb: Minor reformatting.
9558
9559 2009-04-09 Bob Duff <duff@adacore.com>
9560
9561 * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
9562 Set Sloc of generated nodes for calls to Undefer_Aborts and
9563 Save_Occurrence to No_Location, so the debugger ignores them and
9564 therefore does not jump back and forth when single stepping.
9565
9566 2009-04-09 Robert Dewar <dewar@adacore.com>
9567
9568 * switch-b.adb: Minor reformatting.
9569
9570 2009-04-09 Robert Dewar <dewar@adacore.com>
9571
9572 * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
9573 sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
9574 exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
9575 sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
9576 einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
9577 tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
9578 exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
9579 sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
9580 sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
9581 sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
9582 Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
9583
9584 2009-04-09 Robert Dewar <dewar@adacore.com>
9585
9586 * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
9587
9588 * atree.h: Add Elist26
9589
9590 * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
9591 backends.
9592
9593 2009-04-09 Javier Miranda <miranda@adacore.com>
9594
9595 * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
9596 retrieve from the Dispatch_Table_Wrappers list the external name.
9597 Addition of documentation.
9598 (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
9599 used to export secondary dispatch tables (in the previous version of
9600 the frontend only primary dispatch tables were exported). Addition of
9601 documentation.
9602 (Import_DT): New subprogram (internal of Make_Tags). Used to import a
9603 dispatch table of a given tagged type.
9604 (Make_Tags): Modified to import secondary dispatch tables.
9605
9606 * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
9607 (Constant_Redeclaration): Code cleanup.
9608
9609 * einfo.ads (Dispatch_Table_Wrapper): Renamed to
9610 Dispatch_Table_Wrappers. Update documentation.
9611
9612 * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
9613 Renamed to Dispatch_Table_Wrappers.
9614
9615 * sem_util.adb (Collect_Interface_Components): Improve handling of
9616 private types.
9617
9618 * atree.ads (Elist26, Set_Elist26): New subprograms
9619
9620 * atree.adb (Elist26, Set_Elist26): New subprograms
9621
9622 2009-04-09 Javier Miranda <miranda@adacore.com>
9623
9624 * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
9625 (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
9626 tagged types.
9627
9628 2009-04-09 Robert Dewar <dewar@adacore.com>
9629
9630 * s-direio.adb: Minor reformatting
9631
9632 * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
9633
9634 2009-04-09 Robert Dewar <dewar@adacore.com>
9635
9636 * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
9637
9638 2009-04-09 Pascal Obry <obry@adacore.com>
9639
9640 * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
9641 s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
9642 a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
9643 a-filico.ads: Add some missing overriding keywords.
9644
9645 2009-04-09 Pascal Obry <obry@adacore.com>
9646
9647 * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
9648 a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
9649 a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
9650 reformatting.
9651
9652 2009-04-09 Ed Schonberg <schonberg@adacore.com>
9653
9654 * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
9655 missing overriding indicator if the new declaration is not seen as
9656 primitive.
9657
9658 2009-04-09 Thomas Quinot <quinot@adacore.com>
9659
9660 * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
9661 overflows in computation of bounds.
9662
9663 2009-04-09 Pascal Obry <obry@adacore.com>
9664
9665 * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
9666 typos in comment.
9667
9668 2009-04-09 Robert Dewar <dewar@adacore.com>
9669
9670 * sem_attr.adb (Check_Stream_Attribute): Check violation of
9671 restriction No_Streams
9672
9673 * gnat_rm.texi: Clarify No_Streams restriction
9674
9675 * g-socket.adb: Minor reformatting.
9676
9677 2009-04-09 Thomas Quinot <quinot@adacore.com>
9678
9679 * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
9680
9681 2009-04-09 Geert Bosch <bosch@adacore.com>
9682
9683 * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
9684 (Set_Result): Likewise.
9685 (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
9686 conversion, as required by RM 4.6(31).
9687
9688 2009-04-08 Robert Dewar <dewar@adacore.com>
9689
9690 * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
9691 suppressed.
9692
9693 * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
9694 resolution steps.
9695
9696 2009-04-08 Robert Dewar <dewar@adacore.com>
9697
9698 * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
9699 No_Local_Allocators restriction preventing local instantiation.
9700
9701 2009-04-08 Thomas Quinot <quinot@adacore.com>
9702
9703 * sem_eval.adb: Minor comment fix
9704
9705 2009-04-08 Thomas Quinot <quinot@adacore.com>
9706
9707 * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
9708 New limited controlled type used to automate the initialization and
9709 finalization of the sockets implementation.
9710 (GNAT.Sockets.Initialize, Finalize): Make these no-ops
9711
9712 2009-04-08 Vincent Celier <celier@adacore.com>
9713
9714 * prj-attr.adb: New read-only project-level attribute Project_Dir
9715
9716 * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
9717 read-only attribute of the same name.
9718 (Process_Declarative_Items): Call Add_Attributes with Project_Dir
9719 (Recursive_Process): Ditto
9720
9721 * snames.adb: Add new standard name Project_Dir
9722
9723 * snames.ads: Add new standard name Project_Dir
9724
9725 2009-04-08 Thomas Quinot <quinot@adacore.com>
9726
9727 * checks.adb: Minor reformatting
9728
9729 2009-04-08 Vincent Celier <celier@adacore.com>
9730
9731 * vms_data.ads: Add documentation for new style keyword
9732 OVERRIDING_INDICATORS
9733
9734 2009-04-08 Robert Dewar <dewar@adacore.com>
9735
9736 * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
9737 spec is in the current unit.
9738
9739 2009-04-08 Ed Schonberg <schonberg@adacore.com>
9740
9741 * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
9742 presence of entity.
9743
9744 * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
9745
9746 2009-04-08 Vincent Celier <celier@adacore.com>
9747
9748 * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
9749
9750 2009-04-08 Thomas Quinot <quinot@adacore.com>
9751
9752 * checks.ads: Minor reformatting
9753
9754 2009-04-08 Robert Dewar <dewar@adacore.com>
9755
9756 * gnat_rm.texi: Update documentation of pragma Obsolescent
9757
9758 * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
9759 be omitted, and allow Entity parameter to be omitted.
9760
9761 2009-04-08 Thomas Quinot <quinot@adacore.com>
9762
9763 * exp_util.adb: Minor comment fix
9764
9765 2009-04-08 Robert Dewar <dewar@adacore.com>
9766
9767 * g-socket.ads: Fix bad syntax in pragma Obsolescent
9768
9769 * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
9770 argument with no identifier following one that has an identifier. Was
9771 missed in some cases.
9772
9773 * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
9774 identifier.
9775 (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
9776
9777 * snames.adb: Add Name_Policy
9778
9779 * snames.ads: Add Name_Policy
9780
9781 2009-04-08 Robert Dewar <dewar@adacore.com>
9782
9783 * gnat_rm.texi: Minor reformatting
9784
9785 * par-ch2.adb: Minor reformatting
9786
9787 2009-04-08 Robert Dewar <dewar@adacore.com>
9788
9789 * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
9790
9791 2009-04-08 Robert Dewar <dewar@adacore.com>
9792
9793 * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
9794 properly in the presence of Remote_Types or Remote_Call_Interface.
9795
9796 * sem_util.adb: Add comment.
9797
9798 2009-04-08 Robert Dewar <dewar@adacore.com>
9799
9800 * ug_words: Add /ASSUME_VALID for -gnatB
9801
9802 * vms_data.ads: Add /ASSUME_VALID for -gnatB
9803
9804 * sem_cat.adb: Add clarifying commment
9805
9806 * a-direio.ads (Bytes): Make sure value is non-zero
9807
9808 2009-04-08 Ed Schonberg <schonberg@adacore.com>
9809
9810 * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
9811 that does not come from source, check for a rewritten function call in
9812 prefixed notation before other forms of rewriting.
9813
9814 2009-04-08 Robert Dewar <dewar@adacore.com>
9815
9816 * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
9817 these are now obsolescent units used only for bootrapping with an
9818 older compiler.
9819
9820 2009-04-08 Robert Dewar <dewar@adacore.com>
9821
9822 * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
9823
9824 * sem_ch3.adb: Minor comment updates
9825
9826 2009-04-08 Ed Schonberg <schonberg@adacore.com>
9827
9828 * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
9829 that come from source.
9830
9831 2009-04-08 Tristan Gingold <gingold@adacore.com>
9832
9833 * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
9834 * gcc-interface/decl.c (prepend_attributes): New case
9835 Pragma_Thread_Local_Storage.
9836 * gcc-interface/utils.c (process_attributes): New case
9837 ATTR_THREAD_LOCAL_STORAGE.
9838
9839 2009-04-08 Ed Schonberg <schonberg@adacore.com>
9840
9841 * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
9842 by the back-end if it contains a call to a subprogram without a
9843 previous spec that is declared in the same unit.
9844
9845 * errout.ads: Update comments on uses of dirs
9846
9847 2009-04-08 Robert Dewar <dewar@adacore.com>
9848
9849 * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
9850
9851 2009-04-08 Tristan Gingold <gingold@adacore.com>
9852
9853 * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
9854 variables.
9855 Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
9856
9857 2009-04-08 Vincent Celier <celier@adacore.com>
9858
9859 * prj-nmsc.adb:
9860 (Add_Source): Add the mapping of the unit name to source file name in
9861 the Unit_Sources_HT hash table, if the unit name is not null.
9862
9863 * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
9864
9865 * prj.ads (Unit_Sources_Htable): New hash table instantiation
9866 (Project_Tree_Data): New component Unit_Sources_HT
9867
9868 2009-04-08 Thomas Quinot <quinot@adacore.com>
9869
9870 * sem_ch8.adb: Minor reformatting.
9871 Minor code reorganization.
9872
9873 2009-04-08 Robert Dewar <dewar@adacore.com>
9874
9875 * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
9876 snames.ads, freeze.adb, par-prag.adb: Add implementation of
9877 pragma Thread_Local_Storage, setting new flag
9878 Has_Pragma_Thread_Local_Storage in corresponding entities.
9879
9880 2009-04-08 Emmanuel Briot <briot@adacore.com>
9881
9882 * prj.ads: Update comment on switches file
9883
9884 * prj-nmsc.adb: Code clean up. Use renaming clauses.
9885
9886 2009-04-08 Robert Dewar <dewar@adacore.com>
9887
9888 * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
9889
9890 2009-04-08 Thomas Quinot <quinot@adacore.com>
9891
9892 * ali-util.adb: Minor comment fix
9893
9894 2009-04-08 Ed Schonberg <schonberg@adacore.com>
9895
9896 * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
9897 appears in a context clause, and the enclosing package is mentioned in
9898 a limited_with_clause.
9899 (Use_One_Type): Reject clause if type is still incomplete.
9900
9901 2009-04-08 Emmanuel Briot <briot@adacore.com>
9902
9903 * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
9904 avoid copies of Source_Data variables when possible, since these
9905 involve calls to memcpy() which are done too many times.
9906
9907 2009-04-08 Robert Dewar <dewar@adacore.com>
9908
9909 * exp_ch4.adb (Expand_Concatenate): Clean up code
9910
9911 2009-04-07 Thomas Quinot <quinot@adacore.com>
9912
9913 * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
9914 type for the case of concatenating a constrained array indexed by an
9915 enumeration type.
9916
9917 2009-04-07 Ed Schonberg <schonberg@adacore.com>
9918
9919 * sem_ch6.adb (Check_Conformance): when checking conformance of an
9920 operation that overrides an abstract operation inherited from an
9921 interface, return False if only one of the controlling formals is an
9922 access parameter.
9923
9924 2009-04-07 Ed Schonberg <schonberg@adacore.com>
9925
9926 * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
9927 mandated by AI05-105.
9928
9929 2009-04-07 Vincent Celier <celier@adacore.com>
9930
9931 * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
9932
9933 2009-04-07 Thomas Quinot <quinot@adacore.com>
9934
9935 * usage.adb: Minor fix in usage message.
9936
9937 * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
9938 match declaration; the correct subtype is Node_Id, not Entity_Id,
9939 because the expected node kind is an identifier, not a defining
9940 identifier.
9941
9942 * switch-c.adb: Minor reformatting.
9943
9944 * uintp.adb: Minor reformatting.
9945
9946 2009-04-07 Robert Dewar <dewar@adacore.com>
9947
9948 * exp_ch13.adb: Minor reformatting
9949
9950 2009-04-07 Robert Dewar <dewar@adacore.com>
9951
9952 * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
9953 against missing parent.
9954
9955 2009-04-07 Thomas Quinot <quinot@adacore.com>
9956
9957 * xoscons.adb: Minor reformatting
9958
9959 2009-04-07 Robert Dewar <dewar@adacore.com>
9960
9961 * rtsfind.ads: Remove obsolete string concatenation entries
9962
9963 2009-04-07 Robert Dewar <dewar@adacore.com>
9964
9965 * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
9966
9967 2009-04-07 Ed Schonberg <schonberg@adacore.com>
9968
9969 * sem_ch10.adb (Check_Body_Required): Handle properly imported
9970 subprograms.
9971
9972 2009-04-07 Gary Dismukes <dismukes@adacore.com>
9973
9974 * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
9975 Attribute_Address): When Init_Or_Norm_Scalars is True and the object
9976 is of a scalar or string type then suppress the setting of the
9977 expression to Empty.
9978
9979 * freeze.adb (Warn_Overlay): Also emit the warnings about default
9980 initialization for the cases of scalar and string objects when
9981 Init_Or_Norm_Scalars is True.
9982
9983 2009-04-07 Bob Duff <duff@adacore.com>
9984
9985 * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
9986
9987 2009-04-07 Bob Duff <duff@adacore.com>
9988
9989 * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
9990 Form parameter of Text_Translation=No allows binary mode for Text_IO
9991 files.
9992
9993 * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
9994
9995 2009-04-07 Javier Miranda <miranda@adacore.com>
9996
9997 * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
9998 processing the bounds for bit packed arrays or VM target machines.
9999
10000 2009-04-07 Thomas Quinot <quinot@adacore.com>
10001
10002 * g-sothco.ads (Int_Access): Remove extraneous access type (use
10003 anonymous access instead).
10004 (Get_Socket_From_Set): Fix incorrectly reverted formals
10005 Last and Socket to match the underlying C routine.
10006
10007 * g-socket.adb, g-socket.ads
10008 (Get): Use named parameter associations instead of positional ones in
10009 call go Get_Socket_From_Set, since this routine has two formals of the
10010 same type.
10011 (Image): New procedure.
10012
10013 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
10014 g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
10015 (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
10016 for type of Arg formal.
10017
10018 * sem_warn.adb: Minor reformatting
10019
10020 2009-04-07 Ed Schonberg <schonberg@adacore.com>
10021
10022 * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
10023 over record components.
10024
10025 2009-04-07 Nicolas Roche <roche@adacore.com>
10026
10027 * gsocket.h:
10028 Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
10029 has disappeared between VxWorks 6.4 and VxWorks 6.5
10030 In RTP mode use time.h instead of times.h
10031
10032 2009-04-07 Robert Dewar <dewar@adacore.com>
10033
10034 * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
10035
10036 2009-04-07 Kevin Pouget <pouget@adacore.com>
10037
10038 * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
10039 expanded code for constrained types.
10040
10041 2009-04-07 Ed Schonberg <schonberg@adacore.com>
10042
10043 * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
10044 AI05-105: in an object renaming declaration, anonymousness is a name
10045 resolution rule.
10046
10047 * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
10048
10049 2009-04-07 Arnaud Charlet <charlet@adacore.com>
10050
10051 * g-comlin.adb (Expansion): Fix old regression: also return directory
10052 names when matching.
10053
10054 2009-04-07 Robert Dewar <dewar@adacore.com>
10055
10056 * exp_ch4.adb:
10057 (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
10058 (Expand_Concatenate): New name for Expand_Concatenate_String which has
10059 been rewritten to handle all types.
10060 (Expand_Concatenate_Other): Remove
10061
10062 2009-04-07 Ed Schonberg <schonberg@adacore.com>
10063
10064 * lib-xref.adb (Generate_Reference): A default subprogram in an
10065 instance appears within the tree for the instance, but generates an
10066 implicit reference in the ALI.
10067
10068 2009-04-07 Javier Miranda <miranda@adacore.com>
10069
10070 * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
10071 derived type that has discriminants, propagate the list of interfaces
10072 to the corresponding new base type. In addition, propagate also
10073 attribute Limited_Present (found working in this patch).
10074
10075 2009-04-07 Robert Dewar <dewar@adacore.com>
10076
10077 * exp_ch4.adb: Rewrite concatenation expansion.
10078
10079 2009-04-07 Ed Schonberg <schonberg@adacore.com>
10080
10081 * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
10082 relevant to packages.
10083
10084 2009-04-07 Robert Dewar <dewar@adacore.com>
10085
10086 * sem_attr.adb: Minor reformatting
10087
10088 * sem_ch6.adb: Minor reformatting
10089
10090 2009-04-07 Tristan Gingold <gingold@adacore.com>
10091
10092 * socket.c: Add more protections against S_resolvLib_ macros.
10093
10094 2009-04-07 Thomas Quinot <quinot@adacore.com>
10095
10096 * sem_attr.adb: Minor reformatting
10097
10098 2009-04-07 Ed Schonberg <schonberg@adacore.com>
10099
10100 * sem_ch6.adb (New_Overloaded_Entity): New predicate
10101 Is_Overriding_Alias to handle properly types that inherit two homonym
10102 operations that have distinct dispatch table entries.
10103
10104 2009-04-07 Emmanuel Briot <briot@adacore.com>
10105
10106 * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
10107 looking for the end of a parenthesis group
10108
10109 2009-04-07 Tristan Gingold <gingold@adacore.com>
10110
10111 * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
10112
10113 * socket.c Don't use resolvLib_ macros if not defined.
10114
10115 2009-04-07 Robert Dewar <dewar@adacore.com>
10116
10117 * g-socket.adb: Minor reformatting.
10118
10119 * g-socthi-mingw.adb: Minor reformatting
10120
10121 * g-sothco.ads: Minor reformatting
10122
10123 * exp_ch4.adb:
10124 (Expand_Concatenate_String): Complete rewrite to generate efficient code
10125 inline instead of relying on external library routines.
10126
10127 * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
10128 s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
10129 obsolescent
10130
10131 2009-04-07 Ed Schonberg <schonberg@adacore.com>
10132
10133 * sem_attr.adb:
10134 (Eval_Attribute): for attributes of array objects that are not strings,
10135 attributes are not static if nominal subtype of object is unconstrained.
10136
10137 2009-04-07 Ed Schonberg <schonberg@adacore.com>
10138
10139 * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
10140 operations for a type T in an instance do not override each other,
10141 when T is derived from a formal private type, the corresponding
10142 operations inherited by a type derived from T outside
10143 of the instance do not override each other either.
10144
10145 2009-04-07 Robert Dewar <dewar@adacore.com>
10146
10147 (Osint.Fail): Change calling sequence to have one string arg
10148 (Make.Make_Failed): Same change
10149 All callers are adjusted to use concatenation
10150
10151 2009-04-07 Robert Dewar <dewar@adacore.com>
10152
10153 * exp_ch4.adb: Fix documentation typo
10154
10155 2009-04-07 Robert Dewar <dewar@adacore.com>
10156
10157 * tbuild.ads: Minor reformatting
10158
10159 2009-04-07 Javier Miranda <miranda@adacore.com>
10160
10161 * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
10162 when compiling under ZFP runtime.
10163
10164 2009-04-07 Robert Dewar <dewar@adacore.com>
10165
10166 * g-comlin.adb: Minor reformatting
10167
10168 2009-04-07 Thomas Quinot <quinot@adacore.com>
10169
10170 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
10171 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
10172 g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
10173 Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
10174
10175 2009-04-07 Robert Dewar <dewar@adacore.com>
10176
10177 * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
10178
10179 * opt.ads (Sprint_Line_Limit): New parameter
10180
10181 * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
10182
10183 * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
10184
10185 * usage.adb: Output information for -gnatGnn -gnatDnn
10186
10187 2009-04-07 Robert Dewar <dewar@adacore.com>
10188
10189 * make.adb: Minor reformatting
10190
10191 2009-04-07 Robert Dewar <dewar@adacore.com>
10192
10193 * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
10194
10195 2009-04-07 Robert Dewar <dewar@adacore.com>
10196
10197 * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
10198
10199 2009-04-07 Robert Dewar <dewar@adacore.com>
10200
10201 * checks.adb:
10202 Remove Assume_Valid parameter from In_Subrange_Of calls
10203
10204 * sem_eval.adb:
10205 (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
10206 (Is_In_Range): Remove incorrect use of Assume_Valid
10207 (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
10208
10209 * sem_eval.ads:
10210 (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
10211 (Is_In_Range): Documentation cleanup
10212 (Is_Out_Of_Range): Documentation cleanup
10213
10214 * gnat_rm.texi:
10215 Add documentation for Assume_No_Invalid_Values pragma
10216
10217 * sem_ch12.adb: Minor reformatting
10218
10219 * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
10220
10221 * sem_prag.adb: Improve error message.
10222
10223 * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
10224 LF/CR no longer recognized as line terminator
10225
10226 * switch.ads: Minor documentation improvement
10227
10228 * vms_data.ads: Minor reformatting
10229
10230 2009-04-07 Robert Dewar <dewar@adacore.com>
10231
10232 * checks.adb (Determine_Range): Add Assume_Valid parameter
10233
10234 * checks.ads (Determine_Range): Add Assume_Valid parameter
10235
10236 * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
10237 Is_Null_Loop to suppress warnings in a loop body.
10238
10239 * exp_ch4.adb:
10240 (Rewrite_Comparison): Major rewrite to accomodate invalid values
10241
10242 * exp_ch5.adb:
10243 (Expand_N_Loop_Statement): Delete loop known not to execute
10244
10245 * opt.ads:
10246 (Assume_No_Invalid_Values): Now set to False, and as documented, this
10247 fully enables the proper handling of invalid values.
10248
10249 * sem_attr.adb:
10250 New calling sequence for Is_In_Range
10251
10252 * sem_ch5.adb:
10253 (Analyze_Iteration_Scheme): Accomodate possible invalid values
10254 in determining if a loop range is null.
10255
10256 * sem_eval.adb:
10257 (Is_In_Range): Add Assume_Valid parameter
10258 (Is_Out_Of_Range): Add Assume_Valid_Parameter
10259 (Compile_Time_Compare): Major rewrite to accomodate invalid values and
10260 also to do more accurate and complete range analysis, catching more
10261 cases.
10262
10263 * sem_eval.ads:
10264 (Is_In_Range): Add Assume_Valid parameter
10265 (Is_Out_Of_Range): Add Assume_Valid_Parameter
10266
10267 * sem_util.adb:
10268 New calling sequence for Is_In_Range
10269
10270 * sinfo.adb:
10271 (Suppress_Loop_Warnings): New flag
10272
10273 * sinfo.ads:
10274 (Is_Null_Loop): Update documentation
10275 (Suppress_Loop_Warnings): New flag
10276
10277 * gnat_ugn.texi: Document -gnatB switch
10278
10279 2009-04-07 Arnaud Charlet <charlet@adacore.com>
10280
10281 * gnatvsn.ads: Bump version number.
10282
10283 2009-04-07 Thomas Quinot <quinot@adacore.com>
10284
10285 * exp_ch3.adb: Minor rewording (comments)
10286
10287 2009-04-07 Robert Dewar <dewar@adacore.com>
10288
10289 * exp_disp.adb: Minor reformatting
10290
10291 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
10292
10293 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
10294 underlying type.
10295 * gcc-interface/trans.c (lvalue_required_p): Likewise.
10296
10297 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
10298
10299 * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
10300 Do not convert the result. Remove obsolete comment.
10301
10302 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
10303
10304 * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
10305 DECL_CONTEXT.
10306 (Subprogram_Body_to_gnu): Fix pasto.
10307
10308 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
10309
10310 * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
10311 (void_type_decl_node): Remove.
10312 (init_gigi_decls): Likewise.
10313 (gnat_install_builtins): Declare.
10314 (record_builtin_type): Likewise.
10315 (create_type_stub_decl): Likewise.
10316 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
10317 (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
10318 artificial.
10319 <E_Array_Subtype>: Use the index types, not only their name, in the
10320 record giving the names of the bounds, if any.
10321 For a packed array type, make it artificial only if the base type
10322 was artificial as well. Remove redundant statement.
10323 (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
10324 dummy types.
10325 Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
10326 (rest_of_type_decl_compilation_no_defer): Likewise.
10327 * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
10328 * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
10329 and use create_type_stub_decl to build it.
10330 (gnat_pushdecl): Rewrite condition.
10331 (gnat_install_builtins): Remove bogus declaration.
10332 (record_builtin_type): New function.
10333 (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
10334 of types.
10335 (create_type_stub_decl): New function.
10336 (create_type_decl): Assert that the type is not dummy. If the type
10337 hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
10338 (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
10339 (build_vms_descriptor): Likewise.
10340 (init_gigi_decls): Delete and move bulk of code to...
10341 * gcc-interface/trans.c (gigi): ...here. Use record_builtin_type.
10342 (emit_range_check): Add gnat_node parameter.
10343 (emit_index_check): Likewise.
10344 (emit_check): Likewise.
10345 (build_unary_op_trapv): Likewise.
10346 (build_binary_op_trapv): Likewise.
10347 (convert_with_check): Likewise.
10348 (Attribute_to_gnu): Adjust calls for above changes.
10349 (call_to_gnu): Likewise.
10350 (gnat_to_gnu): Likewise.
10351 (assoc_to_constructor): Likewise.
10352 (pos_to_constructor): Likewise.
10353 (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
10354 (process_type): Do not create TYPE_DECL for dummy types.
10355
10356 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
10357
10358 * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
10359 * gcc-interface/trans.c: Fix formatting throughout. Fix comments.
10360 * gcc-interface/utils.c: Fix comments.
10361
10362 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
10363
10364 * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
10365 move around.
10366 (gnat_to_gnu_type): Move around.
10367 (get_unpadded_type): Likewise.
10368 * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
10369 Tidy comments.
10370
10371 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
10372
10373 * gcc-interface/trans.c (check_for_eliminated_entity): New function.
10374 (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
10375 (call_to_gnu): Invoke it instead of manually checking.
10376
10377 2009-04-04 Eric Botcazou <ebotcazou@adacore.com>
10378
10379 * gcc-interface/utils.c (finish_record_type): Force structural equality
10380 checks if the record type is discriminated.
10381
10382 2009-03-31 Eric Botcazou <ebotcazou@adacore.com>
10383
10384 * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
10385 * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
10386 * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
10387 * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
10388 * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
10389 * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
10390 * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
10391
10392 2009-03-30 Paolo Bonzini <bonzini@gnu.org>
10393
10394 * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
10395 of TREE_CONSTANT_OVERFLOW.
10396
10397 2009-03-30 Joseph Myers <joseph@codesourcery.com>
10398
10399 PR rtl-optimization/323
10400 * gcc-interface/misc.c (gnat_post_options): Set
10401 flag_excess_precision_cmdline. Give an error for
10402 -fexcess-precision=standard for processors where the option is
10403 significant.
10404
10405 2009-03-27 H.J. Lu <hongjiu.lu@intel.com>
10406
10407 PR c/39323
10408 * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
10409 on bit_align.
10410
10411 2009-03-11 Olivier Hainque <hainque@adacore.com>
10412
10413 * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
10414 checks processing, remove unintended TREE_TYPE walk on index type.
10415
10416 2009-03-01 Eric Botcazou <ebotcazou@adacore.com>
10417
10418 PR ada/39264
10419 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
10420 call make_packable_type on fat pointer types.
10421 <E_Array_Subtype>: Likewise.
10422 <E_Record_Subtype>: Call make_packable_type on all record types
10423 except for fat pointer types.
10424 (make_packable_type): Likewise.
10425 (gnat_to_gnu_field): Likewise.
10426
10427 2009-02-28 Eric Botcazou <ebotcazou@adacore.com>
10428
10429 * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
10430 EH_MECHANISM change made on 2007-12-06.
10431
10432 2009-02-26 Andreas Schwab <schwab@suse.de>
10433
10434 PR ada/39172
10435 * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
10436 * gcc-interface/Makefile.in: Change all uses of $(srcdir),
10437 $(fsrcdir) and $(fsrcpfx) to add ada subdir.
10438 (AWK): Substitute.
10439 (target_cpu_default): Substitute.
10440
10441 2009-02-25 Laurent GUERBY <laurent@guerby.net>
10442
10443 PR ada/39221
10444 * a-teioed.adb (Expand): Fix Result overflow.
10445
10446 2009-02-25 Laurent GUERBY <laurent@guerby.net>
10447
10448 * gcc-interface/Makefile.in: Fix multilib handling for
10449 sparc64-linux.
10450
10451 2009-02-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10452
10453 * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
10454
10455 2009-02-18 H.J. Lu <hongjiu.lu@intel.com>
10456
10457 * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
10458
10459 2009-02-16 Eric Botcazou <ebotcazou@adacore.com>
10460
10461 * gcc-interface/deftarg.c: Remove.
10462
10463 2009-02-10 Olivier Hainque <hainque@adacore.com>
10464 Eric Botcazou <ebotcazou@adacore.com>
10465
10466 * gcc-interface/decl.c (enum alias_set_op): New enumeration.
10467 (copy_alias_set): Rename into...
10468 (relate_alias_sets): ...this. Add third parameter OP. Retrieve the
10469 underlying array of unconstrained arrays for the new type as well.
10470 If the old and new alias sets don't conflict, make one a subset of
10471 the other as per the OP parameter.
10472 (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
10473 <E_Record_Type>: Do not copy the alias set for derived types.
10474 For all types, make the alias set of derived types a superset of
10475 that of their parent type.
10476 (make_aligning_type): Adjust calls to copy_alias_set.
10477 (make_packable_type): Likewise.
10478 * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
10479 Check for alias set conflict instead of strict equality to issue the
10480 warning.
10481
10482 2009-02-09 Eric Botcazou <ebotcazou@adacore.com>
10483
10484 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
10485 Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
10486 (copy_alias_set): Assert that arrays have the same aliasing settings.
10487 (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
10488
10489 2009-02-08 Eric Botcazou <ebotcazou@adacore.com>
10490
10491 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
10492 Set TYPE_NONALIASED_COMPONENT on the array type.
10493
10494 2009-01-31 Laurent GUERBY <laurent@guerby.net>
10495
10496 * gcc-interface/Makefile.in: Fix mipsel linux handling.
10497
10498 2009-01-16 Jakub Jelinek <jakub@redhat.com>
10499
10500 * gcc-interface/Makefile.in: Fix multilib handling for
10501 powerpc64-linux.
10502
10503 2009-01-12 Eric Botcazou <ebotcazou@adacore.com>
10504
10505 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
10506 only useless conversions around renamed objects.
10507
10508 2009-01-11 Eric Botcazou <ebotcazou@adacore.com>
10509
10510 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
10511 the _Tag field before any discriminants in the field list.
10512 (components_to_record): Remove obsolete comment.
10513
10514
10515 \f
10516 Copyright (C) 2009 Free Software Foundation, Inc.
10517
10518 Copying and distribution of this file, with or without modification,
10519 are permitted in any medium without royalty provided the copyright
10520 notice and this notice are preserved.