OSDN Git Service

Move Ada ChangeLog entry to proper place.
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2009-03-11  Olivier Hainque  <hainque@adacore.com>
2
3         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
4         checks processing, remove unintended TREE_TYPE walk on index type.
5
6 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
7
8         PR ada/39264
9         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
10         call make_packable_type on fat pointer types.
11         <E_Array_Subtype>: Likewise.
12         <E_Record_Subtype>: Call make_packable_type on all record types
13         except for fat pointer types.
14         (make_packable_type): Likewise.
15         (gnat_to_gnu_field): Likewise.
16
17 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
18
19         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
20         EH_MECHANISM change made on 2007-12-06.
21
22 2009-02-26  Andreas Schwab  <schwab@suse.de>
23
24         PR ada/39172
25         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
26         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
27         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
28         (AWK): Substitute.
29         (target_cpu_default): Substitute.
30
31 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
32
33         PR ada/39221
34         * a-teioed.adb (Expand): Fix Result overflow.
35
36 2009-02-25  Laurent GUERBY <laurent@guerby.net>
37
38         * gcc-interface/Makefile.in: Fix multilib handling for
39         sparc64-linux.
40
41 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
42
43         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
44
45 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
46
47         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
48
49 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
50
51         * gcc-interface/deftarg.c: Remove.
52
53 2009-02-10  Olivier Hainque  <hainque@adacore.com>
54             Eric Botcazou  <ebotcazou@adacore.com>
55
56         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
57         (copy_alias_set): Rename into...
58         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
59         underlying array of unconstrained arrays for the new type as well.
60         If the old and new alias sets don't conflict, make one a subset of
61         the other as per the OP parameter.
62         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
63         <E_Record_Type>: Do not copy the alias set for derived types.
64         For all types, make the alias set of derived types a superset of
65         that of their parent type.
66         (make_aligning_type): Adjust calls to copy_alias_set.
67         (make_packable_type): Likewise.
68         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
69         Check for alias set conflict instead of strict equality to issue the
70         warning.
71
72 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
73
74         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
75         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
76         (copy_alias_set): Assert that arrays have the same aliasing settings.
77         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
78
79 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
80
81         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
82         Set TYPE_NONALIASED_COMPONENT on the array type.
83
84 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
85
86         * gcc-interface/Makefile.in: Fix mipsel linux handling.
87
88 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
89
90         * gcc-interface/Makefile.in: Fix multilib handling for
91         powerpc64-linux.
92
93 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
94
95         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
96         only useless conversions around renamed objects.
97
98 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
99
100         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
101         the _Tag field before any discriminants in the field list.
102         (components_to_record): Remove obsolete comment.
103
104 2008-12-09  Jakub Jelinek  <jakub@redhat.com>
105
106         PR ada/38450
107         * gcc-interface/utils.c (finish_record_type): Use SET_TYPE_MODE.
108         * gcc-interface/decl.c (gnat_to_gnu_entity, make_aligning_type):
109         Likewise.
110
111 2008-12-05  Sebastian Pop  <sebastian.pop@amd.com>
112
113         PR bootstrap/38262
114         * gcc-interface/Make-lang.in (gnat1): Add BACKENDLIBS, remove GMPLIBS.
115
116 2008-11-29  Eric Botcazou  <ebotcazou@adacore.com>
117
118         PR ada/30827
119         * g-comver.adb (Ver_Len_Max): Fix inconsistency.
120
121 2008-11-27  Eric Botcazou  <ebotcazou@adacore.com>
122
123         * gcc-interface/decl.c: Fix various nits.
124
125 2008-11-20  Eric Botcazou  <ebotcazou@adacore.com>
126
127         * gcc-interface/utils.c (init_gigi_decls): Fix type mismatch.
128
129 2008-11-16  Eric Botcazou  <ebotcazou@adacore.com>
130
131         PR ada/38127
132         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
133         special-case boolean types.  Propagate  the name.
134         * gcc-interface/targtyps.c: Tweak comment.
135
136 2008-11-15  Geert Bosch  <bosch@adacore.com>
137
138         * gcc-interface/trans.c (emit_check): Put back a final save_expr
139         to prevent exponential expansion during gimplification.
140
141 2008-11-15  Eric Botcazou  <ebotcazou@adacore.com>
142
143         * gcc-interface/lang-specs.h: Expand -coverage and reorder switches.
144
145 2008-11-15  Eric Botcazou  <ebotcazou@adacore.com>
146
147         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force constants
148         initialized to a static constant to be statically allocated even if
149         they are of a padding type, provided the original type also has
150         constant size.
151
152 2008-11-15  Laurent Guerby  <laurent@guerby.net>
153
154         PR ada/37993
155         * gcc-interface/Makefile.in: Add multilib handling for x86_64
156         on darwin.
157         * system-darwin-x86_64.ads: New file.
158
159 2008-11-13  Olivier Hainque  <hainque@adacore.com>
160
161         * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>:
162         Turn Ada Pure on subprograms back into GCC CONST when eh constructs
163         are explicit to the middle-end.  Tidy.
164
165 2008-11-09  Eric Botcazou  <ebotcazou@adacore.com>
166
167         * gcc-interface/ada-tree.def (PLUS_NOMOD_EXPR): New tree code.
168         (MINUS_NOMOD_EXPR): Likewise.
169         * gcc-interface/utils2.c (build_binary_op) <PREINCREMENT_EXPR>: Make
170         unreachable.
171         <PLUS_NOMOD_EXPR>: New case.
172         <MINUS_NOMOD_EXPR>: Likewise.
173         * gcc-interface/trans.c (Loop_Statement_to_gnu): Build increment-and-
174         assignment statement instead of using an increment operator.
175
176 2008-11-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
177
178         * system-irix-n64.ads: New file.
179         * gcc-interface/Makefile.in (mips-sgi-irix6*): Support O32 and N64
180         multilibs.
181
182 2008-11-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
183
184         PR ada/37681
185         * system-solaris-x86_64.ads: New file.
186         * gcc-interface/Makefile.in (*86-solaris2*): Support x86_64 multilib.
187
188 2008-11-07  Bechir Zalila  <bechir.zalila@gmail.com>
189             Eric Botcazou  <ebotcazou@adacore.com>
190
191         PR ada/34289
192         * lib.ads: (Enable_Switch_Storing): Declare.
193         * lib.adb: (Enable_Switch_Storing): New procedure.
194         * switch-c.adb (Scan_Front_End_Switches): Add support for -gnatea.
195         * make.adb: (Compile_Sources.Compile): Add -gnatea as first option.
196         (Display): Never display -gnatea
197         * gcc-interface/lang-specs.h: If -gnatea is present, pass -gnatez.
198
199 2008-11-07  Thomas Quinot  <quinot@adacore.com>
200
201         * gcc-interface/trans.c (Attribute_to_gnu, case Attr_Length): Check
202         for empty range in original base type, not converted result type.
203
204 2008-11-07  Geert Bosch  <bosch@adacore.com>
205
206         * gcc-interface/trans.c (build_binary_op_trapv): Convert arguments
207         and result for call to __gnat_mulv64.
208
209 2008-11-07  Eric Botcazou  <ebotcazou@adacore.com>
210
211         * gcc-interface/trans.c: Fix formatting nits.
212
213 2008-11-07  Geert Bosch  <bosch@adacore.com>
214
215         * gcc-interface/trans.c (build_binary_op_trapv): Avoid emitting
216         overflow check for constant result.
217
218 2008-11-07  Geert Bosch  <bosch@adacore.com>
219
220         * gcc-interface/trans.c (build_binary_op_trapv): Use more efficient
221         overflow check for addition/subtraction if neither operand is constant.
222
223 2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
224
225         * gcc-interface/Makefile.in (SPARC/Solaris): Use a common set of
226         files for the target-dependent part of the runtime.
227         (SPARC/Linux): Likewise.
228
229 2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
230
231         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: If not
232         optimizing, create a PARM_DECL pointing to the VAR_DECL for debugging
233         purposes.
234
235 2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
236
237         * gcc-interface/misc.c (gnat_printable_name): Always return a copy
238         in GC memory.
239
240 2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
241
242         PR ada/19419
243         * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>:
244         Generate a call to memmove for an assignment between overlapping
245         array slices.
246
247 2008-11-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
248
249         PR target/37977
250         * gcc-interface/Makefile.in: Add multilib handling for
251         s390-linux and s390x-linux.
252
253 2008-10-24  Jakub Jelinek  <jakub@redhat.com>
254
255         * gcc-interface/Make-lang.in (check-ada-subtargets): Depend on
256         check-acats-subtargets and check-gnat-subtargets.
257         (check_acats_targets): New variable.
258         (check-acats-subtargets, check-acats%): New targets.
259         (check-acats): If -j is used and CHAPTERS is empty, run the testing
260         in multiple make goals, possibly parallel, and afterwards run
261         dg-extract-results.sh to merge the sum and log files.
262
263 2008-10-17  Geert Bosch  <bosch@adacore.com>
264
265         * gcc-interface/trans.c (gnat_to_gnu) <N_Slice>: Simplify expansion
266         to use only a single check instead of three, and avoid unnecessary
267         COMPOUND_EXPR.
268         (emit_check): Avoid useless COMPOUND_EXPRs and SAVE_EXPRs, sometimes
269         creating more opportunities for optimizations.
270
271 2008-10-13  Jakub Jelinek  <jakub@redhat.com>
272
273         PR middle-end/37601
274         * gcc-interface/utils.c (gnat_types_compatible_p): Handle
275         NULL TYPE_DOMAIN.
276
277 2008-10-07  Eric Botcazou  <ebotcazou@adacore.com>
278
279         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move code
280         dealing with volatileness to after code dealing with renaming.
281
282 2008-10-06  Eric Botcazou  <ebotcazou@adacore.com>
283
284         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Minor tweaks.
285         * gcc-interface/trans.c (Pragma_to_gnu): Likewise.
286
287 2008-10-06  Eric Botcazou  <ebotcazou@adacore.com>
288
289         * gcc-interface/utils.c (can_fold_for_view_convert_p): New predicate.
290         (unchecked_convert): Use it to disable problematic folding with
291         VIEW_CONVERT_EXPR in the general case.  Always disable it for the
292         special VIEW_CONVERT_EXPR built for integral types and cope with
293         its addressability issues by preserving the first conversion.
294
295 2008-10-01  Andreas Schwab  <schwab@suse.de>
296
297         * system-linux-ppc64.ads: New file.
298         * gcc-interface/Makefile.in: Add multilib handling for
299         powerpc-linux.
300
301 2008-09-26  Eric Botcazou  <ebotcazou@adacore.com>
302
303         * decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotion
304         to that of ptr_mode instead of word_mode.
305
306 2008-09-26  Eric Botcazou  <ebotcazou@adacore.com>
307
308         PR ada/5911
309         * gcc-interface/Makefile.in (SPARC/Solaris): Add multilib support.
310
311 2008-09-25  Samuel Tardieu  <sam@rfc1149.net>
312
313         PR ada/37641
314         * adaint.c (__gnat_set_non_writable): Use FILE_WRITE_EA
315         instead of deprecated FILE_WRITE_PROPERTIES.
316
317 2008-09-22  Olivier Hainque  <hainque@adacore.com>
318
319         * gcc-interface/decl.c (gnat_to_gnu_entity): Even when they
320         are never assigned, volatile entities are not constant for code
321         generation purposes.
322
323 2008-09-21  Laurent Guerby  <laurent@guerby.net>
324
325         PR ada/5911
326         * gcc-interface/Makefile.in: Add multilib handling for x86_64
327         and sparc.
328         * system-linux-sparcv9.ads: New file.
329
330 2008-09-20  Eric Botcazou  <ebotcazou@adacore.com>
331
332         * exp_dbug.ads: Document new convention for the XVZ variable.
333         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate
334         debug info if necessary for the type padding the component type.
335         <E_Array_Subtype>: Likewise.
336         (maybe_pad_type): Emit the XVZ variable in units.
337         * gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits.
338         (Subprogram_Body_to_gnu): Set the source line of the subprogram's node
339         on statements generated to initialize the parameter attributes cache.
340         Set the source line of the end label of the body on the special return
341         statement built for a procedure with copy-in copy-out parameters.
342
343 2008-09-20  Eric Botcazou  <ebotcazou@adacore.com>
344
345         PR ada/37585
346         * gcc-interface/utils.c (create_subprog_decl): Disable inlining for
347         inlined external functions if they contain a nested function not
348         declared inline.
349
350 2008-09-18  Jan Hubicka  <jh@suse.cz>
351
352         * gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
353         (end_subprog_body): Do not set DECL_INLINE.
354
355 2008-09-17  Pascal Rigaux  <pixel@mandriva.com>
356
357         PR ada/21327
358         * gnat_ugn.texi: Use proper format in direntry.
359
360 2008-09-15  Eric Botcazou  <ebotcazou@adacore.com>
361
362         * gcc-interface/trans.c (gigi): Declare the name of the compilation
363         unit as the first global name.
364
365 2008-09-14  Jan Hubicka  <jh@suse.cz>
366
367         * gcc-interface/Make-lang.in (gnat1): Add CFLAGS.
368
369 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
370
371         * a-crbtgk.adb, a-direct.ads, a-tasatt.adb, ali.ads,
372         bindgen.adb, checks.adb, einfo.ads, exp_aggr.adb, exp_ch11.adb,
373         exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
374         exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_pakd.adb,
375         exp_util.adb, g-alveop.ads, g-comlin.adb, g-comlin.ads,
376         g-diopit.adb, g-socket.ads, gcc-interface/decl.c,
377         gcc-interface/gigi.h, gcc-interface/trans.c,
378         lib-load.adb, lib-xref.ads, make.adb, mlib-prj.adb, nlists.ads,
379         opt.ads, par-ch10.adb, par-ch5.adb, par.adb, s-os_lib.ads,
380         s-oscons-tmplt.c, s-parint.ads, s-regpat.ads, s-shasto.ads,
381         s-stausa.ads, s-taprop-vms.adb, sem.adb, sem_ch10.adb,
382         sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
383         sem_ch3.ads, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
384         sem_elim.adb, sem_prag.adb, sem_util.adb, sem_util.ads,
385         sem_warn.adb, sinfo.ads, styleg.adb, vms_data.ads: Fix typos in
386         comments.
387         * gnathtml.pl: Fix typos.
388
389 2008-09-10  Joel Sherrill <joel.sherrill@oarcorp.com>
390
391         * gcc-interface/Makefile.in: Switch RTEMS to s-interr-hwint.adb.
392         * s-osinte-rtems.ads: Add shared hardware interrupt adapter
393         layer. RTEMS binds to OS provided adapter routines so there are
394         no modifications to s-osinte-rtems.adb.
395
396 2008-09-09  Arnaud Charlet  <charlet@adacore.com>
397             Joel Sherrill  <joel.sherrill@oarcorp.com>
398
399        * gcc-interface/Makefile.in: Switch VxWorks to s-interr-hwint.adb.
400
401        * s-interr-vxworks.adb: Renamed to s-interr-hwint.adb
402
403        * s-interr-hwint.adb: New file.
404
405         * s-osinte-vxworks.ads, s-osinte-vxworks.adb: Add new functions
406         needed by s-interr-hwint.adb.
407
408         * s-osinte-vxworks-kernel.adb: New file.
409
410 2008-09-05  Joel Sherrill <joel.sherrill@oarcorp.com>
411
412         * s-stchop-rtems.adb: Add file missed in early commit.  Already
413         referenced in gcc-interface/Makefile.in.
414
415 2008-08-30  Thomas Quinot  <quinot@adacore.com>
416
417         * gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} to
418         be built even without a separate libada directory.
419
420 2008-08-22  Arnaud Charlet  <charlet@adacore.com>
421
422         * lib-xref.ads: Fix typo in subprogram reference definition.
423
424 2008-08-22  Robert Dewar  <dewar@adacore.com>
425
426         * s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-strops.adb: Minor code fix
427         to avoid warning.
428
429         * g-trasym.adb: Ditto
430
431         * s-utf_32.adb (Get_Category): Fix obvious typo
432
433         * s-wwdcha.adb: Minor code reorganization
434         Remove dead code
435
436 2008-08-22  Robert Dewar  <dewar@adacore.com>
437
438         * checks.adb (Determine_Range): Deal with values that might be invalid
439
440         * opt.adb, opt.ads (Assume_No_Invalid_Values[_Config]): New
441         configuration switches.
442
443         * par-prag.adb: Dummy entry for pragma Assume_No_Invalid_Values
444
445         * sem_prag.adb: Implement pragma Assume_No_Default_Values
446
447         * snames.adb, snames.ads, snames.h:
448         Add entries for pragma Assume_No_Invalid_Values
449
450         * switch-c.adb: Add processing for -gnatB switch
451
452         * usage.adb: Add entry for flag -gnatB (no bad invalid values)
453
454 2008-08-22  Javier Miranda  <miranda@adacore.com>
455
456         * exp_ch3.adb (Build_Init_Statements): Transfer to the body of the
457         init procedure all the expanded code associated with the spec of
458         task types and protected types.
459
460 2008-08-22  Gary Dismukes  <dismukes@adacore.com>
461
462         * exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the
463         component expression copies rather than directly setting Etype and
464         Is_Static_Expression.
465
466 2008-08-22  Gary Dismukes  <dismukes@adacore.com>
467
468         * sem_util.adb (Has_Preelaborable_Initialization): Revise checking of
469         private types to allow for types derived from a private type with
470         preelaborable initialization, but return False for a private extension
471         (unless it has the pragma).
472
473 2008-08-22  Robert Dewar  <dewar@adacore.com>
474
475         * opt.ads: Minor code reorganization (put entries in alpha order)
476
477 2008-08-22  Pascal Obry  <obry@adacore.com>
478
479         * initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking
480         spawn.
481
482 2008-08-22  Geert Bosch  <bosch@adacore.com>
483
484         * gcc-interface/trans.c: Define FP_ARITH_MAY_WIDEN
485         (convert_with_check): Only use longest_float_type if FP_ARITH_MAY_WIDEN is 0
486
487 2008-08-22  Doug Rupp  <rupp@adacore.com>
488
489         * bindgen.adb [VMS] (Gen_Adainit_Ada, Gen_Adainit_C): Import and call
490         __gnat_set_features.
491
492         * init.c
493         (__gnat_set_features): New function.
494         (__gnat_features_set): New tracking variable.
495         (__gl_no_malloc_64): New feature global variable
496
497 2008-08-22  Ed Schonberg  <schonberg@adacore.com>
498
499         * sem_ch8.adb (Use_One_Type): Do not emit warning message about redundant
500         use_type_clause in an instance.
501
502 2008-08-22  Bob Duff  <duff@adacore.com>
503
504         * exp_ch6.ads: Remove pragma Precondition, since it breaks some builds.
505
506 2008-08-22  Robert Dewar  <dewar@adacore.com>
507
508         * exp_ch6.adb: Minor reformatting
509
510         * exp_ch7.adb: Minor reformatting
511
512         * exp_ch7.ads: Put routines in proper alpha order
513
514         * exp_dist.adb: Minor reformatting
515
516 2008-08-22  Vincent Celier  <celier@adacore.com>
517
518         * prj.ads: Minor comment update
519
520 2008-08-22  Robert Dewar  <dewar@adacore.com>
521
522         * sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack
523
524 2008-08-22  Ed Schonberg  <schonberg@adacore.com>
525
526         * exp_tss.adb:
527         (Base_Init_Proc): For a protected subtype, use the base type of the
528         corresponding record to locate the propoer initialization procedure.
529
530 2008-08-22  Robert Dewar  <dewar@adacore.com>
531
532         * checks.adb:
533         (In_Subrange_Of): New calling sequence
534         (Determine_Range): Prepare for new processing using base type
535
536         * exp_ch4.adb:
537         (Compile_Time_Compare): Use new calling sequence
538
539         * exp_ch5.adb:
540         (Compile_Time_Compare): Use new calling sequence
541
542         * sem_eval.adb:
543         (Compile_Time_Compare): New calling sequence allows dealing with
544         invalid values.
545         (In_Subrange_Of): Ditto
546
547         * sem_eval.ads:
548         (Compile_Time_Compare): New calling sequence allows dealing with
549         invalid values.
550         (In_Subrange_Of): Ditto
551
552 2008-08-22  Pascal Obry  <obry@adacore.com>
553
554         * adaint.c: Fix possible race condition on win32_wait().
555
556 2008-08-22  Bob Duff  <duff@adacore.com>
557
558         * exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb, freeze.adb,
559         exp_ch4.adb, exp_ch6.ads, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
560         exp_intr.adb, exp_ch3.adb: Rename:
561         Exp_Ch7.Controlled_Type => Needs_Finalization
562         Exp_Ch7.CW_Or_Controlled_Type => CW_Or_Has_Controlled_Part
563         Exp_Ch5.Expand_N_Extended_Return_Statement.Controlled_Type =>
564          Has_Controlled_Parts
565         (Has_Some_Controlled_Component): Fix bug in array case.
566
567 2008-08-22  Robert Dewar  <dewar@adacore.com>
568
569         * sem_ch8.adb: Minor reformatting
570
571 2008-08-22  Kevin Pouget  <pouget@adacore.com>
572
573         * s-shasto.ads, s-shasto.adb: Move Shared_Var_ROpen, Shared_Var_WOpen and
574         Shared_Var_Close procedure specifications from package spec to package body.
575
576         * rtsfind.ads: Remove RE_Shared_Var_Close, RE_Shared_Var_ROpen,
577         RE_Shared_Var_WOpen entries.
578
579         * exp_dist.adb: Update RE_Any_Content_Ptr to RE_Any_Container_Ptr in
580         Build_To_Any_Call, Build_TypeCode_Call and Build_From_Any_Call procedures.
581
582 2008-08-22  Eric Botcazou  <ebotcazou@adacore.com>
583
584         * init.c: adjust EH support code on Alpha/Tru64 as well.
585
586         * raise-gcc.c: Add back a couple of comments.
587
588 2008-08-22  Ed Schonberg  <schonberg@adacore.com>
589
590         * exp_ch5.adb (Expand_Simple_Function_Return): If secondary stack is
591         involved and the return type is class-wide, use the type of the expression
592         for the generated access type. Suppress useless discriminant checks on the
593         allocator.
594
595 2008-08-22  Bob Duff  <duff@adacore.com>
596
597         * exp_ch7.adb: Minor comment fix
598
599         * exp_ch6.ads: Minor comment fix
600
601 2008-08-22  Thomas Quinot  <quinot@adacore.com>
602
603         * sem_ch8.adb: Minor reformatting
604         Minor code reorganization (introduce subprogram to factor duplicated
605         code).
606
607 2008-08-22  Sergey Rybin  <rybin@adacore.com>
608
609         * gnat_ugn.texi: Change the description of gnatcheck default rule
610         settings.
611
612 2008-08-22  Eric Botcazou  <ebotcazou@adacore.com>
613
614         * init.c (__gnat_adjust_context_for_raise): Delete for AIX, HP-UX,
615         Solaris, FreeBSD, VxWorks and PowerPC/Linux.  For x86{-64}/Linux,
616         do not adjust the PC anymore.
617         (__gnat_error_handler): Do not call __gnat_adjust_context_for_raise
618         on AIX, HP-UX, Solaris, FreeBSD and VxWorks.
619
620         * raise-gcc.c (get_call_site_action_for): Use _Unwind_GetIPInfo
621         instead of _Unwind_GetIP.
622
623 2008-08-22  Gary Dismukes  <dismukes@adacore.com>
624
625         * exp_aggr.adb (Static_Array_Aggregate): When a static array aggregate
626         with a range is transformed into a positional aggregate, any copied
627         component literals should be marked Is_Static_Expression.
628
629         * sem_eval.adb (Compile_Time_Known_Value): Don't treat null literals as
630         not being known at at compile time when Configurable_Run_Time_Mode is
631         true.
632
633 2008-08-22  Robert Dewar  <dewar@adacore.com>
634
635         * exp_attr.adb:
636         (Expand_N_Attribute_Reference): No validity checking on OUT parameter of
637         Read or Input attribute.
638
639 2008-08-22  Ed Schonberg  <schonberg@adacore.com>
640
641         * sem_ch8.adb (Use_One_Type): when checking which of two use_type
642         clauses in related units is redundant, if one of the units is a package
643         instantiation, use its instance_spec to determine which unit is the
644         ancestor of the other.
645
646 2008-08-22  Javier Miranda  <miranda@adacore.com>
647
648         * exp_attr.adb (Expand_N_Attribute_Reference): In case of access
649         attributes add missing support to handle designated types that come
650         from the limited view.
651
652         * exp_disp.adb (Expand_Interface_Conversion): Remove wrong assertion.
653
654 2008-08-22  Sergey Rybin  <rybin@adacore.com>
655
656         * vms_data.ads: Add entry for new gnatcheck -mNNN option
657
658         * gnat_ugn.texi: Add description for gnatcheck option '-m'
659
660 2008-08-22  Sergey Rybin  <rybin@adacore.com>
661
662         * gnat_ugn.texi: Update the gnatcheck subsection for metric rules
663         acoording to the latest changes in the metric rule interface
664
665 2008-08-22  Vincent Celier  <celier@adacore.com>
666
667         * make.adb (Check.File_Not_A_Source_Of): New Boolean function
668         (Check): Check if the file names registered in the ALI file for the
669         spec, the body and each of the subunits are the ones expected.
670
671 2008-08-22  Robert Dewar  <dewar@adacore.com>
672
673         * g-catiio.adb: Code cleanup.
674
675 2008-08-20  Vincent Celier  <celier@adacore.com>
676
677         * make.adb (Gnatmake): Remove extra space in version line
678
679         * ali.adb:
680         (Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit,
681         as the name may already have been entered in the table by the Project
682         Manager.
683
684 2008-08-20  Jose Ruiz  <ruiz@adacore.com>
685
686         * errno.c (__get_errno, __set_errno for MaRTE): Transform then into
687         weak symbols so we use the version provided by MaRTE when available.
688
689 2008-08-20  Emmanuel Briot  <briot@adacore.com>
690
691         * g-catiio.ads, g-catiio.adb:
692         (Value): Avoid an unnecessary system call to Clock in most cases.
693         This call is only needed when only the time is provided in the string,
694         and ignored in all other cases. This is more efficient.
695
696 2008-08-20  Eric Botcazou  <ebotcazou@adacore.com>
697
698         * raise-gcc.c: Fix formatting nits.
699
700 2008-08-20  Robert Dewar  <dewar@adacore.com>
701
702         * sem_ch13.adb:
703         (Adjust_Record_For_Reverse_Bit_Order): Do not access First_Bit for
704         non-existing component clause.
705
706         * exp_ch5.adb: Minor reformatting
707
708         * g-comlin.adb: Minor reformatting
709
710         * make.adb: Minor reformatting
711
712         * prj-proc.adb: Minor reformatting
713
714         * stylesw.ads: Minor reformatting
715
716 2008-08-20  Vincent Celier  <celier@adacore.com>
717
718         * make.adb (Gnatmake_Switch_Found): New Boolean global variable
719         (Switch_May_Be_Passed_To_The_Compiler): New Boolean global variable
720         (Add_Switches): New Boolean parameter Unknown_Switches_To_The_Compiler
721          defaulted to True. Fail when Unknown_Switches_To_The_Compiler is False
722         and a switch is not recognized by gnatmake.
723         (Gnatmake): Implement new scheme for gnatmake switches and global
724         compilation switches.
725         (Switches_Of): Try successively Switches (<file name>),
726         Switches ("Ada"), Switches (others) and Default_Switches ("Ada").
727
728 2008-08-20  Ed Schonberg  <schonberg@adacore.com>
729
730         * styleg-c.ads, styleg-c.adb (Missing_Overriding): new procedure to
731         implement style check that overriding operations are explicitly marked
732         at such.
733
734         * style.ads (Missing_Overriding): new procedure that provides interface
735         to previous one.
736
737         * stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable check
738         that the declaration or body of overriding operations carries an
739         explicit overriding indicator.
740
741         * sem_ch8.adb
742         (Analyze_Subprogram_Renaming): if operation is overriding, check whether
743         explicit indicator should be present.
744
745         * sem_ch6.adb (Verify_Overriding_Indicator,
746         Check_Overriding_Indicator): If operation is overriding, check whether
747         declaration and/or body of subprogram should be present
748
749 2008-08-20  Vincent Celier  <celier@adacore.com>
750
751         * prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for
752         gprbuild when casing is MixedCase, whatever the casing of the letters
753         in the file name.
754
755 2008-08-20  Gary Dismukes  <dismukes@adacore.com>
756
757         * exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to
758         creating dummy init proc.
759         (Requires_Init_Proc): Return False in the case No_Default_Initialization
760         is in force and the type does not have associated default
761         initialization. Move test of Is_Public (with tests of restrictions
762         No_Initialize_Scalars and No_Default_Initialization) to end, past tests
763         for default initialization.
764
765 2008-08-20  Jerome Lambourg  <lambourg@adacore.com>
766
767         * g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part
768         of any alias or prefix but having attached parameters (as \"-O2\").
769
770 2008-08-20  Robert Dewar  <dewar@adacore.com>
771
772         * s-fileio.adb: Minor reformatting
773
774 2008-08-20  Thomas Quinot  <quinot@adacore.com>
775
776         * exp_strm.adb (Build_Elementary_Input_Call,
777         Build_Elementary_Write_Call): Fix incorrect condition in circuitry that
778         selects the stream attribute routines for long float types.
779
780 2008-08-20  Vincent Celier  <celier@adacore.com>
781
782         * prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data
783
784         * prj.ads (Array_Data): Add a component Location
785
786 2008-08-20  Ed Schonberg  <schonberg@adacore.com>
787
788         * sem_prag.adb:
789         (Analyze_Pragma, case Obsolescent): Add entity information on the pragma
790         argument for ASIS and navigation use.
791
792 2008-08-20  Ed Schonberg  <schonberg@adacore.com>
793
794         * einfo.ads: Add comment.
795
796 2008-08-20  Bob Duff  <duff@adacore.com>
797
798         * sem_eval.ads: Minor comment fix.
799
800 2008-08-20  Bob Duff  <duff@adacore.com>
801
802         * exp_ch4.adb (Expand_N_And_Then, Expand_N_Or_Else): Improve constant
803         folding. We were folding things like "False and then ...", but not
804         "X and then ..." where X is a constant whose value is known at compile
805         time.
806
807 2008-08-20  Hristian Kirtchev  <kirtchev@adacore.com>
808
809         * exp_ch5.adb (Controlled_Type): New routine.
810         (Expand_N_Extended_Return_Statement): When generating a move of the
811         final list in extended return statements, check the type of the
812         function and in the case of double expanded return statements, the type
813         of the returned object.
814         (Expand_Simple_Function_Return): Perform an interface conversion when
815         the type of the returned object is an interface and the context is an
816         extended return statement.
817
818 2008-08-20  Ed Schonberg  <schonberg@adacore.com>
819
820         * sem_util.adb (Set_Debug_Info_Needed): If the entity is a private type
821         and the full view is visible, set flag on full view as well.
822
823 2008-08-20  Thomas Quinot  <quinot@adacore.com>
824
825         * g-comlin.adb: Minor reformatting
826         Minor code reorganization.
827
828         * freeze.adb: Minor reformatting
829
830 2008-08-20  Vincent Celier  <celier@adacore.com>
831
832         * prj-nmsc.adb (Check_File): An excluded Ada source file may be a
833         source of another project.
834
835 2008-08-20  Pascal Obry  <obry@adacore.com>
836
837         * s-os_lib.ads: Minor reformatting.
838
839 2008-08-20  Arnaud Charlet  <charlet@adacore.com>
840
841         * gnatvsn.ads: Minor reformatting.
842
843 2008-08-20  Arnaud Charlet  <charlet@adacore.com>
844
845         * a-crbtgk.adb, repinfo.adb, g-traceb.ads, repinfo.ads,
846         system-linux-s390x.ads, s-fatflt.ads, s-parame-ae653.ads, g-spipat.adb,
847         g-spipat.ads, g-tasloc.adb, g-debpoo.adb, g-except.ads, g-debpoo.ads,
848         mdll-utl.adb, g-string.adb, g-soliop-solaris.ads, par-sync.adb,
849         exp_ch6.ads, a-cihama.ads, g-curexc.ads, system-linux-sh4.ads,
850         g-utf_32.adb, g-hesorg.adb, s-proinf-irix-athread.ads, s-parint.adb,
851         s-parint.ads, exp_ch7.ads, system-linux-alpha.ads, g-dirope.adb,
852         sinfo-cn.adb, par-labl.adb, a-ciorse.adb, g-calend.adb,
853         s-parame-vms-alpha.ads, nlists.h, exp_imgv.adb, exp_fixd.ads,
854         g-calend.ads, gnatcmd.ads, g-table.adb, s-memory-mingw.adb,
855         g-alveop.ads, g-memdum.ads, g-altive.ads, initialize.c, g-regpat.adb,
856         g-busorg.ads, g-regpat.ads, g-encstr.ads, g-regexp.adb, g-regexp.ads,
857         live.ads, g-dyntab.adb, prj-nmsc.ads, par-ch12.adb, 9drpc.adb,
858         g-alvevi.ads, s-memory.adb, math_lib.adb, s-parame.ads, s-memory.ads,
859         s-regexp.adb, a-exexda.adb, i-cstrea-vms.adb, a-exexpr.adb,
860         g-soliop-mingw.ads, s-imgrea.adb, namet.adb, system-vms.ads,
861         s-inmaop-dummy.adb, s-finroo.ads, a-ngcefu.adb, s-hibaen.ads,
862         g-soliop.ads, s-auxdec.adb, g-locfil.ads, gnatxref.adb, memroot.adb,
863         osint-b.ads, memroot.ads, s-parame-hpux.ads, errutil.adb,
864         system-linux-s390.ads, par-util.adb, osint-c.ads, exp_pakd.ads,
865         i-pacdec.ads, par-endh.adb, mlib-tgt.ads, prj-strt.ads,
866         s-osprim-vms.adb, s-proinf.ads, output.ads, g-moreex.ads,
867         a-finali.ads, s-fatlfl.ads, namet.h, mdll.ads, g-dynhta.ads,
868         s-imgenu.ads, par-tchk.adb, g-excact.ads, memtrack.adb, s-fatgen.adb,
869         a-exexpr-gcc.adb, g-arrspl.adb, par-ch4.adb, g-cgideb.adb, freeze.ads,
870         g-altcon.adb, s-fatllf.ads, gnatfind.adb, s-osinte-lynxos-3.adb,
871         a-exextr.adb, g-htable.ads, a-calfor.adb, s-imgcha.adb, argv.c,
872         a-chahan.ads, g-hesora.adb, system-vms_64.ads, par-ch5.adb, g-md5.adb,
873         lib-xref.ads, g-md5.ads, g-casuti.ads, s-fatsfl.ads, exp_dbug.ads,
874         s-htable.ads, a-ngcoar.adb, s-arit64.ads, a-ngelfu.adb, a-filico.ads,
875         par-ch6.adb, s-inmaop.ads, s-parame-vxworks.ads, s-casuti.ads,
876         a-numaux-darwin.adb, a-cohama.ads, system-linux-sparc.ads, g-os_lib.adb,
877         system-vms-ia64.ads, s-parame-vms-restrict.ads, a-clrefi.ads,
878         s-parame-vms-ia64.ads, a-strfix.adb, a-coorse.adb, a-comlin.ads,
879         a-chtgke.adb, s-imgint.adb, g-expect.ads, exp_ch4.ads, s-finimp.adb,
880         mingw32.h, g-heasor.adb, g-alleve.adb, a-ngrear.adb, s-mastop-irix.adb,
881         s-poosiz.adb, link.c: Fix copyright notice.
882
883 2008-08-20  Arnaud Charlet  <charlet@adacore.com>
884
885         * g-comlin.ads: Update comments.
886
887 2008-08-20  Ed Schonberg  <schonberg@adacore.com>
888
889         * sem_ch8.adb (Analyze_Subprogram_Renaming): Inherit Is_Imported flag.
890
891 2008-08-20  Gary Dismukes  <dismukes@adacore.com>
892
893         * exp_ch11.adb:
894         (Expand_Exception_Handlers): Call Make_Exception_Handler instead of
895         Make_Implicit_Exception_Handler when rewriting an exception handler with
896         a choice parameter, and pass the handler's Sloc instead of that of the
897         handled sequence of statements. Make_Implicit_Exception_Handler sets the
898         Sloc to No_Location (unless debugging generated code), which we don't
899         want for the case of a user handler.
900
901 2008-08-20  Robert Dewar  <dewar@adacore.com>
902
903         * freeze.adb (Freeze_Record_Type): Improve msg for non-contiguous field
904
905         * sem_ch13.adb:
906         (Adjust_Record_For_Reverse_Bit_Order): Messages about layout are
907         now labeled as info msgs, not warnings.
908
909         * tbuild.ads: Clarify documentation of Make_Implicit_Exception_Handler
910
911         * usage.adb: Minor change to avoid overlong line for -gnatwz/Z
912
913         * a-textio.adb: Remove redundant test.
914
915         * a-witeio.adb: Minor code reorganization
916         Remove redundant test found working on another issue
917
918         * a-ztexio.adb: Minor code reorganization
919         Remove redundant test found working on another issue
920
921 2008-08-20  Thomas Quinot  <quinot@adacore.com>
922
923         * s-fileio.adb (Open) Use C helper function to determine whether a
924         given errno value corresponds to a "file not found" error.
925
926         * sysdep.c (__gnat_is_file_not_found_error): New C helper function.
927
928 2008-08-20  Jose Ruiz  <ruiz@adacore.com>
929
930         * errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno
931         to get access to the per-task errno variable.
932         (__set_errno for MaRTE): Do not redefine this function here since it is
933         already defined in MaRTE.
934
935 2008-08-20  Tristan Gingold  <gingold@adacore.com>
936
937         * gnat_ugn.texi: Gcov is not supported on static library on AIX.
938
939 2008-08-20  Robert Dewar  <dewar@adacore.com>
940
941         * freeze.adb: Minor reformatting
942
943         * g-comlin.adb: Minor reformatting
944
945         * g-socket.adb: Minor reformatting
946
947         * g-socthi-mingw.adb: Minor reformatting
948
949         * g-stheme.adb: Minor reformatting
950
951 2008-08-20  Ed Schonberg  <schonberg@adacore.com>
952
953         * sem_aggr.adb, sem_type.adb, exp_ch9.ads, einfo.ads,
954         exp_ch6.adb, exp_aggr.adb (Valid_Ancestor): Resolve
955         confusion between partial and full views of an ancestor of the context
956         type when the parent is a private extension declared in a parent unit,
957         and full views are available for the context type.
958
959 2008-08-18  Samuel Tardieu  <sam@rfc1149.net>
960             Robert Dewar  <dewar@adacore.com>
961
962         PR ada/30827
963         * bindgen.adb (Gen_Output_File_Ada): Zero-terminate the
964         version string.
965         Move comment in the right place.
966         * g-comver.adb (Version): Look for a zero-termination in
967         addition to a closing parenthesis.
968
969 2008-08-18  Samuel Tardieu  <sam@rfc1149.net>
970
971         * exp_ch13.adb, exp_disp.adb, sem_cat.adb, sem_ch10.adb,
972         * sem_ch12.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
973         * sem_prag.adb, sem_util.adb, sem_warn.adb: Use
974         Is_Package_Or_Generic_Package instead of hand-crafted tests.
975
976 2008-08-18  Samuel Tardieu  <sam@rfc1149.net>
977
978         PR ada/15808
979         * sem_ch6.adb (Check_Private_Overriding): Check for generic packages
980         as well.
981
982 2008-08-17  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
983
984         * adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement.
985
986 2008-08-16  Eric Botcazou  <ebotcazou@adacore.com>
987
988         * gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call
989         for back-copy statements in lieu of that of the actual.
990
991 2008-08-16  Eric Botcazou  <ebotcazou@adacore.com>
992
993         PR ada/20548
994         * gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the
995         setjmp test consistently.  Adjust for new behavior of flag_stack_check.
996         * gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant
997         test of flag_stack_check.  Adjust for new behavior of flag_stack_check.
998
999 2008-08-13  Samuel Tardieu  <sam@rfc1149.net>
1000
1001         PR ada/36777
1002         * sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
1003         * sem_attr.adb (Check_Type): The current instance of a protected
1004         object is not a type name.
1005         (Analyze_Access_Attribute): Accept instances of protected objects.
1006         (Analyze_Attribute, Attribute_Address clause): Ditto.
1007         * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
1008         the prefix as being the current instance if needed.
1009
1010 2008-08-12  Danny Smith  <danyssmith@users.sourceforge.net>
1011
1012         * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]:
1013         Remove duplicate s-win32.o. Add s-winext.o.
1014
1015 2008-08-12  Danny Smith  <danyssmith@users.sourceforge.net>
1016
1017         * g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM
1018         with SOSC.SOCK__STREAM.
1019         * g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with
1020         SOSC.MSG_OOB.
1021
1022 2008-08-11  Joel Sherrill  <joel.sherrill@oarcorp.com>
1023
1024         * s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
1025         * gsocket.h, socket.c: Update to support RTEMS.
1026         * gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross.
1027
1028 2008-08-10  Samuel Tardieu  <sam@rfc1149.net>
1029             Robert Dewar <dewar@adacore.com>
1030
1031         * exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of
1032         left argument even when right argument is 0.
1033         (Expand_N_Op_Mod): Ditto when right argument is 1.
1034         (Expand_N_Op_Multiply): Ditto when any argument is 0.
1035         (Expand_N_Op_Rem): Ditto when right argument is 1.
1036
1037 2008-08-09  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1038
1039         * gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused
1040         by warn_unused.
1041
1042 2008-08-08  Ed Schonberg  <schonberg@adacore.com>
1043
1044         * freeze.adb (Generate_Prim_Op_References): New procedure, abstracted
1045         from Freeze_Entity. Used to generate cross-reference information for
1046         types declared in generic packages.
1047
1048 2008-08-08  Thomas Quinot  <quinot@adacore.com>
1049
1050         * gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a
1051         compatibility shim.
1052
1053 2008-08-08  Thomas Quinot  <quinot@adacore.com>
1054
1055         * gsocket.h:
1056         On Windows, include <errno.h> and redefine only selected errno values
1057         from their <winsock2.h> definitions.
1058
1059         * s-osinte-freebsd.ads: Minor reformatting
1060
1061         * s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting
1062
1063         * g-soccon.ads: New file.
1064
1065         * g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb,
1066         g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb,
1067         g-stsifd-sockets.adb, g-socket.adb, g-socket.ads,
1068         g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child
1069         unit, to allow building software that depends on this internal unit
1070         with both older and newer compilers.
1071
1072 2008-08-08  Robert Dewar  <dewar@adacore.com>
1073
1074         * s-strxdr.adb: Minor reformatting
1075
1076 2008-08-08  Bob Duff  <duff@adacore.com>
1077
1078         * gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow
1079         checking for integer operations (including division by zero)", which
1080         is wrong -- divide by zero is not part of overflow checking.
1081         Also added misc clarification about what check-suppression means.
1082
1083         * gnat_rm.texi: Clarify the meaning of pragma Suppress.
1084
1085 2008-08-08  Jerome Lambourg  <lambourg@adacore.com>
1086
1087         * g-comlin.adb (Add_Switch): Handle addition of switches at the
1088         begining of the command line.
1089         (Append, Add): Renaming of Append to Add as this now allows addition
1090         at the begining of the list.
1091
1092         * g-comlin.ads (Add_Switch): Handle addition of switches at the
1093         begining of the command line.
1094
1095 2008-08-08  Thomas Quinot  <quinot@adacore.com>
1096
1097         * g-sercom.ads:
1098         (Name): Document application scope (only legacy PC serial ports on
1099         Linux and Windows).
1100
1101 2008-08-08  Thomas Quinot  <quinot@adacore.com>
1102
1103         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert
1104         previous change, not needed after all.
1105
1106 2008-08-08  Ed Schonberg  <schonberg@adacore.com>
1107
1108         * exp_ch4.adb (Expand_Allocator_Expression): add check if null
1109         exclusion indicator is present
1110
1111 2008-08-08  Robert Dewar  <dewar@adacore.com>
1112
1113         * g-comlin.adb: Minor code reorganization
1114         Minor reformatting
1115
1116         * g-comlin.ads: Minor reformatting
1117
1118         * s-fileio.adb: Minor reformatting
1119
1120         * sem_attr.adb: Minor code reorganization (use Nkind_In)
1121         Minor reformatting
1122
1123 2008-08-06  Samuel Tardieu  <sam@rfc1149.net>
1124
1125         * gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing
1126         with s-oscons-tmplt.i.
1127
1128 2008-08-06  Samuel Tardieu  <sam@rfc1149.net>
1129
1130         * gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove.
1131
1132 2008-08-06  Ed Schonberg  <schonberg@adacore.com>
1133
1134         * sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse
1135         of incomplete type.
1136
1137         * sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming
1138         of a formal parameter of an incomplete type. Improve error message for
1139         other improper uses of incomplete types.
1140
1141 2008-08-06  Robert Dewar  <dewar@adacore.com>
1142
1143         * gnat_ugn.texi: Clarify -gnato documentation
1144
1145 2008-08-06  Thomas Quinot  <quinot@adacore.com>
1146
1147         * gcc-interface/Makefile.in,
1148         g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb,
1149         g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads,
1150         g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads,
1151         g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads,
1152         g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads,
1153         g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads,
1154         g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads,
1155         g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads,
1156         g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads:
1157         Remove GNAT.Sockets.Constants. This internal package is replaced by
1158         System.OS_Constants.
1159
1160 2008-08-06  Thomas Quinot  <quinot@adacore.com>
1161
1162         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
1163         Remove obsolete targets referencing gen-soccon
1164         When generating s-oscons.ads, use a file name that includes the
1165         THREAD_KIND, to ensure that the (potentially different) version from a
1166         previous build with a different threads flavour does not get reused.
1167
1168 2008-08-06  Thomas Quinot  <quinot@adacore.com>
1169
1170         * sem_res.adb: Minor reformatting
1171
1172         * s-fileio.adb (Open): When file open operation fails, raise Name_Error
1173         only when the operating system reports a non-existing file or directory
1174         (ENOENT), otherwise raise Name_Error.
1175
1176         * exp_ch11.adb: Minor reformatting
1177
1178 2008-08-06  Ed Schonberg  <schonberg@adacore.com>
1179
1180         * sem_ch3.adb (Access_Subprogram_Declaration): If the return type is
1181         incomplete, add the access_to_subprogram type to the list of private
1182         dependents only if the incomplete type will be completed in the current
1183         scope.
1184         (Build_Discriminant_Constraints): If the type of the discriminant is
1185         access_to_variable, reject a constraint that is access_to_constant.
1186
1187 2008-08-06  Thomas Quinot  <quinot@adacore.com>
1188
1189         * g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb,
1190         g-sothco-dummy.ads, g-socthi-dummy.adb, g-socthi-dummy.ads,
1191         g-sttsne-dummy.ads: New files.
1192
1193         * gcc-interface/Makefile.in, Makefile.rtl: Use placeholder sources
1194         with pragma Unimplemented_Unit for sockets packages on Nucleus.
1195
1196 2008-08-06  Pascal Obry  <obry@adacore.com>
1197
1198         * adaint.c: Another fix for ACL support on Windows.
1199
1200 2008-08-06  Javier Miranda  <miranda@adacore.com>
1201
1202         * exp_disp (Expand_Interface_Actuals): Adds missing support for
1203         expansion of calls to subprograms using selected components.
1204
1205 2008-08-06  Ed Schonberg  <schonberg@adacore.com>
1206
1207         * sem_res.adb (Resolve_Call): Use base type to determine whether a
1208         dereference is needed because a subtype of an access_to_subprogram is
1209         simply an access-subtype
1210
1211 2008-08-06  Jerome Lambourg  <lambourg@adacore.com>
1212
1213         * g-comlin.adb (Set_Command_Line): Now that aliases can contain
1214         parameters, always specify the expected separator.
1215
1216 2008-08-06  Thomas Quinot  <quinot@adacore.com>
1217
1218         * xnmake.adb: Use new XUtil package for platform independent text
1219         output.
1220
1221 2008-08-06  Vincent Celier  <celier@adacore.com>
1222
1223         * gnat_ugn.texi: Document compiler switch -gnateG
1224
1225 2008-08-06  Quentin Ochem  <ochem@adacore.com>
1226
1227         * s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark
1228         in the case of an empty pattern size.
1229         (Compute_Result): Do not do any computation in the case of an empty
1230         pattern size.
1231         (Report_Result): Fixed computation of the overflow guard.
1232
1233 2008-08-06  Ed Schonberg  <schonberg@adacore.com>
1234
1235         * g-awk.adb (Finalize): Do not use directly objects of the type in the
1236         finalization routine to prevent elaboration order anomalies in new
1237         finalization scheme.
1238
1239 2008-08-06  Ed Schonberg  <schonberg@adacore.com>
1240
1241         * sem_ch3.adb (Find_Type_Name): protect against duplicate incomplete
1242         declaration for the same type.
1243
1244 2008-08-06  Thomas Quinot  <quinot@adacore.com>
1245
1246         * sem.adb: Minor rewording (comment)
1247
1248 2008-08-06  Jerome Lambourg  <lambourg@adacore.com>
1249
1250         * g-comlin.adb (Define_Switch, Get_Switches): New.
1251         (Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when
1252         ungrouping switches.
1253         (For_Each_Simple_Switch): Allow more control over parameters handling.
1254         This generic method now allows ungrouping of switches with parameters
1255         and switches with more than one letter after the prefix.
1256         (Set_Command_Line): Take care of switches that are prefixed with a
1257         switch handling parameters without delimiter (-gnatya and -gnaty3 for
1258         example).
1259         (Add_Switch, Remove_Switch): Handle parameters possibly present inside
1260         a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of
1261         the operation.
1262         (Start, Alias_Switches, Group_Switches): Take care of parameters
1263         possibly present inside a group.
1264
1265         * g-comlin.ads (Define_Switch): New method used to define a list of
1266         expected switches, that are necessary for correctly ungrouping switches
1267         with more that one character after the prefix.
1268         (Get_Switches): Method that builds a getopt string from the list of
1269         switches as set previously by Define_Switch.
1270         (Add_Switch, Remove_Switch): New versions of the methods, reporting the
1271         status of the operation. Also allow the removal of switches with
1272         parameters only.
1273         (Command_Line_Configuration_Record): Maintain a list of expected
1274         switches.
1275
1276 2008-08-06  Doug Rupp  <rupp@adacore.com>
1277
1278         * gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor if
1279         TARGET_MALLOC64 clear.
1280
1281         * gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit malloc
1282         if TARGET_MALLOC64 clear.
1283
1284         * gcc-interface/gigi.h (TARGET_ABI_OPEN_VMS): Move here from utils2.c
1285         (TARGET_MALLC64): New macro. Default to clear.
1286
1287 2008-08-06  Doug Rupp  <rupp@adacore.com>
1288
1289         * gcc-interface/utils2.c (snames.h) Include
1290         (TARGET_ABI_OPEN_VMS): Initialize.
1291         (build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap
1292         for Convention C.
1293
1294 2008-08-06  Ed Schonberg  <schonberg@adacore.com>
1295
1296         * sem_ch3.adb (Process_Discriminants): diagnose redundant or improper
1297         null exclusion in a discriminant declaration
1298
1299         * sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusion
1300         indicators when type is not an access type.
1301
1302         * sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusion
1303         indicators when type is not an access type.
1304
1305 2008-08-06  Javier Miranda  <miranda@adacore.com>
1306
1307         * exp_disp (Expand_Interface_Conversion): Freeze the entity associated
1308         with the target interface before expanding the code of the interface
1309         conversion.
1310
1311 2008-08-05  Ed Schonberg  <schonberg@adacore.com>
1312
1313         * freeze.adb:
1314         (Freeze_Entity): A deferred constant does not violate the restriction
1315         No_Default_Initialization,
1316
1317         * sem_ch3.adb (Process_Subtype): An allocator is a valid construct that
1318         can carry a null exclusion indicator, and on which an error may be
1319         posted if the indicator is redundant.
1320
1321         * sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion
1322         does not apply to a subtype mark that already excludes null.
1323
1324         * sem_ch12.adb (Formal_Object_Declaration): Verify that a null
1325         exclusion does not apply to a subtype mark that already excludes null.
1326
1327 2008-08-05  Thomas Quinot  <quinot@adacore.com>
1328
1329         * Makefile.rtl: Compile s-oscons.ads as part of the runtime library.
1330
1331 2008-08-05  Doug Rupp  <rupp@adacore.com>
1332
1333         * vms_data.ads: Translation for /POINTER_SIZE qualifier.
1334
1335 2008-08-05  Thomas Quinot  <quinot@adacore.com>
1336
1337         * gsocket.h: Make this file includable in a Nucleus environment, which
1338         does not support sockets.
1339
1340         * socket.c: Remove Nucleus-specific hack.
1341
1342 2008-08-05  Pascal Obry  <obry@adacore.com>
1343
1344         * adaint.c: Remove support for readable attribute on vxworks and nucleus
1345
1346 2008-08-05  Ed Schonberg  <schonberg@adacore.com>
1347
1348         * sem_attr.adb:
1349         (Analyze_Attribute, case 'Result): handle properly the case where some
1350         operand of the expression in a post-condition generates a transient
1351         block.
1352
1353         * sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to
1354         right-hand side when it is an anonymous access_to_subprogram, to force
1355         static accessibility check when needed.
1356
1357 2008-08-05  Sergey Rybin  <rybin@adacore.com>
1358
1359         * gnat_ugn.texi: Changing the description of the gnatcheck metrics
1360         rule according to the change in the rule option.
1361         Add documentation for -gnatw.b/-gnatw.B
1362
1363 2008-08-05  Robert Dewar  <dewar@adacore.com>
1364
1365         * ug_words: Add entries for -gnatw.b/-gnatw.B
1366
1367         * vms_data.ads: Add entries for -gnatw.b/-gnatw.B
1368
1369 2008-08-05  Vincent Celier  <celier@adacore.com>
1370
1371         * a-wtdeio.adb (Put (Current_Output)): Use Fore in the call to Put
1372         (File).
1373
1374         * a-ztdeio.adb: Ditto.
1375
1376 2008-08-05  Pascal Obry  <obry@adacore.com>
1377
1378         * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Add support for the
1379         readable attribute.
1380
1381 2008-08-05  Vincent Celier  <celier@adacore.com>
1382
1383         * s-wchwts.adb:
1384         (Wide_String_To_String): Returns a String with the same 'First as its
1385         parameter S.
1386         (Wide_Wide_String_To_String): Ditto
1387
1388         * s-wchwts.ads:
1389         (Wide_String_To_String): Document that the lowest index of the returned
1390         String is equal to S'First.
1391
1392 2008-08-05  Thomas Quinot  <quinot@adacore.com>
1393
1394         * xoscons.adb, xutil.ads, xutil.adb, s-oscons-tmplt.c: New files.
1395
1396         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Generate
1397         s-oscons.ads
1398
1399 2008-08-05  Robert Dewar  <dewar@adacore.com>
1400
1401         * opt.ads (Warn_On_Biased_Representation): New flag
1402
1403         * sem_ch13.adb:
1404         (Analyze_Attribute_Definition_Clause): Issue warning when biased
1405         representation is required.
1406         (Minimum_Size): Don't allow biasing if enum rep clause case
1407
1408         * sem_warn.adb:
1409         (Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches
1410         (Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws
1411
1412         * usage.adb: Add lines for -gnatw.b/B switches
1413
1414 2008-08-05  Pascal Obry  <obry@adacore.com>
1415
1416         * a-coinve.adb: Reorder the code to avoid uninitialized warning.
1417
1418         * adaint.c: In UNIX cases do not call __gnat_stat but stat directly.
1419
1420 2008-08-05  Thomas Quinot  <quinot@adacore.com>
1421
1422         * socket.c: Minor reformatting.
1423
1424 2008-08-05  Robert Dewar  <dewar@adacore.com>
1425
1426         * sem_ch3.adb: Minor reformatting
1427
1428         * prj-nmsc.adb: Minor reformatting
1429
1430 2008-08-05  Ed Schonberg  <schonberg@adacore.com>
1431
1432         * sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex
1433         visibility check on the component type if the simple test fails.
1434
1435 2008-08-05  Jose Ruiz  <ruiz@adacore.com>
1436
1437         * init.c (__gnat_install_handler for linux): If we are building the
1438         Xenomai run time then we need to do two additional things: avoid
1439         memory swapping and transform the Linux environment task into a native
1440         Xenomai task.
1441
1442         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run
1443         time): Use interface to Xenomai native skin and avoid linux-specific
1444         way of setting CPU affinity.
1445         (EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism.
1446
1447 2008-08-05  Bob Duff  <duff@adacore.com>
1448
1449         * checks.ads: Minor comment fix
1450
1451 2008-08-05  Thomas Quinot  <quinot@adacore.com>
1452
1453         * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb,
1454         g-sercom-linux.adb (Data_Bits): Change literals B7 and B8 to CS7 and
1455         CS8.
1456
1457 2008-08-05  Robert Dewar  <dewar@adacore.com>
1458
1459         * mlib.adb: Minor code reorganization
1460         Minor reformatting
1461
1462         * make.adb: Minor reformatting
1463
1464         * prj-attr.ads: Minor reformatting
1465
1466         * s-os_lib.adb: Minor reformatting
1467
1468         * s-fileio.adb: Minor code reorganization
1469         Minor reformatting
1470
1471         * prj.ads: Minor reformatting
1472
1473 2008-08-05  Bob Duff  <duff@adacore.com>
1474
1475         * sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in
1476         unresolved initial value of "null", because it causes implicitly
1477         generated "=" operators to be ambiguous, and because this type should
1478         not be passed to gigi.
1479
1480 2008-08-05  Vincent Celier  <celier@adacore.com>
1481
1482         * mlib.adb: Update comments.
1483
1484         * make.adb (Switches_Of): Check for Switches (others), before checking
1485         for Default_Switches ("Ada").
1486         (Gnatmake): Use Builder'Switches (others) in preference to
1487         Builder'Default_Switches ("Ada") if there are several mains.
1488
1489         * prj-attr-pm.adb:
1490         (Add_Attribute): Add component Others_Allowed in Attribute_Record
1491         aggregate.
1492
1493         * prj-attr.adb:
1494         Add markers to indicates that attributes Switches allow others as index
1495         (Others_Allowed_For): New Boolean function, returning True for
1496         attributes with the mark.
1497         (Initialize): Recognize optional letter 'O' as the marker for
1498         associative array attributes where others is allowed as the index.
1499
1500         * prj-attr.ads:
1501         (Others_Allowed_For): New Boolean function
1502         (Attribute_Record): New Boolean component Others_Allowed
1503
1504         * prj-dect.adb:
1505         (Parse_Attribute_Declaration): For associative array attribute where
1506         others is allowed as the index, allow others as an index.
1507
1508         * prj-nmsc.adb:
1509         (Process_Binder): Skip associative array attributes with index others
1510         (Process_Compiler): Ditto
1511
1512         * prj-util.adb:
1513         (Value_Of (Index, In_Array)): Make no attempt to put in lower case when
1514         index is All_Other_Names.
1515
1516         * prj.ads:
1517         (All_Other_Names): New constant
1518
1519         * prj-proc.adb:
1520         (Process_Declarative_Items): Skip associative array attribute when index
1521         is reserved word "others".
1522
1523 2008-08-05  Vasiliy Fofanov  <fofanov@adacore.com>
1524
1525         * gen-oscons.c: Adapt for VMS where termios.h is not available.
1526
1527 2008-08-05  Thomas Quinot  <quinot@adacore.com>
1528
1529         * a-rttiev.adb: Minor reformatting (comments)
1530
1531         * gen-soccon.c: Rename to gen-oscons.c
1532
1533         * gen-oscons.c: New file. Now generate System.OS_Constants instead of
1534         GNAT.Sockets.Constants.
1535         Add new constants for GNAT.Serial_Communications and System.File_IO.
1536
1537 2008-08-05  Javier Miranda  <miranda@adacore.com>
1538
1539         * sem_util.adb (Collect_Interfaces_Info): Minor reformating.
1540         * exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the
1541         implementation of this routine has been simplified.
1542
1543 2008-08-05  Pascal Obry  <obry@adacore.com>
1544
1545         * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Fix the
1546         Set_Read_Only Win32 implementation.
1547
1548 2008-08-05  Thomas Quinot  <quinot@adacore.com>
1549
1550         * exp_strm.adb: Minor reformatting (comments)
1551
1552         * sem_ch12.adb: Minor reformatting.
1553
1554 2008-08-05  Robert Dewar  <dewar@adacore.com>
1555
1556         * sem_ch3.adb: Minor reformatting
1557
1558         * checks.adb: Minor reformatting
1559
1560 2008-08-05  Thomas Quinot  <quinot@adacore.com>
1561
1562         * tbuild.ads (New_External_Name): Update spec to reflect relaxed
1563         restriction on Prefix.
1564
1565 2008-08-05  Jerome Lambourg  <lambourg@adacore.com>
1566
1567         * g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal
1568         methods needed to handle switch sections when building a command line.
1569         (Define_Section, Add_Switch, Remove_Switch, Is_New_Section,
1570         Current_Section): New public methods or methods modified to handle
1571         building command lines with sections.
1572         (Set_Command_Line): Take into account sections when analysing a switch
1573         string.
1574         (Start): Sort the switches by sections before iterating the command line
1575         elements.
1576
1577         * g-comlin.ads (Define_Section, Add_Switch, Remove_Switch,
1578         Is_New_Section, Current_Section): New methods or methods modified to
1579         handle building command lines with sections.
1580
1581 2008-08-05  Ed Schonberg  <schonberg@adacore.com>
1582
1583         * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access
1584         discriminants, indicate that the corresponding object declaration has
1585         no initialization, to prevent spurious warnings when the access type is
1586         null-excluding.
1587
1588 2008-08-05  Ed Schonberg  <schonberg@adacore.com>
1589
1590         * sem_res.adb (Resolve_Call): If this is a call to the predefined
1591         Abort_Task, warn if the call appears within a protected operation.
1592
1593 2008-08-04  Robert Dewar  <dewar@adacore.com>
1594
1595         * exp_ch4.adb (Expand_N_In): Suppress range warnings in instances
1596
1597 2008-08-04  Ed Schonberg  <schonberg@adacore.com>
1598
1599         * sem_ch3.adb:
1600         (Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an
1601         anonymous access to protected subprogram that is the return type of the
1602         specification of a subprogram body.
1603
1604         * sem_ch6.adb:
1605         (Analyze_Subprogram_Body): if the return type is an anonymous access to
1606         subprogram, freeze it now to prevent access anomalies in the back-end.
1607
1608         * exp_ch9.adb: Minor code cleanup.
1609         Make sure that new declarations are inserted into the tree before
1610         analysis (from code reading).
1611
1612 2008-08-04  Robert Dewar  <dewar@adacore.com>
1613
1614         * exp_ch5.adb:
1615         (Expand_Simple_Function_Return): Check No_Secondary_Stack restriction
1616         at point of return.
1617
1618 2008-08-04  Thomas Quinot  <quinot@adacore.com>
1619
1620         * sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting
1621
1622 2008-08-04  Vasiliy Fofanov  <fofanov@adacore.com>
1623
1624         * g-soccon-mingw.ads: Fix value for MSG_WAITALL
1625
1626 2008-08-04  Javier Miranda  <miranda@adacore.com>
1627
1628         * sem_prag.adb (Process_Convention): Add missing support for
1629          N_Private_Extension_Declaration nodes.
1630
1631 2008-08-04  Robert Dewar  <dewar@adacore.com>
1632
1633         * exp_ch4.adb: Minor reformatting
1634
1635 2008-08-04  Pascal Obry  <obry@adacore.com>
1636
1637         * adaint.h: Add missing prototype.
1638
1639         * adaint.c: Refine support for Windows file attributes.
1640
1641 2008-08-04  Robert Dewar  <dewar@adacore.com>
1642
1643         * sem_res.adb:
1644         (Valid_Conversion): Catch case of designated types having different
1645         sizes, even though they statically match.
1646
1647 2008-08-04  Javier Miranda  <miranda@adacore.com>
1648
1649         * sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patch
1650         added in previous patch to handle access to subprograms.
1651
1652 2008-08-04  Robert Dewar  <dewar@adacore.com>
1653
1654         * freeze.adb:
1655         (Freeze_Entity): Only check No_Default_Initialization restriction for
1656         constructs that come from source
1657
1658 2008-08-04  Thomas Quinot  <quinot@adacore.com>
1659
1660         * exp_ch6.adb: Minor comment fix.
1661
1662         * sem_ch4.adb: Minor reformatting.
1663
1664 2008-08-04  Robert Dewar  <dewar@adacore.com>
1665
1666         * sem_res.adb: (Large_Storage_Type): Improve previous change.
1667
1668 2008-08-04  Pascal Obry  <obry@adacore.com>
1669
1670         * adaint.c, s-os_lib.adb, s-os_lib.ads: Use Windows ACL to deal with
1671         file attributes.
1672
1673 2008-08-04  Javier Miranda  <miranda@adacore.com>
1674
1675         * sem_ch3.adb (Access_Subprogram_Declaration): Adding missing support
1676         for N_Formal_Object_Declaration nodes. Adding kludge required by
1677         First_Formal to provide its functionality with access to functions.
1678         (Replace_Anonymous_Access_To_Protected_Subprogram): Add missing support
1679         for anonymous access types returned by functions.
1680
1681         * sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicate
1682         conversion of null-excluding access types (required only once to force
1683         the generation of the required runtime check).
1684
1685         * sem_type.adb (Covers): minor reformating
1686
1687         * checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errors
1688         with internally generated nodes. Avoid generating the error inside init
1689         procs.
1690
1691         * sem_res.adb (Resolve_Membership_Test): Minor reformating.
1692         (Resolve_Null): Generate the null-excluding check in case of assignment
1693         to a null-excluding object.
1694         (Valid_Conversion): Add missing support for anonymous access to
1695         subprograms.
1696
1697         * sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support for
1698         anonymous access types whose designated type is an itype. This case
1699         occurs with anonymous access to protected subprograms types.
1700         (Analyze_Return_Type):  Add missing support for anonymous access to
1701         protected subprogram.
1702
1703         * sem_eval.adb (Subtypes_Statically_Match): In case of access to
1704         subprograms addition of missing check on matching convention. Required
1705         to properly handle access to protected subprogram types.
1706
1707         * exp_ch3 (Build_Assignment): Code cleanup removing duplicated check on
1708         null excluding access types.
1709
1710 2008-08-04  Ed Schonberg  <schonberg@adacore.com>
1711
1712         * sem_ch12.adb: Add comments
1713
1714         * sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null
1715         access type and the allocator is not initialized, warn rather than
1716         reporting an error.
1717
1718 2008-08-04  Robert Dewar  <dewar@adacore.com>
1719
1720         * exp_ch4.adb: Minor reformatting
1721
1722         * exp_dist.adb: Minor reformatting
1723
1724         * g-comlin.adb: Minor reformatting
1725
1726 2008-08-04  Gary Dismukes  <dismukes@adacore.com>
1727
1728         * exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the
1729         target to the type of the aggregate in the case where the target object
1730         is class-wide.
1731
1732         * exp_ch5.adb (Expand_Simple_Function_Return): When the function's
1733         result type is class-wide and inherently limited, and the expression
1734         has a specific type, create a return object of the specific type, for
1735         more efficient handling of returns of build-in-place aggregates (avoids
1736         conversions of the class-wide return object to the specific type on
1737         component assignments).
1738
1739         * sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error
1740         about a type mismatch for a class-wide function with a return object
1741         having a specific type when the object declaration doesn't come from
1742         source. Such an object can result from the expansion of a simple return.
1743
1744 2008-08-04  Vasiliy Fofanov  <fofanov@adacore.com>
1745
1746         * g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files.
1747
1748         * gcc-interface/Makefile.in: Use 64bit-specific system files when
1749         compiling for 64bit windows.
1750
1751 2008-08-04  Jerome Lambourg  <lambourg@adacore.com>
1752
1753         * g-comlin.adb (Group_Switches): Preserve the switch order when
1754         grouping and allow switch grouping of switches with more than one
1755         character extension (e.g. gnatw.x).
1756         (Args_From_Expanded): Remove this now obsolete method.
1757
1758 2008-08-04  Ed Schonberg  <schonberg@adacore.com>
1759
1760         * exp_ch4.adb (Get_Allocator_Final_List): Freeze anonymous type for
1761         chain at once, to ensure that type is properly decorated for back-end,
1762         when allocator appears within a loop.
1763
1764 2008-08-04  Kevin Pouget  <pouget@adacore.com>
1765
1766         * snames.h, snames.adb, snames.ads:
1767         Add Attr_To_Any, Attr_From_Any and Attr_TypeCode defines.
1768
1769         * exp_dist.ads, exp_dist.adb: Add Build_From_Any_Call,
1770         Build_To_Any_Call and Build_TypeCode_Call procedures.
1771
1772         * exp_attr.adb, sem_attr.adb: Add corresponding cases.
1773
1774         * rtsfind.ads: Add corresponding names.
1775
1776         * tbuild.adb: Update prefix restrictions to allow '_' character.
1777
1778 2008-08-04  Doug Rupp  <rupp@adacore.com>
1779
1780         * gigi.h (fill_vms_descriptor): Add third parameter gnat_actual
1781         * trans.c (call_to_gnu): Call fill_vms_descriptor with new parameter.
1782         * utils2.c (fill_vms_descriptor): Add third parameter for error sloc and
1783         use it.  Calculate pointer range overflow using 64bit types.
1784
1785 2008-08-04  Ed Schonberg  <schonberg@adacore.com>
1786
1787         * sem_ch3.adb (Access_Definition): A formal object declaration is a
1788         legal context for an anonymous access to subprogram.
1789
1790         * sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an
1791         indirect call, report success to the caller to include possible
1792         interpretation.
1793
1794         * sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance
1795         check when the type
1796         of the extended return is an anonymous access_to_subprogram type.
1797
1798         * sem_res.adb:
1799         (Resolve_Call): Insert a dereference if the type of the subprogram is an
1800         access_to_subprogram and the context requires its return type, and a
1801         dereference has not been introduced previously.
1802
1803 2008-08-04  Arnaud Charlet  <charlet@adacore.com>
1804
1805         * usage.adb (Usage): Minor rewording of -gnatwz switch, to improve
1806         gnatcheck support in GPS.
1807
1808 2008-08-04  Vincent Celier  <celier@adacore.com>
1809
1810         * mlib.adb (Create_Sym_Links): Create relative symbolic links when
1811         requested
1812
1813 2008-08-04  Vincent Celier  <celier@adacore.com>
1814
1815         * gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean
1816         variable, but don't check the resulting value as it has no impact on
1817         the processing.
1818
1819         * opt.ads:
1820         (Generate_Processed_File): New Boolean flag, set to True in the compiler
1821         when switch -gnateG is used.
1822
1823         * prep.adb:
1824         (Preprocess): new Boolean out parameter Source_Modified. Set it to True
1825         when the source is modified by the preprocessor and there is no
1826         preprocessing errors.
1827
1828         * prep.ads (Preprocess): new Boolean out parameter Source_Modified
1829
1830         * sinput-l.adb:
1831         (Load_File): Output the result of preprocessing if the source text was
1832         modified.
1833
1834         * switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG
1835
1836         * switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG
1837
1838         * ug_words: Add VMS equivalent for -gnateG
1839
1840         * vms_data.ads:
1841         Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG
1842
1843 2008-08-04  Doug Rupp  <rupp@adacore.com>
1844
1845         * gcc-interface/utils2.c:
1846         (fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointer
1847         in 32bit descriptor.
1848
1849 2008-08-04  Robert Dewar  <dewar@adacore.com>
1850
1851         * par-ch10.adb: Minor reformatting
1852
1853         * i-cobol.adb: Minor reformatting.
1854
1855 2008-08-04  Ed Schonberg  <schonberg@adacore.com>
1856
1857         * sem_ch3.adb (Access_Definition): Create an itype reference for an
1858         anonymous access return type of a regular function that is not a
1859         compilation unit.
1860
1861 2008-08-04  Vincent Celier  <celier@adacore.com>
1862
1863         * prj-attr.adb: New Builder attribute Global_Compilation_Switches
1864
1865         * snames.adb: New standard name Global_Compilation_Switches
1866
1867         * snames.ads: New standard name Global_Compilation_Switches
1868
1869         * make.adb: Correct spelling error in comment
1870
1871 2008-08-04  Arnaud Charlet  <charlet@adacore.com>
1872
1873         * sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLI
1874         target.
1875
1876 2008-08-04  Thomas Quinot  <quinot@adacore.com>
1877
1878         * sem_ch10.adb: Minor comment fix.
1879
1880 2008-08-04  Robert Dewar  <dewar@adacore.com>
1881
1882         * restrict.adb: Improved messages for restriction warnings
1883
1884         * restrict.ads: Improved messages for restriction messages
1885
1886         * s-rident.ads (Profile_Name): Add No_Profile
1887
1888 2008-08-04  Robert Dewar  <dewar@adacore.com>
1889
1890         * system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus
1891
1892 2008-08-04  Robert Dewar  <dewar@adacore.com>
1893
1894         * freeze.adb (Freeze_Entity): Check for size clause for boolean warning
1895
1896 2008-08-04  Vincent Celier  <celier@adacore.com>
1897
1898         * prj-proc.adb:
1899         (Copy_Package_Declarations): When inheriting package Naming from a
1900         project being extended, do not inherit source exception names.
1901
1902 2008-08-04  Ed Schonberg  <schonberg@adacore.com>
1903
1904         * sem_prag.adb (Check_Precondition_Postcondition): When scanning the
1905         list of declaration to find previous subprogram, do not go to the
1906         original node of a generic unit.
1907
1908 2008-08-02  Eric Botcazou  <ebotcazou@adacore.com>
1909
1910         * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR, MINUS_EXPR>:
1911         New case.  Convert BOOLEAN_TYPE operation to the default integer type.
1912
1913 2008-08-01  Eric Botcazou  <ebotcazou@adacore.com>
1914
1915         * gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE.
1916         * gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify
1917         and adjust for above renaming.
1918         * gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new
1919         gnu_expr_alt_type parameter.  Convert the expression to it instead
1920         of changing its type in place.
1921         (build_function_stub): Adjust call to above function.
1922
1923 2008-08-01  Eric Botcazou  <ebotcazou@adacore.com>
1924
1925         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead
1926         code.  Do not get full definition of deferred constants with address
1927         clause for a use.  Do not ignore deferred constant definitions with
1928         address clause.  Ignore constant definitions already marked with the
1929         error node.
1930         <object>: Remove obsolete comment.  For a deferred constant with
1931         address clause, get the initializer from the full view.
1932         * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>:
1933         Rework and remove obsolete comment.
1934         <N_Object_Declaration>: For a deferred constant with address clause,
1935         mark the full view with the error node.
1936         * gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix
1937         formatting nits.
1938
1939 2008-08-01  Hristian Kirtchev  <kirtchev@adacore.com>
1940
1941         * rtsfind.ads: Add block IO versions of stream routines for Strings.
1942
1943         * bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads,
1944         sem_prag.adb, snames.adb, snames.ads, snames.h,
1945         par-prag.adb: Undo previous stream related changes.
1946
1947         * s-rident.ads: Add new restriction No_Stream_Optimizations.
1948
1949         * s-ststop.ads, s-ststop.adb: Comment reformatting.
1950         Define enumeration type to designate different IO mechanisms.
1951         Enchance generic package Stream_Ops_Internal to include an
1952         implementation of Input and Output.
1953
1954         * exp_attr.adb (Find_Stream_Subprogram): If restriction
1955         No_Stream_Optimization is active, choose the default byte IO
1956         implementations of stream attributes for Strings.
1957         Otherwise use the corresponding block IO version.
1958
1959 2008-08-01  Olivier Hainque  <hainque@adacore.com>
1960
1961         * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: Do not
1962         turn Ada Pure into GCC const, now implicitely implying nothrow as well.
1963
1964 2008-08-01  Robert Dewar  <dewar@adacore.com>
1965
1966         * par-ch3.adb (P_Defining_Identifier): Avoid repeated attempt to
1967         convert plain identifier into defining identifier.
1968
1969 2008-08-01  Robert Dewar  <dewar@adacore.com>
1970
1971         * sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improve
1972         warnings
1973
1974         * lib-xref.adb: Add error defense.
1975
1976 2008-08-01  Bob Duff  <duff@adacore.com>
1977
1978         * ioexcept.ads, sequenio.ads, directio.ads: Correct comment.
1979
1980 2008-08-01  Gary Dismukes  <dismukes@adacore.com>
1981
1982         * exp_ch6.adb (Expand_Call): Adjustment to previous fix for passing
1983         correct accessibility levels. In the "when others" case, retrieve the
1984         access level of the Etype of Prev rather than Prev_Orig, because the
1985         original exression has not always been analyzed.
1986
1987 2008-08-01  Robert Dewar  <dewar@adacore.com>
1988
1989         * prj-nmsc.adb: Minor reformatting
1990
1991         * sem_ch4.adb: Minor reformatting
1992         Minor code reorganization
1993
1994         * prj.ads: Minor reformatting
1995
1996         * s-os_lib.adb: Minor reformatting
1997
1998         * par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upper
1999         half encodings
2000
2001         * scans.ads: Minor reformatting.
2002
2003         * sem_prag.adb (Analyze_Pragma): Put entries in alpha order
2004         (Analyze_Pragma): Make sure all GNAT pragmas call GNAT_Pragma
2005
2006         * sem_res.adb:
2007         (Resolve_Call): Check violation of No_Specific_Termination_Handlers
2008
2009         * sem_ch12.adb: Minor comment reformatting
2010
2011         * par-ch3.adb (P_Type_Declaration): Properly handle missing type
2012         keyword
2013
2014 2008-08-01  Robert Dewar  <dewar@adacore.com>
2015
2016         * sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if not
2017         generating code
2018
2019 2008-08-01  Ed Schonberg  <schonberg@adacore.com>
2020
2021         * checks.adb (Apply_Float_Conversion_Check): If the expression to be
2022         converted is a real literal and the target type has static bounds,
2023         perform the conversion exactly to prevent floating-point anomalies on
2024         some targets.
2025
2026 2008-08-01  Vincent Celier  <celier@adacore.com>
2027
2028         * prj-attr.adb: New attribute Compiler'Name_Syntax (<lang>)
2029
2030         * prj-nmsc.adb (Process_Compiler): Recognize attribute Name_Syntax
2031
2032         * prj.adb (Object_Exist_For): Use Object_Generated, not
2033         Objects_Generated that is removed and was never modified anyway.
2034
2035         * prj.ads:
2036         (Path_Syntax_Kind): New enumeration type
2037         (Language_Config): New component Path_Syntax, defaulted to Host.
2038         Components PIC_Option and Objects_Generated removed, as they are not
2039         used.
2040
2041         * snames.adb: New standard name Path_Syntax
2042
2043         * snames.ads: New standard name Path_Syntax
2044
2045 2008-08-01  Vincent Celier  <celier@adacore.com>
2046
2047         * mlib-utl.adb:
2048         (Adalib_Path): New variable to store the path of the adalib directory
2049         when procedure Specify_Adalib_Dir is called.
2050         (Lib_Directory): If Adalib_Path is not null, return its value
2051         (Specify_Adalib_Dir): New procedure
2052
2053         * mlib-utl.ads (Specify_Adalib_Dir): New procedure
2054
2055 2008-08-01  Ed Schonberg  <schonberg@adacore.com>
2056
2057         * sem_prag.adb:
2058         (Check_Precondition_Postcondition): If not generating code, analyze the
2059         expression in a postcondition that appears in a subprogram body, so that
2060         it is properly decorated for ASIS use.
2061
2062 2008-08-01  Gary Dismukes  <dismukes@adacore.com>
2063
2064         * exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets
2065         Orig_Prev to Prev in the case where the actual is N_Function_Call or
2066         N_Identifier. This was interfering with other cases that are rewritten
2067         as N_Identifier, such as allocators, resulting in passing of the wrong
2068         accessibility level, and based on testing this code is apparently no
2069         longer needed at all.
2070
2071 2008-08-01  Ed Schonberg  <schonberg@adacore.com>
2072
2073         * sem_ch4.adb (Analyze_One_Call): Handle complex overloading of a
2074         procedure call whose prefix
2075         is a parameterless function call that returns an access_to_procedure.
2076
2077 2008-08-01  Jose Ruiz  <ruiz@adacore.com>
2078
2079         * adaint.c (__gnat_tmp_name): Refine the generation of temporary names
2080         for RTX. Adding a suffix that is incremented at each iteration.
2081
2082 2008-08-01  Robert Dewar  <dewar@adacore.com>
2083
2084         * sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of
2085         Raise_Exception
2086
2087 2008-08-01  Jerome Lambourg  <lambourg@adacore.com>
2088
2089         * s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in
2090         paths, which are authorized by Windows but can lead to errors when used
2091         elsewhere.
2092
2093 2008-08-01  Ed Schonberg  <schonberg@adacore.com>
2094
2095         * sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create
2096         a pending instantiation for the body of a subprogram that is to be
2097         inlined.
2098
2099         * sem_ch12.adb:
2100         (Analyze_Subprogram_Instantiation): use Need_Subprogram_Instance_Body.
2101
2102         * sem_prag.adb (Make_Inline): If the pragma applies to an instance,
2103         create a pending instance for its body, so that calls to the subprogram
2104         can be inlined by the back-end.
2105
2106 2008-08-01  Jose Ruiz  <ruiz@adacore.com>
2107
2108         * gnat_ugn.texi: Document the RTX run times (rts-rtx-rtss and
2109         rts-rtx-w32).
2110
2111 2008-08-01  Robert Dewar  <dewar@adacore.com>
2112
2113         * scng.adb (Error_Illegal_Wide_Character): Bump scan pointer
2114
2115 2008-08-01  Doug Rupp  <rupp@adacore.com>
2116
2117         * gnat_rm.texi: Document new mechanism Short_Descriptor.
2118
2119         * types.ads (Mechanism_Type): Modify range for new Short_Descriptor
2120         mechanism values.
2121
2122         * sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
2123         mechanism and Short_Descriptor mechanism values.
2124
2125         * snames.adb (preset_names): Add short_descriptor entry.
2126
2127         * snames.ads: Add Name_Short_Descriptor.
2128
2129         * types.h: Add new By_Short_Descriptor mechanism values.
2130
2131         * sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
2132         mechanism and Short_Descriptor mechanism values.
2133
2134         * sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism
2135         values.
2136         (Descriptor_Codes): Modify range for new mechanism values.
2137
2138         * treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor
2139         mechanism values.
2140
2141         * gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor.
2142         (gnat_to_gnu_param): Handle By_Short_Descriptor.
2143
2144         * gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype.
2145         (build_vms_descriptor32): New prototype.
2146         (fill_vms_descriptor): Remove unneeded gnat_actual parameter.
2147
2148         * gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual
2149         argument in call fill_vms_descriptor.
2150
2151         * gcc-interface/utils.c (build_vms_descriptor32): Renamed from
2152         build_vms_descriptor and enhanced to hande Short_Descriptor mechanism.
2153         (build_vms_descriptor): Renamed from build_vms_descriptor64.
2154         (convert_vms_descriptor32): New function.
2155         (convert_vms_descriptor64): New function.
2156         (convert_vms_descriptor): Rewrite to handle both 32bit and 64bit
2157         descriptors.
2158
2159         * gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes,
2160         no longer needed.
2161
2162 2008-08-01  Jose Ruiz  <ruiz@adacore.com>
2163
2164         * adaint.c (__gnat_tmp_name): RTSS applications do not support tempnam
2165         nor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporary
2166         name.
2167
2168 2008-08-01  Jose Ruiz  <ruiz@adacore.com>
2169
2170         * cstreams.c (__gnat_full_name): RTSS applications cannot ask for the
2171         current directory so only fully qualified names are allowed.
2172
2173 2008-08-01  Robert Dewar  <dewar@adacore.com>
2174
2175         * gnat_ugn.texi:
2176         Minor editing, remove uncomfortable use of semicolon
2177
2178         * s-ststop.adb: Add some ??? comments
2179
2180         * sem_ch10.adb: Minor reformatting
2181
2182         * snames.ads:
2183         Minor comment fixes, some pragmas were not properly
2184         categorized in the comments, documentation change only
2185
2186         * xref_lib.adb: Minor reformatting
2187
2188         * sinput.adb: Minor reformatting
2189
2190         * gnatchop.adb: Minor reformatting
2191
2192         * sem_util.ads: Minor reformatting.
2193
2194         * opt.ads: Minor documentation fix
2195
2196         * scng.adb: Minor reformatting
2197
2198         * prj-part.adb: Update comments
2199
2200 2008-08-01  Ed Schonberg  <schonberg@adacore.com>
2201
2202         * exp_disp.adb (Expand_Interface_Conversion): If the target type is a
2203         tagged synchronized type, use corresponding record type.
2204
2205 2008-08-01  Doug Rupp  <rupp@adacore.com>
2206
2207         * mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output a
2208         dummy transfer address for debugging.
2209
2210         * mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise.
2211
2212         * vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING
2213
2214 2008-07-31  Eric Botcazou  <ebotcazou@adacore.com>
2215
2216         * gcc-interface/decl.c (gnat_to_gnu_entity): Fix formatting.
2217         * gcc-interface/utils.c (create_field_decl): Avoid superfluous work.
2218
2219 2008-07-31  Pascal Obry  <obry@adacore.com>
2220
2221         * prj-nmsc.adb: Keep Object and Exec directory casing.
2222
2223 2008-07-31  Jose Ruiz  <ruiz@adacore.com>
2224
2225         * system-rtx-rtss.ads
2226         Change the default stack size. It is important to set the commit part.
2227
2228         * s-taprop-rtx.adb
2229         (Initialize): Get the clock resolution.
2230         (RT_Resolution): Return the clock resolution that is indicated by the
2231         system.
2232
2233         * s-parame-vxworks.adb
2234         Document that this body is used for RTX in RTSS (kernel) mode.
2235
2236         * gcc-interface/Makefile.in
2237         (LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the
2238         s-parame-vxworks.adb body in order to have reasonable stack sizes in
2239         RTX RTSS kernel mode. Virtual memory is not used in that case, so we
2240         cannot ask for too big values.
2241
2242 2008-07-31  Robert Dewar  <dewar@adacore.com>
2243
2244         * exp_aggr.adb: Minor reformatting
2245
2246         * makeutl.adb: Minor reformatting
2247
2248         * prj-env.adb: Minor reformatting
2249
2250 2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
2251
2252         * exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private
2253         tagged type is completed by a concurrent type.
2254
2255 2008-07-31  Gary Dismukes  <dismukes@adacore.com>
2256
2257         * sem_aggr.adb:
2258         (Resolve_Record_Aggregate): Bypass error that a type without
2259         components must have a "null record" aggregate when compiling for Ada
2260         2005, since it's legal to give an aggregate of form (others => <>)
2261         for such a type.
2262
2263 2008-07-31  Javier Miranda  <miranda@adacore.com>
2264
2265         * sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to
2266         handle synchronized types. Required to handle well the object.operation
2267         notation applied to synchronized types.
2268
2269 2008-07-31  Quentin Ochem  <ochem@adacore.com>
2270
2271         * s-stausa.adb (Fill_Stack): Stack_Used_When_Filling is now stored
2272         anymore - just used internally.
2273         Added handling of very small tasks - when the theoretical size is
2274         already full at the point of the call.
2275         (Report_Result): Fixed result computation, Stack_Used_When_Filling does
2276         not need to be added to the result.
2277
2278 2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
2279
2280         * sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the
2281         corresponding spec is a primitive wrapper. Update comment.
2282
2283 2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
2284
2285         * bindgen.adb Comment reformatting. Update the list of run-time globals.
2286         (Gen_Adainit_Ada): Add the declaration, import and value set for
2287         configuration flag Canonical_Streams.
2288         (Gen_Adainit_C): Add the declaration and initial value of external
2289         symbol __gl_canonical_streams.
2290
2291         * init.c: Update the list of global values computed by the binder.
2292
2293         * opt.ads: Add flag Canonical_Streams.
2294
2295         * par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of
2296         semantically handled pragmas.
2297
2298         * sem_prag.adb: Add an entry into enumeration type Sig_Flags.
2299         (Analyze_Pragma): Add case for pragma Canonical_Streams.
2300
2301         * snames.adb: Add character value for name Canonical_Streams.
2302
2303         * snames.ads:
2304         Add Name_Canonical_Streams to the list of configuration pragmas.
2305         Add Pragma_Canonical_Streams to enumeration type Pragma_Id.
2306
2307         * snames.h: Add a definition for Pragma_Canonical_Streams.
2308
2309         * s-ststop.adb:
2310         Add a flag and import to seize the value of external symbol
2311         __gl_canonical_streams. Update comment and initial value of constant
2312         Use_Block_IO.
2313
2314         * gnat_rm.texi: Add section of pragma Canonical_Streams.
2315
2316         * gnat_ugn.texi:
2317         Add pragma Canonical_Streams to the list of configuration pragmas.
2318
2319 2008-07-31  Ed Schonberg  <schonberg@adacore.com>
2320
2321         * sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause
2322         has the form A.B.C and B is a unit renaming, analyze its compilation
2323         unit and add a with_clause on A.b to the context.
2324
2325 2008-07-31  Vincent Celier  <celier@adacore.com>
2326
2327         * makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails,
2328         return the empty string, instead of raising Constraint_Error.
2329
2330 2008-07-31  Gary Dismukes  <dismukes@adacore.com>
2331
2332         * checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.
2333
2334         * checks.adb (Apply_Accessibility_Check): Insert the check on
2335         Insert_Node.
2336
2337         * exp_attr.adb:
2338         (Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node
2339         to new parameter Insert_Node on call to Apply_Accessibility_Check.
2340         Necessary to distinguish the insertion node because the dereferenced
2341         formal may come from a rename, but the check must be inserted in
2342         front of the attribute.
2343
2344         * exp_ch4.adb:
2345         (Expand_N_Allocator): Pass actual for new Insert_Node parameter on
2346         call to Apply_Accessibility_Check.
2347         (Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter
2348         on call to Apply_Accessibility_Check.
2349         Minor reformatting
2350
2351 2008-07-31  Javier Miranda  <miranda@adacore.com>
2352
2353         * sem_type.adb (Has_Compatible_Type): Complete support for synchronized
2354         types when the candidate type is a synchronized type.
2355
2356         * sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized
2357         types, and complete management of synchronized types adding missing
2358         code to handle formal that is a synchronized type.
2359
2360         * sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that
2361         are not available and cause the compiler to blowup. Found compiling
2362         test with switch -gnatc
2363
2364         * sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram
2365         Has_Correct_Formal_Mode plus code cleanup.
2366
2367 2008-07-31  Bob Duff  <duff@adacore.com>
2368
2369         * sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was
2370         recognized as two end-of-lines, but it should be just one.
2371
2372 2008-07-31  Thomas Quinot  <quinot@adacore.com>
2373
2374         * exp_ch9.adb: Minor reformatting
2375
2376         * tbuild.ads: Fix several occurrences of incorrectly referring to
2377         Name_Find as Find_Name.
2378
2379 2008-07-31  Ed Schonberg  <schonberg@adacore.com>
2380
2381         * exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component
2382         and the context is an object declaration with non-static bounds, treat
2383         the aggregate as non-static.
2384
2385 2008-07-31  Vincent Celier  <celier@adacore.com>
2386
2387         * prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb:
2388         Move back spec of Parse_Single_Project to body, as it is not called
2389         outside of package Prj.Part.
2390         (Project_Data): Remove components Linker_Name, Linker_Path and
2391         Minimum_Linker_Options as they are no longer set.
2392         Remove function There_Are_Ada_Sources from package Prj and move code
2393         in the only place it was used, in Prj.Env.Set_Ada_Paths.
2394
2395 2008-07-31  Arnaud Charlet  <charlet@adacore.com>
2396
2397         * mlib-utl.ads: Fix typo.
2398
2399 2008-07-31  Robert Dewar  <dewar@adacore.com>
2400
2401         * sem_ch12.adb: Minor reformatting
2402
2403 2008-07-31  Sergey Rybin  <rybin@adacore.com>
2404
2405         * gnat_ugn.texi: Change the description of the
2406         Overly_Nested_Control_Structures: now the rule always requires a
2407         positive parameter for '+R' option
2408
2409 2008-07-31  Thomas Quinot  <quinot@adacore.com>
2410
2411         * g-pehage.adb: Minor reformatting
2412
2413 2008-07-31  Pascal Obry  <obry@adacore.com>
2414
2415         * s-finimp.ads: Minor reformatting.
2416
2417 2008-07-31  Vincent Celier  <celier@adacore.com>
2418
2419         * s-regexp.ads: Minor comment fix
2420
2421 2008-07-31  Arnaud Charlet  <charlet@adacore.com>
2422
2423         * s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off),
2424         so that we can compile this file successfully with -gnatc.
2425
2426 2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
2427
2428         * exp_attr.adb (Find_Stream_Subprogram): Check the base type instead
2429         of the type when looking for stream subprograms for type String,
2430         Wide_String and Wide_Wide_String.
2431
2432         * s-ststop.adb: Change the initialization expression of constant
2433         Use_Block_IO.
2434
2435 2008-07-31  Geert Bosch  <bosch@adacore.com>
2436
2437         * arit64.c:
2438         New file implementing __gnat_mulv64 signed integer multiplication with
2439         overflow checking
2440
2441         * fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi
2442
2443         * gcc-interface/gigi.h:
2444         (standard_types): Add ADT_mulv64_decl
2445         (mulv64_decl): Define subprogram declaration for __gnat_mulv64
2446
2447         * gcc-interface/utils.c:
2448         (init_gigi_decls): Add initialization of mulv64_decl
2449
2450         * gcc-interface/trans.c:
2451         (build_unary_op_trapv): New function
2452         (build_binary_op_trapv): New function
2453         (gnat_to_gnu): Use the above functions instead of
2454         build_{unary,binary}_op
2455
2456         * gcc-interface/Makefile.in
2457         (LIBGNAT_SRCS): Add arit64.c
2458         (LIBGNAT_OBJS): Add arit64.o
2459
2460 2008-07-31  Vincent Celier  <celier@adacore.com>
2461
2462         * prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or
2463         Linker'Default_Switches are declared. Warn if they are declared.
2464
2465 2008-07-31  Ed Schonberg  <schonberg@adacore.com>
2466
2467         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
2468         Insert_Actions to place the pointer declaration in the code, rather
2469         than Insert_Before_And_Analyze, so that insertions of temporaries are
2470         kept in the proper order when transient scopes are present.
2471
2472
2473 2008-07-31  Robert Dewar  <dewar@adacore.com>
2474
2475         * einfo.adb (Spec_PPC): Now defined for generic subprograms
2476
2477         * einfo.ads (Spec_PPC): Now defined for generic subprograms
2478
2479         * sem_prag.adb (Check_Precondition_Postcondition): Handle generic
2480         subprogram case
2481
2482 2008-07-31  Vincent Celier  <celier@adacore.com>
2483
2484         * s-os_lib.adb: Minor comment fix
2485
2486 2008-07-31  Ed Schonberg  <schonberg@adacore.com>
2487
2488         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis,
2489         transfer pre/postconditions from generic copy to original tree, so that
2490         they will appear in each instance.
2491         (Process_PPCs): Do not transform postconditions into a procedure in a
2492         generic context, to prevent double expansion of check pragmas.
2493
2494         * sem_attr.adb: In an instance, the prefix of the 'result attribute
2495         can be the renaming of the
2496         current instance, so check validity of the name accordingly.
2497
2498 2008-07-31  Robert Dewar  <dewar@adacore.com>
2499
2500         * mlib-utl.ads: Minor reformatting
2501
2502 2008-07-31  Ed Schonberg  <schonberg@adacore.com>
2503
2504         sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved
2505         from context. This attribute must be usable in Ada95 mode.
2506         The attribute can appear in the body of a function marked
2507         Inline_Always, but in this case the postocondition is not enforced.
2508
2509         sem_prag.adb (Check_Precondition_Postcondition): within the expansion
2510         of an inlined call pre- and postconditions are legal
2511
2512 2008-07-31  Vincent Celier  <celier@adacore.com>
2513
2514         * prj.adb, prj.ads, clean.adb, prj-nmsc.adb: Remove declarations that
2515         were for gprmake only
2516
2517 2008-07-31  Robert Dewar  <dewar@adacore.com>
2518
2519         * gnat_ugn.texi: Update -gnatN documentation.
2520
2521         * gnat_rm.texi: Add note about pre/postcondition
2522         pragmas not checked in conjunction with front-end inlining.
2523
2524 2008-07-31  Robert Dewar  <dewar@adacore.com>
2525
2526         * g-pehage.adb, g-pehage.ads: Minor reformatting
2527
2528 2008-07-31  Arnaud Charlet  <charlet@adacore.com>
2529
2530         * mlib-utl.ads, prj-makr.ads: Add comments.
2531
2532 2008-07-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
2533
2534         * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS)
2535         [WINDOWS]: Add s-winext.o.
2536
2537 2008-07-30  Eric Botcazou  <ebotcazou@adacore.com>
2538
2539         PR ada/36554
2540         * back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi.
2541         * gcc-interface/gigi.h (gigi): Take new standard_boolean parameter.
2542         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
2543         Set precision to 1 for subtype of BOOLEAN_TYPE.
2544         (set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE.
2545         (make_type_from_size): Deal with BOOLEAN_TYPE.
2546         * gcc-interface/misc.c (gnat_print_type): Likewise.
2547         * gcc-interface/trans.c (gigi): Take new standard_boolean parameter.
2548         Set boolean_type_node as its translation in the table, as well
2549         as boolean_false_node for False and boolean_true_node for True.
2550         * gcc-interface/utils.c (gnat_init_decl_processing): Create custom
2551         8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM.
2552         (create_param_decl): Deal with BOOLEAN_TYPE.
2553         (build_vms_descriptor): Likewise.
2554         (build_vms_descriptor64): Likewise.
2555         (convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE.
2556
2557 2008-07-30  Robert Dewar  <dewar@adacore.com>
2558
2559         * exp_ch9.adb: Minor reformatting
2560
2561         * exp_util.ads (Find_Prim_Op): Document that Program_Error is raised
2562         if no primitive operation is found.
2563
2564         * exp_util.adb: (Find_Prim_Op): Add comments for previous change
2565
2566         * sem_ch8.adb: Minor reformatting
2567
2568 2008-07-30  Laurent Pautet  <pautet@adacore.com>
2569
2570         * g-pehage.adb:
2571         Remove a limitation on the length of the words handled by the minimal
2572         perfect hash function generator.
2573
2574         * g-pehage.ads:
2575         Detail the use of subprograms Insert, Initialize, Compute and Finalize.
2576         Fix some typos.
2577
2578 2008-07-30  Robert Dewar  <dewar@adacore.com>
2579
2580         * gnatlink.adb: Minor reformatting
2581
2582 2008-07-30  Thomas Quinot  <quinot@adacore.com>
2583
2584         * rtsfind.adb (Check_RPC): Check version consistency even when not
2585         generating RCI stubs. Provide more detailed error message in case of
2586         mismatch.
2587
2588 2008-07-30  Ed Schonberg  <schonberg@adacore.com>
2589
2590         * sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute
2591         as a actual in an instance, check for a missing attribute to prevent
2592         program_error on an illegal program.
2593
2594         * exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program
2595         error if primitive is not found, so that exception can be handled
2596         elsewhere on illegal programs.
2597
2598 2008-07-30  Robert Dewar  <dewar@adacore.com>
2599
2600         * uintp.adb (UI_GCD): Fix potential overflow
2601
2602 2008-07-30  Hristian Kirtchev  <kirtchev@adacore.com>
2603
2604         * einfo.adb: Flag245 is now used.
2605         (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion
2606         check to include functions.
2607         (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
2608         (Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to
2609         include functions.
2610         (Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive
2611         to the list of displayed flags.
2612
2613         * einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and
2614         Wrapped_Entity. These two flags are now present in functions.
2615         New flag Is_Private_Primitive.
2616         (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
2617
2618         * exp_ch9.adb:
2619         (Build_Wrapper_Bodies): New subprogram.
2620         (Build_Wrapper_Body): The spec and body have been moved to in
2621         Build_Wrapper_ Bodies. Code cleanup.
2622         (Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup.
2623         Wrappers are now generated for primitives declared between the private
2624         and full view of a concurrent type that implements an interface.
2625         (Build_Wrapper_Specs): New subprogram.
2626         (Expand_N_Protected_Body): Code reformatting. Replace the wrapper body
2627         creation mechanism with a call to Build_Wrapper_Bodies.
2628         (Expand_N_Protected_Type_Declaration): Code reformatting. Replace the
2629         wrapper spec creation mechanism with a call to Build_Wrapper_Specs.
2630         (Expand_N_Task_Body): Replace the wrapper body creation
2631         mechanism with a call to Build_Wrapper_Bodies.
2632         (Expand_N_Task_Type_Declaration): Replace the wrapper spec
2633         creation mechanism with a call to Build_Wrapper_Specs.
2634         (Is_Private_Primitive_Subprogram): New subprogram.
2635         (Overriding_Possible): Code cleanup.
2636         (Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup.
2637
2638         * exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9.
2639
2640         * sem_ch3.adb: Add with and use clause for Exp_Ch9.
2641         (Process_Full_View): Build wrapper specs for all primitives
2642         that belong to a private view completed by a concurrent type
2643         implementing an interface.
2644
2645         * sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram
2646         is a primitive of a
2647         concurrent type with a private view that implements an interface, try to
2648         find the proper spec.
2649         (Analyze_Subprogram_Declaration): Mark a subprogram as a private
2650         primitive if the type of its first parameter is a non-generic tagged
2651         private type.
2652         (Analyze_Subprogram_Specification): Code reformatting.
2653         (Disambiguate_Spec): New routine.
2654         (Find_Corresponding_Spec): Add a flag to controll the output of errors.
2655         (Is_Private_Concurrent_Primitive): New routine.
2656
2657         * sem_ch6.ads:
2658         (Find_Corresponding_Spec): Add a formal to control the output of errors.
2659
2660 2008-07-30  Doug Rupp  <rupp@adacore.com>
2661
2662         * gigi.h (build_vms_descriptor64): New function prototype.
2663         (fill_vms_descriptor): Modified function prototype.
2664
2665         * utils.c (build_vms_descriptor64): New function.
2666
2667         * utils2.c (fill_vms_descriptor): Fix handling on 32bit systems.
2668
2669         * trans.c (call_to_gnu): Call fill_vms_descriptor with new third
2670         argument.
2671
2672         * decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a
2673         64bit and 32bit descriptor and save the 64bit version as an alternate
2674         TREE_TYPE in the parameter.
2675         (make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the
2676         thin pointer.
2677
2678         * ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros.
2679
2680 2008-07-30  Robert Dewar  <dewar@adacore.com>
2681
2682         * make.adb: Minor reformatting
2683
2684         * mlib-utl.adb: Minor reformatting
2685
2686         * osint.ads: Minor reformatting
2687
2688 2008-07-30  Jose Ruiz  <ruiz@adacore.com>
2689
2690         * adaint.c
2691         (__gnat_file_exists): Do not use __gnat_stat for RTX.
2692         (__main for RTX in RTSS mode): Create this dummy procedure symbol to
2693         avoid the use of this symbol from libgcc.a in RTX kernel mode.
2694
2695         * cio.c
2696         (put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call
2697         the function RtPrintf for console output.
2698
2699         * argv.c Do not use the environ variable for RTX.
2700
2701         * gnatlink.adb (gnatlink): The part that handles the --RTS option has
2702         been moved before the call to Osint.Add_Default_Search_Dirs in order
2703         to take into account the flags in system.ads (RTX_RTSS_Kernel_Module)
2704         from the appropriate run time.
2705
2706         * targparm.ads
2707         (RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if
2708         target is a RTSS module for RTX.
2709
2710         * targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for
2711         RTX_RTSS_Kernel_Module
2712         (Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag.
2713
2714         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc
2715         exception handling mechanism for Windows and RTX in Win32 mode, but
2716         not for RTX in kernel mode (RTSS).
2717         (LIBGNAT_SRCS): Remove ada.h
2718
2719 2008-07-30  Paolo Bonzini  <bonzini@gnu.org>
2720
2721         * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and
2722         T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS.
2723         (ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS.
2724         * gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS,
2725         X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS,
2726         ALL_ADA_CFLAGS): Remove.
2727         (ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS,
2728         replace ALL_ADA_CFLAGS with ADA_CFLAGS.
2729         (GCC_CFLAGS): Remove X_CFLAGS.
2730         (LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS.
2731         (ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS.
2732         (ADA_CFLAGS): Substitute.
2733
2734 2008-07-30  Laurent Guerby  <laurent@guerby.net>
2735
2736         PR ada/5911
2737         * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables.
2738         Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts.
2739         Replace stamp-gnatlib* by stamp-gnatlib*-rts.
2740         * gcc-interface/Make-lang.in: Replace stamp-gnatlib2
2741         by stamp-gnatlib2-rts.
2742
2743 2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2744
2745         PR documentation/15479
2746         * gnat-style.texi: Remove AdaCore copyright statement and GPL
2747         statement for GNAT.  Add @copying stanza, use it.  Update to
2748         GFDL 1.2.  Do not list GFDL as Invariant Section, do not list
2749         title as Front-Cover Text.
2750         * gnat_rm.texi: Likewise.
2751         * gnat_ugn.texi: Likewise.
2752
2753 2008-07-29  Jan Hubicka  <jh@suse.cz>
2754
2755         * trans.c (process_inlined_subprograms): Remove tree_really_inline
2756         check.
2757
2758 2008-07-29  Arnaud Charlet  <charlet@adacore.com>
2759
2760         * gcc-interface: New directory.
2761
2762         * ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h,
2763         utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c,
2764         config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved
2765         to gcc-interface subdirectory.
2766
2767 2008-07-29  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
2768
2769         * Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
2770
2771 2008-07-28  Jan Hubicka  <jh@suse.cz>
2772
2773         * misc.c (gnat_post_options): Do not set flag_no_inline.
2774
2775 2008-07-28  Richard Guenther  <rguenther@suse.de>
2776
2777         Merge from gimple-tuples-branch.
2778
2779         2008-07-22  Olivier Hainque  <hainque@adacore.com>
2780
2781         * gigi.h (end_subprog_body): New ELAB_P argument, saying if
2782         this is called for an elab proc to be discarded if empty.
2783         * utils.c (end_subprog_body): Honor ELAB_P.
2784         (build_function_stub): Adjust call to end_subprog_body.
2785         * trans.c (Subprogram_Body_to_gnu): Likewise.
2786         (gigi): Reorganize processing of elab procs to prevent
2787         gimplifying twice, using the new end_subprog_body argument.
2788
2789         2008-07-19  Richard Guenther  <rguenther@suse.de>
2790
2791         * Make-lang.in (trans.o): Add tree-iterator.h dependency.
2792         (utils.o): Likewise.
2793         * trans.c: Include tree-iterator.h.
2794         (gnat_gimplify_expr): Adjust prototype.  Fix typo.
2795         (gnat_gimplify_stmt): Use SET_EXPR_LOCATION.
2796         (set_expr_location_from_node): Likewise.
2797         (gigi): Tuplify.
2798         * ada-tree.h (union lang_tree_node): Use TREE_CHAIN instead
2799         of GENERIC_NEXT.
2800         * utils.c: Include tree-iterator.h.
2801         * gigi.h (gnat_gimplify_expr): Adjust prototype.
2802
2803         2008-07-18  Aldy Hernandez  <aldyh@redhat.com>
2804
2805         * trans.c: Include gimple.h instead of tree-gimple.h.
2806         * utils.c: Same.
2807
2808         2008-07-14  Aldy Hernandez  <aldyh@redhat.com>
2809
2810         * trans.c (gnat_gimplify_expr): Use gimplify_assign.
2811
2812 2008-07-25  Jan Hubicka  <jh@suse.cz>
2813
2814         * utils.c (end_subprog_body): Remove inline trees check.
2815         * misc.c (gnat_post_options): Do not set flag_inline_trees.
2816
2817 2008-07-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2818
2819         * raise-gcc.c: Move tsystem.h before tm.h.
2820
2821 2008-07-20  Arnaud Charlet  <charlet@adacore.com>
2822
2823         * gnathtml.pl: New file.
2824
2825 2008-07-19  Olivier Hainque  <hainque@adacore.com>
2826
2827         * targtyps.c (get_target_default_allocator_alignment): Use
2828         MALLOC_ABI_ALIGNMENT.
2829
2830 2008-07-17  Olivier Hainque  <hainque@adacore.com>
2831
2832         * adaint.c (__MINGW32__ section): Include ctype.h and define
2833         a fallback ISALPHA if IN_RTS.
2834         (__gnat_is_absolute_path): Use ISALPHA instead of isalpha.
2835
2836 2008-07-17  Olivier Hainque  <hainque@adacore.com>
2837
2838         * utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG
2839         argument, to apply to references in addition to definitions.  Prevent
2840         setting TREE_STATIC on externals.
2841         (gnat_pushdecl): Always clear DECL_CONTEXT on public externals.
2842
2843 2008-07-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2844
2845         PR documentation/15479
2846         * gnat_ugn.texi (@ovar): New macro, from autoconf.texi.
2847         Replace backets around optional parameters with @ovar
2848         where possible, use @r{[}, @r{]} otherwise.
2849         Replace some @r, @i, and @emph with @var where appropriate.
2850
2851 2008-07-02  Eric Botcazou  <ebotcazou@adacore.com>
2852
2853         * decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up.
2854
2855 2008-06-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2856
2857         * ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix
2858         -Wc++-compat warnings.
2859         * adaint.c (__gnat_locate_regular_file, __gnat_locate_exec,
2860         __gnat_locate_exec_on_path): Likewise.
2861         * decl.c (annotate_value): Likewise.
2862         * misc.c (gnat_handle_option): Likewise.
2863         * trans.c (gnat_to_gnu, extract_encoding, decode_name,
2864         post_error_ne_tree): Likewise.
2865
2866 2008-06-27  Eric Botcazou  <ebotcazou@adacore.com>
2867
2868         * utils.c (convert) <CONSTRUCTOR>: When converting it to a packable
2869         version of its type, attempt to first convert its elements.
2870
2871 2008-06-26  Chris Proctor  <chrisp_42@bigpond.com>
2872
2873         * Makefile.in: Fix *86 kfreebsd target specific pairs.
2874
2875 2008-06-25  Samuel Tardieu  <sam@rfc1149.net>
2876
2877         * Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well.
2878
2879 2008-06-24  Eric Botcazou  <ebotcazou@adacore.com>
2880
2881         * utils2.c (known_alignment): Derive the alignment from pointed-to
2882         types only if it is otherwise unknown.
2883         <INTEGER_CST>: Tidy.
2884         <MULT_EXPR>: Likewise.
2885         <POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use
2886         that of the base.
2887
2888 2008-06-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2889
2890         PR ada/36573
2891         * s-osinte-hpux-dce.ads (SA_ONSTACK): Define.
2892
2893 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2894
2895         * gnat_rm.texi (Implementation Defined Characteristics)
2896         (Standard Library Routines): Use @smallexample for indented
2897         text.  Drop Indentation outside examples.
2898         * gnat_ugn.texi: Likewise.
2899
2900 2008-06-13  Olivier Hainque  <hainque@adacore.com>
2901
2902         * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
2903         if undefined.
2904         (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack
2905         realignment with force_align_arg_pointer attribute on foreign
2906         convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
2907
2908 2008-06-13  Olivier Hainque  <hainque@adacore.com>
2909
2910         * utils.c (rest_of_record_type_compilation): When computing
2911         encodings for the components of a variable size type, early
2912         strip conversions on the current position expression to make
2913         sure it's shape is visible.  Use remove_conversions for this
2914         purpose.
2915
2916 2008-06-12  Eric Botcazou  <ebotcazou@adacore.com>
2917
2918         * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a
2919         constrained subtype of a discriminated type, discard the fields that
2920         are beyond its limits according to its size.
2921
2922 2008-06-10  Olivier Hainque  <hainque@adacore.com>
2923
2924         * utils.c (create_subprog_decl): If this is for the 'main' entry
2925         point according to the asm name, redirect main_identifier_node.
2926
2927 2008-06-09  Eric Botcazou  <ebotcazou@adacore.com>
2928
2929         * decl.c (components_to_record): Adjust the packedness for the
2930         qualified union as well.
2931
2932 2008-06-09  Arnaud Charlet  <charlet@adacore.com>
2933
2934         * Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle
2935         checks non fatal.
2936
2937 2008-06-07  Samuel Tardieu  <sam@rfc1149.net>
2938
2939         * sem_res.adb (Large_Storage_Type): A type is large if it
2940         requires as many bits as Positive to store its values and its
2941         bounds are known at compile time.
2942         * sem_ch13.adb (Minimum_Size): Note that this function returns
2943         0 if the size is not known at compile time.
2944
2945 2008-06-06  Nicolas Setton  <setton@adacore.com>
2946             Olivier Hainque  <hainque@adacore.com>
2947
2948         * ada-tree.h (DECL_PARALLEL_TYPE): New language specific
2949         attribute, parallel descriptive type attached to another
2950         type for debug info generation purposes.
2951         * utils.c (add_parallel_type): New function, register
2952         parallel type to be attached to a type.
2953         (get_parallel_type): New function, fetch a registered
2954         parallel type, if any.
2955         (rest_of_record_type_compilation): Register the parallel
2956         type we make for variable size records.
2957         * gigi.h (add_parallel_type, get_parallel_type): Declare.
2958         * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the
2959         parallel debug types we make.
2960         * trans.c (extract_encoding, decode_name): New functions.
2961         (gigi): If the DWARF attribute extensions are available, setup
2962         to use them.
2963         * lang.opt: Register language specific processing request
2964         for -gdwarf+.
2965         * misc.c (gnat_dwarf_extensions): New global variable. How much
2966         do we want of our DWARF extensions. 0 by default.
2967         (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions.
2968         (gnat_post_options): Map gnat_dwarf_extensions to the
2969         commonuse_gnu_debug_info_extensions for later processing.
2970
2971 2008-06-04  Samuel Tardieu  <sam@rfc1149.net>
2972
2973         * einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP.
2974
2975 2008-06-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2976
2977         * Makefile.in (common_tools): Fix typos in $(exeext) extension.
2978         * gnat_ugn.texi (Style Checking)
2979         (Adding the Results of Compiler Checks to gnatcheck Output)
2980         (Example of Binder Output File): Fix typos.
2981         * ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb,
2982         exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads,
2983         s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb,
2984         s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
2985         sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads,
2986         sinfo.ads, utils.c: Fix typos in comments.
2987         * sem_ch6.adb, vms_data.ads: Fix typos in strings.
2988
2989 2008-05-29  Thomas Quinot  <quinot@adacore.com>
2990
2991         * sem_eval.adb: Minor reformatting
2992
2993 2008-05-29  Ed Schonberg  <schonberg@adacore.com>
2994
2995         * sem_ch6.adb (Analyze_Subprogram_Specification): if the return type
2996         is abstract, do not apply abstractness check on subprogram if this is
2997         a renaming declaration.
2998
2999 2008-05-29  Arnaud Charlet  <charlet@adacore.com>
3000
3001         PR ada/864
3002         * osint.ads, osint.adb (Program_Name): New parameter "Prog" to
3003         allow recognition of program suffix in addition to prefix.
3004
3005         * gnatchop.adb (Locate_Executable): Add support for prefix.
3006
3007         * make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb,
3008         mlib-utl.adb: Adjust calls to Program_Name.
3009
3010 2008-05-29  Robert Dewar  <dewar@adacore.com>
3011
3012         * sem_ch3.adb: Minor reformatting
3013         * sem_prag.adb: Minor reformatting
3014         * sem_res.adb: Minor reformatting
3015         * sinput-p.ads: Minor reformatting
3016
3017 2008-05-29  Javier Miranda  <miranda@adacore.com>
3018
3019         * sem_util.adb:
3020         (Abstract_Interface_List): Add missing support for full type-declaration
3021         associated with synchronized types.
3022
3023 2008-05-29  Robert Dewar  <dewar@adacore.com>
3024
3025         * sem_eval.adb (Is_Same_Value): Take care of several more cases
3026
3027 2008-05-28  Ed Schonberg  <schonberg@adacore.com>
3028
3029         * sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous
3030         access type, wrap the expression in a conversion to force an
3031         accessibility check.
3032
3033         * sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force
3034         accessibility checks even when expansion is disabled in order to
3035         generate messages in the presence of previous errors or in
3036         semantics-only mode.
3037
3038 2008-05-28  Eric Botcazou  <ebotcazou@adacore.com>
3039
3040         * system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False.
3041         * system-lynxos-x86.ads (Always_Compatible_Rep): Set to False.
3042
3043 2008-05-28  Vincent Celier  <celier@adacore.com>
3044
3045         PR ada/34446
3046         * gnat_ugn.texi: Document restriction introduced on 2007-04-20 in
3047         preprocessing expressions
3048
3049 2008-05-28  Vincent Celier  <celier@adacore.com>
3050
3051         * sinput-p.adb (Source_File_Is_Subunit): Allow special character used
3052         for preprocessing
3053
3054         * sinput-p.ads: Minor comment update and reformatting
3055
3056 2008-05-28  Ed Schonberg  <schonberg@adacore.com>
3057
3058         * sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram
3059         type has a deeper level than any master only when it is the type of an
3060         access parameter.
3061
3062 2008-05-28  Javier Miranda  <miranda@adacore.com>
3063
3064         * sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation.
3065
3066 2008-05-28  Javier Miranda  <miranda@adacore.com>
3067
3068         * sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed.
3069         * sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed.
3070         * sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal.
3071         Add code that was previously located in
3072         Find_Overridden_Synchronized_Primitive because it is only used here.
3073
3074 2008-05-28  Sergey Rybin  <rybin@adacore.com>
3075
3076         * sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set
3077         Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION.
3078
3079 2008-05-28  Robert Dewar  <dewar@adacore.com>
3080
3081         * restrict.ads:
3082         Add missing restrictions, and properly label all GNAT defined ones
3083
3084         * rtsfind.ads:
3085         Add entry for Ada_Real_Time.Timing_Events.Timing_Event
3086         Add entry for Ada.Task_Termination.Set_Specific_Handler
3087         Add entry for Ada.Task_Termination.Specific_Handler
3088
3089         * s-rident.ads:
3090         Add missing restrictions and properly mark all gnat defined ones
3091
3092         * sem_ch3.adb:
3093         (Analyze_Object_Declaration): Check No_Local_Timing_Events restriction
3094
3095         * sem_res.adb:
3096         (Resolve_Call): Check violation of No_Specific_Termination_Handlers
3097
3098         * gnat_rm.texi: Add missing restrictions, and properly label all
3099         GNAT defined ones
3100
3101 2008-05-28  Robert Dewar  <dewar@adacore.com>
3102
3103         * restrict.adb:
3104         (Check_Restriction): violation of restriction No_Finalization is
3105         treated as a serious error to stop expansion
3106
3107 2008-05-28  Robert Dewar  <dewar@adacore.com>
3108
3109         * exp_util.adb: Minor reformatting
3110         * exp_util.ads: Minor reformatting.
3111
3112 2008-05-28  Arnaud Charlet  <charlet@adacore.com>
3113
3114         * Make-lang.in: Remove gprmake.
3115
3116         * gprmake.adb, makegpr.ads, makegpr.adb: Removed.
3117
3118 2008-05-28  Ed Schonberg  <schonberg@adacore.com>
3119
3120         * sem_ch3.adb (Diagnose_Interface): Cleanup error messages involving
3121         improper progenitor names, and avoid cascaded errors.
3122
3123 2008-05-28  Robert Dewar  <dewar@adacore.com>
3124
3125         * gnat_rm.texi: Add note on Old giving warning when applied to constant
3126
3127         * sem_attr.adb (Analyze_Attribute, case Old): Give warning if prefix is
3128         a constant
3129
3130 2008-05-28  Robert Dewar  <dewar@adacore.com>
3131
3132         * exp_fixd.adb (Build_Multiply): Correct one-off error in computing
3133         size
3134
3135 2008-05-28  Robert Dewar  <dewar@adacore.com>
3136
3137         * exp_ch5.adb:
3138         (Expand_Simple_Function_Return): Copy unaligned result into temporary
3139
3140 2008-05-28  Javier Miranda  <miranda@adacore.com>
3141
3142         * sem_ch3.adb (Derive_Progenitor_Primitives): Add missing support
3143         for user-defined predefined primitives.
3144
3145         * sem_util.adb (Matches_Prefixed_View_Profile): Ditto.
3146         (Find_Overridden_Synchronized_Primitive): Ditto.
3147
3148         * sem_ch6.adb (Check_Synchronized_Overriding): Ditto.
3149
3150 2008-05-27  Arnaud Charlet  <charlet@adacore.com>
3151
3152         * a-ststio.adb, s-direio.adb:
3153         Further code clean up of previous change.
3154         Update comments.
3155
3156 2008-05-27  Vincent Celier  <celier@adacore.com>
3157
3158         * prj-nmsc.adb: Minor reformatting
3159
3160 2008-05-27  Bob Duff  <duff@adacore.com>
3161
3162         * sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an
3163         untagged private type with a tagged full type, where the full type has
3164         a self reference, create the corresponding class-wide type early, in
3165         case the self reference is "access T'Class".
3166
3167 2008-05-27  Ed Schonberg  <schonberg@adacore.com>
3168
3169         * exp_aggr.adb (Build_Array_Aggr_Code): If component type includes
3170         tasks and context is an object declaration. create master entity before
3171         expansion.
3172
3173 2008-05-27  Robert Dewar  <dewar@adacore.com>
3174
3175         * mlib-prj.adb: Minor reformatting
3176
3177         * prj-part.adb: Minor reformatting
3178
3179         * prj.ads: Minor reformatting
3180
3181         * exp_ch3.adb: Minor reformatting.
3182
3183         * sem_ch3.ads: Minor reformatting
3184
3185         * sem_eval.adb: Minor reformatting
3186
3187 2008-05-27  Vincent Celier  <celier@adacore.com>
3188
3189         * gnatcmd.adb:
3190         <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack
3191
3192 2008-05-27  Ed Schonberg  <schonberg@adacore.com>
3193
3194         * exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains
3195         tasks, create an activation chain now, before the expansion into
3196         assignments and build-in-place calls that require the presence of an
3197         activation chain.
3198         (Backend_Processing_Possible): If the component type is inherently
3199         limited, the aggregate must be expanded into individual built-in-place
3200         assignments.
3201
3202         * sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to
3203         determine whether an allocation extra parameter must be built, to
3204         handle case of a private type whose full type is a discriminated type
3205         with defaults.
3206
3207 2008-05-27  Bob Duff  <duff@adacore.com>
3208
3209         * gnat_rm.texi:
3210         Document the new behavior regarding trampolines.
3211
3212 2008-05-27  Arnaud Charlet  <charlet@adacore.com>
3213
3214         * a-direio.adb, a-sequio.adb: Replace address clause by
3215         unrestricted_access, simpler and compatible with .NET.
3216
3217 2008-05-27  Vincent Celier  <celier@adacore.com>
3218
3219         * prj-part.adb:
3220         (Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find
3221         a project file, so that symbolic links are not resolved.
3222
3223 2008-05-27  Arnaud Charlet  <charlet@adacore.com>
3224
3225         * a-ztexio.adb, a-textio.adb, a-witeio.adb, s-direio.adb:
3226         Replace heavy address clause by 'Unrestricted_Access, cleaner and more
3227         portable across GNAT targets, since this kind of address clause is not
3228         supported by VM back-ends (.NET/JGNAT).
3229
3230 2008-05-27  Arnaud Charlet  <charlet@adacore.com>
3231
3232         * bindgen.adb: Update comments.
3233
3234         * s-tasinf-mingw.adb: Add "with" of System.OS_Interface
3235
3236 2008-05-27  Vincent Celier  <celier@adacore.com>
3237
3238         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb,
3239         prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb,
3240         mlib-tgt.adb, prj-env.adb, prj-env.ads:
3241         (Path_Information): New record type
3242         Use component of type Path_Information when there are two paths, one in
3243         canonical format and one in display format.
3244         Update the project manager to these new components.
3245
3246 2008-05-27  Robert Dewar  <dewar@adacore.com>
3247
3248         * makeutl.adb: Minor reformatting
3249         * prj-nmsc.adb: Minor reformatting
3250         * s-stausa.adb: Minor reformatting
3251         * s-stausa.ads: Minor reformatting
3252         * sem_ch6.adb: Minor reformatting
3253
3254 2008-05-27  Thomas Quinot  <quinot@adacore.com>
3255
3256         * sem_res.adb: Minor comment fixes
3257
3258 2008-05-27  Thomas Quinot  <quinot@adacore.com>
3259
3260         * makeutl.adb: Minor code reorganization
3261
3262         * exp_aggr.adb: Add ??? comment
3263         Fix typo
3264
3265         * exp_ch6.adb: Minor reformatting
3266
3267 2008-05-27  Quentin Ochem  <ochem@adacore.com>
3268
3269         * s-stausa.adb (Initialize): Updated result initialization, and
3270         initialization of environment stack.
3271         (Fill_Stack): Improved computation of the pattern zone, taking into
3272         account already filled at the calling point.
3273         (Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of
3274         Measure and Overflow_Guard.
3275         (Report_Result): Fixed computation of the result using new fields of
3276         Stack_Analyzer.
3277
3278         * s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard
3279         params by more explicit Stack_Size / Max_Pattern_Size params.
3280         (Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields.
3281         Added Stack_Used_When_Filling field.
3282         (Task_Result): Replaced Measure / Overflow_Guard by more explicit
3283         Min_Measure and Max_Measure fields.
3284
3285         * s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer.
3286
3287 2008-05-27  Vincent Celier  <celier@adacore.com>
3288
3289         * prj-nmsc.adb:
3290         (Check_File): Make sure that a unit that replaces the same unit in a
3291          project being extended is properly processed.
3292
3293 2008-05-27  Ed Schonberg  <schonberg@adacore.com>
3294
3295         * sem_ch3.adb:
3296         (Get_Discr_Value): Remove obsolete code that failed to find the value
3297         of a discriminant for an inherited task component appearing in a type
3298         extension.
3299
3300 2008-05-27  Thomas Quinot  <quinot@adacore.com>
3301
3302         (System.File_IO.{Close, Delete, Reset}):
3303         Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr".
3304
3305         (Ada.*_IO.{Close, Delete, Reset, Set_Mode}):
3306         Pass File parameter by reference.
3307
3308 2008-05-27  Vincent Celier  <celier@adacore.com>
3309
3310         * prj-nmsc.adb:
3311         (Process_Sources_In_Multi_Language_Mode): Check that there are not two
3312         sources of the same project that have the same object file name.
3313         (Find_Explicit_Sources): Always remove a source exception that was not
3314         found.
3315
3316 2008-05-27  Thomas Quinot  <quinot@adacore.com>
3317
3318         * sem_ch3.adb: Minor reformatting
3319
3320 2008-05-27  Ed Schonberg  <schonberg@adacore.com>
3321
3322         * sem_ch6.adb:
3323         (Is_Interface_Conformant): Handle properly a primitive operation that
3324         overrides an interface function with a controlling access result.
3325         (Type_Conformance): If Skip_Controlling_Formals is true, when matching
3326         inherited and overriding operations, omit as well the conformance check
3327         on result types, to prevent spurious errors.
3328
3329 2008-05-27  Vincent Celier  <celier@adacore.com>
3330
3331         * makeutl.ads, makeutl.adb:
3332         (Set_Location): New procedure
3333         (Get_Location): New function
3334         (Update_Main): New procedure
3335
3336 2008-05-27  Vincent Celier  <celier@adacore.com>
3337
3338         * prj-nmsc.adb:
3339         (Check_Library): Allow standard project to be extended as a static
3340         library project.
3341         (Get_Mains): Do not inherit attribute Main in an extending library
3342         project.
3343
3344 2008-05-27  Eric Botcazou  <ebotcazou@adacore.com>
3345
3346         * system-darwin-ppc.ads (Always_Compatible_Rep): Set to False.
3347         * system-darwin-x86.ads (Always_Compatible_Rep): Likewise.
3348         * system-freebsd-x86.ads (Always_Compatible_Rep): Likewise.
3349         * system-linux-ppc.ads (Always_Compatible_Rep): Likewise.
3350         * system-linux-x86_64.ads (Always_Compatible_Rep): Likewise.
3351         * system-linux-x86.ads (Always_Compatible_Rep): Likewise.
3352         * system-mingw.ads (Always_Compatible_Rep): Likewise.
3353         * system-solaris-sparc.ads (Always_Compatible_Rep): Likewise.
3354         * system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise.
3355         * system-solaris-x86.ads (Always_Compatible_Rep): Likewise.
3356
3357 2008-05-27  Ed Schonberg  <schonberg@adacore.com>
3358
3359         * sem_attr.adb: add guard to previous patch.
3360
3361 2008-05-27  Ed Schonberg  <schonberg@adacore.com>
3362
3363         * exp_disp.adb (Build_Dispatch_Tables): For a private type completed by
3364         a synchronized tagged type, do not attempt to build dispatch table for
3365         full view. The table is built for the corresponding record type, which
3366         has its own declaration.
3367
3368 2008-05-27  Gary Dismukes  <dismukes@adacore.com>
3369
3370         * sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype
3371         to the known type entity E, rather than setting it to Any_Type. Fixes
3372         possible blowup in function Base_Init_Proc, as called from Freeze_Entity
3373         for objects whose type had an illegal constraint.
3374
3375 2008-05-27  Vincent Celier  <celier@adacore.com>
3376
3377         * gnat_ugn.texi:
3378         Add succinct documentation for attribute Excluded_Source_List_File
3379
3380 2008-05-27  Vincent Celier  <celier@adacore.com>
3381
3382         * prj-attr.adb: Add new project level attribute Map_File_Option
3383
3384         * prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option
3385
3386         * prj.ads: Minor reformatting and comment update
3387         (Project_Configuration): New component Map_File_Option
3388
3389         * snames.adb: New standard name Map_File_Option
3390
3391         * snames.ads: New standard name Map_File_Option
3392
3393 2008-05-27  Vincent Celier  <celier@adacore.com>
3394
3395         * xsnames.adb: Remove unused variable Oname
3396
3397 2008-05-27  Doug Rupp  <rupp@adacore.com>
3398
3399         * exp_ch6.adb:
3400         (Expand_N_Function_Call): Fix comments. Minor reformatting.
3401
3402         * exp_vfpt.ads:
3403         (Expand_Vax_Foreign_Return): Fix comments.
3404
3405 2008-05-27  Thomas Quinot  <quinot@adacore.com>
3406
3407         * exp_dist.adb: Minor reformating
3408
3409 2008-05-26  Gary Dismukes  <dismukes@adacore.com>
3410
3411         * exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for
3412         No_Default_Initialization, which is now delayed until the freeze point
3413         of the object. Add a comment about deferral of the check.
3414
3415         * freeze.adb (Freeze_Entity): The check for No_Default_Initialization
3416         on objects is moved here.
3417
3418 2008-05-26  Eric Botcazou  <ebotcazou@adacore.com>
3419
3420         * s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
3421         (Compare_Array_S16): Adjust for above change.
3422         * s-casi32.adb (Uword): Likewise.
3423         (Compare_Array_S32): Likewise.
3424         * s-casi64.adb (Uword): Likewise.
3425         (Compare_Array_S64): Likewise.
3426         * s-caun16.adb (Uhalf): Likewise.
3427         (Compare_Array_U16): Likewise.
3428         * s-caun32.adb (Uword): Likewise.
3429         (Compare_Array_U32): Likewise.
3430         * s-caun64.adb (Uword): Likewise.
3431         (Compare_Array_U64): Likewise.
3432
3433 2008-05-26  Robert Dewar  <dewar@adacore.com>
3434
3435         * exp_ch6.adb: Add ??? comment for previous change
3436
3437         * exp_vfpt.adb: Minor reformatting
3438
3439         * exp_vfpt.ads: Add ??? comment for last change
3440
3441         * sem_attr.adb: Add some ??? comments for previous change
3442
3443         * s-vaflop.ads: Add comments for previous change
3444
3445 2008-05-26  Doug Rupp  <rupp@adacore.com>
3446
3447         * s-vaflop-vms-alpha.adb:
3448         Remove System.IO use clause, to prevent spurious ambiguities when
3449         package is access through rtsfind.
3450
3451 2008-05-26  Sergey Rybin  <rybin@adacore.com>
3452
3453         * tree_io.ads (ASIS_Version_Number): Update because of the changes
3454         made in front-end
3455
3456 2008-05-26  Ed Schonberg  <schonberg@adacore.com>
3457
3458         * sem_attr.adb:
3459         (Resolve_Attribute, case 'address):  S (A .. B)' address can be safely
3460         converted to S (A)'address only if A .. B is known to be a non-null
3461         range.
3462
3463 2008-05-26  Doug Rupp  <rupp@adacore.com>
3464
3465         * s-vaflop.adb:
3466         (Return_D, Return_F, Return_G): New functions.
3467
3468         * s-vaflop.ads:
3469         (Return_D, Return_F, Return_G): New functions.
3470
3471         * exp_vfpt.adb:
3472         (Expand_Vax_Foreign_Return): New procedure
3473
3474         * exp_vfpt.ads:
3475         (Expand_Vax_Foreign_Return): New procedure
3476
3477         * rtsfind.ads:
3478         (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids
3479         (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements
3480
3481         * exp_ch6.adb:
3482         Import Exp_Vfpt
3483         (Expand_N_Function_Call): Call Expand_Vax_Foreign_Return.
3484
3485         * s-vaflop-vms-alpha.adb:
3486         (Return_D, Return_F, Return_G): New functions.
3487
3488 2008-05-26  Gary Dismukes  <dismukes@adacore.com>
3489
3490         * exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy
3491         init proc entity when there