OSDN Git Service

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