OSDN Git Service

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