12008-12-09  Jakub Jelinek  <jakub@redhat.com>
2
3	PR ada/38450
4	* gcc-interface/utils.c (finish_record_type): Use SET_TYPE_MODE.
5	* gcc-interface/decl.c (gnat_to_gnu_entity, make_aligning_type):
6	Likewise.
7
82008-12-05  Sebastian Pop  <sebastian.pop@amd.com>
9
10	PR bootstrap/38262
11	* gcc-interface/Make-lang.in (gnat1): Add BACKENDLIBS, remove GMPLIBS.
12
132008-11-29  Eric Botcazou  <ebotcazou@adacore.com>
14
15	PR ada/30827
16	* g-comver.adb (Ver_Len_Max): Fix inconsistency.
17
182008-11-27  Eric Botcazou  <ebotcazou@adacore.com>
19
20	* gcc-interface/decl.c: Fix various nits.
21
222008-11-20  Eric Botcazou  <ebotcazou@adacore.com>
23
24	* gcc-interface/utils.c (init_gigi_decls): Fix type mismatch.
25
262008-11-16  Eric Botcazou  <ebotcazou@adacore.com>
27
28	PR ada/38127
29	* gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
30	special-case boolean types.  Propagate  the name.
31	* gcc-interface/targtyps.c: Tweak comment.
32
332008-11-15  Geert Bosch  <bosch@adacore.com>
34
35	* gcc-interface/trans.c (emit_check): Put back a final save_expr
36	to prevent exponential expansion during gimplification.
37
382008-11-15  Eric Botcazou  <ebotcazou@adacore.com>
39
40	* gcc-interface/lang-specs.h: Expand -coverage and reorder switches.
41
422008-11-15  Eric Botcazou  <ebotcazou@adacore.com>
43
44	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force constants
45	initialized to a static constant to be statically allocated even if
46	they are of a padding type, provided the original type also has
47	constant size.
48
492008-11-15  Laurent Guerby  <laurent@guerby.net>
50
51	PR ada/37993
52	* gcc-interface/Makefile.in: Add multilib handling for x86_64
53	on darwin.
54	* system-darwin-x86_64.ads: New file.
55
562008-11-13  Olivier Hainque  <hainque@adacore.com>
57
58	* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>:
59	Turn Ada Pure on subprograms back into GCC CONST when eh constructs
60	are explicit to the middle-end.  Tidy.
61
622008-11-09  Eric Botcazou  <ebotcazou@adacore.com>
63
64	* gcc-interface/ada-tree.def (PLUS_NOMOD_EXPR): New tree code.
65	(MINUS_NOMOD_EXPR): Likewise.
66	* gcc-interface/utils2.c (build_binary_op) <PREINCREMENT_EXPR>: Make
67	unreachable.
68	<PLUS_NOMOD_EXPR>: New case.
69	<MINUS_NOMOD_EXPR>: Likewise.
70	* gcc-interface/trans.c (Loop_Statement_to_gnu): Build increment-and-
71	assignment statement instead of using an increment operator.
72
732008-11-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
74
75	* system-irix-n64.ads: New file.
76	* gcc-interface/Makefile.in (mips-sgi-irix6*): Support O32 and N64
77	multilibs.
78
792008-11-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
80
81	PR ada/37681
82	* system-solaris-x86_64.ads: New file.
83	* gcc-interface/Makefile.in (*86-solaris2*): Support x86_64 multilib.
84
852008-11-07  Bechir Zalila  <bechir.zalila@gmail.com>
86	    Eric Botcazou  <ebotcazou@adacore.com>
87
88	PR ada/34289
89	* lib.ads: (Enable_Switch_Storing): Declare.
90	* lib.adb: (Enable_Switch_Storing): New procedure.
91	* switch-c.adb (Scan_Front_End_Switches): Add support for -gnatea.
92	* make.adb: (Compile_Sources.Compile): Add -gnatea as first option.
93	(Display): Never display -gnatea
94	* gcc-interface/lang-specs.h: If -gnatea is present, pass -gnatez.
95
962008-11-07  Thomas Quinot  <quinot@adacore.com>
97
98	* gcc-interface/trans.c (Attribute_to_gnu, case Attr_Length): Check
99	for empty range in original base type, not converted result type.
100
1012008-11-07  Geert Bosch  <bosch@adacore.com>
102
103	* gcc-interface/trans.c (build_binary_op_trapv): Convert arguments
104	and result for call to __gnat_mulv64.
105
1062008-11-07  Eric Botcazou  <ebotcazou@adacore.com>
107
108	* gcc-interface/trans.c: Fix formatting nits.
109
1102008-11-07  Geert Bosch  <bosch@adacore.com>
111
112	* gcc-interface/trans.c (build_binary_op_trapv): Avoid emitting
113	overflow check for constant result.
114
1152008-11-07  Geert Bosch  <bosch@adacore.com>
116
117	* gcc-interface/trans.c (build_binary_op_trapv): Use more efficient
118	overflow check for addition/subtraction if neither operand is constant.
119
1202008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
121
122	* gcc-interface/Makefile.in (SPARC/Solaris): Use a common set of
123	files for the target-dependent part of the runtime.
124	(SPARC/Linux): Likewise.
125
1262008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
127
128	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: If not
129	optimizing, create a PARM_DECL pointing to the VAR_DECL for debugging
130	purposes.
131
1322008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
133
134	* gcc-interface/misc.c (gnat_printable_name): Always return a copy
135	in GC memory.
136
1372008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
138
139	PR ada/19419
140	* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>:
141	Generate a call to memmove for an assignment between overlapping
142	array slices.
143
1442008-11-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
145
146	PR target/37977
147	* gcc-interface/Makefile.in: Add multilib handling for
148	s390-linux and s390x-linux.
149
1502008-10-24  Jakub Jelinek  <jakub@redhat.com>
151
152	* gcc-interface/Make-lang.in (check-ada-subtargets): Depend on
153	check-acats-subtargets and check-gnat-subtargets.
154	(check_acats_targets): New variable.
155	(check-acats-subtargets, check-acats%): New targets.
156	(check-acats): If -j is used and CHAPTERS is empty, run the testing
157	in multiple make goals, possibly parallel, and afterwards run
158	dg-extract-results.sh to merge the sum and log files.
159
1602008-10-17  Geert Bosch  <bosch@adacore.com>
161
162	* gcc-interface/trans.c (gnat_to_gnu) <N_Slice>: Simplify expansion
163	to use only a single check instead of three, and avoid unnecessary
164	COMPOUND_EXPR.
165	(emit_check): Avoid useless COMPOUND_EXPRs and SAVE_EXPRs, sometimes
166	creating more opportunities for optimizations.
167
1682008-10-13  Jakub Jelinek  <jakub@redhat.com>
169
170	PR middle-end/37601
171	* gcc-interface/utils.c (gnat_types_compatible_p): Handle
172	NULL TYPE_DOMAIN.
173
1742008-10-07  Eric Botcazou  <ebotcazou@adacore.com>
175
176	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move code
177	dealing with volatileness to after code dealing with renaming.
178
1792008-10-06  Eric Botcazou  <ebotcazou@adacore.com>
180
181	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Minor tweaks.
182	* gcc-interface/trans.c (Pragma_to_gnu): Likewise.
183
1842008-10-06  Eric Botcazou  <ebotcazou@adacore.com>
185
186	* gcc-interface/utils.c (can_fold_for_view_convert_p): New predicate.
187	(unchecked_convert): Use it to disable problematic folding with
188	VIEW_CONVERT_EXPR in the general case.  Always disable it for the
189	special VIEW_CONVERT_EXPR built for integral types and cope with
190	its addressability issues by preserving the first conversion.
191
1922008-10-01  Andreas Schwab  <schwab@suse.de>
193
194	* system-linux-ppc64.ads: New file.
195	* gcc-interface/Makefile.in: Add multilib handling for
196	powerpc-linux.
197
1982008-09-26  Eric Botcazou  <ebotcazou@adacore.com>
199
200	* decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotion
201	to that of ptr_mode instead of word_mode.
202
2032008-09-26  Eric Botcazou  <ebotcazou@adacore.com>
204
205	PR ada/5911
206	* gcc-interface/Makefile.in (SPARC/Solaris): Add multilib support.
207
2082008-09-25  Samuel Tardieu  <sam@rfc1149.net>
209
210	PR ada/37641
211	* adaint.c (__gnat_set_non_writable): Use FILE_WRITE_EA
212	instead of deprecated FILE_WRITE_PROPERTIES.
213
2142008-09-22  Olivier Hainque  <hainque@adacore.com>
215
216	* gcc-interface/decl.c (gnat_to_gnu_entity): Even when they
217	are never assigned, volatile entities are not constant for code
218	generation purposes.
219
2202008-09-21  Laurent Guerby  <laurent@guerby.net>
221
222	PR ada/5911
223	* gcc-interface/Makefile.in: Add multilib handling for x86_64
224	and sparc.
225	* system-linux-sparcv9.ads: New file.
226
2272008-09-20  Eric Botcazou  <ebotcazou@adacore.com>
228
229	* exp_dbug.ads: Document new convention for the XVZ variable.
230	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate
231	debug info if necessary for the type padding the component type.
232	<E_Array_Subtype>: Likewise.
233	(maybe_pad_type): Emit the XVZ variable in units.
234	* gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits.
235	(Subprogram_Body_to_gnu): Set the source line of the subprogram's node
236	on statements generated to initialize the parameter attributes cache.
237	Set the source line of the end label of the body on the special return
238	statement built for a procedure with copy-in copy-out parameters.
239
2402008-09-20  Eric Botcazou  <ebotcazou@adacore.com>
241
242	PR ada/37585
243	* gcc-interface/utils.c (create_subprog_decl): Disable inlining for
244	inlined external functions if they contain a nested function not
245	declared inline.
246
2472008-09-18  Jan Hubicka  <jh@suse.cz>
248
249	* gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
250	(end_subprog_body): Do not set DECL_INLINE.
251
2522008-09-17  Pascal Rigaux  <pixel@mandriva.com>
253
254	PR ada/21327
255	* gnat_ugn.texi: Use proper format in direntry.
256
2572008-09-15  Eric Botcazou  <ebotcazou@adacore.com>
258
259	* gcc-interface/trans.c (gigi): Declare the name of the compilation
260	unit as the first global name.
261
2622008-09-14  Jan Hubicka  <jh@suse.cz>
263
264	* gcc-interface/Make-lang.in (gnat1): Add CFLAGS.
265
2662008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
267
268	* a-crbtgk.adb, a-direct.ads, a-tasatt.adb, ali.ads,
269	bindgen.adb, checks.adb, einfo.ads, exp_aggr.adb, exp_ch11.adb,
270	exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
271	exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_pakd.adb,
272	exp_util.adb, g-alveop.ads, g-comlin.adb, g-comlin.ads,
273	g-diopit.adb, g-socket.ads, gcc-interface/decl.c,
274	gcc-interface/gigi.h, gcc-interface/trans.c,
275	lib-load.adb, lib-xref.ads, make.adb, mlib-prj.adb, nlists.ads,
276	opt.ads, par-ch10.adb, par-ch5.adb, par.adb, s-os_lib.ads,
277	s-oscons-tmplt.c, s-parint.ads, s-regpat.ads, s-shasto.ads,
278	s-stausa.ads, s-taprop-vms.adb, sem.adb, sem_ch10.adb,
279	sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
280	sem_ch3.ads, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
281	sem_elim.adb, sem_prag.adb, sem_util.adb, sem_util.ads,
282	sem_warn.adb, sinfo.ads, styleg.adb, vms_data.ads: Fix typos in
283	comments.
284	* gnathtml.pl: Fix typos.
285
2862008-09-10  Joel Sherrill <joel.sherrill@oarcorp.com>
287
288	* gcc-interface/Makefile.in: Switch RTEMS to s-interr-hwint.adb.
289	* s-osinte-rtems.ads: Add shared hardware interrupt adapter
290	layer. RTEMS binds to OS provided adapter routines so there are
291	no modifications to s-osinte-rtems.adb.
292
2932008-09-09  Arnaud Charlet  <charlet@adacore.com>
294	    Joel Sherrill  <joel.sherrill@oarcorp.com>
295
296       * gcc-interface/Makefile.in: Switch VxWorks to s-interr-hwint.adb.
297
298       * s-interr-vxworks.adb: Renamed to s-interr-hwint.adb
299
300       * s-interr-hwint.adb: New file.
301
302	* s-osinte-vxworks.ads, s-osinte-vxworks.adb: Add new functions
303	needed by s-interr-hwint.adb.
304
305	* s-osinte-vxworks-kernel.adb: New file.
306
3072008-09-05  Joel Sherrill <joel.sherrill@oarcorp.com>
308
309	* s-stchop-rtems.adb: Add file missed in early commit.  Already
310	referenced in gcc-interface/Makefile.in.
311
3122008-08-30  Thomas Quinot  <quinot@adacore.com>
313
314	* gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} to
315	be built even without a separate libada directory.
316
3172008-08-22  Arnaud Charlet  <charlet@adacore.com>
318
319	* lib-xref.ads: Fix typo in subprogram reference definition.
320
3212008-08-22  Robert Dewar  <dewar@adacore.com>
322
323	* s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-strops.adb: Minor code fix
324	to avoid warning.
325
326	* g-trasym.adb: Ditto
327
328	* s-utf_32.adb (Get_Category): Fix obvious typo
329
330	* s-wwdcha.adb: Minor code reorganization
331	Remove dead code
332
3332008-08-22  Robert Dewar  <dewar@adacore.com>
334
335	* checks.adb (Determine_Range): Deal with values that might be invalid
336
337	* opt.adb, opt.ads (Assume_No_Invalid_Values[_Config]): New
338	configuration switches.
339
340	* par-prag.adb: Dummy entry for pragma Assume_No_Invalid_Values
341
342	* sem_prag.adb: Implement pragma Assume_No_Default_Values
343
344	* snames.adb, snames.ads, snames.h:
345	Add entries for pragma Assume_No_Invalid_Values
346
347	* switch-c.adb: Add processing for -gnatB switch
348
349	* usage.adb: Add entry for flag -gnatB (no bad invalid values)
350
3512008-08-22  Javier Miranda  <miranda@adacore.com>
352
353	* exp_ch3.adb (Build_Init_Statements): Transfer to the body of the
354	init procedure all the expanded code associated with the spec of
355	task types and protected types.
356
3572008-08-22  Gary Dismukes  <dismukes@adacore.com>
358
359	* exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the
360	component expression copies rather than directly setting Etype and
361	Is_Static_Expression.
362
3632008-08-22  Gary Dismukes  <dismukes@adacore.com>
364
365	* sem_util.adb (Has_Preelaborable_Initialization): Revise checking of
366	private types to allow for types derived from a private type with
367	preelaborable initialization, but return False for a private extension
368	(unless it has the pragma).
369
3702008-08-22  Robert Dewar  <dewar@adacore.com>
371
372	* opt.ads: Minor code reorganization (put entries in alpha order)
373
3742008-08-22  Pascal Obry  <obry@adacore.com>
375
376	* initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking
377	spawn.
378
3792008-08-22  Geert Bosch  <bosch@adacore.com>
380
381	* gcc-interface/trans.c: Define FP_ARITH_MAY_WIDEN
382	(convert_with_check): Only use longest_float_type if FP_ARITH_MAY_WIDEN is 0
383
3842008-08-22  Doug Rupp  <rupp@adacore.com>
385
386	* bindgen.adb [VMS] (Gen_Adainit_Ada, Gen_Adainit_C): Import and call
387	__gnat_set_features.
388
389	* init.c
390	(__gnat_set_features): New function.
391	(__gnat_features_set): New tracking variable.
392	(__gl_no_malloc_64): New feature global variable
393
3942008-08-22  Ed Schonberg  <schonberg@adacore.com>
395
396	* sem_ch8.adb (Use_One_Type): Do not emit warning message about redundant
397	use_type_clause in an instance.
398
3992008-08-22  Bob Duff  <duff@adacore.com>
400
401	* exp_ch6.ads: Remove pragma Precondition, since it breaks some builds.
402
4032008-08-22  Robert Dewar  <dewar@adacore.com>
404
405	* exp_ch6.adb: Minor reformatting
406
407	* exp_ch7.adb: Minor reformatting
408
409	* exp_ch7.ads: Put routines in proper alpha order
410
411	* exp_dist.adb: Minor reformatting
412
4132008-08-22  Vincent Celier  <celier@adacore.com>
414
415	* prj.ads: Minor comment update
416
4172008-08-22  Robert Dewar  <dewar@adacore.com>
418
419	* sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack
420
4212008-08-22  Ed Schonberg  <schonberg@adacore.com>
422
423	* exp_tss.adb:
424	(Base_Init_Proc): For a protected subtype, use the base type of the
425	corresponding record to locate the propoer initialization procedure.
426
4272008-08-22  Robert Dewar  <dewar@adacore.com>
428
429	* checks.adb:
430	(In_Subrange_Of): New calling sequence
431	(Determine_Range): Prepare for new processing using base type
432
433	* exp_ch4.adb:
434	(Compile_Time_Compare): Use new calling sequence
435
436	* exp_ch5.adb:
437	(Compile_Time_Compare): Use new calling sequence
438
439	* sem_eval.adb:
440	(Compile_Time_Compare): New calling sequence allows dealing with
441	invalid values.
442	(In_Subrange_Of): Ditto
443
444	* sem_eval.ads:
445	(Compile_Time_Compare): New calling sequence allows dealing with
446	invalid values.
447	(In_Subrange_Of): Ditto
448
4492008-08-22  Pascal Obry  <obry@adacore.com>
450
451	* adaint.c: Fix possible race condition on win32_wait().
452
4532008-08-22  Bob Duff  <duff@adacore.com>
454
455	* exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb, freeze.adb,
456	exp_ch4.adb, exp_ch6.ads, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
457	exp_intr.adb, exp_ch3.adb: Rename:
458	Exp_Ch7.Controlled_Type => Needs_Finalization
459	Exp_Ch7.CW_Or_Controlled_Type => CW_Or_Has_Controlled_Part
460	Exp_Ch5.Expand_N_Extended_Return_Statement.Controlled_Type =>
461	 Has_Controlled_Parts
462	(Has_Some_Controlled_Component): Fix bug in array case.
463
4642008-08-22  Robert Dewar  <dewar@adacore.com>
465
466	* sem_ch8.adb: Minor reformatting
467
4682008-08-22  Kevin Pouget  <pouget@adacore.com>
469
470	* s-shasto.ads, s-shasto.adb: Move Shared_Var_ROpen, Shared_Var_WOpen and
471	Shared_Var_Close procedure specifications from package spec to package body.
472
473	* rtsfind.ads: Remove RE_Shared_Var_Close, RE_Shared_Var_ROpen,
474	RE_Shared_Var_WOpen entries.
475
476	* exp_dist.adb: Update RE_Any_Content_Ptr to RE_Any_Container_Ptr in
477	Build_To_Any_Call, Build_TypeCode_Call and Build_From_Any_Call procedures.
478
4792008-08-22  Eric Botcazou  <ebotcazou@adacore.com>
480
481	* init.c: adjust EH support code on Alpha/Tru64 as well.
482
483	* raise-gcc.c: Add back a couple of comments.
484
4852008-08-22  Ed Schonberg  <schonberg@adacore.com>
486
487	* exp_ch5.adb (Expand_Simple_Function_Return): If secondary stack is
488	involved and the return type is class-wide, use the type of the expression
489	for the generated access type. Suppress useless discriminant checks on the
490	allocator.
491
4922008-08-22  Bob Duff  <duff@adacore.com>
493
494	* exp_ch7.adb: Minor comment fix
495
496	* exp_ch6.ads: Minor comment fix
497
4982008-08-22  Thomas Quinot  <quinot@adacore.com>
499
500	* sem_ch8.adb: Minor reformatting
501	Minor code reorganization (introduce subprogram to factor duplicated
502	code).
503
5042008-08-22  Sergey Rybin  <rybin@adacore.com>
505
506	* gnat_ugn.texi: Change the description of gnatcheck default rule
507	settings.
508
5092008-08-22  Eric Botcazou  <ebotcazou@adacore.com>
510
511	* init.c (__gnat_adjust_context_for_raise): Delete for AIX, HP-UX,
512	Solaris, FreeBSD, VxWorks and PowerPC/Linux.  For x86{-64}/Linux,
513	do not adjust the PC anymore.
514	(__gnat_error_handler): Do not call __gnat_adjust_context_for_raise
515	on AIX, HP-UX, Solaris, FreeBSD and VxWorks.
516
517	* raise-gcc.c (get_call_site_action_for): Use _Unwind_GetIPInfo
518	instead of _Unwind_GetIP.
519
5202008-08-22  Gary Dismukes  <dismukes@adacore.com>
521
522	* exp_aggr.adb (Static_Array_Aggregate): When a static array aggregate
523	with a range is transformed into a positional aggregate, any copied
524	component literals should be marked Is_Static_Expression.
525
526	* sem_eval.adb (Compile_Time_Known_Value): Don't treat null literals as
527	not being known at at compile time when Configurable_Run_Time_Mode is
528	true.
529
5302008-08-22  Robert Dewar  <dewar@adacore.com>
531
532	* exp_attr.adb:
533	(Expand_N_Attribute_Reference): No validity checking on OUT parameter of
534	Read or Input attribute.
535
5362008-08-22  Ed Schonberg  <schonberg@adacore.com>
537
538	* sem_ch8.adb (Use_One_Type): when checking which of two use_type
539	clauses in related units is redundant, if one of the units is a package
540	instantiation, use its instance_spec to determine which unit is the
541	ancestor of the other.
542
5432008-08-22  Javier Miranda  <miranda@adacore.com>
544
545	* exp_attr.adb (Expand_N_Attribute_Reference): In case of access
546	attributes add missing support to handle designated types that come
547	from the limited view.
548
549	* exp_disp.adb (Expand_Interface_Conversion): Remove wrong assertion.
550
5512008-08-22  Sergey Rybin  <rybin@adacore.com>
552
553	* vms_data.ads: Add entry for new gnatcheck -mNNN option
554
555	* gnat_ugn.texi: Add description for gnatcheck option '-m'
556
5572008-08-22  Sergey Rybin  <rybin@adacore.com>
558
559	* gnat_ugn.texi: Update the gnatcheck subsection for metric rules
560	acoording to the latest changes in the metric rule interface
561
5622008-08-22  Vincent Celier  <celier@adacore.com>
563
564	* make.adb (Check.File_Not_A_Source_Of): New Boolean function
565	(Check): Check if the file names registered in the ALI file for the
566	spec, the body and each of the subunits are the ones expected.
567
5682008-08-22  Robert Dewar  <dewar@adacore.com>
569
570	* g-catiio.adb: Code cleanup.
571
5722008-08-20  Vincent Celier  <celier@adacore.com>
573
574	* make.adb (Gnatmake): Remove extra space in version line
575
576	* ali.adb:
577	(Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit,
578	as the name may already have been entered in the table by the Project
579	Manager.
580
5812008-08-20  Jose Ruiz  <ruiz@adacore.com>
582
583	* errno.c (__get_errno, __set_errno for MaRTE): Transform then into
584	weak symbols so we use the version provided by MaRTE when available.
585
5862008-08-20  Emmanuel Briot  <briot@adacore.com>
587
588	* g-catiio.ads, g-catiio.adb:
589	(Value): Avoid an unnecessary system call to Clock in most cases.
590	This call is only needed when only the time is provided in the string,
591	and ignored in all other cases. This is more efficient.
592
5932008-08-20  Eric Botcazou  <ebotcazou@adacore.com>
594
595	* raise-gcc.c: Fix formatting nits.
596
5972008-08-20  Robert Dewar  <dewar@adacore.com>
598
599	* sem_ch13.adb:
600	(Adjust_Record_For_Reverse_Bit_Order): Do not access First_Bit for
601	non-existing component clause.
602
603	* exp_ch5.adb: Minor reformatting
604
605	* g-comlin.adb: Minor reformatting
606
607	* make.adb: Minor reformatting
608
609	* prj-proc.adb: Minor reformatting
610
611	* stylesw.ads: Minor reformatting
612
6132008-08-20  Vincent Celier  <celier@adacore.com>
614
615	* make.adb (Gnatmake_Switch_Found): New Boolean global variable
616	(Switch_May_Be_Passed_To_The_Compiler): New Boolean global variable
617	(Add_Switches): New Boolean parameter Unknown_Switches_To_The_Compiler
618	 defaulted to True. Fail when Unknown_Switches_To_The_Compiler is False
619	and a switch is not recognized by gnatmake.
620	(Gnatmake): Implement new scheme for gnatmake switches and global
621	compilation switches.
622	(Switches_Of): Try successively Switches (<file name>),
623	Switches ("Ada"), Switches (others) and Default_Switches ("Ada").
624
6252008-08-20  Ed Schonberg  <schonberg@adacore.com>
626
627	* styleg-c.ads, styleg-c.adb (Missing_Overriding): new procedure to
628	implement style check that overriding operations are explicitly marked
629	at such.
630
631	* style.ads (Missing_Overriding): new procedure that provides interface
632	to previous one.
633
634	* stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable check
635	that the declaration or body of overriding operations carries an
636	explicit overriding indicator.
637
638	* sem_ch8.adb
639	(Analyze_Subprogram_Renaming): if operation is overriding, check whether
640	explicit indicator should be present.
641
642	* sem_ch6.adb (Verify_Overriding_Indicator,
643	Check_Overriding_Indicator): If operation is overriding, check whether
644	declaration and/or body of subprogram should be present
645
6462008-08-20  Vincent Celier  <celier@adacore.com>
647
648	* prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for
649	gprbuild when casing is MixedCase, whatever the casing of the letters
650	in the file name.
651
6522008-08-20  Gary Dismukes  <dismukes@adacore.com>
653
654	* exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to
655	creating dummy init proc.
656	(Requires_Init_Proc): Return False in the case No_Default_Initialization
657	is in force and the type does not have associated default
658	initialization. Move test of Is_Public (with tests of restrictions
659	No_Initialize_Scalars and No_Default_Initialization) to end, past tests
660	for default initialization.
661
6622008-08-20  Jerome Lambourg  <lambourg@adacore.com>
663
664	* g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part
665	of any alias or prefix but having attached parameters (as \"-O2\").
666
6672008-08-20  Robert Dewar  <dewar@adacore.com>
668
669	* s-fileio.adb: Minor reformatting
670
6712008-08-20  Thomas Quinot  <quinot@adacore.com>
672
673	* exp_strm.adb (Build_Elementary_Input_Call,
674	Build_Elementary_Write_Call): Fix incorrect condition in circuitry that
675	selects the stream attribute routines for long float types.
676
6772008-08-20  Vincent Celier  <celier@adacore.com>
678
679	* prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data
680
681	* prj.ads (Array_Data): Add a component Location
682
6832008-08-20  Ed Schonberg  <schonberg@adacore.com>
684
685	* sem_prag.adb:
686	(Analyze_Pragma, case Obsolescent): Add entity information on the pragma
687	argument for ASIS and navigation use.
688
6892008-08-20  Ed Schonberg  <schonberg@adacore.com>
690
691	* einfo.ads: Add comment.
692
6932008-08-20  Bob Duff  <duff@adacore.com>
694
695	* sem_eval.ads: Minor comment fix.
696
6972008-08-20  Bob Duff  <duff@adacore.com>
698
699	* exp_ch4.adb (Expand_N_And_Then, Expand_N_Or_Else): Improve constant
700	folding. We were folding things like "False and then ...", but not
701	"X and then ..." where X is a constant whose value is known at compile
702	time.
703
7042008-08-20  Hristian Kirtchev  <kirtchev@adacore.com>
705
706	* exp_ch5.adb (Controlled_Type): New routine.
707	(Expand_N_Extended_Return_Statement): When generating a move of the
708	final list in extended return statements, check the type of the
709	function and in the case of double expanded return statements, the type
710	of the returned object.
711	(Expand_Simple_Function_Return): Perform an interface conversion when
712	the type of the returned object is an interface and the context is an
713	extended return statement.
714
7152008-08-20  Ed Schonberg  <schonberg@adacore.com>
716
717	* sem_util.adb (Set_Debug_Info_Needed): If the entity is a private type
718	and the full view is visible, set flag on full view as well.
719
7202008-08-20  Thomas Quinot  <quinot@adacore.com>
721
722	* g-comlin.adb: Minor reformatting
723	Minor code reorganization.
724
725	* freeze.adb: Minor reformatting
726
7272008-08-20  Vincent Celier  <celier@adacore.com>
728
729	* prj-nmsc.adb (Check_File): An excluded Ada source file may be a
730	source of another project.
731
7322008-08-20  Pascal Obry  <obry@adacore.com>
733
734	* s-os_lib.ads: Minor reformatting.
735
7362008-08-20  Arnaud Charlet  <charlet@adacore.com>
737
738	* gnatvsn.ads: Minor reformatting.
739
7402008-08-20  Arnaud Charlet  <charlet@adacore.com>
741
742	* a-crbtgk.adb, repinfo.adb, g-traceb.ads, repinfo.ads,
743	system-linux-s390x.ads, s-fatflt.ads, s-parame-ae653.ads, g-spipat.adb,
744	g-spipat.ads, g-tasloc.adb, g-debpoo.adb, g-except.ads, g-debpoo.ads,
745	mdll-utl.adb, g-string.adb, g-soliop-solaris.ads, par-sync.adb,
746	exp_ch6.ads, a-cihama.ads, g-curexc.ads, system-linux-sh4.ads,
747	g-utf_32.adb, g-hesorg.adb, s-proinf-irix-athread.ads, s-parint.adb,
748	s-parint.ads, exp_ch7.ads, system-linux-alpha.ads, g-dirope.adb,
749	sinfo-cn.adb, par-labl.adb, a-ciorse.adb, g-calend.adb,
750	s-parame-vms-alpha.ads, nlists.h, exp_imgv.adb, exp_fixd.ads,
751	g-calend.ads, gnatcmd.ads, g-table.adb, s-memory-mingw.adb,
752	g-alveop.ads, g-memdum.ads, g-altive.ads, initialize.c, g-regpat.adb,
753	g-busorg.ads, g-regpat.ads, g-encstr.ads, g-regexp.adb, g-regexp.ads,
754	live.ads, g-dyntab.adb, prj-nmsc.ads, par-ch12.adb, 9drpc.adb,
755	g-alvevi.ads, s-memory.adb, math_lib.adb, s-parame.ads, s-memory.ads,
756	s-regexp.adb, a-exexda.adb, i-cstrea-vms.adb, a-exexpr.adb,
757	g-soliop-mingw.ads, s-imgrea.adb, namet.adb, system-vms.ads,
758	s-inmaop-dummy.adb, s-finroo.ads, a-ngcefu.adb, s-hibaen.ads,
759	g-soliop.ads, s-auxdec.adb, g-locfil.ads, gnatxref.adb, memroot.adb,
760	osint-b.ads, memroot.ads, s-parame-hpux.ads, errutil.adb,
761	system-linux-s390.ads, par-util.adb, osint-c.ads, exp_pakd.ads,
762	i-pacdec.ads, par-endh.adb, mlib-tgt.ads, prj-strt.ads,
763	s-osprim-vms.adb, s-proinf.ads, output.ads, g-moreex.ads,
764	a-finali.ads, s-fatlfl.ads, namet.h, mdll.ads, g-dynhta.ads,
765	s-imgenu.ads, par-tchk.adb, g-excact.ads, memtrack.adb, s-fatgen.adb,
766	a-exexpr-gcc.adb, g-arrspl.adb, par-ch4.adb, g-cgideb.adb, freeze.ads,
767	g-altcon.adb, s-fatllf.ads, gnatfind.adb, s-osinte-lynxos-3.adb,
768	a-exextr.adb, g-htable.ads, a-calfor.adb, s-imgcha.adb, argv.c,
769	a-chahan.ads, g-hesora.adb, system-vms_64.ads, par-ch5.adb, g-md5.adb,
770	lib-xref.ads, g-md5.ads, g-casuti.ads, s-fatsfl.ads, exp_dbug.ads,
771	s-htable.ads, a-ngcoar.adb, s-arit64.ads, a-ngelfu.adb, a-filico.ads,
772	par-ch6.adb, s-inmaop.ads, s-parame-vxworks.ads, s-casuti.ads,
773	a-numaux-darwin.adb, a-cohama.ads, system-linux-sparc.ads, g-os_lib.adb,
774	system-vms-ia64.ads, s-parame-vms-restrict.ads, a-clrefi.ads,
775	s-parame-vms-ia64.ads, a-strfix.adb, a-coorse.adb, a-comlin.ads,
776	a-chtgke.adb, s-imgint.adb, g-expect.ads, exp_ch4.ads, s-finimp.adb,
777	mingw32.h, g-heasor.adb, g-alleve.adb, a-ngrear.adb, s-mastop-irix.adb,
778	s-poosiz.adb, link.c: Fix copyright notice.
779
7802008-08-20  Arnaud Charlet  <charlet@adacore.com>
781
782	* g-comlin.ads: Update comments.
783
7842008-08-20  Ed Schonberg  <schonberg@adacore.com>
785
786	* sem_ch8.adb (Analyze_Subprogram_Renaming): Inherit Is_Imported flag.
787
7882008-08-20  Gary Dismukes  <dismukes@adacore.com>
789
790	* exp_ch11.adb:
791	(Expand_Exception_Handlers): Call Make_Exception_Handler instead of
792	Make_Implicit_Exception_Handler when rewriting an exception handler with
793	a choice parameter, and pass the handler's Sloc instead of that of the
794	handled sequence of statements. Make_Implicit_Exception_Handler sets the
795	Sloc to No_Location (unless debugging generated code), which we don't
796	want for the case of a user handler.
797
7982008-08-20  Robert Dewar  <dewar@adacore.com>
799
800	* freeze.adb (Freeze_Record_Type): Improve msg for non-contiguous field
801
802	* sem_ch13.adb:
803	(Adjust_Record_For_Reverse_Bit_Order): Messages about layout are
804	now labeled as info msgs, not warnings.
805
806	* tbuild.ads: Clarify documentation of Make_Implicit_Exception_Handler
807
808	* usage.adb: Minor change to avoid overlong line for -gnatwz/Z
809
810	* a-textio.adb: Remove redundant test.
811
812	* a-witeio.adb: Minor code reorganization
813	Remove redundant test found working on another issue
814
815	* a-ztexio.adb: Minor code reorganization
816	Remove redundant test found working on another issue
817
8182008-08-20  Thomas Quinot  <quinot@adacore.com>
819
820	* s-fileio.adb (Open) Use C helper function to determine whether a
821	given errno value corresponds to a "file not found" error.
822
823	* sysdep.c (__gnat_is_file_not_found_error): New C helper function.
824
8252008-08-20  Jose Ruiz  <ruiz@adacore.com>
826
827	* errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno
828	to get access to the per-task errno variable.
829	(__set_errno for MaRTE): Do not redefine this function here since it is
830	already defined in MaRTE.
831
8322008-08-20  Tristan Gingold  <gingold@adacore.com>
833
834	* gnat_ugn.texi: Gcov is not supported on static library on AIX.
835
8362008-08-20  Robert Dewar  <dewar@adacore.com>
837
838	* freeze.adb: Minor reformatting
839
840	* g-comlin.adb: Minor reformatting
841
842	* g-socket.adb: Minor reformatting
843
844	* g-socthi-mingw.adb: Minor reformatting
845
846	* g-stheme.adb: Minor reformatting
847
8482008-08-20  Ed Schonberg  <schonberg@adacore.com>
849
850	* sem_aggr.adb, sem_type.adb, exp_ch9.ads, einfo.ads,
851	exp_ch6.adb, exp_aggr.adb (Valid_Ancestor): Resolve
852	confusion between partial and full views of an ancestor of the context
853	type when the parent is a private extension declared in a parent unit,
854	and full views are available for the context type.
855
8562008-08-18  Samuel Tardieu  <sam@rfc1149.net>
857	    Robert Dewar  <dewar@adacore.com>
858
859	PR ada/30827
860	* bindgen.adb (Gen_Output_File_Ada): Zero-terminate the
861	version string.
862	Move comment in the right place.
863	* g-comver.adb (Version): Look for a zero-termination in
864	addition to a closing parenthesis.
865
8662008-08-18  Samuel Tardieu  <sam@rfc1149.net>
867
868	* exp_ch13.adb, exp_disp.adb, sem_cat.adb, sem_ch10.adb,
869	* sem_ch12.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
870	* sem_prag.adb, sem_util.adb, sem_warn.adb: Use
871	Is_Package_Or_Generic_Package instead of hand-crafted tests.
872
8732008-08-18  Samuel Tardieu  <sam@rfc1149.net>
874
875	PR ada/15808
876	* sem_ch6.adb (Check_Private_Overriding): Check for generic packages
877	as well.
878
8792008-08-17  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
880
881	* adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement.
882
8832008-08-16  Eric Botcazou  <ebotcazou@adacore.com>
884
885	* gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call
886	for back-copy statements in lieu of that of the actual.
887
8882008-08-16  Eric Botcazou  <ebotcazou@adacore.com>
889
890	PR ada/20548
891	* gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the
892	setjmp test consistently.  Adjust for new behavior of flag_stack_check.
893	* gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant
894	test of flag_stack_check.  Adjust for new behavior of flag_stack_check.
895
8962008-08-13  Samuel Tardieu  <sam@rfc1149.net>
897
898	PR ada/36777
899	* sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
900	* sem_attr.adb (Check_Type): The current instance of a protected
901	object is not a type name.
902	(Analyze_Access_Attribute): Accept instances of protected objects.
903	(Analyze_Attribute, Attribute_Address clause): Ditto.
904	* exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
905	the prefix as being the current instance if needed.
906
9072008-08-12  Danny Smith  <danyssmith@users.sourceforge.net>
908
909	* gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]:
910	Remove duplicate s-win32.o. Add s-winext.o.
911
9122008-08-12  Danny Smith  <danyssmith@users.sourceforge.net>
913
914	* g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM
915	with SOSC.SOCK__STREAM.
916	* g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with
917	SOSC.MSG_OOB.
918
9192008-08-11  Joel Sherrill  <joel.sherrill@oarcorp.com>
920
921	* s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
922	* gsocket.h, socket.c: Update to support RTEMS.
923	* gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross.
924
9252008-08-10  Samuel Tardieu  <sam@rfc1149.net>
926	    Robert Dewar <dewar@adacore.com>
927
928	* exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of
929	left argument even when right argument is 0.
930	(Expand_N_Op_Mod): Ditto when right argument is 1.
931	(Expand_N_Op_Multiply): Ditto when any argument is 0.
932	(Expand_N_Op_Rem): Ditto when right argument is 1.
933
9342008-08-09  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
935
936	* gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused
937	by warn_unused.
938
9392008-08-08  Ed Schonberg  <schonberg@adacore.com>
940
941	* freeze.adb (Generate_Prim_Op_References): New procedure, abstracted
942	from Freeze_Entity. Used to generate cross-reference information for
943	types declared in generic packages.
944
9452008-08-08  Thomas Quinot  <quinot@adacore.com>
946
947	* gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a
948	compatibility shim.
949
9502008-08-08  Thomas Quinot  <quinot@adacore.com>
951
952	* gsocket.h:
953	On Windows, include <errno.h> and redefine only selected errno values
954	from their <winsock2.h> definitions.
955
956	* s-osinte-freebsd.ads: Minor reformatting
957
958	* s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting
959
960	* g-soccon.ads: New file.
961
962	* g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb,
963	g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb,
964	g-stsifd-sockets.adb, g-socket.adb, g-socket.ads,
965	g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child
966	unit, to allow building software that depends on this internal unit
967	with both older and newer compilers.
968
9692008-08-08  Robert Dewar  <dewar@adacore.com>
970
971	* s-strxdr.adb: Minor reformatting
972
9732008-08-08  Bob Duff  <duff@adacore.com>
974
975	* gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow
976	checking for integer operations (including division by zero)", which
977	is wrong -- divide by zero is not part of overflow checking.
978	Also added misc clarification about what check-suppression means.
979
980	* gnat_rm.texi: Clarify the meaning of pragma Suppress.
981
9822008-08-08  Jerome Lambourg  <lambourg@adacore.com>
983
984	* g-comlin.adb (Add_Switch): Handle addition of switches at the
985	begining of the command line.
986	(Append, Add): Renaming of Append to Add as this now allows addition
987	at the begining of the list.
988
989	* g-comlin.ads (Add_Switch): Handle addition of switches at the
990	begining of the command line.
991
9922008-08-08  Thomas Quinot  <quinot@adacore.com>
993
994	* g-sercom.ads:
995	(Name): Document application scope (only legacy PC serial ports on
996	Linux and Windows).
997
9982008-08-08  Thomas Quinot  <quinot@adacore.com>
999
1000	* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert
1001	previous change, not needed after all.
1002
10032008-08-08  Ed Schonberg  <schonberg@adacore.com>
1004
1005	* exp_ch4.adb (Expand_Allocator_Expression): add check if null
1006	exclusion indicator is present
1007
10082008-08-08  Robert Dewar  <dewar@adacore.com>
1009
1010	* g-comlin.adb: Minor code reorganization
1011	Minor reformatting
1012
1013	* g-comlin.ads: Minor reformatting
1014
1015	* s-fileio.adb: Minor reformatting
1016
1017	* sem_attr.adb: Minor code reorganization (use Nkind_In)
1018	Minor reformatting
1019
10202008-08-06  Samuel Tardieu  <sam@rfc1149.net>
1021
1022	* gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing
1023	with s-oscons-tmplt.i.
1024
10252008-08-06  Samuel Tardieu  <sam@rfc1149.net>
1026
1027	* gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove.
1028
10292008-08-06  Ed Schonberg  <schonberg@adacore.com>
1030
1031	* sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse
1032	of incomplete type.
1033
1034	* sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming
1035	of a formal parameter of an incomplete type. Improve error message for
1036	other improper uses of incomplete types.
1037
10382008-08-06  Robert Dewar  <dewar@adacore.com>
1039
1040	* gnat_ugn.texi: Clarify -gnato documentation
1041
10422008-08-06  Thomas Quinot  <quinot@adacore.com>
1043
1044	* gcc-interface/Makefile.in,
1045	g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb,
1046	g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads,
1047	g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads,
1048	g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads,
1049	g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads,
1050	g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads,
1051	g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads,
1052	g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads,
1053	g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads:
1054	Remove GNAT.Sockets.Constants. This internal package is replaced by
1055	System.OS_Constants.
1056
10572008-08-06  Thomas Quinot  <quinot@adacore.com>
1058
1059	* gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
1060	Remove obsolete targets referencing gen-soccon
1061	When generating s-oscons.ads, use a file name that includes the
1062	THREAD_KIND, to ensure that the (potentially different) version from a
1063	previous build with a different threads flavour does not get reused.
1064
10652008-08-06  Thomas Quinot  <quinot@adacore.com>
1066
1067	* sem_res.adb: Minor reformatting
1068
1069	* s-fileio.adb (Open): When file open operation fails, raise Name_Error
1070	only when the operating system reports a non-existing file or directory
1071	(ENOENT), otherwise raise Name_Error.
1072
1073	* exp_ch11.adb: Minor reformatting
1074
10752008-08-06  Ed Schonberg  <schonberg@adacore.com>
1076
1077	* sem_ch3.adb (Access_Subprogram_Declaration): If the return type is
1078	incomplete, add the access_to_subprogram type to the list of private
1079	dependents only if the incomplete type will be completed in the current
1080	scope.
1081	(Build_Discriminant_Constraints): If the type of the discriminant is
1082	access_to_variable, reject a constraint that is access_to_constant.
1083
10842008-08-06  Thomas Quinot  <quinot@adacore.com>
1085
1086	* g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb,
1087	g-sothco-dummy.ads, g-socthi-dummy.adb, g-socthi-dummy.ads,
1088	g-sttsne-dummy.ads: New files.
1089
1090	* gcc-interface/Makefile.in, Makefile.rtl: Use placeholder sources
1091	with pragma Unimplemented_Unit for sockets packages on Nucleus.
1092
10932008-08-06  Pascal Obry  <obry@adacore.com>
1094
1095	* adaint.c: Another fix for ACL support on Windows.
1096
10972008-08-06  Javier Miranda  <miranda@adacore.com>
1098
1099	* exp_disp (Expand_Interface_Actuals): Adds missing support for
1100	expansion of calls to subprograms using selected components.
1101
11022008-08-06  Ed Schonberg  <schonberg@adacore.com>
1103
1104	* sem_res.adb (Resolve_Call): Use base type to determine whether a
1105	dereference is needed because a subtype of an access_to_subprogram is
1106	simply an access-subtype
1107
11082008-08-06  Jerome Lambourg  <lambourg@adacore.com>
1109
1110	* g-comlin.adb (Set_Command_Line): Now that aliases can contain
1111	parameters, always specify the expected separator.
1112
11132008-08-06  Thomas Quinot  <quinot@adacore.com>
1114
1115	* xnmake.adb: Use new XUtil package for platform independent text
1116	output.
1117
11182008-08-06  Vincent Celier  <celier@adacore.com>
1119
1120	* gnat_ugn.texi: Document compiler switch -gnateG
1121
11222008-08-06  Quentin Ochem  <ochem@adacore.com>
1123
1124	* s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark
1125	in the case of an empty pattern size.
1126	(Compute_Result): Do not do any computation in the case of an empty
1127	pattern size.
1128	(Report_Result): Fixed computation of the overflow guard.
1129
11302008-08-06  Ed Schonberg  <schonberg@adacore.com>
1131
1132	* g-awk.adb (Finalize): Do not use directly objects of the type in the
1133	finalization routine to prevent elaboration order anomalies in new
1134	finalization scheme.
1135
11362008-08-06  Ed Schonberg  <schonberg@adacore.com>
1137
1138	* sem_ch3.adb (Find_Type_Name): protect against duplicate incomplete
1139	declaration for the same type.
1140
11412008-08-06  Thomas Quinot  <quinot@adacore.com>
1142
1143	* sem.adb: Minor rewording (comment)
1144
11452008-08-06  Jerome Lambourg  <lambourg@adacore.com>
1146
1147	* g-comlin.adb (Define_Switch, Get_Switches): New.
1148	(Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when
1149	ungrouping switches.
1150	(For_Each_Simple_Switch): Allow more control over parameters handling.
1151	This generic method now allows ungrouping of switches with parameters
1152	and switches with more than one letter after the prefix.
1153	(Set_Command_Line): Take care of switches that are prefixed with a
1154	switch handling parameters without delimiter (-gnatya and -gnaty3 for
1155	example).
1156	(Add_Switch, Remove_Switch): Handle parameters possibly present inside
1157	a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of
1158	the operation.
1159	(Start, Alias_Switches, Group_Switches): Take care of parameters
1160	possibly present inside a group.
1161
1162	* g-comlin.ads (Define_Switch): New method used to define a list of
1163	expected switches, that are necessary for correctly ungrouping switches
1164	with more that one character after the prefix.
1165	(Get_Switches): Method that builds a getopt string from the list of
1166	switches as set previously by Define_Switch.
1167	(Add_Switch, Remove_Switch): New versions of the methods, reporting the
1168	status of the operation. Also allow the removal of switches with
1169	parameters only.
1170	(Command_Line_Configuration_Record): Maintain a list of expected
1171	switches.
1172
11732008-08-06  Doug Rupp  <rupp@adacore.com>
1174
1175	* gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor if
1176	TARGET_MALLOC64 clear.
1177
1178	* gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit malloc
1179	if TARGET_MALLOC64 clear.
1180
1181	* gcc-interface/gigi.h (TARGET_ABI_OPEN_VMS): Move here from utils2.c
1182	(TARGET_MALLC64): New macro. Default to clear.
1183
11842008-08-06  Doug Rupp  <rupp@adacore.com>
1185
1186	* gcc-interface/utils2.c (snames.h) Include
1187	(TARGET_ABI_OPEN_VMS): Initialize.
1188	(build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap
1189	for Convention C.
1190
11912008-08-06  Ed Schonberg  <schonberg@adacore.com>
1192
1193	* sem_ch3.adb (Process_Discriminants): diagnose redundant or improper
1194	null exclusion in a discriminant declaration
1195
1196	* sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusion
1197	indicators when type is not an access type.
1198
1199	* sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusion
1200	indicators when type is not an access type.
1201
12022008-08-06  Javier Miranda  <miranda@adacore.com>
1203
1204	* exp_disp (Expand_Interface_Conversion): Freeze the entity associated
1205	with the target interface before expanding the code of the interface
1206	conversion.
1207
12082008-08-05  Ed Schonberg  <schonberg@adacore.com>
1209
1210	* freeze.adb:
1211	(Freeze_Entity): A deferred constant does not violate the restriction
1212	No_Default_Initialization,
1213
1214	* sem_ch3.adb (Process_Subtype): An allocator is a valid construct that
1215	can carry a null exclusion indicator, and on which an error may be
1216	posted if the indicator is redundant.
1217
1218	* sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion
1219	does not apply to a subtype mark that already excludes null.
1220
1221	* sem_ch12.adb (Formal_Object_Declaration): Verify that a null
1222	exclusion does not apply to a subtype mark that already excludes null.
1223
12242008-08-05  Thomas Quinot  <quinot@adacore.com>
1225
1226	* Makefile.rtl: Compile s-oscons.ads as part of the runtime library.
1227
12282008-08-05  Doug Rupp  <rupp@adacore.com>
1229
1230	* vms_data.ads: Translation for /POINTER_SIZE qualifier.
1231
12322008-08-05  Thomas Quinot  <quinot@adacore.com>
1233
1234	* gsocket.h: Make this file includable in a Nucleus environment, which
1235	does not support sockets.
1236
1237	* socket.c: Remove Nucleus-specific hack.
1238
12392008-08-05  Pascal Obry  <obry@adacore.com>
1240
1241	* adaint.c: Remove support for readable attribute on vxworks and nucleus
1242
12432008-08-05  Ed Schonberg  <schonberg@adacore.com>
1244
1245	* sem_attr.adb:
1246	(Analyze_Attribute, case 'Result): handle properly the case where some
1247	operand of the expression in a post-condition generates a transient
1248	block.
1249
1250	* sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to
1251	right-hand side when it is an anonymous access_to_subprogram, to force
1252	static accessibility check when needed.
1253
12542008-08-05  Sergey Rybin  <rybin@adacore.com>
1255
1256	* gnat_ugn.texi: Changing the description of the gnatcheck metrics
1257	rule according to the change in the rule option.
1258	Add documentation for -gnatw.b/-gnatw.B
1259
12602008-08-05  Robert Dewar  <dewar@adacore.com>
1261
1262	* ug_words: Add entries for -gnatw.b/-gnatw.B
1263
1264	* vms_data.ads: Add entries for -gnatw.b/-gnatw.B
1265
12662008-08-05  Vincent Celier  <celier@adacore.com>
1267
1268	* a-wtdeio.adb (Put (Current_Output)): Use Fore in the call to Put
1269	(File).
1270
1271	* a-ztdeio.adb: Ditto.
1272
12732008-08-05  Pascal Obry  <obry@adacore.com>
1274
1275	* adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Add support for the
1276	readable attribute.
1277
12782008-08-05  Vincent Celier  <celier@adacore.com>
1279
1280	* s-wchwts.adb:
1281	(Wide_String_To_String): Returns a String with the same 'First as its
1282	parameter S.
1283	(Wide_Wide_String_To_String): Ditto
1284
1285	* s-wchwts.ads:
1286	(Wide_String_To_String): Document that the lowest index of the returned
1287	String is equal to S'First.
1288
12892008-08-05  Thomas Quinot  <quinot@adacore.com>
1290
1291	* xoscons.adb, xutil.ads, xutil.adb, s-oscons-tmplt.c: New files.
1292
1293	* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Generate
1294	s-oscons.ads
1295
12962008-08-05  Robert Dewar  <dewar@adacore.com>
1297
1298	* opt.ads (Warn_On_Biased_Representation): New flag
1299
1300	* sem_ch13.adb:
1301	(Analyze_Attribute_Definition_Clause): Issue warning when biased
1302	representation is required.
1303	(Minimum_Size): Don't allow biasing if enum rep clause case
1304
1305	* sem_warn.adb:
1306	(Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches
1307	(Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws
1308
1309	* usage.adb: Add lines for -gnatw.b/B switches
1310
13112008-08-05  Pascal Obry  <obry@adacore.com>
1312
1313	* a-coinve.adb: Reorder the code to avoid uninitialized warning.
1314
1315	* adaint.c: In UNIX cases do not call __gnat_stat but stat directly.
1316
13172008-08-05  Thomas Quinot  <quinot@adacore.com>
1318
1319	* socket.c: Minor reformatting.
1320
13212008-08-05  Robert Dewar  <dewar@adacore.com>
1322
1323	* sem_ch3.adb: Minor reformatting
1324
1325	* prj-nmsc.adb: Minor reformatting
1326
13272008-08-05  Ed Schonberg  <schonberg@adacore.com>
1328
1329	* sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex
1330	visibility check on the component type if the simple test fails.
1331
13322008-08-05  Jose Ruiz  <ruiz@adacore.com>
1333
1334	* init.c (__gnat_install_handler for linux): If we are building the
1335	Xenomai run time then we need to do two additional things: avoid
1336	memory swapping and transform the Linux environment task into a native
1337	Xenomai task.
1338
1339	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run
1340	time): Use interface to Xenomai native skin and avoid linux-specific
1341	way of setting CPU affinity.
1342	(EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism.
1343
13442008-08-05  Bob Duff  <duff@adacore.com>
1345
1346	* checks.ads: Minor comment fix
1347
13482008-08-05  Thomas Quinot  <quinot@adacore.com>
1349
1350	* g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb,
1351	g-sercom-linux.adb (Data_Bits): Change literals B7 and B8 to CS7 and
1352	CS8.
1353
13542008-08-05  Robert Dewar  <dewar@adacore.com>
1355
1356	* mlib.adb: Minor code reorganization
1357	Minor reformatting
1358
1359	* make.adb: Minor reformatting
1360
1361	* prj-attr.ads: Minor reformatting
1362
1363	* s-os_lib.adb: Minor reformatting
1364
1365	* s-fileio.adb: Minor code reorganization
1366	Minor reformatting
1367
1368	* prj.ads: Minor reformatting
1369
13702008-08-05  Bob Duff  <duff@adacore.com>
1371
1372	* sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in
1373	unresolved initial value of "null", because it causes implicitly
1374	generated "=" operators to be ambiguous, and because this type should
1375	not be passed to gigi.
1376
13772008-08-05  Vincent Celier  <celier@adacore.com>
1378
1379	* mlib.adb: Update comments.
1380
1381	* make.adb (Switches_Of): Check for Switches (others), before checking
1382	for Default_Switches ("Ada").
1383	(Gnatmake): Use Builder'Switches (others) in preference to
1384	Builder'Default_Switches ("Ada") if there are several mains.
1385
1386	* prj-attr-pm.adb:
1387	(Add_Attribute): Add component Others_Allowed in Attribute_Record
1388	aggregate.
1389
1390	* prj-attr.adb:
1391	Add markers to indicates that attributes Switches allow others as index
1392	(Others_Allowed_For): New Boolean function, returning True for
1393	attributes with the mark.
1394	(Initialize): Recognize optional letter 'O' as the marker for
1395	associative array attributes where others is allowed as the index.
1396
1397	* prj-attr.ads:
1398	(Others_Allowed_For): New Boolean function
1399	(Attribute_Record): New Boolean component Others_Allowed
1400
1401	* prj-dect.adb:
1402	(Parse_Attribute_Declaration): For associative array attribute where
1403	others is allowed as the index, allow others as an index.
1404
1405	* prj-nmsc.adb:
1406	(Process_Binder): Skip associative array attributes with index others
1407	(Process_Compiler): Ditto
1408
1409	* prj-util.adb:
1410	(Value_Of (Index, In_Array)): Make no attempt to put in lower case when
1411	index is All_Other_Names.
1412
1413	* prj.ads:
1414	(All_Other_Names): New constant
1415
1416	* prj-proc.adb:
1417	(Process_Declarative_Items): Skip associative array attribute when index
1418	is reserved word "others".
1419
14202008-08-05  Vasiliy Fofanov  <fofanov@adacore.com>
1421
1422	* gen-oscons.c: Adapt for VMS where termios.h is not available.
1423
14242008-08-05  Thomas Quinot  <quinot@adacore.com>
1425
1426	* a-rttiev.adb: Minor reformatting (comments)
1427
1428	* gen-soccon.c: Rename to gen-oscons.c
1429
1430	* gen-oscons.c: New file. Now generate System.OS_Constants instead of
1431	GNAT.Sockets.Constants.
1432	Add new constants for GNAT.Serial_Communications and System.File_IO.
1433
14342008-08-05  Javier Miranda  <miranda@adacore.com>
1435
1436	* sem_util.adb (Collect_Interfaces_Info): Minor reformating.
1437	* exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the
1438	implementation of this routine has been simplified.
1439
14402008-08-05  Pascal Obry  <obry@adacore.com>
1441
1442	* adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Fix the
1443	Set_Read_Only Win32 implementation.
1444
14452008-08-05  Thomas Quinot  <quinot@adacore.com>
1446
1447	* exp_strm.adb: Minor reformatting (comments)
1448
1449	* sem_ch12.adb: Minor reformatting.
1450
14512008-08-05  Robert Dewar  <dewar@adacore.com>
1452
1453	* sem_ch3.adb: Minor reformatting
1454
1455	* checks.adb: Minor reformatting
1456
14572008-08-05  Thomas Quinot  <quinot@adacore.com>
1458
1459	* tbuild.ads (New_External_Name): Update spec to reflect relaxed
1460	restriction on Prefix.
1461
14622008-08-05  Jerome Lambourg  <lambourg@adacore.com>
1463
1464	* g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal
1465	methods needed to handle switch sections when building a command line.
1466	(Define_Section, Add_Switch, Remove_Switch, Is_New_Section,
1467	Current_Section): New public methods or methods modified to handle
1468	building command lines with sections.
1469	(Set_Command_Line): Take into account sections when analysing a switch
1470	string.
1471	(Start): Sort the switches by sections before iterating the command line
1472	elements.
1473
1474	* g-comlin.ads (Define_Section, Add_Switch, Remove_Switch,
1475	Is_New_Section, Current_Section): New methods or methods modified to
1476	handle building command lines with sections.
1477
14782008-08-05  Ed Schonberg  <schonberg@adacore.com>
1479
1480	* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access
1481	discriminants, indicate that the corresponding object declaration has
1482	no initialization, to prevent spurious warnings when the access type is
1483	null-excluding.
1484
14852008-08-05  Ed Schonberg  <schonberg@adacore.com>
1486
1487	* sem_res.adb (Resolve_Call): If this is a call to the predefined
1488	Abort_Task, warn if the call appears within a protected operation.
1489
14902008-08-04  Robert Dewar  <dewar@adacore.com>
1491
1492	* exp_ch4.adb (Expand_N_In): Suppress range warnings in instances
1493
14942008-08-04  Ed Schonberg  <schonberg@adacore.com>
1495
1496	* sem_ch3.adb:
1497	(Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an
1498	anonymous access to protected subprogram that is the return type of the
1499	specification of a subprogram body.
1500
1501	* sem_ch6.adb:
1502	(Analyze_Subprogram_Body): if the return type is an anonymous access to
1503	subprogram, freeze it now to prevent access anomalies in the back-end.
1504
1505	* exp_ch9.adb: Minor code cleanup.
1506	Make sure that new declarations are inserted into the tree before
1507	analysis (from code reading).
1508
15092008-08-04  Robert Dewar  <dewar@adacore.com>
1510
1511	* exp_ch5.adb:
1512	(Expand_Simple_Function_Return): Check No_Secondary_Stack restriction
1513	at point of return.
1514
15152008-08-04  Thomas Quinot  <quinot@adacore.com>
1516
1517	* sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting
1518
15192008-08-04  Vasiliy Fofanov  <fofanov@adacore.com>
1520
1521	* g-soccon-mingw.ads: Fix value for MSG_WAITALL
1522
15232008-08-04  Javier Miranda  <miranda@adacore.com>
1524
1525	* sem_prag.adb (Process_Convention): Add missing support for
1526	 N_Private_Extension_Declaration nodes.
1527
15282008-08-04  Robert Dewar  <dewar@adacore.com>
1529
1530	* exp_ch4.adb: Minor reformatting
1531
15322008-08-04  Pascal Obry  <obry@adacore.com>
1533
1534	* adaint.h: Add missing prototype.
1535
1536	* adaint.c: Refine support for Windows file attributes.
1537
15382008-08-04  Robert Dewar  <dewar@adacore.com>
1539
1540	* sem_res.adb:
1541	(Valid_Conversion): Catch case of designated types having different
1542	sizes, even though they statically match.
1543
15442008-08-04  Javier Miranda  <miranda@adacore.com>
1545
1546	* sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patch
1547	added in previous patch to handle access to subprograms.
1548
15492008-08-04  Robert Dewar  <dewar@adacore.com>
1550
1551	* freeze.adb:
1552	(Freeze_Entity): Only check No_Default_Initialization restriction for
1553	constructs that come from source
1554
15552008-08-04  Thomas Quinot  <quinot@adacore.com>
1556
1557	* exp_ch6.adb: Minor comment fix.
1558
1559	* sem_ch4.adb: Minor reformatting.
1560
15612008-08-04  Robert Dewar  <dewar@adacore.com>
1562
1563	* sem_res.adb: (Large_Storage_Type): Improve previous change.
1564
15652008-08-04  Pascal Obry  <obry@adacore.com>
1566
1567	* adaint.c, s-os_lib.adb, s-os_lib.ads: Use Windows ACL to deal with
1568	file attributes.
1569
15702008-08-04  Javier Miranda  <miranda@adacore.com>
1571
1572	* sem_ch3.adb (Access_Subprogram_Declaration): Adding missing support
1573	for N_Formal_Object_Declaration nodes. Adding kludge required by
1574	First_Formal to provide its functionality with access to functions.
1575	(Replace_Anonymous_Access_To_Protected_Subprogram): Add missing support
1576	for anonymous access types returned by functions.
1577
1578	* sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicate
1579	conversion of null-excluding access types (required only once to force
1580	the generation of the required runtime check).
1581
1582	* sem_type.adb (Covers): minor reformating
1583
1584	* checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errors
1585	with internally generated nodes. Avoid generating the error inside init
1586	procs.
1587
1588	* sem_res.adb (Resolve_Membership_Test): Minor reformating.
1589	(Resolve_Null): Generate the null-excluding check in case of assignment
1590	to a null-excluding object.
1591	(Valid_Conversion): Add missing support for anonymous access to
1592	subprograms.
1593
1594	* sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support for
1595	anonymous access types whose designated type is an itype. This case
1596	occurs with anonymous access to protected subprograms types.
1597	(Analyze_Return_Type):  Add missing support for anonymous access to
1598	protected subprogram.
1599
1600	* sem_eval.adb (Subtypes_Statically_Match): In case of access to
1601	subprograms addition of missing check on matching convention. Required
1602	to properly handle access to protected subprogram types.
1603
1604	* exp_ch3 (Build_Assignment): Code cleanup removing duplicated check on
1605	null excluding access types.
1606
16072008-08-04  Ed Schonberg  <schonberg@adacore.com>
1608
1609	* sem_ch12.adb: Add comments
1610
1611	* sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null
1612	access type and the allocator is not initialized, warn rather than
1613	reporting an error.
1614
16152008-08-04  Robert Dewar  <dewar@adacore.com>
1616
1617	* exp_ch4.adb: Minor reformatting
1618
1619	* exp_dist.adb: Minor reformatting
1620
1621	* g-comlin.adb: Minor reformatting
1622
16232008-08-04  Gary Dismukes  <dismukes@adacore.com>
1624
1625	* exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the
1626	target to the type of the aggregate in the case where the target object
1627	is class-wide.
1628
1629	* exp_ch5.adb (Expand_Simple_Function_Return): When the function's
1630	result type is class-wide and inherently limited, and the expression
1631	has a specific type, create a return object of the specific type, for
1632	more efficient handling of returns of build-in-place aggregates (avoids
1633	conversions of the class-wide return object to the specific type on
1634	component assignments).
1635
1636	* sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error
1637	about a type mismatch for a class-wide function with a return object
1638	having a specific type when the object declaration doesn't come from
1639	source. Such an object can result from the expansion of a simple return.
1640
16412008-08-04  Vasiliy Fofanov  <fofanov@adacore.com>
1642
1643	* g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files.
1644
1645	* gcc-interface/Makefile.in: Use 64bit-specific system files when
1646	compiling for 64bit windows.
1647
16482008-08-04  Jerome Lambourg  <lambourg@adacore.com>
1649
1650	* g-comlin.adb (Group_Switches): Preserve the switch order when
1651	grouping and allow switch grouping of switches with more than one
1652	character extension (e.g. gnatw.x).
1653	(Args_From_Expanded): Remove this now obsolete method.
1654
16552008-08-04  Ed Schonberg  <schonberg@adacore.com>
1656
1657	* exp_ch4.adb (Get_Allocator_Final_List): Freeze anonymous type for
1658	chain at once, to ensure that type is properly decorated for back-end,
1659	when allocator appears within a loop.
1660
16612008-08-04  Kevin Pouget  <pouget@adacore.com>
1662
1663	* snames.h, snames.adb, snames.ads:
1664	Add Attr_To_Any, Attr_From_Any and Attr_TypeCode defines.
1665
1666	* exp_dist.ads, exp_dist.adb: Add Build_From_Any_Call,
1667	Build_To_Any_Call and Build_TypeCode_Call procedures.
1668
1669	* exp_attr.adb, sem_attr.adb: Add corresponding cases.
1670
1671	* rtsfind.ads: Add corresponding names.
1672
1673	* tbuild.adb: Update prefix restrictions to allow '_' character.
1674
16752008-08-04  Doug Rupp  <rupp@adacore.com>
1676
1677	* gigi.h (fill_vms_descriptor): Add third parameter gnat_actual
1678	* trans.c (call_to_gnu): Call fill_vms_descriptor with new parameter.
1679	* utils2.c (fill_vms_descriptor): Add third parameter for error sloc and
1680	use it.  Calculate pointer range overflow using 64bit types.
1681
16822008-08-04  Ed Schonberg  <schonberg@adacore.com>
1683
1684	* sem_ch3.adb (Access_Definition): A formal object declaration is a
1685	legal context for an anonymous access to subprogram.
1686
1687	* sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an
1688	indirect call, report success to the caller to include possible
1689	interpretation.
1690
1691	* sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance
1692	check when the type
1693	of the extended return is an anonymous access_to_subprogram type.
1694
1695	* sem_res.adb:
1696	(Resolve_Call): Insert a dereference if the type of the subprogram is an
1697	access_to_subprogram and the context requires its return type, and a
1698	dereference has not been introduced previously.
1699
17002008-08-04  Arnaud Charlet  <charlet@adacore.com>
1701
1702	* usage.adb (Usage): Minor rewording of -gnatwz switch, to improve
1703	gnatcheck support in GPS.
1704
17052008-08-04  Vincent Celier  <celier@adacore.com>
1706
1707	* mlib.adb (Create_Sym_Links): Create relative symbolic links when
1708	requested
1709
17102008-08-04  Vincent Celier  <celier@adacore.com>
1711
1712	* gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean
1713	variable, but don't check the resulting value as it has no impact on
1714	the processing.
1715
1716	* opt.ads:
1717	(Generate_Processed_File): New Boolean flag, set to True in the compiler
1718	when switch -gnateG is used.
1719
1720	* prep.adb:
1721	(Preprocess): new Boolean out parameter Source_Modified. Set it to True
1722	when the source is modified by the preprocessor and there is no
1723	preprocessing errors.
1724
1725	* prep.ads (Preprocess): new Boolean out parameter Source_Modified
1726
1727	* sinput-l.adb:
1728	(Load_File): Output the result of preprocessing if the source text was
1729	modified.
1730
1731	* switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG
1732
1733	* switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG
1734
1735	* ug_words: Add VMS equivalent for -gnateG
1736
1737	* vms_data.ads:
1738	Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG
1739
17402008-08-04  Doug Rupp  <rupp@adacore.com>
1741
1742	* gcc-interface/utils2.c:
1743	(fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointer
1744	in 32bit descriptor.
1745
17462008-08-04  Robert Dewar  <dewar@adacore.com>
1747
1748	* par-ch10.adb: Minor reformatting
1749
1750	* i-cobol.adb: Minor reformatting.
1751
17522008-08-04  Ed Schonberg  <schonberg@adacore.com>
1753
1754	* sem_ch3.adb (Access_Definition): Create an itype reference for an
1755	anonymous access return type of a regular function that is not a
1756	compilation unit.
1757
17582008-08-04  Vincent Celier  <celier@adacore.com>
1759
1760	* prj-attr.adb: New Builder attribute Global_Compilation_Switches
1761
1762	* snames.adb: New standard name Global_Compilation_Switches
1763
1764	* snames.ads: New standard name Global_Compilation_Switches
1765
1766	* make.adb: Correct spelling error in comment
1767
17682008-08-04  Arnaud Charlet  <charlet@adacore.com>
1769
1770	* sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLI
1771	target.
1772
17732008-08-04  Thomas Quinot  <quinot@adacore.com>
1774
1775	* sem_ch10.adb: Minor comment fix.
1776
17772008-08-04  Robert Dewar  <dewar@adacore.com>
1778
1779	* restrict.adb: Improved messages for restriction warnings
1780
1781	* restrict.ads: Improved messages for restriction messages
1782
1783	* s-rident.ads (Profile_Name): Add No_Profile
1784
17852008-08-04  Robert Dewar  <dewar@adacore.com>
1786
1787	* system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus
1788
17892008-08-04  Robert Dewar  <dewar@adacore.com>
1790
1791	* freeze.adb (Freeze_Entity): Check for size clause for boolean warning
1792
17932008-08-04  Vincent Celier  <celier@adacore.com>
1794
1795	* prj-proc.adb:
1796	(Copy_Package_Declarations): When inheriting package Naming from a
1797	project being extended, do not inherit source exception names.
1798
17992008-08-04  Ed Schonberg  <schonberg@adacore.com>
1800
1801	* sem_prag.adb (Check_Precondition_Postcondition): When scanning the
1802	list of declaration to find previous subprogram, do not go to the
1803	original node of a generic unit.
1804
18052008-08-02  Eric Botcazou  <ebotcazou@adacore.com>
1806
1807	* gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR, MINUS_EXPR>:
1808	New case.  Convert BOOLEAN_TYPE operation to the default integer type.
1809
18102008-08-01  Eric Botcazou  <ebotcazou@adacore.com>
1811
1812	* gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE.
1813	* gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify
1814	and adjust for above renaming.
1815	* gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new
1816	gnu_expr_alt_type parameter.  Convert the expression to it instead
1817	of changing its type in place.
1818	(build_function_stub): Adjust call to above function.
1819
18202008-08-01  Eric Botcazou  <ebotcazou@adacore.com>
1821
1822	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead
1823	code.  Do not get full definition of deferred constants with address
1824	clause for a use.  Do not ignore deferred constant definitions with
1825	address clause.  Ignore constant definitions already marked with the
1826	error node.
1827	<object>: Remove obsolete comment.  For a deferred constant with
1828	address clause, get the initializer from the full view.
1829	* gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>:
1830	Rework and remove obsolete comment.
1831	<N_Object_Declaration>: For a deferred constant with address clause,
1832	mark the full view with the error node.
1833	* gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix
1834	formatting nits.
1835
18362008-08-01  Hristian Kirtchev  <kirtchev@adacore.com>
1837
1838	* rtsfind.ads: Add block IO versions of stream routines for Strings.
1839
1840	* bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads,
1841	sem_prag.adb, snames.adb, snames.ads, snames.h,
1842	par-prag.adb: Undo previous stream related changes.
1843
1844	* s-rident.ads: Add new restriction No_Stream_Optimizations.
1845
1846	* s-ststop.ads, s-ststop.adb: Comment reformatting.
1847	Define enumeration type to designate different IO mechanisms.
1848	Enchance generic package Stream_Ops_Internal to include an
1849	implementation of Input and Output.
1850
1851	* exp_attr.adb (Find_Stream_Subprogram): If restriction
1852	No_Stream_Optimization is active, choose the default byte IO
1853	implementations of stream attributes for Strings.
1854	Otherwise use the corresponding block IO version.
1855
18562008-08-01  Olivier Hainque  <hainque@adacore.com>
1857
1858	* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: Do not
1859	turn Ada Pure into GCC const, now implicitely implying nothrow as well.
1860
18612008-08-01  Robert Dewar  <dewar@adacore.com>
1862
1863	* par-ch3.adb (P_Defining_Identifier): Avoid repeated attempt to
1864	convert plain identifier into defining identifier.
1865
18662008-08-01  Robert Dewar  <dewar@adacore.com>
1867
1868	* sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improve
1869	warnings
1870
1871	* lib-xref.adb: Add error defense.
1872
18732008-08-01  Bob Duff  <duff@adacore.com>
1874
1875	* ioexcept.ads, sequenio.ads, directio.ads: Correct comment.
1876
18772008-08-01  Gary Dismukes  <dismukes@adacore.com>
1878
1879	* exp_ch6.adb (Expand_Call): Adjustment to previous fix for passing
1880	correct accessibility levels. In the "when others" case, retrieve the
1881	access level of the Etype of Prev rather than Prev_Orig, because the
1882	original exression has not always been analyzed.
1883
18842008-08-01  Robert Dewar  <dewar@adacore.com>
1885
1886	* prj-nmsc.adb: Minor reformatting
1887
1888	* sem_ch4.adb: Minor reformatting
1889	Minor code reorganization
1890
1891	* prj.ads: Minor reformatting
1892
1893	* s-os_lib.adb: Minor reformatting
1894
1895	* par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upper
1896	half encodings
1897
1898	* scans.ads: Minor reformatting.
1899
1900	* sem_prag.adb (Analyze_Pragma): Put entries in alpha order
1901	(Analyze_Pragma): Make sure all GNAT pragmas call GNAT_Pragma
1902
1903	* sem_res.adb:
1904	(Resolve_Call): Check violation of No_Specific_Termination_Handlers
1905
1906	* sem_ch12.adb: Minor comment reformatting
1907
1908	* par-ch3.adb (P_Type_Declaration): Properly handle missing type
1909	keyword
1910
19112008-08-01  Robert Dewar  <dewar@adacore.com>
1912
1913	* sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if not
1914	generating code
1915
19162008-08-01  Ed Schonberg  <schonberg@adacore.com>
1917
1918	* checks.adb (Apply_Float_Conversion_Check): If the expression to be
1919	converted is a real literal and the target type has static bounds,
1920	perform the conversion exactly to prevent floating-point anomalies on
1921	some targets.
1922
19232008-08-01  Vincent Celier  <celier@adacore.com>
1924
1925	* prj-attr.adb: New attribute Compiler'Name_Syntax (<lang>)
1926
1927	* prj-nmsc.adb (Process_Compiler): Recognize attribute Name_Syntax
1928
1929	* prj.adb (Object_Exist_For): Use Object_Generated, not
1930	Objects_Generated that is removed and was never modified anyway.
1931
1932	* prj.ads:
1933	(Path_Syntax_Kind): New enumeration type
1934	(Language_Config): New component Path_Syntax, defaulted to Host.
1935	Components PIC_Option and Objects_Generated removed, as they are not
1936	used.
1937
1938	* snames.adb: New standard name Path_Syntax
1939
1940	* snames.ads: New standard name Path_Syntax
1941
19422008-08-01  Vincent Celier  <celier@adacore.com>
1943
1944	* mlib-utl.adb:
1945	(Adalib_Path): New variable to store the path of the adalib directory
1946	when procedure Specify_Adalib_Dir is called.
1947	(Lib_Directory): If Adalib_Path is not null, return its value
1948	(Specify_Adalib_Dir): New procedure
1949
1950	* mlib-utl.ads (Specify_Adalib_Dir): New procedure
1951
19522008-08-01  Ed Schonberg  <schonberg@adacore.com>
1953
1954	* sem_prag.adb:
1955	(Check_Precondition_Postcondition): If not generating code, analyze the
1956	expression in a postcondition that appears in a subprogram body, so that
1957	it is properly decorated for ASIS use.
1958
19592008-08-01  Gary Dismukes  <dismukes@adacore.com>
1960
1961	* exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets
1962	Orig_Prev to Prev in the case where the actual is N_Function_Call or
1963	N_Identifier. This was interfering with other cases that are rewritten
1964	as N_Identifier, such as allocators, resulting in passing of the wrong
1965	accessibility level, and based on testing this code is apparently no
1966	longer needed at all.
1967
19682008-08-01  Ed Schonberg  <schonberg@adacore.com>
1969
1970	* sem_ch4.adb (Analyze_One_Call): Handle complex overloading of a
1971	procedure call whose prefix
1972	is a parameterless function call that returns an access_to_procedure.
1973
19742008-08-01  Jose Ruiz  <ruiz@adacore.com>
1975
1976	* adaint.c (__gnat_tmp_name): Refine the generation of temporary names
1977	for RTX. Adding a suffix that is incremented at each iteration.
1978
19792008-08-01  Robert Dewar  <dewar@adacore.com>
1980
1981	* sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of
1982	Raise_Exception
1983
19842008-08-01  Jerome Lambourg  <lambourg@adacore.com>
1985
1986	* s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in
1987	paths, which are authorized by Windows but can lead to errors when used
1988	elsewhere.
1989
19902008-08-01  Ed Schonberg  <schonberg@adacore.com>
1991
1992	* sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create
1993	a pending instantiation for the body of a subprogram that is to be
1994	inlined.
1995
1996	* sem_ch12.adb:
1997	(Analyze_Subprogram_Instantiation): use Need_Subprogram_Instance_Body.
1998
1999	* sem_prag.adb (Make_Inline): If the pragma applies to an instance,
2000	create a pending instance for its body, so that calls to the subprogram
2001	can be inlined by the back-end.
2002
20032008-08-01  Jose Ruiz  <ruiz@adacore.com>
2004
2005	* gnat_ugn.texi: Document the RTX run times (rts-rtx-rtss and
2006	rts-rtx-w32).
2007
20082008-08-01  Robert Dewar  <dewar@adacore.com>
2009
2010	* scng.adb (Error_Illegal_Wide_Character): Bump scan pointer
2011
20122008-08-01  Doug Rupp  <rupp@adacore.com>
2013
2014	* gnat_rm.texi: Document new mechanism Short_Descriptor.
2015
2016	* types.ads (Mechanism_Type): Modify range for new Short_Descriptor
2017	mechanism values.
2018
2019	* sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
2020	mechanism and Short_Descriptor mechanism values.
2021
2022	* snames.adb (preset_names): Add short_descriptor entry.
2023
2024	* snames.ads: Add Name_Short_Descriptor.
2025
2026	* types.h: Add new By_Short_Descriptor mechanism values.
2027
2028	* sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
2029	mechanism and Short_Descriptor mechanism values.
2030
2031	* sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism
2032	values.
2033	(Descriptor_Codes): Modify range for new mechanism values.
2034
2035	* treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor
2036	mechanism values.
2037
2038	* gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor.
2039	(gnat_to_gnu_param): Handle By_Short_Descriptor.
2040
2041	* gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype.
2042	(build_vms_descriptor32): New prototype.
2043	(fill_vms_descriptor): Remove unneeded gnat_actual parameter.
2044
2045	* gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual
2046	argument in call fill_vms_descriptor.
2047
2048	* gcc-interface/utils.c (build_vms_descriptor32): Renamed from
2049	build_vms_descriptor and enhanced to hande Short_Descriptor mechanism.
2050	(build_vms_descriptor): Renamed from build_vms_descriptor64.
2051	(convert_vms_descriptor32): New function.
2052	(convert_vms_descriptor64): New function.
2053	(convert_vms_descriptor): Rewrite to handle both 32bit and 64bit
2054	descriptors.
2055
2056	* gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes,
2057	no longer needed.
2058
20592008-08-01  Jose Ruiz  <ruiz@adacore.com>
2060
2061	* adaint.c (__gnat_tmp_name): RTSS applications do not support tempnam
2062	nor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporary
2063	name.
2064
20652008-08-01  Jose Ruiz  <ruiz@adacore.com>
2066
2067	* cstreams.c (__gnat_full_name): RTSS applications cannot ask for the
2068	current directory so only fully qualified names are allowed.
2069
20702008-08-01  Robert Dewar  <dewar@adacore.com>
2071
2072	* gnat_ugn.texi:
2073	Minor editing, remove uncomfortable use of semicolon
2074
2075	* s-ststop.adb: Add some ??? comments
2076
2077	* sem_ch10.adb: Minor reformatting
2078
2079	* snames.ads:
2080	Minor comment fixes, some pragmas were not properly
2081	categorized in the comments, documentation change only
2082
2083	* xref_lib.adb: Minor reformatting
2084
2085	* sinput.adb: Minor reformatting
2086
2087	* gnatchop.adb: Minor reformatting
2088
2089	* sem_util.ads: Minor reformatting.
2090
2091	* opt.ads: Minor documentation fix
2092
2093	* scng.adb: Minor reformatting
2094
2095	* prj-part.adb: Update comments
2096
20972008-08-01  Ed Schonberg  <schonberg@adacore.com>
2098
2099	* exp_disp.adb (Expand_Interface_Conversion): If the target type is a
2100	tagged synchronized type, use corresponding record type.
2101
21022008-08-01  Doug Rupp  <rupp@adacore.com>
2103
2104	* mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output a
2105	dummy transfer address for debugging.
2106
2107	* mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise.
2108
2109	* vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING
2110
21112008-07-31  Eric Botcazou  <ebotcazou@adacore.com>
2112
2113	* gcc-interface/decl.c (gnat_to_gnu_entity): Fix formatting.
2114	* gcc-interface/utils.c (create_field_decl): Avoid superfluous work.
2115
21162008-07-31  Pascal Obry  <obry@adacore.com>
2117
2118	* prj-nmsc.adb: Keep Object and Exec directory casing.
2119
21202008-07-31  Jose Ruiz  <ruiz@adacore.com>
2121
2122	* system-rtx-rtss.ads
2123	Change the default stack size. It is important to set the commit part.
2124
2125	* s-taprop-rtx.adb
2126	(Initialize): Get the clock resolution.
2127	(RT_Resolution): Return the clock resolution that is indicated by the
2128	system.
2129
2130	* s-parame-vxworks.adb
2131	Document that this body is used for RTX in RTSS (kernel) mode.
2132
2133	* gcc-interface/Makefile.in
2134	(LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the
2135	s-parame-vxworks.adb body in order to have reasonable stack sizes in
2136	RTX RTSS kernel mode. Virtual memory is not used in that case, so we
2137	cannot ask for too big values.
2138
21392008-07-31  Robert Dewar  <dewar@adacore.com>
2140
2141	* exp_aggr.adb: Minor reformatting
2142
2143	* makeutl.adb: Minor reformatting
2144
2145	* prj-env.adb: Minor reformatting
2146
21472008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
2148
2149	* exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private
2150	tagged type is completed by a concurrent type.
2151
21522008-07-31  Gary Dismukes  <dismukes@adacore.com>
2153
2154	* sem_aggr.adb:
2155	(Resolve_Record_Aggregate): Bypass error that a type without
2156	components must have a "null record" aggregate when compiling for Ada
2157	2005, since it's legal to give an aggregate of form (others => <>)
2158	for such a type.
2159
21602008-07-31  Javier Miranda  <miranda@adacore.com>
2161
2162	* sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to
2163	handle synchronized types. Required to handle well the object.operation
2164	notation applied to synchronized types.
2165
21662008-07-31  Quentin Ochem  <ochem@adacore.com>
2167
2168	* s-stausa.adb (Fill_Stack): Stack_Used_When_Filling is now stored
2169	anymore - just used internally.
2170	Added handling of very small tasks - when the theoretical size is
2171	already full at the point of the call.
2172	(Report_Result): Fixed result computation, Stack_Used_When_Filling does
2173	not need to be added to the result.
2174
21752008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
2176
2177	* sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the
2178	corresponding spec is a primitive wrapper. Update comment.
2179
21802008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
2181
2182	* bindgen.adb Comment reformatting. Update the list of run-time globals.
2183	(Gen_Adainit_Ada): Add the declaration, import and value set for
2184	configuration flag Canonical_Streams.
2185	(Gen_Adainit_C): Add the declaration and initial value of external
2186	symbol __gl_canonical_streams.
2187
2188	* init.c: Update the list of global values computed by the binder.
2189
2190	* opt.ads: Add flag Canonical_Streams.
2191
2192	* par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of
2193	semantically handled pragmas.
2194
2195	* sem_prag.adb: Add an entry into enumeration type Sig_Flags.
2196	(Analyze_Pragma): Add case for pragma Canonical_Streams.
2197
2198	* snames.adb: Add character value for name Canonical_Streams.
2199
2200	* snames.ads:
2201	Add Name_Canonical_Streams to the list of configuration pragmas.
2202	Add Pragma_Canonical_Streams to enumeration type Pragma_Id.
2203
2204	* snames.h: Add a definition for Pragma_Canonical_Streams.
2205
2206	* s-ststop.adb:
2207	Add a flag and import to seize the value of external symbol
2208	__gl_canonical_streams. Update comment and initial value of constant
2209	Use_Block_IO.
2210
2211	* gnat_rm.texi: Add section of pragma Canonical_Streams.
2212
2213	* gnat_ugn.texi:
2214	Add pragma Canonical_Streams to the list of configuration pragmas.
2215
22162008-07-31  Ed Schonberg  <schonberg@adacore.com>
2217
2218	* sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause
2219	has the form A.B.C and B is a unit renaming, analyze its compilation
2220	unit and add a with_clause on A.b to the context.
2221
22222008-07-31  Vincent Celier  <celier@adacore.com>
2223
2224	* makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails,
2225	return the empty string, instead of raising Constraint_Error.
2226
22272008-07-31  Gary Dismukes  <dismukes@adacore.com>
2228
2229	* checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.
2230
2231	* checks.adb (Apply_Accessibility_Check): Insert the check on
2232	Insert_Node.
2233
2234	* exp_attr.adb:
2235	(Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node
2236	to new parameter Insert_Node on call to Apply_Accessibility_Check.
2237	Necessary to distinguish the insertion node because the dereferenced
2238	formal may come from a rename, but the check must be inserted in
2239	front of the attribute.
2240
2241	* exp_ch4.adb:
2242	(Expand_N_Allocator): Pass actual for new Insert_Node parameter on
2243	call to Apply_Accessibility_Check.
2244	(Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter
2245	on call to Apply_Accessibility_Check.
2246	Minor reformatting
2247
22482008-07-31  Javier Miranda  <miranda@adacore.com>
2249
2250	* sem_type.adb (Has_Compatible_Type): Complete support for synchronized
2251	types when the candidate type is a synchronized type.
2252
2253	* sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized
2254	types, and complete management of synchronized types adding missing
2255	code to handle formal that is a synchronized type.
2256
2257	* sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that
2258	are not available and cause the compiler to blowup. Found compiling
2259	test with switch -gnatc
2260
2261	* sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram
2262	Has_Correct_Formal_Mode plus code cleanup.
2263
22642008-07-31  Bob Duff  <duff@adacore.com>
2265
2266	* sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was
2267	recognized as two end-of-lines, but it should be just one.
2268
22692008-07-31  Thomas Quinot  <quinot@adacore.com>
2270
2271	* exp_ch9.adb: Minor reformatting
2272
2273	* tbuild.ads: Fix several occurrences of incorrectly referring to
2274	Name_Find as Find_Name.
2275
22762008-07-31  Ed Schonberg  <schonberg@adacore.com>
2277
2278	* exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component
2279	and the context is an object declaration with non-static bounds, treat
2280	the aggregate as non-static.
2281
22822008-07-31  Vincent Celier  <celier@adacore.com>
2283
2284	* prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb:
2285	Move back spec of Parse_Single_Project to body, as it is not called
2286	outside of package Prj.Part.
2287	(Project_Data): Remove components Linker_Name, Linker_Path and
2288	Minimum_Linker_Options as they are no longer set.
2289	Remove function There_Are_Ada_Sources from package Prj and move code
2290	in the only place it was used, in Prj.Env.Set_Ada_Paths.
2291
22922008-07-31  Arnaud Charlet  <charlet@adacore.com>
2293
2294	* mlib-utl.ads: Fix typo.
2295
22962008-07-31  Robert Dewar  <dewar@adacore.com>
2297
2298	* sem_ch12.adb: Minor reformatting
2299
23002008-07-31  Sergey Rybin  <rybin@adacore.com>
2301
2302	* gnat_ugn.texi: Change the description of the
2303	Overly_Nested_Control_Structures: now the rule always requires a
2304	positive parameter for '+R' option
2305
23062008-07-31  Thomas Quinot  <quinot@adacore.com>
2307
2308	* g-pehage.adb: Minor reformatting
2309
23102008-07-31  Pascal Obry  <obry@adacore.com>
2311
2312	* s-finimp.ads: Minor reformatting.
2313
23142008-07-31  Vincent Celier  <celier@adacore.com>
2315
2316	* s-regexp.ads: Minor comment fix
2317
23182008-07-31  Arnaud Charlet  <charlet@adacore.com>
2319
2320	* s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off),
2321	so that we can compile this file successfully with -gnatc.
2322
23232008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
2324
2325	* exp_attr.adb (Find_Stream_Subprogram): Check the base type instead
2326	of the type when looking for stream subprograms for type String,
2327	Wide_String and Wide_Wide_String.
2328
2329	* s-ststop.adb: Change the initialization expression of constant
2330	Use_Block_IO.
2331
23322008-07-31  Geert Bosch  <bosch@adacore.com>
2333
2334	* arit64.c:
2335	New file implementing __gnat_mulv64 signed integer multiplication with
2336	overflow checking
2337
2338	* fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi
2339
2340	* gcc-interface/gigi.h:
2341	(standard_types): Add ADT_mulv64_decl
2342	(mulv64_decl): Define subprogram declaration for __gnat_mulv64
2343
2344	* gcc-interface/utils.c:
2345	(init_gigi_decls): Add initialization of mulv64_decl
2346
2347	* gcc-interface/trans.c:
2348	(build_unary_op_trapv): New function
2349	(build_binary_op_trapv): New function
2350	(gnat_to_gnu): Use the above functions instead of
2351	build_{unary,binary}_op
2352
2353	* gcc-interface/Makefile.in
2354	(LIBGNAT_SRCS): Add arit64.c
2355	(LIBGNAT_OBJS): Add arit64.o
2356
23572008-07-31  Vincent Celier  <celier@adacore.com>
2358
2359	* prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or
2360	Linker'Default_Switches are declared. Warn if they are declared.
2361
23622008-07-31  Ed Schonberg  <schonberg@adacore.com>
2363
2364	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
2365	Insert_Actions to place the pointer declaration in the code, rather
2366	than Insert_Before_And_Analyze, so that insertions of temporaries are
2367	kept in the proper order when transient scopes are present.
2368
2369
23702008-07-31  Robert Dewar  <dewar@adacore.com>
2371
2372	* einfo.adb (Spec_PPC): Now defined for generic subprograms
2373
2374	* einfo.ads (Spec_PPC): Now defined for generic subprograms
2375
2376	* sem_prag.adb (Check_Precondition_Postcondition): Handle generic
2377	subprogram case
2378
23792008-07-31  Vincent Celier  <celier@adacore.com>
2380
2381	* s-os_lib.adb: Minor comment fix
2382
23832008-07-31  Ed Schonberg  <schonberg@adacore.com>
2384
2385	* sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis,
2386	transfer pre/postconditions from generic copy to original tree, so that
2387	they will appear in each instance.
2388	(Process_PPCs): Do not transform postconditions into a procedure in a
2389	generic context, to prevent double expansion of check pragmas.
2390
2391	* sem_attr.adb: In an instance, the prefix of the 'result attribute
2392	can be the renaming of the
2393	current instance, so check validity of the name accordingly.
2394
23952008-07-31  Robert Dewar  <dewar@adacore.com>
2396
2397	* mlib-utl.ads: Minor reformatting
2398
23992008-07-31  Ed Schonberg  <schonberg@adacore.com>
2400
2401	sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved
2402	from context. This attribute must be usable in Ada95 mode.
2403	The attribute can appear in the body of a function marked
2404	Inline_Always, but in this case the postocondition is not enforced.
2405
2406	sem_prag.adb (Check_Precondition_Postcondition): within the expansion
2407	of an inlined call pre- and postconditions are legal
2408
24092008-07-31  Vincent Celier  <celier@adacore.com>
2410
2411	* prj.adb, prj.ads, clean.adb, prj-nmsc.adb: Remove declarations that
2412	were for gprmake only
2413
24142008-07-31  Robert Dewar  <dewar@adacore.com>
2415
2416	* gnat_ugn.texi: Update -gnatN documentation.
2417
2418	* gnat_rm.texi: Add note about pre/postcondition
2419	pragmas not checked in conjunction with front-end inlining.
2420
24212008-07-31  Robert Dewar  <dewar@adacore.com>
2422
2423	* g-pehage.adb, g-pehage.ads: Minor reformatting
2424
24252008-07-31  Arnaud Charlet  <charlet@adacore.com>
2426
2427	* mlib-utl.ads, prj-makr.ads: Add comments.
2428
24292008-07-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
2430
2431	* gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS)
2432	[WINDOWS]: Add s-winext.o.
2433
24342008-07-30  Eric Botcazou  <ebotcazou@adacore.com>
2435
2436	PR ada/36554
2437	* back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi.
2438	* gcc-interface/gigi.h (gigi): Take new standard_boolean parameter.
2439	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
2440	Set precision to 1 for subtype of BOOLEAN_TYPE.
2441	(set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE.
2442	(make_type_from_size): Deal with BOOLEAN_TYPE.
2443	* gcc-interface/misc.c (gnat_print_type): Likewise.
2444	* gcc-interface/trans.c (gigi): Take new standard_boolean parameter.
2445	Set boolean_type_node as its translation in the table, as well
2446	as boolean_false_node for False and boolean_true_node for True.
2447	* gcc-interface/utils.c (gnat_init_decl_processing): Create custom
2448	8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM.
2449	(create_param_decl): Deal with BOOLEAN_TYPE.
2450	(build_vms_descriptor): Likewise.
2451	(build_vms_descriptor64): Likewise.
2452	(convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE.
2453
24542008-07-30  Robert Dewar  <dewar@adacore.com>
2455
2456	* exp_ch9.adb: Minor reformatting
2457
2458	* exp_util.ads (Find_Prim_Op): Document that Program_Error is raised
2459	if no primitive operation is found.
2460
2461	* exp_util.adb: (Find_Prim_Op): Add comments for previous change
2462
2463	* sem_ch8.adb: Minor reformatting
2464
24652008-07-30  Laurent Pautet  <pautet@adacore.com>
2466
2467	* g-pehage.adb:
2468	Remove a limitation on the length of the words handled by the minimal
2469	perfect hash function generator.
2470
2471	* g-pehage.ads:
2472	Detail the use of subprograms Insert, Initialize, Compute and Finalize.
2473	Fix some typos.
2474
24752008-07-30  Robert Dewar  <dewar@adacore.com>
2476
2477	* gnatlink.adb: Minor reformatting
2478
24792008-07-30  Thomas Quinot  <quinot@adacore.com>
2480
2481	* rtsfind.adb (Check_RPC): Check version consistency even when not
2482	generating RCI stubs. Provide more detailed error message in case of
2483	mismatch.
2484
24852008-07-30  Ed Schonberg  <schonberg@adacore.com>
2486
2487	* sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute
2488	as a actual in an instance, check for a missing attribute to prevent
2489	program_error on an illegal program.
2490
2491	* exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program
2492	error if primitive is not found, so that exception can be handled
2493	elsewhere on illegal programs.
2494
24952008-07-30  Robert Dewar  <dewar@adacore.com>
2496
2497	* uintp.adb (UI_GCD): Fix potential overflow
2498
24992008-07-30  Hristian Kirtchev  <kirtchev@adacore.com>
2500
2501	* einfo.adb: Flag245 is now used.
2502	(Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion
2503	check to include functions.
2504	(Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
2505	(Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to
2506	include functions.
2507	(Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive
2508	to the list of displayed flags.
2509
2510	* einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and
2511	Wrapped_Entity. These two flags are now present in functions.
2512	New flag Is_Private_Primitive.
2513	(Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
2514
2515	* exp_ch9.adb:
2516	(Build_Wrapper_Bodies): New subprogram.
2517	(Build_Wrapper_Body): The spec and body have been moved to in
2518	Build_Wrapper_ Bodies. Code cleanup.
2519	(Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup.
2520	Wrappers are now generated for primitives declared between the private
2521	and full view of a concurrent type that implements an interface.
2522	(Build_Wrapper_Specs): New subprogram.
2523	(Expand_N_Protected_Body): Code reformatting. Replace the wrapper body
2524	creation mechanism with a call to Build_Wrapper_Bodies.
2525	(Expand_N_Protected_Type_Declaration): Code reformatting. Replace the
2526	wrapper spec creation mechanism with a call to Build_Wrapper_Specs.
2527	(Expand_N_Task_Body): Replace the wrapper body creation
2528	mechanism with a call to Build_Wrapper_Bodies.
2529	(Expand_N_Task_Type_Declaration): Replace the wrapper spec
2530	creation mechanism with a call to Build_Wrapper_Specs.
2531	(Is_Private_Primitive_Subprogram): New subprogram.
2532	(Overriding_Possible): Code cleanup.
2533	(Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup.
2534
2535	* exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9.
2536
2537	* sem_ch3.adb: Add with and use clause for Exp_Ch9.
2538	(Process_Full_View): Build wrapper specs for all primitives
2539	that belong to a private view completed by a concurrent type
2540	implementing an interface.
2541
2542	* sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram
2543	is a primitive of a
2544	concurrent type with a private view that implements an interface, try to
2545	find the proper spec.
2546	(Analyze_Subprogram_Declaration): Mark a subprogram as a private
2547	primitive if the type of its first parameter is a non-generic tagged
2548	private type.
2549	(Analyze_Subprogram_Specification): Code reformatting.
2550	(Disambiguate_Spec): New routine.
2551	(Find_Corresponding_Spec): Add a flag to controll the output of errors.
2552	(Is_Private_Concurrent_Primitive): New routine.
2553
2554	* sem_ch6.ads:
2555	(Find_Corresponding_Spec): Add a formal to control the output of errors.
2556
25572008-07-30  Doug Rupp  <rupp@adacore.com>
2558
2559	* gigi.h (build_vms_descriptor64): New function prototype.
2560	(fill_vms_descriptor): Modified function prototype.
2561
2562	* utils.c (build_vms_descriptor64): New function.
2563
2564	* utils2.c (fill_vms_descriptor): Fix handling on 32bit systems.
2565
2566	* trans.c (call_to_gnu): Call fill_vms_descriptor with new third
2567	argument.
2568
2569	* decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a
2570	64bit and 32bit descriptor and save the 64bit version as an alternate
2571	TREE_TYPE in the parameter.
2572	(make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the
2573	thin pointer.
2574
2575	* ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros.
2576
25772008-07-30  Robert Dewar  <dewar@adacore.com>
2578
2579	* make.adb: Minor reformatting
2580
2581	* mlib-utl.adb: Minor reformatting
2582
2583	* osint.ads: Minor reformatting
2584
25852008-07-30  Jose Ruiz  <ruiz@adacore.com>
2586
2587	* adaint.c
2588	(__gnat_file_exists): Do not use __gnat_stat for RTX.
2589	(__main for RTX in RTSS mode): Create this dummy procedure symbol to
2590	avoid the use of this symbol from libgcc.a in RTX kernel mode.
2591
2592	* cio.c
2593	(put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call
2594	the function RtPrintf for console output.
2595
2596	* argv.c Do not use the environ variable for RTX.
2597
2598	* gnatlink.adb (gnatlink): The part that handles the --RTS option has
2599	been moved before the call to Osint.Add_Default_Search_Dirs in order
2600	to take into account the flags in system.ads (RTX_RTSS_Kernel_Module)
2601	from the appropriate run time.
2602
2603	* targparm.ads
2604	(RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if
2605	target is a RTSS module for RTX.
2606
2607	* targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for
2608	RTX_RTSS_Kernel_Module
2609	(Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag.
2610
2611	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc
2612	exception handling mechanism for Windows and RTX in Win32 mode, but
2613	not for RTX in kernel mode (RTSS).
2614	(LIBGNAT_SRCS): Remove ada.h
2615
26162008-07-30  Paolo Bonzini  <bonzini@gnu.org>
2617
2618	* gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and
2619	T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS.
2620	(ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS.
2621	* gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS,
2622	X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS,
2623	ALL_ADA_CFLAGS): Remove.
2624	(ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS,
2625	replace ALL_ADA_CFLAGS with ADA_CFLAGS.
2626	(GCC_CFLAGS): Remove X_CFLAGS.
2627	(LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS.
2628	(ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS.
2629	(ADA_CFLAGS): Substitute.
2630
26312008-07-30  Laurent Guerby  <laurent@guerby.net>
2632
2633	PR ada/5911
2634	* gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables.
2635	Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts.
2636	Replace stamp-gnatlib* by stamp-gnatlib*-rts.
2637	* gcc-interface/Make-lang.in: Replace stamp-gnatlib2
2638	by stamp-gnatlib2-rts.
2639
26402008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2641
2642	PR documentation/15479
2643	* gnat-style.texi: Remove AdaCore copyright statement and GPL
2644	statement for GNAT.  Add @copying stanza, use it.  Update to
2645	GFDL 1.2.  Do not list GFDL as Invariant Section, do not list
2646	title as Front-Cover Text.
2647	* gnat_rm.texi: Likewise.
2648	* gnat_ugn.texi: Likewise.
2649
26502008-07-29  Jan Hubicka  <jh@suse.cz>
2651
2652	* trans.c (process_inlined_subprograms): Remove tree_really_inline
2653	check.
2654
26552008-07-29  Arnaud Charlet  <charlet@adacore.com>
2656
2657	* gcc-interface: New directory.
2658
2659	* ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h,
2660	utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c,
2661	config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved
2662	to gcc-interface subdirectory.
2663
26642008-07-29  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
2665
2666	* Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
2667
26682008-07-28  Jan Hubicka  <jh@suse.cz>
2669
2670	* misc.c (gnat_post_options): Do not set flag_no_inline.
2671
26722008-07-28  Richard Guenther  <rguenther@suse.de>
2673
2674	Merge from gimple-tuples-branch.
2675
2676	2008-07-22  Olivier Hainque  <hainque@adacore.com>
2677
2678	* gigi.h (end_subprog_body): New ELAB_P argument, saying if
2679	this is called for an elab proc to be discarded if empty.
2680	* utils.c (end_subprog_body): Honor ELAB_P.
2681	(build_function_stub): Adjust call to end_subprog_body.
2682	* trans.c (Subprogram_Body_to_gnu): Likewise.
2683	(gigi): Reorganize processing of elab procs to prevent
2684	gimplifying twice, using the new end_subprog_body argument.
2685
2686	2008-07-19  Richard Guenther  <rguenther@suse.de>
2687
2688	* Make-lang.in (trans.o): Add tree-iterator.h dependency.
2689	(utils.o): Likewise.
2690	* trans.c: Include tree-iterator.h.
2691	(gnat_gimplify_expr): Adjust prototype.  Fix typo.
2692	(gnat_gimplify_stmt): Use SET_EXPR_LOCATION.
2693	(set_expr_location_from_node): Likewise.
2694	(gigi): Tuplify.
2695	* ada-tree.h (union lang_tree_node): Use TREE_CHAIN instead
2696	of GENERIC_NEXT.
2697	* utils.c: Include tree-iterator.h.
2698	* gigi.h (gnat_gimplify_expr): Adjust prototype.
2699
2700	2008-07-18  Aldy Hernandez  <aldyh@redhat.com>
2701
2702	* trans.c: Include gimple.h instead of tree-gimple.h.
2703	* utils.c: Same.
2704
2705	2008-07-14  Aldy Hernandez  <aldyh@redhat.com>
2706
2707	* trans.c (gnat_gimplify_expr): Use gimplify_assign.
2708
27092008-07-25  Jan Hubicka  <jh@suse.cz>
2710
2711	* utils.c (end_subprog_body): Remove inline trees check.
2712	* misc.c (gnat_post_options): Do not set flag_inline_trees.
2713
27142008-07-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2715
2716	* raise-gcc.c: Move tsystem.h before tm.h.
2717
27182008-07-20  Arnaud Charlet  <charlet@adacore.com>
2719
2720	* gnathtml.pl: New file.
2721
27222008-07-19  Olivier Hainque  <hainque@adacore.com>
2723
2724	* targtyps.c (get_target_default_allocator_alignment): Use
2725	MALLOC_ABI_ALIGNMENT.
2726
27272008-07-17  Olivier Hainque  <hainque@adacore.com>
2728
2729	* adaint.c (__MINGW32__ section): Include ctype.h and define
2730	a fallback ISALPHA if IN_RTS.
2731	(__gnat_is_absolute_path): Use ISALPHA instead of isalpha.
2732
27332008-07-17  Olivier Hainque  <hainque@adacore.com>
2734
2735	* utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG
2736	argument, to apply to references in addition to definitions.  Prevent
2737	setting TREE_STATIC on externals.
2738	(gnat_pushdecl): Always clear DECL_CONTEXT on public externals.
2739
27402008-07-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2741
2742	PR documentation/15479
2743	* gnat_ugn.texi (@ovar): New macro, from autoconf.texi.
2744	Replace backets around optional parameters with @ovar
2745	where possible, use @r{[}, @r{]} otherwise.
2746	Replace some @r, @i, and @emph with @var where appropriate.
2747
27482008-07-02  Eric Botcazou  <ebotcazou@adacore.com>
2749
2750	* decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up.
2751
27522008-06-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2753
2754	* ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix
2755	-Wc++-compat warnings.
2756	* adaint.c (__gnat_locate_regular_file, __gnat_locate_exec,
2757	__gnat_locate_exec_on_path): Likewise.
2758	* decl.c (annotate_value): Likewise.
2759	* misc.c (gnat_handle_option): Likewise.
2760	* trans.c (gnat_to_gnu, extract_encoding, decode_name,
2761	post_error_ne_tree): Likewise.
2762
27632008-06-27  Eric Botcazou  <ebotcazou@adacore.com>
2764
2765	* utils.c (convert) <CONSTRUCTOR>: When converting it to a packable
2766	version of its type, attempt to first convert its elements.
2767
27682008-06-26  Chris Proctor  <chrisp_42@bigpond.com>
2769
2770	* Makefile.in: Fix *86 kfreebsd target specific pairs.
2771
27722008-06-25  Samuel Tardieu  <sam@rfc1149.net>
2773
2774	* Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well.
2775
27762008-06-24  Eric Botcazou  <ebotcazou@adacore.com>
2777
2778	* utils2.c (known_alignment): Derive the alignment from pointed-to
2779	types only if it is otherwise unknown.
2780	<INTEGER_CST>: Tidy.
2781	<MULT_EXPR>: Likewise.
2782	<POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use
2783	that of the base.
2784
27852008-06-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2786
2787	PR ada/36573
2788	* s-osinte-hpux-dce.ads (SA_ONSTACK): Define.
2789
27902008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2791
2792	* gnat_rm.texi (Implementation Defined Characteristics)
2793	(Standard Library Routines): Use @smallexample for indented
2794	text.  Drop Indentation outside examples.
2795	* gnat_ugn.texi: Likewise.
2796
27972008-06-13  Olivier Hainque  <hainque@adacore.com>
2798
2799	* decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
2800	if undefined.
2801	(gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack
2802	realignment with force_align_arg_pointer attribute on foreign
2803	convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
2804
28052008-06-13  Olivier Hainque  <hainque@adacore.com>
2806
2807	* utils.c (rest_of_record_type_compilation): When computing
2808	encodings for the components of a variable size type, early
2809	strip conversions on the current position expression to make
2810	sure it's shape is visible.  Use remove_conversions for this
2811	purpose.
2812
28132008-06-12  Eric Botcazou  <ebotcazou@adacore.com>
2814
2815	* decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a
2816	constrained subtype of a discriminated type, discard the fields that
2817	are beyond its limits according to its size.
2818
28192008-06-10  Olivier Hainque  <hainque@adacore.com>
2820
2821	* utils.c (create_subprog_decl): If this is for the 'main' entry
2822	point according to the asm name, redirect main_identifier_node.
2823
28242008-06-09  Eric Botcazou  <ebotcazou@adacore.com>
2825
2826	* decl.c (components_to_record): Adjust the packedness for the
2827	qualified union as well.
2828
28292008-06-09  Arnaud Charlet  <charlet@adacore.com>
2830
2831	* Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle
2832	checks non fatal.
2833
28342008-06-07  Samuel Tardieu  <sam@rfc1149.net>
2835
2836	* sem_res.adb (Large_Storage_Type): A type is large if it
2837	requires as many bits as Positive to store its values and its
2838	bounds are known at compile time.
2839	* sem_ch13.adb (Minimum_Size): Note that this function returns
2840	0 if the size is not known at compile time.
2841
28422008-06-06  Nicolas Setton  <setton@adacore.com>
2843	    Olivier Hainque  <hainque@adacore.com>
2844
2845	* ada-tree.h (DECL_PARALLEL_TYPE): New language specific
2846	attribute, parallel descriptive type attached to another
2847	type for debug info generation purposes.
2848	* utils.c (add_parallel_type): New function, register
2849	parallel type to be attached to a type.
2850	(get_parallel_type): New function, fetch a registered
2851	parallel type, if any.
2852	(rest_of_record_type_compilation): Register the parallel
2853	type we	make for variable size records.
2854	* gigi.h (add_parallel_type, get_parallel_type): Declare.
2855	* decl.c (gnat_to_gnu_entity, maybe_pad_type): Register	the
2856	parallel debug types we make.
2857	* trans.c (extract_encoding, decode_name): New functions.
2858	(gigi): If the DWARF attribute extensions are available, setup
2859	to use them.
2860	* lang.opt: Register language specific processing request
2861	for -gdwarf+.
2862	* misc.c (gnat_dwarf_extensions): New global variable. How much
2863	do we want of our DWARF extensions. 0 by default.
2864	(gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions.
2865	(gnat_post_options): Map gnat_dwarf_extensions to the
2866	commonuse_gnu_debug_info_extensions for later processing.
2867
28682008-06-04  Samuel Tardieu  <sam@rfc1149.net>
2869
2870	* einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP.
2871
28722008-06-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2873
2874	* Makefile.in (common_tools): Fix typos in $(exeext) extension.
2875	* gnat_ugn.texi (Style Checking)
2876	(Adding the Results of Compiler Checks to gnatcheck Output)
2877	(Example of Binder Output File): Fix typos.
2878	* ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb,
2879	exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads,
2880	s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb,
2881	s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
2882	sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads,
2883	sinfo.ads, utils.c: Fix typos in comments.
2884	* sem_ch6.adb, vms_data.ads: Fix typos in strings.
2885
28862008-05-29  Thomas Quinot  <quinot@adacore.com>
2887
2888	* sem_eval.adb: Minor reformatting
2889
28902008-05-29  Ed Schonberg  <schonberg@adacore.com>
2891
2892	* sem_ch6.adb (Analyze_Subprogram_Specification): if the return type
2893	is abstract, do not apply abstractness check on subprogram if this is
2894	a renaming declaration.
2895
28962008-05-29  Arnaud Charlet  <charlet@adacore.com>
2897
2898	PR ada/864
2899	* osint.ads, osint.adb (Program_Name): New parameter "Prog" to
2900	allow recognition of program suffix in addition to prefix.
2901
2902	* gnatchop.adb (Locate_Executable): Add support for prefix.
2903
2904	* make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb,
2905	mlib-utl.adb: Adjust calls to Program_Name.
2906
29072008-05-29  Robert Dewar  <dewar@adacore.com>
2908
2909	* sem_ch3.adb: Minor reformatting
2910	* sem_prag.adb: Minor reformatting
2911	* sem_res.adb: Minor reformatting
2912	* sinput-p.ads: Minor reformatting
2913
29142008-05-29  Javier Miranda  <miranda@adacore.com>
2915
2916	* sem_util.adb:
2917	(Abstract_Interface_List): Add missing support for full type-declaration
2918	associated with synchronized types.
2919
29202008-05-29  Robert Dewar  <dewar@adacore.com>
2921
2922	* sem_eval.adb (Is_Same_Value): Take care of several more cases
2923
29242008-05-28  Ed Schonberg  <schonberg@adacore.com>
2925
2926	* sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous
2927	access type, wrap the expression in a conversion to force an
2928	accessibility check.
2929
2930	* sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force
2931	accessibility checks even when expansion is disabled in order to
2932	generate messages in the presence of previous errors or in
2933	semantics-only mode.
2934
29352008-05-28  Eric Botcazou  <ebotcazou@adacore.com>
2936
2937	* system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False.
2938	* system-lynxos-x86.ads (Always_Compatible_Rep): Set to False.
2939
29402008-05-28  Vincent Celier  <celier@adacore.com>
2941
2942	PR ada/34446
2943	* gnat_ugn.texi: Document restriction introduced on 2007-04-20 in
2944	preprocessing expressions
2945
29462008-05-28  Vincent Celier  <celier@adacore.com>
2947
2948	* sinput-p.adb (Source_File_Is_Subunit): Allow special character used
2949	for preprocessing
2950
2951	* sinput-p.ads: Minor comment update and reformatting
2952
29532008-05-28  Ed Schonberg  <schonberg@adacore.com>
2954
2955	* sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram
2956	type has a deeper level than any master only when it is the type of an
2957	access parameter.
2958
29592008-05-28  Javier Miranda  <miranda@adacore.com>
2960
2961	* sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation.
2962
29632008-05-28  Javier Miranda  <miranda@adacore.com>
2964
2965	* sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed.
2966	* sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed.
2967	* sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal.
2968	Add code that was previously located in
2969	Find_Overridden_Synchronized_Primitive because it is only used here.
2970
29712008-05-28  Sergey Rybin  <rybin@adacore.com>
2972
2973	* sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set
2974	Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION.
2975
29762008-05-28  Robert Dewar  <dewar@adacore.com>
2977
2978	* restrict.ads:
2979	Add missing restrictions, and properly label all GNAT defined ones
2980
2981	* rtsfind.ads:
2982	Add entry for Ada_Real_Time.Timing_Events.Timing_Event
2983	Add entry for Ada.Task_Termination.Set_Specific_Handler
2984	Add entry for Ada.Task_Termination.Specific_Handler
2985
2986	* s-rident.ads:
2987	Add missing restrictions and properly mark all gnat defined ones
2988
2989	* sem_ch3.adb:
2990	(Analyze_Object_Declaration): Check No_Local_Timing_Events restriction
2991
2992	* sem_res.adb:
2993	(Resolve_Call): Check violation of No_Specific_Termination_Handlers
2994
2995	* gnat_rm.texi: Add missing restrictions, and properly label all
2996	GNAT defined ones
2997
29982008-05-28  Robert Dewar  <dewar@adacore.com>
2999
3000	* restrict.adb:
3001	(Check_Restriction): violation of restriction No_Finalization is
3002	treated as a serious error to stop expansion
3003
30042008-05-28  Robert Dewar  <dewar@adacore.com>
3005
3006	* exp_util.adb: Minor reformatting
3007	* exp_util.ads: Minor reformatting.
3008
30092008-05-28  Arnaud Charlet  <charlet@adacore.com>
3010
3011	* Make-lang.in: Remove gprmake.
3012
3013	* gprmake.adb, makegpr.ads, makegpr.adb: Removed.
3014
30152008-05-28  Ed Schonberg  <schonberg@adacore.com>
3016
3017	* sem_ch3.adb (Diagnose_Interface): Cleanup error messages involving
3018	improper progenitor names, and avoid cascaded errors.
3019
30202008-05-28  Robert Dewar  <dewar@adacore.com>
3021
3022	* gnat_rm.texi: Add note on Old giving warning when applied to constant
3023
3024	* sem_attr.adb (Analyze_Attribute, case Old): Give warning if prefix is
3025	a constant
3026
30272008-05-28  Robert Dewar  <dewar@adacore.com>
3028
3029	* exp_fixd.adb (Build_Multiply): Correct one-off error in computing
3030	size
3031
30322008-05-28  Robert Dewar  <dewar@adacore.com>
3033
3034	* exp_ch5.adb:
3035	(Expand_Simple_Function_Return): Copy unaligned result into temporary
3036
30372008-05-28  Javier Miranda  <miranda@adacore.com>
3038
3039	* sem_ch3.adb (Derive_Progenitor_Primitives): Add missing support
3040	for user-defined predefined primitives.
3041
3042	* sem_util.adb (Matches_Prefixed_View_Profile): Ditto.
3043	(Find_Overridden_Synchronized_Primitive): Ditto.
3044
3045	* sem_ch6.adb (Check_Synchronized_Overriding): Ditto.
3046
30472008-05-27  Arnaud Charlet  <charlet@adacore.com>
3048
3049	* a-ststio.adb, s-direio.adb:
3050	Further code clean up of previous change.
3051	Update comments.
3052
30532008-05-27  Vincent Celier  <celier@adacore.com>
3054
3055	* prj-nmsc.adb: Minor reformatting
3056
30572008-05-27  Bob Duff  <duff@adacore.com>
3058
3059	* sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an
3060	untagged private type with a tagged full type, where the full type has
3061	a self reference, create the corresponding class-wide type early, in
3062	case the self reference is "access T'Class".
3063
30642008-05-27  Ed Schonberg  <schonberg@adacore.com>
3065
3066	* exp_aggr.adb (Build_Array_Aggr_Code): If component type includes
3067	tasks and context is an object declaration. create master entity before
3068	expansion.
3069
30702008-05-27  Robert Dewar  <dewar@adacore.com>
3071
3072	* mlib-prj.adb: Minor reformatting
3073
3074	* prj-part.adb: Minor reformatting
3075
3076	* prj.ads: Minor reformatting
3077
3078	* exp_ch3.adb: Minor reformatting.
3079
3080	* sem_ch3.ads: Minor reformatting
3081
3082	* sem_eval.adb: Minor reformatting
3083
30842008-05-27  Vincent Celier  <celier@adacore.com>
3085
3086	* gnatcmd.adb:
3087	<prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack
3088
30892008-05-27  Ed Schonberg  <schonberg@adacore.com>
3090
3091	* exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains
3092	tasks, create an activation chain now, before the expansion into
3093	assignments and build-in-place calls that require the presence of an
3094	activation chain.
3095	(Backend_Processing_Possible): If the component type is inherently
3096	limited, the aggregate must be expanded into individual built-in-place
3097	assignments.
3098
3099	* sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to
3100	determine whether an allocation extra parameter must be built, to
3101	handle case of a private type whose full type is a discriminated type
3102	with defaults.
3103
31042008-05-27  Bob Duff  <duff@adacore.com>
3105
3106	* gnat_rm.texi:
3107	Document the new behavior regarding trampolines.
3108
31092008-05-27  Arnaud Charlet  <charlet@adacore.com>
3110
3111	* a-direio.adb, a-sequio.adb: Replace address clause by
3112	unrestricted_access, simpler and compatible with .NET.
3113
31142008-05-27  Vincent Celier  <celier@adacore.com>
3115
3116	* prj-part.adb:
3117	(Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find
3118	a project file, so that symbolic links are not resolved.
3119
31202008-05-27  Arnaud Charlet  <charlet@adacore.com>
3121
3122	* a-ztexio.adb, a-textio.adb, a-witeio.adb, s-direio.adb:
3123	Replace heavy address clause by 'Unrestricted_Access, cleaner and more
3124	portable across GNAT targets, since this kind of address clause is not
3125	supported by VM back-ends (.NET/JGNAT).
3126
31272008-05-27  Arnaud Charlet  <charlet@adacore.com>
3128
3129	* bindgen.adb: Update comments.
3130
3131	* s-tasinf-mingw.adb: Add "with" of System.OS_Interface
3132
31332008-05-27  Vincent Celier  <celier@adacore.com>
3134
3135	* gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb,
3136	prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb,
3137	mlib-tgt.adb, prj-env.adb, prj-env.ads:
3138	(Path_Information): New record type
3139	Use component of type Path_Information when there are two paths, one in
3140	canonical format and one in display format.
3141	Update the project manager to these new components.
3142
31432008-05-27  Robert Dewar  <dewar@adacore.com>
3144
3145	* makeutl.adb: Minor reformatting
3146	* prj-nmsc.adb: Minor reformatting
3147	* s-stausa.adb: Minor reformatting
3148	* s-stausa.ads: Minor reformatting
3149	* sem_ch6.adb: Minor reformatting
3150
31512008-05-27  Thomas Quinot  <quinot@adacore.com>
3152
3153	* sem_res.adb: Minor comment fixes
3154
31552008-05-27  Thomas Quinot  <quinot@adacore.com>
3156
3157	* makeutl.adb: Minor code reorganization
3158
3159	* exp_aggr.adb: Add ??? comment
3160	Fix typo
3161
3162	* exp_ch6.adb: Minor reformatting
3163
31642008-05-27  Quentin Ochem  <ochem@adacore.com>
3165
3166	* s-stausa.adb (Initialize): Updated result initialization, and
3167	initialization of environment stack.
3168	(Fill_Stack): Improved computation of the pattern zone, taking into
3169	account already filled at the calling point.
3170	(Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of
3171	Measure and Overflow_Guard.
3172	(Report_Result): Fixed computation of the result using new fields of
3173	Stack_Analyzer.
3174
3175	* s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard
3176	params by more explicit Stack_Size / Max_Pattern_Size params.
3177	(Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields.
3178	Added Stack_Used_When_Filling field.
3179	(Task_Result): Replaced Measure / Overflow_Guard by more explicit
3180	Min_Measure and Max_Measure fields.
3181
3182	* s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer.
3183
31842008-05-27  Vincent Celier  <celier@adacore.com>
3185
3186	* prj-nmsc.adb:
3187	(Check_File): Make sure that a unit that replaces the same unit in a
3188	 project being extended is properly processed.
3189
31902008-05-27  Ed Schonberg  <schonberg@adacore.com>
3191
3192	* sem_ch3.adb:
3193	(Get_Discr_Value): Remove obsolete code that failed to find the value
3194	of a discriminant for an inherited task component appearing in a type
3195	extension.
3196
31972008-05-27  Thomas Quinot  <quinot@adacore.com>
3198
3199	(System.File_IO.{Close, Delete, Reset}):
3200	Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr".
3201
3202	(Ada.*_IO.{Close, Delete, Reset, Set_Mode}):
3203	Pass File parameter by reference.
3204
32052008-05-27  Vincent Celier  <celier@adacore.com>
3206
3207	* prj-nmsc.adb:
3208	(Process_Sources_In_Multi_Language_Mode): Check that there are not two
3209	sources of the same project that have the same object file name.
3210	(Find_Explicit_Sources): Always remove a source exception that was not
3211	found.
3212
32132008-05-27  Thomas Quinot  <quinot@adacore.com>
3214
3215	* sem_ch3.adb: Minor reformatting
3216
32172008-05-27  Ed Schonberg  <schonberg@adacore.com>
3218
3219	* sem_ch6.adb:
3220	(Is_Interface_Conformant): Handle properly a primitive operation that
3221	overrides an interface function with a controlling access result.
3222	(Type_Conformance): If Skip_Controlling_Formals is true, when matching
3223	inherited and overriding operations, omit as well the conformance check
3224	on result types, to prevent spurious errors.
3225
32262008-05-27  Vincent Celier  <celier@adacore.com>
3227
3228	* makeutl.ads, makeutl.adb:
3229	(Set_Location): New procedure
3230	(Get_Location): New function
3231	(Update_Main): New procedure
3232
32332008-05-27  Vincent Celier  <celier@adacore.com>
3234
3235	* prj-nmsc.adb:
3236	(Check_Library): Allow standard project to be extended as a static
3237	library project.
3238	(Get_Mains): Do not inherit attribute Main in an extending library
3239	project.
3240
32412008-05-27  Eric Botcazou  <ebotcazou@adacore.com>
3242
3243	* system-darwin-ppc.ads (Always_Compatible_Rep): Set to False.
3244	* system-darwin-x86.ads (Always_Compatible_Rep): Likewise.
3245	* system-freebsd-x86.ads (Always_Compatible_Rep): Likewise.
3246	* system-linux-ppc.ads (Always_Compatible_Rep): Likewise.
3247	* system-linux-x86_64.ads (Always_Compatible_Rep): Likewise.
3248	* system-linux-x86.ads (Always_Compatible_Rep): Likewise.
3249	* system-mingw.ads (Always_Compatible_Rep): Likewise.
3250	* system-solaris-sparc.ads (Always_Compatible_Rep): Likewise.
3251	* system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise.
3252	* system-solaris-x86.ads (Always_Compatible_Rep): Likewise.
3253
32542008-05-27  Ed Schonberg  <schonberg@adacore.com>
3255
3256	* sem_attr.adb: add guard to previous patch.
3257
32582008-05-27  Ed Schonberg  <schonberg@adacore.com>
3259
3260	* exp_disp.adb (Build_Dispatch_Tables): For a private type completed by
3261	a synchronized tagged type, do not attempt to build dispatch table for
3262	full view. The table is built for the corresponding record type, which
3263	has its own declaration.
3264
32652008-05-27  Gary Dismukes  <dismukes@adacore.com>
3266
3267	* sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype
3268	to the known type entity E, rather than setting it to Any_Type. Fixes
3269	possible blowup in function Base_Init_Proc, as called from Freeze_Entity
3270	for objects whose type had an illegal constraint.
3271
32722008-05-27  Vincent Celier  <celier@adacore.com>
3273
3274	* gnat_ugn.texi:
3275	Add succinct documentation for attribute Excluded_Source_List_File
3276
32772008-05-27  Vincent Celier  <celier@adacore.com>
3278
3279	* prj-attr.adb: Add new project level attribute Map_File_Option
3280
3281	* prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option
3282
3283	* prj.ads: Minor reformatting and comment update
3284	(Project_Configuration): New component Map_File_Option
3285
3286	* snames.adb: New standard name Map_File_Option
3287
3288	* snames.ads: New standard name Map_File_Option
3289
32902008-05-27  Vincent Celier  <celier@adacore.com>
3291
3292	* xsnames.adb: Remove unused variable Oname
3293
32942008-05-27  Doug Rupp  <rupp@adacore.com>
3295
3296	* exp_ch6.adb:
3297	(Expand_N_Function_Call): Fix comments. Minor reformatting.
3298
3299	* exp_vfpt.ads:
3300	(Expand_Vax_Foreign_Return): Fix comments.
3301
33022008-05-27  Thomas Quinot  <quinot@adacore.com>
3303
3304	* exp_dist.adb: Minor reformating
3305
33062008-05-26  Gary Dismukes  <dismukes@adacore.com>
3307
3308	* exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for
3309	No_Default_Initialization, which is now delayed until the freeze point
3310	of the object. Add a comment about deferral of the check.
3311
3312	* freeze.adb (Freeze_Entity): The check for No_Default_Initialization
3313	on objects is moved here.
3314
33152008-05-26  Eric Botcazou  <ebotcazou@adacore.com>
3316
3317	* s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
3318	(Compare_Array_S16): Adjust for above change.
3319	* s-casi32.adb (Uword): Likewise.
3320	(Compare_Array_S32): Likewise.
3321	* s-casi64.adb (Uword): Likewise.
3322	(Compare_Array_S64): Likewise.
3323	* s-caun16.adb (Uhalf): Likewise.
3324	(Compare_Array_U16): Likewise.
3325	* s-caun32.adb (Uword): Likewise.
3326	(Compare_Array_U32): Likewise.
3327	* s-caun64.adb (Uword): Likewise.
3328	(Compare_Array_U64): Likewise.
3329
33302008-05-26  Robert Dewar  <dewar@adacore.com>
3331
3332	* exp_ch6.adb: Add ??? comment for previous change
3333
3334	* exp_vfpt.adb: Minor reformatting
3335
3336	* exp_vfpt.ads: Add ??? comment for last change
3337
3338	* sem_attr.adb: Add some ??? comments for previous change
3339
3340	* s-vaflop.ads: Add comments for previous change
3341
33422008-05-26  Doug Rupp  <rupp@adacore.com>
3343
3344	* s-vaflop-vms-alpha.adb:
3345	Remove System.IO use clause, to prevent spurious ambiguities when
3346	package is access through rtsfind.
3347
33482008-05-26  Sergey Rybin  <rybin@adacore.com>
3349
3350	* tree_io.ads (ASIS_Version_Number): Update because of the changes
3351	made in front-end
3352
33532008-05-26  Ed Schonberg  <schonberg@adacore.com>
3354
3355	* sem_attr.adb:
3356	(Resolve_Attribute, case 'address):  S (A .. B)' address can be safely
3357	converted to S (A)'address only if A .. B is known to be a non-null
3358	range.
3359
33602008-05-26  Doug Rupp  <rupp@adacore.com>
3361
3362	* s-vaflop.adb:
3363	(Return_D, Return_F, Return_G): New functions.
3364
3365	* s-vaflop.ads:
3366	(Return_D, Return_F, Return_G): New functions.
3367
3368	* exp_vfpt.adb:
3369	(Expand_Vax_Foreign_Return): New procedure
3370
3371	* exp_vfpt.ads:
3372	(Expand_Vax_Foreign_Return): New procedure
3373
3374	* rtsfind.ads:
3375	(RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids
3376	(RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements
3377
3378	* exp_ch6.adb:
3379	Import Exp_Vfpt
3380	(Expand_N_Function_Call): Call Expand_Vax_Foreign_Return.
3381
3382	* s-vaflop-vms-alpha.adb:
3383	(Return_D, Return_F, Return_G): New functions.
3384
33852008-05-26  Gary Dismukes  <dismukes@adacore.com>
3386
3387	* exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy
3388	init proc entity when there is actual default initialization associated
3389	with the component type, to avoid spurious errors on objects of scalar
3390	array types that are marked Is_Public when No_Default_Initialization
3391	applies.
3392
33932008-05-26  Thomas Quinot  <quinot@adacore.com>
3394
3395	* rtsfind.ads, rtsfind.adb:
3396	(RE_Get_RACW): New runtime library entity provided by PolyORB s-parint.
3397	(Check_RPC): Support per-PCS-kind API versioning.
3398
3399	exp_dist.ads, exp_dist.adb:
3400	(Build_Stub_Tag, Get_Stub_Elements): New utility subprograms.
3401	(PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime
3402	 library function Get_RACW.
3403	(PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime
3404	library function Get_Reference.
3405	(PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going
3406	through an intermediate Any.
3407	(PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of
3408	going through an intermediate Any.
3409
3410	* sem_dist.adb: Minor reformatting.
3411
34122008-05-26  Javier Miranda  <miranda@adacore.com>
3413
3414	* einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.
3415	(Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
3416	(Is_Internal): Adding documentation on internal entities that have
3417 	attribute Interface_Alias (old attribute Abstract_Interface_Alias)
3418
3419	* einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias.
3420	(Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
3421 	Added assertion to force entities with this attribute to have
3422 	attribute Is_Internal set to True.
3423	(Next_Tag_Component): Simplify assertion using attribute Is_Tag.
3424
3425	* sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been
3426 	renamed as Derive_Progenitor_Subprograms. In addition, its code is
3427 	a new implementation.
3428	(Add_Interface_Tag_Components): Remove special management of
3429	synchronized interfaces.
3430	(Analyze_Interface_Declaration): Minor reformating
3431	(Build_Derived_Record_Type): Minor reformating
3432	(Check_Abstract_Overriding): Avoid reporting error in case of abstract
3433 	predefined primitive inherited from interface type because the body of
3434 	internally generated predefined primitives of tagged types are generated
3435 	later by Freeze_Type
3436	(Derive_Subprogram): Avoid generating an internal name if the parent
3437 	subprogram overrides an interface primitive.
3438	(Derive_Subprograms): New implementation that keeps separate the
3439 	management of tagged types not implementing interfaces, from tagged
3440 	types that implement interfaces.
3441	(Is_Progenitor): New implementation.
3442	(Process_Full_View): Add documentation
3443	(Record_Type_Declaration): Replace call to Derive_Interface_Subprograms
3444 	by call to Derive_Progenitor_Subprograms.
3445
3446	* sem_ch6.ads (Is_Interface_Conformant): New subprogram.
3447	(Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
3448 	Skip_Controlling_Formals.
3449
3450	* sem_ch6.adb (Is_Interface_Conformant): New subprogram.
3451	(Check_Conventions): New implementation. Remove local subprogram
3452 	Skip_Check. Remove formal Search_From of routine Check_Convention.
3453	(Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
3454 	Skip_Controlling_Formals.
3455	(New_Overloaded_Entity): Enable addition of predefined dispatching
3456 	operations.
3457
3458	* sem_disp.ads
3459	(Find_Primitive_Covering_Interface): New subprogram.
3460
3461	* sem_disp.adb (Check_Dispatching_Operation): Disable registering
3462 	the task body procedure as a primitive of the corresponding tagged
3463 	type.
3464	(Check_Operation_From_Private_Type): Avoid adding twice an entity
3465 	to the list of primitives.
3466	(Find_Primitive_Covering_Interface): New subprogram.
3467	(Override_Dispatching_Operation): Add documentation.
3468
3469	* sem_type.adb (Covers): Minor reformatings
3470
3471	* sem_util.ads (Collect_Abstract_Interfaces): Renamed as
3472	Collect_Interfaces.
3473 	Rename formal.
3474	(Has_Abstract_Interfaces): Renamed as Has_Interfaces.
3475	(Implements_Interface): New subprogram.
3476	(Is_Parent): Removed.
3477	(Primitive_Names_Match): New subprogram.
3478	(Remove_Homonym): Moved here from Derive_Interface_Subprograms.
3479	(Ultimate_Alias): New subprogram.
3480
3481	* sem_util.adb (Collect_Abstract_Interfaces): Renamed as
3482	Collect_Interfaces.
3483 	Remove special management for synchronized types. Rename formal. Remove
3484 	internal subprograms Interface_Present_In_Parent and Add_Interface.
3485	(Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion
3486 	on non-record types by code to return false in such case.
3487	(Implements_Interface): New subprogram.
3488	(Is_Parent): Removed. No special management is now required for
3489 	synchronized types covering interfaces.
3490	(Primitive_Names_Match): New subprogram.
3491	(Remove_Homonym): Moved here from Derive_Interface_Subprograms.
3492	(Ultimate_Alias): New subprogram.
3493
3494	* exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram.
3495 	Add internal entities associated with secondary dispatch tables to
3496 	the list of tagged type primitives that are not interfaces.
3497	(Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities
3498	(Make_Predefined_Primitive_Specs): Code reorganization to improve
3499 	the management of predefined equality operator. In addition, if
3500 	the type has an equality function corresponding with a primitive
3501 	defined in an interface type, the inherited equality is abstract
3502 	as well, and no body can be created for it.
3503
3504	* exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from
3505 	exp_util to exp_disp.
3506	(Is_Predefined_Interface_Primitive): New subprogram. Returns True if
3507 	an entity corresponds with one of the predefined primitives required
3508 	to implement interfaces.
3509	Update copyright notice.
3510
3511	* exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the
3512 	final check on abstract subprograms all the primitives associated with
3513 	interface primitives because they must be visible in the public and
3514 	private part.
3515	(Write_DT): Use Find_Dispatching_Type to locate the name of the
3516	interface type. This allows the use of this routine, for debugging
3517	purposes, when the tagged type is not fully decorated.
3518	(Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp.
3519 	Factorize code calling new subprogram Is_Predefined_Interface_Primitive.
3520	(Is_Predefined_Interface_Primitive): New subprogram. Returns True if an
3521 	entity corresponds with one of the predefined primitives required to
3522 	implement interfaces.
3523
3524	* exp_util.adb (Find_Interface_ADT): New implementation
3525	(Find_Interface): Removed.
3526
3527	* sprint.adb (Sprint_Node_Actual): Generate missing output for the
3528 	list of interfaces associated with nodes
3529	N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration.
3530
35312008-05-26  Thomas Quinot  <quinot@adacore.com>
3532
3533	* exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on
3534	condition for assignment to temporary.
3535
35362008-05-26  Ed Schonberg  <schonberg@adacore.com>
3537
3538	* exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint
3539	checks on the upper bound if the index type is a modular type, to
3540	prevent wrap-around computations when size is close to upper bound of
3541	type.
3542
35432008-05-26  Robert Dewar  <dewar@adacore.com>
3544
3545	* sem_ch3.adb: Minor reformatting
3546
35472008-05-26  Ed Schonberg  <schonberg@adacore.com>
3548
3549	* sem_ch12.adb (Remove_Parent): Use specification of instance
3550	to retrieve generic parent,
3551	to handle properly the case where the instance is a child unit.
3552	Add guard to handle properly wrapper packages.
3553	Minor reformatting
3554
35552008-05-26  Thomas Quinot  <quinot@adacore.com>
3556
3557	* sinfo.ads: Minor reformatting
3558
35592008-05-26  Hristian Kirtchev  <kirtchev@adacore.com>
3560
3561	* exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting.
3562	Generate a tag check when the result subtype of a function, defined by
3563	an access definition, designates a specific tagged type.
3564	(Make_Tag_Check): New routine.
3565
35662008-05-26  Arnaud Charlet  <charlet@adacore.com>
3567
3568	* ceinfo.adb, csinfo.adb: Remove warnings. Update headers.
3569
35702008-05-26  Eric Botcazou  <ebotcazou@adacore.com>
3571
3572	* gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker.
3573	(builtin_decl_for): Likewise.
3574	* trans.c (gigi): Likewise.
3575	* utils.c (def_builtin_1): Fix formatting.
3576
35772008-05-26  Hristian Kirtchev  <kirtchev@adacore.com>
3578
3579	* exp_ch3.adb (Build_Init_Statements): Alphabetize local variables.
3580	Create the statements which map a string name to protected or task
3581	entry indix.
3582
3583	* exp_ch9.adb: Add with and use clause for Stringt.
3584	Minor code reformatting.
3585	(Build_Entry_Names): New routine.
3586	(Make_Initialize_Protection, Make_Task_Create_Call): Generate a value
3587	for flag Build_Entry_Names which controls the allocation of the data
3588	structure for the string names of entries.
3589
3590	* exp_ch9.ads (Build_Entry_Names): New subprogram.
3591
3592	* exp_util.adb (Entry_Names_OK): New function.
3593
3594	* exp_util.ads (Entry_Names_OK): New function.
3595
3596	* rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to
3597	enumerations RE_Id and RE_Unit_Table.
3598
3599	* s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation.
3600	(Free_Entry_Names_Array): New routine.
3601
3602	* s-taskin.ads: Comment reformatting.
3603	Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access.
3604	Add component Entry_Names to record Ada_Task_Control_Block.
3605	(Free_Entry_Names_Array): New routine.
3606
3607	* s-tassta.adb (Create_Task): If flag Build_Entry_Names is set,
3608	dynamically allocate an array
3609	of string pointers. This structure holds string entry names.
3610	(Free_Entry_Names): New routine.
3611	(Free_Task, Vulnerable_Free_Task): Deallocate the entry names array.
3612	(Set_Entry_Names): New routine.
3613
3614	* s-tassta.ads:
3615	(Create_Task): Add formal Build_Entry_Names. The flag is used to
3616	control the allocation of the data structure which stores entry names.
3617	(Set_Entry_Name): New routine.
3618
3619	* s-tpoben.adb:
3620	Add with and use clause for Ada.Unchecked_Conversion.
3621	(Finalize): Deallocate the entry names array.
3622	(Free_Entry_Names): New routine.
3623	(Initialize_Protection_Entries): When flag Build_Entry_Names is set,
3624	create an array of string pointers to hold the entry names.
3625	(Set_Entry_Name): New routine.
3626
3627	* s-tpoben.ads:
3628	Add field Entry_Names to record Protection_Entries.
3629	(Initialize_Protection_Entries): Add formal Build_Entry_Names.
3630	(Set_Entry_Name): New routine.
3631
36322008-05-26  Vincent Celier  <celier@adacore.com>
3633
3634	* prj-nmsc.adb:
3635	(Process_Project_Level_Simple_Attributes): process attribute Library_GCC
3636
3637	* prj.ads:
3638	(Project_Configuration): New component Shared_Lib_Driver
3639
36402008-05-26  Ed Schonberg  <schonberg@adacore.com>
3641
3642	* inline.adb:
3643	(Cleanup_Scopes): For a protected operation, transfer finalization list
3644	to protected body subprogram, to force cleanup actions when needed.
3645
36462008-05-26  Robert Dewar  <dewar@adacore.com>
3647
3648	* sem_cat.adb: Minor reformatting
3649
3650	* gnatname.adb: Minor reformatting
3651
3652	* osint.ads: Minor reformatting
3653
3654	* s-carun8.ads: Minor reformatting
3655
3656	* g-heasor.ads: Minor comment fix (unit is now pure)
3657
36582008-05-26  Robert Dewar  <dewar@adacore.com>
3659
3660	* exp_ch2.adb:
3661	(Expand_Current_Value): Properly type generated integer literal
3662
36632008-05-26  Sergey Rybin  <rybin@adacore.com>
3664
3665	* gnat_ugn.texi: Add description for the new gnatcheck rule -
3666	Separate_Numeric_Error_Handlers.
3667
36682008-05-26  Pascal Obry  <obry@adacore.com>
3669
3670	* sem_aggr.adb: Minor reformatting.
3671
36722008-05-26  Jose Ruiz  <ruiz@adacore.com>
3673
3674	* s-osinte-aix.adb:
3675	(To_Target_Priority): Setting the time slice value to 0 or greater sets
3676	the scheduling policy to FIFO within priorities or round-robin
3677	respectively.
3678	Hence, the priority must be set in this case to the one selected by the
3679	user.
3680
36812008-05-26  Ed Schonberg  <schonberg@adacore.com>
3682
3683	* sem_ch12.adb:
3684	(Remove_Parent): If the enclosing scope is an instance whose generic
3685	parent is declared within some parent scope of the just completed
3686	instance, make full views of the entities in that parent visible, when
3687	applicable.
3688
36892008-05-26  Kai Tietz  <kai.tietz@onevision.com>
3690
3691	* mingw32.h (STD_MINGW): Set to true for target w64.
3692
36932008-05-25  Eric Botcazou  <ebotcazou@adacore.com>
3694
3695	* trans.c (Attribute_to_gnu) <Code_Address>: Set TREE_NO_TRAMPOLINE
3696	instead of TREE_STATIC on the ADDR_EXPR.
3697
36982008-05-24  Eric Botcazou  <ebotcazou@adacore.com>
3699
3700	* trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs.
3701	(Sloc_to_locus): Do not overwrite known GCC locations when translating
3702	GNAT standard locations.
3703
37042008-05-23  Eric Botcazou  <ebotcazou@adacore.com>
3705
3706	* gigi.h (mark_visited): Declare.
3707	* decl.c (gnat_to_gnu_entity): Use mark_visited instead of marking
3708	only the topmost node of expressions.
3709	(elaborate_expression_1): Look deeper for read-only variables.
3710	* trans.c (add_decl_expr): Use mark_visited instead of marking by hand.
3711	(mark_visited): Move logic to mark_visited_r.  Invoke walk_tree.
3712	(mark_visited_r): New function.
3713
37142008-05-23  Vincent Celier  <celier@adacore.com>
3715
3716	* snames.adb: New standard name Excluded_Source_List_File.
3717
3718	* snames.ads: New standard name Excluded_Source_List_File.
3719
3720	* prj-attr.adb: New project level attribute Excluded_Source_List_File.
3721
3722	* prj-nmsc.adb: (Find_Excluded_Sources): New parameter Project.
3723	Get excluded sources from
3724	file indicated by attribute Excluded_Source_List_File, when present and
3725	neither Excluded_Source_Files nor Locally_Removed_Files are declared.
3726
37272008-05-23  Robert Dewar  <dewar@adacore.com>
3728
3729	* exp_dist.adb: Minor reformatting
3730
37312008-05-23  Ed Schonberg  <schonberg@adacore.com>
3732
3733	* sem_attr.adb (Resolve_Attribute, case 'address): If the prefix is a
3734	slice, convert it to an indexed component, which is equivalent, more
3735	efficient, and usable even if the slice itself is not addressable.
3736
37372008-05-23  Olivier Hainque  <hainque@adacore.com>
3738
3739	* gnat_ugn.texi (Calling Conventions): Document that the Intrinsic
3740	convention also allows access to named compiler built-in subprograms
3741	such as the GCC __builtin family.
3742
37432008-05-23  Vincent Celier  <celier@adacore.com>
3744
3745	* prj-nmsc.adb (Check_Naming_Schemes): Check a file for spec, body and
3746	sep. If there are several possibilities, choose the one with the
3747	longer prefix.
3748
37492008-05-23  Vincent Celier  <celier@adacore.com>
3750
3751	* gnatlink.adb (Process_Args): Do not disable scanning of ALI file for
3752	back end switches when executable specified with --GCC= is same as
3753	default, even if there are additional options.
3754
3755	* gnat_ugn.texi:
3756	Document when the back end switches from the ALI file are taken into
3757	account when gnatlink is invoked with --GCC=
3758
37592008-05-23  Thomas Quinot  <quinot@adacore.com>
3760
3761	* s-os_lib.adb:
3762	(copy_File): Do not open destination file if source file is unreadable.
3763
37642008-05-23  Eric Botcazou  <ebotcazou@adacore.com>
3765
3766	* utils.c (handle_type_generic_attribute): Adjust to accept
3767	fixed arguments before an elipsis.
3768
37692008-05-21  Thomas Quinot  <quinot@adacore.com>
3770
3771	* g-sothco.ads, g-sothco.adb: New files.
3772
37732008-05-20  Thomas Quinot  <quinot@adacore.com>
3774
3775	* Makefile.rtl (GNAT.Sockets.Thin_Common): New unit.
3776
3777	* g-sttsne-vxworks.adb: Add missing dependency on Sockets.Constants.
3778	Add missing "with" of Ada.Unchecked_Conversion
3779
3780	* g-soccon-linux-ppc.ads, g-soccon-linux-64.ads, g-soccon-lynxos.ads,
3781	g-soccon-linux-x86.ads, g-soccon-hpux-ia64.ads,
3782	g-soccon-solaris-64.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
3783	g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
3784	g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
3785	g-socthi-vxworks.adb, g-soccon-freebsd.ads, g-soccon.ads:
3786	Move common code out of GNAT.Sockets.Thin implementations and into
3787	Thin_Common.
3788	New constant SIZEOF_fd_set
3789	New flag Has_Sockaddr_Len
3790	New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
3791
3792	* g-stsifd-sockets.adb
3793	(Create): Remove call to Set_Length; use Set_Family to set the family
3794	and (on appropriate platforms) length fields in struct sockaddr.
3795
3796	* g-socthi.adb, g-socthi.ads, g-socthi-vms.ads, g-socthi-vms.adb,
3797	g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.adb,
3798	g-soccon-darwin.ads, g-soccon-darwin.ads: New constant SIZEOF_fd_set
3799	Move common code out of GNAT.Sockets.Thin implementations and into
3800	Thin_Common.
3801
3802	* g-socket.ads, g-socket.adb:
3803	Move common code out of GNAT.Sockets.Thin implementations and into
3804	Thin_Common.
3805	(Connect_Socket, Accept_Socket): Provide new versions of these two
3806	routines that operate with a user specified timeout.
3807	(Bind_Socket, Connect_Socket, Send_Socket): Remove calls to Set_Length,
3808	this is now handled automatically by Set_Family on platforms that
3809	require it.
3810
3811	* gen-soccon.c:
3812	Move common code out of GNAT.Sockets.Thin implementations and into
3813	Thin_Common.
3814	(SIZEOF_sockaddr_in6): On platforms where IPv6 is not supported, define
3815	this constant to 0 (not -1) because we use it to initialize an
3816	unsigned_char value.
3817	Align values for numeric constants only.
3818	Handle the case of systems that do not support AF_INET6.
3819	New constant SIZEOF_fd_set
3820	New flag Has_Sockaddr_Len
3821	New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
3822
3823	* gsocket.h: New flag Has_Sockaddr_Len
3824	New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
3825
38262008-05-20  Santiago Uruena  <uruena@adacore.com>
3827
3828	* i-cobol.ads: Interfaces.COBOL should be preelaborate.
3829
38302008-05-20  Arnaud Charlet  <charlet@adacore.com>
3831
3832	* s-linux-hppa.ads (atomic_lock_t): Put back proper alignment now that
3833	the underlying issue with malloc/free has been fixed. Remove associated
3834	comments.
3835	Minor reformatting.
3836	Related to PR ada/24533
3837
38382008-05-20  Robert Dewar  <dewar@adacore.com>
3839
3840	* ali.adb: Correct casing of ASCII.NUL
3841
3842	* styleg-c.adb (Check_Identifier): Handle case of names in ASCII
3843	properly.
3844
38452008-05-20  Robert Dewar  <dewar@adacore.com>
3846	    Gary Dismukes  <dismukes@adacore.com>
3847
3848	* checks.adb (Apply_Arithmetic_Overflow_Check): Avoid intermediate
3849	overflow if result converted to wider integer type.
3850	(Apply_Type_Conversion_Checks): Don't emit checks on conversions to
3851	discriminated types when discriminant checks are suppressed.
3852
38532008-05-20  Vincent Celier  <celier@adacore.com>
3854
3855	* cstand.adb (Print_Standard): Issue the correct Size clause for type
3856	Wide_Wide_Character.
3857
38582008-05-20  Tristan Gingold  <gingold@adacore.com>
3859
3860	* decl.c: Do not emit a variable for a object that has an address
3861	representation clause whose value is known at compile time.
3862	When a variable has an address clause whose value is known at compile
3863	time, refer to this variable by using directly the address instead of
3864	dereferencing a pointer.
3865
38662008-05-20  Robert Dewar  <dewar@adacore.com>
3867
3868	PR ada/30740
3869	* einfo.ads, einfo.adb (Non_Binary_Modulus): Applies to all types and
3870	subtypes, always False for non-modular types.
3871	Shared_Var_Assign_Proc (node22) and Shared_Var_Read_Proc (node 15)
3872	entry nodes have been replaced by Shared_Var_Procs_Instance (node22)
3873	for Shared_Storage package.
3874	(Is_RACW_Stub_Type): New entity flag.
3875
3876	* exp_ch4.adb
3877	(Expand_N_Op_Expon): Avoid incorrect optimization of a*(2**b) in the
3878	case where we have a modular type with a non-binary modules.
3879	Comments reformattings.
3880
3881	* sem_intr.adb: Simplify code not that Non_Binary_Modulus applies to
3882	all types.
3883
38842008-05-20  Javier Miranda  <miranda@adacore.com>
3885
3886	* exp_aggr.adb
3887	(Build_Record_Aggr_Code): Fix wrong tests checking progenitors. Previous
3888	tests did not covered the case in which the type of the aggregate has
3889	no progenitors but some its parents has progenitors.
3890
38912008-05-20  Gary Dismukes  <dismukes@adacore.com>
3892	    Hristian Kirtchev  <kirtchev@adacore.com>
3893
3894	* exp_ch3.adb
3895	(Expand_N_Object_Declaration): Correct the condition which triggers the
3896	generation of a call to Displace when initializing a class-wide object.
3897	(Build_Dcheck_Functions): Build discriminant-checking for null variants
3898	when Frontend_Layout_On_Target is true to ensure that they're available
3899	for calling when a record variant size function is built in Layout.
3900
39012008-05-20  Ed Schonberg  <schonberg@adacore.com>
3902
3903	* exp_ch5.adb (Expand_Assign_Record): Within an initialization
3904	procedure for a derived type retrieve the discriminant values from the
3905	parent using the corresponding discriminant.
3906	(Expand_N_Assignment_Statement): Skip generation of implicit
3907	if-statement associated with controlled types if we are
3908	compiling with restriction No_Finalization.
3909
39102008-05-20  Vincent Celier  <celier@adacore.com>
3911
3912	* prj.adb (Hash (Project_Id)): New function
3913	(Project_Empty): Add new component Interfaces_Defined
3914
3915	* prj.ads (Source_Data): New component Object_Linked
3916	(Language_Config): New components Object_Generated and Objects_Linked
3917	(Hash (Project_Id)): New function
3918	(Source_Data): New Boolean components In_Interfaces and
3919	Declared_In_Interfaces.
3920	(Project_Data): New Boolean component Interfaces_Defined
3921
3922	* prj-attr.adb:
3923	New project level attribute Object_Generated and Objects_Linked
3924	Add new project level attribute Interfaces
3925
3926	* prj-dect.adb: Use functions Present and No throughout
3927	(Parse_Variable_Declaration): If a string type is specified as a simple
3928	name and is not found in the current project, look for it also in the
3929	ancestors of the project.
3930
3931	* prj-makr.adb:
3932	Replace procedure Make with procedures Initialize, Process and Finalize
3933	to implement H414-023: process different directories with different
3934	patterns.
3935	Use functions Present and No throughout
3936
3937	* prj-makr.ads:
3938	Replace procedure Make with procedures Initialize, Process and Finalize
3939
3940	* prj-nmsc.adb
3941	(Add_Source): Set component Object_Exists and Object_Linked accordnig to
3942	the language configuration.
3943	(Process_Project_Level_Array_Attributes): Process new attributes
3944	Object_Generated and Object_Linked.
3945	(Report_No_Sources): New Boolean parameter Continuation, defaulted to
3946	False, to indicate that the erreor/warning is a continuation.
3947	(Check): Call Report_No_Sources with Contnuation = True after the first
3948	call.
3949	(Error_Msg): Process successively contnuation character and warning
3950	character.
3951	(Find_Explicit_Sources): Check that all declared sources have been found
3952	(Check_File): Indicate in hash table Source_Names when a declared source
3953	is found.
3954	(Check_File): Set Other_Part when found
3955	(Find_Explicit_Sources): In multi language mode, check if all exceptions
3956	to the naming scheme have been found. For Ada, report an error if an
3957	exception has not been found. Otherwise, disregard the exception.
3958	(Check_Interfaces): New procedure
3959	(Add_Source): When Other_Part is defined, set mutual pointers in spec
3960	and body.
3961	(Check): In multi-language mode, call Check_Interfaces
3962	(Process_Sources_In_Multi_Language_Mode): Set In_Interfaces to False
3963	for an excluded source.
3964	(Remove_Source): A source replacing a source in the interfaces is also
3965	in the interfaces.
3966
3967	* prj-pars.adb: Use function Present
3968
3969	* prj-part.adb: Use functions Present and No throughout
3970	(Parse_Single_Project): Set the parent project for child projects
3971	(Create_Virtual_Extending_Project): Register project with no qualifier
3972	(Parse_Single_Project): Allow an abstract project to be extend several
3973	times. Do not allow an abstract project to extend a non abstract
3974	project.
3975
3976	* prj-pp.adb: Use functions Present and No throughout
3977	(Print): Take into account the full associative array attribute
3978	declarations.
3979
3980	* prj-proc.adb: Use functions Present and No throughout
3981	(Expression): Call itself with the same From_Project_Node for the
3982	default value of an external reference.
3983
3984	* prj-strt.adb: Use functions Present and No throughout
3985	(Parse_Variable_Reference): If a variable is specified as a simple name
3986	and is not found in the current project, look for it also in the
3987	ancestors of the project.
3988
3989	* prj-tree.ads, prj-tree.adb (Present): New function
3990	(No): New function
3991	Use functions Present and No throughout
3992	(Parent_Project_Of): New function
3993	(Set_Parent_Project_Of): New procedure
3994
3995	* snames.ads, snames.adb:
3996	Add new standard names Object_Generated and Objects_Linked
3997
39982008-05-20  Hristian Kirtchev  <kirtchev@adacore.com>
3999
4000	* exp_ch6.adb (Expand_Call): Add guard to ensure that both the parent
4001	and the derived type are of the same kind.
4002	(Expand_Call): Generate type conversions for actuals of
4003	record or array types when the parent and the derived types differ in
4004	size and/or packed status.
4005
40062008-05-20  Javier Miranda  <miranda@adacore.com>
4007	    Ed Schonberg  <schonberg@adacore.com>
4008
4009	* exp_disp.adb (Make_DT, Make_Secondary_DT, Make_Tags): Avoid
4010	generating dispatch tables of locally defined tagged types statically.
4011	Remove implicit if-statement that is no longer required.
4012	(Expand_Dispatching_Call): If this is a call to an instance of the
4013	generic dispatching constructor, the type of the first argument may be
4014	a subtype of Tag, so always use the base type to recognize this case.
4015
40162008-05-20  Thomas Quinot  <quinot@adacore.com>
4017
4018	* exp_dist.adb
4019	(GARLIC_Support.Add_RACW_Read_Attribute): When a zero value is received,
4020	and the RACW is null-excluding, raise CONSTRAINT_ERROR instead of
4021	assigning NULL into the result, to avoid a spurious warning.
4022	(Add_RACW_Features, case Same_Scope): Add assertion that designated type
4023	is not frozen.
4024	(Add_Stub_Type): Set entity flag Is_RACW_Stub_Type on generated stub
4025	type.
4026	(Build_From_Any_Function, Build_To_Any_Function,
4027	Build_TypeCode_Function): For a type that has user-specified stream
4028	attributes, use an opaque sequence of octets as the representation.
4029
40302008-05-20  Kevin Pouget  <pouget@adacore.com>
4031
4032	* exp_smem.ads, exp_smem.adb: Construction of access and assign
4033	routines has been replaced by an instantiation of
4034	System.Shared_Storage.Shared_Var_Procs generic package, while expanding
4035	shared variable declaration.
4036	Calls to access and assign routines have been replaced by calls to
4037	Read/Write routines of System.Shared_Storage.Shared_Var_Procs
4038	instantiated package.
4039
4040	* rtsfind.ads: RE_Shared_Var_Procs entry has been added in RE_Unit_Table
4041	It identifies the new generic package added in s-shasto.
4042
4043	* s-shasto.adb, s-shasto.ads: A new generic package has been added, it
4044	is instantiated for each shared passive variable. It provides
4045	supporting procedures called upon each read or write access by the
4046	expanded code.
4047
4048	* sem_attr.adb:
4049	For this runtime unit (always compiled in GNAT mode), we allow
4050	stream attributes references for limited types for the case where
4051	shared passive objects are implemented using stream attributes,
4052	which is the default in GNAT's persistent storage implementation.
4053
40542008-05-20  Ed Schonberg  <schonberg@adacore.com>
4055
4056	* freeze.adb
4057	(Freeze_Enumeration_Type): For a subtype that inherits a foreign
4058	convention from its base type, do not set the type to that of integer,
4059	because it may inherit a size clause.
4060	Warn on a size clause with a size different
4061	from that of Integer, if the type has convention C.
4062
40632008-05-20  Vincent Celier  <celier@adacore.com>
4064
4065	* gnatname.adb
4066	(Scan_Args): Rewrite to take into account new switch --and to separate
4067	arguments into sections.
4068	(Gnatname): Call Prj.Makr.Initialize, then Prj.Makr.Process for each
4069	section, then Finalize.
4070
40712008-05-20  Tristan Gingold  <gingold@adacore.com>
4072
4073	* init.c: Enable stack probing on ppc-linux.
4074
4075	* tracebak.c: Add symbolic traceback for ppc-linux.
4076
4077	* system-linux-ppc.ads: Enable stack probing on ppc-linux.
4078
40792008-05-20  Arnaud Charlet  <charlet@adacore.com>
4080
4081	* Makefile.in
4082	(common-tools): New rule, to avoid parallel build failure on gnat tools.
4083	Reenable parallel builds on this Makefile.
4084
4085	* Make-lang.in: Update dependencies.
4086
40872008-05-20  Robert Dewar  <dewar@adacore.com>
4088
4089	* opt.ads (Treat_Restrictions_As_Warnings): New switch
4090
4091	* sem_prag.adb, par-prag.adb, restrict.ads: Implement flag
4092	Treat_Restrictions_As_Warnings.
4093
4094	* switch-c.adb: Recognize new switch -gnatr
4095
4096	* usage.adb: Add line for -gnatr
4097
40982008-05-20  Hristian Kirtchev  <kirtchev@adacore.com>
4099
4100	* par-ch3.adb
4101	(P_Access_Definition): Change the error message when parsing "access
4102	all" in Ada 95 mode. The message no longer forces the user to recompile
4103	in 05 mode only to discover that anonymous access types are not allowed
4104	to have "all".
4105
41062008-05-20  Hristian Kirtchev  <kirtchev@adacore.com>
4107
4108	* par-ch9.adb
4109	(P_Protected): Update the error message on missing "-gnat05" switch when
4110	using interfaces in conjunction with protected types. Remove the
4111	incorrect error message associated with the presence of "private" after
4112	a "with".
4113
41142008-05-20  Ed Schonberg  <schonberg@adacore.com>
4115
4116	* sem_aggr.adb: Update comments.
4117	Improve previous change for PR ada/17985
4118
41192008-05-20  Thomas Quinot  <quinot@adacore.com>
4120
4121	* sem_cat.adb
4122	(Set_Categorization_From_Scope): Do not set In_Remote_Types unless in
4123	the visible part of the spec of a remote types unit.
4124	(Validate_Remote_Access_Object_Type_Declaration):
4125	New local subprogram Is_Valid_Remote_Object_Type, replaces
4126	Is_Recursively_Limited_Private.
4127	(Validate_RACW_Primitives): Enforce E.2.2(14) rules: the types of all
4128	non-controlling formals (and the return type, even though this is not
4129	explicit in the standard) must support external streaming.
4130	(Validate_RCI_Subprogram_Declaration): Enforce E.2.3(14) rules: same
4131	as above for of RAS types and RCI subprograms. (The return type is not
4132	checked yet).
4133	Update comments related to RACWs designating limited interfaces per
4134	ARG ruling on AI05-060.
4135
4136	* sem_util.ads, sem_util.adb
4137	(Is_Remote_Access_To_Class_Wide_Type): Only rely on Is_Remote_Types and
4138	Is_Remote_Call_Interface to identify RACW types in a stable and
4139	consistent way. We used to rely in this predicate on the privateness of
4140	the designated type and its ancestors, but depending on the currently
4141	visible private parts, this caused false negatives. We now uniformly
4142	rely on checks made at the point where the RACW type is declared.
4143	(Inspect_Deferred_Constant_Completion): Moved from Sem_Ch7.
4144
41452008-05-20  Javier Miranda  <miranda@adacore.com>
4146	    Ed Schonberg  <schonberg@adacore.com>
4147	    Hristian Kirtchev  <kirtchev@adacore.com>
4148
4149	* sem_ch3.adb
4150	(Analyze_Object_Declaration): Fix over-conservative condition
4151	restricting use of predefined assignment with tagged types that have
4152	convention CPP.
4153	(Analyze_Object_Declaration): Relax the check regarding deferred
4154	constants declared in scopes other than packages since they can be
4155	completed with pragma Import.
4156	Add missing escaping of all-caps word 'CPP' in error messages.
4157	(Build_Discriminated_Subtype): Do not inherit representation clauses
4158	from parent type if subtype already carries them, because they are
4159	inherited earlier during derivation and already include those that may
4160	come from a partial view.
4161
4162	* sem_ch9.adb, sem_ch5.adb, sem_ch6.adb (Analyze_Subprogram_Body):
4163	Check the declarations of a subprogram body for proper deferred
4164	constant completion.
4165
4166	* sem_ch7.ads, sem_ch7.adb
4167	(Inspect_Deferred_Constant_Completion): Moved to sem_util.
4168
41692008-05-20  Ed Schonberg  <schonberg@adacore.com>
4170	    Thomas Quinot  <quinot@adacore.com>
4171
4172	* sem_ch4.adb
4173	(Try_Indexed_Call): Handle properly a construct of the form F(S) where
4174	F is a parameterless function that returns an array, and S is a subtype
4175	mark.
4176	(Analyze_Call): Insert dereference when the prefix is a parameterless
4177	function that returns an access to subprogram and the call has
4178	parameters.
4179	Reject a non-overloaded call whose name resolves to denote
4180	a primitive operation of the stub type generated to support a remote
4181	access-to-class-wide type.
4182
41832008-05-20  Ed Schonberg  <schonberg@adacore.com>
4184
4185	* sem_ch8.adb
4186	(Note_Redundant_Use): Diagnose a redundant use within a subprogram body
4187	when there is a use clause for the same entity in the context.
4188	(Analyze_Subprogram_Renaming): A renaming_as_body is legal if it is
4189	created for a stream attribute of an abstract type or interface type.
4190
41912008-05-20  Thomas Quinot  <quinot@adacore.com>
4192
4193	* sem_dist.ads, sem_dist.adb (Is_RACW_Stub_Type_Operation): New
4194	subprogram.
4195
4196	* sem_type.adb
4197	(Add_One_Interp): Ignore any interpretation that is a primitive
4198	operation of an RACW stub type (these primitives are only executed
4199	through dispatching, never through static calls).
4200	(Collect_Interps): When only one interpretation has been found, set N's
4201	Entity and Etype to that interpretation, otherwise Entity and Etype may
4202	still refer to an interpretation that was ignored by Add_One_Interp,
4203	in which case would end up with being marked as not overloaded but with
4204	an Entity attribute not pointing to its (unique) correct interpretation.
4205
42062008-05-20  Ed Schonberg  <schonberg@adacore.com>
4207
4208	* sem_eval.adb
4209	(Eval_Slice): Warn when a slice whose discrete range is a subtype name
4210	denotes the whole array of its prefix.
4211
42122008-05-20  Robert Dewar  <dewar@adacore.com>
4213
4214	* sem_res.adb (Resolve_Op_Not): Warn on double negation
4215
42162008-05-20  Ed Schonberg  <schonberg@adacore.com>
4217
4218	* sprint.adb
4219	(Print_Itype): Do not modify the sloc of the component type of a
4220	(packed) array itype, because it is an unrelated type whose source
4221	location is independent of the point of creation of the itype itself.
4222
42232008-05-20  Thomas Quinot  <quinot@adacore.com>
4224
4225	* uintp.adb, urealp.adb: Replace calls to Increment_Last + Set with
4226	Append.
4227
42282008-05-20  Robert Dewar  <dewar@adacore.com>
4229	    Vincent Celier  <celier@adacore.com>
4230
4231	* vms_data.ads: Add entry for -gnatr
4232	Put GNAT SYNC section in proper alpha order
4233	Add VMS qualifier /DISPLAY_PROGRESS equivalent to gnatmake switch -d
4234
4235	* gnat_ugn.texi: Add documentation for new gnatname switch --and
4236	Update the style checks section
4237	Add documentation of -gnatr
4238	Add to the "Adding the Results of Compiler Checks to gnatcheck Output"
4239	subsection the explanation how compiler checks should be disabled for
4240	gnatcheck.
4241	Update the list of Ada 95 reserved words used by in the project language
4242	Add documentation for project qualifiers.
4243	Document that abstract projects may be extended by different projects in
4244	the same project tree.
4245	Add documentation for gnatmake switch -d
4246
4247	* ug_words: Add -gnatyy VMS equivalence string.
4248	Add entry for -gnatr
4249
42502008-05-20  Bob Duff  <duff@adacore.com>
4251
4252	* a-rttiev.adb
4253	(Set_Handler): Remove code from both of these that implements
4254	RM-D.15(15/2), because it causes a race condition and potential
4255	deadlock.
4256	(Process_Queued_Events): Add comment explaining "exception when others
4257	=> null". Add clarifying ".all", even though implicit .all is legal
4258	here.
4259
42602008-05-20  Arnaud Charlet  <charlet@adacore.com>
4261
4262	* s-winext.ads: Replace representation clause by pragma Pack. Gives
4263	equivalent representation, but has the advantage of allowing
4264	compilation of this file under 64 bits platforms.
4265
4266	* s-os_lib.adb (Normalize_Pathname): Mark Cur_Dir constant.
4267
4268	* s-osinte-irix.ads: (Alternate_Stack_Size): Add dummy declaration.
4269
4270	* adaint.c:
4271	Don't define dummy implementation of convert_addresses on ppc-linux.
4272
42732008-05-20  Ed Schonberg  <schonberg@adacore.com>
4274
4275	* exp_ch7.adb
4276	(Expand_Ctrl_Function_Call): Do not attach result to finalization list
4277	if expression is aggregate component.
4278
42792008-05-20  Robert Dewar  <dewar@adacore.com>
4280
4281	* g-byorma.adb, gnatlink.adb, prepcomp.adb, sinfo.ads,
4282	sem_ch12.adb: Update comments. Minor reformatting.
4283
4284	* exp_ch2.adb: Typo
4285
4286	* s-unstyp.ads: Fixed some typos in comments.
4287
42882008-05-20  Arnaud Charlet  <charlet@adacore.com>
4289
4290	* s-taspri-vxworks.ads (Task_Address, Task_Address_Size): New
4291	type/constant.
4292
4293	* g-socthi-vxworks.ads: Update to latest socket changes.
4294
4295	* a-caldel-vms.adb: Resync with a-caldel spec.
4296
4297	* exp_ch9.ads, sem_ch8.ads, inline.adb: Minor reformatting.
4298	Update comments.
4299
43002008-05-17  Eric Botcazou  <ebotcazou@adacore.com>
4301
4302	* trans.c (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Account
4303	for dummy types pointed to by the converted pointer types.
4304
43052008-05-15  Eric Botcazou  <ebotcazou@adacore.com>
4306
4307	* trans.c (add_decl_expr): At toplevel, mark the TYPE_ADA_SIZE field
4308	of records and unions.
4309	(gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Fix formatting.
4310
43112008-05-14  Samuel Tardieu  <sam@rfc1149.net>
4312	    Robert Dewar <dewar@adacore.com>
4313
4314	* sem_attr.adb (Analyze_Attribute, Attribute_Old case): Add
4315	restrictions to the prefix of 'Old.
4316	* sem_util.ads, sem_util.adb (In_Parameter_Specification): New.
4317	* gnat_rm.texi ('Old): Note that 'Old cannot be applied to local
4318	variables.
4319
43202008-05-13  Eric Botcazou  <ebotcazou@adacore.com>
4321
4322	PR ada/24880
4323	PR ada/26635
4324	* utils.c (convert) <INTEGER_TYPE>: When converting an additive
4325	expression to an integral type with lower precision, use NOP_EXPR
4326	directly in a couple of special cases.
4327
43282008-05-12  Samuel Tardieu  <sam@rfc1149.net>
4329	    Ed Schonberg <schonberg@adacore.com>
4330
4331	* sem_ch3.adb (Build_Derived_Record_Type): Accept statically matching
4332	constraint expressions.
4333
43342008-05-12  Tomas Bily  <tbily@suse.cz>
4335
4336	* utils2.c (known_alignment, contains_save_expr_p)
4337	(gnat_mark_addressable): Use CASE_CONVERT.
4338	* decl.c (annotate_value): Likewise.
4339	* trans.c (maybe_stabilize_reference): Likewise.
4340	* utils2.c (build_binary_op): Use CONVERT_EXPR_P.
4341	* utils.c (rest_of_record_type_compilation): Likewise.
4342	* trans.c (protect_multiple_eval, Attribute_to_gnu)
4343	(protect_multiple_eval): Likewise.
4344
43452008-05-08  Andreas Schwab  <schwab@suse.de>
4346
4347	* utils.c (handle_pure_attribute, init_gigi_decls): Rename
4348	DECL_IS_PURE to DECL_PURE_P.
4349
43502008-05-05  Eric Botcazou  <ebotcazou@adacore.com>
4351
4352	* decl.c (maybe_pad_type): Add ??? comment.
4353
43542008-05-03  Eric Botcazou  <ebotcazou@adacore.com>
4355
4356	* decl.c (components_to_record): Zero the alignment of the qualified
4357	union built for the variant part upon creating it.
4358
43592008-05-03  Eric Botcazou  <ebotcazou@adacore.com>
4360
4361	* decl.c (maybe_pad_type): Try to get a form of the type with integral
4362	mode even if the alignment is not a factor of the original size.  But
4363	make sure to create the inner field with the original size.  Reorder.
4364	* trans.c (addressable_p) <COMPONENT_REF>: Treat the field of a padding
4365	record as always addressable.
4366	* utils.c (convert): Deal specially with conversions between original
4367	and packable versions of a record type.
4368	* utils2.c (build_binary_op) <MODIFY_EXPR>: Be more restrictive when
4369	recognizing an assignment between padded objects.
4370
43712008-05-01  Eric Botcazou  <ebotcazou@adacore.com>
4372
4373	* decl.c (make_packable_type): Resize the last component to its RM size
4374	only if it is of an aggregate type.
4375	* trans.c (call_to_gnu): Fix nit in comment.
4376	(gnat_to_gnu): Likewise.
4377
43782008-04-30  Samuel Tardieu  <sam@rfc1149.net>
4379
4380	* Makefile.in: Adapt sh4-linux target.
4381
43822008-04-29  Ed Schonberg  <schonberg@adacore.com>
4383
4384	PR ada/35792
4385	* sem_ch3.adb (Find_Type_Name): Refuse completion of an incomplete
4386	tagged type by an untagged protected or task type.
4387
43882008-04-28  Eric Botcazou  <ebotcazou@adacore.com>
4389	    Tristan Gingold  <gingold@adacore.com>
4390
4391	PR ada/36007
4392	* decl.c (gnat_to_gnu_entity) <object>: Do not promote alignment
4393	of aliased objects with an unconstrained nominal subtype.
4394	Cap the promotion to the effective alignment of the word mode.
4395
43962008-04-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4397
4398	* Make-lang.in (ada.tags, check-acats, ada/treeprs.ads)
4399	(ada/einfo.h, ada/sinfo.h, ada/nmake.adb, ada/nmake.ads):
4400	Use '&&' instead of ';'.
4401
44022008-04-24  Olivier Hainque  <hainque@adacore.com>
4403
4404	* trans.c (Attribute_to_gnu) <case Attr_Length>: Length computation
4405	doesn't require signed arithmetic anymore.
4406
44072008-04-23  Paolo Bonzini  <bonzini@gnu.org>
4408
4409	* trans.c (Attribute_to_gnu): Don't set TREE_INVARIANT.
4410	(call_to_gnu): Don't set TREE_INVARIANT.
4411	* utils2.c (gnat_build_constructor): Don't set TREE_INVARIANT.
4412
44132008-04-22  Joel Sherrill <joel.sherrill@oarcorp.com>
4414
4415	* s-osinte-rtems.adb: Add sigalstack function.
4416	* s-osinte-rtems.ads: Add SO_ONSTACK and sigalstack
4417	function. Add Alternate_Stack and Alternate_Stack_Size.
4418	Add missing process_shared field to pthread_condattr_t
4419	and change ss_low_priority to int from timespec.
4420
44212008-04-22  Samuel Tardieu  <sam@rfc1149.net>
4422
4423	* i-forbla.adb: Link against -llapack and -lblas by default
4424	instead of the private -lgnalasup.
4425
44262008-04-21  Olivier Hainque  <hainque@adacore.com>
4427
4428	Access to most C builtins from Ada
4429	* utils.c: #include "langhooks.h" and define GCC_DIAG_STYLE.
4430	(handle_pure_attribute, handle_novops_attribute,
4431	handle_nonnull_attribute, handle_sentinel_attribute,
4432	handle_noreturn_attribute, handle_malloc_attribute,
4433	handle_type_generic_attribute): New attribute handlers, from C fe.
4434	(gnat_internal_attribute_table): Map the new handlers.
4435	(gnat_init_decl_processing): Move call to gnat_install_builtins to ...
4436	(init_gigi_decls): ... here.
4437	(handle_const_attribute, handle_nothrow_attribute, builtin_decl_for):
4438	Move to a section dedicated to builtins processing.
4439	(build_void_list_node, builtin_type_for_size): New functions.
4440	(def_fn_type, get_nonnull_operand): Likewise.
4441	(install_builtin_elementary_type, install_builtin_function_types,
4442	install_builtin_attributes): Likewise.
4443	(fake_attribute_handler): Fake handler for attributes we don't
4444	support in Ada.
4445	(def_builtin_1): New function, worker for DEF_BUILTIN.
4446	(install_builtin_functions): New function.
4447	(gnat_install_builtins): Move to the builtins processing section.
4448	Now calling the newly introduced installers.
4449
44502008-04-20  Eric Botcazou  <ebotcazou@adacore.com>
4451
4452	* decl.c (gnat_to_gnu_entity) <object>: Also promote the alignment of
4453	constant objects, but not exceptions.
4454	* trans.c (add_decl_expr): Use gnat_types_compatible_p for type
4455	compatibility test.
4456	* utils.c (create_var_decl_1): Likewise.
4457	* utils2.c (build_binary_op) <MODIFY_EXPR>: Also use the padded view of
4458	the type when copying to padded object and the source is a constructor.
4459
44602008-04-18  Eric Botcazou  <ebotcazou@adacore.com>
4461
4462	* decl.c (gnat_to_gnu_entity) <object>: When trying to promote the
4463	alignment, reset it to zero if it would end up not being greater
4464	than that of the type.
4465
44662008-04-18  Eric Botcazou  <ebotcazou@adacore.com>
4467
4468	* decl.c (maybe_pad_type): Only generate the XVS parallel type if
4469	the padded type has a variable size.
4470
44712008-04-18  Eric Botcazou  <ebotcazou@adacore.com>
4472
4473	* decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Use the return by
4474	target pointer mechanism as soon as the size is not constant.
4475
44762008-04-18  Eric Botcazou  <ebotcazou@adacore.com>
4477
4478	* gigi.h (create_var_decl_1): Declare.
4479	(create_var_decl): Turn into a macro invoking create_var_decl_1.
4480	(create_true_var_decl): Likewise.
4481	* utils.c (create_var_decl_1): Make global and reorder parameters.
4482	(create_var_decl): Delete.
4483	(create_true_var_decl): Likewise.
4484
44852008-04-17  Eric Botcazou  <ebotcazou@adacore.com>
4486
4487	* decl.c (gnat_to_gnu_entity) <object>: Promote the alignment of
4488	objects by default.
4489	* fe.h (Debug_Flag_Dot_A): Delete.
4490	* debug.adb (-gnatd.a): Update documentation.
4491
44922008-04-17  Samuel Tardieu  <sam@rfc1149.net>
4493
4494	* g-socket.ads, g-socket.adb (Get_Address): Make Stream a
4495	"not null" parameter.
4496
44972008-04-17  Samuel Tardieu  <sam@rfc1149.net>
4498
4499	* g-socket.adb: Add a message "IPv6 not supported" to the
4500	Socket_Error exception.
4501
45022008-04-16  Samuel Tardieu  <sam@rfc1149.net>
4503
4504	PR ada/29015
4505	* sem_ch12.adb (Instantiate_Type): Check whether the full view of
4506	the type is known instead of the underlying type.
4507
45082008-04-15  Ed Schonberg  <schonberg@adacore.com>
4509
4510	PR ada/22387
4511	* exp_ch5.adb (Expand_Assign_Record): Within an initialization
4512	procedure for a derived type retrieve the discriminant values from
4513	the parent using the corresponding discriminant.
4514
45152008-04-15  Samuel Tardieu  <sam@rfc1149.net>
4516	    Gary Dismukes  <dismukes@adacore.com>
4517
4518	PR ada/28733
4519	* sem_ch8.adb (Analyze_Use_Package): Do not allow "use" of something
4520	which is not an entity (and hence not a package).
4521	(End_Use_Package): Ditto.
4522
45232008-04-15  Ed Schonberg  <schonberg@adacore.com>
4524
4525	PR ada/16086
4526	* sem_ch12.adb (Analyze_Formal_Subprogram): The default can be any
4527	protected operation that matches the signature, not only an entry, a
4528	regular subprogram or a literal.
4529
45302008-04-15  Eric Botcazou  <ebotcazou@adacore.com>
4531
4532	* ada-tree.h (DECL_BY_COMPONENT_PTR_P): Use DECL_LANG_FLAG_3.
4533	* decl.c (gnat_to_gnu_entity) <object>: Call maybe_pad_type only
4534	if a size or alignment is specified.  Do not take into account
4535	alignment promotions for the computation of the object's size.
4536	<type>: Call maybe_pad_type only if a size or alignment is specified.
4537	(maybe_pad_type): Really reuse the RM_Size of the original type if
4538	requested.
4539	* trans.c (Attribute_to_gnu): Fix a couple of nits.
4540	* utils2.c (build_binary_op) <MODIFY_EXPR>: Merge related conditional
4541	statements.  Use the padded view of the type when copying between
4542	padded objects of the same underlying type.
4543
45442008-04-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4545
4546	* vms_data.ads: Fix typo in constant.
4547	* gen-soccon.c: Fix typo in error string.
4548	* gnat_rm.texi (Pragma Optimize_Alignment, Pragma Postcondition):
4549	Fix typos.
4550	* a-calcon.ads, a-calend-vms.adb, a-calend.adb, a-crdlli.ads,
4551	bcheck.adb, checks.adb, einfo.ads, errout.adb, erroutc.adb,
4552	erroutc.ads, exp_attr.adb, exp_ch11.adb, exp_ch2.adb,
4553	exp_ch5.adb, exp_ch9.adb, exp_ch9.ads, exp_pakd.adb,
4554	exp_util.adb, fmap.adb, g-soccon-linux-mips.ads,
4555	g-soccon-rtems.ads, g-timsta.adb, g-timsta.ads, lib-writ.ads,
4556	mlib-tgt-specific-linux.adb, mlib-tgt-specific-tru64.adb,
4557	s-interr-vxworks.adb, s-interr.adb, s-osinte-lynxos.ads,
4558	s-rident.ads, s-taprop-solaris.adb, s-tassta.adb, s-win32.ads,
4559	sem_aggr.adb, sem_attr.ads, sem_ch10.adb, sem_ch13.ads,
4560	sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
4561	sem_prag.ads, sem_res.adb, sem_util.adb, sem_util.ads,
4562	sinfo.ads: Fix typos in comments.
4563
45642008-04-14  Robert Dewar  <dewar@adacore.com>
4565
4566	* sem_prag.adb (Analyze_Pragma, Linker_Section case): Extend error
4567	to every non-object and change error message.
4568
45692008-04-14  Robert Dewar  <dewar@adacore.com>
4570
4571	* sem_util.ads, sem_util.adb (In_Subprogram): Remove.
4572	* sem_attr.adb (Anayze_Attribute): Check for Current_Subprogram
4573	directly.
4574
45752008-04-14  Samuel Tardieu  <sam@rfc1149.net>
4576
4577	PR ada/18680
4578	* sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse to
4579	apply pragma Linker_Section on type.
4580
45812008-04-14  Samuel Tardieu  <sam@rfc1149.net>
4582
4583	PR ada/16098
4584	* sem_prag.adb (Error_Pragma_Ref): New.
4585	(Process_Convention): Specialized message for non-local
4586	subprogram renaming. Detect the problem in homonyms as well.
4587
45882008-04-14  Samuel Tardieu  <sam@rfc1149.net>
4589
4590	PR ada/15915
4591	* sem_util.ads, sem_util.adb (Denotes_Variable): New function.
4592	* sem_ch12.adb (Instantiate_Object): Use it.
4593	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ensure that
4594	storage pool denotes a variable as per RM 13.11(15).
4595
45962008-04-14  Samuel Tardieu  <sam@rfc1149.net>
4597
4598	* sem_util.ads, sem_util.adb (In_Subprogram): New function.
4599	* sem_attr.adb (Analyze_Attribute, Attribute_Old case): Use it.
4600
46012008-04-14  Rolf Ebert  <rolf.ebert.gcc@gmx.de>
4602
4603	PR ada/20822
4604	* xgnatugn.adb (Put_Line): New procedure, ensuring Unix
4605	line endings even on non-Unix platforms.
4606
46072008-04-14  Samuel Tardieu  <sam@rfc1149.net>
4608
4609	PR ada/35050
4610	* xref_lib.adb (Parse_Identifier_Info): Correctly parse and ignore the
4611	renaming information.
4612
46132008-04-13  Samuel Tardieu  <sam@rfc1149.net>
4614
4615	PR ada/17985
4616	* sem_aggr.adb (Valid_Ancestor_Type): A type is not an ancestor of
4617	itself.
4618
46192008-04-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4620
4621	* sfn_scan.adb, sfn_scan.ads, sinfo.ads,
4622	sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.ads,
4623	snames.ads, sprint.adb, stand.ads, stringt.ads,
4624	styleg.adb, styleg.ads, stylesw.adb, stylesw.ads,
4625	switch.ads, sysdep.c, table.adb, table.ads,
4626	targparm.ads, tb-gcc.c, tbuild.ads, tracebak.c,
4627	trans.c, tree_io.adb, treepr.adb, types.adb, types.ads,
4628	uintp.adb, uintp.ads, utils.c, utils2.c, validsw.ads,
4629	vms_conv.adb, vms_conv.ads, vms_data.ads, widechar.adb,
4630	widechar.ads, xeinfo.adb, xgnatugn.adb, xr_tabls.adb,
4631	xr_tabls.ads, xref_lib.adb, xref_lib.ads, xsinfo.adb:
4632	Fix comment typos.
4633
4634	* sem_ch10.adb, sem_ch10.ads,
4635	sem_ch12.adb, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads,
4636	sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
4637	sem_ch6.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
4638	sem_elab.adb, sem_elab.ads, sem_elim.ads, sem_eval.adb,
4639	sem_eval.ads, sem_intr.adb, sem_mech.adb, sem_mech.ads,
4640	sem_prag.adb, sem_prag.ads, sem_res.adb, sem_res.ads,
4641	sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb,
4642	sem_warn.ads: Fix comment typos.
4643
4644	* s-secsta.adb, s-sequio.ads, s-shasto.ads,
4645	s-soflin.ads, s-stalib.ads, s-stausa.adb,
4646	s-stausa.ads, s-strxdr.adb, s-taenca.adb, s-taenca.ads,
4647	s-taprob.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
4648	s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-posix.adb,
4649	s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
4650	s-taprop-vxworks.adb, s-taprop.ads, s-tarest.adb,
4651	s-tarest.ads, s-tasini.adb, s-tasini.ads, s-taskin.ads,
4652	s-tasque.ads, s-tassta.adb, s-tassta.ads, s-tasuti.ads,
4653	s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
4654	s-tpopsp-posix.adb, s-tpopsp-rtems.adb, s-tposen.adb,
4655	s-tposen.ads, s-traceb-hpux.adb, s-traces.ads,
4656	s-trafor-default.ads, s-unstyp.ads, s-utf_32.ads,
4657	s-vaflop.adb, s-vaflop.ads, s-valrea.adb, s-valuti.adb,
4658	s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, scans.ads,
4659	scn.adb, scng.adb, seh_init.c, sem.ads, sem_aggr.adb,
4660	sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
4661	sem_cat.adb, sem_cat.ads: Fix comment typos.
4662
46632008-04-12  Joel Sherrill  <joel@oarcorp.com>
4664
4665	PR ada/35825
4666	* g-soccon-rtems.ads: Add IP_PKTINFO as unsupported.
4667
46682008-04-12  Arnaud Charlet  <charlet@adacore.com>
4669
4670	* s-linux-hppa.ads: Fix syntax errors.
4671
46722008-04-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4673
4674	* gnat_ugn.texi: Fix typos.
4675	* raise-gcc.c, repinfo.adb, repinfo.ads, restrict.adb,
4676	restrict.ads, rtsfind.adb, rtsfind.ads, s-arit64.ads,
4677	s-asthan-vms-alpha.adb, s-auxdec.ads, s-casuti.ads,
4678	s-fatflt.ads, s-fatgen.adb, s-fatlfl.ads,
4679	s-fatllf.ads, s-fatsfl.ads, s-filofl.ads,
4680	s-finimp.adb, s-finroo.ads, s-fishfl.ads,
4681	s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads,
4682	s-hibaen.ads, s-htable.ads, s-imgcha.adb,
4683	s-imgenu.ads, s-imgint.adb, s-imgrea.adb,
4684	s-inmaop-dummy.adb, s-inmaop.ads, s-interr-vms.adb,
4685	s-interr-vxworks.adb, s-interr.adb, s-interr.ads,
4686	s-intman-vxworks.ads, s-intman.ads, s-mastop-irix.adb,
4687	s-os_lib.adb, s-os_lib.ads, s-osinte-aix.ads,
4688	s-osinte-darwin.ads, s-osinte-freebsd.ads,
4689	s-osinte-hpux.ads, s-osinte-lynxos-3.adb,
4690	s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
4691	s-osinte-rtems.ads, s-osinte-solaris-posix.ads,
4692	s-osprim-mingw.adb, s-osprim-vms.adb, s-parame-ae653.ads,
4693	s-parame-hpux.ads, s-parame-vms-alpha.ads,
4694	s-parame-vms-ia64.ads, s-parame-vms-restrict.ads,
4695	s-parame-vxworks.ads, s-parame.ads, s-parint.adb,
4696	s-parint.ads, s-poosiz.adb, s-proinf-irix-athread.ads,
4697	s-proinf.ads, s-regexp.adb, s-regpat.adb, s-regpat.ads,
4698	s-rident.ads: Fix comment typos.
4699
47002008-04-09  Samuel Tardieu  <sam@rfc1149.net>
4701
4702	PR ada/28305
4703	* sem_ch6.adb (Build_Body_To_Inline): Do not save and restore
4704	environment if generic instance is a top-level one.
4705
47062008-04-09  Doug Rupp  <rupp@adacore.com>
4707
4708	* decl.c (validate_size): Set minimum size for fat pointers same as
4709	access types. Code clean ups.
4710
4711	* gmem.c (xstrdup32): New macro for 32bit dup on VMS, noop otherwise
4712	(__gnat_gmem_a2l_initialize): Dup exename into 32 bit memory on VMS
4713
4714	* s-auxdec-vms_64.ads, s-auxdec.ads (Short_Address_Size): New constant
4715
4716	* s-crtl.ads (malloc32) New function, alias for malloc
4717	(realloc32) New function, alias for realloc
4718
4719	* socket.c (__gnat_new_socket_set): Malloc fd_set in 32 bits on VMS
4720
4721	* utils2.c (build_call_alloc_dealloc): Return call to short malloc if
4722	allocator size is 32 and default pointer size is 64.
4723	(find_common_type): Document assumption on t1/t2 vs lhs/rhs. Force use of
4724	lhs type if smaller, whatever the modes.
4725
4726	* gigi.h (malloc32_decl): New macro definition
4727
4728	* utils.c (init_gigi_decls): New malloc32_decl
4729	Various code clean ups.
4730
4731	* s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
4732	Task_Address vice System.Address.
4733
4734	* s-taspri-vms.ads: Import System.Aux_DEC
4735	(Task_Address): New subtype of System.Aux_DEC.Short_Address
4736	(Task_Address_Size): New constant size of System.Aux_DEC.Short_Address
4737
4738	* s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
4739	Task_Address vice System.Address.
4740
4741	* s-inmaop-vms.adb: Import System.Task_Primitives
4742	(To_Address): Unchecked convert to Task_Address vice System.Address
4743
4744	* s-taprop-vms.adb (Timed_Delay): Always set the timer even if delay
4745	expires now.
4746	(To_Task_ID) Unchecked convert from Task_Adddress vice System.Address
4747	(To_Address) Unchecked convert to Task_Address vice System.Address
4748
4749	* s-tpopde-vms.adb: Remove unnecessary warning pragmas
4750
4751	* g-socthi-vms.ads: Add 32bit size clauses on socket access types.
4752
47532008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
4754
4755	* gigi.h (standard_datatypes): Add ADT_fdesc_type and ADT_null_fdesc.
4756	(fdesc_type_node): Define.
4757	(null_fdesc_node): Likewise.
4758	* decl.c (gnat_to_gnu_entity) <E_Access_Subprogram_Type>: If the target
4759	uses descriptors for vtables and the type comes from a dispatch table,
4760	return the descriptor type.
4761	* trans.c (Attribute_to_gnu) <Attr_Unrestricted_Access>: If the target
4762	uses descriptors for vtables and the type comes from a dispatch table,
4763	build a descriptor in the static case and copy the existing one in the
4764	non-static case.
4765	(gnat_to_gnu) <N_Null>: If the target uses descriptors for vtables and
4766	the type is a pointer-to-subprogram coming from a dispatch table,
4767	return the null descriptor.
4768	<N_Unchecked_Type_Conversion>: If the target uses descriptors for
4769	vtables, the source type is the descriptor type and the target type
4770	is a pointer type, first build the pointer.
4771	* utils.c (init_gigi_decls): If the target uses descriptors for vtables
4772	build the descriptor type and the null descriptor.
4773
47742008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
4775
4776	* decl.c (prepend_attributes): Fix typo.
4777	* trans.c (Pragma_to_gnu): Likewise.
4778	* utils.c (gnat_genericize): Likewise.
4779
47802008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
4781	    Richard Kenner  <kenner@adacore.com>
4782
4783	* ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Only set it when bit-packed.
4784	* decl.c (gnat_to_gnu_entity): Adjust for above change.
4785	<E_Record_Type>: Try to get a better form of the component for
4786	packing, even if it has an integral mode.
4787	<E_Record_Subtype>: Likewise.
4788	* trans.c (gnat_to_gnu): Do not require BLKmode for the special
4789	exception suppressing the final conversion between record types.
4790
47912008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
4792
4793	* decl.c (gnat_to_gnu_entity) <object>: If -gnatd.a and not optimizing
4794	alignment for space, promote the alignment of non-scalar variables with
4795	no size and alignment.
4796	* gigi.h (gnat_types_compatible_p): Declare.
4797	* misc.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Set to above predicate.
4798	* trans.c (gnat_to_gnu): Revert revision 129339 change.  Minor cleanup.
4799	* utils.c (gnat_types_compatible_p) : New predicate.
4800	(convert): Use it throughout to test for cases where a mere view
4801	conversion is sufficient.
4802	* utils2.c (build_binary_op): Minor tweaks.
4803	(build_unary_op): Likewise.
4804
48052008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
4806
4807	* decl.c (adjust_packed): Expand comment.
4808
48092008-04-08  Arnaud Charlet  <charlet@adacore.com>
4810
4811	* s-tasuti.ads: Use Task_Address instead of System.Address.
4812
4813	* makeutl.adb (Path_Or_File_Name): New function
4814
4815	* nlists.ads, itypes.ads: Update comments.
4816
4817	* s-crtl.ads (malloc32, realloc32): New functions.
4818
4819	* s-auxdec.ads (Short_Address_Size): New constant.
4820
4821	* a-taside.adb, s-tasdeb.adb: Use Task_Address.
4822
4823	* s-ststop.ads, s-ststop.adb: New file.
4824
4825	* exp_tss.ads, s-taprop-lynxos.adb: Update comments.
4826	Minor reformatting.
4827
48282008-04-08  Pascal Obry  <obry@adacore.com>
4829
4830	* g-sercom.ads, g-sercom.adb (Data_Rate): Add B115200.
4831	(Stop_Bits_Number): New type.
4832	(Parity_Check): Likewise.
4833	(Set): Add parameter to set the number of stop bits and
4834	the parity. Parameter timeout is now a duration instead
4835	of a plain integer.
4836
4837	* g-sercom-linux.adb:
4838	Implement the stop bits and parity support for GNU/Linux.
4839	Fix handling of timeout, it must be given in tenth of seconds.
4840
4841	* g-sercom-mingw.adb:
4842	Implement the stop bits and parity support for Windows.
4843	Use new s-win32.ads unit instead of declaring Win32 services
4844	directly into this body.
4845	Update handling of timeout as now a duration.
4846
4847	* s-win32.ads, s-winext.ads: New files.
4848
48492008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
4850	    Arnaud Charlet  <charlet@adacore.com>
4851
4852	* s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads: Removed.
4853
4854	s-taspri-posix-noaltstack.ads, s-linux.ads, s-linux-alpha.ads,
4855	s-linux-hppa.ads: New files. Disable alternate stack on ia64-hpux.
4856
4857	* s-osinte-lynxos-3.ads,
4858	(Alternate_Stack): Remove when not needed. Simplify declaration
4859	otherwise.
4860	(Alternate_Stack_Size): New constant.
4861
4862	s-osinte-mingw.ads, s-taprop-mingw.adb: Code clean up: avoid use of
4863	'Unrestricted_Access.
4864
4865	* s-osinte-hpux.ads, s-osinte-solaris-posix.ads, s-osinte-aix.ads,
4866	s-osinte-lynxos.ads, s-osinte-freebsd.ads s-osinte-darwin.ads,
4867	s-osinte-tru64.ads, s-osinte-irix.ads, s-osinte-linux.ads,
4868	s-osinte-solaris.ads, s-osinte-vms.ads
4869	(SA_ONSTACK): New constant.
4870	(stack_t): New record type.
4871	(sigaltstack): New imported function.
4872	(Alternate_Stack): New imported variable.
4873	(Alternate_Stack_Size): New constant.
4874
4875	* system-linux-x86_64.ads: (Stack_Check_Probes): Set to True.
4876
4877	* s-taspri-lynxos.ads, s-taspri-solaris.ads, s-taspri-tru64.ads,
4878	s-taspri-hpux-dce.ads, s-taspri-dummy.ads, s-taspri-posix.ads,
4879	s-taspri-vms.ads (Task_Address): New subtype of System.Address
4880	(Task_Address_Size): New constant size of System.Address
4881	(Alternate_Stack_Size): New constant.
4882
4883	* s-taprop-posix.adb, s-taprop-linux.adb (Get_Stack_Attributes): Delete.
4884	(Enter_Task): Do not notify stack to System.Stack_Checking.Operations.
4885	Establish the alternate stack if the platform makes use of n alternate
4886	signal stack for stack overflows.
4887	(Create_Task): Take into account the alternate stack in the stack size.
4888	(Initialize): Save the address of the alternate stack into the ATCB for
4889	the environment task.
4890	(Create_Task): Fix assertions for NPTL library (vs old LinuxThreads).
4891
4892	* s-parame.adb (Minimum_Stack_Size): Increase value to 16K
4893
4894	* system-linux-x86.ads: (Stack_Check_Probes): Set to True.
4895
4896	* s-intman-posix.adb:
4897	(Initialize): Set SA_ONSTACK for SIGSEGV if the platform makes use of an
4898	alternate signal stack for stack overflows.
4899
4900	* init.c (__gnat_adjust_context_for_raise, Linux version): On i386 and
4901	x86-64, adjust the saved value of the stack pointer if the signal was
4902	raised by a stack checking probe.
4903	(HP-UX section): Use global __gnat_alternate_stack as signal handler
4904	stack and only for SIGSEGV.
4905	(Linux section): Likewise on x86 and x86-64.
4906	[VxWorks section]
4907	(__gnat_map_signal): Now static.
4908	(__gnat_error_handler): Not static any more.
4909	(__gnat_adjust_context_for_raise): New function. Signal context
4910	adjustment for PPC && !VTHREADS && !RTP, as required by the zcx
4911	propagation circuitry.
4912	(__gnat_error_handler): Second argument of a sigaction handler is a
4913	pointer, not an int, and is unused.
4914	Adjust signal context before mapping to exception.
4915	Install signal handlers for LynxOS case.
4916
4917	* s-taskin.ads (Common_ATCB): New field Task_Alternate_Stack.
4918	(Task_Id): Set size to Task_Address_Size
4919	(To_Task_id): Unchecked convert from Task_Address vice System.Address
4920	(To_Address): Unchecked convert to Task_Address vice System.Address
4921
4922	* s-tassta.adb (Task_Wrapper): Define the alternate stack and save its
4923	address into the ATCB if the platform makes use of an alternate signal
4924	stack for stack overflows.
4925	(Free_Task): Add call to Finalize_Attributes_Link.
4926	Add argument Relative_Deadline to pass the value specified for
4927	the task. This is not yet used for any target.
4928
4929	* s-tassta.ads (Create_Task): Add argument Relative_Deadline to pass
4930	the value specified for the task.
4931
49322008-04-08  Arnaud Charlet  <charlet@adacore.com>
4933
4934	(s-osinte-vxworks6.ads): Removed, merged with s-osinte-vxworks.ads/.adb
4935	(s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads,
4936	s-vxwext-rtp.adb): New files.
4937
4938	* s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-osinte-vxworks.adb:
4939	Minor updates to accomodate changes above.
4940
49412008-04-08  Pascal Obry  <obry@adacore.com>
4942
4943	* a-exetim-mingw.adb, s-gloloc-mingw.adb, s-taprop-mingw.adb,
4944	s-tasinf-mingw.ad{s,b}, s-taspri-mingw.ads:
4945	Use new s-win32.ads unit instead of declaration
4946	from s-osinte-mingw.ads.
4947
4948	* s-osinte-mingw.ads:
4949	Move all non tasking based interface to s-win32.ads.
4950
4951	* s-osprim-mingw.adb:
4952	Remove duplicated declarations and use s-win32.ads
4953	unit instead.
4954
49552008-04-08  Vincent Celier  <celier@adacore.com>
4956	    Arnaud Charlet  <charlet@adacore.com>
4957
4958	* mlib-tgt-aix.adb, mlib-tgt-darwin.adb, mlib-tgt-hpux.adb,
4959	mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-lynxos.adb,
4960	mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
4961	mlib-tgt-vms.ads, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
4962	mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb: Renamed into...
4963
4964	* mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb,
4965	mlib-tgt-specific-hpux.adb, mlib-tgt-specific-irix.adb,
4966	mlib-tgt-specific-linux.adb, mlib-tgt-specific-lynxos.adb,
4967	mlib-tgt-specific-solaris.adb, mlib-tgt-specific-tru64.adb,
4968	mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads,
4969	mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb,
4970	mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb,
4971	mlib-tgt-specific-mingw.adb: New names.
4972
4973	* Makefile.in:
4974	On VxWorks platforms use s-stchop-limit.ads for s-stchop.ads
4975	Get rid of gnatbl.
4976	(EXTRA_GNATRTL_NONTASKING_OBJS): Add s-win32.o
4977	Files mlib-tgt-*.adb have been renamed mlib-tgt-specific-*.adb
4978	Minor updates for VMS
4979
4980	* gnatbl.c: Removed.
4981
49822008-04-08  Thomas Quinot  <quinot@adacore.com>
4983
4984	* g-expect-vms.adb, a-textio.adb, a-witeio.adb, exp_dbug.adb,
4985	g-expect.adb, g-locfil.adb, gnatchop.adb, gnatdll.adb, gnatlbr.adb,
4986	gnatmem.adb, g-regist.adb, i-vxwork.ads, mlib-utl.adb, i-vxwork-x86.ads,
4987	a-ztexio.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-ia64.adb,
4988	s-os_lib.adb, s-regpat.adb, s-regpat.ads: Fix incorrect casing of
4989	ASCII.NUL throughout.
4990
49912008-04-08  Arnaud Charlet  <charlet@adacore.com>
4992	    Matthew Heaney  <heaney@adacore.com>
4993
4994	* a-cgcaso.adb, a-convec.adb: (Swap, Sift): Avoid use of complex
4995	renaming.
4996
4997	* a-cgaaso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads,
4998	a-crdlli.ads, a-coormu.ads, a-ciormu.ads: modified header to conform
4999	to convention for non-RM specs.
5000	Add descriptive header, and documented each operation
5001	document each operation
5002
50032008-04-08  Robert Dewar  <dewar@adacore.com>
5004	    Bob Duff  <duff@adacore.com>
5005	    Gary Dismukes  <dismukes@adacore.com>
5006	    Ed Schonberg  <schonberg@adacore.com>
5007
5008	* alloc.ads: Add entries for Obsolescent_Warnings table
5009
5010	* einfo.ads, einfo.adb: Minor reformatting.
5011	(Is_Discriminal): New subprogram.
5012	(Is_Prival): New subprogram.
5013	(Is_Protected_Component): New subprogram.
5014	(Is_Protected_Private): Removed.
5015	(Object_Ref, Set_Object_Ref): Removed.
5016	(Prival, Set_Prival): Change assertion.
5017	(Privals_Chain, Set_Privals_Chain): Removed.
5018	(Prival_Link, Set_Prival_Link): New subprogram.
5019	(Protected_Operation, Set_Protected_Operation): Removed.
5020	(Protection_Object, Set_Protection_Object): New subprogram.
5021	(Write_Field17_Name): Remove case for Object_Ref.
5022	(Write_Field20_Name): Add case for Prival_Link.
5023	(Write_Field22_Name): Remove case for Protected_Operation,
5024	Privals_Chain.
5025	Add case for Protection_Object.
5026	(Can_Use_Internal_Rep): Make this into a [base type only] attribute,
5027	so clients
5028	(Overlays_Constant): New flag
5029	(Is_Constant_Object): New predicate
5030	(Is_Standard_Character_Type): New predicate
5031	(Optimize_Alignment_Space): New flag
5032	(Optimize_Alignment_Time): New flag
5033	(Has_Postconditions): New flag
5034	(Obsolescent_Warrning): Field removed
5035	(Spec_PPC_List): New field
5036	(Relative_Deadline_Variable, Set_Relative_Deadline_Variable): Add
5037	subprograms to get and set the relative deadline associated to a task.
5038
5039	* exp_attr.adb (May_Be_External_Call): Account for the case where the
5040	Access attribute is part of a named parameter association.
5041	(Expand_Access_To_Protected_Op): Test for the attribute occurring
5042	within an init proc and use that directly as the scope rather than
5043	traversing up to the protected operation's enclosing scope. Only apply
5044	assertion on Is_Open_Scopes in the case the scope traversal is done.
5045	For the init proc case use the address of the first formal (_init) as
5046	the protected object reference.
5047	Implement Invalid_Value attribute
5048	(Expand_N_Attribute_Reference): Case Attribute_Unrestricted_Access.
5049	contents of the dispatch table there is no need to duplicate the
5050	itypes associated with record types (i.e. the implicit full view
5051	of private types).
5052	Implement Enum_Val attribute
5053	(Expand_N_Attribute_Reference, case Old): Properly handle appearence
5054	within _Postconditions procedure
5055	(Expand_N_Attribute_Reference, case Result): Implement new attribute
5056
5057	* exp_ch5.adb (Expand_N_Simple_Return_Statement): Handle case in which
5058	a return statement calls a function that is not available in
5059	configurable runtime.
5060	(Analyze_If_Statement): don't optimize simple True/False cases in -O0
5061	(Expand_Non_Function_Return): Generate call to _Postconditions proc
5062	(Expand_Simple_Function_Return): Ditto
5063
5064	* frontend.adb: Add call to Sem_Aux.Initialize
5065
5066	* sem_aux.ads, sem_aux.adb: New file.
5067
5068	* par-prag.adb: Add entries for pragmas Precondition/Postcondition
5069	Add new Pragma_Relative_Deadline.
5070	Add support for pragmas Check and Check_Policy
5071
5072	* sem_attr.ads, sem_attr.adb (Check_Not_CPP_Type): New subprogram.
5073	(Check_Stream_Attribute): Add missing check (not allowed in CPP types)
5074	(Analyze_Attribute): In case of attributes 'Alignment and 'size add
5075	missing check because they are not allowed in CPP tagged types.
5076	Add Sure parameter to Note_Possible_Modification calls
5077	Add implementation of Invalid_Value attribute
5078	Implement new attribute Has_Tagged_Values
5079	Implement Enum_Val attribute
5080	(Analyze_Attribute, case Range): Set Name_Req True for prefix of
5081	generated attributes.
5082	(Analyze_Attribute, case Result): If prefix of the attribute is
5083	overloaded, it always resolves to the enclosing function.
5084	(Analyze_Attribute, case Result): Properly deal with analysis when
5085	Postconditions are not active.
5086	(Resolve_Attribute, case Result): Properly deal with appearence during
5087	preanalysis in spec.
5088	Add processing for attribute Result
5089
5090	* sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Code cleanup
5091	for operators.
5092	(Analyze_Subprogram_Body): Install private_with_clauses when the body
5093	acts as a spec.
5094	(Check_Inline_Pragma): recognize an inline pragma that appears within
5095	the subprogram body to which it applies.
5096	(Analyze_Function_Return): Check that type of the expression of a return
5097	statement in a function with a class-wide result is not declared at a
5098	deeper level than the function.
5099	(Process_PPCs): Deal with enabling/disabling, using PPC_Enabled flag
5100	(Verify_Overriding_Indicator): Handle properly subprogram bodies for
5101	user- defined operators.
5102	(Install_Formals): Moved to spec to allow use from Sem_Prag for
5103	analysis of precondition/postcondition pragmas.
5104	(Analyze_Subprogram_Body.Last_Real_Spec_Entity): New name for
5105	Last_Formal, along with lots of comments on what this is about
5106	(Analyze_Subprogram_Body): Fix case where we move entities from the
5107	spec to the body when there are no body entities (now possible with
5108	precondition and postcondition pragmas).
5109	(Process_PPCs): New procedure
5110	(Analyze_Subprogram_Body): Add call to Process_PPCs
5111
5112	* sem_ch8.adb (Use_One_Type): refine warning on a redundant use_type
5113	clause.
5114	(Pop_Scope): Restore Check_Policy_List on scope exit
5115	(Push_Scope): Save Check_Policy_List on scope entry
5116	Change name In_Default_Expression      => In_Spec_Expression
5117	Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
5118	Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve
5119	(Analyze_Object_Renaming): Allow 'Reference as object
5120	(Analyze_Pragma, case Restriction_Warnings): Call GNAT_Pragma
5121	(Process_Restrictions_Or_Restriction_Warnings): Check for bad spelling
5122	of restriction identifier.
5123	Add Sure parameter to Note_Possible_Modication calls
5124
5125	* sem_prag.ads, sem_prag.adb (Analyze_Pragma, case Stream_Convert):
5126	Don't check for primitive operations when calling Rep_Item_Too_Late.
5127	(Process_Import_Or_Interface): Do not place flag on formal
5128	subprograms.
5129	(Analyze_Pragma, case Export): If the entity is a deferred constant,
5130	propagate information to full view, which is the one elaborated by the
5131	back-end.
5132	(Make_Inline): the pragma is effective if it applies to an internally
5133	generated subprogram declaration for a body that carries the pragma.
5134	(Analyze_Pragma, case Optimize_Alignment): Set new flag
5135	Optimize_Alignment_Local.
5136	(Analyze_PPC_In_Decl_Part): New procedure
5137	(Get_Pragma_Arg): Moved to outer level
5138	(Check_Precondition_Postcondition): Change to allow new visibility
5139	rules for package spec
5140	(Analyze_Pragma, case Check_Policy): Change placement rules to be
5141	same as pragma Suppress/Unsuppress.
5142	Change name In_Default_Expression      => In_Spec_Expression
5143	Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
5144	Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve
5145	(Check_Precondition_Postcondition): Do proper visibility preanalysis
5146	for the case of these pragmas appearing in the spec.
5147	(Check_Enabled): New function
5148	(Initialize): New procedure
5149	(Tree_Read): New procedure
5150	(Tree_Write): New procedure
5151	(Check_Precondition_Postcondition): New procedure
5152	Implement pragmas Check and Check_Policy
5153	Merge Assert processing with Check
5154
5155	* sem_warn.adb (Warn_On_Known_Condition): Handle pragma Check
5156	New warning flag -gnatw.e
5157
5158	* sinfo.ads, sinfo.adb (Has_Relative_Deadline_Pragma): New function
5159	returning whether a task (or main procedure) has a pragma
5160	Relative_Deadline.
5161	(Set_Has_Relative_Deadline_Pragma): Procedure to indicate that a task
5162	(or main procedure) has a pragma Relative_Deadline.
5163	Add Next_Pragma field to N_Pragma node
5164	(PPC_Enabled): New flag
5165	(Next_Pragma): Now used for Pre/Postcondition processing
5166
5167	* snames.h, snames.ads, snames.adb: New standard name
5168	Inherit_Source_Path
5169	Add entry for 'Invalid_Value attribute
5170	Add entry for new attribute Has_Tagged_Values
5171	Add entry for Enum_Val attribute
5172	Add new standard names Aggregate, Configuration and Library.
5173	Add _Postconditions
5174	Add _Result
5175	Add Pragma_Precondition
5176	Add Pragma_Postcondition
5177	Add Attribute_Result
5178	New standard name Archive_Builder_Append_Option
5179	(Preset_Names): Add _relative_deadline and relative_deadline definitions
5180	There was also a missing non_preemptive_within_priorities.
5181	(Get_Pragma_Id, Is_Pragma_Name): Add support for pragma
5182	Relative_Deadline.
5183	Add support for pragmas Check and Check_Policy
5184
5185	* tree_gen.adb: Call Sem_Aux.Tree_Write
5186
5187	* tree_in.adb: Call Sem_Aux.Tree_Read
5188
5189	* exp_ch11.adb (Expand_N_Raise_Statement): New Build_Location calling
5190	sequence
5191
5192	* exp_intr.adb (Expand_Source_Info): New Build_Location calling
5193	sequence
5194
5195	* exp_prag.adb (Expand_Pragma_Relative_Deadline): New procedure.
5196	(Expand_N_Pragma): Call the appropriate procedure for expanding pragma
5197	Relative_Deadline.
5198	(Expand_Pragma_Check): New procedure
5199
5200	* sinput.ads, sinput.adb (Build_Location_String): Now appends to name
5201	buffer.
5202
5203	* sinfo.adb (PPC_Enabled): New flag
5204
52052008-04-08  Robert Dewar  <dewar@adacore.com>
5206	    Gary Dismukes  <dismukes@adacore.com>
5207	    Javier Miranda  <miranda@adacore.com>
5208	    Ed Schonberg  <schonberg@adacore.com>
5209
5210	* fe.h: Remove global Optimize_Alignment flag, no longer used
5211
5212	* layout.adb: Test Optimize_Alignment flags rather than global switch
5213
5214	* lib.ads, lib.adb: New OA_Setting field in library record
5215
5216	* lib-load.adb: New OA_Setting field in library record
5217
5218	* lib-writ.ads, lib-writ.adb (Collect_Withs, Write_With_Lines): Place
5219	units mentioned in limited_with_ clauses in the ali file, with an
5220	'Y' marker.
5221	New Ox fields in U line
5222
5223	* opt.adb: New flag Optimize_Alignment_Local
5224	(Check_Policy_List[_Config]): New flags
5225
5226	* opt.ads (Invalid_Value_Used): New flag
5227	New switch Optimize_Alignment_Local
5228	(Warn_On_Parameter_Order): New flag
5229	(Check_Policy_List[_Config]): New flags
5230
5231	* ali.ads, ali.adb: Add indicator 'Y' to mark mark the presence of
5232	limited_with clauses.
5233	New data structures for Optimize_Alignment
5234
5235	* bcheck.adb (Check_Consistent_Restriction_No_Default_Initialization):
5236	New procedure
5237	(Check_Consistent_Optimize_Alignment): Rework for new structure
5238	(Check_Consistent_Restrictions): Fix incorrect error message
5239
5240	sem_ch10.adb (Decorate_Tagged_Type): Set the Parent field of a newly
5241	created class-wide type (to the Parent field of the specific type).
5242	(Install_Siblings): Handle properly private_with_clauses on subprogram
5243	bodies and on generic units.
5244	(Analyze_With_Clause, Install_Limited_Withed_Unit): Guard against an
5245	illegal limited_with_clause that names a non-existent package.
5246	(Check_Body_Required): Determine whether a unit named a limited_with
5247	clause needs a body.
5248	(Analyze_Context): A limited_with_clause is illegal on a unit_renaming.
5249	Capture Optimize_Alignment settings to set new OA_Setting field in
5250	library record.
5251	(Build_Limited_Views): Include task and protected type declarations.
5252
5253	* sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Handle the
5254	case of a possible constant redeclaration where the current object is
5255	an entry index constant.
5256	(Analyze_Object_Declaration): Generate an error in case of CPP
5257	class-wide object initialization.
5258	(Analyze_Object_Declaration): Add extra information on warnings for
5259	declaration of unconstrained objects.
5260	(Access_Type_Declaration): Set Associated_Final_Chain to Empty, to avoid
5261	conflicts with the setting of Stored_Constraint in the case where the
5262	access type entity has already been created as an E_Incomplete_Type due
5263	to a limited with clause.
5264	Use new Is_Standard_Character_Type predicate
5265	(Analyze_Object_Declaration): Apply access_constant check only after
5266	expression has been resolved, given that it may be overloaded with
5267	several access types.
5268	(Constant_Redeclaration): Additional legality checks for deferred
5269	constant declarations tha involve anonymous access types and/or null
5270	exclusion indicators.
5271	(Analyze_Type_Declaration): Set Optimize_Alignment flags
5272	(Analyze_Subtype_Declaration): Ditto
5273	(Analyze_Object_Declaration): Ditto
5274	(Analyze_Object_Declaration): Don't count tasks in generics
5275	Change name In_Default_Expression      => In_Spec_Expression
5276	Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
5277	Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve
5278	(Process_Discriminants): Additional check for illegal use of default
5279	expressions in access discriminant specifications in a type that is not
5280	explicitly limited.
5281	(Check_Abstract_Overriding): If an inherited function dispaches on an
5282	access result, it must be overridden, even if the type is a null
5283	extension.
5284	(Derive_Subprogram): The formals of the derived subprogram have the
5285	names and defaults of the parent subprogram, even if the type is
5286	obtained from the actual subprogram.
5287	(Derive_Subprogram): In the presence of interfaces, a formal of an
5288	inherited operation has the derived type not only if it descends from
5289	the type of the formal of the parent operation, but also if it
5290	implements it. This is relevant for the renamings created for the
5291	primitive operations of the actual for a formal derived type.
5292	(Is_Progenitor): New predicate, to determine whether the type of a
5293	formal in the parent operation must be replaced by the derived type.
5294
5295	* sem_util.ads, sem_util.adb (Has_Overriding_Initialize): Make
5296	predicate recursive to handle components that have a user-defined
5297	Initialize procedure. Handle controlled derived types whose ancestor
5298	has a user-defined Initialize procedured.
5299	(Note_Possible_Modification): Add Sure parameter, generate warning if
5300	sure modification of constant
5301	Use new Is_Standard_Character_Type predicate
5302	(Find_Parameter_Type): when determining whether a protected operation
5303	implements an interface operation, retrieve the type of the formal from
5304	the entity when the formal is an access parameter or an
5305	anonymous-access-to-subprogram.
5306	Move Copy_Parameter_List to sem_util, for use when building stubbed
5307	subprogram bodies.
5308	(Has_Access_Values): Tagged types now return False
5309	(Within_HSS_Or_If): New procedure
5310	(Set_Optimize_Alignment_Flags): New procedure
5311	Change name In_Default_Expression      => In_Spec_Expression
5312	Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
5313	Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve
5314
53152008-04-08  Tristan Gingold  <gingold@adacore.com>
5316
5317	* s-fileio.adb: Name_Error shouldn't be raised for a tempory file.
5318
53192008-04-08  Tristan Gingold  <gingold@adacore.com>
5320
5321PR ada/10768
5322
5323	* cuintp.c: Fix 16 bits issue for AVR.
5324	On AVR, integer is 16 bits, so it can't be used to do math with
5325	Base (=32768).
5326	So use long_integer instead.
5327
53282008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
5329
5330	* a-calend-vms.ads, a-calend-vms.adb: Add with and use clause for
5331	System.OS_Primitives.
5332	Change type of various constants, parameters and local variables from
5333	Time to representation type OS_Time.
5334	(To_Ada_Time, To_Unix_Time): Correct sign of origin shift.
5335	Remove the declaration of constant Mili_F from several routines. New
5336	body for internal package Conversions_Operations.
5337	(Time_Of): Add default parameters for several formals.
5338
5339	* a-caldel.adb: Minor reformatting
5340
5341	* a-calend.ads, a-calend.adb: New body for internal package
5342	Conversions_Operations.
5343	(Time_Of): Add default parameters for several formals.
5344
5345	* Makefile.rtl: Add a-ststop
5346	Add Ada.Calendar.Conversions to the list of runtime files.
5347	Add g-timsta
5348
5349	* a-calcon.adb, a-calcon.ads: New files.
5350
53512008-04-08  Jose Ruiz  <ruiz@adacore.com>
5352	    Tristan Gingold  <gingold@adacore.com>
5353
5354	* s-interr-dummy.adb, s-interr-vms.adb, s-interr-sigaction.adb
5355	(Install_Restricted_Handlers): New procedure
5356	which is a simplified version of Install_Handlers that does not store
5357	previously installed.
5358
5359	* s-interr-vxworks.adb: Fix ACATS cxc3001
5360	On VxWorks interrupts can't be detached.
5361	(Install_Restricted_Handlers): New procedure.
5362
5363	* s-interr.ads, s-interr.adb (Install_Restricted_Handlers): New
5364	procedure.
5365
53662008-04-08  Olivier Hainque  <hainque@adacore.com>
5367
5368	* s-intman-vxworks.ads, s-intman-vxworks.adb
5369	(Map_And_Raise_Exception): Remove. Was an import of only part of the
5370	required services already implemented elsewhere.
5371	(Notify_Exception): Delete body, import __gnat_error_handler instead.
5372	(Initialize): Add SA_SIGINFO to the sa_flags, to get the sigcontext
5373	argument passed to the handler, which we need for ZCX propagation
5374	purposes.
5375
53762008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
5377
5378	* adaint.h, adaint.c (__gnat_current_time_string): New routine.
5379
5380	* g-timsta.adb, g-timsta.ads: New files.
5381
53822008-04-08  Robert Dewar  <dewar@adacore.com>
5383
5384	* a-except-2005.ads, a-except-2005.adb, a-except.ads, a-except.adb
5385	(Raise_Exception): In accordance with AI-446, raise CE for Null_Id
5386	(Raise_Exception_Always): Fix documentation accordingly
5387
53882008-04-08  Robert Dewar  <dewar@adacore.com>
5389
5390	* a-strbou.ads, a-strbou.adb (From_String): New procedure (for use by
5391	Stream_Convert)
5392
5393	* sem_ch13.ads (Rep_Item_Too_Late): Document that Stream_Convert sets
5394	FOnly
5395
53962008-04-08  Javier Miranda  <miranda@adacore.com>
5397	    Robert Dewar  <dewar@adacore.com>
5398	    Ed Schonberg  <schonberg@adacore.com>
5399
5400	* a-tags.adb (Register_Interface_Offset): New subprogram.
5401	(Set_Dynamic_Offset_To_Top): New subprogram (see previous comment).
5402	(To_Predef_Prims_Table_Ptr): Removed.
5403	(Acc_Size): Removed.
5404	(To_Acc_Size): Removed.
5405	(Parent_Size): Modified to the call the subprogram returning the size of
5406	the parent by means of the new TSD component Size_Func.
5407
5408	* a-tags.ads (Offset_To_Top_Ptr): New access type declaration.
5409	(DT_Offset_To_Top_Offset): New constant value that is used to generate
5410	code referencing the Offset_To_Top component of the dispatch table's
5411	prologue.
5412	(Prim_Ptr): New declaration of access to procedure. Used to avoid the
5413	use of 'address to initialize dispatch table slots.
5414	(Size_Func): New component of the TSD. Used by the run-time to call the
5415	size primitive of the tagged type.
5416
5417	* checks.adb (Apply_Access_Check): Avoid check when accessing the
5418	Offset_To_Top component of a dispatch table.
5419	(Null_Exclusion_Static_Checks): If the non-null access type appears in a
5420	deferred constant declaration. do not add a null expression, to prevent
5421	spurious errors when full declaration is analyzed.
5422	(Apply_Discriminant_Check): If both discriminant constraints share a
5423	node which is not static but has no side effects, do not generate a
5424	check for that discriminant.
5425	(Generate_Index_Checks): Set Name_Req to true in call to duplicate
5426	subexpr, since the prefix of an attribute is a name.
5427
5428	* checks.ads: Fix nit in comment.
5429
5430	* exp_ch3.ads, exp_ch3.adb (Freeze_Record_Type): Do not add the spec
5431	and body of predefined primitives in case of CPP tagged type
5432	derivations.
5433	(Freeze_Type): Deal properly with no storage pool case
5434	(Make_Predefined_Primitive_Specs): Generate specification of abstract
5435	primitive Deep_Adjust if a nonlimited interface is derived from a
5436	limited interface.
5437	(Build_Dcheck_Functions): Create discriminant-checking functions only
5438	for variants that have some component(s).
5439	(Build_Slice_Assignment): In expanded code for slice assignment, handle
5440	properly the case where the slice bounds extend to the last value of the
5441	underlying representation.
5442	(Get_Simple_Init_Val): New calling sequence, accomodate Invalid_Value
5443	(Is_Variable_Size_Record): An array component has a static size if
5444	index bounds are enumeration literals.
5445
5446	* exp_disp.adb (Make_DT): Use the first subtype to determine whether
5447	an external tag has been specified for the type.
5448	(Building_Static_DT): Add missing support for private types.
5449	(Make_DT): Add declaration of Parent_Typ to ensure consistent access
5450	to the entity associated with the parent of Typ. This is done to
5451	avoid wrong access when the parent is a private type.
5452	(Expand_Interface_Conversion): Improve error message when the
5453	configurable runtime has no support for dynamic interface conversion.
5454	(Expand_Interface_Thunk): Add missing support to interface types in
5455	configurable runtime.
5456	(Expand_Dispatching_Call): remove obsolete code.
5457	(Make_DT): Replace occurrences of RE_Address by RE_Prim_Ptr, and
5458	ensure that all subtypes and aggregates associated with dispatch
5459	tables have the attribute Is_Dispatch_Table_Entity set to true.
5460	(Register_Primitive): Rename one variable to improve code reading.
5461	Replace occurrences of RE_Addres by RE_Prim_Ptr. Register copy o
5462	of the pointer to the 'size primitive in the TSD.
5463
5464	* rtsfind.ads (RE_DT_Offset_To_Top_Offset): New entity.
5465	(RE_Offset_To_Top_Ptr): New entity.
5466	(RE_Register_Interface_Offset): New entity.
5467	(RE_Set_Dynamic_Offset_To_Top): New entity.
5468	(RE_Set_Offset_To_Top): Removed entity.
5469	(RE_Prim_Ptr): New entity
5470	(RE_Size_Func): New entity
5471	(RE_Size_Ptr): New entity
5472	(RTU_Id): Add Ada_Dispatching and Ada_Dispatching_EDF.
5473	(Ada_Dispatching_Child): Define this new subrange.
5474	(RE_Id): Add new required run-time calls (RE_Set_Deadline, RE_Clock,
5475	 RE_Time_Span, and RE_Time_Span_Zero).
5476	(RE_Unit_Table): Add new required run-time calls
5477
5478	* rtsfind.adb (Get_Unit_Name): Add processing for Ada.Dispatching
5479	children.
5480
5481	* exp_atag.ads, exp_atag.adb (Build_Offset_To_Top): New subprogram.
5482	(Build_Set_Static_Offset_To_Top): New subprogram. Generates code that
5483	 initializes the Offset_To_Top component of a dispatch table.
5484	(Build_Predef_Prims): Removed.
5485	(Build_Get_Predefined_Prim_Op_Address): Replace call to Predef_Prims by
5486	 its actual code.
5487	(Build_Set_Size_Function): New subprogram.
5488
5489	* exp_ch13.adb: Do not generate storage variable for storage_size zero
5490	(Expand): Handle setting/restoring flag Inside_Freezing_Actions
5491
54922008-04-08  Robert Dewar  <dewar@adacore.com>
5493
5494	* a-ztdeau.adb, a-tideau.adb, a-wtdeau.adb (Puts_Dec): Fix error in
5495	computing Fore when Exp > 0
5496
54972008-04-08  Robert Dewar  <dewar@adacore.com>
5498
5499	* back_end.adb: Remove Big_String_Ptr declarations (now in Types)
5500
5501	* errout.adb: Remove Big_String_Ptr declarations (now in Types)
5502	Change name Is_Style_Msg to Is_Style_Or_Info_Msg
5503
5504	* fmap.adb: Remove Big_String declarations (now in Types)
5505	(No_Mapping_File): New Boolean global variable
5506	(Initialize): When mapping file cannot be read, set No_Mapping_File to
5507	False.
5508	(Update_Mapping_File): Do nothing if No_Mapping_File is True. If the
5509	tables were empty before adding entries, open the mapping file
5510	with Truncate = True, instead of delete/re-create.
5511
5512	* fname-sf.adb: Remove Big_String declarations (now in Types)
5513
5514	* s-strcom.adb, g-dyntab.ads, g-table.ads, s-carsi8.adb,
5515	s-stalib.ads, s-carun8.adb: Add zero size Storage_Size clauses for
5516	big pointer types
5517
5518	* table.ads: Add for Table_Ptr'Storage_Size use 0
5519
5520	* types.ads: Add Big_String declarations
5521	Add Size_Clause of zero for big pointer types
5522
55232008-04-08  Vincent Celier  <celier@adacore.com>
5524
5525	* clean.adb (Parse_Cmd_Line): Recognize switch --subdirs=
5526	(Usage): Add line for switch --subdirs=
5527	Add new switch -eL, to follow symbolic links when processing project
5528	files.
5529
5530	* gnatcmd.adb: Process switches -eL and --subdirs=
5531	(Non_VMS_Usage): Output "gnaampcmd" instead of "gnat", and call
5532	Program_Name to get proper tool names when AAMP_On_Target is set.
5533	(Gnatcmd): Call Add_Default_Search_Dirs and Get_Target_Parameters to get
5534	AAMP_On_Target set properly for use of GNAAMP tools (this is needed by
5535	Osint.Program_Name).
5536
5537	* gnatname.adb: (Scan_Args): Recognize switches -eL and --subdirs=
5538	(Usage): Add lines for switches -eL and --subdirs=
5539
5540	* makeusg.adb: Add line for switch --subdirs=
5541
5542	* prj.ads:
5543	(Source_Data): New Boolean component Compiled, defaulted to True
5544	(Empty_File_Name: New global variable in private part, initialized in
5545	procedure Initialize.
5546	(Subdirs_Option): New constant string
5547	(Subdirs): New String_Ptr global variable
5548	(Language_Config): New component Include_Compatible_Languages
5549	(Project_Qualifier): New type for project qualifiers
5550	(Project_Data): New component Qualifier
5551	(Project_Configuration): New component Archive_Builder_Append_Option
5552
5553	* prj-nmsc.adb (Get_Unit_Exceptions): When a unit is already in
5554	another imported project indicate the name of this imported project.
5555	(Check_File): When a unit is in two project files, indicate the project
5556	names and the paths of the source files for each project.
5557	(Add_Source): Set Compiled to False if compiler driver is empty. Only
5558	set object, dependency and switches file names if Compiled is True.
5559	(Process_Compiler): Allow the empty string for value of attribute Driver
5560	(Get_Directories): When Subdirs is not null and Object_Dir is not
5561	 specified, locate and create if necessary the actual object dir.
5562	(Locate_Directory): When Subdirs is not empty and Create is not the
5563	empty string, locate and create if necessary the actual directory
5564	as a subdirectory of directory Name.
5565	(Check_Library_Attributes.Check_Library): Allow a project where the only
5566	"sources" are header files of file based languages to be imported by
5567	library projects, in multi-language mode (gprbuild).
5568	(Check_Library_Attributes.Check_Library): In multi-language mode
5569	(gprbuild), allow a library project to import a project with no
5570	sources, even when this is not declared explicitly.
5571	(Check_If_Externally_Built): A virtual project extending an externally
5572	built project is also externally built.
5573	(Check_Library_Attributes): For a virtual project extending a library
5574	project, inherit the library directory.
5575	(Process_Project_Level_Array_Attributes): Process new attribute
5576	Inherit_Source_Path.
5577	For projects with specified qualifiers "standard", "library" or
5578	"abstract", check that the project conforms to the qualifier.
5579	(Process_Project_Level_Simple_Attributes): Process new attribute
5580	 Archive_Builder_Append_Option.
5581
5582	* switch-m.adb: (Scan_Make_Switches): Process switch --subdirs=
5583	(Normalize_Compiler_Switches): Only keep compiler switches that are
5584	passed to gnat1 by the gcc driver and that are stored in the ALI file
5585	by gnat1.
5586	Do not take into account switc -save-temps
5587
5588	* makegpr.adb (Compile_Link_With_Gnatmake): Transmit switch -eL if
5589	gprmake is called with -eL.
5590	(Scan_Arg): Recognize switch -eL
5591	(Usage): Add line for switch -eL
5592
5593	* prj.adb (Initialize): Initialize Empty_File_Name
5594	(Project_Empty): New component Qualifier
5595
5596	* prj-attr.ads, prj-attr.adb: New project level attribute
5597	Inherit_Source_Path.
5598	New project level attribute Archive_Builder_Append_Option
5599
5600	* prj-dect.adb: Replace System.Strings by GNAT.Strings.
5601
5602	* prj-ext.adb (Initialize_Project_Path): In Multi_Language mode, add
5603	<prefix>/lib/gnat in the project path, after <prefix>/share/gpr, for
5604	upward compatibility.
5605
5606	* prj-part.adb (Project_Path_Name_Of.Try_Path): In high verbosity, put
5607	each Trying ..." on different lines.
5608	(Parse_Single_Project): Recognize project qualifiers. Fail in qualifier
5609	is "configuration" when not in configuration. Fail when in configuration
5610	when a specified qualifier is other than "configuration".
5611
5612	* prj-proc.adb (Process_Declarative_Items): Link new elements of copied
5613	full associative array together.
5614	(Recursive_Process): Put the project qualifier in the project data
5615
5616	* prj-tree.ads, prj-tree.adb: (Project_Qualifier_Of): New function
5617	(Set_Project_Qualifier_Of): New procedure
5618
56192008-04-08  Robert Dewar  <dewar@adacore.com>
5620
5621	* errout.ads: Update comments for new handling of info: messages
5622
5623	* erroutc.adb (Matches): New procedure
5624	(Warning_Specifically_Suppressed): Modified to handle multiple * chars
5625	(Is_Style_Or_Info_Msg): New name for Is_Style_Msg, now set for
5626	 info messages as well as style messages.
5627
5628	* erroutc.ads: Remove unneeded fields from Specific_Warning_Entry
5629
5630	* sem_elab.adb (Supply_Bodies): Create actual bodies for stubbed
5631	subprograms.
5632	(Check_A_Call): Special "info: " warnings now have ? in the text
5633	(Elab_Warning): Use info message in static case
5634
56352008-04-08  Ed Schonberg  <schonberg@adacore.com>
5636
5637	* exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine
5638	whether an array aggregate with static bounds and scalar components
5639	should be expanded into a static constant.
5640
56412008-04-08  Gary Dismukes  <dismukes@adacore.com>
5642	    Ed Schonberg  <schonberg@adacore.com>
5643	    Robert Dewar  <dewar@adacore.com>
5644
5645	* sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of
5646	Has_Stream_Attribute_ Definition when checking for available stream
5647	attributes on parameters of a limited type in Ada 2005. Necessary for
5648	proper recognition of visible stream attribute clauses.
5649	(Has_Stream_Attribute_Definition): If the type is derived from a
5650	private type, then use the derived type's underlying type for checking
5651	whether it has stream attributes.
5652	(Validate_Object_Declaration): The check for a user-defined Initialize
5653	procedure applies also to types with controlled components or a
5654	controlled ancestor.
5655	Reject an object declaration in a preelaborated unit if the type is a
5656	controlled type with an overriding Initialize procedure.
5657	(Validate_Remote_Access_To_Class_Wide_Type): Return without further
5658	checking when the parent of a dereference is a selected component and
5659	the name has not been analyzed.
5660
5661	* sem_ch4.adb (Analyze_Selected_Component): Add checking for selected
5662	prefixes that are invalid explicit dereferences of remote
5663	access-to-class-wide values, first checking whether the selected
5664	component is a prefixed form of call to a tagged operation.
5665	(Analyze_Call): Remove code that issues an error for limited function
5666	calls in illegal contexts, as we now support all of the contexts that
5667	were forbidden here.
5668	Allow a function call that returns a task.and appears as the
5669	prefix of a selected component.
5670	(Analyze_Reference): Give error message if we try to make a 'Reference
5671	for an object that is atomic/aliased without its type having the
5672	corresponding attribute.
5673	(Analyze_Call): Remove condition checking for attributes to allow
5674	calls to functions with inherently limited results as prefixes of
5675	attributes. Remove related comment about Class attributes.
5676	(Analyze_Selected_Component): If the prefix is a remote type, check
5677	whether this is a prefixed call before reporting an error.
5678	(Complete_Object_Operation): If the controlling formal is an access to
5679	variable reject an actual that is a constant or an access to one.
5680	(Try_Object_Operation): If prefix is a tagged protected object,retrieve
5681	primitive operations from base type.
5682
5683	* exp_ch4.adb (Expand_N_Indexed_Component): Test for prefix that is a
5684	build-in-place
5685	function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
5686	(Expand_N_Selected_Component): Test for prefix that is a build-in-place
5687	function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
5688	(Expand_N_Slice): Test for prefix that is a build-in-place function call
5689	and call Make_Build_In_Place_Call_In_Anonymous_Context.
5690	(Analyze_Call): Remove code that issues an error for limited function
5691	calls in illegal contexts, as we now support all of the contexts that
5692	were forbidden here.
5693	New calling sequence for Get_Simple_Init_Val
5694	(Expand_Boolean_Operator): Add call to Silly_Boolean_Array_Xor_Test
5695	(Expand_N_Op_Not): Add call to Silly_Boolan_Array_Not_Test
5696
56972008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
5698	    Ed Schonberg  <schonberg@adacore.com>
5699	    Robert Dewar  <dewar@adacore.com>
5700
5701	* exp_ch2.adb: Minor reformatting.
5702	(Expand_Entry_Index_Parameter): Set the type of the identifier.
5703	(Expand_Entry_Reference): Add call to Expand_Protected_Component.
5704	(Expand_Protected_Component): New routine.
5705	(Expand_Protected_Private): Removed.
5706	Add Sure parameter to Note_Possible_Modification calls
5707
5708	* sem_ch12.ads, sem_ch12.adb (Analyze_Subprogram_Instantiation): The
5709	generated subprogram declaration must inherit the overriding indicator
5710	from the instantiation node.
5711	(Validate_Access_Type_Instance): If the designated type of the actual is
5712	a limited view, use the available view in all cases, not only if the
5713	type is an incomplete type.
5714	(Instantiate_Object):  Actual is illegal if the formal is null-excluding
5715	and the actual subtype does not exclude null.
5716	(Process_Default): Handle properly abstract formal subprograms.
5717	(Check_Formal_Package_Instance): Handle properly defaulted formal
5718	subprograms in a partially parameterized formal package.
5719	Add Sure parameter to Note_Possible_Modification calls
5720	(Validate_Derived_Type_Instance): if the formal is non-limited, the
5721	actual cannot be limited.
5722	(Collect_Previous_Instances): Generate instance bodies for subprograms
5723	as well.
5724
5725	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Small): Don't
5726	try to set RM_Size.
5727	Add Sure parameter to Note_Possible_Modification calls
5728	(Analyze_At_Clause): Preserve Comes_From_Source on Rewrite call
5729	(Analyze_Attribute_Definition_Clause, case Attribute_Address): Check for
5730	constant overlaid by variable and issue warning.
5731	Use new Is_Standard_Character_Type predicate
5732	(Analyze_Record_Representation_Clause): Check that the specified
5733	Last_Bit is not less than First_Bit - 1.
5734	(Analyze_Attribute_Definition_Clause, case Address): Check for
5735	self-referential address clause
5736
5737	* sem_ch5.ads, sem_ch5.adb (Diagnose_Non_Variable_Lhs): Rewrite the
5738	detection mechanism when the lhs is a prival.
5739	(Analyze_Assignment): Call Check_Unprotected_Access to detect
5740	assignment of a pointer to protected data, to an object declared
5741	outside of the protected object.
5742	(Analyze_Loop_Statement): Check for unreachable code after loop
5743	Add Sure parameter to Note_Possible_Modication calls
5744	Protect analysis from previous syntax error such as a scope mismatch
5745	or a missing begin.
5746	(Analyze_Assignment_Statement): The assignment is illegal if the
5747	left-hand is an interface.
5748
5749	* sem_res.ads, sem_res.adb (Resolve_Arithmetic_Op): For mod/rem check
5750	violation of restriction No_Implicit_Conditionals
5751	Add Sure parameter to Note_Possible_Modication calls
5752	Use new Is_Standard_Character_Type predicate
5753	(Make_Call_Into_Operator): Preserve Comes_From_Source when rewriting
5754	call as operator. Fixes problems (e.g. validity checking) which
5755	come from the result looking as though it does not come from source).
5756	(Resolve_Call): Check case of name in named parameter if style checks
5757	are enabled.
5758	(Resolve_Call): Exclude calls to Current_Task as entry formal defaults
5759	from the checking that such calls should not occur from an entry body.
5760	(Resolve_Call): If the return type of an Inline_Always function
5761	requires the secondary stack, create a transient scope for the call
5762	if the body of the function is not available for inlining.
5763	(Resolve_Actuals): Apply Ada2005 checks to view conversions of arrays
5764	that are actuals for in-out formals.
5765	(Try_Object_Operation): If prefix is a tagged protected object,retrieve
5766	primitive operations from base type.
5767	(Analyze_Selected_Component): If the context is a call to a protected
5768	operation the parent may be an indexed component prior to expansion.
5769	(Resolve_Actuals): If an actual is of a protected subtype, use its
5770	base type to determine whether a conversion to the corresponding record
5771	is needed.
5772	(Resolve_Short_Circuit): Handle pragma Check
5773
5774	* sem_eval.adb: Minor code reorganization (usea Is_Constant_Object)
5775	Use new Is_Standard_Character_Type predicate
5776	(Eval_Relational_Op): Catch more cases of string comparison
5777
57782008-04-08  Robert Dewar  <dewar@adacore.com>
5779	    Gary Dismukes  <dismukes@adacore.com>
5780
5781	* s-rident.ads: Add No_Default_Initialization restriction
5782
5783	* exp_tss.adb:
5784	(Has_Non_Null_Base_Init_Proc): Handle No_Default_Initialization case
5785	(Set_TSS): Handle No_Default_Initialization case
5786
5787	* exp_ch6.adb (Expand_N_Subprogram_Body): Handle restriction
5788	No_Default_Initialization
5789	(Expand_N_Subprogram_Body): Remove redundant initialization of out
5790	parameters when Normalize_Scalars is active.
5791	(Add_Final_List_Actual_To_Build_In_Place_Call): Add formal Sel_Comp
5792	Fix casing error in formal parameter name in call
5793	(Register_Predefined_DT_Entry): Replace occurrences of RE_Address by
5794	(Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
5795	dispatching call on VM targets.
5796
57972008-04-08  Gary Dismukes  <dismukes@adacore.com>
5798	    Thomas Quinot  <quinot@adacore.com>
5799
5800	* exp_ch7.adb (Find_Final_List): Change the test for generating a
5801	selected component from an access type's Associated_Final_Chain to
5802	check for the presence of that field, rather than assuming it exists
5803	for all named access types.
5804	(Make_Clean): New formal Chained_Cleanup_Action allowing to specify a
5805	procedure to call at the end of the generated cleanup procedure.
5806	(Expand_Cleanup_Actions): When a new cleanup procedure is generated, and
5807	and an At_End_Proc already exists in the handled sequence of statements
5808	for which cleanup actions are being expanded, the original cleanup
5809	action must be preserved.
5810
58112008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
5812	    Ed Schonberg  <schonberg@adacore.com>
5813	    Robert Dewar  <dewar@adacore.com>
5814	    Gary Dismukes  <dismukes@adacore.com>
5815
5816	* exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry,
5817	Build_Unprotected_Subprogram_Body): Generate debug info for
5818	declarations related to the handling of private data in task and
5819	protected types.
5820	(Debug_Private_Data_Declarations): New subprogram.
5821	(Install_Private_Data_Declarations): Remove all debug info flagging.
5822	This is now done by Debug_Private_Data_Declarations at the correct
5823	stage of expansion.
5824	(Build_Simple_Entry_Call): If the task name is a function call, expand
5825	the prefix into an object declaration, and make the surrounding block a
5826	task master.
5827	(Build_Master_Entity): An internal block is a master if it wraps a call.
5828	Code reformatting, update comments. Code clean up.
5829	(Make_Task_Create_Call): Use 'Unrestricted_Access instead of 'Address.
5830	(Replicate_Entry_Formals): If the formal is an access parameter or
5831	anonymous access to subprogram, copy the original tree to create new
5832	entities for the formals of the subprogram.
5833	(Expand_N_Task_Type_Declaration): Create a Relative_Deadline variable
5834	for tasks to store the value passed using pragma Relative_Deadline.
5835	(Make_Task_Create_Call): Add the Relative_Deadline argument to the
5836	run-time call to create a task.
5837	(Build_Wrapper_Spec): If the controlling argument of the interface
5838	operation is an access parameter with a non-null indicator, use the
5839	non-null indicator on the wrapper.
5840
5841	* sem_ch9.adb (Analyze_Protected_Type): Only retrieve the full view when
5842	present, which it may not be in the case where the type entity is an
5843	incomplete view brought in by a limited with.
5844	(Analyze_Task_Type): Only retrieve the full view when present, which it
5845	may not be in the case where the type entity is an incomplete view brought
5846	in by a limited with.
5847	(Analyze_Protected_Definition): Set Is_Frozen on all itypes generated for
5848	private components of a protected type, to prevent the generation of freeze
5849	nodes for which there is no proper scope of elaboration.
5850
5851	* exp_util.ads, exp_util.adb
5852	(Remove_Side_Effects): If the expression is a function call that returns a
5853	task, expand into a declaration to invoke the build_in_place machinery.
5854	(Find_Protection_Object): New routine.
5855	(Remove_Side_Effects): Also make a copy of the value
5856	for attributes whose result is of an elementary type.
5857	(Silly_Boolean_Array_Not_Test): New procedure
5858	(Silly_Boolean_Array_Xor_Test): New procedure
5859	(Is_Volatile_Reference): New function
5860	(Remove_Side_Effects): Use Is_Volatile_Reference
5861	(Possible_Bit_Aligned_Component): Handle slice case properly
5862
5863	* exp_pakd.adb (Expand_Packed_Not): Move silly true/true or false/false
5864	case test to Exp_Util
5865	(Expand_Packed_Xor): Move silly true/true case test to Exp_Util
5866
58672008-04-08  Thomas Quinot  <quinot@adacore.com>
5868
5869	* exp_dist.ads, exp_dist.adb: Fix casing error in formal parameter name
5870	in call
5871	(Add_RACW_Features): When processing an RACW in another unit than the
5872	main unit, set Body_Decls to No_List to indicate that the bodies of
5873	the type's TSS must not be generated.
5874	(GARLIC_Support.Add_RACW_Read_Attribute,
5875	GARLIC_Support.Add_RACW_Write_Attribute): Do not generate bodies if
5876	Body_Decls is No_List.
5877	(PolyORB_Support.Add_RACW_Read_Attribute,
5878	PolyORB_Support.Add_RACW_Write_Attribute,
5879	PolyORB_Support.Add_RACW_From_Any,
5880	PolyORB_Support.Add_RACW_To_Any,
5881	PolyORB_Support.Add_RACW_TypeCode): Same.
5882	(Transmit_As_Unconstrained): New function.
5883	(Build_Ordered_Parameters_List): Use the above to order parameters.
5884	(GARLIC_Support.Build_General_Calling_Stubs):
5885	Use the above to determine which parameters to unmarshall using 'Input
5886	at the point where their temporary is declared (as opposed to later on
5887	with a 'Read call).
5888	(PolyORB_Support.Build_General_Calling_Stubs):
5889	Use the above to determine which parameters to unmarshall using From_Any
5890	at the point where their temporary is declared (as opposed to later on
5891	with an assignment).
5892
58932008-04-08  Ed Schonberg  <schonberg@adacore.com>
5894
5895	* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is
5896	an Input function for an access type, do not perform default
5897	initialization on the local variable that receives the value, to
5898	prevent spurious warnings when the type is null-excluding.
5899
59002008-04-08  Robert Dewar  <dewar@adacore.com>
5901	    Ed Schonberg  <schonberg@adacore.com>
5902
5903	* freeze.adb (Freeze_Entity): Improve warnings on access types in pure
5904	units.
5905	(Size_Known): Generic formal scalar types have known at compile
5906	time size, so remove check.
5907	Fix casing error in formal parameter name in call
5908	(Freeze_Subprogram): If the subprogram is a user-defined operator,
5909	recheck its overriding indication.
5910
59112008-04-08  Vincent Celier  <celier@adacore.com>
5912
5913	* gnat1drv.adb: Send all messages indicating an error to standard error
5914
59152008-04-08  Robert Dewar  <dewar@adacore.com>
5916
5917	* gnatbind.adb (Restriction_Could_Be_Set): New procedure
5918	(List_Applicable_Restrictions): Do not list existing restrictions
5919
59202008-04-08  Thomas Quinot  <quinot@adacore.com>
5921
5922	* g-socket.ads, g-socket.adb: Improve documentation of GNAT.Sockets:
5923	add a pointer to generic sockets literature
5924	do not mention that the given example is "typical" usage.
5925	Remove obsolete comment about multicast not being supported on Windows.
5926	(Connect_Socket): Make Server mode IN rather than IN OUT
5927	since this formal is never modified.
5928
59292008-04-08  Robert Dewar  <dewar@adacore.com>
5930
5931	* sprint.adb (Write_Itype): Handle Itypes whose Parent field points to
5932	the declaration for some different entity.
5933	(Sprint_Node_Actual, case N_Derived_Type_Definition): When an interface
5934	list is precent (following the parent subtype indication), display
5935	appropriate "and" keyword.
5936
5937	* itypes.adb: Remove unnecessary calls to Init_Size_Align and Init_Esize
5938	Remove unnecessary calls to Init_Size_Align and Init_Esize.
5939	Add notes on use of Parent field of an Itype
5940
59412008-04-08  Ed Schonberg  <schonberg@adacore.com>
5942	    Robert Dewar  <dewar@adacore.com>
5943	    Gary Dismukes  <dismukes@adacore.com>
5944
5945	* lib-xref.adb (Is_On_LHS): Remove dead code
5946	(Output_Overriden_Op): If the overridden operation is itself inherited,
5947	list the ancestor operation, which is the one whose body or absstract
5948	specification is actually being overridden. For source navigation
5949	purposes.
5950
5951	* sem_ch7.adb (Is_Primitive_Of): use base type to determine whether
5952	operation is primitive for the type.
5953	(Declare_Inherited_Private_Subprograms): If the new operation overrides
5954	an inherited private subprogram, set properly the Overridden_Operation
5955	attribute, for better cross-reference information.
5956	(Analyze_Package_Specification): Do late analysis of spec PPCs
5957	(Install_Private_Declaration, Uninstall_Declarations): Save/restore
5958	properly the full view and underlying full views of a private type in a
5959	child unit, whose full view is derived from a private type in a parent
5960	unit, and whose own full view becomes visible in the child body.
5961
5962	* sem_disp.adb (Check_Dispatching_Operation): When a body declares a
5963	primitive operation after the type has been frozen, add an explicit
5964	reference to the type and the operation, because other primitive
5965	references have been emitted already.
5966	(Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
5967	dispatching call on VM targets.
5968
59692008-04-08  Vincent Celier  <celier@adacore.com>
5970	    Thomas Quinot  <quinot@adacore.com>
5971
5972	* make.adb: (Gnatmake_Called): Remove, no longer necessary
5973	(Compile_Surces): Call Delete_Temp_Config_Files only if Gnatmake_Called
5974	is True and Debug_Flag_N is False. Debug_Flag_N means "keep temp files".
5975	(Insert_Project_Sources): Take into account index in multi-unit source
5976	files.
5977	After building a library project, delete all temporary files.
5978	(Initialize): Reset current output after parsing project file.
5979	(Collect_Arguments_And_Compile): Never insert in the queue the sources
5980	of library projects that are externally built.
5981	Put file name in error and inform messages if -df is used
5982	(Display): If invoked with -d7, do not display path names, but only
5983	file names.
5984
5985	* makeutl.ads (Path_Or_File_Name): New function
5986	(Path_Or_File_Name): New function
5987
59882008-04-08  Arnaud Charlet  <charlet@adacore.com>
5989
5990	* Make-lang.in: Disable warnings during first stage of bootstrap
5991	Get rid of gnatbl.
5992	Update dependencies.
5993
59942008-04-08  Vincent Celier  <celier@adacore.com>
5995
5996	* mlib-prj.adb (Build_Library): Compare with ALI file name in canonical
5997	case to decide if ALI object file is included in library.
5998	(Build_Library): Never attempt to build a library if the project is
5999	externally built.
6000
60012008-04-08  Thomas Quinot  <quinot@adacore.com>
6002
6003	* nlists.adb (Is_Non_Empty_List): Remove redundant test. First
6004	(No_List) is defined to return Empty.
6005
60062008-04-08  Jose Ruiz  <ruiz@adacore.com>
6007
6008	* osint.ads, osint.adb (Get_Libraries_From_Registry): Improve
6009	documentation.
6010	Update comments.
6011	(Read_Default_Search_Dirs): Do not consider spaces as path separators
6012	because spaces may be part of legal paths.
6013
60142008-04-08  Robert Dewar  <dewar@adacore.com>
6015
6016	* par-ch11.adb (P_Exception_Handler): Check indentation level for
6017	handler
6018
60192008-04-08  Ed Schonberg  <schonberg@adacore.com>
6020
6021	* par-ch3.adb (P_Type_Declaration) Reject the keyword "synchronized"
6022	in a type declaration, if this is not an interface declaration or
6023	private type extension.
6024
60252008-04-08  Vincent Celier  <celier@adacore.com>
6026
6027	* prj-util.adb (Executable_Of): New String parameter Language. When
6028	Ada_Main is False and Language is not empty, attempt to remove the body
6029	suffix or the spec suffix of the language to get the base of the
6030	executable file name.
6031	(Put): New Boolean parameter Lower_Case, defauilted to False. When
6032	Lower_Case is True, put the value in lower case in the name list.
6033	(Executable_Of): If there is no executable suffix in the configuration,
6034	then do not modify Executable_Extension_On_Target.
6035
6036	* prj-util.ads (Executable_Of): New String parameter Language,
6037	defaulted to the empty string.
6038	(Put): New Boolean parameter Lower_Case, defauilted to False
6039
60402008-04-08  Robert Dewar  <dewar@adacore.com>
6041
6042	* scng.adb (Scan_Identifier): Handle case of identifier starting with
6043	wide character using UTF-8 encoding.
6044
60452008-04-08  Javier Miranda  <miranda@adacore.com>
6046
6047	* sem.adb (Analyze): Consider case in which we analyze an empty node
6048	that was generated by a call to a runtime function that is not
6049	available under the configurable runtime.
6050
6051	* sem.ads (Inside_Freezing_Actions): New flag.
6052	(Save_Check_Policy_List): New field in scope stack entry
6053
60542008-04-08  Ed Schonberg  <schonberg@adacore.com>
6055	    Robert Dewar  <dewar@adacore.com>
6056
6057	* sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for
6058	the ancestor part of an extension aggregate for a limited type.
6059	(Resolve_Array_Aggregate): Issue warning for sliding of aggregate with
6060	enumeration index bounds.
6061	(Resolve_Array_Aggregate): Add circuit for diagnosing missing choices
6062	when array is too short.
6063	(Check_Expr_OK_In_Limited_Aggregate): Move function
6064	Check_Non_Limited_Type from Resolve_Record_Aggregate to top level (and
6065	change name).
6066	(Resolve_Array_Aggregate.Resolve_Aggr_Expr):
6067	Check_Expr_OK_In_Limited_Aggregates called to check for illegal limited
6068	component associations.
6069	(Check_Non_Limited_Type): Moved to outer level and renamed.
6070	(Resolve_Record_Aggregate): In an extension aggregate, an association
6071	with a box initialization can only designate a component of the
6072	extension, not a component inherited from the given ancestor
6073
6074	* sem_case.adb: Use new Is_Standard_Character_Type predicate
6075
60762008-04-08  Robert Dewar  <dewar@adacore.com>
6077
6078	* s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with
6079	negative scale
6080	(Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1)
6081	Properly handle case where Aft > Scale and input number is less than
6082	one.
6083
60842008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
6085
6086	* s-stoele.ads, s-soflin.ads: Move the location of
6087	Dummy_Communication_Block from System.Storage_Elements to
6088	System.Soft_Links.
6089
6090	* s-tpobop.ads: Add comment on usage of Dummy_Communication_Block to
6091	emulate Communication_Block in certain scenarios.
6092
60932008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
6094
6095	* s-strxdr.adb, s-stratt.ads, s-stratt.adb (Block_IO_OK): New
6096	subprogram.
6097	Add new subtype S_WWC, unchecked conversion routines From_WWC and
6098	To_WWC.
6099	(I_WWC, O_WWC): New routines for input and output of
6100	Wide_Wide_Character.
6101
61022008-04-08  Robert Dewar  <dewar@adacore.com>
6103
6104	* stringt.adb (Write_String_Table_Entry): Handle wide characters
6105	properly
6106
61072008-04-08  Robert Dewar  <dewar@adacore.com>
6108
6109	* styleg.adb (Check_Comment): Allow special char after -- in
6110	non-end-of-line case
6111
61122008-04-08  Robert Dewar  <dewar@adacore.com>
6113
6114	* stylesw.adb: Implement -gnaty + - y options
6115	(Set_GNAT_Style_Check_Options): Includ I in style check string
6116
6117	* stylesw.ads: Add comments for new style switch options
6118
61192008-04-08  Sergey Rybin  <rybin@adacore.com>
6120
6121	* tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux
6122	to the set of the GNAT components needed by ASIS.
6123
61242008-04-08  Bob Duff  <duff@adacore.com>
6125
6126	* types.h: Change CE_Null_Exception_Id to the correct value (8, was 9).
6127
61282008-04-08  Tristan Gingold  <gingold@adacore.com>
6129
6130	* vxaddr2line.adb: Use Unsigned_32 instead of Integer for address type.
6131	Improve error message generation.
6132
61332008-04-08  Vincent Celier  <celier@adacore.com>
6134
6135	* a-direct.adb (Start_Search): Check for Name_Error before checking for
6136	Use_Error, as specified in the RM. Check if directory is open and raise
6137	Use_Error if it is not.
6138
61392008-04-08  Vincent Celier  <celier@adacore.com>
6140	    Robert Dewar  <dewar@adacore.com>
6141
6142	* vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when
6143	AAMP_On_Target is set.
6144
6145	* vms_data.ads: Add NOxxx to style check switch list
6146	Add entry COMPONENTS for -gnatVe
6147	Add VMS qualifiers for -eL (/FOLLOW_LINKS_FOR_FILES) and --subdirs=
6148	(/SUBDIRS=).
6149	(GCC_Switches): Add /ALL_BACK_END_WARNINGS.
6150	Add qualifiers for gnatmetric coupling options
6151	Add note that -gnata enables all checks
6152	Add entries [NO]PARAMETER_ORDER for -gnatw.p[P]
6153	Fix inconsistency for VMS qualifier for the gnatpp '-rnb' option
6154	New warning flag -gnatw.e
6155
6156	* usage.adb: Add entries for -gnaty+ -gnaty- -gnatyy
6157	Add entry for -gnatyN (forgotten before)
6158	Line for new warning switch -gnatw.p
6159	New warning flag -gnatw.e
6160
6161	* gnat_ugn.texi: Add documentation fpr project file switch -aP
6162	Document -gnaty - + y
6163	Replace occurences of "package specification" with "package spec"
6164	Define preprocessing symbols in documentation of gnatprep
6165	Clarify reason for distinguishing overflow checking
6166	Add documentation for project-aware tool switches -eL and --subdirs=
6167	Complete list of configuration pragmas
6168	Specify that, even when gnatmake switch -x is used, mains on the command
6169	line need to be sources of project files.
6170	Editing of gnatcheck/gnatmetric doc.
6171	Add documentation for -gnatw.p/-gnatw.P
6172	Add missing documentation for -fno-inline-functions.
6173	Add documentation for -gnatw.e
6174
6175	* gnat_rm.texi: Add documentation for No_Default_Initialization
6176	Replace occurences of "package specification" with "package spec"
6177	Document use of * in Warnings Off string
6178	Update documentation of alignment/component clauses.
6179	Add documentation for Invalid_Value
6180	Document new consistency rule for Optimize_Alignment
6181	Add documentation for Precondition and Postcondition pragmas
6182	Add documentation for Check and Check_Policy pragmas
6183	Document new Enum_Val attribute
6184	Remove requirement for static string in pragma Assert
6185	Add documentation on GNAT.Time_Stamp
6186
6187	* ug_words: add entry for -gnatVe
6188	Add entries for -gnat.p[P] /WARNINGS=[NO]PARAMETER_ORDER
6189	Add entry for -gnatw.e
6190
6191	* debug.adb: Add missing documentation for d.a flag
6192	Document new -gnatd.a switch.
6193	Add documentation for new gnatmake debug switch -df
6194
61952008-04-08  Thomas Quinot  <quinot@adacore.com>
6196
6197	* gen-soccon.c: Bump year in copyright notices.
6198
6199	* g-soccon-vxworks.ads: Add new constant IP_PKTINFO
6200
62012008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
6202
6203	* ctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows.
6204	Minor reformatting.
6205
62062008-04-08  Robert Dewar  <dewar@adacore.com>
6207	    Bob Duff  <duff@adacore.com>
6208
6209	* impunit.adb: Add Interfaces.Java.JNI, System.Strings.Stream_Ops,
6210	Ada.Calendar.Conversions, Ada.Dispatching.EDF, GNAT.Time_Stamp
6211
6212	* s-intman-mingw.adb: Minor comment fix -- spell 'explicitly' correctly
6213
6214	* g-trasym.adb: Minor comment fix -- spell 'explicitly' correctly
6215
6216	* g-trasym.ads: Minor comment improvements
6217
6218	* s-stalib.adb: Minor comment fix -- spell 'explicitly' correctly
6219
6220	* a-sequio.ads, a-direio.ads: improve message for tagged type
6221
6222	* a-strunb.ads: Minor reformatting
6223
6224	* a-tifiio.adb: Minor reformatting
6225
6226	* atree.adb (Fix_Parents): Use clearer names for formals
6227	Cleanup and simplify code
6228	Use named notation in calls
6229
6230	* exp_fixd.adb (Do_Multiply_Fixed_Universal): Use named notation in
6231	confusing calls
6232
6233	* uintp.adb: Used named notation for some confusing calls
6234
6235	* bindusg.adb: Minor change in one line of output
6236
6237	* cstand.adb: Minor reformatting of src representation of Standard
6238
6239	* a-assert.ads: Add comment.
6240
6241	* g-decstr.adb: Fix bad indentation
6242
6243	* expander.ads, expander.adb: Code clean up.
6244
6245	* sem_dist.ads: Minor comment improvement
6246
6247	* sem_type.adb, g-dirope.ads, g-exctra.ads, s-valwch.adb,
6248	s-wchstw.adb, targparm.ads, widechar.adb: Minor reformatting
6249
6250	* i-cstrin.adb: Fix casing error in formal parameter name in call
6251
62522008-04-08  Ed Schonberg  <schonberg@adacore.com>
6253
6254	* binde.adb (Gather_All_Links, Gather_Dependencies): units that are
6255	mentioned in limited_with_clauses to do create semantic dependencies
6256	even though they appear in the ali file.
6257
62582008-04-08  Emmanuel Briot  <briot@adacore.com>
6259
6260	* g-comlin.ads, g-comlin.adb (Expansion): Remove unreachable return
6261	statement.
6262	(Get_Configuration): New subprogram.
6263
6264	* prj-pp.ads, prj-pp.adb (Pretty_Print): new parameters Id and Id_Tree
6265	These optional parameters help preserve the casing of the project's name
6266	when pretty-printing.
6267
62682008-04-08  Jerome Lambourg  <lambourg@adacore.com>
6269	    Arnaud Charlet  <charlet@adacore.com>
6270
6271	* bindgen.adb (Gen_Adainit_Ada): If the main program is a CIL function,
6272	then use __gnat_set_exit_status to report the returned status code.
6273
6274	* comperr.adb (Compiler_Abort): Convert most bug boxes into clean error
6275	messages on .NET, since some constructs of the language are not
6276	properly supported.
6277
6278	* gnatlink.adb (Gnatlink): In case the command line is too long for the
6279	.NET linker, gnatlink now concatenate all .il files and pass this to
6280	ilasm.
6281
62822008-04-07  Aurelien Jarno  <aurelien@aurel32.net>
6283	    Xavier Grave  <grave@ipno.in2p3.fr>
6284
6285	* Makefile.in: Add make ifeq define for mips/mipsel support.
6286	* g-soccon-linux-mips.ads, system-linux-mipsel.ads,
6287	system-linux-mips.ads: New files.
6288
62892008-04-07  Aurelien Jarno  <aurelien@aurel32.net>
6290
6291	* sysdep.c: add __GLIBC__ to the #ifdef preprocessor macros to
6292	detect systems using GNU libc.
6293	* gsocket.h: ditto.
6294	* socket.c: ditto.
6295	* adaint.c: ditto.
6296	* link.c: ditto.
6297
62982008-04-07  Aurelien Jarno  <aurelien@aurel32.net>
6299
6300	* s-osinte-linux-kfreebsd.ads (SC_NPROCESSORS_ONLN): New
6301	constant constant for sysconf call.
6302	(bit_field): New packed boolean type used by cpu_set_t.
6303	(cpu_set_t): New type corresponding to the C type with
6304	the same name. Note that on the Ada side we use a bit
6305	field array for the affinity mask. There is not need
6306	for the C macro for setting individual bit.
6307	(pthread_setaffinity_np): New imported routine.
6308	* Makefile.in: Use s-tasinf-linux.ads and s-tasinf-linux.adb
6309	on GNU/kFreeBSD.
6310
63112008-04-07  Eric Botcazou  <ebotcazou@adacore.com>
6312
6313	* utils2.c (build_binary_op): Fold ARRAY_REF and ARRAY_RANGE_REF too.
6314
63152008-04-07  Eric Botcazou  <ebotcazou@adacore.com>
6316
6317	* gigi.h (create_subprog_type): Remove returns_with_dsp parameter.
6318	* decl.c (gnat_to_gnu_entity): Adjust for above new prototype.
6319	* utils.c (create_subprog_type): Remove returns_with_dsp parameter.
6320	* trans.c (gnat_to_gnu) <N_Return_Statement>: Remove code dealing with
6321	Return by Depressed Stack Pointer.
6322
63232008-04-06  Eric Botcazou  <ebotcazou@adacore.com>
6324
6325	* decl.c (is_variable_size): Do not unconditionally return false
6326	on non-strict alignment platforms.
6327
63282008-04-06  Eric Botcazou  <ebotcazou@adacore.com>
6329
6330	* decl.c (rest_of_type_decl_compilation_no_defer): New local function
6331	used to process all the variants of the specified type.
6332	(gnat_to_gnu_entity): Invoke rest_of_type_decl_compilation for enumeral
6333	types too.  Call rest_of_type_decl_compilation_no_defer if undeferring.
6334	(rest_of_type_decl_compilation): Likewise.
6335	* utils.c (gnat_pushdecl): Propagate the name to all variants of type.
6336
63372008-04-03  Paolo Bonzini  <bonzini@gnu.org>
6338
6339	* gigi.h (insert_block): Kill.
6340	* utils.c (insert_block): Kill.
6341
63422008-04-02  Eric Botcazou  <ebotcazou@adacore.com>
6343
6344	* decl.c (gnat_to_gnu_entity) <object>: For a constant object whose
6345	type has self-referential size, get the size from the initializing
6346	expression directly if it is also a constant whose nominal type
6347	has self-referential size.
6348
63492008-04-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6350
6351	PR ada/33688
6352	* g-soccon-darwin.ads: Define new constant IP_PKTINFO.
6353
6354	PR ada/33857
6355	* env.c: Always include crt_externs.h if __APPLE__ is defined.
6356	(__gnat_setenv): Use setenv instead of putenv if __APPLE__ is defined.
6357
63582008-04-01  Andreas Jaeger  <aj@suse.de>
6359
6360	* g-soccon-linux-ppc.ads: Add new constants SO_REUSEPORT and
6361	IP_PKTINFO.
6362
63632008-03-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6364
6365	* g-table.adb, g-tasloc.adb, g-traceb.ads,
6366	g-trasym.adb, g-utf_32.adb, gen-soccon.c, gigi.h, gmem.c,
6367	gnatbind.adb, gnatchop.adb, gnatcmd.adb,
6368	gnatcmd.ads, gnatdll.adb, gnatfind.adb,
6369	gnatlink.adb, gnatmem.adb, gprep.adb,
6370	i-cstrea-vms.adb, i-cstrin.adb, i-pacdec.ads,
6371	i-vxwork.ads, impunit.adb, init.c, initialize.c, inline.adb,
6372	layout.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
6373	lib-xref.ads, lib.adb, link.c, live.ads,
6374	make.adb, makegpr.adb, makeutl.adb, math_lib.adb,
6375	mdll-utl.adb, mdll.ads, memroot.adb, memroot.ads,
6376	misc.c, mlib-prj.adb, mlib-tgt-hpux.adb,
6377	mlib-tgt-linux.adb, mlib-tgt-tru64.adb, mlib-tgt.ads,
6378	namet.adb, namet.h, nlists.adb, nlists.ads,
6379	nlists.h, opt.ads, osint-b.ads, osint-c.adb,
6380	osint-c.ads, osint.adb, osint.ads, output.ads,
6381	par-ch10.adb, par-ch12.adb, par-ch2.adb, par-ch3.adb,
6382	par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb,
6383	par-endh.adb, par-labl.adb, par-prag.adb,
6384	par-sync.adb, par-tchk.adb, par-util.adb,
6385	par.adb, prep.adb, prep.ads, prepcomp.adb, prj-attr.ads,
6386	prj-dect.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
6387	prj-nmsc.ads, prj-pp.adb, prj-proc.adb,
6388	prj-strt.ads, prj-tree.ads, prj.adb, prj.ads: Fix comment typos.
6389
63902008-03-31  Eric Botcazou  <ebotcazou@adacore.com>
6391
6392	* decl.c (gnat_to_gnu_entity) <object>: Do not force a non-null
6393	size if it has overflowed.
6394
63952008-03-31  Olivier Hainque  <hainque@adacore.com>
6396	    Eric Botcazou  <ebotcazou@adacore.com>
6397
6398	* utils2.c (find_common_type): Document assumption on t1/t2 vs
6399	lhs/rhs. Force use of lhs type if smaller, whatever the modes.
6400
64012008-03-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6402
6403	* a-textio.ads, a-witeio.ads, a-ztexio.ads, ali.ads,
6404	einfo.ads, erroutc.adb, erroutc.ads, exp_attr.adb,
6405	exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
6406	exp_pakd.ads, exp_prag.adb, exp_smem.adb,
6407	exp_tss.ads, exp_util.adb, exp_util.ads,
6408	exp_vfpt.adb, freeze.adb, freeze.ads,
6409	frontend.adb, g-alleve.adb, g-altcon.adb,
6410	g-altive.ads, g-alveop.ads, g-alvevi.ads,
6411	g-arrspl.adb, g-busorg.ads, g-calend.adb,
6412	g-calend.ads, g-casuti.ads, g-cgideb.adb,
6413	g-comlin.adb, g-comlin.ads, g-curexc.ads,
6414	g-debpoo.adb, g-debpoo.ads, g-decstr.adb,
6415	g-dirope.adb, g-dirope.ads, g-dynhta.ads,
6416	g-dyntab.adb, g-encstr.ads, g-excact.ads,
6417	g-except.ads, g-expect.ads, g-heasor.adb,
6418	g-hesora.adb, g-hesorg.adb, g-htable.ads,
6419	g-locfil.ads, g-md5.adb, g-md5.ads,
6420	g-memdum.ads, g-moreex.ads, g-os_lib.adb,
6421	g-pehage.adb, g-pehage.ads, g-regexp.adb,
6422	g-regexp.ads, g-regpat.adb, g-regpat.ads,
6423	g-soccon-aix.ads, g-soccon-darwin.ads,
6424	g-soccon-freebsd.ads, g-soccon-hpux-ia64.ads,
6425	g-soccon-hpux.ads, g-soccon-irix.ads,
6426	g-soccon-linux-64.ads, g-soccon-linux-ppc.ads,
6427	g-soccon-linux-x86.ads, g-soccon-lynxos.ads,
6428	g-soccon-mingw.ads, g-soccon-solaris-64.ads,
6429	g-soccon-solaris.ads, g-soccon-tru64.ads,
6430	g-soccon-vms.ads, g-soccon-vxworks.ads,
6431	g-soccon.ads, g-socket.adb, g-socket.ads,
6432	g-socthi-mingw.adb, g-socthi-vms.adb,
6433	g-socthi-vxworks.adb, g-soliop-mingw.ads,
6434	g-soliop-solaris.ads, g-soliop.ads, g-spipat.adb,
6435	g-spipat.ads, g-string.adb, g-stsifd-sockets.adb: Fix comment
6436	typos.
6437
64382008-03-27  Eric Botcazou  <ebotcazou@adacore.com>
6439
6440	* decl.c (gnat_to_gnu_entity) <E_Procedure>: Also set the public flag
6441	if the procedure is imported.
6442
64432008-03-26  Arnaud Charlet  <charlet@adacore.com>
6444
6445	* adaint.c: Fix warnings.
6446
64472008-03-26  Arnaud Charlet  <charlet@adacore.com>
6448
6449	* g-dirope.ads, g-dirope.adb: (Dir_Type_Value): Moved to spec.
6450
64512008-03-26  Arnaud Charlet  <charlet@adacore.com>
6452
6453	* a-witeio.adb: Fix problem with Current_Output (introduce Self).
6454	Fix problem of status check for null file
6455
64562008-03-26  Arnaud Charlet  <charlet@adacore.com>
6457
6458	* s-proinf-irix-athread.ads, s-vxwork-mips.ads,
6459	s-traces.ads, s-vxwork-arm.ads, s-vxwork-ppc.ads, s-vxwork-sparcv9.ads,
6460	s-tasinf-mingw.ads, s-tasinf-linux.ads, s-tasdeb.ads, mlib-tgt.ads,
6461	i-cstrin.ads, uintp.adb, g-catiio.adb, s-vmexta.ads,
6462	s-trafor-default.ads, s-vxwork-m68k.ads: Minor reformatting. Update
6463	comments.
6464
64652008-03-26  Thomas Quinot  <quinot@adacore.com>
6466
6467	PR ada/33688
6468	* g-socket.ads, g-socket.adb (Options, Set_Socket_Option,
6469	Get_Socket_Option): Add support for Receive_Packet_Info.
6470
6471	* g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
6472	g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
6473	g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-freebsd.ads,
6474	g-soccon-hpux-ia64.ads, g-soccon-solaris-64.ads, g-soccon-darwin.ads,
6475	g-soccon-lynxos.ads, g-soccon-linux-64.ads, g-soccon-linux-x86.ads: Add
6476	new constants SO_REUSEPORT and IP_PKTINFO
6477
64782008-03-26  Robert Dewar  <dewar@adacore.com>
6479
6480	* a-taster.adb, s-shasto.adb, s-soflin.adb, s-taasde.adb, s-taenca.adb,
6481	a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
6482	a-intnam-lynxos.ads, a-retide.adb, a-intnam-tru64.ads, a-intnam-aix.ads,
6483	a-intnam-irix.ads, a-intnam-hpux.ads, a-intnam-linux.ads,
6484	a-intnam-solaris.ads, a-caldel-vms.adb, a-intnam-vms.ads,
6485	a-excpol-abort.adb, a-intnam-mingw.ads, s-interr.adb, s-interr.ads,
6486	s-intman.ads, s-gloloc.adb, s-osinte-lynxos-3.ads,
6487	s-interr-sigaction.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
6488	a-intnam-freebsd.ads, s-osinte-freebsd.ads, s-osinte-lynxos.ads,
6489	s-taspri-lynxos.ads, s-osinte-tru64.ads, s-osinte-tru64.ads,
6490	s-taspri-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
6491	s-osinte-hpux-dce.ads, s-taprop-hpux-dce.adb, s-taspri-hpux-dce.ads,
6492	s-osinte-linux.ads, s-osinte-dummy.ads, s-taprop-dummy.adb,
6493	s-taspri-dummy.ads, s-interr-dummy.adb, s-osinte-solaris.ads,
6494	s-osinte-mingw.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
6495	s-inmaop-vms.adb, s-interr-vms.adb, s-intman-vms.ads, s-osinte-vms.ads,
6496	s-osinte-vms.ads, s-taprop-vms.adb, s-taspri-vms.ads,
6497	s-taspri-mingw.ads, s-interr-vxworks.adb, s-inmaop-posix.adb,
6498	s-intman-vxworks.ads, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
6499	s-taspri-vxworks.ads, s-taspri-posix.ads, a-caldel.adb, a-calend.adb,
6500	a-elchha.adb, a-dynpri.adb, a-except.adb, a-except.ads, a-interr.ads,
6501	a-textio.adb, a-tigeau.ads, atree.adb, s-taprob.adb, s-taprop.ads,
6502	s-tarest.adb, s-tarest.ads, s-tasini.adb, s-taskin.adb, s-taskin.ads,
6503	s-tasque.adb, s-tasren.adb, s-tasren.ads, s-tassta.adb, s-tassta.ads,
6504	s-tasuti.adb, s-tataat.adb, s-tataat.ads, s-tpoben.adb, s-tpoben.ads,
6505	s-tpobop.adb, s-tpobop.ads, s-tposen.adb, s-tposen.ads, s-valrea.adb,
6506	s-valuti.adb, a-intnam-darwin.ads, s-osinte-darwin.ads, s-solita.adb,
6507	a-ztinau.ads, s-osinte-linux-hppa.ads, a-except-2005.adb,
6508	a-except-2005.ads, a-rttiev.adb, s-osinte-vxworks6.ads, s-regexp.adb,
6509	s-tasloc.adb: Minor reformatting.
6510	Update comments.
6511	Remove "used for" sections from comments.
6512
65132008-03-26  Robert Dewar  <dewar@adacore.com>
6514
6515	* s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
6516	s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
6517	s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
6518	s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
6519	s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
6520	a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
6521	a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
6522	a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
6523	a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
6524	a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
6525	a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
6526	i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
6527	a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb,
6528	s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads,
6529	s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
6530	double spaced if it fits on one line and otherwise single spaced.
6531
65322008-03-26  Arnaud Charlet  <charlet@adacore.com>
6533
6534	* s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-lynxos.adb,
6535	s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
6536	s-taprop-posix.adb (Create_Task): Do not attempt to set task priority
6537	or task info if the thread could not be created.
6538
65392008-03-26  Arnaud Charlet  <charlet@adacore.com>
6540
6541	* gnatvsn.ads (Library_Version): Bump to 4.4.
6542	(Current_Year): Bump to 2008.
6543
65442008-03-26  Robert Dewar  <dewar@adacore.com>
6545
6546	* ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record
6547
6548	* bcheck.adb (Check_Consistent_Optimize_Alignment): New procedure
6549
6550	* debug.adb: Add debug flags d.r and d.v
6551	Add debug flag .T (Optimize_Alignment (Time))
6552	Add debug flag .S (Optimize_Alignment (Space))
6553
6554	* freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Components
6555	depending on setting of relevant debug flags.
6556	Replace use of Warnings_Off by Has_Warnings_Off
6557	(Freeze_Entity): In circuit for warning on suspicious convention
6558	actuals, do not give warning if subprogram has same entity as formal
6559	type, or if subprogram does not come from source.
6560	(Freeze_Entity): Don't reset Is_Packed for fully rep speced record
6561	if Optimize_Alignment set to Space.
6562
6563	* frontend.adb: Add call to Sem_Warn.Initialize
6564	Add call to Sem_Warn.Output_Unused_Warnings_Off_Warnings
6565	Reset Optimize_Alignment mode from debug switches .S and .T
6566
6567	* layout.adb (Layout_Composite_Object): Rewritten for
6568	Optimize_Aligment pragma.
6569
6570	* lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignment
6571	mode.
6572
6573	* opt.ads, opt.adb: (Optimize_Alignment): New global switch
6574
6575	* par-prag.adb (N_Pragma): Chars field removed, use Chars
6576	(Pragma_Identifier (..  instead, adjustments throughout to accomodate
6577	this change. Add entry for pragma Optimize_Alignment
6578
6579	* sem_prag.adb (N_Pragma): Chars field removed, use Chars
6580	(Pragma_Identifier (..
6581	instead, adjustments throughout to accomodate this change.
6582	(Process_Compile_Time_Warning_Or_Error): Use !! for generated msg
6583	(Favor_Top_Level): Use new function Is_Access_Subprogram_Type
6584	Add implementation of pragma Optimize_Alignment
6585
65862008-03-26  Vincent Celier  <celier@adacore.com>
6587
6588	* a-szuzti.adb, a-swuwti.adb, a-suteio.adb (functions Get_Line):
6589	Improve memory usage to avoid use of stack.
6590
65912008-03-26  Robert Dewar  <dewar@adacore.com>
6592
6593	* a-teioed.ads: Correct value of Default_Fill
6594
6595	* a-teioed.adb (Image): Use Fill_Character instead of '*' to fill
6596
65972008-03-26  Robert Dewar  <dewar@adacore.com>
6598
6599	* a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb: Fix problem
6600	with Current_Output (introduce Self).
6601
66022008-03-26  Robert Dewar  <dewar@adacore.com>
6603
6604	* checks.adb (Ensure_Valid): Capture valid status if possible
6605	(eliminate checks)
6606
66072008-03-26  Robert Dewar  <dewar@adacore.com>
6608
6609	* stand.ads: Deal with reordering of package standard declarations
6610
6611	* cstand.adb: Put package Standard declarations in proper order
6612
66132008-03-26  Robert Dewar  <dewar@adacore.com>
6614
6615	* einfo.ads, einfo.adb (N_Pragma): Chars field removed, use Chars
6616	(Pragma_Identifier (.. instead.
6617	(OK_To_Reorder_Components): New flag
6618	(Has_Entries): Code cleanup.
6619	(Warnings_Off_Used): New flag
6620	(Warnings_Off_Used_Unmodified): New flag
6621	(Warnings_Off_Used_Unreferenced): New flag
6622	(Has_Warnings_Off): New function
6623	(Has_Unmodified): New function
6624	(Has_Unreferenced): New function
6625	(Is_Trivial_Subprogram): New flag
6626	(Is_Static_Dispatch_Table_Entity): New attribute.
6627	Change name Access_Subprogram_Type_Kind to Access_Subprogram_Kind
6628	(more consistent with other similar names)
6629	(Access_Subprogram_Type): New classification function
6630
66312008-03-26  Robert Dewar  <dewar@adacore.com>
6632
6633	* errout.ads: Document new !! insertion sequence
6634
6635	* errout.adb (N_Pragma): Chars field removed, use Chars
6636	(Pragma_Identifier (..  instead.
6637	Replace use of Warnings_Off by Has_Warnings_Off
6638	(Error_Msg_Internal): Don't delete warning ending in !!
6639
66402008-03-26  Robert Dewar  <dewar@adacore.com>
6641
6642	* par.adb (Check_No_Right_Paren): Removed no longer used
6643
6644	* par-ch10.adb (N_Pragma): Chars field removed, use Chars
6645	(Pragma_Identifier (..  instead.
6646
6647	* par-ch10.adb (P_Subunit): Improvement in error recovery and message
6648
6649	* par-tchk.adb, par-ch5.adb, par-ch6.adb, par-ch3.adb,
6650	par-ch4.adb: Minor improvements in error recovery and messages.
6651
6652	* erroutc.adb (Test_Style_Warning_Serious_Msg): Treat style msgs as
6653	non-serious
6654
6655	* par-ch9.adb: Minor improvements in error recovery and messages
6656	(P_Protected): Better error recovery for "protected type x;"
6657
6658	* par-util.adb: Minor improvements in error recovery and messages
6659	(Check_No_Right_Paren): Removed no longer used
6660
66612008-03-26  Ed Schonberg  <schonberg@adacore.com>
6662
6663	* exp_aggr.adb (Replace_Type): When checking for self-reference, verify
6664	that the prefix of an attribute is the type of the aggregate being
6665	expanded.
6666
66672008-03-26  Javier Miranda  <miranda@adacore.com>
6668	    Robert Dewar  <dewar@adacore.com>
6669
6670	* exp_attr.adb (N_Pragma): Chars field removed.
6671	(Expand_N_Attribute_Reference): If the designated type associated with
6672	attribute 'Unrestricted_Access is a subprogram entity then replace it
6673	by an E_Subprogram_Type itype.
6674	Implement attribute Old
6675
6676	* sem_attr.ads (Attribute_Class_Array): Move to snames.ads
6677
6678	* sem_attr.adb (Build_Access_Subprogram_Itype): Add documentation.
6679	Replace call to
6680	New_Internal_Entity by call to Create_Itype to centralize calls
6681	building itypes, ad propagate the convention of the designated
6682	subprogram. In addition, disable the machinery cleaning constant
6683	indications from all entities in current scope when 'Unrestricted_Access
6684	corresponds with a node initializing a dispatch table slot.
6685	(Analyze_Attribute): Parameterless attributes returning a string or a
6686	type will not be called with improper arguments, so we can remove junk
6687	code that was dealing with this case.
6688	Implement attribute Old
6689
6690	* snames.ads, snames.h, snames.adb: Add entries for attribute Old
6691	Add entry for pragma Optimize_Alignment
6692	New standard names Sync and Synchronize
6693
66942008-03-26  Robert Dewar  <dewar@adacore.com>
6695	    Arnaud Charlet  <charlet@adacore.com>
6696
6697	* exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise
6698	stmt.
6699	(No_Exception_Propagation_Active): New function.
6700	(Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
6701	Update comments, and review all uses of No_Exception_Propagation, which
6702	are now correct and in sync with what gigi expects.
6703
6704	* restrict.ads, restrict.adb (No_Exception_Propagation_Active): New
6705	function.
6706	(Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
6707	Update comments, and review all uses of No_Exception_Propagation, which
6708	are now correct and in sync with what gigi expects.
6709
67102008-03-26  Ed Schonberg  <schonberg@adacore.com>
6711
6712	* sem_ch3.adb (Access_Definition): If the access type is the return
6713	result of a protected function, create an itype reference for it
6714	because usage will be in an inner scope from the point of declaration.
6715	(Build_Derived_Record_Type): Inherit Reverse_Bit_Order and
6716	OK_To_Reorder_Components.
6717	(Make_Index): If an overloaded range includes a universal integer
6718	interpretation, resolve to Standard.Integer.
6719	(Analyze_Subtype_Indication): Copy Convention to subtype
6720	(Check_Abstract_Interfaces): Complete semantic checks on the legality of
6721	limited an synchronized progenitors in type declaration and private
6722	extension declarations.
6723
6724	* exp_ch13.adb (Expand_N_Freeze_Entity): If the scope of the entity is a
6725	protected subprogram body, determine proper scope from subprogram
6726	declaration.
6727
67282008-03-26  Robert Dewar  <dewar@adacore.com>
6729
6730	* exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for
6731	No_Run_Time_Mode
6732
67332008-03-26  Gary Dismukes  <dismukes@adacore.com>
6734
6735	* exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation
6736	of a heap allocator for a limited unconstrained function return when
6737	resstriction No_Allocators is active.
6738	(Analyze_Allocator): The restriction No_Allocators is now only checked
6739	on allocators that have Comes_From_Source set, as per RM-H.4(7).
6740
6741	* sem_ch4.adb (Expand_N_Extended_Return_Statement): Suppress generation
6742	of a heap allocator for a limited unconstrained function return when
6743	resstriction No_Allocators is active.
6744	(Analyze_Allocator): The restriction No_Allocators is now only checked
6745	on allocators that have Comes_From_Source set, as per RM-H.4(7).
6746	(Has_Fixed_Op):  If the name in a function call is Standard."*" and the
6747	operands are fixed-point types, the universal_fixed predefined operation
6748	is used, regardless of whether the operand type (s) have a primitive
6749	operation of the same name.
6750
67512008-03-26  Javier Miranda  <miranda@adacore.com>
6752
6753	* exp_disp.adb (Make_DT, Make_Secondary_DT): Set attribute
6754	Is_Static_Dispatch_Table
6755	(Build_Dispatch_Tables): Replace calls to Exchange_Entities() by calls
6756	to Exchange_Declarations to exchange the private and full-view. Bug
6757	found working in this issue.
6758	(Expand_Dispatching_Call): Propagate the convention of the subprogram
6759	to the subprogram pointer type.
6760	(Make_Secondary_DT): Replace generation of Prim'Address by
6761	Address (Prim'Unrestricted_Access)
6762	(Make_DT): Replace generation of Prim'Address by
6763	Address (Prim'Unrestricted_Access)
6764	(Make_Disp_*_Bodies): When compiling for a restricted profile, use
6765	simple call form for single entry.
6766	(Make_DT): Handle new contents of Access_Disp_Table (access to dispatch
6767	tables of predefined primitives).
6768	(Make_Secondary_DT): Add support to handle access to dispatch tables of
6769	predefined primitives.
6770	(Make_Tags): Add entities to Access_Dispatch_Table associated with
6771	access to dispatch tables containing predefined primitives.
6772
6773	* exp_ch6.adb (N_Pragma): Chars field removed, use Chars
6774	(Pragma_Identifier (..  instead, adjustments throughout to accomodate
6775	this change.
6776	(Register_Predefined_DT_Entry): Updated to handle the new contents
6777	of attribute Access_Disp_Table (pointers to dispatch tables containing
6778	predefined primitives).
6779
6780	* exp_util.ads, exp_util.adb (Corresponding_Runtime_Package): New
6781	subprogram.
6782	(Find_Interface_ADT): Updated to skip the new contents of attribute
6783	Access_Dispatch_Table (pointers to dispatch tables containing predefined
6784	primitives).
6785
6786	* sem_util.adb (Has_Abstract_Interfaces): Add missing support for
6787	concurrent types.
6788	(Set_Convention): Use new function Is_Access_Subprogram_Type
6789	(Collect_Interfaces_Info): Updated to skip the new contents of attribute
6790	Access_Dispatch_Table (pointers to dispatch tables containing predefined
6791	primitives).
6792
6793	* exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): Improve
6794	expanded code avoiding calls to Build_Predef_Prims.
6795	(Build_Set_Predefined_Prim_Op_Address): Improve expanded code avoiding
6796	call to Build_Get_Predefined_Prim_Op_Address.
6797
67982008-03-26  Javier Miranda  <miranda@adacore.com>
6799
6800	* exp_ch7.adb (Make_Clean): Code cleanup using the new centralized
6801	subprogram Corresponding_Runtime_Package to know the runtime package
6802	that will provide support to a given protected type.
6803
6804	* exp_ch9.adb (Add_Private_Declarations,
6805	Build_Protected_Subprogram_Call,
6806	Build_Protected_Entry, Build_Simple_Entry_Call,
6807	Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
6808	Expand_N_Timed_Entry_Call, Make_Initialize_Protection): Code
6809	cleanup using the new centralized subprogram Corresponding_Runtime
6810	Package to know the runtime package that provides support to
6811	a given protected type.
6812
68132008-03-26  Ed Schonberg  <schonberg@adacore.com>
6814
6815	* exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component
6816	assignment is within the initialization procedure for a packed array,
6817	and Initialize_Scalars is enabled, compile right-hand side with checks
6818	off, because the value is purposely out of range.
6819
68202008-03-26  Vincent Celier  <celier@adacore.com>
6821
6822	* gnatcmd.adb: Add processing for GNAT SYNC
6823
6824	* vms_conv.ads: (Command_Type): Add command Sync
6825
6826	* vms_conv.adb (Initialize): Add Command_List data for new command Sync
6827
6828	* vms_data.ads: Add entries for -gnatw.w
6829	Add qualifier for gnatstub --header-file option
6830	Add switches for GNAT SYNC
6831
6832	* prj-attr.ads, prj-attr.adb: Add new package Synchronize for GNAT SYNC
6833	(Add_Package_Name): New procedure
6834	(Package_Name_List): New function
6835	(Initialize): Add known package names to the list
6836	(Register_New_Package): Add the new package name to the list
6837
68382008-03-26  Robert Dewar  <dewar@adacore.com>
6839
6840	* g-pehage.adb, g-regist.adb, g-spipat.ads, g-spipat.adb,
6841	s-asthan.adb, s-parint.adb, s-rpc.adb, s-stchop.adb: Replace
6842	Raise_Exception by "raise with" construct.
6843
68442008-03-26  Pascal Obry  <obry@adacore.com>
6845
6846	* Makefile.in: Add proper GNAT.Serial_Communications implementation on
6847	supported platforms.
6848
6849	* Makefile.rtl: Add g-sercom.o.
6850
6851	* impunit.adb: Add g-sercom.adb.
6852
6853	* s-crtl.ads (open): New routine.
6854	(close): Likewise.
6855	(write): Likewise.
6856
6857	* s-osinte-mingw.ads (BYTE): New type.
6858	(CHAR): Likewise.
6859	(OVERLAPPED): Likewise.
6860	(GENERIC_READ): New constant.
6861	(GENERIC_WRITE): Likewise.
6862	(OPEN_EXISTING): Likewise.
6863	(PSECURITY_ATTRIBUTES): Removed this type, use anonymous access
6864	type instead.
6865	(CreateFile): New routine.
6866	(WriteFile): Likewise.
6867	(ReadFile): Likewise.
6868	(CloseHandle): Move next to the other file oriented routines.
6869
6870	* g-sercom.ads: New unit.
6871
6872	* g-sercom.adb: Default implementation, calls to this unit will raise
6873	a program error exception.
6874
6875	* g-sercom-mingw.adb, g-sercom-linux.adb: Windows and
6876	GNU/Linux implementations.
6877
68782008-03-26  Robert Dewar  <dewar@adacore.com>
6879
6880	* itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind
6881
6882	* sem_ch13.adb (Validate_Unchecked_Conversion): Give warning for
6883	unchecked conversion for different conventions only for subprogram
6884	pointers or on VMS.
6885
68862008-03-26  Vincent Celier  <celier@adacore.com>
6887
6888	* osint-c.adb (Set_Library_Info_Name): Use canonical case file names
6889	to check if the specified object file is correct.
6890
68912008-03-26  Thomas Quinot  <quinot@adacore.com>
6892
6893	* sem_cat.adb (Validate_RACW_Primitives): Do not rely on
6894	Comes_From_Source to exclude primitives from being checked. We want to
6895	exclude predefined primitives only, so use the appropriate specific
6896	predicate. Also, flag a formal parameter of an anonymous
6897	access-to-subprogram type as illegal for a primitive operation of a
6898	remote access to class-wide type.
6899
69002008-03-26  Vincent Celier  <celier@adacore.com>
6901
6902	* prj-dect.adb (Parse_Package_Declaration): When a package name is not
6903	known, check if it may be a missspelling of a known package name. In
6904	not verbose, not mode, issue warnings only if the package name is a
6905	possible misspelling.
6906	In verbose mode, always issue a warning for a not known package name,
6907	plus a warning if the name is a misspelling of a known package name.
6908
6909	* prj-part.adb (Post_Parse_Context_Clause): Modify so that only non
6910	limited withs or limited withs are parse during one call.
6911	(Parse_Single_Project): Post parse context clause in two passes: non
6912	limited withs before current project and limited withs after current
6913	project.
6914
6915	* prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extended
6916	project with the name With_Name, even if it is only extended indirectly.
6917	(Recursive_Process): Process projects in order: first single withs, then
6918	current project, then limited withs.
6919
6920	* prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extended
6921	project with the name With_Name, even if it is only extended indirectly.
6922
69232008-03-26  Robert Dewar  <dewar@adacore.com>
6924
6925	* scn.adb (Initialize_Scanner): Format messages belong on standard error
6926
69272008-03-26  Ed Schonberg  <schonberg@adacore.com>
6928
6929	* sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is
6930	a generic subprogram that is imported, do not attempt to compile
6931	non-existent body.
6932
6933	* sem_ch12.adb (Instantiate_Subprogram_Body): if the generic is
6934	imported, do not generate a raise_program_error for the non-existent
6935	body.
6936	(Pre_Analyze_Actuals): If an error is detected during pre-analysis,
6937	perform minimal name resolution on the generic to avoid spurious
6938	warnings.
6939	(Find_Actual_Type): the designated type of the actual in a child unit
6940	may be declared in a parent unit without being an actual.
6941
69422008-03-26  Robert Dewar  <dewar@adacore.com>
6943
6944	* sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ
6945	* sinfo.ads, sinfo.adb (From_At_End): New flag
6946
69472008-03-26  Ed Schonberg  <schonberg@adacore.com>
6948
6949	* sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on
6950	operations that have an interface parameter.
6951	(Analyze_Subprogram_Body): Set Is_Trivial_Subprogram flag
6952	Don't treat No_Return call as raise.
6953
6954	* sem_disp.adb (Check_Dispatching_Operations): apply check for
6955	non-primitive interface primitives to access parameters, not to all
6956	parameters of an access type.
6957
69582008-03-26  Ed Schonberg  <schonberg@adacore.com>
6959
6960	* sem_ch7.adb (Install_Parent_Private_Declarations): If the private
6961	declarations of a parent unit are made visible when compiling a child
6962	instance, the parent is not a hidden open scope, even though it may
6963	contain other pending instance.
6964
6965	* sem_ch8.adb (Restore_Scope_Stack): If an entry on the stack is a
6966	hidden open scope for some child instance, it does affect the
6967	visibility status of other stach entries.
6968	(Analyze_Object_Renaming): Check that a class-wide object cannot be
6969	renamed as an object of a specific type.
6970
69712008-03-26  Robert Dewar  <dewar@adacore.com>
6972
6973	* sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite
6974	recursion and raise SE directly.
6975	(Resolve_Actuals): Reset Never_Set_In_Source if warnings off is
6976	set for formal type for IN mode parameter.
6977
69782008-03-26  Robert Dewar  <dewar@adacore.com>
6979
6980	* sem_warn.ads, sem_warn.adb (Warnings_Off_Pragmas): New table
6981	(Initialize): New procedure
6982	(Output_Warnings_Off_Warnings): New procedure
6983	(Check_References): Suppress certain msgs if Is_Trivial_Subprogram
6984	(Output_Non_Modifed_In_Out_Warnings): Ditto
6985	(Warn_On_Unreferenced_Entity): Ditto
6986
69872008-03-26  Vincent Celier  <celier@adacore.com>
6988
6989	* a-direct.adb (Start_Search): Raise Use_Error if the directory is not
6990	readable.
6991
69922008-03-26  Matthew Heaney  <heaney@adacore.com>
6993
6994	* a-ciorse.ads, a-cidlli.ads, a-cdlili.ads, a-cihase.ads, a-cohase.ads,
6995	a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-coorse.ads:
6996	Marked with clauses as private, and controlled operations as overriding
6997
69982008-03-26  Robert Dewar  <dewar@adacore.com>
6999
7000	* g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized
7001
70022008-03-26  Robert Dewar  <dewar@adacore.com>
7003
7004	* back_end.adb, back_end.ads: Minor reformatting
7005
7006	* bindgen.adb: Minor clarification of comments
7007
7008	* fname.ads: Minor comment fixes
7009
7010	* g-altive.ads, g-catiio.ads, g-trasym.ads, prj.ads,
7011	prj-nmsc.adb, sem_aggr.adb: Minor reformatting
7012
7013	* xeinfo.adb, xnmake.adb, xsinfo.adb, xtreeprs.adb,
7014	xsnames.adb: Remove warnings off pragma no longer needed
7015
7016	* a-catizo.ads, a-calari.ads, a-calfor.adb,
7017	a-calfor.ads: Fix header.
7018
70192008-03-26  Tristan Gingold  <gingold@adacore.com>
7020
7021	* init.c: Do not adjust pc for HPARITH on alpha/vms.
7022
70232008-03-26  Robert Dewar  <dewar@adacore.com>
7024
7025	* lib-xref.adb: (OK_To_Set_Reference): New function
7026	(Generate_Reference): Don't set referenced from occurrence in Warnings,
7027	Unmodified, or Unreferenced pragma
7028
70292008-03-26  Robert Dewar  <dewar@adacore.com>
7030
7031	* alloc.ads: Add entries for Warnings_Off_Pragmas table
7032
70332008-03-26  GNAT Script  <nobody@adacore.com>
7034
7035	* Make-lang.in: Makefile automatically updated
7036
70372008-03-26  Robert Dewar  <dewar@adacore.com>
7038
7039	* tbuild.ads, tbuild.adb, trans.c, sprint.adb, exp_prag.adb, decl.c,
7040	par-ch2.adb, sem_elab.adb, sem_util.ads (N_Pragma): Chars field
7041	removed, use Chars (Pragma_Identifier (..  instead, adjustments
7042	throughout to accomodate this change.
7043
7044	* s-pooglo.ads, s-pooloc.ads: Minor comment updates
7045
7046	* exp_dbug.adb: Use Sem_Util.Set_Debug_Info_Needed (not
7047	Einfo.Set_Needs_Debug_Info)
7048
70492008-03-26  Robert Dewar  <dewar@adacore.com>
7050
7051	* gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.W
7052	Add description for the new gnatstub option '--header-file'
7053	clarification of -gnatwz/-gnatwZ
7054	Add a "Irix-Specific Considerations" section to document the need to
7055	set LD_LIBRARY_PATH when using the default shared runtime library.
7056	Added documentation for both gcov and gprof.
7057
7058	* gnat_rm.texi: Document that pragma Compile_Time_Warning generates
7059	messages that are not suppressed when clients are compiled.
7060	Add documentation of s-pooglo s-pooloc
7061	Document the new GNAT.Serial_Communications API.
7062	Add documentation for 'Old attribute
7063	Add description of pragma Optimize_Alignment
7064
7065	* ug_words: Add entries for -gnatw.w -gnatw.W
7066
7067	* usage.adb: Add line for -gnatw.w (warn on warnings off)
7068
70692008-03-25  Eric Botcazou  <ebotcazou@adacore.com>
7070
7071	Revert
7072	2008-03-05  Eric Botcazou  <ebotcazou@adacore.com>
7073	PR ada/35186
7074	* decl.c (maybe_pad_type): Avoid padding an integral type when
7075	bumping its alignment is sufficient.
7076
70772008-03-25  Arnaud Charlet  <charlet@adacore.com>
7078
7079	* exp_ch6.adb, exp_disp.adb: Update copyright notice.
7080	Fix wrong formatting (lines too long)
7081
70822008-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7083
7084	* 9drpc.adb, a-caldel-vms.adb, a-caldel.adb,
7085	a-calend-vms.adb, a-calend.adb, a-calend.ads,
7086	a-calfor.adb, a-chahan.ads, a-chtgke.adb,
7087	a-cihama.ads, a-ciorse.adb, a-clrefi.ads,
7088	a-cohama.ads, a-comlin.ads, a-coorse.adb,
7089	a-crbtgk.adb, a-direct.adb, a-except-2005.adb,
7090	a-except-2005.ads, a-except.adb, a-except.ads,
7091	a-exexda.adb, a-exexpr-gcc.adb, a-exexpr.adb,
7092	a-exextr.adb, a-filico.ads, a-finali.ads,
7093	a-intnam-aix.ads, a-intnam-solaris.ads, a-ngcefu.adb,
7094	a-ngelfu.adb, a-numaux-darwin.adb, a-numeri.ads,
7095	a-sequio.ads, a-strbou.ads, a-strfix.adb,
7096	checks.adb, exp_ch3.adb, exp_ch4.adb,
7097	exp_ch4.ads, exp_ch5.adb, exp_ch6.adb,
7098	exp_ch6.ads, exp_ch7.adb, exp_ch7.ads,
7099	exp_ch9.adb, exp_ch9.ads, exp_dbug.adb,
7100	exp_dbug.ads, exp_disp.adb, exp_dist.adb,
7101	exp_dist.ads, exp_fixd.adb, exp_fixd.ads: Fix comment typos.
7102
71032008-03-24  Robert Dewar  <dewar@adacore.com>
7104
7105	* s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
7106	s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
7107	s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
7108	s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
7109	s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
7110	a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
7111	a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
7112	a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
7113	a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
7114	a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
7115	a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
7116	i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
7117	a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb,
7118	s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads,
7119	s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
7120	double spaced if it fits on one line and otherwise single spaced.
7121
71222008-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7123
7124	PR documentation/15479
7125	* Make-lang.in (doc/gnat_ugn.texi) Renamed from ...
7126	(doc/gnat_ugn_unw.texi): ... this, and adjusted.
7127	(doc/gnat_ugn.info): Renamed from ...
7128	(doc/gnat_ugn_unw.info): ... this.
7129	(doc/gnat_ugn.dvi): Renamed from ...
7130	(doc/gnat_ugn_unw.dvi): ... this.
7131	(doc/gnat_ugn.pdf): Renamed from ...
7132	(doc/gnat_ugn_unw.pdf): ... this.
7133	(ADA_INFOFILES, ADA_PDFFILES, ada.install-info, ada.dvi):
7134	Adjusted.
7135	* gnat_ugn.texi (FILE): Hard-code gnat_ugn; set filename
7136	unconditionally to gnat_ugn.info.  Fix cross references to the
7137	GNAT Reference Manual.  Convert links to the GCC, GDB, Emacs,
7138	and GNU make manuals to be proper texinfo links.
7139	* gnat_rm.texi: Fix cross references to the GNAT User's Guide.
7140
71412008-03-21  Olivier Hainque  <hainque@adacore.com>
7142
7143	* trans.c (Attribute_to_gnu) <'length>: Compute as (hb < lb)
7144	? 0 : hb - lb + 1 instead of max (hb - lb + 1, 0).
7145
71462008-03-21  Eric Botcazou  <ebotcazou@adacore.com>
7147
7148	* trans.c (addressable_p): Add notes on addressability issues.
7149
71502008-03-21  Olivier Hainque  <hainque@adacore.com>
7151	    Ed Schonberg  <schonberg@adacore.com>
7152
7153	* trans.c (addressable_p): Accept COND_EXPR when both arms
7154	are addressable.
7155	(gnat_gimplify_expr): Let the gimplifier handle &COND_EXPR.
7156	(call_to_gnu): Do not use name reference in the error message
7157	for a misaligned by_reference_parameter. The actual may be a
7158	general expression.
7159
71602008-03-18  Paolo Bonzini  <bonzini@gnu.org>
7161
7162	* misc.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
7163
71642008-03-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7165
7166	* gnat_rm.texi (Implementation Defined Characteristics)
7167	(Wide_Text_IO, Wide_Wide_Text_IO): Add @var annotations where
7168	appropriate.
7169	* gnat_ugn.texi (Wide Character Encodings, Switches for gnatbind)
7170	(Switches for gnatchop, Installing a library): Likewise.
7171
71722008-03-10  Eric Botcazou  <ebotcazou@adacore.com>
7173
7174	* trans.c (emit_range_check): Do not emit the check if the base type
7175	of the expression is the type against which its range must be checked.
7176
71772008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
7178
7179	* decl.c (maybe_pad_type): Use value_factor_p.
7180
71812008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
7182
7183	* lang.opt (nostdlib): Move around.
7184	* misc.c (gnat_handle_option): Fix formatting.
7185	(gnat_dwarf_name): Move around.
7186	* trans.c (Case_Statement_to_gnu): Fix formatting.
7187	(gnat_to_gnu): Likewise.
7188	* utils.c (aggregate_type_contains_array_p): Likewise.
7189	(create_subprog_decl): Likewise.
7190
71912008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
7192
7193	* decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do not
7194	bother propagating the TYPE_USER_ALIGN flag when creating a JM type.
7195
71962008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
7197
7198	* decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force
7199	BIGGEST_ALIGNMENT when capping the alignment of records with
7200	strict alignment and size clause.
7201
72022008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
7203
7204	* lang-specs.h: Pass -gnatwa if -Wall is passed.
7205	* misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused
7206	and -Wuninitialized.
7207	(gnat_post_options): Clear warn_unused_parameter.
7208
72092008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
7210
7211	* utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently
7212	aligned bit-fields, bumping the alignment of the record type if deemed
7213	profitable.
7214	(value_factor_p): Return false instead of 0.
7215
72162008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
7217
7218	* decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Add support
7219	for scalar types with small alignment.
7220
72212008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
7222
7223	* trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label
7224	from that of the front-end's end label.
7225	(gnat_gimplify_stmt) <LOOP_STMT>: Set the SLOC of the backward goto
7226	from that of the loop label.
7227
72282008-03-07  Eric Botcazou  <ebotcazou@adacore.com>
7229
7230	* decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Add
7231	comment for the packed array type case.
7232	* utils.c (build_template): Use a loop to strip padding or
7233	containing records for justified modular types.
7234
72352008-03-07  Eric Botcazou  <ebotcazou@adacore.com>
7236
7237	* decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously
7238	large alignments specified for types.
7239	(validate_alignment): Minor cleanup.
7240
72412008-03-07  Eric Botcazou  <ebotcazou@adacore.com>
7242
7243	* decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined.
7244	(gnat_to_gnu_entity) <E_Record_Type>: Try to get a smaller form of
7245	the component for packing, if possible, as well as if a component
7246	size clause is specified.
7247	<E_Record_Subtype>: For an array type used to implement a packed
7248	array, get the component type from the original array type.
7249	Try to get a smaller form of the component for packing, if possible,
7250	as well as if a component size clause is specified.
7251	(round_up_to_align): New function.
7252	(make_packable_type): Add in_record parameter.
7253	For a padding record, preserve the size.  If not in_record and the
7254	size is too large for an integral mode, attempt to shrink the size
7255	by lowering the alignment.
7256	Ditch the padding bits of the last component.
7257	Compute sizes and mode manually, and propagate the RM size.
7258	Return a BLKmode record type if its size has shrunk.
7259	(maybe_pad_type): Use MAX_FIXED_MODE_SIZE instead of BIGGEST_ALIGNMENT.
7260	Use Original_Array_Type to retrieve the type in case of an error.
7261	Adjust call to make_packable_type.
7262	(gnat_to_gnu_field): Likewise.
7263	(concat_id_with_name): Minor tweak.
7264	* trans.c (larger_record_type_p): New predicate.
7265	(call_to_gnu): Compute the nominal type of the object only if the
7266	parameter is by-reference.  Do the conversion actual type -> nominal
7267	type if the nominal type is a larger record.
7268	(gnat_to_gnu): Do not require integral modes on the source type to
7269	avoid the conversion for types with identical names.
7270	(addressable_p): Add gnu_type parameter.  If it is specified, do not
7271	return true if the expression is not addressable in gnu_type.
7272	Adjust recursive calls.
7273	* utils.c (finish_record_type): Remove dead code.
7274
72752008-03-05  Eric Botcazou  <ebotcazou@adacore.com>
7276
7277	PR ada/35186
7278	* decl.c (maybe_pad_type): Avoid padding an integral type when
7279	bumping its alignment is sufficient.
7280
72812008-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7282
7283	* gnatfind.adb, gnatxref.adb: Fix argument parsing typos.
7284	* s-auxdec-empty.adb, s-auxdec.adb: Fix typos in copyright
7285	statement.
7286	* a-ngcoar.adb, a-ngrear.adb, g-awk.adb, g-debpoo.adb,
7287	gprep.adb, make.adb, makegpr.adb, par-ch6.adb, prj-nmsc.adb,
7288	sem_attr.adb, sem_ch4.adb, sem_ch8.adb: Fix typos in ada source
7289	code output strings.
7290	* sem_type.adb, system-vms-ia64.ads, system-vms.ads,
7291	system-vms_64.ads: Fix typos in ada source code comments.
7292	* sinfo-cn.adb: Remove incomplete sentence.
7293
7294	PR documentation/15479
7295	* gnat_rm.texi, gnat_ugn.texi: Avoid standalone `non' word.
7296
72972008-02-27  Samuel Tardieu  <sam@rfc1149.net>
7298
7299	PR ada/22255
7300	* s-fileio.adb (Reset): Do not raise Use_Error if mode isn't changed.
7301
73022008-02-27  Samuel Tardieu  <sam@rfc1149.net>
7303
7304	PR ada/34799
7305	* sem_ch13.adb (Analyze_Record_Representation_Clause): Check
7306	that underlying type is present.
7307
73082008-02-26  Tom Tromey  <tromey@redhat.com>
7309
7310	* misc.c (internal_error_function): Remove test of
7311	USE_MAPPED_LOCATION.
7312	* trans.c (gigi): Remove test of USE_MAPPED_LOCATION.
7313	(Sloc_to_locus): Remove old location code.
7314
73152008-02-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7316
7317	* gnat_rm.texi, gnat_ugn.texi: Fix spacing after `e.g.' and
7318	`i.e.' by adding comma or `@:' as appropriate.
7319	* gnat_rm.texi (Pragma Wide_Character_Encoding): Instead of
7320	plain characters `C', use `@samp{C}'.
7321	* gnat_ugn.texi (File Naming Rules, About gnatkr)
7322	(Krunching Method): Likewise.
7323
7324	* gnat_ugn.texi (Conventions): List environment variables and
7325	metasyntactic variables.
7326	(Compiling Programs): Fix notation of metasyntactic variables.
7327	Add @file where appropriate.  Use @file for file extensions,
7328	@samp for strings.
7329	* gnat_rm.texi, gnat_ugn.texi: Where appropriate, use @samp
7330	instead of @file, @env instead of @code.
7331
73322008-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7333
7334	PR documentation/15479
7335	* gnat_rm.texi, gnat_ugn.texi: Where appropriate, replace `..'
7336	and `...' with `@dots{}' or `@enddots{}'.
7337
7338	PR documentation/15479
7339	* gnat_rm.texi, gnat_ugn.texi: Where appropriate, add @command,
7340	use @command instead of @code, @option instead of @samp or @code,
7341	@code instead of @var, @samp instead of @file.
7342
7343	PR documentation/15479
7344	* gnat_ugn.texi (Using gnatmake in a Makefile): Do not ignore errors
7345	in Makefile rules, by using `&&' rather than `;'.
7346
73472008-02-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7348
7349	PR documentation/15479
7350	* gnat_ugn.texi: In non-code, avoid space before colon.
7351	(Regular Expressions in gnatfind and gnatxref): Fix indentation.
7352	(Examples of gnatxref Usage): Use @command{vi} instead of
7353	@file{vi}.
7354	(Character Set Control): Do not use @code for UTF-8.
7355	(Validity Checking): Fix typo "NaNs" instead of "NaN's".  Do not
7356	use @code for IEEE.
7357	* gnat_rm.texi (Aggregates with static bounds): Fix typo in code
7358	sample.
7359	* gnat_rm.texi, gnat_ugn.texi: Fix typos.  Bump copyright years.
7360
73612008-02-11  Joel Sherrill  <joel.sherrill@oarcorp.com>
7362
7363	PR ada/35143
7364	* env.c: Add __rtems__ to if defined.
7365	* s-osinte-rtems.adb: Add To_Target_Priority.  Fix formatting.
7366	* s-osinte-rtems.ads: Add To_Target_Priority prototype and
7367	PTHREAD_SCOPE_PROCESS/PTHREAD_SCOPE_SYSTEM constants.  Add
7368	pragma Convention as required.
7369	* gsocket.h: Make compile in and out of RTS.
7370	* Makefile.in: Add system-rtems.ads.  Build DEC extensions.
7371	Use g-soccon-rtems.ads.
7372	* g-soccon-rtems.ads, system-rtems.ads: New files.
7373
73742008-02-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7375
7376	PR other/35107
7377	* Make-lang.in (gnat1): Add $(GMPLIBS).
7378
73792008-01-26  Eric Botcazou  <ebotcazou@adacore.com>
7380
7381	* decl.c (components_to_record): Improve comment.
7382
73832008-01-22  Eric Botcazou  <ebotcazou@adacore.com>
7384
7385	* decl.c (components_to_record): Do not reuse the empty union type
7386	if there is a representation clause on the record.
7387	* trans.c (addressable_p): Return true for INTEGER_CST.
7388
73892008-01-21  Eric Botcazou  <ebotcazou@adacore.com>
7390
7391	* trans.c (gnat_to_gnu) <N_Free_Statement>: Use POINTER_PLUS_EXPR
7392	in pointer arithmetics.
7393	* utils2.c (build_allocator): Likewise.
7394
73952008-01-17  Eric Botcazou  <ebotcazou@adacore.com>
7396
7397	* utils.c (build_function_stub): Properly build the call expression.
7398
73992008-01-14  Eric Botcazou  <ebotcazou@adacore.com>
7400
7401	* decl.c (gnat_to_gnu_entity) <object>: Process renamings
7402	before converting the expression to the type of the object.
7403	* trans.c (maybe_stabilize_reference) <CONSTRUCTOR>: New case.
7404	Stabilize constructors for special wrapping types.
7405
74062008-01-13  Eric Botcazou  <ebotcazou@adacore.com>
7407
7408	* trans.c (call_to_gnu): Invoke the addressable_p predicate only
7409	when necessary.  Merge some conditional statements.  Update comments.
7410	Rename unchecked_convert_p local variable to suppress_type_conversion.
7411	Do not suppress conversions in the In case.
7412	(addressable_p) <VIEW_CONVERT_EXPR>: Do not take alignment issues
7413	into account on non strict-alignment platforms.
7414
74152008-01-12  Eric Botcazou  <ebotcazou@adacore.com>
7416
7417	* utils.c (aggregate_type_contains_array_p): New predicate.
7418	(create_field_decl): In a packed record, force byte alignment
7419	for fields without specified position that contain an array.
7420
74212008-01-12  Eric Botcazou  <ebotcazou@adacore.com>
7422
7423	* utils.c (unchecked_convert): Fold the VIEW_CONVERT_EXPR expression.
7424
74252008-01-10  John David Anglin  <dave.anglin.@nrc-cnrc.gc.ca>
7426
7427	PR ada/34466
7428	* s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for
7429	sysconf call.
7430	(bit_field): New packed boolean type used by cpu_set_t.
7431	(cpu_set_t): New type corresponding to the C type with
7432	the same name. Note that on the Ada side we use a bit
7433	field array for the affinity mask. There is not need
7434	for the C macro for setting individual bit.
7435	(pthread_setaffinity_np): New imported routine.
7436
74372008-01-03  Tero Koskinen  <tero.koskinen@iki.fi>
7438
7439	PR ada/34647
7440	* adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
7441	on OpenBSD as is done on other BSD systems.
7442
7443	PR ada/34645
7444	* sysdep.c (__gnat_ttyname, getc_immediate_nowait,
7445	getc_immediate_common): Treat OpenBSD as FreeBSD regarding immediate
7446	I/O.
7447
7448	PR ada/34644
7449	* env.c (__gnat_clearenv): Treat OpenBSD as other BSD systems missing
7450	clearenv().
7451
7452	PR ada/34646
7453	* init.c (__gnat_error_handler, __gnat_install_handler,
7454	__gnat_init_float): Define for OpenBSD.
7455
7456	* initialize.c (__gnat_initialize): Define for OpenBSD.
7457
7458
7459
7460Copyright (C) 2008 Free Software Foundation, Inc.
7461
7462Copying and distribution of this file, with or without modification,
7463are permitted in any medium without royalty provided the copyright
7464notice and this notice are preserved.
7465