12009-12-10  Eric Botcazou  <ebotcazou@adacore.com>
2
3	* s-linux-sparc.ads: New file.
4	* gcc-interface/Makefile.in (SPARC/Linux): Use it.
5
62009-12-04  Eric Botcazou  <ebotcazou@adacore.com>
7
8	* gcc-interface/trans.c (add_decl_expr): At toplevel, mark the
9	TYPE_ADA_SIZE field of records and unions.
10
11	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Set the
12	source location of the node onto the comparison expression if it
13	is not cached.
14
152009-12-03  Eric Botcazou  <ebotcazou@adacore.com>
16
17	* exp_util.adb (Make_CW_Equivalent_Type): Set the
18	Is_Class_Wide_Equivalent_Type flag here in lieu of...
19	(Make_Subtype_From_Expr): ...here.
20	* exp_ch3.adb (Expand_Freeze_Record_Type): Do not set
21	Has_Controlled_Component on class-wide equivalent types.
22	* freeze.adb (Freeze_Record_Type): Likewise.
23	* sem_ch3.adb (Record_Type_Definition): Likewise.
24
252009-12-01  Pascal Obry  <obry@adacore.com>
26
27	* s-osprim-mingw.adb (Get_Base_Time): Make sure that the base time is
28	taken at a clock tick boundary.
29
302009-12-01  Thomas Quinot  <quinot@adacore.com>
31
32	* g-sechas.ads (GNAT.Secure_Hashes.H."=" on Context): Make abstract.
33
342009-12-01  Matthew Gingell  <gingell@adacore.com>
35
36	* adadecode.c: Allow compilation when building the run time in the gnat
37	runtime.
38	(__gnat_decode): Strip the .nnnn suffix from names of nested functions.
39
40	* gcc-interface/Makefile.in: Ada adadecode to LIBGNAT_SRCS and
41	LIBGNAT_OBJS.
42
432009-12-01  Vincent Celier  <celier@adacore.com>
44
45	* gnatcmd.adb (Check_Files): Quote the path names as they may include
46	spaces.
47
482009-12-01  Ed Schonberg  <schonberg@adacore.com>
49
50	* sem_ch3.adb (Analyze_Object_Declaration): If the defining identifier
51	has already been declared, it may have been rewritten as a renaming
52	declaration.
53
542009-12-01  Ed Schonberg  <schonberg@adacore.com>
55
56	* einfo.ads: Clarify use of Is_Private_Primitive.
57	* sem_ch6.adb (Analyze_Subprogram_Declaration): An operation is a
58	private primitive operation only if it is declared in the scope of the
59	private controlling type.
60	* exp_ch9.adb (Build_Wrapper_Spec): Build wrappers for private
61	protected operations as well.
62
632009-12-01  Arnaud Charlet  <charlet@adacore.com>
64
65	* gnat1drv.adb (Adjust_Global_Switches): Disable front-end
66	optimizations in CodePeer mode, to keep the tree as close to the source
67	code as possible, and also to avoid inconsistencies between trees when
68	using different optimization switches.
69
702009-12-01  Thomas Quinot  <quinot@adacore.com>
71
72	* scos.ads: Updated specification of source coverage obligation
73	information.
74
752009-12-01  Thomas Quinot  <quinot@adacore.com>
76
77	* g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
78	a-ststio.adb, s-commun.adb, s-commun.ads, g-socket.adb,
79	g-socket.ads (System.Communications.Last_Index): For the case where no
80	element has been transferred and Item'First =
81	Stream_Element_Offset'First, raise CONSTRAINT_ERROR.
82
832009-12-01  Ed Schonberg  <schonberg@adacore.com>
84
85	* sem_ch10.adb (Install_Siblings): A private with_clause on some child
86	unit U in an ancestor of the current unit must be ignored if the
87	current unit has a regular with_clause on U.
88
892009-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
90
91	* s-oscons-tmplt.c [__mips && __sgi]: Only define _XOPEN5, IOV_MAX
92	if _XOPEN_IOV_MAX is defined.
93
942009-11-30  Vasiliy Fofanov  <fofanov@adacore.com>
95
96	* vms_data.ads: Add new VMS qualifiers,
97	REVERSE_BIT_ORDER/NOREVERSE_BIT_ORDER, to support warnings on bit order
98	effects.
99
1002009-11-30  Thomas Quinot  <quinot@adacore.com>
101
102	* exp_ch9.adb, exp_ch9.ads, sem_util.ads: Minor reformatting.
103
1042009-11-30  Gary Dismukes  <dismukes@adacore.com>
105
106	* sem_prag.adb: Fix spelling error.
107
1082009-11-30  Ed Schonberg  <schonberg@adacore.com>
109
110	* exp_ch9.ads (Build_Private_Protected_Declaration): For a protected
111	operation that is only declared in a protected body, create a
112	corresponding subprogram declaration.
113	* exp_ch9.adb (Expand_N_Protected_Body): Create protected body of
114	operation in all cases, including for an operation that is only
115	declared in the body.
116	* sem_ch6.adb: Call Build_Private_Protected_Declaration
117	* exp_ch6.adb (Expand_N_Subprogram_Declaration): For an operation
118	declared in a protected body, create the declaration for the
119	corresponding protected version of the operation.
120
1212009-11-30  Arnaud Charlet  <charlet@adacore.com>
122
123	* gnat1drv.adb (Adjust_Global_Switches): Disable specific expansions
124	for Restrictions pragmas, to avoid tree inconsistencies between
125	compilations with different pragmas.
126
1272009-11-30  Jerome Lambourg  <lambourg@adacore.com>
128
129	* sem_prag.adb (Check_Duplicated_Export_Name): Allow entities exported
130	to CIL to have duplicated export name.
131
1322009-11-30  Robert Dewar  <dewar@adacore.com>
133
134	* a-tiinio.adb: Remove extraneous pragma Warnings (Off).
135
1362009-11-30  Thomas Quinot  <quinot@adacore.com>
137
138	* par_sco.adb: Minor reformatting
139
1402009-11-30  Ed Falis  <falis@adacore.com>
141
142	* s-vxwext.ad[s,b], system-vxworks-ppc.ads, s-stchop-vxworks.adb:
143	Comment update.
144
1452009-11-30  Ed Schonberg  <schonberg@adacore.com>
146
147	* par_sco.adb (Traverse_Handled_Statement_Sequence): Do not emit SCO's
148	for null statements that do not come from source.
149	* sinfo.ads: Clarify documentation of Comes_From_Source
150
1512009-11-30  Vincent Celier  <celier@adacore.com>
152
153	* prj-nmsc.adb (Add_Source): Use Display_Name for both projects when
154	displaying the paths in error message.
155
1562009-11-30  Emmanuel Briot  <briot@adacore.com>
157
158	* adaint.h, adaint.c (file_attributes): force the use of unsigned char.
159 	On some platforms, "char" is signed, on others unsigned, so we
160 	explicitly specify the one we expect
161
1622009-11-30  Matthew Heaney  <heaney@adacore.com>
163
164	* a-coinve.adb (Insert): Move exception handler closer to point where
165	exception can occur.
166	Minor reformatting & comment additions.
167
1682009-11-30  Arnaud Charlet  <charlet@adacore.com>
169
170	* freeze.adb (Freeze_Entity): Disable warning on 'Foreign caller must
171	pass bounds' for VM targets, not relevant.
172
1732009-11-30  Robert Dewar  <dewar@adacore.com>
174
175	* sem_util.adb (Wrong_Type): Diagnose additional case of modular
176	missing parens.
177	* a-tiinio.adb, a-wtinio.adb, a-ztinio.adb: Minor reformatting
178
179	* exp_util.adb (Kill_Dead_Code): Suppress warning for some additional
180	cases.
181
182	* sem_warn.adb (Set_Warning_Flag): Clean up gnatwA list and ensure
183	completeness.
184	(Set_Dot_Warning_Flag): Ditto for -gnatw.e
185	(Set_Dot_Warning_Flag): Implement -gnbatw.v/w.V
186	* usage.adb: Add lines for -gnatw.v/w.V
187
1882009-11-30  Emmanuel Briot  <briot@adacore.com>
189
190	* make.adb (Check_Standard_Library): use Full_Source_Name instead of
191	direct call to Find_File. The former provides caching of the results, so
192	might be more efficient
193	(Start_Compile_If_Necessary): Add comment on possible optimization,
194	not done for now.
195
1962009-11-30  Thomas Quinot  <quinot@adacore.com>
197
198	* g-sechas.adb: Minor reformatting
199
2002009-11-30  Matthew Heaney  <heaney@adacore.com>
201
202	* a-crbtgo.adb (Delete_Fixup): Add comments explaining why predicates
203	were removed.
204	* a-cdlili.adb (Vet): Remove always-true predicates.
205
2062009-11-30  Thomas Quinot  <quinot@adacore.com>
207
208	* s-sechas.adb, s-sechas.ads, s-shshco.adb, s-shshco.ads, s-shsh64.adb,
209	s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, s-shsh32.adb, s-shsh32.ads,
210	s-sehash.adb, s-sehash.ads, g-sechas.adb, g-sechas.ads, g-shshco.adb,
211	g-shshco.ads, g-md5.ads, g-sha256.ads, g-shsh64.adb, g-shsh64.ads,
212	g-sehamd.adb, g-sehamd.ads, g-sha512.ads, g-sha1.ads, Makefile.rtl,
213	g-sha224.ads, g-shsh32.adb, g-shsh32.ads, g-sha384.ads, g-sehash.adb,
214	g-sehash.ads: Rename System.Secure_Hashes to GNAT.Secure_Hashes.
215
2162009-11-30  Robert Dewar  <dewar@adacore.com>
217
218	* osint.ads: Minor comment update.
219
2202009-11-30  Thomas Quinot  <quinot@adacore.com>
221
222	* s-sechas.adb: Fix swapping error in previous checkin.
223	* g-md5.ads, g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads,
224	g-sha384.ads: Add missing documentation.
225
2262009-11-30  Robert Dewar  <dewar@adacore.com>
227
228	* g-sha256.ads, s-sehamd.ads, s-sehamd.adb, g-sha512.ads, g-sha224.ads,
229	g-sha384.ads: Minor reformatting
230
2312009-11-30  Emmanuel Briot  <briot@adacore.com>
232
233	* adaint.h (file_attributes): Reduce size of the structure, so that it
234	is less costly to store in records.
235	* makeutl.adb:
236	(Check_Source_Info_In_ALI): use Full_Source_Name instead of a direct
237	call to Find_File, since the former provides caching when appropriate,
238	which limits the number of system calls in some cases.
239	* osint.ads, prj.ads (Source_Data): do not store directly the timestamp,
240	but the file attributes since we also need access to the size of the
241	ALI file to parse it. This gives an opportunity for saving system calls
242	on Unix systems.
243
2442009-11-30  Robert Dewar  <dewar@adacore.com>
245
246	* sem_prag.adb, s-sechas.ads, s-sechas.adb: Minor reformatting.
247
2482009-11-30  Gary Dismukes  <dismukes@adacore.com>
249
250	* sem_prag.adb (Process_Convention): Change formal E to Ent. In the
251	case where the pragma's entity argument is a renaming, return the
252	entity denoted by the renaming rather than the renamed entity. Loop
253	through the homonyms of the original argument entity, rather than the
254	homonyms of any renamed entity. Correct call to Generate_Entity to
255	pass the homonym.
256
2572009-11-30  Vincent Celier  <celier@adacore.com>
258
259	* impunit.adb: Add packages that were added to the GNAT library:
260	GNAT.SHA224, GNAT.SHA256, GNAT.SHA384 and GNAT.SHA512.
261	* s-sechas.adb (Fill_Buffer_Copy): Fixes incorrect slice index
262
2632009-11-30  Robert Dewar  <dewar@adacore.com>
264
265	* exp_ch3.adb: Minor reformatting
266	* g-md5.ads, g-sha1.ads: Add comment.
267
2682009-11-30  Arnaud Charlet  <charlet@adacore.com>
269
270	* gcc-interface/Makefile.in: Remove handling of libgccprefix, no longer
271	needed.
272
2732009-11-30  Pascal Obry  <obry@adacore.com>
274
275	* expect.c: Fix cast to avoid warnings in x86-64 Windows.
276
2772009-11-30  Thomas Quinot  <quinot@adacore.com>
278
279	* gnat_rm.texi, s-sechas.adb, s-sechas.ads, s-shshco.adb,
280	s-shshco.ads, g-md5.adb, g-md5.ads, g-sha256.ads, s-shsh64.adb,
281	s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, g-sha512.ads, g-sha1.adb,
282	g-sha1.ads, Makefile.rtl, g-sha224.ads, g-sha384.ads, s-shsh32.adb,
283	s-shsh32.ads, s-sehash.adb, s-sehash.ads: Reimplementation of GNAT.MD5
284	and GNAT.SHA1 to factor shared code and avoid unnecessary stack copies.
285	Also introduce new functions SHA-{224,256,384,512}
286
2872009-11-30  Jerome Lambourg  <lambourg@adacore.com>
288
289	* exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve comment for
290	the Value_Type case.
291
2922009-11-30  Thomas Quinot  <quinot@adacore.com>
293
294	* a-textio.adb: Minor reformatting
295
2962009-11-30  Pascal Obry  <obry@adacore.com>
297
298	* adaint.c: Fix bug in passing parameter.
299	* expect.c: Include io.h to get definition of _open_osfhandle
300
3012009-11-30  Javier Miranda  <miranda@adacore.com>
302
303	* exp_ch6.adb, sem_scil.adb (Adjust_SCIL_Node): Add missing management
304	of N_Unchecked_Type_Conversion nodes when searching for SCIL nodes.
305	(Expand_Call): Adjust decoration of SCIL node associated with relocated
306	function call.
307
3082009-11-30  Emmanuel Briot  <briot@adacore.com>
309
310	* prj-env.adb (Add_To_Source_Path): Preserve casing of directories
311
3122009-11-30  Vincent Celier  <celier@adacore.com>
313
314	* opt.ads (No_Split_Units): New flag initialized to False
315
3162009-11-30  Jerome Lambourg  <lambourg@adacore.com>
317
318	* exp_ch7.adb (Needs_Finalization): Add comments.
319	* exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve handling of
320	CIL Value types.
321
3222009-11-30  Robert Dewar  <dewar@adacore.com>
323
324	* osint.adb, a-rttiev.adb: Minor reformatting.
325
3262009-11-30  Robert Dewar  <dewar@adacore.com>
327
328	* gnat_rm.texi: Remove list of warning letters, and refer instead to
329	using gnatmake to get a brief list.
330
331	* debug.adb: Document -gnatd.i to disable pragma Warnings
332	* par-prag.adb, sem_prag.adb: Recognize -gnatd.i to disable Warnings
333	pragma.
334	* vms_data.ads: Add /NOWARNINGS_PRAGMS for -gnatd.i
335
3362009-11-30  Geert Bosch  <bosch@adacore.com>
337
338	* a-ngelfu.adb (Sin): Correct spelling of sine in comment.
339
3402009-11-30  Vincent Celier  <celier@adacore.com>
341
342	* gnatls.adb: Do not call Get_Target_Parameters in Verbose_Mode, as it
343	is not needed and gnatls fails when called with -v -nostdinc.
344
3452009-11-30  Emmanuel Briot  <briot@adacore.com>
346
347	* osint.adb, osint.ads (File_Time_Stamp): new subprogram.
348
3492009-11-30  Ed Schonberg  <schonberg@adacore.com>
350
351	* gnat_rm.texi, gnat_ugn.texi: Document new syntax for pragma Annotate
352
3532009-11-30  Robert Dewar  <dewar@adacore.com>
354
355	* scans.ads (Wide_Wide_Character_Found): New flag
356	* scn.adb (Post_Scan): Set new flag Has_Wide_Wide_Character
357	* scng.adb (Set_String): Set new flag Wide_Wide_Character_Found
358	(Set_String): Fix failure to reset Wide_Character_Found
359	* sinfo.adb (Has_Wide_Wide_Character): New flag in N_String_Literal
360	* sinfo.ads (Has_Wide_Wide_Character): New flag in N_String_Literal
361	* a-ngelfu.adb: Minor reformatting & code reorganization.
362	* usage.adb: Fix typo in -gnatw.W line
363
3642009-11-30  Robert Dewar  <dewar@adacore.com>
365
366	* osint.adb, prj-nmsc.adb, sem_prag.adb, sem_util.adb: Minor
367	reformatting.
368	* csinfo.adb: Terminate run if improper use of reserved flag
369	* sinfo.ads, sinfo.adb (Is_Accessibility_Actual): Don't use reserved
370	Flag12, used Flag13 instead.
371
3722009-11-30  Vincent Celier  <celier@adacore.com>
373
374	* gnatcmd.adb (Check_Files): Recognize documented switches that have a
375	separate parameter.
376
3772009-11-30  Robert Dewar  <dewar@adacore.com>
378
379	* sem_util.ads: Minor reformatting
380	* errout.adb: Minor reformatting
381	Minor code reorganization (use N_Subprogram_Specification to simplify)
382	* exp_ch7.adb: Add comment.
383
3842009-11-30  Thomas Quinot  <quinot@adacore.com>
385
386	* put_scos.adb (Put_SCOs): Do not generate a SCO unit header for a unit
387	that has no SCOs.
388	* scos.ads: Minor reformatting
389
3902009-11-30  Ed Schonberg  <schonberg@adacore.com>
391
392	* sem_prag.adb: Second unanalyzed parameter of Annotate is optional.
393
3942009-11-30  Eric Botcazou  <ebotcazou@adacore.com>
395
396	* init.c (__gnat_adjust_context_for_raise, Linux version): Add guard
397	for null PC saved in the context.
398
3992009-11-30  Hristian Kirtchev  <kirtchev@adacore.com>
400
401	* a-calend.adb (Day_Of_Week): Rewritten. The routine determines the
402	number of days from the Ada Epoch to the input date while ensuring that
403	both dates are in the same time zone.
404
4052009-11-30  Emmanuel Briot  <briot@adacore.com>
406
407	* clean.adb ("-eL"): Also set Follow_Links_For_Dirs, to match what is
408	done in other project-aware tools like gnatmake and gprbuild.
409
4102009-11-30  Jerome Lambourg  <lambourg@adacore.com>
411
412	* exp_ch3.adb (Make_Predefined_Primitive_Specs): Take care of CIL
413	ValueTypes.
414	* exp_ch7.adb (Needs_Finalization): Do not finalize CIL valuetypes.
415	* sem_util.adb (Is_Value_Type): Protect against invalid calls to Chars
416	(Is_Delegate): New method used for CIL.
417	* sem_util.ads (Is_Delegate): New method for CIL handling.
418	(Is_Value_Type): Improve documentation.
419
4202009-11-30  Ed Schonberg  <schonberg@adacore.com>
421
422	* errout.adb (Unwind_Internal_Type): Improve error reporting if the
423	type is an anonymous access to subprogram that is the type of a formal
424	in a subprogram spec.
425
4262009-11-30  Vincent Celier  <celier@adacore.com>
427
428	* prj-nmsc.adb (Check_Interfaces): In a Stand-Alone Library project, if
429	attribute Interfaces is not declared, then Library_Interface should
430	define the interfaces.
431
4322009-11-30  Ed Schonberg  <schonberg@adacore.com>
433
434	* sem_prag.adb: New semantics for Annotate.
435
4362009-11-30  Tristan Gingold  <gingold@adacore.com>
437
438        * gcc-interface/Makefile.in: Do not link with -static-libgcc on Darwin.
439
4402009-11-30  Emmanuel Briot  <briot@adacore.com>
441
442	* gnat_ugn.texi: Extend doc for -eL
443
4442009-11-30  Vincent Celier  <celier@adacore.com>
445
446	* osint.adb (Executable_Name (File_Name_Type)): Put the Name in the
447	Name_Buffer before testing for a dot in the Name.
448
4492009-11-30  Vincent Celier  <celier@adacore.com>
450
451	* prj-part.adb (Project_Path_Name_Of): Resolve links for final result
452	if -eL has been specified.
453
4542009-11-30  Vincent Celier  <celier@adacore.com>
455
456	* osint.adb (Executable_Name): Test the name instead of the name buffer
457	to check if there is a dot in the given name.
458
4592009-11-30  Sergey Rybin  <rybin@adacore.com>
460
461	* gnat_ugn.texi: Update gnatcheck doc.
462
4632009-11-30  Robert Dewar  <dewar@adacore.com>
464
465	* sem_ch3.adb, sem_disp.adb, usage.adb: Minor reformatting
466
4672009-11-30  Vasiliy Fofanov  <fofanov@adacore.com>
468
469	* gnat_ugn.texi: Minor editing.
470
4712009-11-30  Emmanuel Briot  <briot@adacore.com>
472
473	* prj-nmsc.adb (Search_Directories): when -eL was not specified, assume
474	that no directory matches the naming scheme for sources.
475
4762009-11-30  Emmanuel Briot  <briot@adacore.com>
477
478	* prj.adb, prj.ads, prj-nmsc.adb (Has_Multi_Unit_Sources): New field in
479	project_data.
480
4812009-11-30  Vincent Celier  <celier@adacore.com>
482
483	* osint.adb (Executable_Name): Correctly decide if the executable
484	suffix should be added when Only_If_No_Suffix is True.
485
4862009-11-30  Robert Dewar  <dewar@adacore.com>
487
488	* frontend.adb, gnatlink.adb, prj-conf.adb, prj-tree.adb,
489	prj-tree.ads: Minor reformatting
490
4912009-11-30  Vincent Celier  <celier@adacore.com>
492
493	* gnatlink.adb (Process_Args): Call Executable_Name on argument of -o
494	with Only_If_No_Suffix set to True.
495	* osint.adb (Executable_Name): Do not add executable suffix if there is
496	already a suffix and Only_If_No_Suffix is True.
497	* osint.ads (Executable_Name): New Boolean parameter Only_If_No_Suffix,
498	defaulted to False.
499
5002009-11-30  Javier Miranda  <miranda@adacore.com>
501
502	* exp_atag.adb (Build_TSD): Change argument name because the actual is
503	now the address of a tag (instead of the tag). Update implementation
504	accordingly.
505	(Build_CW_Membership): New implementation. Converted into a procedure
506	because it has an additional out mode parameter. Its implementation has
507	been rewritten to improve the generated code but also to facilitate
508	referencing the relocated object node in the caller.
509	* exp_atag.ads (Build_CW_Membership): Update profile and documentation.
510	* sinfo.ads (N_SCIL_Membership_Test) New_Node.
511	(SCIL_Tag_Value): New field of N_SCIL_Membership_Test nodes.
512	(Is_Syntactic_Field): Add entry of new node.
513	(SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
514	* sinfo.adb (SCIL_Related_Node, SCIL_Entity): Update assertions to
515	handle N_SCIL_Membership_Test nodes.
516	(SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
517	* sem.adb (Analyze): Add null management for new node.
518	* sem_scil.adb (Find_SCIL_Node): Add null management for new node.
519	(Check_SCIL_Node): Add checks of N_SCIL_Membership_Test nodes.
520	* exp_ch4.adb (Tagged_Membership): Change profile from function to
521	procedure. Add generation of SCIL node associated with class-wide
522	membership test.
523	(Expand_N_In): Complete decoration of SCIL nodes.
524	* exp_intr.adb (Expand_Dispatching_Constructor_Call): Tune call to
525	Build_CW_Membership because its profile has been changed.
526	* exp_util.adb (Insert_Actions): Add null management for new node.
527	* sprint.adb (Sprint_Node_Actual): Handle new node.
528	* gcc-interface/trans.c Add no processing for N_SCIL_Membership_Test
529	nodes.
530	* gcc-interface/Make-lang.in: Update dependencies.
531
5322009-11-30  Ed Schonberg  <schonberg@adacore.com>
533
534	* opt.ads: New flags Init_Or_Norm_Scalars_Config,
535	Initialize_Scalars_Config, to capture the presence of the corresponding
536	pragmas in a configuration file.
537	* opt.adb (Register_, Save_, Set_, Restore_Opt_Configuration_Switches):
538	handle new flags so that they are restored for each compilation unit.
539	* frontend.adb: At the end of compilation, scan the context of the main
540	unit to recover occurrences of pragma Initialize_Scalars, to annotate
541	the ALI file accordingly.
542
5432009-11-30  Vincent Celier  <celier@adacore.com>
544
545	* prj-tree.ads: Minor comment updates
546	* prj-tree.adb: Minor reformatting
547
5482009-11-30  Ed Schonberg  <schonberg@adacore.com>
549
550	* sem_ch3.adb (Derive_Subprogram): Indicate that an inherited
551	predefined control operation is hidden if the parent type is not
552	visibly controlled.
553	* sem_ch6.adb (Check_Overriding_Indicator): Do not report error if
554	overridden operation is not visible, as may be the case with predefined
555	control operations.
556	* sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on
557	non-overriding control operation when type is not visibly controlled,
558	if the subprogram has an explicit overriding indicator.
559	* sem_util.ads, sem_util.adb (Is_Visibly_Controlled): Moved here from
560	sem_disp.adb.
561
5622009-11-30  Emmanuel Briot  <briot@adacore.com>
563
564	* prj-tree.adb (Create_Attribute): Fix handling of VMS and Windows
565	* prj-attr.ads: Minor comment updates
566
5672009-11-30  Robert Dewar  <dewar@adacore.com>
568
569	* gnat_rm.texi: Document pragma Short_Circuit
570
5712009-11-30  Emmanuel Briot  <briot@adacore.com>
572
573	* prj-conf.adb, prj-tree.adb, prj-tree.ads (Create_Attribute): Now set
574	the index either on the attribute or on its value, depending on the
575	kind of the attribute. Done to match recent changes in Prj.PP that were
576	not synchronized with this function.
577
5782009-11-30  Arnaud Charlet  <charlet@adacore.com>
579
580	* gcc-interface/Make-lang.in: Fix typo.
581	Update dependencies.
582
5832009-11-30  Robert Dewar  <dewar@adacore.com>
584
585	* gnat_rm.texi: Add documentation for attribute Result.
586
5872009-11-30  Arnaud Charlet  <charlet@adacore.com>
588
589	* s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
590	s-osinte-tru64.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads
591	(Get_Page_Size): Update comment since Get_Page_Size is now required.
592
5932009-11-30  Jerome Lambourg  <lambourg@adacore.com>
594
595	* freeze.adb: Disable Warning on VM targets concerning C Imports, not
596	relevant.
597
5982009-11-30  Bob Duff  <duff@adacore.com>
599
600	* sprint.adb (Source_Dump): Minor comment fix.
601	(Write_Itype): When writing a string literal subtype, use Expr_Value
602	instead of Intval to get the low bound.
603
6042009-11-30  Vincent Celier  <celier@adacore.com>
605
606	* gnatlink.adb (Process_Args): Do not call Executable_Name on arguments
607	of switch -o.
608
6092009-11-30  Robert Dewar  <dewar@adacore.com>
610
611	* exp_ch4.adb (Expand_N_Op_And): Implement pragma Short_Circuit_And_Or
612	(Expand_N_Op_Or): Implement pragma Short_Circuit_And_Or
613	* opt.ads (Short_Circuit_And_Or): New flag
614	* par-prag.adb: Add dummy entry for pragma Short_Circuit_And_Or
615	* sem_prag.adb: Implement pragma Short_Circuit_And_Or
616	* snames.ads-tmpl: Add entries for pragma Short_Circuit_And_Or
617
6182009-11-30  Arnaud Charlet  <charlet@adacore.com>
619
620	* s-taprop-posix.adb: Fix casing.
621	* s-osinte-tru64.adb: Complete previous check-in.
622
6232009-11-30  Robert Dewar  <dewar@adacore.com>
624
625	* gnat_rm.texi: Document pragma Compiler_Unit
626	* s-bitops.adb, s-restri.adb, g-htable.adb, s-restri.ads,
627	a-comlin.ads, a-strhas.ads, s-strhas.adb, s-parame.adb,
628	s-parame.ads, a-clrefi.adb, a-clrefi.ads, a-ioexce.ads: Supply missing
629	Compiler_Unit pragmas.
630	* freeze.adb (Freeze_Entity): Improve message for 8-bit boolean passed
631	to C.
632
6332009-11-30  Robert Dewar  <dewar@adacore.com>
634
635	* makeutl.adb, makeutl.ads, prj-proc.adb, prj.adb, prj.ads: Minor
636	reformatting.
637
6382009-11-30  Thomas Quinot  <quinot@adacore.com>
639
640	* osint.adb: Minor reformatting
641
6422009-11-30  Vincent Celier  <celier@adacore.com>
643
644	* makeutl.ads, makeutl.adb (Base_Name_Index_For): New function to get
645	the base name of a main without the extension, with an eventual source
646	index.
647	(Mains.Get_Index): New procedure to set the source index of a main
648	(Mains.Get_Index): New function to get the source index of a main
649	* prj-attr.adb: New attributes Config_Body_File_Name_Index,
650	Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
651	Multi_Unit_Switches.
652	* prj-nmsc.adb (Process_Compiler): Takle into account new attributes
653	Config_Body_File_Name_Index, Config_Spec_File_Name_Index,
654	Multi_Unit_Object_Separator and Multi_Unit_Switches.
655	Allow only one character for Multi_Unit_Object_Separator.
656	* prj-proc.adb (Process_Declarative_Items): Take into account the
657	source indexes in indexes of associative array attribute declarations.
658	* prj.adb (Object_Name): New function to get the object file name for
659	units in multi-unit sources.
660	* prj.ads (Language_Config): New components Multi_Unit_Switches,
661	Multi_Unit_Object_Separator Config_Body_Index and Config_Spec_Index.
662	(Object_Name): New function to get the object file name for units in
663	multi-unit sources.
664	* snames.ads-tmpl: New standard names Config_Body_File_Name_Index,
665	Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
666	Multi_Unit_Switches.
667
6682009-11-30  Arnaud Charlet  <charlet@adacore.com>
669
670	* s-tassta.adb: Update comment.
671
6722009-11-30  Robert Dewar  <dewar@adacore.com>
673
674	* a-ngelfu.adb: Minor code reorganization.
675
6762009-11-30  Robert Dewar  <dewar@adacore.com>
677
678	* osint.ads, prj.adb, prj.ads: Minor reformatting
679	* s-stchop.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
680	s-taprop-vms.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
681	s-strxdr.adb, s-taprop-irix.adb, s-osinte-hpux-dce.adb,
682	s-osinte-tru64.adb, s-taenca.adb, s-taprop-hpux-dce.adb, s-stausa.adb,
683	s-taprop-posix.adb: Minor code reorganization (use conditional
684	expressions).
685
6862009-11-30  Bob Duff  <duff@adacore.com>
687
688	* g-sttsne-locking.adb (Copy_Service_Entry): Complete previous change.
689
6902009-11-30  Bob Duff  <duff@adacore.com>
691
692	* socket.c: Add more accessor functions for struct servent (need
693	setters as well as getters).
694	* g-sothco.ads (Servent): Declare interfaces to C setter functions for
695	struct servent.
696	* g-sttsne-locking.adb (Copy_Service_Entry): Use setter functions for
697	struct servent.
698
6992009-11-30  Robert Dewar  <dewar@adacore.com>
700
701	* s-stchop-vxworks.adb: Add comment.
702
7032009-11-30  Emmanuel Briot  <briot@adacore.com>
704
705	* make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Now acts
706	on the whole tree, to better share code with gprbuild.
707	(Length): New subprogram, to share code in gprbuild.
708	(Project_Data): Remove fields that are only needed when compiling a
709 	project in gprbuild (where we use local variables instead)
710	* osint.adb, osint.ads: Added minor comment on memory management
711
7122009-11-30  Sergey Rybin  <rybin@adacore.com>
713
714	* gnat_ugn.texi: Update gnatcheck doc.
715
7162009-11-30  Robert Dewar  <dewar@adacore.com>
717
718	make.adb, prj-makr.adb, g-sothco.ads: Minor reformattting
719	* s-taprop-dummy.adb: Minor code reorganization (raise with msgs start
720	with lower case).
721	* i-vxwoio.adb, g-dirope.adb, g-sercom-linux.adb,
722	g-enblsp-vms-alpha.adb, g-regist.adb, s-imgcha.adb, s-tarest.adb,
723	s-taprop-mingw.adb, g-exctra.adb, g-expect.adb, g-comlin.adb,
724	g-debpoo.adb, g-expect-vms.adb, g-pehage.adb, g-trasym-vms-alpha.adb,
725	g-enblsp-vms-ia64.adb, s-fatgen.adb, s-fileio.adb: Minor code
726	reorganization (use conditional expressions).
727
7282009-11-30  Vincent Celier  <celier@adacore.com>
729
730	* prj-makr.adb (Source_Files): New hash table to keep track of source
731	file names.
732	(Finalize): Avoid putting several times the same source file name
733	in the source list file.
734	* prj-pp.adb (Print): Fix a bug in the placement of "at nn" for
735	associative array indexes.
736
7372009-11-30  Robert Dewar  <dewar@adacore.com>
738
739	* g-dyntab.ads: Add missing pragma Compiler_Unit
740
7412009-11-30  Thomas Quinot  <quinot@adacore.com>
742
743	* s-crtrun.ads, s-crtl.ads, g-stseme.adb, Makefile.rtl, s-fileio.adb
744	(System.CRTL.Runtime): New unit, to contain parts of s-crtl that are
745	used in the Ada runtime but can't be used in the compiler because of
746	bootstrap issues.
747	* socket.c, s-oscons-tmplt.c, g-sothco.ads
748	(System.OS_Constants.SIZEOF_struct_servent): New constant.
749	Use s-oscons constant instead of external variable to get size of
750	struct hostent.
751
7522009-11-30  Thomas Quinot  <quinot@adacore.com>
753
754	* s-crtl.ads, g-stseme.adb, s-fileio.adb (System.CRTL.strerror): Change
755	return type to Interfaces.C.Strings.chars_ptr to eliminate need for
756	dubious unchecked conversion at call sites.
757	* s-errrep.adb, s-errrep.ads, Makefile.rtl (System.Error_Reporting):
758	Remove obsolete, unused runtime unit.
759	* gcc-interface/Make-lang.in: Update dependencies.
760	* gcc-interface/Makefile.in: Remove VMS specialization of s-crtl, not
761	required anymore.
762
7632009-11-30  Vincent Celier  <celier@adacore.com>
764
765	* gnatlink.adb: Delete an eventual existing executable file, in case it
766	is a symbolic link, to avoid modifying the target of the symbolic link.
767
7682009-11-30  Bob Duff  <duff@adacore.com>
769
770	* socket.c: Add accessor functions for struct servent.
771	* g-sothco.ads (Servent): Declare interfaces to C accessor functions
772	for struct servent.
773	* g-socket.adb (To_Service_Entry): Use accessor functions for struct
774	servent.
775
7762009-11-30  Robert Dewar  <dewar@adacore.com>
777
778	* g-arrspl.adb: Minor reformatting
779	* g-dyntab.adb: Add missing pragma Compiler_Unit
780
7812009-11-30  Thomas Quinot  <quinot@adacore.com>
782
783	* s-crtl.ads, s-oscons-tmplt.c: Fix support for VMS
784	* make.adb, g-comlin.ads, exp_ch6.adb: Minor reformatting
785
7862009-11-30  Robert Dewar  <dewar@adacore.com>
787
788	* bcheck.adb, gnatlink.adb, make.adb, makeutl.adb, osint.adb,
789	osint.ads, prj-ext.adb, sem_case.adb: Minor reformatting
790	* g-alleve.adb: Minor code reorganization (use conditional expressions)
791
7922009-11-30  Matthew Heaney  <heaney@adacore.com>
793
794	* a-crbtgo.adb (Delete_Fixup): Changed always-true predicates to
795	assertions.
796
7972009-11-30  Thomas Quinot  <quinot@adacore.com>
798
799	* a-tasatt.adb, s-crtl.ads, s-taprop-dummy.adb (System.CRTL.malloc32,
800	System.CRTL.realloc32): Remove VMS-specific routines.
801	(Ada.Task_Attributes.Reference): Remove unreachable code.
802	(System.Task_Primitives.Operations.Initialize, dummy version):
803	Use plain Program_Error rather than call to
804	System.Error_Reporting.Shutdown.
805
8062009-11-30  Thomas Quinot  <quinot@adacore.com>
807
808	* s-oscons-tmplt.c, xoscons.adb: Add new constants in preparation for
809	sharing s-crtl across all platforms.
810
8112009-11-30  Thomas Quinot  <quinot@adacore.com>
812
813	* s-commun.adb, s-commun.ads: New internal support unit,
814	allowing code sharing between GNAT.Sockets and
815	GNAT.Serial_Communication.
816	* g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
817	g-socket.adb (GNAT.Sockets.Last_Index): Move to System.Communication.
818	(GNAT.Serial_Communication.Read): Handle correctly the case where no
819	data was read, and Buffer'First = Stream_Element_Offset'First.
820	* Makefile.rtl: Add entry for s-commun
821	* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
822	g-socthi-vxworks.ads, g-stseme.adb, g-socthi-mingw.ads,
823	g-socthi.adb, g-socthi.ads (GNAT.Sockets.Thin.Socket_Error_Message):
824	Reimplement in terms of System.CRTL.strerror.
825
8262009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
827
828	* gcc-interface/utils.c (copy_type): Unshare the language-specific data
829	and the contents of the language-specific slot if needed.
830
8312009-11-26  Eric Botcazou  <ebotcazou@adacore.com>
832
833	* gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location
834	of the operator on both branches of the test in the generic case.
835
8362009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
837
838	* gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into...
839	(unchecked_conversion_nop): ...this.  Handle actual parameters.
840	(gnat_to_gnu): Adjust for above renaming.
841
8422009-11-25  Eric Botcazou  <ebotcazou@adacore.com>
843
844	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
845	Translate regular boolean types into BOOLEAN_TYPEs.
846
8472009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
848
849	* sem_util.adb (Set_Debug_Info_Needed): For an E_Class_Wide_Subtype,
850	also set the flag on the Equivalent_Type.
851	* gcc-interface/utils.c (finish_record_type): Replace DO_NOT_FINALIZE
852	parameter with DEBUG_INFO_P.  Rename FIELDLIST into FIELD_LIST.
853	(rest_of_record_type_compilation): Rename FIELDLIST into FIELD_LIST.
854	(build_vms_descriptor32): Adjust call to finish_record_type.
855	(build_vms_descriptor): Likewise.
856	(build_unc_object_type): Likewise.
857	* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
858	finish_record_type and components_to_record.
859	(make_packable_type): Adjust call to finish_record_type.
860	(maybe_pad_type): Likewise.  Tweak condition.
861	(components_to_record): Likewise.  Replace DO_NOT_FINALIZE parameter
862	with MAYBE_UNUSED.  Adjust recursive call.
863	(create_variant_part_from): Adjust call to finish_record_type.  Do not
864	call rest_of_record_type_compilation on the new record types.
865	* gcc-interface/trans.c (gigi): Adjust call to finish_record_type.
866	* gcc-interface/gigi.h (finish_record_type): Adjust prototype and
867	comment.
868	(rest_of_record_type_compilation): Adjust comment.
869
8702009-11-24  Eric Botcazou  <ebotcazou@adacore.com>
871
872	* exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as
873	frozen for targets that do not require front-end layout.
874	(New_Class_Wide_Subtype): Always reset the freezing status to False.
875	* exp_ch8.adb: Do not 'with' Targparm.
876	(Expand_N_Object_Renaming_Declaration): Always freeze a class-wide
877	subtype that has been built from the expression.
878	* exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
879	class wide, freeze the implicit type that has been built from the
880	expression at the dereference point.
881	* freeze.adb (Freeze_Entity): Adjust comment.
882	* gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Class_Wide_Type>:
883	Remove useless test.
884	* gcc-interface/trans.c (process_freeze_entity): Do not special-case
885	class-wide subtypes.
886
887	* s-osinte-aix.adb (clock_gettime): Fix comment.
888	* s-osinte-darwin.adb (clock_gettime): Likewise.
889
8902009-11-23  Eric Botcazou  <ebotcazou@adacore.com>
891
892	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Pass the list
893	of attributes when building the corresponding variable of a constant.
894	* gcc-interface/utils.c (create_var_decl_1): Do not process attributes
895	for constants.
896
8972009-11-23  Laurent GUERBY  <laurent@guerby.net>
898            Eric Botcazou  <ebotcazou@adacore.com>
899
900	PR ada/42153
901	* s-osinte-linux.ads (struct_timeval): Delete.
902	* s-osinte-hpux.ads (struct_timeval, To_Duration, To_Timeval): Delete.
903	* s-osinte-kfreebsd-gnu.ads: Likewise.
904	* s-osinte-rtems.ads: Likewise.
905	* s-osinte-aix.ads: Likewise.
906	* s-osinte-hpux-dce.ads: Likewise.
907	* s-osinte-darwin.ads: Likewise.
908	* s-osinte-solaris-posix.ads: Likewise.
909	* s-osinte-irix.ads: Likewise.
910	* s-osinte-solaris.ads: Likewise.
911	* s-osinte-hpux-dce.adb (To_Duration, To_Timeval): Delete.
912	* s-osinte-irix.adb: Likewise.
913	* s-osinte-solaris.adb: Likewise.
914	* s-osinte-rtems.adb: Likewise.  Minor reformatting.
915	* s-osinte-aix.adb (To_Duration, To_Timeval): Delete.
916	(clock_gettime): Use cal.c's timeval_to_duration.
917	* s-osinte-darwin.adb: Likewise.
918
9192009-11-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
920
921	* adaint.h: Assume large file support on IRIX only if _LFAPI.
922
9232009-11-21  Laurent GUERBY  <laurent@guerby.net>
924            Eric Botcazou  <ebotcazou@adacore.com>
925
926	* s-osinte-linux.ads (struct_timeval, To_Duration, To_Timeval,
927	gettimeofday): Delete.
928	* s-osinte-posix.adb (To_Duration, To_Timeval): Delete.
929	* s-osprim-posix.adb (struct_timezone, struct_timeval, gettimeofday):
930	Delete.
931	(Clock): Use cal.c's timeval_to_duration.
932	* s-taprop-linux.adb (Monotonic_Clock): Likewise.
933
9342009-11-12  Eric Botcazou  <ebotcazou@adacore.com>
935            Laurent GUERBY  <laurent@guerby.net>
936
937	* init.c (GNU/Linux Section): Enable for all architectures.
938
9392009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
940
941	PR ada/20548
942	* system-linux-alpha.ads (Stack_Check_Probes): Set to true.
943	* system-linux-hppa.ads (Stack_Check_Probes): Likewise.
944	* system-linux-sparc.ads (Stack_Check_Probes): Likewise.
945	* system-linux-sparcv9.ads (Stack_Check_Probes): Likewise.
946
9472009-11-10  Eric Botcazou  <ebotcazou@adacore.com>
948
949	* system-linux-alpha.ads (AAMP, Compiler_System_Version, OpenVMS,
950	Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
951	Delete.
952	(Stack_Check_Limits, Always_Compatible_Rep): New.
953	* system-linux-mips.ads (AAMP, Compiler_System_Version, OpenVMS,
954	Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
955	Delete.
956	(Stack_Check_Limits, Always_Compatible_Rep): New.
957	* system-linux-mips64el.ads (AAMP, Compiler_System_Version, OpenVMS,
958	Functions_Return_By_DSP, Front_End_ZCX_Support, High_Integrity_Mode,
959	Long_Shifts_Inlined): Delete.
960	(Stack_Check_Limits, Always_Compatible_Rep): New.
961	* system-linux-mipsel.ads (AAMP, Compiler_System_Version, OpenVMS,
962	Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
963	Delete.
964	(Stack_Check_Limits, Always_Compatible_Rep): New.
965	* system-linux-s390.ads (AAMP, Compiler_System_Version, OpenVMS,
966	Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
967	Delete.
968	(Stack_Check_Limits, Always_Compatible_Rep): New.
969	* system-linux-s390x.ads (AAMP, Compiler_System_Version, OpenVMS,
970	Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
971	Delete.
972	(Stack_Check_Limits, Always_Compatible_Rep): New.
973	* system-linux-sh4.ads (Stack_Check_Limits, Always_Compatible_Rep):
974	New.
975	* system-linux-sparc.ads (AAMP, Compiler_System_Version, OpenVMS,
976	Front_End_ZCX_Support): Delete.
977	(Stack_Check_Limits, Always_Compatible_Rep): New.
978	* system-linux-sparcv9.ads (AAMP, Compiler_System_Version, OpenVMS,
979	Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
980	Delete.
981	(Stack_Check_Limits, Always_Compatible_Rep): New.
982	* system-rtems.ads (OpenVMS): Delete.
983	(Stack_Check_Limits, Always_Compatible_Rep): New.
984
9852009-11-08  Eric Botcazou  <ebotcazou@adacore.com>
986
987	* gcc-interface/decl.c (make_packable_type): Fix oversight.
988	(gnat_to_gnu_field): Do not attempt to change the form of the type
989	if the field requires strict alignment.  Always change the form of
990	the type if the specified size is smaller than its size.
991
9922009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
993
994	* gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes.
995
9962009-11-05  Eric Botcazou  <ebotcazou@adacore.com>
997
998	* gcc-interface/trans.c (lvalue_required_p) <N_Unchecked_Conversion>:
999	New case.
1000
10012009-10-30  Eric Botcazou  <ebotcazou@adacore.com>
1002
1003	* gcc-interface/utils.c (MAX_FIXED_MODE_SIZE): Delete.
1004	(create_field_decl): Update description.  In a packed record, round
1005	the size up to a byte boundary only if the field's type has BLKmode.
1006	* gcc-interface/gigi.h (create_field_decl): Update description.
1007
10082009-10-30  Emmanuel Briot  <briot@adacore.com>
1009
1010	* make.adb (Start_Compile_If_Possible): Compute location of resulting
1011	ALI file in this procedure instead of after the compilation itself,
1012	since the current directory might have changed in between when using
1013	-j<n>.
1014
1015	* osint.ads: Addded missing alignment clause.
1016
1017	* adaint.c, adaint.h, osint.adb (__gnat_reset_attributes,
1018	__gnat_size_of_file_attributes): Rename reset_attributes and
1019	size_of_file_attributes.
1020
10212009-10-30  Javier Miranda  <miranda@adacore.com>
1022
1023	* sem_scil.adb (Adjust_SCIL_Node): Add missing management of sequences
1024	of statements when searching for SCIL nodes.
1025
10262009-10-30  Tristan Gingold  <gingold@adacore.com>
1027
1028	* gnatlink.adb, link.c: By default use shared libgcc on darwin.
1029
10302009-10-30  Emmanuel Briot  <briot@adacore.com>
1031
1032	* make.adb, osint.adb (Add_Lib_Search_Dir): Do not add if dir is
1033	already in the list.
1034	This saves system calls when looking for ALI files
1035	(Scan_Make_Args): The parameter to gnatmake's -D is now converted to an
1036	absolute PATH (so that the above improvement properly occurs if both
1037	-D<dir> and -aO<dir> are specified).
1038
10392009-10-30  Thomas Quinot  <quinot@adacore.com>
1040
1041	* a-direct.adb: Minor reformatting
1042
10432009-10-30  Emmanuel Briot  <briot@adacore.com>
1044
1045	* make.adb, adaint.c, adaint.h, osint.adb, osint.ads, bcheck.adb
1046	(*_attr): new subprograms.
1047	(File_Length, File_Time_Stamp, Is_Writable_File): new subprograms
1048	(Read_Library_Info_From_Full, Full_Library_Info_Name,
1049	Full_Source_Name): Now benefit from a previous cache of the file
1050	attributes, to further save on system calls.
1051	(Smart_Find_File): now also cache the file attributes. This makes the
1052	package File_Stamp_Hash_Table useless, and it was removed.
1053	(Compile_Sources): create subprograms for the various steps of the main
1054	loop, for readibility and to avoid sharing variables between the
1055	various steps.
1056
10572009-10-30  Emmanuel Briot  <briot@adacore.com>
1058
1059	* make.adb, osint.adb, osint.ads (Library_File_Stamp): Removed, since
1060	unused.
1061	(Read_Library_Info_From_Full): New subprogram.
1062
10632009-10-30  Robert Dewar  <dewar@adacore.com>
1064
1065	* a-tideio.adb: Minor reformatting
1066	* a-wtdeio.adb, a-ztdeio.adb: Update comments, code clean up.
1067
1068	* a-reatim.adb, a-tideau.adb, a-ngelfu.adb, a-ztdeau.adb, a-ngrear.adb,
1069	a-wtedit.adb, a-ststio.adb, a-ztedit.adb: Minor code reorganization
1070	(use conditional expressions).
1071
10722009-10-30  Ed Schonberg  <schonberg@adacore.com>
1073
1074	* gnat_ugn.texi: Additional info on gnatw.i and gnatw.I
1075
1076	* sem_case.adb: Improved error message.
1077
10782009-10-30  Emmanuel Briot  <briot@adacore.com>
1079
1080	* a-direct.adb, gnatcmd.adb, gnatname.adb, makeutl.adb, opt.ads,
1081	osint.adb, prj-ext.adb, switch-m.adb (Follow_Links_For_Dirs): Now
1082	defaults to False, and controlled by -eL.
1083	* a-direct.adb: Add comments.
1084	* osint.adb (File_Stamp): Avoid unneeded duplicate system call
1085
10862009-10-30  Robert Dewar  <dewar@adacore.com>
1087
1088	* sem_res.adb (Resolve_Type_Conversion): Avoid false positive when
1089	converting non-static subtype to "identical" static subtype.
1090
10912009-10-30  Ed Schonberg  <schonberg@adacore.com>
1092
1093	* usage.adb: Add -gnatw.i switch.
1094
10952009-10-30  Vincent Celier  <celier@adacore.com>
1096
1097	* xsnamest.adb: Update comments with regards to the template files
1098	snames.*.tmpl
1099
11002009-10-30  Bob Duff  <duff@adacore.com>
1101
1102	* s-fileio.adb (Errno_Message): Suppress VMS-specific warning.
1103
11042009-10-30  Ed Schonberg  <schonberg@adacore.com>
1105
1106	* sem_case.adb (Check_Choices): Add explanatory message when there are
1107	missing alternatives when the required range of alternatives is given
1108	by the base type of the case expression or discriminant in a variant
1109	part.
1110
1111	* opt.ads: New flag Warn_On_Overlap, to enable warnings on potentially
1112	dangerous overlap between actuals in a call, activated by -gnatw.i
1113	* sem_warn.adb (Set_Dot_Warning_Switch): set flag.
1114	(Warn_On_Overlapping_Actuals): use new flag.
1115
1116	* gnat_ugn.texi: Document -gnatw.i, warning on overlapping actuals
1117
11182009-10-30  Robert Dewar  <dewar@adacore.com>
1119
1120	* exp_aggr.adb, exp_ch9.adb: Minor reformatting
1121
11222009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
1123
1124	* gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
1125	create integer types with precision 0.
1126
11272009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
1128
1129	PR ada/41870
1130	* gcc-interface/decl.c (array_type_has_nonaliased_component): Swap
1131	parameters and rewrite comments.  For a derived type, return the
1132	setting of its parent type.
1133	(gnat_to_gnu_entity): Do an alias set copy for derived types if they
1134	are composite.  Adjust calls to above function.
1135
11362009-10-29  Eric Botcazou  <ebotcazou@adacore.com>
1137
1138	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Object_Size>: Do not
1139	return the RM size for padded types.
1140
11412009-10-28  Robert Dewar  <dewar@adacore.com>
1142
1143	* sem_type.adb: Minor reformatting
1144
11452009-10-28  Arnaud Charlet  <charlet@adacore.com>
1146
1147	* exp_ch9.adb (Build_Task_Proc_Specification): Generate a different
1148	suffix for task type bodies.
1149
11502009-10-28  Ed Schonberg  <schonberg@adacore.com>
1151
1152	* exp_aggr.adb (Convert_Aggr_In_Allocator): Do not look for a
1153	finalization list if the designated type requires no control actions,
1154	to prevent a useless semantic dependence on ada.tags.
1155
11562009-10-28  Bob Duff  <duff@adacore.com>
1157
1158	* s-fileio.adb: Give more information in exception messages.
1159
11602009-10-28  Robert Dewar  <dewar@adacore.com>
1161
1162	* gnat_ugn.texi: Document new -gnatyt requirement for space after right
1163	paren if next token starts with digit or letter.
1164	* styleg.adb (Check_Right_Paren): New rule for space after if next
1165	character is a letter or digit.
1166
11672009-10-28  Thomas Quinot  <quinot@adacore.com>
1168
1169	* s-crtl.ads (System.CRTL.strerror): New function.
1170
11712009-10-28  Ed Schonberg  <schonberg@adacore.com>
1172
1173	* sem_type.adb: Add guard to recover some type errors.
1174
11752009-10-28  Vincent Celier  <celier@adacore.com>
1176
1177	* prj-nmsc.adb (Add_To_Or_Remove_From_List): New name of procedure
1178	Add_If_Not_In_List to account to the fact that a directory may be
1179	removed from the list. Only remove directory if Removed is True.
1180
11812009-10-28  Gary Dismukes  <dismukes@adacore.com>
1182
1183	* a-textio.ads, a-textio.ads: Put back function EOF_Char in private
1184	part. Put back body of function EOF_Char.
1185	* a-tienau.adb: Remove with of Interfaces.C_Streams and change EOF back
1186	to EOF_Char.
1187
11882009-10-28  Emmanuel Briot  <briot@adacore.com>
1189
1190	* prj-tree.adb (Free): Fix memory leak.
1191
11922009-10-28  Thomas Quinot  <quinot@adacore.com>
1193
1194	* s-fileio.adb: Minor reformatting
1195
11962009-10-28  Arnaud Charlet  <charlet@adacore.com>
1197
1198	* gcc-interface/Make-lang.in: Update dependencies.
1199
12002009-10-28  Robert Dewar  <dewar@adacore.com>
1201
1202	* exp_attr.adb, exp_ch9.adb, prj-nmsc.adb, tbuild.adb, ali.adb,
1203	types.ads: Minor reformatting
1204
12052009-10-28  Tristan Gingold  <gingold@adacore.com>
1206
1207	* init.c: Fix __gnat_error_handler for Darwin10 (Snow Leopard)
1208
12092009-10-28  Thomas Quinot  <quinot@adacore.com>
1210
1211	* exp_ch4.adb (Expand_N_Type_Conversion): Perform Integer promotion for
1212	the operand of the unary minus and ABS operators.
1213
1214	* sem_type.adb (Covers): A concurrent type and its corresponding record
1215	type are compatible.
1216	* exp_attr.adb (Expand_N_Attribute_Reference): Do not rewrite a 'Access
1217	attribute reference for the current instance of a protected type while
1218	analyzing an access discriminant constraint in a component definition.
1219	Such a reference is handled in the corresponding record's init proc,
1220	while initializing the constrained component.
1221	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
1222	corresponding record type, propagate components'
1223	Has_Per_Object_Constraint flag.
1224	* exp_ch3.adb (Build_Init_Procedure.Build_Init_Statements):
1225	For a concurrent type, set up concurrent aspects before initializing
1226	components with a per object constrain, because they may be controlled,
1227	and their initialization may call entries or protected subprograms of
1228	the enclosing concurrent object.
1229
12302009-10-28  Emmanuel Briot  <briot@adacore.com>
1231
1232	* prj-nmsc.adb (Add_If_Not_In_List): New subprogram, for better sharing
1233	of code.
1234	(Find_Source_Dirs): resolve links if Opt.Follow_Links_For_Dirs when
1235	processing the directories specified explicitly in the project file.
1236
12372009-10-28  Robert Dewar  <dewar@adacore.com>
1238
1239	* a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb,
1240	a-textio.ads, a-textio.adb: Reorganize (moving specs from private part
1241	to body).
1242	(Initialize_Standard_Files): New procedure.
1243	* a-tienau.adb: Minor change to make EOF directly visible
1244	* a-tirsfi.ads, a-wrstfi.adb, a-wrstfi.ads, a-zrstfi.adb,
1245	a-zrstfi.ads, a-tirsfi.adb: New unit, initial version.
1246	* gnat_rm.texi: Add documentation for
1247	Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files.
1248	* Makefile.rtl: Add entries for
1249	Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files
1250
12512009-10-28  Thomas Quinot  <quinot@adacore.com>
1252
1253	* exp_ch9.ads: Minor reformatting
1254	* sem_ch3.adb: Minor reformatting
1255	* sem_aggr.adb: Minor reformatting.
1256	* sem_attr.adb: Minor reformatting
1257	* tbuild.adb, tbuild.ads, par-ch4.adb, exp_ch4.adb (Tbuild.New_Op_Node):
1258	New subprogram.
1259	Minor code reorganization/factoring.
1260
12612009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
1262
1263	* gcc-interface/decl.c (purpose_member_field): New static function.
1264	(annotate_rep): Use it instead of purpose_member.
1265
12662009-10-27  Eric Botcazou  <ebotcazou@adacore.com>
1267
1268	* raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of
1269	_Unwind_GetIP if HAVE_GETIPINFO is defined.
1270	(db_action_for): Likewise.
1271
12722009-10-27  Robert Dewar  <dewar@adacore.com>
1273
1274	* s-fileio.adb, s-fileio.ads, sem_util.adb, sem_warn.adb,
1275	sem_warn.ads: Minor reformatting
1276
12772009-10-27  Robert Dewar  <dewar@adacore.com>
1278
1279	* sem_warn.adb, sem_util.adb, sem_util.ads: Minor reformatting. Add
1280	comments.
1281
12822009-10-27  Robert Dewar  <dewar@adacore.com>
1283
1284	* s-os_lib.ads, s-os_lib.adb, prj-err.adb, makeutl.adb: Minor
1285	reformatting.
1286
12872009-10-27  Ed Schonberg  <schonberg@adacore.com>
1288
1289	* sem.util.ads, sem_util.adb (Denotes_Same_Object,
1290	Denotes_Same_Prefix): New functions to detect overlap between actuals
1291	that are not by-copy in a call, when one of them is in-out.
1292	* sem_warn.ads, sem_warn.adb (Warn_On_Overlapping_Actuals): New
1293	procedure,  called on a subprogram call to warn when an in-out actual
1294	that is not by-copy overlaps with another actual, thus leadind to
1295	potentially dangerous aliasing in the body of the called subprogram.
1296	Currently the warning is under control of the -gnatX switch.
1297	* sem_res.adb (resolve_call): call Warn_On_Overlapping_Actuals.
1298
12992009-10-27  Thomas Quinot  <quinot@adacore.com>
1300
1301	* sem_ch12.adb (Install_Formal_Packages): Do not omit installation of
1302	visible entities when the formal package doesn't have a box.
1303
1304	* checks.adb: Minor reformatting.
1305
13062009-10-27  Vincent Celier  <celier@adacore.com>
1307
1308	* prj-part.adb (Parse): Catch exception Types.Unrecoverable_Error and
1309	set Project to Empty_Node.
1310
13112009-10-27  Robert Dewar  <dewar@adacore.com>
1312
1313	* gnatbind.adb: Minor reformatting
1314
13152009-10-27  Arnaud Charlet  <charlet@adacore.com>
1316
1317	* exp_aggr.adb: Fix comment.
1318
13192009-10-27  Emmanuel Briot  <briot@adacore.com>
1320
1321	* prj-err.adb (Error_Msg): take into account continuation lines when
1322	computing whether we have a warning.
1323
13242009-10-27  Vasiliy Fofanov  <fofanov@adacore.com>
1325
1326	* make.adb, s-os_lib.adb, s-os_lib.ads (Create_Temp_Output_File): New
1327	routine that is designed to create temp file descriptor specifically
1328	for redirecting an output stream.
1329
13302009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
1331
1332	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
1333	processing the parent type, build the COMPONENT_REF for a discriminant
1334	with the proper type.
1335
13362009-10-24  Eric Botcazou  <ebotcazou@adacore.com>
1337
1338	* init.c (__gnat_adjust_context_for_raise): Mention _Unwind_GetIPInfo.
1339	* gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Add HAVE_GETIPINFO.
1340	Pass GNATLIBCFLAGS_FOR_C to recursive invocations.
1341
13422009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1343
1344	* gcc-interfaces/decl.c (build_subst_list): Convert the expression of
1345	the constraint to the type of the discriminant.
1346
13472009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1348
1349	* gcc-interfaces/decl.c (gnat_to_gnu_entity): Do not create a new
1350	TYPE_DECL when a type is padded if there is already one and reset
1351	TYPE_STUB_DECL in this case.
1352
13532009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
1354
1355	* gcc-interfaces/utils.c (create_subprog_decl): Do not redefine
1356	main_identifier_node.
1357
13582009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1359
1360	* gcc-interface/utils.c (convert): When converting to a padded type
1361	with an inner type of self-referential size, pad the expression before
1362	doing the unchecked conversion.
1363
13642009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1365
1366	* gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Make
1367	sure the element type is consistent.
1368
13692009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1370
1371	* gcc-interface/trans.c (addressable_p): Handle bitwise operations.
1372
13732009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1374
1375	* gcc-interface/ada-tree.h (TYPE_FAT_POINTER_P): Swap with...
1376	(TYPE_IS_FAT_POINTER_P): ...this.
1377	(TYPE_THIN_POINTER_P): Rename into...
1378	(TYPE_IS_THIN_POINTER_P): ...this.
1379	(TYPE_FAT_OR_THIN_POINTER_P): Rename into...
1380	(TYPE_IS_FAT_OR_THIN_POINTER_P): ...this.
1381	(TYPE_IS_PADDING_P): Change definition, move old one to...
1382	(TYPE_PADDING_P): ...this.
1383	* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
1384	(get_unpadded_type): Likewise.
1385	(gnat_to_gnu_component_type): Likewise.
1386	(gnat_to_gnu_param): Likewise.
1387	(relate_alias_sets): Likewise.
1388	(make_packable_type): Likewise.
1389	(maybe_pad_type): Likewise.
1390	(gnat_to_gnu_field): Likewise.
1391	(is_variable_size): Likewise.
1392	(annotate_object): Likewise.
1393	(validate_size): Likewise.
1394	(set_rm_size): Likewise.
1395	(make_type_from_size): Likewise.
1396	(rm_size): Likewise.
1397	* gcc-interface/misc.c (gnat_print_type): Likewise.
1398	(gnat_get_alias_set): Likewise.
1399	* gcc-interface/trans.c (Identifier_to_gnu): Likewise.
1400	(Attribute_to_gnu): Likewise.
1401	(call_to_gnu): Likewise.
1402	(gnat_to_gnu): Likewise.
1403	(add_decl_expr): Likewise.
1404	(convert_with_check): Likewise.
1405	(addressable_p): Likewise.
1406	(maybe_implicit_deref): Likewise.
1407	(protect_multiple_eval): Likewise.
1408	(gnat_stabilize_reference_1): Likewise.
1409	* gcc-interface/utils.c (gnat_pushdecl): Likewise.
1410	(finish_record_type): Likewise.
1411	(rest_of_record_type_compilation): Likewise.
1412	(create_type_decl): Likewise.
1413	(gnat_types_compatible_p): Likewise.
1414	(build_template): Likewise.
1415	(convert_vms_descriptor64): Likewise.
1416	(convert_vms_descriptor32): Likewise.
1417	(build_unc_object_type_from_ptr): Likewise.
1418	(update_pointer_to): Likewise.
1419	(convert_to_fat_pointer): Likewise.
1420	(convert_to_fat_pointer): Likewise.
1421	(convert): Likewise.
1422	(remove_conversions): Likewise.
1423	(maybe_unconstrained_array): Likewise.
1424	(unchecked_convert): Likewise.
1425	(handle_vector_type_attribute): Likewise.
1426	* gcc-interface/utils2.c (build_binary_op): Likewise.
1427	(build_unary_op): Likewise.
1428	(build_allocator): Likewise.
1429
14302009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1431
1432	* exp_dbug.ads: Adjust type names in comments.
1433	* gcc-interface/decl.c (maybe_pad_type): Remove NAME_TRAILER parameter,
1434	add new IS_COMPONENT_TYPE parameter.  Adjust.  Remove dead code.
1435	(gnat_to_gnu_entity): Adjust for above change.
1436	(gnat_to_gnu_component_type): Likewise.
1437	(gnat_to_gnu_field): Likewise.
1438	* gcc-interface/trans.c (call_to_gnu): Likewise.  Do not unnecessarily
1439	call max_size.
1440	* gcc-interface/utils.c (finish_record_type): Remove obsolete code.
1441	* gcc-interface/gigi.h (maybe_pad_type): Adjust prototype.
1442
14432009-10-16  Joel Sherrill <joel.sherrill@oarcorp.com>
1444
1445	* s-osinte-rtems.ads: Add mutex type to pthread_mutexattr_t
1446	* s-stchop-rtems.adb: Correct binding to rtems_stack_checker_is_blown.
1447
14482009-10-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1449
1450	* env.c [__alpha__ && __osf__] (AES_SOURCE): Define.
1451
14522009-10-10  Samuel Tardieu  <sam@rfc1149.net>
1453
1454	* sem_eval.adb: Give a more precise error message.
1455
14562009-10-06  Samuel Tardieu  <sam@rfc1149.net>
1457
1458	PR ada/41383
1459	* a-rttiev.adb (Time_Of_Event): Return Time_First for unset event.
1460
14612009-10-06  Samuel Tardieu  <sam@rfc1149.net>
1462
1463	PR ada/38333
1464	* sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract
1465	subprogram to be completed with a "pragma Import".
1466
14672009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1468
1469	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>:
1470	Generate an XVZ variable alongside the XVS type if the size is
1471	not constant.
1472	(maybe_pad_type): Minor tweak.
1473
14742009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1475
1476	* gcc-interface/decl.c (check_ok_for_atomic): Do nothing if the type
1477	doesn't come from source.
1478
14792009-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1480
1481	* gcc-interface/decl.c (gnat_to_gnu_component_type): Force at least
1482	unit size for the component size of an array with aliased components.
1483	(maybe_pad_type): Do not warn for MAX_EXPR.
1484
14852009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1486
1487	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Factor out
1488	common code processing the component type into...
1489	<E_Array_Subtype>: Likewise.
1490	(gnat_to_gnu_component_type): ...this new static function.
1491	(maybe_pad_type): Minor cleanup.
1492
14932009-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1494
1495	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Rewrite
1496	the handling of constrained discriminated record subtypes.
1497	(components_to_record): Declare the type of the variants and of the
1498	qualified union.
1499	(build_subst_list): Move around.
1500	(compute_field_positions): Rename into...
1501	(build_position_list): ...this.  Return a TREE_VEC.
1502	(annotate_rep): Adjust for above renaming.
1503	(build_variant_list): New static function.
1504	(create_field_decl_from): Likewise.
1505	(get_rep_part): Likewise.
1506	(get_variant_part): Likewise.
1507	(create_variant_part_from): Likewise.
1508	(copy_and_substitute_in_size): Likewise.
1509
15102009-09-28  Olivier Hainque  <hainque@adacore.com>
1511
1512	PR ada/41100
1513	* gcc-interface/targtyps.c (get_target_default_allocator_alignment):
1514	Account for observable alignments out of default allocators.
1515
15162009-09-28  Richard Henderson  <rth@redhat.com>
1517
1518	* gcc-interface/utils.c (gnat_install_builtins): Update call to
1519	build_common_builtin_nodes.
1520
15212009-09-26  Eric Botcazou  <ebotcazou@adacore.com>
1522
1523	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Filter out
1524	negative size for the array dimensions like in the constrained case.
1525	<E_Array_Subtype>: Do not create an artificially non-constant high
1526	bound if the low bound is non-constant.  Minor tweaks.
1527
1528	* gcc-interface/trans.c (lvalue_required_p): Add CONSTANT parameter
1529	and turn ALIASED into a boolean parameter.  Adjust calls to self.
1530	<N_Attribute_Reference>: Return 1 for more attributes.
1531	<N_Object_Renaming_Declaration>: Return 1 for non-constant objects.
1532	<N_Assignment_Statement>: Return 1 for the LHS.
1533	(Identifier_to_gnu): Adjust calls to lvalue_required_p.
1534	(call_to_gnu): Be prepared for wrapped boolean rvalues.
1535
15362009-09-25  Olivier Hainquqe  <hainque@adacore.com>
1537            Eric Botcazou  <ebotcazou@adacore.com>
1538
1539	* gcc-interface/ada-tree.h (TYPE_REPRESENTATIVE_ARRAY): New language
1540	specific node.	Representative array type for VECTOR_TYPE entities.
1541	* gcc-interface/utils.c (handle_vector_type_attribute): New handler.
1542	Turn an ARRAY_TYPE entity into a VECTOR_TYPE.
1543	(gnat_types_compatible_p): Handle VECTOR_TYPEs.
1544	(convert): Likewise.  Arrange to produce VECTOR_CST out of constant
1545	array aggregates for VECTOR_TYPE entities.
1546	(unchecked_convert): Likewise.
1547	(maybe_vector_array): New function. If EXP has VECTOR_TYPE, return EXP
1548	converted to the associated TYPE_REPRESENTATIVE_ARRAY.
1549	(handle_pure_attribute, handle_sentinel_attribute,
1550	handle_noreturn_attribute, handle_malloc_attribute,
1551	handle_vector_size_attribute): Replace uses of qE format by qs.
1552	Remove GCC_DIAG_STYLE definition.
1553	* gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Convert
1554	vector input to representative array type on entry.
1555	<N_Op_Eq, etc>: Likewise.
1556	* gcc-interface/gigi.h (maybe_vector_array): Declare.
1557	(VECTOR_TYPE_P): New predicate.
1558	* gcc-interface/misc.c (gnat_print_type): Handle VECTOR_TYPE.
1559
15602009-09-24  Eric Botcazou  <ebotcazou@adacore.com>
1561
1562	* gcc-interface/ada.h: Fix outdated comment.
1563	* gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Use MARK_VISITED in
1564	lieu of mark_visited.
1565	* gcc-interface/gigi.h (mark_visited): Change type of parameter.
1566	(MARK_VISITED): New macro.
1567	(gnat_truthvalue_conversion): Delete.
1568	* gcc-interface/decl.c (gnat_to_gnu_entity): Use MARK_VISITED in lieu
1569	of mark_visited.
1570	(annotate_rep): Fix formatting and tidy.
1571	(compute_field_positions): Get rid of useless variable.
1572	* gcc-interface/trans.c (gnat_to_gnu): Retrieve the Nkind of the GNAT
1573	node only once.  Use IN operator for the Nkind in more cases.
1574	Remove calls to gnat_truthvalue_conversion.
1575	(mark_visited): Change type of parameter and adjust.
1576	(mark_visited_r): Dereference TP only once.
1577	(add_decl_expr): Use MARK_VISITED in lieu of mark_visited.
1578	* gcc-interface/utils2.c (gnat_truthvalue_conversion): Delete.
1579	(build_binary_op): Remove calls to gnat_truthvalue_conversion.
1580	(build_unary_op): Likewise.
1581
15822009-09-24  Dave Korn  <dave.korn.cygwin@gmail.com>
1583
1584	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Simplify test for
1585	a-except% in target pairs list; don't (implicitly) compare whitespace.
1586
15872009-09-24  Jakub Jelinek  <jakub@redhat.com>
1588
1589	* gcc-interface/utils.c (gnat_pushdecl): Don't set
1590	DECL_NO_STATIC_CHAIN, set DECL_STATIC_CHAIN for
1591	nested functions.
1592
15932009-09-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
1594
1595	* s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0.
1596	Bind to getpagesize() in RTEMS 4.10 and newer.
1597
15982009-09-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1599
1600	* env.c [__alpha__ && __osf__] (_BSD): Define.
1601	* init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
1602	to const char *.
1603
16042009-09-18  Pascal Obry  <obry@adacore.com>
1605
1606	* mingw32.h: Activate Unicode support for x86-64 Windows platform.
1607
16082009-09-18  Vadim Godunko  <godunko@adacore.com>
1609
1610	* s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
1611
16122009-09-18  Javier Miranda  <miranda@adacore.com>
1613
1614	* exp_aggr.adb (Backend_Processing_Possible): Disable backend
1615	processing for array aggregates in the VM backend if the array has
1616	aliased components.
1617
16182009-09-18  Ed Schonberg  <schonberg@adacore.com>
1619
1620	* sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
1621	the prefix indicates a previous semantic error, and this is the first
1622	error in the program.
1623
16242009-09-18  Bob Duff  <duff@adacore.com>
1625
1626	* gnat_ugn.texi: Minor editing.
1627
16282009-09-18  Vincent Celier  <celier@adacore.com>
1629
1630	* prj.ads, prj.adb (Project_Data): New component
1631	Imported_Directories_Switches.
1632
16332009-09-18  Pascal Obry  <obry@adacore.com>
1634
1635	* mingw32.h: Include standard _mingw.h file.
1636	Define _WIN32_WINNT only if not already defined.
1637
16382009-09-18  Thomas Quinot  <quinot@adacore.com>
1639
1640	* g-socket.adb (Is_Open): New function indicating whether a
1641	Selector_Type object is open.
1642
16432009-09-18  Vincent Celier  <celier@adacore.com>
1644
1645	* osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
1646	is deleted before creating it.
1647
16482009-09-18  Robert Dewar  <dewar@adacore.com>
1649
1650	* bindgen.adb: Minor reformatting
1651
16522009-09-18  Arnaud Charlet  <charlet@adacore.com>
1653
1654	* s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
1655	s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
1656	signal handler is installed.
1657	* s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
1658	tasks if Abort_Task_Interrupt cannot be used.
1659
16602009-09-18  Vincent Celier  <celier@adacore.com>
1661
1662	* prj-tree.ads: Minor comment update
1663
16642009-09-17  Bob Duff  <duff@adacore.com>
1665
1666	* g-socket.ads: Document the fact that Close_Selector has no effect on
1667	a closed selector.
1668	* g-socket.adb: Raise an exception when a Selector that should be open
1669	is closed.
1670	(Check_Selector): Declare RSig as a constant rather than a renames,
1671	less confusing.
1672
16732009-09-17  Robert Dewar  <dewar@adacore.com>
1674
1675	* exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads,
1676	prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb,
1677	prj-tree.ads: Minor reformatting
1678
16792009-09-17  Emmanuel Briot  <briot@adacore.com>
1680
1681	* prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
1682	spec.
1683	(Do_Autoconf): If the object directory does not exists, create auto.cgpr
1684	in a temporary directory instead
1685
16862009-09-17  Bob Duff  <duff@adacore.com>
1687
1688	* a-dynpri.adb (Set_Priority): Don't do anything if the task is already
1689	terminated.
1690	(Get_Priority): Correct message for "terminated" case -- it said "null".
1691
16922009-09-17  Robert Dewar  <dewar@adacore.com>
1693
1694	* exp_ch6.adb: Minor reformatting
1695
16962009-09-17  Emmanuel Briot  <briot@adacore.com>
1697
1698	* gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
1699	switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads
1700	(Project_Node_Tree_Data.Project_Path): New field.
1701
1702	* prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
1703
17042009-09-17  Emmanuel Briot  <briot@adacore.com>
1705
1706	* prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
1707	Remove duplicate code.
1708	(Prj.Ext): Fix memory leak
1709	(Check): Now allow the syntax "-Xfoo=" to set an empty value to the
1710	variable. This was previously allowed in the code in
1711	Is_External_Assignment, and some tests rely on it
1712
17132009-09-17  Bob Duff  <duff@adacore.com>
1714
1715	* gnat_rm.texi, s-oscons-tmplt.c: Minor typo
1716
17172009-09-17  Emmanuel Briot  <briot@adacore.com>
1718
1719	* gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
1720	makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
1721	prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
1722	prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
1723	Scenario variables are now specific to each project tree loaded in
1724	memory.
1725	Code clean ups.
1726
17272009-09-17  Javier Miranda  <miranda@adacore.com>
1728
1729	* exp_disp.adb (Make_DT): Remove wrong line of code that was
1730	undocumented and probably added by mistake.
1731
17322009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1733
1734	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
1735	conversions between original and packable version of types from
1736	the expression.
1737
17382009-09-16  Eric Botcazou  <ebotcazou@adacore.com>
1739
1740	* gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
1741	If a padding type was made for the field, declare it.
1742	(components_to_record): Add DEBUG_INFO_P parameter.  Adjust call
1743	to gnat_to_gnu_field and call to self.
1744	(gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
1745	<E_Array_Subtype>: Likewise.
1746	Adjust calls to gnat_to_gnu_field and components_to_record.
1747
17482009-09-16  Robert Dewar  <dewar@adacore.com>
1749
1750	* prj-nmsc.adb: Minor reformatting
1751
17522009-09-16  Ed Schonberg  <schonberg@adacore.com>
1753
1754	* exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
1755	expression is a by-reference type (tagged or inherently limited)
1756	introduce an access type to capture references to the values of each
1757	branch of the conditional.
1758
17592009-09-16  Emmanuel Briot  <briot@adacore.com>
1760
1761	* prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads
1762	(Project_Name_And_Node.Display_Name): new field
1763	The display name of a project (as written in the .gpr file) is now
1764	computed when the project file itself is parsed, not when it is
1765	processed.
1766
17672009-09-16  Thomas Quinot  <quinot@adacore.com>
1768
1769	* freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
1770	intrinsics untouched (to be expanded later on by gigi) if an external
1771	name has been specified.
1772	(Freeze_Entity): Do not generate a default external name for
1773	imported subprograms with convention Intrinsic (so that the above code
1774	can identify the case where an external name has been explicitly
1775	provided).
1776
1777	* s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
1778	replaced by something else due to an existing #define clause.
1779
17802009-09-16  Ed Schonberg  <schonberg@adacore.com>
1781
1782	* sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on
1783	Parameter_Association node, created for the extra actual generated for
1784	an access parameter of a function that dispatches on result, to prevent
1785	double generation of such actuals when the call is rewritten is a
1786	dispatching call.
1787	* exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
1788	* exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
1789	that carry this flag when rewriting the original call as a dispatching
1790	call, after propagating the controlling tag.
1791
17922009-09-16  Vincent Celier  <celier@adacore.com>
1793
1794	* prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
1795	in the source data.
1796	(Check_File): New parameter Source_Dir_Rank, to check if a duplicate
1797	source is allowed.
1798	(Find_Source_Dirs): New parameter Rank to be recorded with the source
1799	directories.
1800	(Search_Directories): Call Check_File with the rank of the directory
1801	* prj.adb (Project_Empty): Add new component Source_Dir_Ranks
1802	(Free): Free also Number_Lists
1803	(Reset): Init also Number_Lists
1804	* prj.ads (Number_List_Table): New dynamic table for lists of numbers
1805	(Source_Data): New component Source_Dir_Rank. Remove component
1806	Known_Order_Of_Source_Dirs, no longer needed.
1807	(Project_Data): New component Source_Dir_Ranks
1808	(Project_Tree_Data): New components Number_Lists
1809
18102009-09-16  Vincent Celier  <celier@adacore.com>
1811
1812	* gprep.adb (Yes_No): New global constant
1813	Unix_Line_Terminators: New global Boolean variable
1814	(Process_One_File): Create the out file with a "Text_Translation=" form
1815	that depends on the use of option -T.
1816	(Scan_Command_Line): Add option -T
1817	(Usage): Add line for option -T
1818
18192009-09-16  Ed Schonberg  <schonberg@adacore.com>
1820
1821	* exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New
1822	predicate that describes a proper subset of
1823	Is_Predefined_Dispatching_Operation and excludes stream operations,
1824	which can be overridden by the user.
1825	* sem_ch6.adb (Create_Extra_Formals): use
1826	Is_Predefined_Internal_Operation, so that stream operations get extra
1827	formals.
1828	* exp_ch6.adb (Prevent double generation of extra actuals in calls to
1829	'Input, which may be expanded twice, first as a function call and then
1830	as a dispatching call.
1831
18322009-09-16  Thomas Quinot  <quinot@adacore.com>
1833
1834	* s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
1835	* g-expect.adb (Set_Up_Child_Communications): Use
1836	System.OS_Constants.Target_OS to determine whether running on Windows.
1837
18382009-09-14  Richard Henderson  <rth@redhat.com>
1839
1840	* gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
1841
18422009-09-14  Eric Botcazou  <ebotcazou@adacore.com>
1843
1844	* exp_dbug.ads (Packed Array Encoding): Document the new encoding for
1845	the unconstrained case.
1846	* gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
1847	the encoding.  Do not give a name to the pointer type to the XUT type.
1848	* gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
1849	for fat pointer types, if any.  Make sure DECL_ARTIFICIAL is cleared
1850	on nodes with DECL_ORIGINAL_TYPE set.
1851	(update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
1852	for fat pointer types.  Make sure DECL_ARTIFICIAL is cleared.
1853
18542009-09-14  Richard Henderson  <rth@redhat.com>
1855
1856	* gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1857	default_init_unwind_resume_libfunc.
1858	* gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use
1859	__builtin_eh_pointer.
1860	* gcc-interface/utils.c (gnat_install_builtins): Update call
1861	to build_common_builtin_nodes.
1862
18632009-09-13  Richard Guenther  <rguenther@suse.de>
1864	    Rafael Avila de Espindola  <espindola@google.com>
1865
1866	* gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables
1867	eh_personality_libfunc and lang_eh_runtime_type.
1868	(LANG_HOOKS_EH_PERSONALITY): Define.
1869	(gnat_eh_personality_decl): New static variable.
1870	(gnat_eh_personality): New static function.
1871	Include gt-ada-misc.h.
1872	* gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
1873	* gcc-interface/config-lang.in (gtfiles): Add misc.c.
1874
18752009-09-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1876
1877	PR ada/18302
1878	* gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT.
1879
18802009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1881
1882	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
1883	flow of control.
1884	Avoid useless work when processing the Treat_As_Volatile flag.
1885
18862009-09-08  Eric Botcazou  <ebotcazou@adacore.com>
1887
1888	* gcc-interface/targtyps.c: Reorder include directives.
1889
18902009-09-07  Laurent GUERBY  <laurent@guerby.net>
1891
1892	* gcc-interface/targtyps.c: Add missing include for tm_p.h.
1893	* gcc-interface/Make-lang.in: Update dependencies.
1894
18952009-09-07  Laurent GUERBY  <laurent@guerby.net>
1896
1897        * make.adb: Add missing documentation for multilib handling.
1898
18992009-09-03  Diego Novillo  <dnovillo@google.com>
1900
1901	* gcc-interface/misc.c (lang_hooks): Remove const qualifier.
1902
19032009-09-02  Richard Henderson  <rth@redhat.com>
1904
1905	* tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
1906
19072009-09-02  Olivier Hainque  <hainque@adacore.com>
1908
1909	* init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
1910	and uc arguments.
1911
19122009-09-02  Olivier Hainque  <hainque@adacore.com>
1913
1914	* gcc-interface/decl.c (cannot_be_superflat_p): Handle
1915	Signed_Integer_Type_Definition Scalar_Ranges.
1916
19172009-09-02  Eric Botcazou  <ebotcazou@adacore.com>
1918
1919	* gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the
1920	SAVE_EXPR built for misaligned arguments.  Remove redundant stuff.
1921	(addressable_p): Return true for more rvalues.
1922
19232009-09-01  Jakub Jelinek  <jakub@redhat.com>
1924
1925	* gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
1926	POINTER_SIZE to HOST_WIDE_INT.
1927
19282009-09-01  Richard Guenther  <rguenther@suse.de>
1929
1930	* gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
1931
19322009-08-25  Eric Botcazou  <ebotcazou@adacore.com>
1933
1934	* gcc-interface/trans.c (call_to_gnu): Tidy.
1935	(gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
1936	non-constant size but the array itself has constant size.
1937	* gcc-interface/utils.c (convert_vms_descriptor64): Fix type
1938	consistency error.
1939	(convert_vms_descriptor32): Likewise.
1940
19412009-08-22  Aurelien Jarno  <aurelien@aurel32.net>
1942
1943	* gcc-interface/Makefile.in: Add Ada support for
1944	GNU/kFreeBSD x86_64.
1945	* system-freebsd-x86_64.ads: New file based on
1946	system-freebsd-x86.ads.
1947
19482009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1949
1950	* gcc-interface/utils.c (convert): In the padded case, do the final
1951	conversion as an unchecked conversion if the underlying types are
1952	array types with variable size.
1953
19542009-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1955
1956	* gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
1957	as visited.
1958	* gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
1959	bounds.
1960	* gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
1961	fields.
1962	(gnat_gimplify_expr) <DECL_EXPR>: New case.
1963
19642009-08-17  Aurelien Jarno  <aurelien@aurel32.net>
1965
1966	* s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant.
1967	(stack_t): New record type.
1968	(sigaltstack): New imported function.
1969	(Alternate_Stack): New imported variable.
1970	(Alternate_Stack_Size): New constant.
1971
19722009-08-17  Vasiliy Fofanov  <fofanov@adacore.com>
1973
1974	* a-calend-vms.adb: Fix typo.
1975
19762009-08-17  Tristan Gingold  <gingold@adacore.com>
1977
1978	* s-taprop-posix.adb: Round up the stack size to avoid failure on
1979	Darwin.
1980
19812009-08-17  Gary Dismukes  <dismukes@adacore.com>
1982
1983	* sem_cat.adb (Validate_Static_Object_Name): Update comment.
1984
19852009-08-17  Vincent Celier  <celier@adacore.com>
1986
1987	* make.adb (Arguments_Collected): Unneeded, removed
1988	(Change_To_Object_Directory): Use Project directly. Add pragma Assert to
1989	ensure caller does not pass in No_Project.
1990	(Compile): Add new parameter Project. Let procedure
1991	Collect_Arguments_And_Compile provide the proper value.
1992
1993	* switch-c.adb: Add documentation for -gnatea and -gnatez
1994
19952009-08-17  Ben Brosgol  <brosgol@adacore.com>
1996
1997	* gnat_ugn.texi: Changed name of package in SAL example, to avoid
1998	clash with Ada 2005 reserved word (interface).
1999
20002009-08-17  Robert Dewar  <dewar@adacore.com>
2001
2002	* a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
2003	a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
2004	a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
2005	(use conditional expressions).
2006
20072009-08-17  Robert Dewar  <dewar@adacore.com>
2008
2009	* make.adb: Add ??? comment
2010	* tbuild.adb: Minor reformatting
2011
20122009-08-17  Thomas Quinot  <quinot@adacore.com>
2013
2014	* exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
2015	Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
2016	Use Tbuild.Make_Temporary to create entity for the temporary.
2017
20182009-08-17  Arnaud Charlet  <charlet@adacore.com>
2019
2020	* make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
2021	and ignore -mieee switch to avoid spawning an extra gcc in this case.
2022
20232009-08-17  Thomas Quinot  <quinot@adacore.com>
2024
2025	* tbuild.adb: Minor reformatting
2026
20272009-08-17  Ed Schonberg  <schonberg@adacore.com>
2028
2029	* exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
2030	exist, as is the case for synchronized types, use the type of the
2031	discriminal in the parameter specification, to prevent a spurious
2032	subtype mismatch in gigi.
2033
20342009-08-17  Robert Dewar  <dewar@adacore.com>
2035
2036	* prj-env.adb: Minor reformatting
2037	* make.adb: Minor reformatting
2038	Comment updates
2039
20402009-08-17  Javier Miranda  <miranda@adacore.com>
2041
2042	* exp_ch7.adb (Wrap_Transient_Expression): Update comments.
2043
20442009-08-17  Emmanuel Briot  <briot@adacore.com>
2045
2046	* prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb
2047	(Processing_Flags.Require_Obj_Dirs): new field, which controls whether
2048	object directories must be present. In the case of gprclean at least,
2049	these are optional (if they do not exist there is nothing to clean)
2050
20512009-08-17  Robert Dewar  <dewar@adacore.com>
2052
2053	* prj-env.adb: Minor reformatting
2054	* sem_ch3.adb: Minor reformatting
2055
20562009-08-17  Hristian Kirtchev  <kirtchev@adacore.com>
2057
2058	* sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
2059	the time zone since VxWorks chose positive values to represent west
2060	time zones and negative for east zones.
2061
20622009-08-17  Ed Schonberg  <schonberg@adacore.com>
2063
2064	* sem_ch3.adb (Access_Definition): Do not create an Itype reference for
2065	an anonymous access type whose designated type is generic.
2066
20672009-08-17  Arnaud Charlet  <charlet@adacore.com>
2068
2069	* comperr.adb (Compiler_Abort): Do not generate a bug box when in
2070	codepeer mode, friendlier.
2071
20722009-08-10  Laurent GUERBY  <laurent@guerby.net>
2073
2074        * make.adb: Handle multilib
2075
20762009-08-10  Vincent Celier  <celier@adacore.com>
2077
2078	* prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
2079	the temporary file name in the error message when the temporary file
2080	cannot be created.
2081
20822009-08-10  Yannick Moy  <moy@adacore.com>
2083
2084	* gnat_ugn.texi: Fix typo
2085
20862009-08-10  Robert Dewar  <dewar@adacore.com>
2087
2088	* exp_ch7.adb: Add ??? comment for last change
2089
20902009-08-10  Vincent Celier  <celier@adacore.com>
2091
2092	* prj-env.adb (Add_To_Buffer): New procedure
2093	(Create_Config_Pragmas_File): Write to temporary file in one shot
2094	(Create_Mapping_File): Ditto
2095	(Set_Ada_Paths): Ditto
2096
20972009-08-10  Vincent Celier  <celier@adacore.com>
2098
2099	PR ada/17566
2100	* xref_lib.adb (Print_Xref): Make sure that there is at least one space
2101	between a declaration name and its type.
2102
21032009-08-07  Javier Miranda  <miranda@adacore.com>
2104
2105	* exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
2106	SCIL node.
2107
21082009-08-07  Robert Dewar  <dewar@adacore.com>
2109
2110	* sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
2111
21122009-08-07  Vincent Celier  <celier@adacore.com>
2113
2114	* gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
2115	specified on the command line and there are switches in the Compiler
2116	package of the project file, use these compilation switches to invoke
2117	the tool.
2118
21192009-08-07  Ben Brosgol  <brosgol@adacore.com>
2120
2121	* gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
2122
21232009-08-07  Ed Schonberg  <schonberg@adacore.com>
2124
2125	* sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
2126	even if not in main unit, to simplify debugging.
2127
21282009-08-07  Arnaud Charlet  <charlet@adacore.com>
2129
2130	* gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
2131	* gcc-interface/Make-lang.in: Update dependencies.
2132
21332009-08-07  Robert Dewar  <dewar@adacore.com>
2134
2135	* types.ads: Minor reformatting
2136	* sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
2137	* frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
2138	Output_Non_Modified_In_Out_Warnings.
2139	* sem_ch13.adb: Remove ??? comment.
2140
21412009-08-07  Vincent Celier  <celier@adacore.com>
2142
2143	* mlib-prj.adb (Build_Library): Include binder generate object file
2144	for SAL when library name is only one character.
2145
21462009-08-07  Thomas Quinot  <quinot@adacore.com>
2147
2148	* targparm.adb: Minor reformatting
2149	* sem.adb: Minor reformatting
2150	* exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
2151
21522009-08-07  Emmanuel Briot  <briot@adacore.com>
2153
2154	* prj-conf.adb: Remove duplicate directory separator in the output when
2155	an object directory does not exist.
2156
21572009-08-07  Robert Dewar  <dewar@adacore.com>
2158
2159	* exp_util.adb: Minor reformatting
2160
21612009-08-07  Vincent Celier  <celier@adacore.com>
2162
2163	* mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
2164	length used).
2165
21662009-08-07  Ed Schonberg  <schonberg@adacore.com>
2167
2168	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
2169	detect non-static private components that will violate restriction
2170	No_Implicit_Heap_Allocation.
2171
21722009-08-07  Ben Brosgol  <brosgol@adacore.com>
2173
2174	* gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
2175
21762009-08-02  Eric Botcazou  <ebotcazou@adacore.com>
2177
2178	* gcc-interface/gigi.h (end_subprog_body): Tweak comment.
2179	* gcc-interface/utils.c (end_subprog_body): Likewise.
2180	* gcc-interface/trans.c (gigi): Likewise.
2181	(gnat_to_gnu): Likewise.
2182
21832009-07-30  Ben Brosgol  <brosgol@adacore.com>
2184
2185	* gnat_ugn.texi: Correct minor texi glitch.
2186
21872009-07-30  Ed Schonberg  <schonberg@adacore.com>
2188
2189	* exp_util.adb (Expand_Subtype_From_Expr): If the type of the
2190	expression has an underlying representation that is an unchecked union,
2191	there is no subtype to build.
2192
21932009-07-30  Robert Dewar  <dewar@adacore.com>
2194
2195	* a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads,
2196	s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb,
2197	sem_ch7.adb, adaint.c: Minor reformatting
2198
21992009-07-29  Javier Miranda  <miranda@adacore.com>
2200
2201	* sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
2202	moved from the expander to the semantic analyzer to allow the
2203	generation of these internal entities when compiling with no code
2204	generation. Required by ASIS.
2205	* sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
2206	* sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
2207	* exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
2208	(Expand_Freeze_Record_Type): Remove call to
2209	Add_Internal_Interface_Entities because this routine is now called at
2210	early stage --when the freezing node is analyzed.
2211
22122009-07-29  Robert Dewar  <dewar@adacore.com>
2213
2214	* exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads,
2215	exp_disp.adb, g-socket.adb: Minor reformatting
2216
22172009-07-29  Ed Schonberg  <schonberg@adacore.com>
2218
2219	* sem_ch7.adb (New_Private_Type): Create class-wide type after other
2220	attributes have been established, so that they are all inherited by the
2221	class-wide type.
2222	* sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
2223	properly named subtypes of class-wide types.
2224
22252009-07-29  Ed Schonberg  <schonberg@adacore.com>
2226
2227	* sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
2228	indicators on user-defined operators.
2229
22302009-07-29  Vadim Godunko  <godunko@adacore.com>
2231
2232	* g-socket.adb (Receive_Vector): Add comment.
2233
22342009-07-29  Javier Miranda  <miranda@adacore.com>
2235
2236	* frontend.adb (Frontend): Code cleanup.
2237	* exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
2238	Rewriten as a procedure because it a new out-mode parameters to
2239	keep up-to-date the controlling tag node in the caller.
2240	(Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
2241	new out-mode parameter to keep up-to-date the controlling tag node in
2242	the caller.
2243	* exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
2244	exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
2245	package Sem_SCIL.
2246	* sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
2247	available in new package Sem_SCIL.
2248	(Next_Non_SCIL_Node): Ditto.
2249	* exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
2250	package Sem_SCIL.
2251	(Expand_Dispatching_Call): Update call to modified Exp_Atags routines
2252	plus complete decoration of SCIL dispatching node.
2253	(Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
2254	* exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new
2255	package Sem_SCIL.
2256	(Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
2257	* exp_ch3.adb (Build_Init_Procedure): Fix comment.
2258	* sem_scil.ads, sem_scil.adb: New files.
2259	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o.
2260	Update dependencies.
2261
22622009-07-28  Robert Dewar  <dewar@adacore.com>
2263
2264	* adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads,
2265	makeutl.adb: Minor reformatting & code reorganization
2266	* sem_ch3.adb: Minor reformatting.
2267	Fix spelling error (constraint for constrain) in error msg.
2268
22692009-07-28  Emmanuel Briot  <briot@adacore.com>
2270
2271	* make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the
2272	global variable that also exists in makeutl.ads, and that some routines
2273	in that package use already.
2274	(Check): Moved part of the code to makeutl.adb for better sharing with
2275	gprbuild.
2276
22772009-07-28  Arnaud Charlet  <charlet@adacore.com>
2278
2279	* gcc-interface/Make-lang.in: Update dependencies.
2280
22812009-07-28  Emmanuel Briot  <briot@adacore.com>
2282
2283	* prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the
2284	importing project does not end up in the list, in the case of extending
2285	projects.
2286	* make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to
2287	makeutl.ads, for better sharing with gprbuild.
2288
22892009-07-28  Arnaud Charlet  <charlet@adacore.com>
2290
2291	* gnat_ugn.texi: Fix typo.
2292
22932009-07-28  Ed Schonberg  <schonberg@adacore.com>
2294
2295	* sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
2296	derivation that renames some discriminants and constrain others.
2297	* exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
2298	prefix is a derived untagged type, convert to the root type to conform
2299	to the signature of the protected operations.
2300
23012009-07-28  Robert Dewar  <dewar@adacore.com>
2302
2303	* sinfo.ads: Update comments.
2304	* exp_attr.adb: Minor reformatting
2305
23062009-07-28  Ed Schonberg  <schonberg@adacore.com>
2307
2308	* sem_aggr.adb (Get_Value): A named association in a record aggregate
2309	should be treated as a modification of the named component, not as a
2310	reference.
2311
23122009-07-28  Quentin Ochem  <ochem@adacore.com>
2313
2314	* prj-tree.ads, prj-tree.adb (Free): Minor editing.
2315	* prj.ads, prj.adb (Image): Ditto.
2316
23172009-07-28  Arnaud Charlet  <charlet@adacore.com>
2318
2319	* frontend.adb: Minor reformatting.
2320	(Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
2321	for efficiency.
2322
23232009-07-28  Bob Duff  <duff@adacore.com>
2324
2325	* exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
2326	'Address to get a pointer to the protected body wrapper.
2327
23282009-07-28  Javier Miranda  <miranda@adacore.com>
2329
2330	* gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
2331	nodes if we are not generating code.
2332	* frontend.adb (Check_SCIL_Node): New subprogram. Used to check
2333	attribute SCIL_Related_Node of SCIL dispatching nodes.
2334	(Check_SCIL_Nodes): New instantiation of Traverse_Proc.
2335	* sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
2336	(SCIL_Nkind,Set_SCIL_Nkind): Removed.
2337	(SCIL_Entity): Update documentation.
2338	(SCIL_Related_Node): Update documentation.
2339	(SCIL_Controlling_Tag): New attribute.
2340	(SCIL_Target_Prim): Update documentation.
2341	(N_Null_Statement): Remove attributes associated with SCIL nodes.
2342	(N_SCIL_Dispatch_Table_Object_Init): New node.
2343	(N_SCIL_Dispatch_Table_Tag_Init): New node.
2344	(N_SCIL_Dispatching_Call): New node.
2345	(N_SCIL_Tag_Init): New node.
2346	* sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
2347	(SCIL_Nkind,Set_SCIL_Nkind): Removed.
2348	(SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
2349	(SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
2350	(SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
2351	(SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
2352	N_SCIL_Dispatching_Call nodes.
2353	* sem.adb (Analyze): No need to analyze SCIL nodes.
2354	* sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram
2355	(Next_Non_SCIL_Node): New subprogram
2356	* sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
2357	dispatching nodes.
2358	* sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
2359	dispatching node.
2360	* sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
2361	dispatching node.
2362	* exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
2363	null statement nodes.
2364	(Build_Init_Procedure): Generate new SCIL node.
2365	* exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
2366	node.
2367	* exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
2368	they are currently implemented as special N_Null_Statement nodes.
2369	* exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
2370	procedure call then check if some SCIL node references it and needs
2371	readjustment.
2372	* exp_disp.ads (SCIL_Node_Kind): Removed.
2373	(Adjust_SCIL_Node): New subprogram.
2374	(Find_SCIL_Node): New subprogram.
2375	(Get_SCIL_Node_Kind): Removed.
2376	(New_SCIL_Node): Removed.
2377	* exp_disp.adb (Adjust_SCIL_Node): New subprogram
2378	(Expand_Dispatching_Call): Generate new SCIL dispatching node including
2379	decoration of its new controlling_tag attribute.
2380	(Get_SCIL_Node_Kind): Removed.
2381	(Find_SCIL_Node): New subprogram.
2382	(Make_Secondary_DT): Generate new SCIL nodes.
2383	(Make_Tags): Generate new SCIL nodes.
2384	(New_SCIL_Node): Removed.
2385	* exp_util.adb (Insert_Actions): Handle SCIL nodes.
2386	(Remove_Side_Effects): Check if relocated nodes require readjustment
2387	of some SCIL dispatching node.
2388	* gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
2389
23902009-07-28  Robert Dewar  <dewar@adacore.com>
2391
2392	* prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting
2393
23942009-07-28  Sergey Rybin  <rybin@adacore.com>
2395
2396	* gnat_ugn.texi: Add section about gnatcheck rule exemption.
2397
23982009-07-28  Vadim Godunko  <godunko@adacore.com>
2399
2400	* s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
2401	not defined by limits.h.
2402
2403	* g-socket.adb (Receive_Vector): Use minimum length from user's vector
2404	length and maximum supported length of data vector.
2405
24062009-07-28  Gary Dismukes  <dismukes@adacore.com>
2407
2408	* usage.adb: Inhibit printing gcc-specific switches for AAMP target.
2409	* make.adb: Call Get_Target_Parameters before calling Usage so that
2410	VM_Target and AAMP_On_Target will be set.
2411
24122009-07-28  Olivier Hainque  <hainque@adacore.com>
2413
2414	* g-ssinty.ads: Remove, pointless and just confusing at this stage.
2415	* gnat_rm.texi: Remove documentation.
2416	* g-sse.ads: Minor reorg along the way.
2417	* gcc-interface/Makefile.in: Remove processing for g-ssinty.
2418	* g-ssvety.ads: Minor comment updates.
2419
24202009-07-28  Sergey Rybin  <rybin@adacore.com>
2421
2422	* gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
2423	for the new format of the report file.
2424
24252009-07-28  Sergey Rybin  <rybin@adacore.com>
2426
2427	* gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
2428
24292009-07-28  Pascal Obry  <obry@adacore.com>
2430
2431	* g-expect.adb: Record standard handles only on Windows.
2432
24332009-07-27  Emmanuel Briot  <briot@adacore.com>
2434
2435	* prj.ads, prj-nmsc.adb (Override_Kind): add debug trace
2436	Add comments.
2437
24382009-07-27  Sergey Rybin  <rybin@adacore.com>
2439
2440	* gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
2441	rule definition the paragraph that explains that generic functions and
2442	functions from generic packages are not checked.
2443
24442009-07-27  Gary Dismukes  <dismukes@adacore.com>
2445
2446	* sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
2447	procedure when determining whether to set the Overridden_Operation
2448	field of a subprogram overriding an inherited subprogram.
2449
24502009-07-27  Robert Dewar  <dewar@adacore.com>
2451
2452	* a-except.adb, a-except-2005.ads: Minor reformatting
2453
24542009-07-27  Robert Dewar  <dewar@adacore.com>
2455
2456	* sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid
2457
24582009-07-27  Javier Miranda  <miranda@adacore.com>
2459
2460	* exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
2461	add some documentation explaining why the SCIL nodes must be generated
2462	at that point.
2463
24642009-07-27  Olivier Hainque  <hainque@adacore.com>
2465
2466	* a-except.adb: Bind to __builtin_longjmp directly.
2467	* a-except-2005.ads: Provide direct binding to __builtin_longjmp
2468	for sjlj variants.
2469	* a-exexpr.adb: Use it.
2470	* a-except-xi.adb: Likewise.
2471	* raise.c (_gnat_builtin_longjmp): Remove and update comments.
2472	* raise.h (_gnat_builtin_longjmp): Remove declaration.
2473
24742009-07-27  Ed Schonberg  <schonberg@adacore.com>
2475
2476	* sem_eval.adb (Compile_Time_Compare): More precise handling of
2477	Known_Valid flag, to prevent spurious range deductions when scalar
2478	variables may be uninitialized. New predicate Is_Known_Valid_Operand.
2479
24802009-07-27  Robert Dewar  <dewar@adacore.com>
2481
2482	* gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting
2483	and code clean up.
2484
24852009-07-27  Ed Schonberg  <schonberg@adacore.com>
2486
2487	* exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
2488	Ravenscar mode. Error has already been posted on specification.
2489
2490	* sem.adb: Further code clean ups.
2491
24922009-07-27  Robert Dewar  <dewar@adacore.com>
2493
2494	* g-sse.ads: Minor reformatting
2495
24962009-07-27  Arnaud Charlet  <charlet@adacore.com>
2497
2498	* xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
2499	alternate ali extension.
2500	* xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
2501	account Osint.ALI_Suffix.
2502	* osint.ads (ALI_Suffix): Make visible.
2503	* gnatfind.adb (Gnatfind): Add support for --ext= switch.
2504	* gnat_ugn.texi: Document new gnatfind --ext= switch.
2505
25062009-07-27  Ed Schonberg  <schonberg@adacore.com>
2507
2508	* sem.adb (Walk_Library_Items): If main unit is an instance body, do
2509	its spec first.
2510
25112009-07-27  Javier Miranda  <miranda@adacore.com>
2512
2513	* exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
2514	the dispatching call has is expanded.
2515
25162009-07-27  Ed Schonberg  <schonberg@adacore.com>
2517
2518	* exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
2519	Is_Known_Valid flag on the temporary created for the value whose
2520	validity is being checked.
2521
2522	* sem.adb (Do_Unit_And_Dependents): Further code reorganization to
2523	handle properly main units that are package specifications.
2524
25252009-07-27  Geert Bosch  <bosch@adacore.com>
2526
2527	* einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment
2528	* sem_aux.ads: Fix typo in comment
2529	* sem_util.ads (Is_LHS): Adjust comment to match body
2530
25312009-07-27  Sergey Rybin  <rybin@adacore.com>
2532
2533	* gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
2534	rule definition.
2535
25362009-07-27  Olivier Hainque  <hainque@adacore.com>
2537
2538	* g-sse.ads, g-ssvety.ads: Update comments.
2539
25402009-07-27  Sergey Rybin  <rybin@adacore.com>
2541
2542	* gnat_ugn.texi: Update gnatcheck doc.
2543
25442009-07-27  Arnaud Charlet  <charlet@adacore.com>
2545
2546	* lib-xref.ads: Allocate/document 'o' char for use by references to
2547	spark 'own' variables.
2548
25492009-07-27  Gary Dismukes  <dismukes@adacore.com>
2550
2551	* sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
2552	objects, since these are implicitly referenced by the return statement.
2553	* sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
2554	Is_Return_Object in this procedure, as return objects will never make
2555	it here since they're now marked as Referenced.
2556
25572009-07-27  Robert Dewar  <dewar@adacore.com>
2558
2559	* exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting
2560
25612009-07-27  Robert Dewar  <dewar@adacore.com>
2562
2563	* exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
2564
2565	* sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
2566
25672009-07-27  Geert Bosch  <bosch@adacore.com>
2568
2569	* checks.adb (Find_Check): Minor streamlining of logic.
2570	* gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
2571	* debug.adb: Document -gnatdX debug flag
2572	* exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
2573	list information about reads from scalar entities.
2574	Also slightly simplify condition for Expand_Current_Value.
2575	* sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
2576	functions.
2577
25782009-07-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2579
2580	PR bootstrap/40578
2581	* adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
2582	(GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ...
2583	to these.
2584	(__gnat_stat): Adjust reference to STAT in prototype.
2585	* adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
2586	__gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
2587	__gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
2588	__gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
2589	__gnat_is_writable_file, __gnat_is_executable_file,
2590	__gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
2591	__gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
2592	__gnat_copy_attribs): Adjust all references to the above.
2593	* cstreams.c (__gnat_is_regular_file_fd): Likewise.
2594
25952009-07-23  Ed Schonberg  <schonberg@adacore.com>
2596
2597	* sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
2598	done at the same time, guard against listing a body more than once.
2599
26002009-07-23  Robert Dewar  <dewar@adacore.com>
2601
2602	* exp_ch6.adb: Minor reformatting
2603
26042009-07-23  Ed Schonberg  <schonberg@adacore.com>
2605
2606	* sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
2607	static expression is known valid.
2608	* sem_eval.adb (Compile_Time_Compare): Handle properly non-static
2609	operands of a subtype with a single value.
2610
26112009-07-23  Ed Schonberg  <schonberg@adacore.com>
2612
2613	* sem.adb (Do_Units_And_Dependents): Process bodies only for units that
2614	are in the context of the main unit body.
2615
26162009-07-23  Sergey Rybin  <rybin@adacore.com>
2617
2618	* gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
2619	misprint in rule description.
2620
26212009-07-23  Gary Dismukes  <dismukes@adacore.com>
2622
2623	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
2624	test that the object declaration is within an extended return statement
2625	with direct test of whether the declared object associated with the
2626	build-in-place call is a return object, since the enclosing function
2627	might not even be a build-in-place function.
2628
26292009-07-23  Robert Dewar  <dewar@adacore.com>
2630
2631	* freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
2632	Minor code reorganization
2633
26342009-07-23  Arnaud Charlet  <charlet@adacore.com>
2635
2636	* sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
2637	for static analysis, only packed arrays are causing troubles.
2638
26392009-07-23  Gary Dismukes  <dismukes@adacore.com>
2640
2641	* sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
2642	ancestor part is a call to a limited function with an unconstrained
2643	result subtype unless the aggregate has a null extension type.
2644	* sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
2645	the parent type declaration to avoid blowups on subtype cases.
2646
26472009-07-23  Robert Dewar  <dewar@adacore.com>
2648
2649	* par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
2650	comma.
2651
2652	* sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
2653
2654	* s-regexp.adb: Minor reformatting
2655	* scos.ads: Minor reformatting.
2656
26572009-07-23  Arnaud Charlet  <charlet@adacore.com>
2658
2659	* freeze.adb (Set_Small_Size): Remove extra space for consistency with
2660	other similar messages.
2661	* sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
2662	messages/implicit packing in CodePeer mode.
2663	(Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
2664	* errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
2665	CodePeer mode.
2666
26672009-07-23  Pascal Obry  <obry@adacore.com>
2668
2669	* prj-nmsc.adb: Fix spec/body naming extension on case insensitive
2670	systems.
2671
26722009-07-23  Robert Dewar  <dewar@adacore.com>
2673
2674	* einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment.
2675	Minor reformatting.
2676
26772009-07-23  Yannick Moy  <moy@adacore.com>
2678
2679	* s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
2680	pattern.
2681	(Raise_Exception_If_No_More_Chars): Remove extra blank in exception
2682	string.
2683	(Raise_Exception): Ditto.
2684
26852009-07-23  Olivier Hainque  <hainque@adacore.com>
2686
2687	* g-sse.ads: Simplify comment.
2688
26892009-07-23  Olivier Hainque  <hainque@adacore.com>
2690
2691	* g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize
2692	low level internal type definitions for distinct higher level
2693	binding development activities (user type definitions and
2694	operations).
2695	* gnat_rm.texi: Document it.
2696	* g-ssvety.ads: Use it.
2697	* gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add
2698	g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS.
2699	* gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
2700	for the "may_alias" attribute.
2701
27022009-07-23  Thomas Quinot  <quinot@adacore.com>
2703
2704	* scos.ads: Minor typo fix
2705
2706	* gcc-interface/decl.c (validate_alignment): For the case of an
2707	implicit array base type, look for alignment clause on first subtype.
2708
27092009-07-23  Robert Dewar  <dewar@adacore.com>
2710
2711	* gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
2712	with tagged parent if tagged parent is fully repped.
2713
27142009-07-23  Ed Schonberg  <schonberg@adacore.com>
2715
2716	* sem.adb (Walk_Library_Units): Handle properly the case where a unit
2717	in the context depends on the spec of the main unit, by delaying
2718	processing of the main unit body until all other units have been
2719	processed.
2720
27212009-07-23  Arnaud Charlet  <charlet@adacore.com>
2722
2723	* a-convec.adb: Add comments about suspicious/subtle code.
2724
27252009-07-23  Ed Schonberg  <schonberg@adacore.com>
2726
2727	* einfo.ads: Document use of Alias in private overriding
2728
27292009-07-23  Thomas Quinot  <quinot@adacore.com>
2730
2731	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
2732	an array type, propagate alignment from first subtype to implicit base
2733	type so that other subtypes (such as the itypes for aggregates of the
2734	type) also receive the expected alignment.
2735
2736	* g-comlin.ads: Minor documentation clarification/rewording.
2737	* scos.ads: Minor comments update.
2738	* lib-writ.ads: Minor reformatting
2739
27402009-07-23  Gary Dismukes  <dismukes@adacore.com>
2741
2742	* exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
2743	of a class-wide interface type that is a return object of a
2744	build-in-place function, bypass the interface-related expansions into
2745	renamings with displacement conversions, etc.
2746	* exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
2747	for the case where a renaming occurs in a build-in-place context, to
2748	assert that the bypassing of the build-in-place treatment only occurs
2749	in the case of a renaming that is an expansion of a return expression
2750	that is itself a build-in-place function call.
2751
27522009-07-23  Ed Schonberg  <schonberg@adacore.com>
2753
2754	* sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
2755	valid candidate interpretation in a prefixed view if it is hidden, but
2756	overrides an inherited operation declared in the visible part.
2757
27582009-07-23  Robert Dewar  <dewar@adacore.com>
2759
2760	* exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2761	division operands to 64-bit at all in any circumstances.
2762
27632009-07-23  Robert Dewar  <dewar@adacore.com>
2764
2765	* exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
2766	checking ranges for mod/rem to see if conditional jump will be
2767	generated.
2768	(Analyze_N_Op_Rem): Don't try to check actual lower bounds for
2769	generating special -1 test for rem, generate it whenever both
2770	operands can be negative (match circuit in Sem_Res).
2771	(Analyze_N_Op_Rem): Don't go to base type, no longer needed and
2772	destroys memory of positive range.
2773	* sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
2774	checking ranges for mod/rem to see if conditional jump will be generated
2775
27762009-07-23  Ed Schonberg  <schonberg@adacore.com>
2777
2778	* exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
2779	scalar components has non-static bounds, the equivalent aggregate
2780	cannot be built, even if the expression is static, because range checks
2781	will be generated.
2782
27832009-07-23  Robert Dewar  <dewar@adacore.com>
2784
2785	* exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
2786	division operands to 64-bit inside a conversion if 64-bit division not
2787	available.
2788
27892009-07-23  Sergey Rybin  <rybin@adacore.com>
2790
2791	* gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
2792
27932009-07-23  Javier Miranda  <miranda@adacore.com>
2794
2795	* sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
2796	(Entity/Set_Entity): not available in N_Null_Statement nodes
2797	(Is_Scil_Node): renamed as Is_SCIL_Node
2798	(Scil_Nkind): renamed as SCIL_Nkind
2799	(Scil_Related_Node): renamed as SCIL_Related_Node
2800	(Scil_Target_Prim): renamed as SCIL_Target_Prim
2801	(Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
2802	(Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
2803	(Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
2804	Update documentation
2805	* exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind
2806	(Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2807	(New_Scil_Node): Renamed as New_SCIL_Node
2808	* exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
2809	(Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
2810	(New_Scil_Node): Renamed as New_SCIL_Node
2811	* exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
2812
28132009-07-23  Robert Dewar  <dewar@adacore.com>
2814
2815	* sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
2816	* snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma
2817	* einfo.adb: Minor reformatting
2818
28192009-07-23  Robert Dewar  <dewar@adacore.com>
2820
2821	* checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
2822	cross-referencing the new related code in
2823	Exp_Ch4.Expand_N_Type_Conversion.
2824	* exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
2825
2826	* exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting.
2827	Add comment.
2828
28292009-07-23  Javier Miranda  <miranda@adacore.com>
2830
2831	* sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
2832	Scil_Target_Prim, N_Has_Entity): Add missing documentation.
2833	* exp_disp.ads (Scil_Node_Kind): Ditto.
2834	* exp_disp.adb (Make_DT, Make_Tags): Ditto.
2835	* exp_ch3.adb (Build_Init_Procedure): Ditto.
2836
28372009-07-23  Javier Miranda  <miranda@adacore.com>
2838
2839	* einfo.adb (Component_Type): Add missing assertion.
2840	* sem_res.adb (Resolve_Call): Ensure proper kind of entity before
2841	reading attribute Component_Size.
2842	* exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
2843	before reading attributes Component_Size and Component_Type.
2844	* exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
2845	before reading attribute Component_Type.
2846
28472009-07-23  Olivier Hainque  <hainque@adacore.com>
2848
2849	* gnat_rm.texi: Document the GNAT.SSE units.
2850
28512009-07-23  Ed Schonberg  <schonberg@adacore.com>
2852
2853	* sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
2854	not null return if it appears on a subunit.
2855
28562009-07-23  Robert Dewar  <dewar@adacore.com>
2857
2858	* exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
2859	check right away so it does not get skipped for early returns, e.g.
2860	array assignments.
2861	(Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
2862	left-side unless we really know the value is valid.
2863
2864	* errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor
2865	reformatting. Minor code reorganization. Add comments.
2866
28672009-07-23  Robert Dewar  <dewar@adacore.com>
2868
2869	* get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
2870	complex condition.
2871
28722009-07-23  Gary Dismukes  <dismukes@adacore.com>
2873
2874	* sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
2875	with test of coverage, to allow specific type objects in extended
2876	returns of class-wide functions. Remove now-unnecessary special-case
2877	tests that allowed this in certain cases of expanded extended returns.
2878
28792009-07-23  Javier Miranda  <miranda@adacore.com>
2880
2881	* sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
2882	N_Null_Statements (for SCIL nodes).
2883	(Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
2884	(Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
2885	(Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
2886	nodes).
2887	(Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
2888	* exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
2889	associated with dispatching call.
2890	(Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
2891	(Make_DT, Make_Tags): Add generation of SCIL nodes associated with
2892	initialization of dispatch tables and initialization of tags.
2893	(New_Scil_Node): New function that creates a new SCIL node.
2894	(Build_Init_Procedure): Add generation of SCIL node associated with the
2895	initialization of tags done in the IP subprogram.
2896
28972009-07-23  Ed Schonberg  <schonberg@adacore.com>
2898
2899	* errout.adb (Error_Msg_NEL): If the entity in the initial message has
2900	Warnings_Off, do not emit continuation messages.
2901
2902	* sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
2903	spec.
2904
29052009-07-23  Emmanuel Briot  <briot@adacore.com>
2906
2907	* ali.adb: Minor comment update
2908
29092009-07-23  Vasiliy Fofanov  <fofanov@adacore.com>
2910
2911	* s-win32.ads (HANDLE): Define to be the same size as address type.
2912	Fix copyright.
2913
29142009-07-23  Olivier Hainque  <hainque@adacore.com>
2915
2916	* g-sse.ads: New file. Root of the SSE facilities trees, with
2917	general description and common declarations.
2918	* g-ssvety.ads: New file. Expose user level SSE vector types.
2919	* impunit.adb (Non_Imp_File_Names_95): Register new units.
2920	* gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
2921	EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
2922
29232009-07-23  Ben Brosgol  <brosgol@adacore.com>
2924
2925	* gnat_ugn.texi: Wordsmithing.
2926
29272009-07-23  Arnaud Charlet  <charlet@adacore.com>
2928
2929	* prj-conf.ads, prj-conf.adb: Switch to GPLv3.
2930
29312009-07-22  Eric Botcazou  <ebotcazou@adacore.com>
2932
2933	* exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
2934	they are already of the base type of the index.
2935
29362009-07-22  Brett Porter  <porter@adacore.com>
2937
2938	* sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
2939
29402009-07-22  Robert Dewar  <dewar@adacore.com>
2941
2942	* vms_data.ads: Add entry for SCO_OUTPUT (-gnateS)
2943	* gnat_ugn.texi: Add documentation for -gnateS switch
2944	* ug_words: Add entry for -gnateS /SCO_OUTPUT
2945	* gcc-interface/Make-lang.in: Update dependencies.
2946
2947	* get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb,
2948	par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial
2949	complete information for SCO input/output.
2950
29512009-07-22  Sergey Rybin  <rybin@adacore.com>
2952
2953	* gnat_ugn.texi: Update doc for some gnatcheck rules.
2954
29552009-07-22  Robert Dewar  <dewar@adacore.com>
2956
2957	* par_sco.adb, par_sco.ads (pscos): New debug routine to output
2958	contents of SCO tables.
2959	* put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads,
2960	scos.adb, scos.ads: New files.
2961	* gcc-interface/Make-lang.in: Update dependencies.
2962
2963	* lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment
2964	fixes and reformatting.
2965
29662009-07-22  Robert Dewar  <dewar@adacore.com>
2967
2968	* g-socket.ads: Minor reformatting
2969
29702009-07-22  Gary Dismukes  <dismukes@adacore.com>
2971
2972	* sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
2973	include the entity kind for following cases of unreferenced entities:
2974	E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
2975
29762009-07-22  Ed Falis  <falis@adacore.com>
2977
2978	* s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop
2979	with taskSuspend.
2980
29812009-07-22  Arnaud Charlet  <charlet@adacore.com>
2982
2983	* adadecode.c: Make this file compilable outside of GCC.
2984
29852009-07-22  Thomas Quinot  <quinot@adacore.com>
2986
2987	* g-socket.adb, g-socket.ads (Check_Selector): Make sure that
2988	(partially) default-initialized socket sets are handled properly by
2989	clearing their Set component.
2990
29912009-07-22  Bob Duff  <duff@adacore.com>
2992
2993	* gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
2994
29952009-07-22  Robert Dewar  <dewar@adacore.com>
2996
2997	* gnat_ugn.texi: Minor reformatting
2998
29992009-07-22  Ed Schonberg  <schonberg@adacore.com>
3000
3001	* errout.adb (Error_Msg): A style message within an instantiation
3002	should not be labelled as an error.
3003
30042009-07-22  Ed Schonberg  <schonberg@adacore.com>
3005
3006	* freeze.adb (Freeze_Entity): Do not generate extra formal for function
3007	in initialization expression if function does not have convention Ada.
3008
30092009-07-22  Sergey Rybin  <rybin@adacore.com>
3010
3011	* gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option
3012	'--separate-label' to control label layout.
3013
30142009-07-22  Robert Dewar  <dewar@adacore.com>
3015
3016	* exp_tss.ads, sem_eval.adb: Minor reformatting
3017
30182009-07-22  Bob Duff  <duff@adacore.com>
3019
3020	* exp_dist.adb, exp_dist.ads: Update comments.
3021
30222009-07-22  Brett Porter  <porter@adacore.com>
3023
3024	* init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
3025	FPSCR.
3026	* sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
3027
30282009-07-22  Gary Dismukes  <dismukes@adacore.com>
3029
3030	* exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
3031	exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
3032	Minor reformatting.
3033	* sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
3034	used poor terminology.
3035
30362009-07-22  Robert Dewar  <dewar@adacore.com>
3037
3038	* freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
3039	* sem_eval.adb, exp_tss.adb: Minor comment update.
3040	* stylesw.adb: Code clean up.
3041
30422009-07-22  Ed Schonberg  <schonberg@adacore.com>
3043
3044	* freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
3045	component size is an exact number of bytes, an array type can have a
3046	size clause that forces packing even though the array type itself is
3047	not bit-packed.
3048
30492009-07-22  Thomas Quinot  <quinot@adacore.com>
3050
3051	* sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
3052	if there is a previous entity with the same name in the scope, ignore
3053	it if it is the renaming declaration for a generic package introduced
3054	in instances.
3055
30562009-07-22  Nicolas Roche  <roche@adacore.com>
3057
3058	* seh_init.c: use RtlAddFunctionTable to register our SEH exception
3059	handler on x86_64 windows.
3060
30612009-07-22  Arnaud Charlet  <charlet@adacore.com>
3062
3063	* sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
3064	false positives in CodePeer, so ignore this pragma in this mode.
3065
30662009-07-22  Thomas Quinot  <quinot@adacore.com>
3067
3068	* sem_util.adb, sem_ch10.adb: Minor reformatting
3069
3070	* g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
3071	special handling for the case of no data received and Item'First =
3072	Stream_Element_Offset'First.
3073	(Last_Index): New subprogram factoring the above special handling
3074	over the various locations where it is required.
3075
30762009-07-22  Arnaud Charlet  <charlet@adacore.com>
3077
3078	* gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
3079	checks in CodePeer_Mode.
3080	* gcc-interface/Make-lang.in: Update dependencies.
3081
30822009-07-22  Ed Schonberg  <schonberg@adacore.com>
3083
3084	* sem_aggr.adb: Improve error message.
3085
3086	* sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
3087	of an address representation clause.
3088	* freeze.adb (Freeze_Static_Object): An local imported object is legal
3089	if it has an address clause.
3090
30912009-07-22  Thomas Quinot  <quinot@adacore.com>
3092
3093	* sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
3094	expression to insert an elab check using a conditional expression, be
3095	sure to carry the original list of interpretations to the new location.
3096
30972009-07-22  Gary Dismukes  <dismukes@adacore.com>
3098
3099	* gnat1drv.adb: Fix spelling error.
3100
31012009-07-22  Javier Miranda  <miranda@adacore.com>
3102
3103	* sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram
3104	at the library level and fix a hidden bug in its implementation: its
3105	functionality for renaming objects was broken because
3106	N_Object_Renaming_Declarations nodes are not a subclass of
3107	N_Declaration nodes (as documented in sinfo.ads).
3108	* sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
3109	check nodes that are actuals of generic instantiations.
3110
31112009-07-22  Ed Schonberg  <schonberg@adacore.com>
3112
3113	* sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the
3114	context of a compilation unit is being analyzed. Used to detect
3115	circularities created by with_clauses that are not detected by the
3116	loading machinery.
3117	* sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
3118	analyzing the context of the current compilation unit, to detect
3119	possible circularities created by with_clauses.
3120
31212009-07-22  Thomas Quinot  <quinot@adacore.com>
3122
3123	* sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
3124
31252009-07-22  Robert Dewar  <dewar@adacore.com>
3126
3127	* sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
3128	* style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New
3129	procedure.
3130	* usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch
3131	* gnat_ugn.texi: Add documentation of -gnatyB
3132	* vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
3133
31342009-07-22  Robert Dewar  <dewar@adacore.com>
3135
3136	* s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
3137	make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
3138	s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
3139	s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
3140	errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
3141	a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
3142	s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
3143	a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
3144	erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
3145	obey short-circuit style rule.
3146
31472009-07-20  Bob Duff  <duff@adacore.com>
3148
3149	* sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
3150	instead of "and", because otherwise Parent_Last_Bit is read
3151	uninitialized in the case where it's not a tagged type, or the tagged
3152	parent does not have a complete rep clause.
3153
31542009-07-20  Robert Dewar  <dewar@adacore.com>
3155
3156	* stylesw.ads: Minor documentation change.
3157
3158	* types.ads: Minor reformatting
3159
31602009-07-20  Javier Miranda  <miranda@adacore.com>
3161
3162	* exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of
3163	generating the tag checks associated with dispatching calls.
3164	* exp_disp.adb (Apply_Access_Checks): New subprogram.
3165	(New_Value): This routine was previously local to expand dispatching
3166	calls but it is now used also by Apply_Access_Checks.
3167	(Expand_Dispatching_Calls): Cleanup code because the functionality of
3168	tag checks is now provided by Apply_Access_Checks.
3169	* exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
3170	case of dispatching calls.
3171
31722009-07-20  Arnaud Charlet  <charlet@adacore.com>
3173
3174	* gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
3175	CodePeer_Mode.
3176
31772009-07-20  Gary Dismukes  <dismukes@adacore.com>
3178
3179	* exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
3180	for VMS, only rewrite the first component of the associated exception's
3181	aggregate init (as 'V'), and eliminate the bogus rewrites of the second
3182	and third components  that were being replaced with 'M' and 'S'.
3183
31842009-07-20  Arnaud Charlet  <charlet@adacore.com>
3185
3186	* gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
3187	Also do not generate error when parsing a spec in CodePeer mode.
3188
31892009-07-20  Javier Miranda  <miranda@adacore.com>
3190
3191	* checks.adb (Apply_Access_Check): Avoid checks on availability of
3192	runtime function Offset_To_Top_Ptr when compiling with no tagged
3193	types expansion.
3194	* exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
3195	adding code to the init proc when compiling for VM backends.
3196
31972009-07-20  Vincent Celier  <celier@adacore.com>
3198
3199	* switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into
3200	account switches -gnatw.?
3201
32022009-07-20  Thomas Quinot  <quinot@adacore.com>
3203
3204	* sem_dist.adb, exp_dist.adb: Minor reformatting
3205
3206	* Make-generated.in: New file.
3207
3208	* gcc-interface/Make-lang.in: Use Make-generated.in fragment.
3209
32102009-07-20  Javier Miranda  <miranda@adacore.com>
3211
3212	* sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
3213	subprogram.
3214	* sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
3215	dynamically tagged expression.
3216	* sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
3217	factorizes code.
3218	* sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
3219	* sem_ch8.adb (Analyze_Object_Renaming): Ditto.
3220
32212009-07-20  Arnaud Charlet  <charlet@adacore.com>
3222
3223	* gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
3224	CodePeer_Mode is set, to benefit from full front-end expansion
3225	(e.g. generics).
3226
32272009-07-20  Ed Schonberg  <schonberg@adacore.com>
3228
3229	* sem_res.adb: Add guard.
3230
3231	* exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
3232	for possible attribute definition of External_Tag, in case clause
3233	appears in the private part of a package.
3234
32352009-07-20  Jerome Guitton  <guitton@adacore.com>
3236
3237	* gcc-interface/Makefile.in: cleanup powerpc linux target pairs.
3238
32392009-07-20  Vadim Godunko  <godunko@adacore.com>
3240
3241	* a-coorma.adb: Minor reformatting.
3242
32432009-07-20  Ed Schonberg  <schonberg@adacore.com>
3244
3245	* sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
3246	access return types.
3247	* sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
3248	provide an itype reference to gigi to force elaboration of the subtype
3249	at the proper point.
3250
32512009-07-20  Tristan Gingold  <gingold@adacore.com>
3252
3253	* g-expect.adb: Avoid closeing already closed handle.
3254
32552009-07-20  Robert Dewar  <dewar@adacore.com>
3256
3257	* sprint.adb (Write_Subprogram_Name): New procedure to output
3258	subprogram name with possible preceding $ (replaces
3259	Note_Implicit_Run_Time_Call).
3260
32612009-07-20  Robert Dewar  <dewar@adacore.com>
3262
3263	* vms_data.ads: Minor reformatting
3264
3265	* einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype,
3266	applies to base type.
3267	(Parent_Subtype): Now allowed on record subtype, applies to base type
3268	* exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
3269	for case of fully repped tagged type.
3270	(Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
3271	tag save/restore for fully repped tagged type case.
3272	* exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
3273	* fe.h (Is_Fully_Repped_Tagged_Type): New function
3274	* sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
3275	overlap of tagged type components with parent type if parent type is
3276	fully repped.
3277	* sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag
3278
3279	* sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
3280	comparisons.
3281	(Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
3282	(Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
3283
3284	* gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
3285	logical operators (AND/OR/XOR), not comparison operators.
3286
3287	* sprint.ads: Minor reformatting
3288
32892009-07-20  Ed Schonberg  <schonberg@adacore.com>
3290
3291	* sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
3292	intrinsics, check that argument is a string literal, rather than
3293	checking for staticness.
3294
32952009-07-20  Robert Dewar  <dewar@adacore.com>
3296
3297	* sem_ch13.adb: Minor reformatting
3298
3299	* einfo.ads: Minor reformatting
3300	Component_Bit_Offset is no longer considered obsolescent
3301
33022009-07-20  Nicolas Roche  <roche@adacore.com>
3303
3304	* a-calend.adb: Redefine time_t as signed integer with same size as
3305	Address type.
3306	* s-os_lib.ads: Redefine OS_Time as signed integer with same size as
3307	Address type
3308	* adaint.h: On Windows 64bits declare OS_Time as long long instead of
3309	long
3310
33112009-07-20  Javier Miranda  <miranda@adacore.com>
3312
3313	* exp_tss.adb (Init_Proc): Add missing support for non-default C++
3314	constructors that have anonymous access type formals.
3315
3316	* sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
3317	class-wide arguments in case of imported C++ subprograms.
3318
3319	* exp_ch3.adb (Build_Initialization_Call): Add assertion.
3320
33212009-07-20  Sergey Rybin  <rybin@adacore.com>
3322
3323	* vms_data.ads: Update qualifiers.
3324
33252009-07-20  Robert Dewar  <dewar@adacore.com>
3326
3327	* einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
3328	reformatting
3329
33302009-07-17  Richard Guenther  <rguenther@suse.de>
3331
3332	PR c/40401
3333	* gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
3334	state.  Remove unused parameter.
3335	(gnat_gimplify_function): Do not gimplify here.
3336	Fold into its only caller and remove.
3337	(gnat_builtin_function): Adjust for end_subprog_body signature change.
3338	(gnat_write_global_declarations): Also finalize the CU.
3339	* gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
3340	* gcc-interface/trans.c (gigi): Revert to pre-tuples state.
3341	(Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
3342	change.
3343	* gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
3344
33452009-07-15  Arnaud Charlet  <charlet@adacore.com>
3346
3347	* gcc-interface/Make-lang.in: Update dependencies
3348
3349	* gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai
3350
33512009-07-15  Robert Dewar  <dewar@adacore.com>
3352
3353	* par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
3354	N_Label. Remove SCO table entry for entry point (not used).
3355
3356	* par_sco.ads: Remove SCO entry point type (not used)
3357
3358	* switch.adb: Minor code clean up.
3359
33602009-07-15  Eric Botcazou  <ebotcazou@adacore.com>
3361
3362	* exp_dbug.ads (Base Record Types): Document enhanced encoding.
3363
33642009-07-15  Thomas Quinot  <quinot@adacore.com>
3365
3366	* gnatls.adb: Minor reformatting
3367
3368	* gnatcmd.adb: Minor code reorganization
3369
33702009-07-15  Ed Schonberg  <schonberg@adacore.com>
3371
3372	* exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
3373	determine whether a component of a private type has a composite type.
3374
33752009-07-15  Robert Dewar  <dewar@adacore.com>
3376
3377	* sem_ch10.adb: Minor reformatting throughout
3378	Minor code reorganization (put nested subprograms in alpha order)
3379
33802009-07-15  Ed Schonberg  <schonberg@adacore.com>
3381
3382	* exp_ch6.adb (Expand_Call): Prevent double attachment of the result
3383	when compiling a call to a protected function that returns a controlled
3384	object.
3385
33862009-07-15  Hristian Kirtchev  <kirtchev@adacore.com>
3387
3388	* sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
3389	one. Add task locking and unlocking around the critical region which
3390	mentions localtime_r and global variable timezone for various targets.
3391	Comment reformatting.
3392
33932009-07-15  Robert Dewar  <dewar@adacore.com>
3394
3395	* gnat_rm.texi: Document s-ststop.ads
3396
3397	* impunit.ad: (Map_Array): New table of alternative names
3398	(Get_Kind_Of_Unit): Return possible suggested alternative name
3399
3400	* impunit.ads (Get_Kind_Of_Unit): Return possible suggested
3401	alternative name.
3402
3403	* sem_ch10.adb (Analalyze_With_Clause): Add name of possible
3404	alternative unit if an implementation unit is with'ed.
3405
34062009-07-15  Robert Dewar  <dewar@adacore.com>
3407
3408	* gnat_ugn.texi: Minor updates.
3409
3410	* snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented
3411
34122009-07-15  Ed Schonberg  <schonberg@adacore.com>
3413
3414	* sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
3415	conditions of a derived boolean type.
3416	Minor reformatting
3417
34182009-07-15  Robert Dewar  <dewar@adacore.com>
3419
3420	* gnat1drv.adb: Initialize SCO tables
3421
3422	* par-load.adb: Call SCO_Record for main unit spec
3423
3424	* par.adb: Make call to SCO_Record for main unit
3425
3426	* par_sco.adb (Unit_Table): Change format to facilitate sort
3427	(Process_Decisions): New procedure with list argument
3428	(Traverse_Generic_Package_Declaration): New procedure
3429	(Initialize): New procedure, replaces Init
3430	(SCO_Output): Sort unit table before output
3431	(SCO_Record): Avoid duplications
3432	(SCO_Record): Handle remaining cases of units
3433	(Traverse_Declarations_Or_Statements): Handle generics
3434
3435	* par_sco.ads (Initialize): New peocedure (replaces Init)
3436
3437	* sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
3438	subunit.
3439
34402009-07-15  Arnaud Charlet  <charlet@adacore.com>
3441
3442	* debug.adb: Add -gnatd.J switch for now to support scil generation in
3443	parallel. Add missing doc for -gnatd.I and -gnatd.O
3444
34452009-07-15  Robert Dewar  <dewar@adacore.com>
3446
3447	* lib-load.adb: Minor reformatting
3448
3449	* lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
3450
34512009-07-15  Robert Dewar  <dewar@adacore.com>
3452
3453	* par.adb: Minor reformatting
3454	Add ??? comment for possible bad comment
3455
3456	* par-ch10.adb: Minor reformatting
3457
34582009-07-15  Ed Schonberg  <schonberg@adacore.com>
3459
3460	* sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
3461	is a literal of a derived boolean type, it appears as an unchecked
3462	conversion. Retrieve actual value from expression of conversion.
3463
34642009-07-15  Robert Dewar  <dewar@adacore.com>
3465
3466	* sem_ch3.adb: Minor reformatting
3467
3468	* lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb,
3469	lib-writ.ads, lib-writ.adb: Minor reformatting.
3470	Fix problem with SCO format in ALI files
3471
34722009-07-15  Robert Dewar  <dewar@adacore.com>
3473
3474	* exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3475	exp_aggr.adb: Minor code reorganization (better calling sequence for
3476	Make_Temporary).
3477
34782009-07-15  Thomas Quinot  <quinot@adacore.com>
3479
3480	* opt.ads: Minor comment edits
3481
34822009-07-15  Tristan Gingold  <gingold@adacore.com>
3483
3484	* gcc-interface/Makefile.in: Special rule for seh_init.o no longer
3485	needed.
3486
34872009-07-15  Robert Dewar  <dewar@adacore.com>
3488
3489	* lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
3490	information.
3491
3492	* lib-writ.ads: Document addition of SCO lines to ALI file
3493
3494	* par_sco.ads, par_sco.adb: New files.
3495
3496	* opt.ads (Generate_SCO): New switch
3497
3498	* par.adb (Par): Call SCO_Record to record SCO information
3499
3500	* sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
3501
3502	* switch-c.adb: Recognize -gnateS to generate SCO information
3503
3504	* usage.adb: Add line for -gnateS
3505
3506	* gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1
3507
35082009-07-15  Robert Dewar  <dewar@adacore.com>
3509
3510	* sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
3511	reformatting.
3512
35132009-07-15  Thomas Quinot  <quinot@adacore.com>
3514
3515	* g-socthi-mingw.adb: Minor comment addition
3516
3517	* g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
3518
35192009-07-15  Robert Dewar  <dewar@adacore.com>
3520
3521	* g-htable.ads, s-htable.ads: Minor reformatting
3522
35232009-07-15  Robert Dewar  <dewar@adacore.com>
3524
3525	* switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
3526	new switch -gnatw.g.
3527	(Set_GNAT_Mode_Warnings): New procedure.
3528
3529	* lib-xref.adb: Minor reformatting
3530
35312009-07-15  Robert Dewar  <dewar@adacore.com>
3532
3533	* exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
3534	Minor code reorganization
3535
35362009-07-14  Taras Glek  <tglek@mozilla.com>
3537	    Rafael Espindola  <espindola@google.com>
3538
3539	* gcc-interface/Make-lang.in (ada.install-plugin): New target for
3540	installing plugin headers.
3541
35422009-07-13  Ed Schonberg  <schonberg@adacore.com>
3543
3544	* exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
3545	exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
3546	and link it to the expression whose value it captures.
3547
35482009-07-13  Robert Dewar  <dewar@adacore.com>
3549
3550	* output.adb: Minor comment addition for last change
3551
3552	* sinfo.ads: Minor reformatting
3553
35542009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3555
3556	* adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
3557	spawn failed like on all other targets.
3558
35592009-07-13  Ed Schonberg  <schonberg@adacore.com>
3560
3561	* exp_ch7.adb: Indicate origin of temporary for transient expression.
3562
35632009-07-13  Thomas Quinot  <quinot@adacore.com>
3564
3565	* s-oscons-tmplt.c: Add comment.
3566
35672009-07-13  Robert Dewar  <dewar@adacore.com>
3568
3569	* sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
3570	reformatting. Minor code reorganization (add 9 argument version of
3571	Nkind_In).
3572
3573	* impunit.adb: Remove s-os_lib from list of system extensions.
3574
3575	* sem_util.ads: Minor reformatting
3576
3577	* output.adb: Add warnings off/on around System.OS_Lib.
3578
35792009-07-13  Bob Duff  <duff@adacore.com>
3580
3581	* exp_dist.adb: Minor comment updates.
3582
35832009-07-13  Gary Dismukes  <dismukes@adacore.com>
3584
3585	* sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
3586	several references to CodePeer.
3587
35882009-07-13  Bob Duff  <duff@adacore.com>
3589
3590	* exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
3591	Build_TypeCode_Function_All): Do not recurse if the type is the base
3592	type.
3593
35942009-07-13  Robert Dewar  <dewar@adacore.com>
3595
3596	* exp_ch4.adb: Minor comment change
3597
35982009-07-13  Ed Schonberg  <schonberg@adacore.com>
3599
3600	* sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
3601	type of iteration, to prevent spurious warnings.
3602
36032009-07-13  Nicolas Roche  <roche@adacore.com>
3604
3605	* s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
3606	included.
3607
36082009-07-13  Arnaud Charlet  <charlet@adacore.com>
3609
3610	* switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
3611	gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
3612	Generate_SCIL.
3613	(CodePeer_Mode): New -gnatC switch.
3614	(Adjust_Global_Switches): Adjust settings for Generate_SCIL and
3615	CodePeer_Mode.
3616
36172009-07-13  Eric Botcazou  <ebotcazou@adacore.com>
3618
3619	* checks.adb (Selected_Range_Checks): Do not consider that a non-static
3620	integer bound forces the check if it is compared to its subtype range.
3621
36222009-07-13  Robert Dewar  <dewar@adacore.com>
3623
3624	* prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
3625	prj-strt.ads: Minor reformatting
3626
36272009-07-13  Thomas Quinot  <quinot@adacore.com>
3628
3629	* exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
3630	set the type of the From_Any call to the base type.
3631
36322009-07-13  Doug Rupp  <rupp@adacore.com>
3633
3634	* symbols-processing-vms-ia64.adb (Process): Add variables and
3635	constants to retrieve and check for symbol visibility.
3636
36372009-07-13  Javier Miranda  <miranda@adacore.com>
3638
3639	* exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
3640	the identical type we remove the conversion completely because
3641	it is useless.
3642
36432009-07-13  Emmanuel Briot  <briot@adacore.com>
3644
3645	* prj-err.adb (Error_Msg): One more case where a message should be
3646	considered as a warning.
3647
3648	* gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
3649
36502009-07-13  Thomas Quinot  <quinot@adacore.com>
3651
3652	* exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
3653	calling stubs in the (library level) scope of the RCI locator, where it
3654	is attached, not in the caller's scope.
3655
36562009-07-13  Javier Miranda  <miranda@adacore.com>
3657
3658	* sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
3659	interface object declarations we delay the generation of the equivalent
3660	record type declarations until its expansion because there are cases in
3661	which they are not required.
3662
3663	* sem_util.adb (Implements_Interface): Add missing support for subtypes.
3664
3665	* sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
3666	addition of assertion.
3667
3668	* exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
3669	interface types require no equivalent constrained type declarations
3670	because the expanded code only references the tag component associated
3671	with the interface.
3672	(Find_Interface_Tag): Improve management of interfaces that are
3673	ancestors of tagged types.
3674
3675	* exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
3676	class-wide object declarations to add missing support to statically
3677	displace the pointer to the object to reference the tag component
3678	associated with the interface.
3679
3680	* exp_disp.adb (Make_Tags) Avoid generation of internally generated
3681	auxiliary types associated with user-defined dispatching calls if the
3682	type has no user-defined primitives.
3683
36842009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
3685
3686	* mingw32.h: Make it explicit that we need XP or later.
3687
3688	* initialize.c: Remove useless extern symbol declaration.
3689
3690	* adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
3691	code reuse in expect.c.
3692
3693	* adaint.c: Changes throughout the Windows section to redesign storage
3694	of the child process list and the process identification.
3695
3696	* expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
3697	for interfacing, fix errors.
3698	(__gnat_expect_portable_execvp): use function in adaint.c
3699
37002009-07-13  Emmanuel Briot  <briot@adacore.com>
3701
3702	* prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
3703	prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
3704	prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
3705	errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
3706	(Prj.Nmsc.Report_Error): Removed, no longer needed.
3707	Always use Prj.Err.Report_Message.
3708
37092009-07-13  Robert Dewar  <dewar@adacore.com>
3710
3711	* prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
3712	& comment edits.
3713
37142009-07-13  Robert Dewar  <dewar@adacore.com>
3715
3716	* opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
3717	prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
3718
37192009-07-13  Emmanuel Briot  <briot@adacore.com>
3720
3721	* prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
3722	mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
3723	Ada_Prj_Include_File_Set): Removed, since not needed
3724	Code clean up.
3725
37262009-07-13  Ed Schonberg  <schonberg@adacore.com>
3727
3728	* sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
3729	Analyze_Membership_Op.
3730
3731	* sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
3732	Resolve_Membership_Op.
3733
3734	* exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
3735	Expand_N_In.
3736
37372009-07-13  Robert Dewar  <dewar@adacore.com>
3738
3739	* clean.adb: Minor reformattting
3740
37412009-07-13  Emmanuel Briot  <briot@adacore.com>
3742
3743	* gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
3744	gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
3745	prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
3746	prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
3747	and attributes in a project tree.
3748	(Add_Default_GNAT_Naming_Scheme): Provide real implementation.
3749	Remove last remaining mode-specific code (ada_only or
3750	multi_language). This was duplicating code
3751	(Get_Mode, Set_Mode): removed, no longer used.
3752	(Initialize_Project_Path): all tools will now take into account both
3753	GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
3754	Remove some global variables and subprograms no longer used
3755	Make temporary files tree-specific, to avoid interferences between
3756	trees loaded in memory at the same time.
3757	(Prj.Delete_Temporary_File): new subprogram
3758	(Object_Paths, Source_Paths): fields no longer stored in the project
3759	tree, since they are only needed locally in Set_Ada_Paths.
3760	(Set_Mapping_File_Initial_State_To_Empty): removed, since had no
3761	effect in practice.
3762	(Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
3763	by local variables in the appropriate subprograms
3764	(Has_Foreign_Sources): removed.
3765
3766        * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
3767
37682009-07-13  Arnaud Charlet  <charlet@adacore.com>
3769
3770	* gnat1drv.adb (Adjust_Global_Switches): No longer set
3771	Back_Annotate_Rep_Info in inspector mode.
3772	(Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
3773
3774	* opt.ads: Update comment.
3775
37762009-07-13  Robert Dewar  <dewar@adacore.com>
3777
3778	* lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
3779	prj.ads: Minor reformatting and code reorganization.
3780
3781	* par-ch3.adb (Check_Restricted_Expression): New procedure
3782
37832009-07-13  Ed Schonberg  <schonberg@adacore.com>
3784
3785	* exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
3786	attribute into a call of the corresponding suprogram, create extra
3787	formals for the subprogram, because it may be a renaming whose
3788	analysis does not create extra formals.
3789
37902009-07-13  Emmanuel Briot  <briot@adacore.com>
3791
3792	* gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
3793	prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3794	prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
3795	prj-tree.ads: Minor reformatting.
3796	(Processing_Flags): new record to encapsulate the set of common
3797	parameters to several subprograms in the project manager.
3798	(Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
3799	Remove the need for the Current_Dir parameter in subprograms.
3800	(Look_For_Sources): minor refactoring, now that we no longer need to
3801	share subprograms between the two Ada_Only and Multi_Language modes
3802	(Processing_Flags): New field Error_On_Unknown_Language.
3803	Merge tests for library project between gnatmake and gprbuild.
3804
38052009-07-13  Arnaud Charlet  <charlet@adacore.com>
3806
3807	* lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
3808	Minor reformatting.
3809
38102009-07-13  Emmanuel Briot  <briot@adacore.com>
3811
3812	* prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
3813	than units.
3814
38152009-07-13  Thomas Quinot  <quinot@adacore.com>
3816
3817	* sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
3818	Write,Input,Output} from private view to full view.
3819
3820	* sem_type.adb, sem_type.ads: Minor reformatting
3821
38222009-07-13  Nicolas Setton  <setton@adacore.com>
3823
3824	* exp_dbug.ads: Add documentation note on the utility of
3825	DW_AT_GNAT_encoding for IDEs.
3826
38272009-07-13  Robert Dewar  <dewar@adacore.com>
3828
3829	* g-socthi-vxworks.adb: Minor reformatting
3830
3831	* gnatcmd.adb: Minor reformatting
3832
38332009-07-13  Thomas Quinot  <quinot@adacore.com>
3834
3835	* rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
3836	removed, not used anymore.
3837	(Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
3838	New subprogram, implements copy of an Any value into a limited object.
3839	(Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
3840	Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
3841	Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
3842	of parameters of a limited type, use the above new subprogram.
3843
38442009-07-13  Emmanuel Briot  <briot@adacore.com>
3845
3846	* prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
3847	Location.
3848	(Copy_ALI_Files): Avoid calls to read when pointing outside of the
3849 	allocated space.
3850	(Error_Report): Remove global variable, replaced by parameters.
3851
38522009-07-13  Thomas Quinot  <quinot@adacore.com>
3853
3854	* g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
3855	standard sendto(2) interface for connected sockets (passing a null
3856	destination address). Use send(2) instead for that case.
3857
38582009-07-13  Pascal Obry  <obry@adacore.com>
3859
3860	* adaint.c: Fix __gnat_stat() with Win32 UNC paths.
3861
38622009-07-13  Emmanuel Briot  <briot@adacore.com>
3863
3864	* prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
3865	prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
3866	variables and tables in prj-nmsc.adb.
3867	(Tree_Processing_Data): Renames Processing_Data, some new fields added
3868	(Project_Processing_Data): New record
3869	Simplify/unify check for missing sources.
3870
38712009-07-13  Emmanuel Briot  <briot@adacore.com>
3872
3873	* gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
3874	prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
3875	prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
3876	prj-tree.ads (Immediate_Directory_Of): Removed.
3877	(Prj.Pars): Now parse the project simulating a default config file.
3878	(Add_Default_GNAT_Naming_Scheme): New subprogram
3879	(Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
3880	Remove gnatmake-specific parsing of source files.
3881	(Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
3882	the error itself to provide more precise diagnostics.
3883	(Process_Exceptions_Unit_Based): Avoid duplicate error message when
3884	a unit belongs to several projects.
3885	(Copy_Interface_Sources): Search the full path of files to copy in the
3886	list of sources of the application rather than in the list of units.
3887	(Parse_Project_And_Apply_Config): Do not reset the name of the main
3888 	project file.
3889	(Check_File): Use htables to find out whether a source is duplicated.
3890	(Add_Source): check whether the source or unit were already seen earlier
3891
3892	* gcc-interface/Makefile.in: Update gnatmake dependencies.
3893
38942009-07-13  Robert Dewar  <dewar@adacore.com>
3895
3896	* par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
3897	expression if extensions permitted.
3898
3899	* par-ch4.adb (P_Membership_Test): New procedure (implement membership
3900	set tests).
3901	(P_Relation): Use P_Membership_Test
3902
3903	* par.adb (P_Membership_Test): New procedure (implement membership set
3904	tests).
3905
3906	* sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
3907
3908	* sprint.adb (Sprint_Node): Handle set form for membership tests.
3909
39102009-07-13  Thomas Quinot  <quinot@adacore.com>
3911
3912	* exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
3913	Do not attempt to generate stubs for predefined primitives of
3914	synchronized interfaces.
3915	(Add_Stub_Type): Factor some code from the PCS-specific variants of
3916	Build_Stub_Type.
3917
39182009-07-13  Ed Schonberg  <schonberg@adacore.com>
3919
3920	* sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
3921	Controlling_Result flag from the operation they override.
3922
39232009-07-13  Arnaud Charlet  <charlet@adacore.com>
3924
3925	* gcc-interface/Make-lang.in: Update dependencies
3926
39272009-07-13  Robert Dewar  <dewar@adacore.com>
3928
3929	* gnat_ugn.texi: The gnatf switch no longer is needed to get full
3930	details on unsupported constructs.
3931
3932	* rtsfind.adb: Remove references to All_Errors_Mode, give errors
3933	unconditionally.
3934
3935	* s-trafor-default.adb: Correct some warnings
3936
3937	* s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
3938	sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
3939	Minor reformatting.
3940
3941	* par-ch4.adb (Conditional_Expression): Capture proper location for
3942	conditional expression, should point to IF.
3943
3944	* s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
3945	s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
3946	g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
3947	reorganization (use conditional expressions).
3948
39492009-07-13  Ed Schonberg  <schonberg@adacore.com>
3950
3951	* exp_util.adb (Remove_Side_Effects): If the expression is a call to a
3952	build-in-place function that returns an inherently limited type (not
3953	just a task type) create proper object declaration so that extra
3954	build-in-place actuals are properly added to the call.
3955
39562009-07-13  Robert Dewar  <dewar@adacore.com>
3957
3958	* freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
3959
3960	* gnat_ugn.texi: Add documentation for -gnatw.m/.M
3961
3962	* opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
3963
3964	* sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
3965	Warn_On_Suspicious_Modulus_Value.
3966
3967	* ug_words: Add entries for -gnatw.m/-gnatw.M.
3968
3969	* usage.adb: Add lines for -gnatw.m/.M switches.
3970
3971	* vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
3972
39732009-07-13  Javier Miranda  <miranda@adacore.com>
3974
3975	* sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
3976	reading the Is_Interface attribute of the dispatching type.
3977
39782009-07-13  Robert Dewar  <dewar@adacore.com>
3979
3980	* a-convec.adb: Minor code reorganization (use conditional expressions)
3981
39822009-07-13  Robert Dewar  <dewar@adacore.com>
3983
3984	* freeze.adb (Check_Suspicious_Modulus): New procedure.
3985
39862009-07-13  Robert Dewar  <dewar@adacore.com>
3987
3988	* i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
3989	warning).
3990
3991	* par-ch4.adb: Minor reformatting
3992
39932009-07-13  Ed Schonberg  <schonberg@adacore.com>
3994
3995	* freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
3996	=> Is_Atomic_Aggregate
3997
39982009-07-13  Emmanuel Briot  <briot@adacore.com>
3999
4000	* prj-nmsc.adb: Avoid traversing the list of source files if
4001	we have already processed all locally removed files.
4002
40032009-07-13  Jose Ruiz  <ruiz@adacore.com>
4004
4005	* gnat_ugn.texi: Fix typo.
4006
40072009-07-13  Robert Dewar  <dewar@adacore.com>
4008
4009	* freeze.adb: Minor reformatting
4010	Minor code reorganization (use Nkind_In)
4011
4012	* exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
4013
40142009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
4015
4016	* checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
4017	local variable and do not test it in Compile_Time_Bad_Alignment.
4018	Do not issue size or alignment warnings for the X'Address form.
4019	* sem_util.ads (Find_Overlaid_Object): Delete.
4020	(Find_Overlaid_Entity): New procedure.
4021	* sem_util.adb (Find_Overlaid_Object): Rename to...
4022	(Find_Overlaid_Entity): ...this and turn into a procedure.  Report
4023	whether the address is offseted within the overlaid entity.
4024	(Has_Compatible_Alignment): Track the offset globally instead of
4025	passing it to Check_Offset.  For an indexed component, compute the
4026	full offset when possible.  If the resulting offset is zero, only
4027	check the prefix.
4028	(Check_Offset): Delete.
4029	* sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
4030	(Address_Aliased_Entity): Delete.
4031	(Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
4032	Find_Overlaid_Entity to find the overlaid entity and the offset.
4033	Adjust throughout for above change.
4034	(Validate_Address_Clauses): Always use attributes of entities, not of
4035	their type.  Tweak message for warning.  Call Has_Compatible_Alignment
4036	if the address is offseted to warn about incompatible alignments.
4037	* gcc-interface/gigi.h (annotate_object): Declare.
4038	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
4039	entity.  Call annotate_object instead of annotating manually objects.
4040	(annotate_object): New function.
4041	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
4042	at the end.
4043
40442009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
4045
4046	* gcc-interface/ada-tree.h: Minor reorganization.
4047	* gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
4048	(gnat_print_type): Likewise.
4049
40502009-07-11  Thomas Quinot  <quinot@adacore.com>
4051
4052	* sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
4053	Lvalue -> lvalue
4054
4055	* exp_ch6.adb: Minor reformatting
4056
40572009-07-11  Ed Schonberg  <schonberg@adacore.com>
4058
4059	* freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
4060	account possible type qualification to determine whether aggregate
4061	needs a target temporary to respect atomic type or object.
4062
4063	* exp_aggr.adb (Expand_Record_Aggregate): Use new version of
4064	Expand_Atomic_Aggregate.
4065
40662009-07-11  Emmanuel Briot  <briot@adacore.com>
4067
4068	* prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
4069	algorithm.
4070	(Excluded_Sources_Htable): No longer a global table.
4071	Change error message to indicate which files are illegal in the list
4072	of excluded files, as opposed to only the location in the project
4073	file.
4074	(Find_Source): New subprogram.
4075
40762009-07-10  Thomas Quinot  <quinot@adacore.com>
4077
4078	* exp_ch7.adb: Update comments.
4079
40802009-07-10  Arnaud Charlet  <charlet@adacore.com>
4081
4082	* exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
4083	clause if -gnatI is set instead of crashing.
4084
40852009-07-10  Ed Schonberg  <schonberg@adacore.com>
4086
4087	* sem_ch11.adb (Same_Expression): Null is always equal to itself.
4088	Additional work to remove redundant successive raise statements, in
4089	this case access checks.
4090
40912009-07-10  Vincent Celier  <celier@adacore.com>
4092
4093	* make.adb (Compile): Always create a deep copy of the mapping file
4094	argument (-gnatem=...) as it may be deallocate/reallocate by
4095	Normalize_Arguments.
4096
40972009-07-10  Javier Miranda  <miranda@adacore.com>
4098
4099	* einfo.adb (Directly_Designated_Type): Add assertion.
4100
4101	* sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
4102	access types before using attribute Directly_Designated_Type.
4103
41042009-07-10  Emmanuel Briot  <briot@adacore.com>
4105
4106	* prj.ads: Minor typo fix
4107
41082009-07-10  Ed Schonberg  <schonberg@adacore.com>
4109
4110	* sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
4111	special treatment.
4112
4113	* exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
4114	subprogram is a function call, resolve properly, to ensure that extra
4115	actuals are added as needed.
4116
41172009-07-10  Thomas Quinot  <quinot@adacore.com>
4118
4119	* sem_aggr.adb: Minor comments editing
4120
4121	* exp_tss.adb, exp_ch3.adb: Minor reformatting
4122
41232009-07-10  Robert Dewar  <dewar@adacore.com>
4124
4125	* exp_util.adb: Minor code reorganization (use N_Short_Circuit)
4126
4127	* exp_ch4.adb: Add ??? comment for conditional expressions on limited
4128	types.
4129
4130	* checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
4131	replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
4132	case of conditional expressions that may not be elaborated.
4133
4134	* sem_util.adb (Safe_To_Capture_Value): Properly handle case of
4135	conditional expression where we may not execute then then or else
4136	branches.
4137
41382009-07-10  Arnaud Charlet  <charlet@adacore.com>
4139
4140	* i-cexten.ads (bool): New type.
4141
41422009-07-10  Robert Dewar  <dewar@adacore.com>
4143
4144	* sinfo.ads (N_Short_Circuit): New definition
4145
4146	* sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
4147	treepr.adb: Minor code reorganization (use N_Short_Circuit)
4148
41492009-07-10  Javier Miranda  <miranda@adacore.com>
4150
4151	* exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
4152	non-tagged record types.
4153
4154	* sem_prag.adb
4155	(Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
4156	with non-tagged types. Required to import C++ classes that have no
4157	virtual primitives.
4158	(Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
4159	returning non-tagged types. For backward compatibility, if the
4160	constructor returns a class wide type we internally change the
4161	returned type to the corresponding non class-wide type.
4162
4163	* sem_aggr.adb
4164	(Valid_Ancestor_Type): CPP_Constructors code cleanup.
4165	(Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
4166	(Resolve_Aggr_Expr): CPP_Constructors code cleanup.
4167	(Resolve_Record_Aggregate): CPP_Constructors code cleanup.
4168
4169	* sem_ch3.adb
4170	(Analyze_Object_Declaration): CPP_Constructors code cleanup.
4171
4172	* sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
4173
4174	* sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
4175
4176	* sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
4177
4178	* exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
4179	cleanup.
4180
4181	* exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
4182
4183	* gnat_rm.texi
4184	(pragma CPP_Class): Document that it can be used now with non-tagged
4185	record types.
4186	(pragma CPP_Constructor): Document that it can be used now with
4187	functions returning specific types. For backward compatibility
4188	we also support functions returning class-wide types.
4189
4190	* gnat_ugn.texi
4191	(Interfacing with C++ constructors): Update the examples to incorporate
4192	the new syntax in which the functions used to import C++ constructors
4193	return specific types.
4194	(Interfacing with C++ at the Class Level): Update the examples to
4195	incorporate the new syntax in which the functions used to import
4196	C++ constructors return specific types.
4197
41982009-07-10  Thomas Quinot  <quinot@adacore.com>
4199
4200	* exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
4201	Make_Disp_Conditional_Select_Body,
4202	Make_Disp_Timed_Select_Body): For the case of a type that is neither an
4203	interface nor a concurrent type, the primitive body is empty. Generate
4204	a null statement so that it remains well formed.
4205
42062009-07-10  Ed Schonberg  <schonberg@adacore.com>
4207
4208	* exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
4209	replace references to them in defaulted component expressions with
4210	references to the values of the discriminants of the target object.
4211
42122009-07-10  Ed Schonberg  <schonberg@adacore.com>
4213
4214	* sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
4215	pragma, to capture global references if the context is generic.
4216
4217	* exp_ch2.adb (Expand_Discriminant): If a task type discriminant
4218	appears within the initialization procedure for the corresponding
4219	record, replace it with the proper discriminal.
4220
42212009-07-10  Vincent Celier  <celier@adacore.com>
4222
4223	* make.adb: Do not include object directories or library ALI
4224	directories of library projects in the object path.
4225
42262009-07-10  Javier Miranda  <miranda@adacore.com>
4227
4228	* exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
4229	Typ argument to ensure proper management of access types.
4230
42312009-07-10  Ed Schonberg  <schonberg@adacore.com>
4232
4233	* exp_ch7.adb (Build_Final_List): If the list is being built for a
4234	Taft-Amendment type, place the finalization list in the package body,
4235	to ensure that the tree for the spec is identical whenever it is
4236	compiled.
4237
42382009-07-10  Javier Miranda  <miranda@adacore.com>
4239
4240	* sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
4241	inheriting attributes from a private Parent_Base.
4242
42432009-07-10  Ed Schonberg  <schonberg@adacore.com>
4244
4245	* sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
4246	statements with the same condition.
4247
42482009-07-10  Robert Dewar  <dewar@adacore.com>
4249
4250	* exp_ch4.adb (Raise_Accessibility_Error): New procedure
4251
42522009-07-09  Tom Tromey  <tromey@redhat.com>
4253
4254	* raise-gcc.c: Include dwarf2h (unconditionally).
4255
42562009-07-09  Ed Schonberg  <schonberg@adacore.com>
4257
4258	* sem_ch10.adb (Install_Context): If the unit is a package body,
4259	install the private with_clauses of the corresponding package
4260	declaration.
4261
42622009-07-09  Robert Dewar  <dewar@adacore.com>
4263
4264	* checks.adb: Minor reformatting
4265
42662009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4267
4268	* ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
4269	into ug_words.
4270
42712009-07-09  Thomas Quinot  <quinot@adacore.com>
4272
4273	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
4274	Do not warn for a constant overlaying any constant object
4275
42762009-07-09  Ed Schonberg  <schonberg@adacore.com>
4277
4278	* sem_ch10.adb (Install_Context): If the unit is a package body,
4279	install the private with_clauses of the corresponding package
4280	declaration.
4281
42822009-07-09  Robert Dewar  <dewar@adacore.com>
4283
4284	* checks.adb: Minor reformatting
4285
42862009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4287
4288	* ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
4289	into ug_words.
4290
42912009-07-09  Thomas Quinot  <quinot@adacore.com>
4292
4293	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
4294	Do not warn for a constant overlaying any constant object
4295
42962009-07-09  Arnaud Charlet  <charlet@adacore.com>
4297
4298	* gcc-interface/Make-lang.in: Update dependencies
4299
43002009-07-09  Thomas Quinot  <quinot@adacore.com>
4301
4302	* g-socket.adb (Check_Selector): Do not create local copies of the
4303	socket sets on the stack.
4304
43052009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
4306
4307	* gnat_ugn.texi: Add missing VMS translations.
4308
43092009-07-09  Ed Schonberg  <schonberg@adacore.com>
4310
4311	* sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
4312	condition, to prevent generation of visible code during expansion,
4313	when Check is not enabled.
4314
43152009-07-09  Gary Dismukes  <dismukes@adacore.com>
4316
4317	* checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
4318	the check gets registered for any available local handler
4319	(Set_Local_Raise).
4320
4321	* sem_util.adb: Add with and use of Exp_Ch11.
4322	(Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
4323	that the check gets registered for any available local handler.
4324
4325	* exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
4326	on slice ranges.
4327
43282009-07-09  Steve Baird  <baird@adacore.com>
4329
4330	* exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
4331	function.
4332	(Expand_N_Exception_Declaration): Fix handling of exceptions
4333	declared in a subprogram.
4334
43352009-07-09  Emmanuel Briot  <briot@adacore.com>
4336
4337	* prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
4338	multi-unit files.
4339
43402009-07-09  Thomas Quinot  <quinot@adacore.com>
4341
4342	* freeze.adb: Minor reformatting
4343
4344	* exp_ch3.adb: Minor comment fix.
4345
4346	* sinfo.ads: Minor comment fix
4347
43482009-07-09  Ed Schonberg  <schonberg@adacore.com>
4349
4350	* exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
4351
43522009-07-09  Ed Schonberg  <schonberg@adacore.com>
4353
4354	* freeze.adb (Freeze_Expression): If the expression is the name of a
4355	function in a call, and the function has not been frozen yet, create
4356	extra formals for it to ensure that the proper actuals are created
4357	when expanding the call.
4358
43592009-07-09  Emmanuel Briot  <briot@adacore.com>
4360
4361	* prj-pp.adb (Print): Fix handling of source index when set on a
4362	declaration node.
4363
43642009-07-09  Ed Schonberg  <schonberg@adacore.com>
4365
4366	* einfo.ads, einfo.adb: New attribute Related_Expression, used to link
4367	a temporary to the source expression whose value it captures.
4368
4369	* exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
4370
43712009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4372
4373	* gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
4374	EXPR_LOCATION.
4375
43762009-07-07  Gary Dismukes  <dismukes@adacore.com>
4377
4378	* exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
4379	parameters when the subtype of the actual is not known to be a subrange
4380	of the formal's subtype.
4381	(Expand_Call): Generate a range check only in the E_In_parameter case
4382	(in out parameter range checks are now handled in Expand_Actuals).
4383
4384	* exp_ch4.adb (Expand_N_Slice): Restore code that calls
4385	Enable_Range_Check.
4386
43872009-07-07  Robert Dewar  <dewar@adacore.com>
4388
4389	* a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
4390
43912009-07-07  Javier Miranda  <miranda@adacore.com>
4392
4393	* exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
4394	designated type comes from a limited views.
4395
43962009-07-07  Emmanuel Briot  <briot@adacore.com>
4397
4398	* prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
4399	locally removed files that are later made visible again in an importing
4400	project.
4401
44022009-07-07  Robert Dewar  <dewar@adacore.com>
4403
4404	* gnat_rm.texi: Clarify documentation of Stream_Convert pragma
4405
44062009-07-07  Sergey Rybin  <rybin@adacore.com>
4407
4408	* gnat_ugn.texi: Add an example to the description of gnatcheck
4409	'Style_Checks' rule option.
4410
44112009-07-07  Tristan Gingold  <gingold@adacore.com>
4412
4413	* seh_init.c: Fix inline assembly statement in seh_init.c
4414
44152009-07-07  Ed Schonberg  <schonberg@adacore.com>
4416
4417	* sem_warn.adb (Check_References): Do not emit warnings on formals of
4418	an entry body. Only the formals of the entry declaration are traced.
4419
44202009-07-07  Robert Dewar  <dewar@adacore.com>
4421
4422	* s-osprim-mingw.adb: Minor code reorganization
4423
44242009-07-07  Robert Dewar  <dewar@adacore.com>
4425
4426	* prj-nmsc.adb: Minor reformatting
4427
44282009-07-07  Pascal Obry  <obry@adacore.com>
4429
4430	* a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
4431	cases where Pattern is longer than Source.
4432
44332009-07-07  Pascal Obry  <obry@adacore.com>
4434
4435	* s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
4436
44372009-07-07  Emmanuel Briot  <briot@adacore.com>
4438
4439	* prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
4440	project file.
4441
44422009-07-07  Ed Schonberg  <schonberg@adacore.com>
4443
4444	* exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
4445	primitive operations, in case one of them is called in the
4446	initialization procedure for the type.
4447
44482009-07-07  Robert Dewar  <dewar@adacore.com>
4449
4450	* a-calend.adb: Minor code reorganization (use conditional expressions)
4451
4452	* s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
4453	prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
4454	s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
4455	s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
4456	s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
4457	g-comlin.adb, exp_ch11.adb: Minor reformatting.
4458
44592009-07-07  Gary Dismukes  <dismukes@adacore.com>
4460
4461	* checks.adb (Generate_Range_Check): Replace type conversions with
4462	unchecked conversions to support the case of performing range checks
4463	on Enum'Val (permits integer values to be converted to enumeration).
4464
4465	* exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
4466	Attribute_Succ): Set Do_Range_Check to False before calling
4467	Expand_Pred_Succ, to prevent gigi from generating any range checks.
4468	(Expand_N_Attribute_Reference, case Attribute_Val):
4469	Generate a range check when needed (and set Do_Range_Check to False).
4470
4471	* exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
4472	scalar object initialization if needed.
4473
4474	* exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
4475	when needed on scalar allocators.
4476	(Expand_N_Qualified_Expression): Generate range check when needed.
4477	(Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
4478	Checks on slice ranges handled in Resolve_Slice.
4479
4480	* exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
4481	when needed, for all scalar assignments, not just discrete.
4482	(Expand_Simple_Function_Return): Resolve the conversion created for a
4483	scalar function return so that the conversion will get expanded to
4484	generate a possible constraint check.
4485
4486	* exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
4487	in out scalar actuals when subtypes don't match, to ensure generation
4488	of return checks (and set Do_Range_Check to False).
4489	(Expand_Call): Uncomment code to perform range checks, but make it apply
4490	only to in and in out parameters (checks on parameter returns are
4491	handled in Expand_Actuals). If a scalar actual for a call to a derived
4492	subprogram is marked as needing a range check, peform it here (and set
4493	Do_Range_Check to False).
4494
4495	* sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
4496	range check on scalar component associations when needed.
4497
4498	* sem_eval.adb (In_Subrange_Of): Return False when the first type has
4499	infinities but the second type does not, as these aren't compatible
4500	floating-point types.
4501
4502	* sem_res.adb (Resolve_Slice): In the case where the prefix of the
4503	slice is itself a slice, pick up the Etype of the prefix. This handles
4504	the case where the prefix was an Image attribute expanded to a slice,
4505	and ensures that we get the subtype with the slice constraint rather
4506	than the unconstrained subbtype of the 'Image.
4507
45082009-07-07  Ed Schonberg  <schonberg@adacore.com>
4509
4510	* sem_ch4.adb (Analyze_Conditional_Expression): handle properly
4511	overloaded expressions in a conditional expressions.
4512
4513	* sem_res.adb (Resolve): Handle properly overloaded conditional
4514	expressions.
4515
45162009-07-07  Robert Dewar  <dewar@adacore.com>
4517
4518	* scng.adb: Minor reformattting
4519
4520	* par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
4521	association allows conditional expression without parens.
4522
4523	* par-ch4.adb (P_Name): Attribute arguments can be conditional
4524	expressions without enclosing parentheses, and also as parameters,
4525	indexing expressions etc.
4526	(P_Conditional_Expression): New procedure
4527	(P_Expression_If_OK): New procedure
4528
4529	* par.adb (P_Conditional_Expression): New procedure
4530	(P_Expression_If_OK): New procedure
4531
4532	* sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
4533	form of conditional expression.
4534
4535	* sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
4536	missing True argument if ELSE argument missing.
4537
4538	* sinfo.adb (Is_Elsif): New flag
4539
4540	* sinfo.ads (N_Conditional_Expression): This node is now a syntactic
4541	part of the language, and the documentation is modified accordingly.
4542	(Is_Elsif): New flag
4543
45442009-07-06  Olivier Hainque  <hainque@adacore.com>
4545
4546	* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
4547	setjmp_longjmp): Attach the exception propagation reraise fallback
4548	to the sequence	end label location when we have it.
4549
45502009-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
4551
4552	PR ada/40608
4553	* init.c (APPLE): Include <mach/mach_init.h>.
4554	(__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
4555
45562009-07-04  Eric Botcazou  <ebotcazou@adacore.com>
4557
4558	* ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
4559	(SET_DECL_LANG_SPECIFIC): Likewise.
4560	(TYPE_RM_VALUE): New macro.
4561	(SET_TYPE_RM_VALUE): Likewise.
4562	(TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
4563	(TYPE_RM_MIN_VALUE): Likewise.
4564	(TYPE_RM_MAX_VALUE): Likewise.
4565	(SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
4566	(SET_TYPE_RM_MIN_VALUE): Likewise.
4567	(SET_TYPE_RM_MAX_VALUE): Likewise.
4568	* decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
4569
45702009-07-04  Laurent GUERBY  <laurent@guerby.net>
4571
4572	PR ada/40631
4573	* tracebak.c (__gnat_backtrace): Fix old-style definition.
4574
45752009-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4576
4577	* tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
4578
45792009-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4580
4581	PR ada/40609
4582	* init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
4583	ucontext argument.
4584
45852009-07-01  Eric Botcazou  <ebotcazou@adacore.com>
4586
4587	* init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
4588
45892009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4590
4591	* gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
4592	the type of the left operand if it pads a self-referential type when
4593	the right operand is a constructor.
4594
4595	* gcc-interface/lang-specs.h: Fix copyright date.
4596
45972009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4598
4599	* gcc-interface/decl.c: Include tree-inline.h.
4600	(annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
4601	* gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
4602	* gcc-interface/utils2.c: Include tree-inline.
4603	(known_alignment) <CALL_EXPR>: Likewise.
4604
46052009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
4606
4607	* raise-gcc.c: Include dwarf2.h conditionally.
4608
46092009-06-29  Tom Tromey  <tromey@redhat.com>
4610
4611	* raise-gcc.c: Include elf/dwarf2.h.
4612
46132009-06-27  Laurent GUERBY  <laurent@guerby.net>
4614
4615	* tb-gcc.c (trace_callback): Add casts to silence warning.
4616
46172009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4618
4619	* tb-gcc.c: Fix copyright notice.
4620
46212009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
4622
4623	* init.c (__gnat_set_globals): Add prototype.
4624	* adaint.c (__gnat_binder_supports_auto_init): Likewise.
4625	(__gnat_sals_init_using_constructors): Likewise.
4626	* gcc-interface/utils.c (gnat_pushlevel): Likewise.
4627	(get_block_jmpbuf_decl): Likewise.
4628	(gnat_poplevel): Likewise.
4629	(merge_sizes): Rename local variable.
4630	(copy_type): Likewise.
4631	(build_vms_descriptor32): Likewise.
4632	(build_vms_descriptor): Likewise.
4633	(convert_vms_descriptor64): Likewise.
4634	(convert_vms_descriptor32): Likewise.
4635	(convert_to_fat_pointer): Likewise.
4636	(maybe_unconstrained_array): Likewise.
4637	(def_fn_type): Use promoted type with va_arg.
4638	* gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
4639	(substitute_in_type): Rename local variable.
4640	* gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
4641
46422009-06-26  Laurent GUERBY  <laurent@guerby.net>
4643
4644	* tb-gcc.c (trace_callback): Use char* instead of void*.
4645	* gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
4646	* gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
4647	(Attribute_to_gnu): Adjust for above change.
4648	(Subprogram_Body_to_gnu): Likewise.
4649	* gcc-interface/utils.c (merge_sizes): Rename local variable.
4650	(copy_type): Likewise.
4651	(build_vms_descriptor32): Likewise.
4652	(build_vms_descriptor): Likewise.
4653	(convert_vms_descriptor64): Likewise.
4654	(convert_vms_descriptor32): Likewise.
4655	(convert_to_fat_pointer): Likewise.
4656	(maybe_unconstrained_array): Likewise.
4657	* gcc-interface/decl.c (substitute_in_type): Likewise.
4658
46592009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4660
4661	* gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
4662	(gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
4663	of the upper bound of the index types.
4664
46652009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4666
4667	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
4668	out common predicate.  Use the maximum to compute the upper bound of
4669	the index type only when it is not wider than sizetype.  Perform the
4670	comparison in the index type for the generic expression.  Use real
4671	precision to decide whether to generate special types for debugging
4672	information.
4673
46742009-06-26  Matthew Gingell  <gingell@adacore.com>
4675
4676	* adaint.c: Do not use the dummy version of convert_addresses on LynxOS
4677
46782009-06-26  Vincent Celier  <celier@adacore.com>
4679
4680	* prj.ads (No_Language_Config): Value of Dependency_Kind is None by
4681	default.
4682
46832009-06-26  Robert Dewar  <dewar@adacore.com>
4684
4685	* exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
4686
46872009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
4688
4689	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
4690	correct arguments to create_field_decl.  Remove redundant iteration.
4691	Rewrite computation of the maximum size.
4692	<E_Array_Subtype>: Reorder and simplify handling of special cases.
4693	Rewrite computation of the maximum size.  Use consistent naming.
4694	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
4695	comparison order for consistency.  Use generic integer node to
4696	build the operator and fold the result.
4697
46982009-06-25  Vincent Celier  <celier@adacore.com>
4699
4700	* vms_data.ads: Minor comment change
4701
47022009-06-25  Gary Dismukes  <dismukes@adacore.com>
4703
4704	* exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
4705	assignment statement to targeting a caller-provided object when the
4706	result type is an interface type.
4707
4708	* exp_ch6.adb (Expand_Call): Remove redundant test of
4709	Is_Limited_Interface (Is_Inherently_Limited is sufficient).
4710	(Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
4711
4712	* sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
4713	to OK_For_Limited_Init.
4714
4715	* sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
4716	condition so that True is returned for all limited interfaces, not
4717	just synchronized ones. Ignore components of an interface type when
4718	checking for limited components (such a component can be a parent
4719	component).
4720
4721	* sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
4722	(OK_For_Limited_Init): Add type parameter.
4723
4724	* sem_ch3.adb (Check_Initialization): Add type in call to
4725	OK_For_Limited_Init.
4726	(OK_For_Limited_Init): Add new type param in call to
4727	OK_For_Limited_Init_In_05.
4728	(OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
4729	nonlimited type when the context type is a limited interface. Add type
4730	on recursive calls.
4731
4732	* sem_ch4.adb (Analyze_Allocator): Add type in call to
4733	OK_For_Limited_Init.
4734
4735	* sem_ch6.adb (Check_Limited_Return): Add type in call to
4736	OK_For_Limited_Init.
4737
4738	* sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
4739	OK_For_Limited_Init.
4740	(Instantiate_Object): Add type in call to OK_For_Limited_Init.
4741
4742	* sem_type.adb (Interface_Present_In_Ancestor): In the case of a
4743	class-wide interface, get the base type before applying Etype, in order
4744	to account for class-wide subtypes.
4745
47462009-06-25  Emmanuel Briot  <briot@adacore.com>
4747
4748	* gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
4749	prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
4750	between gnatmake and gprbuild.
4751	(Naming_Data): Removed, no longer used
4752	(Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
4753	needed locally in one subprogram, no need to store forever in the
4754	structure.
4755	(Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
4756	a similar role.
4757	(Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
4758	Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
4759	Spec_Suffix_Id_Of): removed, no longer used.
4760
47612009-06-25  Javier Miranda  <miranda@adacore.com>
4762
4763	* sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
4764	types on qualified expression in calls to imported C++ constructors.
4765
4766	* exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
4767	imported C++ constructors.
4768
47692009-06-25  Sergey Rybin  <rybin@adacore.com>
4770
4771	* vms_data.ads: Add qualifier for new gnatcheck '-t' option.
4772
47732009-06-25  Vincent Celier  <celier@adacore.com>
4774
4775	* s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
4776	provided, on Windows change all '/' to '\'.
4777
4778	* fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
4779	used. Minor comment changes
4780
4781	* prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
4782	Remove_Forbidden_File_Name.
4783
47842009-06-25  Quentin Ochem  <ochem@adacore.com>
4785
4786	* prj.ads (Unit_Index): Now general access type.
4787
47882009-06-25  Pascal Obry  <obry@adacore.com>
4789
4790	* a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
4791
47922009-06-25  Emmanuel Briot  <briot@adacore.com>
4793
4794	* fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
4795	prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
4796	computed efficiently from the other fields.
4797	(Object_To_Global_Archive): New subprogram
4798	(Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
4799	(Override_Kind): Fix handling of separates in Ada.
4800	(Create_Mapping_File): Remove duplicate code
4801	(Naming_Data.Implementation_Exception, Specification_Exception):
4802	field removed, since never used.
4803	(Naming_Data.Specs, .Bodies): field removed, since this is only
4804	used while processing the project and is not needed once the tree
4805	is in memory. This brings Naming_Data and Lang_Naming_Data
4806	closer (same content now, but different use still).
4807
48082009-06-25  Pascal Obry  <obry@adacore.com>
4809
4810	* sem_ch4.adb: Minor reformatting.
4811
4812	* a-strsea.adb: Fix confusion between 'Length and 'Last.
4813
48142009-06-25  Ed Schonberg  <schonberg@adacore.com>
4815
4816	* exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
4817	Unchecked_Access): If the context is an interface type, and the prefix
4818	is of the corresponding class-wide type, do not insert a conversion
4819	because the pointer displacement has already taken place, and we must
4820	retain the class-wide type in a dispatching context.
4821
48222009-06-25  Emmanuel Briot  <briot@adacore.com>
4823
4824	* prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
4825	the previous source file.
4826	(Create_Mapping): Iterate on sources rather than on units.
4827
48282009-06-25  Emmanuel Briot  <briot@adacore.com>
4829
4830	* gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
4831	prj-env.adb, prj-env.ads (Slash): removed, no longer used
4832	(Source_Data): no longer use Path.Name to point to a locally removed
4833	file. Instead we use the field Locally_Removed which is clearer
4834
48352009-06-25  Arnaud Charlet  <charlet@adacore.com>
4836
4837	* gcc-interface/Make-lang.in: Remove references to sem_maps.o
4838
4839	* sem_maps.adb, sem_maps.ads: Removed, not used.
4840
48412009-06-25  Ed Falis  <falis@adacore.com>
4842
4843	* s-vxwext-rtp.ads: Add missing declaration
4844
48452009-06-25  Matthew Gingell  <gingell@adacore.com>
4846
4847	* a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
4848	speed up unmapped case.
4849
48502009-06-25  Vincent Celier  <celier@adacore.com>
4851
4852	* prj-nmsc.adb (Check): Change error message for illegal abstract
4853	projects.
4854
48552009-06-25  Robert Dewar  <dewar@adacore.com>
4856
4857	* gnat_ugn.texi: Add note on use of -gnatct for ASIS
4858
48592009-06-25  Emmanuel Briot  <briot@adacore.com>
4860
4861	* fmap.ads: Add documentation on mapping files
4862
48632009-06-25  Robert Dewar  <dewar@adacore.com>
4864
4865	* exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
4866	reformatting
4867
48682009-06-24  Robert Dewar  <dewar@adacore.com>
4869
4870	* prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
4871
4872	* a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
4873	case.
4874	(Index): Ditto.
4875
48762009-06-24  Ed Schonberg  <schonberg@adacore.com>
4877
4878	* sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
4879	present when checking whether a call may be interpreted as an indexing
4880	of the result of a call.
4881
4882	* exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
4883	body for a null procedure on the freeze actions for the procedure, so
4884	that it will be analyzed at the proper place without premature freezing
4885	of actuals.
4886
4887	* sem_ch3.adb (Check_Completion): Code cleanup.
4888	Do not diagnose a null procedure without a body, if previous errors
4889	have disabled expansion.
4890
48912009-06-24  Doug Rupp  <rupp@adacore.com>
4892
4893	* init.c [VMS] Resignal C$_SIGKILL
4894
48952009-06-24  Ed Falis  <falis@adacore.com>
4896
4897	* s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
4898	Define ERROR in body for VxWorks 6 kernel
4899
49002009-06-24  Pascal Obry  <obry@adacore.com>
4901
4902	* g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
4903	in [Send/Receive]_Socket.
4904
49052009-06-24  Emmanuel Briot  <briot@adacore.com>
4906
4907	* prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
4908	prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
4909	to several subprograms.
4910	(Source_Data.Other_Part): Removed, since can be computed from the
4911	language.
4912	(Other_Part): New subprogram.
4913
49142009-06-24  Emmanuel Briot  <briot@adacore.com>
4915
4916	* gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
4917	the full base name of the file when the suffix doesn't start with a '.'.
4918
49192009-06-24  Vincent Celier  <celier@adacore.com>
4920
4921	* prj-nmsc.adb (Check): A project declared abstract is legal if no
4922	attribute Source_Dirs, Source_Files, Source_List_File or Languages is
4923	declared.
4924
49252009-06-24  Robert Dewar  <dewar@adacore.com>
4926
4927	* clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
4928	prj-env.adb: Minor reformatting
4929
49302009-06-24  Ed Falis  <falis@adacore.com>
4931
4932	* s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
4933	s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
4934	s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
4935	support for VxWorks SMP.
4936
4937	* gcc-interface/Make-lang.in: Update dependencies
4938
49392009-06-24  Emmanuel Briot  <briot@adacore.com>
4940
4941	* gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
4942	prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
4943	no longer useful.
4944	(Source_Data.Lang_Kind): Removed, since it duplicates information
4945	already available through Language.Config.
4946	(Source_Data.Compile): Removed, since information is already available
4947	through the language.
4948	(Is_Compilable): New subprogram.
4949	(Source_Data.Dependency): Removed, since already available through
4950	the language.
4951	(Source_Data.Object_Exist, Object_Linked): Removed since available
4952	through the language already.
4953	(Unit_Data.File_Names): Is now also set in multi_language mode, to
4954	bring the two modes closer in the resulting data structures.
4955	(Source_Data.Unit): Now a direct pointer to the unit data, rather than
4956	just the name that would point into a hash table.
4957	(Get_Language_From_Name): New subprogram.
4958
49592009-06-24  Javier Miranda  <miranda@adacore.com>
4960
4961	* exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
4962	visible through limited-with context clauses. In addition, avoid an
4963	extra tag check that is not required when the class-wide
4964	designated types of the operand and target types are
4965	the same entity.
4966	(Tagged_Membership): Handle entities from the limited view.
4967
49682009-06-24  Emmanuel Briot  <briot@adacore.com>
4969
4970	* gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
4971	prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
4972	(Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
4973	different vocabularies for similar concepts (Impl/Body_Part and
4974	Spec/Specification).
4975	(Unit_Data): now points directly to a Source_Id, rather than duplicating
4976	some of the information in File_Name_Data. This also saves a bit of
4977	memory. However, since we are now using a pointer we need to test
4978	for null explicitly in several places of the code
4979
49802009-06-24  Javier Miranda  <miranda@adacore.com>
4981
4982	* exp_ch4.adb (Expand_N_Type_Conversion): return immediately
4983	from processing the type conversion when the node is
4984	replaced by an N_Raise_Program_Error node.
4985
49862009-06-24  Hristian Kirtchev  <kirtchev@adacore.com>
4987
4988	* sem_ch6.adb (Designates_From_With_Type): New routine.
4989	(Process_Formals): Since anonymous access types are no longer flagged
4990	as from with types, traverse the designated type to determine whether
4991	it is coming from a limited view.
4992
4993	* sem_res.adb: Remove with and use clauses for Sem_Ch10.
4994	(Full_Designated_Type): Use Available_View to extract the non-limited /
4995	full view of a type.
4996
49972009-06-24  Robert Dewar  <dewar@adacore.com>
4998
4999	* exp_ch6.adb: Minor reformatting
5000
5001	* layout.adb: Minor reformatting
5002
5003	* make.adb: Minor reformatting
5004
50052009-06-24  Thomas Quinot  <quinot@adacore.com>
5006
5007	* sem_ch10.adb: Minor code reorganization.
5008
50092009-06-24  Eric Botcazou  <ebotcazou@adacore.com>
5010
5011	* ttypes.ads: Minor editing.
5012
50132009-06-24  Robert Dewar  <dewar@adacore.com>
5014
5015	* exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
5016	in deciding to do call-by-copy code.
5017
50182009-06-24  Vincent Celier  <celier@adacore.com>
5019
5020	* make.adb (Gnatmake): To decide if an executable should be rebuilt,
5021	check if an externally built library file is more current than the
5022	executable.
5023
50242009-06-23  Olivier Hainque  <hainque@adacore.com>
5025
5026	* gcc-interface/utils.c (handle_vector_size_attribute): Import from
5027	c-common.c and populate in gnat_internal_attribute_table.
5028
50292009-06-23  Ed Schonberg  <schonberg@adacore.com>
5030
5031	* sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
5032	Available_View only when designated type of an anonymous access type
5033	is  limited view.
5034
50352009-06-23  Robert Dewar  <dewar@adacore.com>
5036
5037	* sem_ch10.adb: Minor reformatting
5038
5039	* ali.ads: Mino reformatting.
5040
5041	* gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
5042	turning off inlining if ASIS mode active).
5043
5044	* switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
5045	This belongs in gnat1drv.adb after switches are scanned.
5046
50472009-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
5048
5049	* sem_attr.adb: Add with and use clauses for Sem_Ch10.
5050	(Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
5051	when dealing with class-wide types. Detect a legal shadow entity and
5052	retrieve its non-limited view.
5053
5054	* sem_ch10.adb (Has_With_Clause): Move the spec and body of the
5055	subprogram to top package level from Intall_Limited_Withed_Unit.
5056	(Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
5057	Add check which prevents the installation of a limited view if the
5058	non-limited view is already visible through a with clause.
5059	(Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
5060	legal shadow entity which may occur in subprogram formals of anonymous
5061	access type.
5062
5063	* sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
5064
5065	* sem_ch3.adb (Access_Definition): Remove the propagation of flag
5066	From_With_Type from the designated type to the generated anonymous
5067	access type. Remove associated comment.
5068
5069	* sem_res.adb Add with and use clauses for Sem_Ch10.
5070	(Full_Designated_Type): Detect a legal shadow entity and retrieve its
5071	non-limited view. Since the shadow entity may replace a regular
5072	incomplete type, return the available full view.
5073
50742009-06-23  Ed Schonberg  <schonberg@adacore.com>
5075
5076	* sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
5077	incomplete type declarations. Previous code was potentially quadratic
5078	in the number of visible declarations in any package appearing in a
5079	limited_with_clause.
5080
50812009-06-23  Robert Dewar  <dewar@adacore.com>
5082
5083	* prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
5084	xref_lib.adb: Minor reformatting
5085
50862009-06-23  Robert Dewar  <dewar@adacore.com>
5087
5088	* a-stzhas.adb: Provide dummy body to avoid build problems with old
5089	versions which did have a body for this unit.
5090
50912009-06-23  Vincent Celier  <celier@adacore.com>
5092
5093	* prj-attr.adb: Attribute names Initial_Required_Switches and
5094	Final_Required_Switches changed to Leading_Required_Switches and
5095	Trailing_Required_Switches.
5096
5097	* prj-nmsc.adb (Process_Compiler): Attribute names
5098	Initial_Required_Switches and Final_Required_Switches changed to
5099	Leading_Required_Switches and Trailing_Required_Switches.
5100
5101	* prj.ads (Language_Config): Component Initial_Required_Switches and
5102	Final_Required_Switches changed to Leading_Required_Switches and
5103	Trailing_Required_Switches.
5104
5105	* snames.ads-tmpl: Remove standard names Initial_Required_Switches and
5106	Final_Required_Switches; add standard names Leading_Required_Switches
5107	and Trailing_Required_Switches.
5108
51092009-06-23  Thomas Quinot  <quinot@adacore.com>
5110
5111	* prj-conf.adb: Minor reformatting
5112
5113	* xref_lib.adb: Minor cleanup
5114
51152009-06-23  Emmanuel Briot  <briot@adacore.com>
5116
5117	* prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
5118	prj-conf.ads (Check_Configuration): New parameter
5119	Compiler_Driver_Mandatory.
5120
51212009-06-23  Ed Schonberg  <schonberg@adacore.com>
5122
5123	* sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
5124	context of the current unit has an inline pragma, the instance is not
5125	rewritten as the declaration of the package wrapper. Handle both
5126	possibilities when retrieving the visible subprogram that renames the
5127	instantiation itself.
5128
51292009-06-23  Javier Miranda  <miranda@adacore.com>
5130
5131	* exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
5132	designated types referencing entities from the limited view.
5133
51342009-06-23  Robert Dewar  <dewar@adacore.com>
5135
5136	* s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
5137
5138	* s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
5139	small values
5140
5141	* prj-conf.ads: Minor reformatting
5142
5143	* prj-conf.adb: Minor reformatting
5144
51452009-06-23  Vasiliy Fofanov  <fofanov@adacore.com>
5146
5147	* g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
5148	to correspond to the log format that gnatmem now expects.
5149
51502009-06-23  Vincent Celier  <celier@adacore.com>
5151
5152	* prj-attr.adb: New attributes Initial_Required_Switches,
5153	Final_Required_Switches and Object_File_Switches
5154
5155	* prj-nmsc.adb (Process_Compiler): Process new attributes
5156	Name_Final_Required_Switches, Name_Initial_Required_Switches and
5157	Name_Object_File_Switches.
5158
5159	* prj.ads (Language_Config): New component
5160	Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
5161	Compiler_Final_Required_Switches and Object_File_Switches.
5162
5163	* snames.ads-tmpl: New standard names Initial_Required_Switches,
5164	Final_Required_Switches and Object_File_Switches
5165
51662009-06-23  Pascal Obry  <obry@adacore.com>
5167
5168	* s-strhas.adb, s-strhas.ads: Minor reformatting.
5169
51702009-06-23  Ed Schonberg  <schonberg@adacore.com>
5171
5172	* sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
5173	not indicate that the enclosing unit needs a body.
5174
51752009-06-23  Emmanuel Briot  <briot@adacore.com>
5176
5177	* prj-conf.ads, prj-conf.adb: New files part of the project manager.
5178
51792009-06-23  Ed Schonberg  <schonberg@adacore.com>
5180
5181	* sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
5182	primitive equality include it with its source name even if the
5183	operation is currently invisible, to make sure that the corresponding
5184	slot in the dispatch table is reserved for the internal equality
5185	subsequently generated during expansion.
5186
51872009-06-23  Matthew Gingell  <gingell@adacore.com>
5188
5189	* Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
5190
51912009-06-22  Jose Ruiz  <ruiz@adacore.com>
5192
5193	* sysdep.c (__gnat_localtime_tzoff for RTX):
5194	SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
5195	GetTimeZoneInformation instead.
5196
51972009-06-22  Robert Dewar  <dewar@adacore.com>
5198
5199	* sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
5200
52012009-06-22  Ed Schonberg  <schonberg@adacore.com>
5202
5203	* sem_ch12.adb (Collect_Previous_Instances): Do not collect
5204	instantiations declared in a previous generic package body.
5205
52062009-06-22  Robert Dewar  <dewar@adacore.com>
5207
5208	* gnat_rm.texi: Add doc that X=True and X=False is allowed for the
5209	restriction No_Direct_Boolean_Operators.
5210
52112009-06-22  Thomas Quinot  <quinot@adacore.com>
5212
5213	* bindusg.adb: Minor fixes to gnatbind usage message
5214
5215	* sem_eval.adb: Minor reformatting
5216
52172009-06-22  Javier Miranda  <miranda@adacore.com>
5218
5219	* sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
5220	freezing point the check on the use of abstract types in object
5221	declarations. Done to allow the declaration of C++ imported variables
5222	or constants whose type corresponds with an imported C++ classes for
5223	which the constructor is not imported.
5224
52252009-06-22  Thomas Quinot  <quinot@adacore.com>
5226
5227	* sem_ch6.adb: Minor reformatting
5228
52292009-06-22  Ed Schonberg  <schonberg@adacore.com>
5230
5231	* exp_ch3.adb (Build_Initialization_Call): If a discriminated record
5232	component is constrained with an expression rather than with a
5233	discriminant of the enclosing type, use that expression when building
5234	the call to default-initialize the component, when the call is part of
5235	an aggregate with box initialization.
5236
52372009-06-22  Ed Schonberg  <schonberg@adacore.com>
5238
5239	* sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
5240	unconditional rather than a style check, because a formal name out of
5241	order is suspicious.
5242
52432009-06-22  Vincent Celier  <celier@adacore.com>
5244
5245	* prj-nmsc.adb (Locate_Directory): Indicate the project name when
5246	creating a directory automatically.
5247
52482009-06-22  Eric Botcazou  <ebotcazou@adacore.com>
5249
5250	* sem_ch3.adb (Create_Constrained_Components): For a subtype of an
5251	untagged derived type, add a hidden component for every constrained
5252	discriminant of the parent type to keep record layout consistent.
5253
52542009-06-22  Thomas Quinot  <quinot@adacore.com>
5255
5256	* exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
5257	copy).
5258
52592009-06-22  Matthew Gingell  <gingell@adacore.com>
5260
5261	* a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
5262	s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
5263	g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
5264	a-swuwha.adb: New unit System.String_Hash.
5265	Refactor redundant cut and pasted hash functions with instances of a
5266	new generic hash function.
5267	Implement a new string hashing algorithm which appears in testing to
5268	be move effective than to previous approach.
5269
52702009-06-22  Ed Falis  <falis@adacore.com>
5271
5272	* sysdep.c: remove include for nfsLib.h and an NFS specific error
5273	message for VxWorks 653 vThreads: not supported by the OS.
5274
5275	* gsocket.h: disable sockets for VxWorks 653 vThreads.
5276
52772009-06-22  Robert Dewar  <dewar@adacore.com>
5278
5279	* sem_ch6.adb: Add ??? comment for bad use of Style_Check
5280
52812009-06-22  Robert Dewar  <dewar@adacore.com>
5282
5283	* sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
5284	by Sloc_Range.
5285
5286	* freeze.adb: Minor comment updates
5287
5288	* s-valrea.adb (Bad_Based_Value): New procedure
5289	(Scan_Real): Raise exceptions with messages
5290
52912009-06-22  Matthew Gingell  <gingell@adacore.com>
5292
5293	* adaint.h: Complete previous change.
5294
52952009-06-22  Thomas Quinot  <quinot@adacore.com>
5296
5297	* exp_ch7.ads, exp_ch3.adb: Minor reformatting
5298
52992009-06-22  Ed Schonberg  <schonberg@adacore.com>
5300
5301	* sem_ch6.adb (Check_Overriding_Indicator): When style checks are
5302	enabled, emit warning when a non-controlling argument of the overriding
5303	operation appears out of place vis-a-vis of the formal of the
5304	overridden operation.
5305
53062009-06-22  Vincent Celier  <celier@adacore.com>
5307
5308	* gnatcmd.adb (Check_Files): Close temporary files after all file names
5309	have been written into it.
5310
53112009-06-22  Matthew Gingell  <gingell@adacore.com>
5312
5313	* adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
5314	available.
5315
53162009-06-22  Thomas Quinot  <quinot@adacore.com>
5317
5318	* sem_disp.adb (Check_Direct_Call): Handle the case where the full
5319	view of the root type is visible at the point of the call.
5320
53212009-06-22  Pat Rogers  <rogers@adacore.com>
5322
5323	* gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
5324
53252009-06-22  Jerome Lambourg  <lambourg@adacore.com>
5326
5327	* freeze.adb: Add comments.
5328
53292009-06-21  Thomas Quinot  <quinot@adacore.com>
5330
5331	* exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
5332	sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
5333	Factor out code to new subprogram...
5334	(Exp_Util.Find_Init_Call): New shared routine to find the init proc call
5335	for a default initialized variable.
5336	(Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
5337	entity that has an associated freeze node.
5338	(Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
5339	If there is an init call for the object, defer it to the object freeze
5340	point.
5341	(Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
5342	name clash with new subprogram introduced in Exp_Util.
5343
53442009-06-21  Robert Dewar  <dewar@adacore.com>
5345
5346	* einfo.ads: Minor reformatting
5347
53482009-06-21  Ed Falis  <falis@adacore.com>
5349
5350	* env.c (__gnat_environ): return NULL for vThreads - unimplemented
5351
53522009-06-21  Eric Botcazou  <ebotcazou@adacore.com>
5353
5354	* einfo.ads: Update comments.
5355
53562009-06-21  Hristian Kirtchev  <kirtchev@adacore.com>
5357
5358	* sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
5359	where the controlling formal is of private class-wide type whose
5360	completion is a synchronized type can be converted into direct calls.
5361
53622009-06-21  Vincent Celier  <celier@adacore.com>
5363
5364	* gnatcmd.adb (Check_Files): When all sources of the project are to be
5365	indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
5366	of sources using -files=, so that the distinction can be made by the
5367	tool of a call with no source (to display the usage) from a call with
5368	a project file that contains no source.
5369
53702009-06-21  Jerome Lambourg  <lambourg@adacore.com>
5371
5372	* exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
5373	case of VM convention arrays.
5374
53752009-06-20  Robert Dewar  <dewar@adacore.com>
5376
5377	* a-nudira.adb: Minor reformatting
5378
53792009-06-20  Ed Schonberg  <schonberg@adacore.com>
5380
5381	* exp_ch3.adb (Build_Record_Init_Proc): When copying initial
5382	expressions (possibly from a parent type) indicate that the scope of
5383	the new itypes is the initialization procedure being built.
5384
53852009-06-20  Robert Dewar  <dewar@adacore.com>
5386
5387	* a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
5388	Needs_64, and now computed without anomolies for some dynamic types.
5389
53902009-06-20  Thomas Quinot  <quinot@adacore.com>
5391
5392	* sem_prag.adb: Minor reformatting
5393
5394	* exp_disp.ads: Minor reformatting
5395
53962009-06-20  Ed Schonberg  <schonberg@adacore.com>
5397
5398	* sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
5399	function call is a legal expression to initialize a limited object.
5400
5401	* exp_ch3.adb: Rename various freeze operations that perform expansion
5402	actions, to prevent confusion with subprograms in the freeze package.
5403
54042009-06-20  Ed Schonberg  <schonberg@adacore.com>
5405
5406	* sem.adb (Walk_Library_Units): Check instantiations first.
5407
5408	* sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
5409	private primitive if it is a function with a controlling result that is
5410	a type extension with progenitors.
5411
5412	* exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
5413	a primitive operation of a synchronized tagged type that has a
5414	controlling result.
5415
54162009-06-20  Thomas Quinot  <quinot@adacore.com>
5417
5418	* einfo.ads: Fix typo.
5419
54202009-06-20  Ed Falis  <falis@adacore.com>
5421
5422	* s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
5423
54242009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5425
5426	* gcc-interface/trans.c (emit_check): Do not wrap up the result
5427	in a SAVE_EXPR.
5428	(protect_multiple_eval): Always protect complex expressions.
5429
54302009-06-19  Emmanuel Briot  <briot@adacore.com>
5431
5432	* prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
5433	make sure we always return a name ending with a path separator.
5434
54352009-06-19  Javier Miranda  <miranda@adacore.com>
5436
5437	* sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
5438	Save and restore the visibility of the parent when installed.
5439
54402009-06-19  Jose Ruiz  <ruiz@adacore.com>
5441
5442	* s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
5443	by Common which contains all these fields.
5444
5445	* s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
5446	Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
5447	Remove code duplication in this package by means of calling the
5448	equivalent code in s-taprob.
5449
54502009-06-19  Robert Dewar  <dewar@adacore.com>
5451
5452	* a-einuoc.ads: Minor reformatting
5453
54542009-06-19  Ed Falis  <falis@adacore.com>
5455
5456	* a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
5457	s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
5458
54592009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5460
5461	* einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
5462
54632009-06-19  Robert Dewar  <dewar@adacore.com>
5464
5465	* a-nudira.adb (Need_64): Handle negative ranges and also dynamic
5466	ranges
5467
5468	* checks.adb (Determine_Range): Move the test for generic types later.
5469
5470	* sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
5471	cases.
5472	(Eval_Relational_Op): Fold more cases including string compares
5473
5474	* sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
5475	function.
5476
54772009-06-19  Robert Dewar  <dewar@adacore.com>
5478
5479	* sem_type.ads, sem_ch12.adb: Minor reformatting
5480
5481	* s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
5482
54832009-06-19  Ed Schonberg  <schonberg@adacore.com>
5484
5485	* exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
5486	primitive operation of a rivate extension whose controlling argument
5487	is an out parameter.
5488
5489	* sem.adb (Walk_Library_Units): exclude generic package declarations
5490	from check.
5491
54922009-06-19  Thomas Quinot  <quinot@adacore.com>
5493
5494	* i-vxwoio.ads: Add comments
5495
54962009-06-19  Thomas Quinot  <quinot@adacore.com>
5497
5498	* socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
5499	g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
5500	g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
5501	(GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
5502	(GNAT.Sockets.Thin.Socket_Ioctl): Use new function
5503	Thin_Common.Socket_Ioctl.
5504	(GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
5505	__gnat_socket_ioctl.
5506	(__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
5507	argument after the file descriptor and request code.
5508
55092009-06-19  Robert Dewar  <dewar@adacore.com>
5510
5511	* checks.adb: Minor reformatting
5512
55132009-06-19  Jose Ruiz  <ruiz@adacore.com>
5514
5515	* env.c (__gnat_environ): RTX does not support this functionality.
5516
55172009-06-19  Ed Schonberg  <schonberg@adacore.com>
5518
5519	* sem.adb (Walk_Library_Items): Include bodies in the list of units to
5520	traverse, to account for front-end inlining and instantiations in a
5521	spec or in the main unit.
5522
55232009-06-19  Robert Dewar  <dewar@adacore.com>
5524
5525	* checks.adb (Determine_Range): Do not attempt to get range of generic
5526	type.
5527
55282009-06-19  Sergey Rybin  <rybin@adacore.com>
5529
5530	* gnat_ugn.texi, vms_data.ads: Add the documentation for the new
5531	gnatmetric option for generating the schema file for gnatmetric XML
5532	output. Add corresponding VMS qualifier.
5533
55342009-06-19  Robert Dewar  <dewar@adacore.com>
5535
5536	* g-cgi.adb: Minor reformatting
5537
55382009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
5539
5540	* s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
5541	signal code for SIGFPE and raise Program_Error for SIGILL.
5542
5543	* s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
5544
55452009-06-19  Ed Schonberg  <schonberg@adacore.com>
5546
5547	* sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
5548	generic package if there is a visibility candidate that is declared in
5549	a regular package.
5550
55512009-06-18  Olivier Hainque  <hainque@adacore.com>
5552
5553	* system-aix64.ads: New file.
5554	* gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
5555	64bit system.ads for ppc64 multilib variants.
5556
55572009-06-16  Robert Dewar  <dewar@adacore.com>
5558            Olivier Hainque  <hainque@adacore.com>
5559
5560	Relax constraints on Machine_Attribute argument types:
5561	* sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
5562	missing type.
5563	(Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
5564	* gcc-interface/decl.c (prepend_attributes): Accept static
5565	expressions of any type as attribute arguments, not only string
5566	literals.
5567	* gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
5568	the relaxation of the restriction on the Info argument type.
5569
55702009-06-13  Aldy Hernandez  <aldyh@redhat.com>
5571
5572	* gcc-interface/utils.c (record_builtin_type): Pass location
5573	argument to build_decl.
5574	(create_type_stub_decl): Same.
5575	(create_type_decl): Same.
5576	(create_var_decl_1): Same.
5577	(create_field_decl): Same.
5578	(create_param_decl): Same.
5579	(create_label_decl): Same.
5580	(create_subprog_decl): Same.
5581	* gcc-interface/decl.c (gnat_to_gnu_entity): Same.
5582	* gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
5583	argument to create_artificial_label.
5584	(Loop_Statement_to_gnu): Same.
5585	(Subprogram_Body_to_gnu): Same.
5586	(gnat_gimplify_stmt): Same.
5587
55882009-06-11  Richard Henderson  <rth@redhat.com>
5589
5590	* gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
5591	OPT_gdwarfplus.
5592
55932009-06-11  Ed Schonberg  <schonberg@adacore.com>
5594
5595	* sem_attr.adb (Resolve_Attribute, case 'access): Add missing
5596	accessibiliy check on access_to_subprogram in the context of an
5597	anonymous access that is not an access parameter.
5598
55992009-06-11  Eric Botcazou  <ebotcazou@adacore.com>
5600
5601	* tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
5602
56032009-06-11  Quentin Ochem  <ochem@adacore.com>
5604
5605	* sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
5606	comments for message handled by GPS.
5607
56082009-06-11  Matthew Gingell  <gingell@adacore.com>
5609
5610	* adaint.c: Use fopen64 instead of fopen on platforms where we know
5611	it's supported.
5612
56132009-06-11  Pascal Obry  <obry@adacore.com>
5614
5615	* g-cgi.ads: Fix comment typo.
5616
5617	* g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
5618
56192009-06-10  Eric Botcazou  <ebotcazou@adacore.com>
5620
5621	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
5622	a reference to the original type for the type of the field of the
5623	XVS type.
5624	(maybe_pad_type): Likewise.
5625
5626	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
5627	common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
5628	Pass correctly typed arguments to create_field_decl.
5629	<E_Record_Subtype>: Set BLKmode for tagged and limited types in the
5630	case of contrained discriminants as well.  Use the padded base type
5631	in the other case as well.  Rename temporary variable.  Tweak test.
5632	Factor common access pattern.  Set GNU_SIZE only once.
5633
56342009-06-09  Olivier Hainque  <hainque@adacore.com>
5635
5636	* gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
5637	helper for build_call_alloc_dealloc with arguments to be interpreted
5638	identically.  Process the case where a GNAT_PROC to call is provided.
5639	(maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
5640	and return an allocator for DATA_SIZE bytes aimed at containing a
5641	DATA_TYPE object, using the default __gnat_malloc allocator.  Honor
5642	DATA_TYPE alignments greater than what the latter offers.
5643	(maybe_wrap_free): New helper for build_call_alloc_dealloc, to
5644	release a DATA_TYPE object designated by DATA_PTR using	the
5645	__gnat_free entry point.
5646	(build_call_alloc_dealloc): Expect object data type instead of naked
5647	alignment constraint. Use the new helpers.
5648	(build_allocator): Remove special processing for the super-aligned
5649	case, now handled by build_call_alloc_dealloc.  Pass data
5650	type instead of the former alignment argument, as expected by the new
5651	interface.
5652	* gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
5653	and comment.
5654	* gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
5655	Remove special processing for the super-aligned case, now handled
5656	by build_call_alloc_dealloc.  Pass data type instead of	the former
5657	alignment argument, as expected by the new interface.
5658
56592009-06-08  Alexandre Oliva  <aoliva@redhat.com>
5660
5661	* lib-writ.adb (flag_compare_debug): Import.
5662	(Write_ALI): Skip during -fcompare-debug-second.
5663
56642009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5665
5666	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
5667	adjusting the discriminant nodes in an extension, use the full view
5668	of the parent subtype if it is of a private kind.
5669
56702009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5671
5672	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the
5673	_Parent field, if any, to the record before adding the other fields.
5674	<E_Record_Subtype>: Put the _Controller field before the other fields
5675	except for the _Tag or _Parent fields.
5676	(components_to_record): Likewise.  Retrieve the _Parent field from the
5677	record type.
5678
56792009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
5680
5681	* gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
5682	remove unused parameter and simplify.
5683	(gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS.  Factor
5684	common predicate.  Rewrite loop for clarity.  Use GNU_TYPE directly
5685	as context for all discriminants.  Fix formatting nits.
5686	<E_Record_Subtype>: Add cosmetic 'break'.  Test Has_Discriminants
5687	before Discriminant_Constraint.  Adjust for above renaming.  Do not
5688	set GNU_TYPE more than once.
5689	(elaborate_entity): Test Has_Discriminants on the entity and use
5690	Implementation_Base_Type.
5691	(components_to_record): Rename component_list to gnat_component_list.
5692	Retrieve the _Parent field from the list.  Fix nits in comments.
5693	Clarify logic in loop.  Pass correct arguments to create_field_decl.
5694
56952009-06-02  Eric Botcazou  <ebotcazou@adacore.com>
5696
5697	* gcc-interface/Make-lang.in: Fix formatting.
5698
56992009-06-01  Olivier Hainque  <hainque@adacore.com>
5700	    Eric Botcazou  <ebotcazou@adacore.com>
5701
5702	* gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
5703	to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
5704	on the result if at least one of the input fields couldn't be output
5705	as a static constant any more.
5706
57072009-06-01  Olivier Hainque  <hainque@adacore.com>
5708	    Eric Botcazou  <ebotcazou@adacore.com>
5709
5710	* gcc-interface/utils2.c (gnat_build_constructor): Factor
5711	out code.  Use initializer_constant_valid_for_bitfield_p and
5712	CONSTRUCTOR_BITFIELD_P for bit-fields.
5713
57142009-05-26  Ian Lance Taylor  <iant@google.com>
5715
5716	* gcc-interface/Makefile.in (COMPILER): Define.
5717	(COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
5718	(.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
5719	(seh_init.o, tracebak.o): Likewise.
5720	* gcc-interface/Make-lang.in (ada/targext.o): Likewise.
5721	(ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
5722	(ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
5723	(ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
5724	(ada/utils2.o): Likewise.
5725
57262009-05-24  Olivier Hainque  <hainque@adacore.com>
5727
5728	* switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
5729	* switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
5730	Add -auxbase variants to the list of recognized internal switches.
5731	* back_end.adb (Scan_Back_End_Switches): Use the new functions and
5732	adjust comments.
5733	* lib.ads: Make comment on internal GCC switches more general.
5734	* gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
5735	as for C.
5736
57372009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5738
5739	* gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
5740
57412009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5742
5743	* gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
5744	types.
5745
57462009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
5747
5748	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
5749	original type because of the alignment when there is an address clause.
5750
57512009-05-20  Eric Botcazou  <ebotcazou@adacore.com>
5752
5753	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
5754	discriminants affect the shape of the subtype, retrieve the GCC type
5755	directly from the original field if the GNAT types for the field and
5756	the original field are the same.
5757
57582009-05-15  Eric Botcazou  <ebotcazou@adacore.com>
5759
5760	* gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
5761	New macros.
5762	(TYPE_RM_VALUES): Likewise.
5763	(TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
5764	(SET_TYPE_RM_SIZE): New macro.
5765	(TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
5766	(SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
5767	(TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
5768	* gcc-interface/gigi.h (create_range_type): Declare.
5769	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
5770	Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
5771	<E_Signed_Integer_Subtype>: Build a regular integer type first and
5772	then set the RM bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5773	<E_Floating_Point_Subtype>: Build a regular floating-point type first
5774	and then set the RM bounds.
5775	<E_Array_Type>: Use create_range_type instead of build_range_type.
5776	<E_Array_Subtype>: Build a regular integer type first and then set
5777	the RM bounds for the extra subtype.
5778	<E_String_Literal_Subtype>: Use create_range_type instead of
5779	build_range_type.
5780	<all>: Set the RM bounds for enumeration types and the GCC bounds for
5781	floating-point types.
5782	(set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
5783	(make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
5784	to set the bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
5785	(substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
5786	types and with RM bounds for subtypes.
5787	* gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
5788	(gnat_print_type) <REAL_TYPE>: New case.
5789	<ENUMERAL_TYPE>: Fall through to above case.
5790	(gnat_get_subrange_bounds): New function.
5791	* gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
5792	TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
5793	* gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
5794	for booleans.  Adjust and use SET_TYPE_RM_SIZE to set the RM size.
5795	(create_range_type): New function.
5796	(create_param_decl): Build a regular integer type first and then set
5797	the RM bounds for the extra subtype.
5798	(unchecked_convert): Remove kludge for 'Valid.
5799	* gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
5800	the index to sizetype instead of TYPE_DOMAIN.
5801
58022009-05-14  Eric Botcazou  <ebotcazou@adacore.com>
5803
5804	* gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
5805	parameter and move check for static expression to...
5806	(elaborate_expression): ...here.  Adjust call to above function.
5807	(gnat_to_gnu_entity): Likewise for all calls.  Use correct arguments
5808	in calls to elaborate_expression.
5809	(elaborate_entity): Likewise.
5810	(substitution_list): Likewise.
5811	(maybe_variable): Fix formatting.
5812	(substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
5813	missing guard.
5814	* gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
5815
58162009-05-07  Arnaud Charlet  <charlet@adacore.com>
5817
5818	* gcc-interface/Make-lang.in: Update dependencies.
5819
58202009-05-06  Laurent GUERBY  <laurent@guerby.net>
5821
5822	* s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
5823	Define sa_handler_pos.
5824	* s-osinte-linux.ads: Use it.
5825	* s-linux-mipsel.ads: New.
5826	* system-linux-mips64el.ads: New.
5827	* gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
5828	mips64el-linux.
5829
58302009-05-06  Arnaud Charlet  <charlet@adacore.com>
5831
5832	* exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
5833	targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
5834	opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
5835	(Tagged_Type_Expansion): New flag.
5836	Replace use of VM_Target related to tagged types expansion by
5837	Tagged_Type_Expansion, since tagged type expansion is not necessarily
5838	linked to VM targets.
5839
58402009-05-06  Robert Dewar  <dewar@adacore.com>
5841
5842	* sem_attr.adb: Add processing for Standard'Compiler_Version
5843
5844	* sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
5845	skipping.
5846	(Expr_First_Char): Add ??? comment that paren skipping needs work
5847	(Expr_Last_Char): Add ??? comment that paren skipping needs work
5848
5849	* exp_attr.adb: Add processing for Compiler_Version
5850
5851	* sem_attr.adb: New attribute Compiler_Version
5852
5853	* snames.ads-tmpl: Add entries for Compiler_Version attribute
5854
5855	* gnat_rm.texi: Document Compiler_Version attribute
5856
58572009-05-06  Robert Dewar  <dewar@adacore.com>
5858
5859	* errout.adb: Minor reformatting
5860
5861	* scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
5862	sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
5863	styleg.adb: Add stylized comments to error messages that are included
5864	in the codefix circuitry of IDE's such as GPS.
5865
58662009-05-06  Sergey Rybin  <rybin@adacore.com>
5867
5868	* gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
5869	new form of the rule parameter that allows to specify the suffix for
5870	access-to-access type names.
5871
58722009-05-06  Robert Dewar  <dewar@adacore.com>
5873
5874	* sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
5875	out parameter assigned when exception handlers are present.
5876
5877	* sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
5878	assignments on exit.
5879
5880	* par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
5881	sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
5882	prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
5883	par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
5884	messages that are included in the codefix circuitry of IDE's such as
5885	GPS.
5886
5887	* sinput.ads, sinput.adb (Expr_First_Char): New function
5888	(Expr_Last_Char): New function
5889
58902009-05-06  Sergey Rybin  <rybin@adacore.com>
5891
5892	* gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
5893	Add formal definition for extra exit point metric
5894
58952009-05-06  Pascal Obry  <obry@adacore.com>
5896
5897	* adaint.c: Support for setting attributes on unicode filename on
5898	Windows.
5899
59002009-05-06  Robert Dewar  <dewar@adacore.com>
5901
5902	* sem_warn.adb: Minor reformatting
5903
59042009-05-06  Javier Miranda  <miranda@adacore.com>
5905
5906	* sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
5907	not have discriminants or components with default expressions.
5908	(Analyze_Pragma): For pragma CPP_Class check that imported types
5909	have no discriminants and components have no default expression.
5910
5911	* sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
5912	class-wide types in the expression of a record component association.
5913
59142009-05-06  Sergey Rybin  <rybin@adacore.com>
5915
5916	* vms_data.ads: Add qualifier for gnatmetric extra exit points metric
5917
5918	* gnat_ugn.texi: Add description for the new extra exit points metric
5919	(gnatmetric section).
5920
59212009-05-06  Robert Dewar  <dewar@adacore.com>
5922
5923	* s-fileio.adb: Minor comment update
5924
5925	* sem_ch8.adb: Minor reformatting
5926
5927	* exp_ch3.adb: Update comments.
5928
59292009-05-06  Tristan Gingold  <gingold@adacore.com>
5930
5931	* init.c, s-osinte-darwin.ads: Reduce alternate stack size
5932
59332009-05-06  Arnaud Charlet  <charlet@adacore.com>
5934
5935	* gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
5936	Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
5937
5938	* gcc-interface/Make-lang.in: Update dependencies
5939
59402009-05-06  Ed Schonberg  <schonberg@adacore.com>
5941
5942	* sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
5943	change. The context clause of a generic instance declaration must be
5944	preserved until the end of the compilation, because it may have to be
5945	installed/removed repeatedly.
5946	The latest change to sem.adb ensures that the context of both spec and
5947	body of an instance is traversed before the instance itself, making
5948	this patch redundant.
5949
59502009-05-06  Gary Dismukes  <dismukes@adacore.com>
5951
5952	* sem_aggr.adb: Fix typo.
5953
59542009-05-06  Thomas Quinot  <quinot@adacore.com>
5955
5956	* exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
5957	declaration, do not adjust if the declaration is to be rewritten into
5958	a renaming.
5959
59602009-05-06  Ed Schonberg  <schonberg@adacore.com>
5961
5962	* sem_ch8.adb (Find_Type): Reject the use of a task type in its own
5963	discriminant part.
5964
59652009-05-06  Bob Duff  <duff@adacore.com>
5966
5967	* s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
5968	otherwise the compiler would be allowed to optimize away the cleanup
5969	code.
5970
59712009-05-06  Gary Dismukes  <dismukes@adacore.com>
5972
5973	* gnat_ugn.texi: Fix typo.
5974
59752009-05-06  Thomas Quinot  <quinot@adacore.com>
5976
5977	* g-debuti.adb: Minor reformatting
5978
5979	* exp_attr.adb: Minor reformatting
5980
59812009-05-06  Robert Dewar  <dewar@adacore.com>
5982
5983	* sem_aggr.adb: Minor reformatting.
5984
5985	* g-socthi-vms.adb: Minor reformatting
5986
59872009-05-06  Bob Duff  <duff@adacore.com>
5988
5989	* g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
5990	(Append_All): Add Append_All to g-table and g-dyntab, similar to table.
5991
59922009-05-06  Bob Duff  <duff@adacore.com>
5993
5994	* gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
5995	flags.
5996
59972009-05-06  Javier Miranda  <miranda@adacore.com>
5998
5999	* sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
6000	(Resolve_Extension_Aggregate): Do not reject C++ constructors in
6001	extension aggregates.
6002	(Resolve_Record_Aggregate): Add support for C++ constructors in
6003	extension aggregates.
6004
6005	* exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
6006	constructors in extension aggregates.
6007
60082009-05-06  Robert Dewar  <dewar@adacore.com>
6009
6010	* freeze.adb (Freeze_Record_Type): Improve error msg for bad size
6011	clause.
6012
60132009-05-06  Thomas Quinot  <quinot@adacore.com>
6014
6015	* g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
6016	packed type, since on OpenVMS, struct msghdr is packed.
6017
60182009-05-06  Ed Schonberg  <schonberg@adacore.com>
6019
6020	* sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
6021	call returning an unconstrained composite value, create the proper
6022	subtype for it, as is done for object dclarations with unconstrained
6023	nominal subtypes. Perform this transformation regarless of whether
6024	call comes from source.
6025
60262009-05-06  Robert Dewar  <dewar@adacore.com>
6027
6028	* freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
6029	records
6030
6031	* gnat_rm.texi:
6032	Add documentation for pragma Implicit_Packing applied to record
6033	types.
6034
60352009-05-06  Ed Schonberg  <schonberg@adacore.com>
6036
6037	* sem.adb (Walk_Library_Items): Place all with_clauses of an
6038	instantiation on the spec, because late instance bodies may generate
6039	with_clauses for the instance body but are inserted in the instance
6040	spec.
6041
60422009-05-06  Emmanuel Briot  <briot@adacore.com>
6043
6044	* prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
6045	support for returning the directory even if it doesn't exist. This is
6046	used for the object directory, since we are always setting it to a
6047	non-null value, and we should set it to an absolute name rather than a
6048	relative name for the sake of external tools that might depend on it.
6049	(Check_Library_Attributes): When Project.Library_Dir is known, check
6050	that the directory exists.
6051
60522009-05-06  Ed Schonberg  <schonberg@adacore.com>
6053
6054	* sem_attr.adb (Check_Dereference): If the prefix of an attribute
6055	reference is an implicit dereference, do not freeze the designated type
6056	if within a default expression or when preanalyzing a pre/postcondtion.
6057
60582009-05-06  Ed Schonberg  <schonberg@adacore.com>
6059
6060	* sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
6061	call returning an unconstrained composite value, create the proper
6062	subtype for it, as is done for object dclarations with unconstrained
6063	nominal subtypes
6064
60652009-05-06  Robert Dewar  <dewar@adacore.com>
6066
6067	* sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
6068	improvements
6069
6070	* freeze.adb: Minor reformatting
6071
60722009-05-06  Thomas Quinot  <quinot@adacore.com>
6073
6074	* sem_ch3.adb (Access_Type_Declaration): An access type whose
6075	designated type is a limited view from a limited with clause (flagged
6076	From_With_Type) is not itself such a limited view.
6077
60782009-05-06  Emmanuel Briot  <briot@adacore.com>
6079
6080	* prj-nmsc.adb: Remove unused variable.
6081
6082	* clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
6083	prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
6084	makeutl.ads, since not all users of prj.ads need this.
6085
60862009-05-06  Javier Miranda  <miranda@adacore.com>
6087
6088	* exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
6089	constructor in case of aggregates whose type is a CPP_Class type.
6090
60912009-05-06  Robert Dewar  <dewar@adacore.com>
6092
6093	* sem_ch13.adb: Minor comment additions
6094
6095	* osint.adb: Minor reformatting
6096
60972009-05-06  Pascal Obry  <obry@adacore.com>
6098
6099	* initialize.c: On Windows, keep full pathname to expanded command
6100	line patterns.
6101
61022009-05-06  Ed Schonberg  <schonberg@adacore.com>
6103
6104	* sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
6105	an aggregate with box default is of a discriminated private type, do
6106	not build a subaggregate for it.
6107	A proper call to the initialization procedure is generated for it.
6108
61092009-05-06  Thomas Quinot  <quinot@adacore.com>
6110
6111	* rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
6112	(Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
6113	Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
6114	use standard array code for Standard.String.
6115	(Exp_Dist): Bump PolyORB s-parint API version to 3.
6116	(Rtsfind): New entities TA_Std_String, Unbounded_String.
6117
61182009-05-06  Robert Dewar  <dewar@adacore.com>
6119
6120	* g-comlin.ads: Minor reformatting
6121
6122	* xoscons.adb: Minor reformatting
6123
61242009-05-06  Gary Dismukes  <dismukes@adacore.com>
6125
6126	* sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
6127	Underlying_Type before retrieving the type definition for gathering
6128	components, to account for the case where the type is private.
6129
61302009-05-06  Tristan Gingold  <gingold@adacore.com>
6131
6132	* g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
6133
61342009-05-06  Thomas Quinot  <quinot@adacore.com>
6135
6136	* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6137	g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
6138	g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
6139	(GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
6140	Windows versions): Fix incorrect base
6141	address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
6142	(GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
6143	System.Address for the To parameter instead of a Sockaddr_In_Access, to
6144	achieve independance from AF_INET family, and also to allow this
6145	parameter to be retrieved from a Msghdr for the Windows case where
6146	these routines are used to implement C_Sendmsg and C_Recvmsg.
6147
61482009-05-06  Bob Duff  <duff@adacore.com>
6149
6150	* g-expect.adb, g-expect.ads: Minor reformatting
6151
6152	* sdefault.ads: Minor comment fix
6153
6154	* g-expect-vms.adb: Minor reformatting
6155
6156	* table.ads, table.adb (Append_All): New convenience procedure for
6157	appending a whole array.
6158
6159	* comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
6160	box message. Call Osint.Dump_Source_File_Names to print out the file
6161	list, instead of rummaging around in various data structures.
6162
6163	* debug.adb: New switch -gnatd.n, to print source file names as they
6164	are read.
6165
6166	* alloc.ads: Add parameters for Osint.File_Name_Chars.
6167
6168	* osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
6169	out source file names during a "bug box".
6170	(Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
6171	(Read_Source_File): Print out the file name, if requested via -gnatd.n.
6172	If it's not part of the runtimes, store it for later printing by
6173	Dump_Source_File_Names.
6174
61752009-05-06  Javier Miranda  <miranda@adacore.com>
6176
6177	* gnat_rm.texi (CPP_Constructor): Avoid duplication of the
6178	documentation and add reference to the GNAT user guide for further
6179	details.
6180
61812009-05-06  Javier Miranda  <miranda@adacore.com>
6182
6183	* gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
6184	also wrong examples that use extension aggregates.
6185
61862009-05-06  Albert Lee  <lee@adacore.com>
6187
6188	* s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
6189	of Msg_Iovlen_T for VMS.
6190
61912009-05-04  Laurent GUERBY  <laurent@guerby.net>
6192
6193	PR ada/38874
6194	* make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
6195
61962009-04-29  Ed Schonberg  <schonberg@adacore.com>
6197
6198	* sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
6199	box-defaulted operator in an instantiation, when the type of the
6200	operands is not directly visible.
6201
62022009-04-29  Gary Dismukes  <dismukes@adacore.com>
6203
6204	* sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
6205	(Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
6206	analysis of the ancestor part. Remove prohibition against limited
6207	interpretations of the ancestor expression in the case of Ada 2005.
6208	Revise error message in overloaded case, adding a message to cover
6209	the Ada 2005 case.
6210
62112009-04-29  Thomas Quinot  <quinot@adacore.com>
6212
6213	* xoscons.adb: Minor reformatting
6214
62152009-04-29  Bob Duff  <duff@adacore.com>
6216
6217	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
6218	attribute_definition_clauses for the following attributes when the
6219	-gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
6220	Storage_Size, Write. Otherwise, we get spurious errors (for example,
6221	missing Read attribute on remote types).
6222
6223	* gnat_ugn.texi: Document the change, and add a stern warning.
6224
62252009-04-29  Ed Schonberg  <schonberg@adacore.com>
6226
6227	* sem_attr.adb (Check_Local_Access): Indicate that value tracing is
6228	disabled not just for the current scope, but for the innermost dynamic
6229	scope as well.
6230
62312009-04-29  Arnaud Charlet  <charlet@adacore.com>
6232
6233	* gcc-interface/Make-lang.in: Update dependencies
6234
62352009-04-29  Vincent Celier  <celier@adacore.com>
6236
6237	* prj-part.adb: Minor comment update
6238
62392009-04-29  Ed Schonberg  <schonberg@adacore.com>
6240
6241	* sem_aggr.adb (Resolve_Record_Aggregate): handle properly
6242	box-initialized records with discriminated subcomponents that are
6243	constrained by discriminants of enclosing components. New subsidiary
6244	procedures Add_Discriminant_Values, Propagate_Discriminants.
6245
62462009-04-29  Arnaud Charlet  <charlet@adacore.com>
6247
6248	* g-socket.adb: Code clean up.
6249
62502009-04-29  Gary Dismukes  <dismukes@adacore.com>
6251
6252	* sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
6253	function entity, to cover the case of a parameterless function call
6254	that has not been resolved.
6255
62562009-04-29  Robert Dewar  <dewar@adacore.com>
6257
6258	* err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
6259	reformatting and comment updates.
6260
62612009-04-29  Arnaud Charlet  <charlet@adacore.com>
6262
6263	* gnat_ugn.texi: Update some documentation about interfacing with C++
6264	Mention -fkeep-inline-functions.
6265
6266	* gnat_ugn.texi: Minor edits
6267
62682009-04-29  Ed Schonberg  <schonberg@adacore.com>
6269
6270	* sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
6271	for a defaulted component of an enclosing aggregate, inherit the type
6272	from the component declaration of the enclosing type.
6273
62742009-04-29  Albert Lee  <lee@adacore.com>
6275
6276	* g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
6277	g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
6278	(System.OS_Constants): New type Msg_Iovlen_T which follows whether the
6279	msg_iovlen field in struct msghdr is 32 or 64 bits wide.
6280	Relocate the Msghdr record type from GNAT.Sockets.Thin to
6281	GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
6282	type for the Msg_Iovlen field.
6283
62842009-04-29  Vincent Celier  <celier@adacore.com>
6285
6286	* sinput-l.adb (Load_File): When preprocessing, set temporarily the
6287	Source_File_Index_Table entries for the source, to avoid crash when
6288	reporting an error.
6289
6290	* gnatcmd.adb (Test_If_Relative_Path): Use
6291	Makeutl.Test_If_Relative_Path.
6292
6293	* makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
6294	Including_RTS is True.
6295
6296	* makeutl.ads (Test_If_Relative_Path): New Boolean parameter
6297	Including_RTS defaulted to False.
6298
6299	* sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
6300	a default value.
6301
63022009-04-29  Javier Miranda  <miranda@adacore.com>
6303
6304	* gnat_ugn.texi: Adding documentation for non-default C++ constructors.
6305
63062009-04-29  Javier Miranda  <miranda@adacore.com>
6307
6308	* sem_ch3.adb (Analyze_Object_Declaration): Disable error message
6309	associated with dyamically tagged expressions if the expression
6310	initializing a tagged type corresponds with a non default CPP
6311	constructor.
6312	(OK_For_Limited_Init): CPP constructor calls are OK for initialization
6313	of limited type objects.
6314
6315	* sem_ch5.adb (Analyze_Assignment): Improve the error message reported
6316	when a CPP constructor is called in an assignment. Disable also the
6317	error message associated with dyamically tagged expressions if the
6318	exporession initializing a tagged type corresponds with a non default
6319	CPP constructor.
6320
6321	* sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
6322	non-default C++ constructors.
6323
6324	* sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
6325
6326	* exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
6327	non-default constructors.
6328	(Init_Proc): Add support for non-default constructors.
6329
6330	* exp_disp.adb (Set_Default_Constructor): Removed.
6331	(Set_CPP_Constructors): Code based in removed Set_Default_Constructor
6332	but extending its functionality to handle non-default constructors.
6333
6334	* exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
6335	constructors. Minor code cleanup removing unrequired label and goto
6336	statement.
6337
6338	* exp_ch3.adb (Build_Initialization_Call): Add support for non-default
6339	constructors.
6340	(Build_Init_Statements): Add support for non-default constructors.
6341	(Expand_N_Object_Declaration): Add support for non-default constructors.
6342	(Freeze_Record_Type): Replace call to Set_Default_Constructor by call
6343	to Set_CPP_Constructors.
6344
6345	* exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
6346	non-default constructors.
6347	Required to handle its use in build-in-place statements.
6348
6349	* gnat_rm.texi (CPP_Constructor): Document new extended use of this
6350	pragma for non-default C++ constructors and the new compiler support
6351	that allows the use of these constructors in record components, limited
6352	aggregates, and extended return statements.
6353
63542009-04-29  Vincent Celier  <celier@adacore.com>
6355
6356	* prj-part.adb (Parse_Single_Project): Do not attempt to find a
6357	project extending an abstract project.
6358
63592009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6360
6361	* targparm.ads: Fix oversight.
6362
63632009-04-29  Ed Schonberg  <schonberg@adacore.com>
6364
6365	* lib-xref.adb (Output_Overridden_Op): Follow several levels of
6366	derivation when necessary, to find the user-subprogram that is actally
6367	being overridden.
6368
63692009-04-29  Robert Dewar  <dewar@adacore.com>
6370
6371	* sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
6372	components
6373
63742009-04-29  Ed Schonberg  <schonberg@adacore.com>
6375
6376	* exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
6377	primitive operation, rather than source line of synchronized type, when
6378	building the wrapper for a primitive operation that overrides an
6379	operation inherited from a progenitor, to improve the error message on
6380	duplicate declarations.
6381
6382	* sem_ch3.adb (Process_Full_View): Use new signature of
6383	Build_Wrapper_Spec.
6384
63852009-04-29  Robert Dewar  <dewar@adacore.com>
6386
6387	* prj-nmsc.ads: Minor reformatting
6388
63892009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6390
6391	* exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
6392	expression on the existing parent If statement.
6393
63942009-04-29  Robert Dewar  <dewar@adacore.com>
6395
6396	* prj-proc.adb, prj.ads: Minor reformatting
6397
63982009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
6399
6400	* exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
6401	existing parent If statement on the newly created one.
6402
64032009-04-29  Emmanuel Briot  <briot@adacore.com>
6404
6405	* gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
6406	prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
6407	prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
6408	(Set_In_Configuration, In_Configuration): Removed.
6409	Replaced by an extra parameter Is_Config_File in several parameter to
6410	avoid global variables to store the state of the parser.
6411
64122009-04-29  Ed Schonberg  <schonberg@adacore.com>
6413
6414	* sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
6415	with_clauses generated for the same unit through rtsfind, and that
6416	appear in the context of different units.
6417
6418	* rtsfind.adb: New attribute First_Implicit_With, component of the
6419	Unit_Record that stores information about a unit loaded through rtsfind.
6420
64212009-04-29  Gary Dismukes  <dismukes@adacore.com>
6422
6423	* exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
6424	(other conditions permitting), so that abstract stream subprograms will
6425	be declared for them.
6426
64272009-04-29  Bob Duff  <duff@adacore.com>
6428
6429	* g-expect.adb (Expect_Internal): Fix check for overfull buffer.
6430
6431	* g-expect.ads: Minor comment fixes.
6432
64332009-04-29  Ed Schonberg  <schonberg@adacore.com>
6434
6435	* freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
6436	dispatching operation is a body without previous spec, update the list
6437	of primitive operations to ensure that cross-reference information is
6438	up-to-date.
6439
64402009-04-29  Albert Lee  <lee@adacore.com>
6441
6442	* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
6443	g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
6444	g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
6445	(GNAT.Sockets.Thin.C_Readv,
6446	GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
6447	(GNAT.Sockets.Thin.C_Recvmsg,
6448	GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
6449	sendmsg(2).
6450	(GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
6451	C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
6452
64532009-04-29  Ed Schonberg  <schonberg@adacore.com>
6454
6455	* sem_disp.adb (Check_Dispatching_Operation): if the dispatching
6456	operation is a body without previous spec, update the list of
6457	primitive operations to ensure that cross-reference information is
6458	up-to-date.
6459
6460	* sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
6461	new compilation unit node for the instance declaration, keep the
6462	context items of the original unit on it, so that the context of the
6463	instance body only holds the context inherited from the generic body.
6464
64652009-04-29  Bob Duff  <duff@adacore.com>
6466
6467	* sem_res.adb: Minor comment fix.
6468
64692009-04-29  Thomas Quinot  <quinot@adacore.com>
6470
6471	* sem_elim.adb: Minor reformatting
6472
64732009-04-29  Ed Schonberg  <schonberg@adacore.com>
6474
6475	* exp_aggr.adb (Convert_To_Positional): if the current unit is a
6476	predefined unit, allow arbitrary number of components in static
6477	aggregate, to ensure that the same level of constant folding applies
6478	for Ada 95 and Ada 05 versions of the file.
6479
64802009-04-29  Ed Schonberg  <schonberg@adacore.com>
6481
6482	* sem_elim.adb (Check_Eliminated): Handle new improved eliminate
6483	information: no need for full scope check.
6484	(Eliminate_Error): Do not emit error in a generic context.
6485
64862009-04-29  Ed Falis  <falis@adacore.com>
6487
6488	* adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
6489	VxWorks 653 POS does not support rmdir.
6490
64912009-04-29  Matteo Bordin  <bordin@adacore.com>
6492
6493	* s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
6494	results are printed.
6495
64962009-04-29  Arnaud Charlet  <charlet@adacore.com>
6497
6498	* s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
6499	unused assignment.
6500
65012009-04-29  Thomas Quinot  <quinot@adacore.com>
6502
6503	* make.adb: Minor reformatting.
6504	Minor code reorganization throughout.
6505
65062009-04-29  Matteo Bordin  <bordin@adacore.com>
6507
6508	* s-stausa.ads: Changed visibility of type Task_Result: moved to
6509	public part to give application visibility over it.
6510	This is for future improvement and to build a public API on top of it.
6511	Changed record components name of type Task_Result to reflect the new
6512	way of reporting.
6513
6514	* s-stausa.adb: Actual_Size_Str changed to reflect the new way of
6515	reporting Stack usage.
6516
6517	* gnat_ugn.texi: Update doc of stack usage report.
6518
6519	* g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
6520
6521	* Makefile.rtl: Add new run-time files.
6522
65232009-04-29  Pascal Obry  <obry@adacore.com>
6524
6525	* initialize.c: Do not expand quoted arguments.
6526
65272009-04-29  Emmanuel Briot  <briot@adacore.com>
6528
6529	* prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
6530
6531	* clean.adb (Ultimate_Extension_Of): removed, since duplicate of
6532	 Prj.Ultimate_Extending_Project_Of
6533
65342009-04-29  Ed Schonberg  <schonberg@adacore.com>
6535
6536	* exp_ch7.adb (Build_Final_List): If the designated type is a Taft
6537	Amendment type, add the with_clause for Finalization.List_Controller
6538	only if the current context is a package body.
6539
65402009-04-29  Thomas Quinot  <quinot@adacore.com>
6541
6542	* sem_ch12.adb: Minor reformatting
6543
6544	* sem_aggr.adb: Minor reformatting
6545
6546	* sem_ch6.adb, sem_cat.ads: Minor reformatting
6547
6548	* sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
6549
65502009-04-29  Quentin Ochem  <ochem@adacore.com>
6551
6552	* prj.ads (Source_Id): Now general pointer type.
6553
65542009-04-29  Thomas Quinot  <quinot@adacore.com>
6555
6556	* exp_ch7.adb, rtsfind.adb: Minor reformatting
6557
6558	* sem_res.adb: Minor reformatting
6559
65602009-04-29  Thomas Quinot  <quinot@adacore.com>
6561
6562	* sem_res.adb (Static_Concatenation): An N_Op_Concat with static
6563	operands is static only if it is a predefined concatenation operator.
6564
6565	* sem_util.adb: Minor reformatting
6566
6567	* sem_ch12.adb (Save_References): When propagating semantic information
6568	from generic copy back to generic template, for the case of an
6569	identifier that has been rewritten to an explicit dereference whose
6570	prefix is either an object name or a parameterless funcion call
6571	denoting a global object or function, properly capture the denoted
6572	global entity: perform the corresponding rewriting in the template,
6573	and point the rewritten identifier to the correct global entity (not
6574	to the associated identifier in the generic copy).
6575
65762009-04-29  Robert Dewar  <dewar@adacore.com>
6577
6578	* rtsfind.adb, prj-env.adb: Minor reformatting
6579	Minor code reorganization
6580
65812009-04-29  Emmanuel Briot  <briot@adacore.com>
6582
6583	* make.adb: Fix comment
6584
6585	* prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
6586	is given as argument, as might happen in gnatmake.
6587
65882009-04-29  Ed Schonberg  <schonberg@adacore.com>
6589
6590	* sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
6591	an abstract operation of a progenitor is not properly overridden by an
6592	operation of a derived synchronized type.
6593
65942009-04-29  Robert Dewar  <dewar@adacore.com>
6595
6596	* mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
6597	prj-proc.adb: Minor reformatting
6598	Minor code reorganization
6599
66002009-04-29  Bob Duff  <duff@adacore.com>
6601
6602	* exp_ch7.adb (Build_Final_List): For an access type that designates a
6603	Taft Amendment type, if the access type needs finalization, make sure
6604	the implicit with clause for List_Controller occurs on the package spec.
6605
6606	* rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
6607	with's created for the pseudo-children of Text_IO and friends. In
6608	particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
6609	Ada.Text_IO.Integer_IO both with-ing each other.
6610
6611	* sem.adb (Walk_Library_Items): Suppress assertion failure in certain
6612	oddball cases when pragma Extend_System is used.
6613
6614	* sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
6615	the case where a package spec instantiates a generic whose body with's
6616	this package, so Walk_Library_Items won't complain about cyclic with's.
6617
66182009-04-29  Emmanuel Briot  <briot@adacore.com>
6619
6620	* gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
6621	prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
6622	mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
6623	(Project_Id): now a real pointer to Project_Data, instead of an index
6624	into the Projects_Table. This simplifies the API significantly, avoiding
6625	extra lookups in this table and the need to pass the Project_Tree_Ref
6626	parameter in several cases
6627
66282009-04-29  Nicolas Setton  <setton@adacore.com>
6629
6630	* gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
6631	darwin.
6632
66332009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
6634
6635	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
6636	back kludge.
6637
66382009-04-24  Robert Dewar  <dewar@adacore.com>
6639
6640	* mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
6641	clean.adb: Minor reformatting.
6642	Minor code reorganization and message improvement.
6643
66442009-04-24  Emmanuel Briot  <briot@adacore.com>
6645
6646	* prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
6647	(Alternate_Languages): now implemented as a malloc-ed list rather
6648	than through a table.
6649
66502009-04-24  Thomas Quinot  <quinot@adacore.com>
6651
6652	* sem_res.adb (Static_Concatenation): Simplify predicate to make it
6653	accurately handle cases such as "lit" & "lit" and
6654	"lit" & static_string_constant
6655
66562009-04-24  Emmanuel Briot  <briot@adacore.com>
6657
6658	* prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
6659	prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
6660	removed. Lists of projects are now implemented via standard malloc
6661	rather than through the table.
6662
66632009-04-24  Thomas Quinot  <quinot@adacore.com>
6664
6665	* sem_ch12.adb: Minor reformatting
6666
6667	* g-trasym.adb: Minor reformatting
6668
6669	* exp_ch6.adb: Minor reformatting
6670
66712009-04-24  Robert Dewar  <dewar@adacore.com>
6672
6673	* layout.adb (Layout_Type): For packed array type, copy unset
6674	size/alignment fields from the referenced Packed_Array_Type.
6675
66762009-04-24  Bob Duff  <duff@adacore.com>
6677
6678	* lib-load.adb (Make_Instance_Unit): Revert previous change, no
6679	longer needed after sem_ch12 changes.
6680
6681	* sem.adb (Walk_Library_Items): Include with's in some debugging
6682	printouts.
6683
66842009-04-24  Emmanuel Briot  <briot@adacore.com>
6685
6686	* prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
6687	only ever using the Project field.
6688
66892009-04-24  Ed Schonberg  <schonberg@adacore.com>
6690
6691	* sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
6692	Body_Required on the generated compilation node. The new node is linked
6693	to its body, but both share the same file, so we do not set this flag
6694	on the new unit so as not to create a spurious dependency on a
6695	non-existent body in the ali file for the instance.
6696
66972009-04-24  Robert Dewar  <dewar@adacore.com>
6698
6699	* make.adb: Minor reformatting
6700
67012009-04-24  Emmanuel Briot  <briot@adacore.com>
6702
6703	* prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
6704	Add_Source): merge some code between those. In particular change where
6705	file normalization is done to avoid a few extra calls to
6706	Canonicalize_File_Name. This also removes the need for passing
6707	Current_Dir in a number of subprograms.
6708
67092009-04-24  Bob Duff  <duff@adacore.com>
6710
6711	* lib-load.adb (Make_Instance_Unit): In the case where In_Main is
6712	False, assign the correct unit to the Cunit field of the new table
6713	entry. We want the spec unit, not the body unit.
6714
6715	* rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
6716	interface for these.
6717	(Maybe_Add_With): Check whether we're trying to a with on the current
6718	unit, and avoid creating such directly self-referential with clauses.
6719	(Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
6720	[[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
6721	and matches existing comments in the spec.
6722
6723	* sem.adb (Walk_Library_Items): Add various special cases to make the
6724	assertions pass.
6725
6726	* sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
6727	instead of Parent (N), for uniformity.
6728
67292009-04-24  Robert Dewar  <dewar@adacore.com>
6730
6731	* errout.ads: Minor reformatting
6732
67332009-04-24  Emmanuel Briot  <briot@adacore.com>
6734
6735	* gnat_ugn.texi (Library Projects): add documentation on gnatmake's
6736	behavior when the project includes sources from multiple languages
6737
67382009-04-24  Vincent Celier  <celier@adacore.com>
6739
6740	* prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
6741	is a language other than Ada declared.
6742
6743	* makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
6744	Imported_First set to True.
6745
67462009-04-24  Ed Schonberg  <schonberg@adacore.com>
6747
6748	* sem_res.adb: additional optimization to inhibit creation of
6749	redundant transient scopes.
6750
67512009-04-24  Bob Duff  <duff@adacore.com>
6752
6753	* rtsfind.ads: Minor comment fix
6754
67552009-04-24  Emmanuel Briot  <briot@adacore.com>
6756
6757	* prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
6758	Get_Path_Name_And_Record_Ada_Sources): merged, since these were
6759	basically doing the same work (for explicit or implicit sources).
6760	(Find_Explicit_Sources): renamed to Find_Sources to better reflect its
6761	role. Rewritten to share some code (testing that all explicit sources
6762	have been found) between ada_only and multi_language modes.
6763
67642009-04-24  Jerome Lambourg  <lambourg@adacore.com>
6765
6766	* sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
6767	for CLI imported types.
6768	(Analyze_Pragma): Allow CIL or Java imported functions returning
6769	access-to-subprogram types.
6770
67712009-04-24  Emmanuel Briot  <briot@adacore.com>
6772
6773	* make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
6774	(Project_Data.Dir_Path): field removed, since it can be computed
6775	directly from .Directory, and is needed only once when processing the
6776	project is buildgpr.adb or make.adb
6777
67782009-04-24  Robert Dewar  <dewar@adacore.com>
6779
6780	* prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
6781	rtsfind.adb: Minor reformatting.
6782	Minor code reorganization
6783
67842009-04-24  Arnaud Charlet  <charlet@adacore.com>
6785
6786	* mlib-prj.adb: Use friendlier english identifier.
6787
6788	* gnatcmd.adb, make.adb: Use better english identifiers.
6789
67902009-04-24  Robert Dewar  <dewar@adacore.com>
6791
6792	* clean.adb: Minor reformatting
6793
67942009-04-24  Robert Dewar  <dewar@adacore.com>
6795
6796	* einfo.adb (OK_To_Rename): New flag
6797
6798	* einfo.ads (OK_To_Rename): New flag
6799
6800	* exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
6801	OK_To_Rename set.
6802
6803	* exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
6804
6805	* sem_ch7.adb (Uninstall_Declarations): Allow for renames from
6806	OK_To_Rename.
6807
68082009-04-24  Emmanuel Briot  <briot@adacore.com>
6809
6810	* prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
6811	clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
6812	field removed. This is not a property of the
6813	project, just a boolean used to traverse the project tree, and storing
6814	it in the structure prevents doing multiple traversal in parallel.
6815	(Project_Data.Checked): also removed, since it was playing the same role
6816	as Seen when we had two nested loops, and this is no longer necessary
6817	(For_All_Imported_Projects): removed, since in fact there was already
6818	the equivalent in For_Every_Project_Imported. The latter was rewritten
6819	to use a local hash table instead of Project_Data.Seen
6820	Various loops were rewritten to use For_Every_Project_Imported, thus
6821	removing the need for Project_Data.Seen. This avoids a lot of code
6822	duplication
6823
68242009-04-24  Ed Schonberg  <schonberg@adacore.com>
6825
6826	* sem_res.adb (Resolve_Actuals): Do not create blocks around code
6827	statements, even though the actual of the call is a concatenation,
6828	because the argument is static, and we want to preserve warning
6829	messages  about sequences of code statements that are not marked
6830	volatile.
6831
6832	* sem_warn.adb: remove obsolete comment about warning being obsolete
6833
6834	* s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
6835	requeued and the delay has expired while within the accept statement
6836	that executes the requeue, do not perform the requeue and indicate that
6837	the timed call has been aborted.
6838
68392009-04-24  Emmanuel Briot  <briot@adacore.com>
6840
6841	* mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6842	(Has_Ada_Sources, Has_Foreign_Sources): new subprograms
6843	(Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
6844	since they can be computed from the above.
6845
68462009-04-24  Vincent Celier  <celier@adacore.com>
6847
6848	* gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
6849
6850	* prj-env.adb: Move all global variables to the private part of the
6851	project tree data.
6852	Access these new components instead of the global variables no longer
6853	in existence.
6854	(Add_To_Path): New Project_Tree_Ref parameter, to access the new
6855	components that were previously global variables.
6856
6857	* prj-env.ads (Initialize): New Project_Tree_Ref parameter
6858	(Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
6859	parameter.
6860
6861	* prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
6862	be able to call Set_Mapping_File_Initial_State_To_Empty with it.
6863
6864	* prj.adb (Initialize): Do not call Prj.Env.Initialize
6865	(Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
6866	components in the private part of the project tree data.
6867
6868	* prj.ads (Private_Project_Tree_Data): new components moved from
6869	Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
6870	Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
6871	Ada_Prj_Objects_File_Set, Fill_Mapping_File.
6872
68732009-04-24  Vincent Celier  <celier@adacore.com>
6874
6875	* opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
6876
6877	* prj-nmsc.adb (Check_Library): No error for imports by shared library
6878	projects, when --unchecked-shared-lib-imports is used.
6879
68802009-04-24  Robert Dewar  <dewar@adacore.com>
6881
6882	* sem_ch7.adb: Minor reformatting
6883
68842009-04-24  Tristan Gingold  <gingold@adacore.com>
6885
6886	* s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
6887	mach thread id.
6888
68892009-04-24  Emmanuel Briot  <briot@adacore.com>
6890
6891	* prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
6892	Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
6893	(For_All_Imported_Projects): new procedure
6894	(For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
6895	above rather than duplicating code.
6896
68972009-04-24  Emmanuel Briot  <briot@adacore.com>
6898
6899	* prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6900	(Source_Id, Source_Data): use a real list to store sources rather than
6901	using an external table to store the elements. This makes code more
6902	efficient and more readable.
6903
69042009-04-24  Emmanuel Briot  <briot@adacore.com>
6905
6906	* prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
6907	(Source_Iterator): new type.
6908	This removes the need for having the sources on three different
6909	lists at the project tree, project and language level. They are now
6910	on a single list.
6911
69122009-04-24  Emmanuel Briot  <briot@adacore.com>
6913
6914	* gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
6915
69162009-04-24  Ed Schonberg  <schonberg@adacore.com>
6917
6918	* sem_warn.adb: Add comment on obsolete warning
6919
69202009-04-24  Arnaud Charlet  <charlet@adacore.com>
6921
6922	* s-tassta.adb (Create_Task): Fix violation of locking rule.
6923
69242009-04-24  Emmanuel Briot  <briot@adacore.com>
6925
6926	* prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
6927	to Language_Ptr to better reflect its new implementation.
6928	(Project_Data.First_Languages_Processing): renamed to Languages now
6929	that the field with that name is no longer used
6930	(Project_Data.Languages): removed, no longer used, and duplicates
6931	information already available through First_Language_Processing.
6932	(Prj.Language_Index): now an actual pointer, instead of an index into
6933	a table. This makes the list somewhat more obvious, but more importantly
6934	removes the need to pass a pointer to the project_tree_data in a few
6935	places, and makes accessing the attributes of a languages more
6936	efficient.
6937
69382009-04-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6939	    Thomas Quinot  <quinot@adacore.com>
6940
6941	* fe.h (Set_Identifier_Casing): Add const to second parameter.
6942	* gcc-interface/misc.c (internal_error_function): Make copy of return
6943	from pp_formatted_text before assigning BUFFER to it.
6944	(gnat_init): Likewise for main_input_filename and gnat_argv.
6945	(gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
6946
69472009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6948
6949	* ttypes.ads (Target_Double_Float_Alignment): New variable.
6950	(Target_Double_Scalar_Alignment): Likewise.
6951	* get_targ.ads (Get_Strict_Alignment): Adjust external name.
6952	(Get_Double_Float_Alignment): New imported function.
6953	(Get_Double_Scalar_Alignment): Likewise.
6954	* layout.adb (Set_Elem_Alignment): Take into account specific caps for
6955	the alignment of "double" floating-point types and "double" or larger
6956	scalar types, as parameterized by Target_Double_Float_Alignment and
6957	Target_Double_Scalar_Alignment respectively.
6958	* gcc-interface/gigi.h (double_float_alignment): Declare.
6959	(double_scalar_alignment): Likewise.
6960	(is_double_float_or_array): Likewise.
6961	(is_double_scalar_or_array): Likewise.
6962	(get_target_double_float_alignment): Likewise.
6963	(get_target_double_scalar_alignment): Likewise.
6964	* gcc-interface/targtyps.c (get_strict_alignment): Rename into...
6965	(get_target_strict_alignment): ...this.
6966	(get_target_double_float_alignment): New function.
6967	(get_target_double_scalar_alignment): Likewise.
6968	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
6969	Test the presence of an alignment clause for under-aligned integer
6970	types.  Take into account specific caps for the alignment of "double"
6971	floating-point types and "double" or larger scalar types, as
6972	parameterized by Target_Double_Float_Alignment and
6973	Target_Double_Scalar_Alignment respectively.
6974	(validate_alignment): Likewise.
6975	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
6976	(gigi): Initialize double_float_alignment and double_scalar_alignment.
6977	* gcc-interface/utils.c (double_float_alignment): New global variable.
6978	(double_scalar_alignment): Likewise.
6979	(is_double_float_or_array): New predicate.
6980	(is_double_scalar_or_array): Likewise.
6981
69822009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6983
6984	* gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
6985	the conditional expression only if it is common to both arms.
6986
69872009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6988
6989	* gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
6990	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
6991	arguments to build_allocator.
6992	* gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
6993	Remove code handling special allocator and assert its uselessness.
6994
69952009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
6996
6997	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
6998	alignment is specified, do not promote that of the component type
6999	beyond it.
7000	<E_Array_Subtype>: Likewise.
7001
70022009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
7003
7004	* einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
7005	* sinfo.ads (Object Declaration): Likewise.
7006	(Assignment Statement): Likewise.
7007	* freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
7008	Do not force Is_True_Constant to false on the temporary.
7009	(Freeze_Entity): Do not force Is_True_Constant to false on names on
7010	the RHS of object declarations.
7011	* gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
7012	New case.  Return 1 if the object is atomic.
7013	<N_Assignment_Statement>: Likewise.
7014
70152009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
7016
7017	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
7018	For packed array types, make the original array type a parallel type
7019	for the modular type and its JM wrapper if the type is bit-packed.
7020	<E_Array_Subtype>: Likewise.  Do not generate the special XA parallel
7021	record type for packed array types.  Remove kludge.
7022
70232009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
7024
7025	* gcc-interface/gigi.h (create_index_type): Adjust head comment.
7026	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
7027	Use front-end predicates to compute signedness and precision.
7028	<E_String_Literal_Subtype>: Fold range type.
7029	Make sure to set longest_float_type_node to a scalar type.
7030	(elaborate_entity): Use consistent Constraint_Error spelling.
7031	(substitute_in_type) <INTEGER_TYPE>: Always copy the type.
7032	* gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
7033	output for the modulus, if any.
7034	<ENUMERAL_TYPE>: Likewise for the RM size.
7035	* gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
7036	spelling.
7037	* gcc-interface/utils.c (finish_record_type): Really test the alignment
7038	of BLKmode bit-fields to compute their addressability.
7039	(create_index_type): Adjust comments.
7040	(create_param_decl): Create the biased subtype manually.
7041	* gcc-interface/utils2.c (build_component_ref): Use consistent
7042	Constraint_Error spelling.
7043
70442009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
7045
7046	* gcc-interface/cuintp.c: Clean up include directives.
7047	* gcc-interface/targtyps.c: Likewise.
7048	* gcc-interface/decl.c: Likewise.
7049	* gcc-interface/misc.c: Likewise.
7050	* gcc-interface/trans.c: Likewise.
7051	* gcc-interface/utils.c: Likewise.
7052	* gcc-interface/utils2.c: Likewise.
7053	* gcc-interface/Make-lang.in: Adjust dependencies accordingly.
7054
70552009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
7056
7057	* gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
7058	(SET_TYPE_LANG_SPECIFIC): Likewise.  Fix formatting.
7059	(SET_DECL_LANG_SPECIFIC): Likewise.
7060	Reorder macros.
7061	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
7062	Update comment about use of build_range_type.
7063	<E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
7064	<E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
7065	check for other cases of overloading.
7066	* gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
7067	* gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
7068	Use size_int in lieu of build_int_cst.
7069	(build_call_alloc_dealloc): Use build_index_2_type in lieu of
7070	build_range_type.
7071
70722009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7073
7074	* gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
7075	type is an enumeral or a boolean type, change it to an integer type
7076	with the same mode and signedness.
7077
70782009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7079
7080	* gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
7081	for an external constant whose initializer is not absolute.
7082
70832009-04-22  Taras Glek  <tglek@mozilla.com>
7084
7085	* gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
7086	* gcc-interface/trans.c: Likewise.
7087	* gcc-interface/utils.c: Likewise.
7088
70892009-04-22  Ed Schonberg  <schonberg@adacore.com>
7090
7091	* sem_res.adb: Create block around procedure call when actual is a
7092	concatenation.
7093
70942009-04-22  Thomas Quinot  <quinot@adacore.com>
7095
7096	* s-soflin.ads: Fix typos
7097
70982009-04-22  Vincent Celier  <celier@adacore.com>
7099
7100	* prj-env.adb: Minor comment change
7101
7102	* prj-nmsc.adb (Check_Common): Add guard to avoid calling
7103	Get_Name_String with No_File.
7104
7105	* tempdir.adb (Create_Temp_File): Output diagnostic when temp file
7106	cannot be created even when not in verbose mode.
7107
71082009-04-22  Emmanuel Briot  <briot@adacore.com>
7109
7110	* make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
7111	prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
7112	Multi_Language modes, to avoid code duplication.
7113	(Project_Data.Include_Language): Removed.
7114
71152009-04-22  Vincent Celier  <celier@adacore.com>
7116
7117	* tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
7118	the temporary file cannot be created, indicating the directory when the
7119	creation was attempted.
7120
71212009-04-22  Emmanuel Briot  <briot@adacore.com>
7122
7123	* prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
7124	the language names, not their indices.
7125
71262009-04-22  Emmanuel Briot  <briot@adacore.com>
7127
7128	* prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
7129	(Source_Data.Language_Name): Field removed.
7130
71312009-04-22  Emmanuel Briot  <briot@adacore.com>
7132
7133	* prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
7134	Two fields removed.
7135
71362009-04-22  Emmanuel Briot  <briot@adacore.com>
7137
7138	* prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
7139	separate_suffix to the same value as the body_suffix.
7140
71412009-04-22  Robert Dewar  <dewar@adacore.com>
7142
7143	* prj.adb: Minor code reorganization
7144	Code clean up.
7145
7146	* prj-proc.adb: Minor code reorganization, clean up.
7147
7148	* prj-nmsc.adb: Minor reformatting
7149	Minor code reorganization
7150
7151	* gnat_ugn.texi: Add to doc on strict aliasing
7152
71532009-04-22  Pascal Obry  <obry@adacore.com>
7154
7155	* s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
7156	SpinCount.
7157
7158	* s-tasini.adb: Minor reformatting.
7159
7160	* s-tassta.adb: Minor reformatting.
7161
71622009-04-22  Emmanuel Briot  <briot@adacore.com>
7163
7164	* prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
7165	smaller subprograms.
7166	Renamed to Check_File_Naming_Schemes to avoid confusion with the
7167	other Check_Naming_Schemes functions that plays a totally different
7168	role.
7169	(Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
7170	extracted from the above. These were partially rewritten to avoid
7171	unnecessary code and temporary variables.
7172	(Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
7173	and Get_Unit (which for now still exist since they contain mode-specific
7174	code)
7175
71762009-04-22  Emmanuel Briot  <briot@adacore.com>
7177
7178	* prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
7179	Remove duplicated code.
7180	(Canonical_Case_File_Name): new subprogram
7181	(Check_And_Normalize_Unit_Names): new subprogram
7182	(Write_Attr): new subprogram
7183	Better sharing of code
7184	(Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
7185	split Check_Naming and help find duplicated code
7186	(Check_Common): new subprogram, sharing code between ada_only and
7187	multi_language mode.
7188	(Naming_Data.Dot_Repl_Loc): field removed
7189
71902009-04-22  Emmanuel Briot  <briot@adacore.com>
7191
7192	* prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
7193	Minor refactoring to reduce the size of
7194	Process_Sources_In_Multi_Language_Mode.
7195	Avoid extra copied of Source_Data, which we found in the past could be
7196	quite slow.
7197	(Mark_Excluded_Sources): new subprogram.
7198	(Remove_Locally_Removed_Files_From_Units): merged into the above
7199 	Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
7200 	and allow better sharing of code between multi_lang and ada_only modes
7201	(Project_Extends): removed, since exact duplicate of Prj.Is_Extending
7202
72032009-04-22  Emmanuel Briot  <briot@adacore.com>
7204
7205	* prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
7206	Removed, since unused.
7207
72082009-04-22  Vincent Celier  <celier@adacore.com>
7209
7210	* prj-attr.adb: New single project level attribute
7211	Separate_Run_Path_Options.
7212
7213	* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
7214	attribute Seperate_Run_Path_Options.
7215
7216	* prj.ads: (Project_Configuration): New Boolean component
7217	Separate_Run_Path_Options, defaulted to False.
7218
7219	* snames.ads-tmpl: New standard name Seperate_Run_Path_Options
7220
72212009-04-22  Robert Dewar  <dewar@adacore.com>
7222
7223	* sem_type.adb: Minor reformatting
7224
7225	* mlib.adb: Minor reformatting
7226
7227	* sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
7228	syntax error.
7229
72302009-04-22  Nicolas Setton  <setton@adacore.com>
7231
7232	* link.c: Add flag __gnat_separate_run_path_options.
7233
7234	* mlib.adb (Separate_Run_Path_Options): New subprogram.
7235
7236	* mlib.ads (Separate_Run_Path_Options): Declare.
7237
7238	* gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
7239	switch per directory, rather than one "rpath" switch listing all
7240	directories.
7241
7242	* gnatlink.adb (Process_Binder_File): Likewise.
7243
7244	* make.adb (Gnatmake): Likewise.
7245
72462009-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
7247
7248	* exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
7249	Add a call to Move_Final_List when the target of the assignment is a
7250	return object that needs finalization and the expression is a
7251	controlled build-in-place function.
7252
72532009-04-22  Vincent Celier  <celier@adacore.com>
7254
7255	* make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
7256	Including_Libraries set to True.
7257
72582009-04-22  Ed Schonberg  <schonberg@adacore.com>
7259
7260	* lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
7261	create a unit table entry for the subprogram declaration created for a
7262	child suprogram body that has no separate specification.
7263
7264	* sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
7265	subprogram body, call Make_Child_Decl_Unit.
7266
7267	* lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
7268	table can only be the created specification of a child subprogram body
7269	that is the main unit, which has not been entered in the table yet.
7270
7271	* errout.adb  (Output_Messages): Ignore created specification of a
7272	child subprogram body to prevent repeated listing of error messages.
7273
7274	* gnat1drv.adb (gnat1drv): The generated specification for a child
7275	subprogram body does not generate code.
7276
72772009-04-22  Arnaud Charlet  <charlet@adacore.com>
7278
7279	* s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
7280	since this unit is now part of bootstrap units, so must use Ada 95
7281	syntax only.
7282
72832009-04-22  Thomas Quinot  <quinot@adacore.com>
7284
7285	* a-tasatt.adb: Minor reformatting
7286
72872009-04-22  Bob Duff  <duff@adacore.com>
7288
7289	* s-stalib.ads: Remove "with System;" since we're inside System, so
7290	it's unnecessary.
7291
72922009-04-22  Vincent Celier  <celier@adacore.com>
7293
7294	* prj-nmsc.adb (Add_Source): Always put the dependency file name in
7295	the source record, as there may be a dependency file even if no object
7296	file is created.
7297
72982009-04-22  Robert Dewar  <dewar@adacore.com>
7299
7300	* lib-load.adb: Minor reformatting
7301
7302	* lib-load.ads: Minor reformatting
7303
7304	* sinfo.ads: Minor reformatting
7305
73062009-04-22  Bob Duff  <duff@adacore.com>
7307
7308	* exp_pakd.adb: Minor comment fixes.
7309
7310	* sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
7311	sem_ch12.adb: Change the meaning of the Library_Unit attribute to
7312	include units containing instantiations, as well as units that are
7313	generic instantiations.
7314
7315	* sem.adb: Include dependents and corresponding specs/bodies in the
7316	unit walk.
7317
7318	* gcc-interface/Make-lang.in:
7319	sem now depends on s-bitops, because of the packed array of Booleans.
7320
73212009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7322
7323	* gcc-interface/ada-tree.def: Fix formatting nits.
7324	(REGION_STMT): Delete.
7325	(HANDLER_STMT): Likewise.
7326	* gcc-interface/ada-tree.h: Fix formatting nits.
7327	(IS_STMT): Delete.
7328	(REGION_STMT_BODY): Likewise.
7329	(REGION_STMT_HANDLE): Likewise.
7330	(REGION_STMT_BLOCK): Likewise.
7331	(HANDLER_STMT_ARG): Likewise.
7332	(HANDLER_STMT_LIST): Likewise.
7333	(HANDLER_STMT_BLOCK): Likewise.
7334	* gcc-interface/gigi.h (fp_prec_to_size): Update comment.
7335	(fp_size_to_prec): Likewise.
7336	(largest_move_alignment): Delete.
7337	(gnat_compute_largest_alignment): Likewise.
7338	Fix minor nits.
7339	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
7340	Remove redundant code.
7341	<E_Array_Type>: Remove redundant assert.
7342	<E_Array_Subtype>: Exit early from index computation in pathological
7343	cases.
7344	Rewrite conditional assignment.
7345	(make_type_from_size): Likewise.
7346	* gcc-interface/misc.c (largest_move_alignment): Delete.
7347	(gnat_finish_incomplete_decl): Likewise.
7348	(LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
7349	(asm_out_file): Likewise
7350	(gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
7351	(gnat_dwarf_name): Move around.
7352	* gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
7353	(gigi): Remove call to gnat_compute_largest_alignment.
7354	* utils.c (create_field_decl): Rewrite conditional assignment.
7355	Fix minor nits.
7356
73572009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7358
7359	* gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
7360	on entry.  Defer common processing for types.  Reorder and clean up.
7361	Compute the equivalent GNAT node and the default size for types only.
7362	<E_Modular_Integer_Type>: Directly use Esize for the type's precision.
7363	<E_Access_Type>: For an unconstrained designated type, do not pretend
7364	that a dummy type is always made.
7365	<all> Fix nits in comments.
7366	(validate_size): Fix formatting nits and comments.
7367	(set_rm_size): Likewise.
7368	* gcc-interface/utils.c (create_param_decl): Replace bogus argument
7369	passed to TARGET_PROMOTE_PROTOTYPES hook.
7370
73712009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
7372
7373	* fe.h (Get_External_Name): Declare.
7374	* gcc-interface/gigi.h (concat_id_with_name): Rename to...
7375	(concat_name): ...this.
7376	* gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
7377	gnu_entity_name and adjust for above renaming.
7378	<E_Access_Type>: Use create_concat_name to get the name of the various
7379	types associated with unconstrained array types.
7380	(make_aligning_type): Adjust for above renaming.
7381	(maybe_pad_type): Likewise.
7382	(components_to_record): Likewise.  Use get_identifier_with_length for
7383	the encoding of the variant.
7384	(get_entity_name): Use get_identifier_with_length.
7385	(create_concat_name): Likewise.  Use Get_External_Name if no suffix.
7386	Do not fiddle with Name_Buffer.
7387	(concat_id_with_name): Rename to...
7388	(concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
7389	with Name_Buffer.
7390	* gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
7391	above renaming.
7392
73932009-04-21  Joseph Myers  <joseph@codesourcery.com>
7394
7395	* ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
7396	license notices.
7397
73982009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7399
7400	* gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
7401
74022009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7403
7404	* gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
7405	(TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
7406	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
7407	Remove useless support code for packed array types and assert its
7408	uselessness.
7409	<E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
7410	adjust for TYPE_RM_SIZE change.
7411	<all> Fix nits in comments.  Use Original_Array_Type accessor instead
7412	of Associated_Node_For_Itype accessor for packed array types.
7413	(make_packable_type): Likewise.
7414	(maybe_pad_type): Likewise.
7415	(set_rm_size): Likewise.  Rework conditional statement.  Adjust for
7416	TYPE_RM_SIZE change.
7417	(make_type_from_size): Adjust for TYPE_RM_SIZE change.
7418	(rm_size): Fix nits in comments.  Rework conditional statements.
7419	* gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
7420	change.
7421	* gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
7422	* gcc-interface/utils.c (gnat_init_decl_processing): Use more
7423	appropriate function to initialize the size_type_node.  Adjust for
7424	TYPE_RM_SIZE change.
7425
74262009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7427
7428	* gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
7429	for imported subprograms.
7430
74312009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7432
7433	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
7434	constant objects covered by 13.3(19) volatile.
7435
74362009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
7437
7438	* gcc-interface/utils.c (create_type_decl): Do not pass declarations
7439	of dummy fat pointer types to the debug back-end.
7440
74412009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7442
7443	* gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
7444	<E_Signed_Integer_Subtype>: Set the RM size on the integer type
7445	before wrapping it up in the record type.  Do not overwrite the
7446	Ada size of the record type with the Esize.
7447
74482009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7449
7450	* gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
7451	(gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
7452	if the conversion is on the LHS of an assignment and a no-op.
7453	<all> Do not convert the result to the result type if the Parent
7454	node is such a conversion.
7455
74562009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7457
7458	* gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
7459	* gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
7460	of types with unknown discriminants.
7461	(substitute_in_type): Rewrite and restrict to formal substitutions.
7462	* gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
7463	(update_pointer_to): Update comment.
7464
74652009-04-20  Ed Schonberg  <schonberg@adacore.com>
7466
7467	* sem_ch8.adb (Use_One_Package): In an instance, if two
7468	potentially_use_visible and non-overloadable homonyms are available
7469	from  the actuals of distinct formal packages, retain the current one,
7470	which was visible in the generic, to prevent spurious visibility
7471	errors.
7472	(End_Use_Package): Restore use_visibility when needed.
7473
74742009-04-20  Sergey Rybin  <rybin@adacore.com>
7475
7476	* gnat_ugn.texi, vms_data.ads: Update doc.
7477
74782009-04-20  Arnaud Charlet  <charlet@adacore.com>
7479
7480	* gcc-interface/Make-lang.in: Update dependencies
7481
7482	* gcc-interface/Makefile.in: Link run-time against winsock2 lib under
7483	Windows.
7484
74852009-04-20  Robert Dewar  <dewar@adacore.com>
7486
7487	* checks.ads: Fix documentation of range check handling
7488
74892009-04-20  Ed Schonberg  <schonberg@adacore.com>
7490
7491	* sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
7492	a redundant use_type clause.
7493
74942009-04-20  Robert Dewar  <dewar@adacore.com>
7495
7496	* sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
7497	this attribute can be evaluated at compile time.
7498	(Eval_Attribute, case Range_Length): Same improvement
7499
7500	* sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
7501
75022009-04-20  Ed Schonberg  <schonberg@adacore.com>
7503
7504	* sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
7505	for better handling of null procedures.
7506	(Check_Overriding_Indicator): Do not emit a warning on a missing
7507	overriding indicator on an operator when the type of which the operator
7508	is a primitive is private.
7509
75102009-04-20  Bob Duff  <duff@adacore.com>
7511
7512	* sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
7513	debugging output.
7514
75152009-04-20  Robert Dewar  <dewar@adacore.com>
7516
7517	* sem_attr.adb: Minor reformatting
7518
7519	* gnatcmd.adb: Minor reformatting
7520
75212009-04-20  Ed Schonberg  <schonberg@adacore.com>
7522
7523	* sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
7524	overloaded and one interpretation matches the context, label the
7525	operand with the type of first formal.
7526
75272009-04-20  Bob Duff  <duff@adacore.com>
7528
7529	* debug.ads: Minor comment fix.
7530
7531	* debug.adb: Minor comment fixes.
7532
75332009-04-20  Javier Miranda  <miranda@adacore.com>
7534
7535	* rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
7536
7537	* exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
7538
7539	* exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
7540	is expanded into a call to Raise_Exception, avoid passing the
7541	exception-name'identity in runtimes in which this argument
7542	is not used.
7543
75442009-04-20  Jerome Lambourg  <lambourg@adacore.com>
7545
7546	* impunit.adb: Add i-cil and i-cilobj packages, now needed by the
7547	generated bindings for cil.
7548
75492009-04-20  Ed Schonberg  <schonberg@adacore.com>
7550
7551	* sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
7552	discriminants, collect components from the Underlying_Record_View,
7553	which will be used in the expansion of the aggregate into assignments.
7554
7555	* sem_ch3.adb: Do not label derived type with unknown discriminants as
7556	having a private declaration.
7557
75582009-04-20  Ed Schonberg  <schonberg@adacore.com>
7559
7560	* exp_util.adb (Expand_Subtype_From_Expr): use the
7561	underlying_record_view when available, to create the proper constrained
7562	subtype for an object of a derived type with unknown discriminants.
7563
75642009-04-20  Javier Miranda  <miranda@adacore.com>
7565
7566	* exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
7567	formals that have pragma unreferenced.
7568
75692009-04-20  Pascal Obry  <obry@adacore.com>
7570
7571	* a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
7572	Remove all calls to To_Lower_If_Case_Insensitive to preserve
7573	the pathname original casing.
7574
75752009-04-20  Robert Dewar  <dewar@adacore.com>
7576
7577	* g-trasym.adb: Minor reformatting
7578
7579	* s-os_lib.adb: Minor reformatting
7580
7581	* sem.adb: Minor reformatting
7582	Minor code reorganization
7583
7584	* sem_ch3.adb: Minor reformatting
7585
7586	* sem_ch4.adb: Minor reformatting
7587
7588	* sem_ch8.adb: Minor reformatting
7589
7590	* sem_type.adb: Minor reformatting
7591
75922009-04-20  Javier Miranda  <miranda@adacore.com>
7593
7594	* sem_disp.adb (Find_Dispatching_Type): For subprograms internally
7595	generated by derivations of tagged types use the aliased subprogram a
7596	reference to locate their controlling type.
7597
75982009-04-20  Tristan Gingold  <gingold@adacore.com>
7599
7600	* g-trasym.adb: Set size of result buffer before calling
7601	convert_address.
7602
76032009-04-20  Ed Schonberg  <schonberg@adacore.com>
7604
7605	* sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
7606	to a function returning an array can be interpreted as a call with
7607	defaulted parameters whose result is indexed, take into account the
7608	types of all the indices of the array result type.
7609
76102009-04-20  Pascal Obry  <obry@adacore.com>
7611
7612	* a-direct.adb, s-os_lib.adb: Minor reformatting.
7613
76142009-04-20  Ed Schonberg  <schonberg@adacore.com>
7615
7616	* sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
7617	null exclusion qualifiers for object renaming declarations.
7618
76192009-04-20  Nicolas Roche  <roche@adacore.com>
7620
7621	* sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
7622	unsigned long long. So compare local_time and utc_time before computing
7623	the difference.
7624
76252009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7626
7627	* sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
7628	of the Underlying_Record_View before that of the derived type.
7629
7630	* exp_ch3.adb (Expand_Record_Extension): Do not special-case types
7631	with unknown discriminants with regard to the parent subtype.
7632
76332009-04-20  Bob Duff  <duff@adacore.com>
7634
7635	* sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
7636	that are not included. This is necessary if the main unit is a generic
7637	instantiation.
7638
7639	* gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
7640	because it doesn't work if -gnatn is used.
7641
76422009-04-20  Ed Schonberg  <schonberg@adacore.com>
7643
7644	* rtsfind.adb (RTE, RTE_Record_Component): In
7645	Configurable_Run_Time_Mode, do not enable front-end inlining.
7646
76472009-04-20  Thomas Quinot  <quinot@adacore.com>
7648
7649	* g-socthi-vms.adb: Remove now unnecessary WITH clause on
7650	System.Address_To_Access_Conversions.
7651
76522009-04-20  Ed Schonberg  <schonberg@adacore.com>
7653
7654	* sem.adb: Guard against ill-formed subunits.
7655
76562009-04-20  Bob Duff  <duff@adacore.com>
7657
7658	* output.adb (Flush_Buffer): Do not indent blank lines.
7659	(Ignore_Output): New procedure for output suppression.
7660
76612009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7662
7663	* a-calfor.adb (Image): Subtract 0.5 from the sub second component only
7664	when it is positive.  This avoids a potential constraint error raised
7665	by the conversion to Natural.
7666
76672009-04-20  Gary Dismukes  <dismukes@adacore.com>
7668
7669	* exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
7670	involves a target that has a specified address, don't set Forward_OK
7671	and Backward_OK to False if the rhs is an aggregate, since overlap
7672	can't occur.
7673
76742009-04-20  Ed Schonberg  <schonberg@adacore.com>
7675
7676	* sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
7677	in an object renaming declaration when the expected type is an
7678	anonymous access type.
7679
7680	* sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
7681	ambiguity when one interpretation is an anonymous access type and the
7682	other is a named access type, and the context itself is anonymous
7683
76842009-04-20  Thomas Quinot  <quinot@adacore.com>
7685
7686	* einfo.ads: Minor comment rewording
7687
7688	* sem_aggr.adb: Minor comment rewording
7689
7690	* sem_ch3.adb, sem_ch6.adb: Minor reformatting
7691
76922009-04-20  Pascal Obry  <obry@adacore.com>
7693
7694	* adaint.c (__gnat_is_readable_file): Check for file existence
7695	when not using ACL (always the case on remote drives).
7696
76972009-04-20  Robert Dewar  <dewar@adacore.com>
7698
7699	* sinfo.ads: Minor comment fixes
7700
7701	* exp_disp.adb: Minor reformatting
7702
7703	* gnat1drv.adb: Minor reformatting
7704
7705	* output.adb: Minor reformatting
7706
7707	* s-vxwext-kernel.ads: Minor reformatting
7708
7709	* sem.ads: Minor reformatting
7710
7711	* sem.adb: Minor reformatting
7712
7713	* sem_elim.adb: Minor reformatting
7714
7715	* uname.ads: Minor reformatting
7716
77172009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7718
7719	* init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
7720	a small dope of 4 words to the adjustment to the stack pointer.
7721
77222009-04-20  Thomas Quinot  <quinot@adacore.com>
7723
7724	* xoscons.adb: generate C header s-oscons.h in
7725	addition to s-oscons.ads.
7726
7727	* socket.c: On VMS, use s-oscons.h.
7728
7729	* sem_ch3.adb: Minor reformatting
7730
7731	* exp_ch9.adb: Minor reformatting
7732
77332009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7734
7735	* gcc-interface/trans.c (check_for_eliminated_entity): Remove.
7736	(Attribute_to_gnu): Do not call check_for_eliminated_entity.
7737	(call_to_gnu): Likewise.
7738
77392009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7740
7741	* gcc-interface/trans.c (gigi): Declare the name of the compilation
7742	unit as the first global name at the very beginning.
7743
77442009-04-20  Thomas Quinot  <quinot@adacore.com>
7745
7746	* socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7747	s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
7748	g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
7749	since HP-UX supports neither inet_aton nor inet_pton (altough the
7750	latter is part of the Single UNIX Specification!).
7751	So reorganize code, and share C implementation based on inet_addr(3)
7752	with VMS (instead of having a VMS specific Ada implementation in
7753	g-socthi-vms.adb).
7754
77552009-04-20  Gary Dismukes  <dismukes@adacore.com>
7756
7757	* osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
7758	to return the object file name saved by Set_Object_Output_File_Name.
7759
77602009-04-20  Emmanuel Briot  <briot@adacore.com>
7761
7762	* g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
7763	for the standard command line, when argc has been modified since the
7764	start of the application.
7765
77662009-04-20  Thomas Quinot  <quinot@adacore.com>
7767
7768	* socket.c (__gnat_inet_pton, Windows case): Adjust return value.
7769	WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
7770
77712009-04-20  Bob Duff  <duff@adacore.com>
7772
7773	* gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
7774	pragma Debug.
7775
77762009-04-20  Ed Schonberg  <schonberg@adacore.com>
7777
7778	* exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
7779	subprogram as Eliminated when source operation is.
7780	(Expand_N_Protected_Type_Declaration): Generate protected and
7781	unprotected specs for the internal operations, even if the source
7782	operation is eliminated.
7783
77842009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7785
7786	* exp_ch3.adb (Make_Predefined_Primitive_Specs,
7787	Predefined_Primitive_Bodies): Do not create the declarations and bodies
7788	of the primitive subprograms associated with dispatching select
7789	statements when the runtime is in configurable mode.
7790
77912009-04-20  Ed Falis  <falis@adacore.com>
7792
7793	* s-vxwext-kernel.ads (tickGet): Use tick64Get.
7794
77952009-04-20  Thomas Quinot  <quinot@adacore.com>
7796
7797	* s-oscons-tmplt.c: Add support for generating a dummy version of
7798	s-oscons.ads providing all possible constants.
7799
7800	* g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
7801
7802	* socket.c (__gnat_inet_pton): On Windows make sure we always use the
7803	ANSI version (not the UNICODE version) of WSAStringToAddress.
7804
78052009-04-20  Pascal Obry  <obry@adacore.com>
7806
7807	* adaint.c (__gnat_set_OWNER_ACL): properly free memory
7808	allocated for the security descriptor and make sure all
7809	handles are closed before leaving this procedure.
7810
78112009-04-20  Javier Miranda  <miranda@adacore.com>
7812
7813	* einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
7814	(Set_Is_Underlying_Record_View): New subprogram
7815
7816	* sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
7817	private types with unknown discriminants use the underlying record view
7818	if available.
7819
7820	* sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
7821	underlying record view in the full view of private types whose parent
7822	has unknown discriminants.
7823	(Build_Derived_Record_Type): Avoid generating the class-wide entity
7824	associated with an underlying record view.
7825	(Derived_Type_Declaration): Avoid deriving parent primitives in
7826	underlying record views.
7827
7828	* sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
7829	records with unknown discriminants.
7830
7831	* sem_type.adb (Covers): Handle underlying record views.
7832	(Is_Ancestor): Add support for underlying record views.
7833
7834	* exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
7835	dispatching call if the type of the target object is tagged and has
7836	unknown discriminants.
7837
7838	* exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
7839	unknown discriminants.
7840
7841	* exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
7842	tables for internally built underlying record views.
7843
7844	* sprint.adb (sprint_node_actual): Improve output of aggregates with an
7845	empty list of component associations.
7846
78472009-04-20  Thomas Quinot  <quinot@adacore.com>
7848
7849	* sem_ch10.adb: Minor reformatting
7850
7851	* socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
7852	g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
7853	(GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
7854	standard inet_pton API (and emulate it on platforms that do not
7855	support it).
7856	(GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
7857	DECC$INET_ADDR, imported in Ada.
7858	(GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
7859	implementation provided by GNAT runtime.
7860	(__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
7861	Windows.
7862
78632009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7864
7865	* gnat_ugn.texi: Add documentation for -fno-ivopts.
7866
78672009-04-20  Ed Schonberg  <schonberg@adacore.com>
7868
7869	* sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
7870	with_clause if it is the main unit.
7871
78722009-04-20  Thomas Quinot  <quinot@adacore.com>
7873
7874	* sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
7875	(no behaviour change): Use Append instead of Increment_Last followed
7876	by assignment.
7877
78782009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7879
7880	* exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
7881	declarations of all primitives associated with dispatching asynchronous,
7882	conditional and timed selects when dispaching calls are forbidden and
7883	select statements are not allowed (such as in Ravenscar).
7884	(Predefined_Primitive_Bodies): Ditto for bodies.
7885
7886	* exp_disp.ad (Make_DT): Do not create and populate the
7887	Select_Specific_Data of the dispatch table when dispatching calls are
7888	forbidden and select statements are not allowed (such as in Ravenscar).
7889
78902009-04-20  Robert Dewar  <dewar@adacore.com>
7891
7892	* a-tifiio.adb: Minor reformatting
7893
78942009-04-20  Thomas Quinot  <quinot@adacore.com>
7895
7896	* g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
7897	other C library functions, report *failure* with a zero status, and
7898	success with a non-zero status.
7899
79002009-04-20  Bob Duff  <duff@adacore.com>
7901
7902	* sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
7903	(Semantics): After analyzing each unit, Append it to the
7904	Comp_Unit_List, if appropriate.
7905
7906	* gnat1drv.adb (Check_Library_Items): New procedure for debugging
7907	purposes.
7908	(Gnat1drv): Correct comment regarding Back_End_Mode.
7909
79102009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
7911
7912	* gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
7913
79142009-04-20  Thomas Quinot  <quinot@adacore.com>
7915
7916	* s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
7917	output.adb, output.ads, s-taprop-hpux-dce.adb,
7918	s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
7919	reformatting.
7920
79212009-04-20  Thomas Quinot  <quinot@adacore.com>
7922
7923	* g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
7924	g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
7925	(GNAT.Sockets.Thin.C_Inet_Addr): Remove.
7926	(GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
7927	except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
7928	(GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
7929
7930	* debug.adb: Fix typo
7931
7932	* gnat_rm.texi: Minor doc fix.
7933
7934	* sem_ch7.adb, freeze.adb: Minor reformatting
7935
79362009-04-20  Thomas Quinot  <quinot@adacore.com>
7937
7938	* g-socket.ads: Add new constants:
7939	  Loopback_Inet_Addr
7940	  Unspecified_Group_Inet_Addr
7941	  All_Hosts_Group_Inet_Addr
7942	  All_Routers_Group_Inet_Addr
7943
7944	* s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
7945	ERANGE (Result too large).
7946	(GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
7947	propagation of errno to caller.
7948
79492009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
7950
7951	* a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
7952	to 24. Increment Leap_Seconds_Count and add an entry to aggregate
7953	Leap_Second_Times.
7954
79552009-04-20  Gary Dismukes  <dismukes@adacore.com>
7956
7957	* sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
7958	checking for references to eliminated subprograms that should be
7959	flagged.
7960	(Eliminate_Error_Message): Update comment to say "references" rather
7961	than "calls" (since attribute cases are handled here as well).
7962
7963	* sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
7964	checking for references to eliminated subprograms that should be
7965	flagged.  Add with and use of Sem and Sem_Util.
7966
7967	* sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
7968	Add with and use of Sem_Elim.
7969
7970	* sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
7971	applied to eliminated subprograms.
7972	(Analyze_Attribute): Reject 'Address and 'Code_Address applied to
7973	eliminated subprograms.
7974	Add with and use of Sem_Elim.
7975
7976	* sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
7977	to eliminated subprograms, now handled during Resolve_Call.
7978	Remove with and use of Sem_Elim.
7979
7980	* exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
7981	testing Is_Eliminated, for proper handling of primitive derived from
7982	eliminated subprograms.
7983
79842009-04-20  Vincent Celier  <celier@adacore.com>
7985
7986	* mlib-prj.adb (Build_Library): Use the shared library linker, if one
7987	has been declared (Library_GCC or Linker'Driver), for the driver name.
7988
7989	* prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
7990	Linker'Driver is, use Linker'Driver as the shared library linker.
7991	(Process_Project_Level_Simple_Attributes): Issue a warning if attribute
7992	Library_GCC is declared.
7993	(Check_Library_Attributes): Set up the shared linker driver: either
7994	Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
7995	declared.
7996
79972009-04-20  Thomas Quinot  <quinot@adacore.com>
7998
7999	* g-socket.ads (Send_Socket): Fix misleading comment.
8000
80012009-04-20  Arnaud Charlet  <charlet@adacore.com>
8002
8003	* switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
8004	ASIS mode.
8005
80062009-04-20  Geert Bosch  <bosch@adacore.com>
8007
8008	* a-tifiio.adb (Put): Avoid generating too many digits for certain
8009	fixed types with smalls that are neither integer or the reciprocal
8010	of an integer.
8011
80122009-04-20  Bob Duff  <duff@adacore.com>
8013
8014	* uname.ads: Minor comment fix.
8015
8016	* types.ads: Minor comment fix.
8017
80182009-04-20  Pascal Obry  <obry@adacore.com>
8019
8020	* adaint.c (__gnat_get_libraries_from_registry): Fix code to
8021	avoid warning. At the same time fix a memory leak.
8022
8023	* osint.adb (Get_Libraries_From_Registry): Properly free memory
8024	returned by the above routine.
8025
80262009-04-20  Robert Dewar  <dewar@adacore.com>
8027
8028	* s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
8029	s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
8030	s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
8031	s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
8032
8033	* exp_ch4.adb (Expand_Concatenate): Minor code reorganization
8034
80352009-04-20  Pascal Obry  <obry@adacore.com>
8036
8037	* initialize.c (__gnat_initialize): Add braces to kill warning.
8038
8039	* adaint.c: Minor reformatting, remove trailing spaces.
8040
80412009-04-17  Arnaud Charlet  <charlet@adacore.com>
8042
8043	* gcc-interface/Make-lang.in: Update dependencies.
8044
80452009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
8046
8047	* adaint.h (__gnat_lwp_self): Declare on Linux.
8048
8049	* adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
8050
80512009-04-20  Robert Dewar  <dewar@adacore.com>
8052
8053	* exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
8054	front-end part of -fpreserve-control-flow switch.
8055
80562009-04-20  Bob Duff  <duff@adacore.com>
8057
8058	* rtsfind.adb: Minor comment fix
8059
80602009-04-20  Robert Dewar  <dewar@adacore.com>
8061
8062	* exp_aggr.adb: Minor reformatting
8063	Minor code reorganization (use Nkind_In)
8064
8065	* g-socket.adb: Minor reformatting
8066
8067	* g-socket.ads: Minor comment fix
8068
8069	* s-auxdec.ads: Minor comment and organization update.
8070
8071	* s-auxdec-vms_64.ads: Minor comment and organization update.
8072
8073	* sem_ch10.adb: Minor addition of ??? comment
8074
8075	* sem_disp.adb: Minor reformatting
8076
80772009-04-20  Ed Schonberg  <schonberg@adacore.com>
8078
8079	* inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
8080	list a caller of an inlined subprogram, if the caller itself is not
8081	called.
8082
80832009-04-20  Pascal Obry  <obry@adacore.com>
8084
8085	* adaint.c: Disable use of ACL on network drives.
8086
80872009-04-20  Arnaud Charlet  <charlet@adacore.com>
8088
8089	* gnat_ugn.texi: Add examples.
8090
80912009-04-20  Thomas Quinot  <quinot@adacore.com>
8092
8093	* g-socket.ads (Abort_Selector): Clarify documentation.
8094
80952009-04-20  Arnaud Charlet  <charlet@adacore.com>
8096
8097	* opt.ads (Inspector_Mode): Update documentation of this flag.
8098
80992009-04-20  Thomas Quinot  <quinot@adacore.com>
8100
8101	* g-socket.ads: Minor reformatting
8102
8103	* socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
8104	consider S_resolvLib error codes since we only use the hostLib wrappers.
8105
81062009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
8107
8108	* sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
8109	of the Underlying_Record_View after that of the derived type.
8110
81112009-04-20  Arnaud Charlet  <charlet@adacore.com>
8112
8113	* switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
8114	in inspector mode.
8115
81162009-04-20  Javier Miranda  <miranda@adacore.com>
8117
8118	* sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
8119
8120	* sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
8121	documentation.
8122
8123	* exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
8124
8125	* sem_disp.adb
8126	(Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
8127	in internally built overriding subprograms.
8128
81292009-04-20  Doug Rupp  <rupp@adacore.com>
8130
8131	* s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
8132
8133	* s-auxdec.ads: Likewise
8134
81352009-04-20  Ed Schonberg  <schonberg@adacore.com>
8136
8137	* sem_ch3.adb (Find_Type_Name): Reject the completion of a private
8138	type by an interface.
8139
8140	* exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
8141	minimze difference in expanded tree when compiled as spec of the main
8142	unit, or as a spec in the context of another unit.
8143
81442009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
8145
8146	* a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
8147	(localtime_tzoff): This routine no longer accepts an actual of type
8148	tm_Pointer.
8149	(UTC_Time_Offset): Remove local variable Secs_TM.
8150
8151	* sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
8152	actual of type struct tm*. Add local variable of type struct tm for all
8153	targets that provide localtime_r and need to invoke it.
8154
81552009-04-20  Thomas Quinot  <quinot@adacore.com>
8156
8157	* s-oscons-tmplt.c, g-socket.adb, g-socket.ads
8158	(GNAT.Sockets.Resolve_Error): Add case of EPIPE
8159	Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
8160
81612009-04-20  Robert Dewar  <dewar@adacore.com>
8162
8163	* sem_ch3.adb: Minor reformatting
8164
8165	* lib-load.adb: Minor reformatting
8166
8167	* sem_ch4.adb: Minor reformatting
8168
81692009-04-20  Robert Dewar  <dewar@adacore.com>
8170
8171	* namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
8172	(equal values => False).
8173
81742009-04-20  Ed Schonberg  <schonberg@adacore.com>
8175
8176	* exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
8177	to null procedures can be inlined unconditionally.
8178
81792009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
8180
8181	* gcc-interface/trans.c (call_to_gnu): When creating the copy for a
8182	non-addressable parameter passed by reference, do not convert the
8183	actual if its type is already the nominal type, unless it is of
8184	self-referential size.
8185
81862009-04-20  Arnaud Charlet  <charlet@adacore.com>
8187
8188	* gnat_ugn.texi: Fix typos.
8189
81902009-04-20  Robert Dewar  <dewar@adacore.com>
8191
8192	* debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
8193	Validate_Unchecked_Warnings to suppress warnings about size or
8194	alignment or extra bits if either type involved has pragma Warnings
8195	(Off) set for the type entity.
8196
81972009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
8198
8199	* gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
8200	a builtin type and give it a name.
8201
82022009-04-17  Diego Novillo  <dnovillo@google.com>
8203
8204	* gcc-interface/misc.c (gnat_expand_expr): Remove.
8205	(LANG_HOOKS_EXPAND_EXPR): Remove.
8206
82072009-04-17  Robert Dewar  <dewar@adacore.com>
8208
8209	* sem_ch3.adb: Minor reformatting
8210
82112009-04-17  Pascal Obry  <obry@adacore.com>
8212
8213	* adaint.c: Add __gnat_use_acl global variable to control use of ACL.
8214
82152009-04-17  Ed Schonberg  <schonberg@adacore.com>
8216
8217	* sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
8218	illegal constraints on type derived from formal discrete types.
8219
82202009-04-17  Thomas Quinot  <quinot@adacore.com>
8221
8222	PR ada/35953
8223
8224	* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
8225	g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
8226	g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
8227	g-socket.ads (GNAT.Sockets.Thin.C_Send,
8228	GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
8229	Replace calls to send(2) with equivalent sendto(2) calls.
8230	(GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
8231	(GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
8232	report an error in that case. Factor code common to the two versions
8233	(datagram and stream) in common routine Stream_Write.
8234
82352009-04-17  Robert Dewar  <dewar@adacore.com>
8236
8237	* exp_disp.adb: Minor reformatting
8238	Minor code reorganization (use Nkind_In)
8239
8240	* prepcomp.adb: Minor reformatting
8241
8242	* sem_ch3.adb: Minor reformatting
8243
8244	* sem_res.adb: Minor comment addition
8245
8246	* exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
8247	for address clause
8248
8249	* lib-xref.adb (Generate_Reference): Exclude recursive calls from
8250	setting Is_Referenced
8251
8252	* types.ads: Minor reformatting
8253
82542009-04-17  Arnaud Charlet  <charlet@adacore.com>
8255
8256	* gnat_ugn.texi: Initial documentation on binding generator.
8257
82582009-04-17  Ed Schonberg  <schonberg@adacore.com>
8259
8260	* einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
8261	type extensions whose parent is a type with unknown discriminants.
8262
8263	* exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
8264	aggregate has unknown discriminants, use the Underlying_Record_View to
8265	obtain the discriminants of the ancestor part.
8266
8267	* exp_disp.adb (Build_Dispatch_Tables): Types that are
8268	Underlying_Record_Views share the dispatching information of the
8269	original record extension.
8270
8271	* exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
8272	discriminants, propagate dispach table information to the
8273	Underlying_Record_View.
8274
8275	* sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
8276	discriminants and declaration is not a completion, generate
8277	Underlying_Record_View to provide proper discriminant information to
8278	the front-end and to gigi.
8279
82802009-04-17  Robert Dewar  <dewar@adacore.com>
8281
8282	* s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
8283	s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
8284	s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
8285	g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
8286	s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
8287	s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
8288	g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
8289	s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
8290	g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
8291	s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
8292	s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
8293	s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
8294	s-conca3.ads: Remove unneeded pragma Warnings
8295
82962009-04-17  Robert Dewar  <dewar@adacore.com>
8297
8298	* g-moreex.adb: Add comments.
8299
8300	* s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
8301
8302	* s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
8303	Warnings (Off)
8304
8305	* prepcomp.adb: Add ??? comment
8306
8307	* a-tasatt.adb: Minor reformatting
8308
8309	* g-trasym-vms-alpha.adb: Add ??? comment
8310
8311	* g-trasym-vms-ia64.adb: Add ??? comment
8312
8313	* xoscons.adb: Minor reformatting
8314
8315	* s-tassta.adb: Minor reformatting
8316
8317	* s-scaval.adb: Add ??? comment
8318
8319	* stand.ads: Minor code clean up (remove junk with of Namet)
8320
8321	* s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
8322	s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
8323	s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
8324	s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
8325	s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
8326	s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
8327	s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
8328	s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
8329	Warnings off pragmas.
8330
83312009-04-17  Pascal Obry  <obry@adacore.com>
8332
8333	* initialize.c: Fix test for reallocating the arguments array.
8334
83352009-04-17  Geert Bosch  <bosch@adacore.com>
8336
8337	* exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
8338	conversion truncate only for decimal fixed point types.
8339
83402009-04-17  Jerome Lambourg  <lambourg@adacore.com>
8341
8342	* g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
8343	reinitialized.
8344
83452009-04-17  Robert Dewar  <dewar@adacore.com>
8346
8347	* exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
8348	Backwards_OK if either operand has an address clause.
8349
83502009-04-17  Pascal Obry  <obry@adacore.com>
8351
8352	* initialize.c: Code clean up, use realloc.
8353
83542009-04-17  Pascal Obry  <obry@adacore.com>
8355
8356	* initialize.c: Do not get Unicode command line if Unicode support not
8357	activated.
8358	Add support for wildcard expansion for Unicode parameters on Win32.
8359
8360	* mingw32.h: Add missing macros when Unicode support not activated.
8361
83622009-04-17  Javier Miranda  <miranda@adacore.com>
8363
8364	* sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
8365	avoid generating code that references the Current_Master
8366	when compiling without tasks.
8367
83682009-04-17  Vincent Celier  <celier@adacore.com>
8369
8370	* prj-attr.adb: New project level attribute Target
8371
8372	* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
8373	attribute Target
8374
8375	* prj.ads (Project_Configuration): New component Target
8376
83772009-04-17  Thomas Quinot  <quinot@adacore.com>
8378
8379	* exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
8380	case for the case of an aggregate component, the attach call for the
8381	result is actually needed.
8382
8383	* exp_aggr.adb (Backend_Processing_Possible): Backend processing for
8384	an array aggregate must be disabled if the component type requires
8385	controlled actions.
8386
8387	* exp_ch3.adb: Minor reformatting
8388
83892009-04-17  Bob Duff  <duff@adacore.com>
8390
8391	* output.ads (Indent,Outdent): New procedures for indenting the output.
8392	(Write_Char): Correct comment -- LF _is_ allowed.
8393
8394	* output.adb (Indent,Outdent): New procedures for indenting the output.
8395	Keep track of the indentation level, and make sure it doesn't get too
8396	high.
8397	(Flush_Buffer): Insert spaces at the beginning of each line, if
8398	indentation level is nonzero.
8399	(Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
8400	indentation level.
8401	(Set_Standard_Error,Set_Standard_Output): Remove superfluous
8402	"Next_Col := 1;".  Flush_Buffer does that.
8403
8404	* sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
8405	controlled by the -gnatdc switch. It now occurs on entry/exit to the
8406	relevant analysis routines, and calls Indent/Outdent to make the
8407	indentation reflect the nesting level.  Add "helper" routines, since
8408	otherwise lots of "return;" statements would skip the debugging output.
8409
84102009-04-17  Arnaud Charlet  <charlet@adacore.com>
8411
8412	* s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
8413	s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
8414	s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
8415
84162009-04-17  Thomas Quinot  <quinot@adacore.com>
8417
8418	* exp_aggr.adb: Minor code reorganization, no behaviour change.
8419
84202009-04-17  Ed Schonberg  <schonberg@adacore.com>
8421
8422	* sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
8423	clause in a unit that is a package body or a subunit, when the previous
8424	clause appears in a spec or a parent.
8425
84262009-04-17  Thomas Quinot  <quinot@adacore.com>
8427
8428	* sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
8429
8430	* exp_ch7.adb: Minor reformatting
8431
84322009-04-17  Bob Duff  <duff@adacore.com>
8433
8434	* exp_ch4.adb (Expand_Allocator_Expression): In an initialized
8435	allocator, check that the expression of the qualified expression obeys
8436	the constraints of the subtype of the qualified expression.
8437
84382009-04-17  Thomas Quinot  <quinot@adacore.com>
8439
8440	* sprint.adb (Write_Itype): Add handling of enumeration subtypes.
8441
84422009-04-17  Ed Schonberg  <schonberg@adacore.com>
8443
8444	* exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
8445	aggregate, using context imposed by subtype mark in allocator.
8446
84472009-04-17  Pascal Obry  <obry@adacore.com>
8448
8449	* gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
8450
84512009-04-17  Nicolas Roche  <roche@adacore.com>
8452
8453	* initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
8454	argument length.
8455
84562009-04-17  Gary Dismukes  <dismukes@adacore.com>
8457
8458	* sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
8459	cover both calls and attribute references ("call" => "reference").
8460
84612009-04-17  Ed Schonberg  <schonberg@adacore.com>
8462
8463	* sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
8464	type for which Storage_Size is set to 0 is legal in a pure unit.
8465
84662009-04-17  Thomas Quinot  <quinot@adacore.com>
8467
8468	* exp_ch7.adb: Minor reformatting
8469
84702009-04-17  Robert Dewar  <dewar@adacore.com>
8471
8472	* restrict.adb (Check_Restriction_No_Dependence): Don't check
8473	restriction if outside main extended source unit.
8474
8475	* sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
8476	for parents of child units as well as the child unit itself.
8477
84782009-04-17  Bob Duff  <duff@adacore.com>
8479
8480	* checks.ads: Minor comment fix
8481
8482	* exp_aggr.ads: Minor comment fix
8483
84842009-04-17  Nicolas Roche  <roche@adacore.com>
8485
8486	* adaint.c: Improve cross compiler detection and handling.
8487
84882009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
8489
8490	* exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
8491
84922009-04-17  Pascal Obry  <obry@adacore.com>
8493
8494	* mingw32.h: Add S2WSC and WS2SC macros to convert to/from
8495	CurrentCodePage.
8496
8497	* adaint.h: Encoding_Unspecified is now defined. Corresponds to the
8498	value when no encoding form paramter is set on Text_IO services.
8499
8500	* adaint.c: CurrentCodePage new variable on Windows.
8501	Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8502	ones.
8503
8504	* mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
8505	ones.
8506
8507	* initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
8508	environment variable value. Default is UTF-8.
8509
8510	* s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
8511	fopen and freopen encoding parameter is now set to Unspecified.
8512	The default value is in this case UTF-8 (as it was before) but
8513	use the new macros that convert to/from the code page set
8514	at runtime (CurrentCodePage).
8515
8516	* s-fileio.adb: When no encoding specified use Unspecified value.
8517
85182009-04-17  Ed Schonberg  <schonberg@adacore.com>
8519
8520	* atree.adb, atree.ads: Remove dead code.
8521
85222009-04-17  Arnaud Charlet  <charlet@adacore.com>
8523
8524	* gcc-interface/Make-lang.in: Update dependencies.
8525
85262009-04-17  Ed Schonberg  <schonberg@adacore.com>
8527
8528	* sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
8529	illegal uses of incomplete types in formal parts and return types.
8530
8531	* sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
8532	access to subprograms.
8533
8534	* sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
8535	Taft-amendment types as the return type of an access_to_function type.
8536
8537	* freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8538	type for access_to_subprograms. The check is performed on package exit.
8539
85402009-04-17  Ed Schonberg  <schonberg@adacore.com>
8541
8542	* atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
8543
8544	* nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
8545
8546	* lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
8547
8548	* sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
8549	semantic units, because the handling of itypes in the copied tree
8550	requires semantic information that does not belong in atree.
8551
85522009-04-17  Robert Dewar  <dewar@adacore.com>
8553
8554	* par-ch6.adb: Minor reformatting
8555
8556	* prj.adb: Minor reformatting
8557
85582009-04-17  Gary Dismukes  <dismukes@adacore.com>
8559
8560	* par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
8561	on protected subprogram bodies, so exclude the case where Pf_Flags is
8562	Pf_Decl_Pbod from the error check.
8563
8564	* par-ch9.adb (P_Protected_Operation_Items): Permit overriding
8565	indicators on subprograms in protected bodies, and proceed with parsing
8566	the subprogram.
8567
8568	* sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
8569	subprograms from the check for primitiveness on subprograms with
8570	overriding indicators.
8571	(Check_Overriding_Indicator): Include protected subprograms in the
8572	style check for missing overriding indicators.
8573
85742009-04-17  Tristan Gingold  <gingold@adacore.com>
8575
8576	* init.c: Fix stack checking for x86 Darwin.
8577
85782009-04-17  Vincent Celier  <celier@adacore.com>
8579
8580	* prj-attr.adb: New project level attribute Object_File_Suffix
8581	(<language>).
8582
8583	* prj-nmsc.adb (Add_Source): Use the object file suffix to get the
8584	object file name
8585	(Process_Compiler): Process attribute Object_File_Suffix
8586
8587	* prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
8588	platform suffix, when specified.
8589
8590	* prj.ads (Language_Config): New component Object_File_Suffix,
8591	defaulted to No_Name.
8592	(Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
8593
8594	* snames.ads-tmpl: New standard name Object_File_Suffix
8595
85962009-04-17  Robert Dewar  <dewar@adacore.com>
8597
8598	* gnat_rm.texi: Add documentation about No_Streams restriction
8599
8600	* sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
8601	attributes when checking No_Streams restriction.
8602
86032009-04-17  Thomas Quinot  <quinot@adacore.com>
8604
8605	* rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
8606
8607	* exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
8608	missing calls to RE_Request_Destroy to deallocate request objects after
8609	use.
8610
86112009-04-17  Nicolas Setton  <setton@adacore.com>
8612
8613	* link.c: Fix support for passing a response file under Darwin.
8614
86152009-04-17  Emmanuel Briot  <briot@adacore.com>
8616
8617	* prj.adb (Free): new subprogram.
8618
86192009-04-17  Ed Schonberg  <schonberg@adacore.com>
8620
8621	* sem_ch3.adb: additional initialization on incomplete subtypes.
8622
8623	* sem_ch6.adb (Process_Formals): if the subprogram is in the private
8624	part and one of the formals is an incomplete tagged type, attach to
8625	list of private dependends of the type for later validation.
8626
8627	* sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
8628	primitive operations of a Taft-amendmment type.
8629
8630	* freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
8631	type. The check is performed on package exit, possibly after the
8632	subprogram is frozen.
8633
86342009-04-17  Vincent Celier  <celier@adacore.com>
8635
8636	* prj-nmsc.adb (Get_Directories): Get the object and exec directory
8637	before looking for source directories, but make sure that there are nil
8638	if they are not explicitely declared and there is explicitely no
8639	sources in the project.
8640
86412009-04-17  Pascal Obry  <obry@adacore.com>
8642
8643	* initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
8644
8645	* init.c: Fix minor typo and style fix.
8646
86472009-04-17  Robert Dewar  <dewar@adacore.com>
8648
8649	* a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
8650
8651	* sem_attr.adb (Analyze_Attribute, case Address): Use
8652	PE_Address_Of_Intrinsic.
8653
8654	* types.ads: Add PE_Address_Of_Intrinsic
8655
8656	* types.h: Add PE_Address_Of_Intrinsic
8657
86582009-04-17  Nicolas Setton  <setton@adacore.com>
8659
8660	* gcc-interface/Makefile.in: Under darwin, build shared libraries
8661	with install_name starting with "@rpath/".
8662
86632009-04-17  Nicolas Setton  <setton@adacore.com>
8664
8665	* link.c: Add darwin section
8666
86672009-04-16  Robert Dewar  <dewar@adacore.com>
8668
8669	* g-pehage.adb: Minor reformatting
8670
8671	* sem_ch12.adb: Minor reformatting
8672
8673	* exp_dist.adb: Minor reformatting
8674
8675	* bindgen.adb: Minor style fixes.
8676
86772009-04-16  Ed Schonberg  <schonberg@adacore.com>
8678
8679	* sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
8680	indexed components to the case where the prefix is a static string
8681	literal.
8682
86832009-04-16  Javier Miranda  <miranda@adacore.com>
8684
8685	* exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
8686	objects avoid any further expansion of the expression initializing the
8687	object.
8688
86892009-04-16  Ed Schonberg  <schonberg@adacore.com>
8690
8691	* sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
8692	that hides an outer homograph, make that homograph invisible when
8693	analyzing the actuals, to to prevent illegal direct visibility on it.
8694
86952009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8696
8697	* g-pehage.adb (Initialize): Fix off-by-one error.
8698
86992009-04-16  Tristan Gingold  <gingold@adacore.com>
8700
8701	* init.c: Detect real stack overflow on Darwin.
8702
8703	* system-darwin-x86.ads: Use stack probing on darwin x86.
8704
87052009-04-16  Ed Schonberg  <schonberg@adacore.com>
8706
8707	* sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
8708	take the address of an intrinsic subprogram.
8709
87102009-04-16  Arnaud Charlet  <charlet@adacore.com>
8711
8712	* gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
8713	for the targets where GNAT.Traceback.Symbolic is not supported.
8714
87152009-04-16  Vincent Celier  <celier@adacore.com>
8716
8717	* g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
8718
8719	* g-trasym.ads: Update comments.
8720
87212009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
8722
8723	* tracebak.c (STOP_FRAME): Verify validity of the current address
8724	before dereferencing.
8725
87262009-04-16  Ed Schonberg  <schonberg@adacore.com>
8727
8728	* sprint.adb (Write_Itype): If the itype is an array subtype, preserve
8729	the original location of the index expressions and the index subtypes,
8730	to prevent spurious out-of-scope references in gigi.
8731
87322009-04-16  Tristan Gingold  <gingold@adacore.com>
8733
8734	* init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
8735	Add support for stack checking on darwin.
8736
87372009-04-16  Vincent Celier  <celier@adacore.com>
8738
8739	* prj-attr.adb: New attribute Runtime_Source_Dir
8740
8741	* prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
8742	attribute Runtime_Source_Dir.
8743	(Check_Naming_Schemes): Give default values to out parameters to avoid
8744	invalid data.
8745
8746	* prj.ads (Language_Config): New component Runtime_Source_Dir
8747
8748	* snames.ads-tmpl: New standard name Runtime_Source_Dir
8749
87502009-04-16  Pascal Obry  <obry@adacore.com>
8751
8752	* adaint.h, adaint.c (__gnat_rmdir): New routine.
8753	Simple wrapper routines used to convert to proper encoding on
8754	Windows.
8755
8756	* s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
8757
8758	* g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
8759	twice.
8760
87612009-04-16  Pascal Obry  <obry@adacore.com>
8762
8763	* s-crtl.ads, s-os_lib.adb: Minor code clean-up.
8764
87652009-04-16  Thomas Quinot  <quinot@adacore.com>
8766
8767	* snames.ads-tmpl (Name_Defined): New predefined name for use by the
8768	integrated preprocessor.
8769
8770	* prep.ads, prep.adb (Setup_Hooks): New subprogram.
8771	(Initialize): Split into two subprograms, Initialize (to be called
8772	prior to compiler command line processing) and Setup_Hooks (to be called
8773	later on when the first source file is loaded).
8774
8775	* gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
8776	Add call to Prep.Initialize.
8777
8778	* sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
8779	to Prep.Setup_Hooks.
8780
87812009-04-16  Pascal Obry  <obry@adacore.com>
8782
8783	* adaint.h, adaint.c (__gnat_chdir): New routine.
8784	Simple wrapper routines used to convert to proper encoding on
8785	Windows.
8786
8787	* s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
8788
8789	* a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
8790
87912009-04-16  Quentin Ochem  <ochem@adacore.com>
8792
8793	* sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
8794	of Source.Init.
8795
87962009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
8797
8798	* a-convec.ads (Is_Empty): Mark inline.
8799
88002009-04-16  Nicolas Roche  <roche@adacore.com>
8801
8802	* init.c (__gnat_init_float): Initialize FPU on x86_64 windows
8803
88042009-04-16  Thomas Quinot  <quinot@adacore.com>
8805
8806	* prepcomp.adb: Minor reformatting
8807
88082009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8809
8810	* sem_prag.adb (Process_Import_Or_Interface): With .NET,
8811	Access_Subprogram types can also be imported.
8812	(Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
8813	names.
8814
88152009-04-16  Ed Schonberg  <schonberg@adacore.com>
8816
8817	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
8818	preserve homonym chain when the declaration is rewritten into a
8819	renaming declaration, in order to preserve visibility structure.
8820
88212009-04-16  Jerome Lambourg  <lambourg@adacore.com>
8822
8823	* sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
8824	taken into account for VM targets.
8825
88262009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
8827
8828	* g-calend.ads, g-calend.adb (Week_In_Year): Now calls
8829	Year_Week_In_Year.
8830	(Year_Week_In_Year): New routine which contains the original code from
8831	Week_In_Year. Add the missing special case for January 1st falling on
8832	a Monday.
8833
88342009-04-16  Thomas Quinot  <quinot@adacore.com>
8835
8836	* exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
8837	actual type, use the base type to build the To_Any function.
8838	(Build_From_Any_Function): Remove junk, useless subtype conversion.
8839
88402009-04-16  Thomas Quinot  <quinot@adacore.com>
8841
8842	* exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
8843	restrict.adb: Minor code reorganization (use
8844	Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
8845
88462009-04-16  Bob Duff  <duff@adacore.com>
8847
8848	* exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
8849	unused.
8850
88512009-04-16  Thomas Quinot  <quinot@adacore.com>
8852
8853	* sem_ch4.adb: Minor reformatting
8854
8855	* adaint.c: Remove junk duplicated code.
8856
8857	* sem_ch3.adb: Minor reformatting
8858
8859	* exp_dist.adb: Minor comment rewording
8860
88612009-04-16  Robert Dewar  <dewar@adacore.com>
8862
8863	* gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
8864	used together.
8865
88662009-04-16  Ed Schonberg  <schonberg@adacore.com>
8867
8868	* sem_ch4.adb (Find_Equality_Types): Filter out types that are not
8869	usable before calling Add_One_Interp, to resolve spurious ambiguities.
8870
88712009-04-16  Robert Dewar  <dewar@adacore.com>
8872
8873	* Make-lang.in: Add entries for s-conca?.o
8874
8875	* Makefile.rtl: Add entries for s-conca?
8876
8877	* debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
8878	of concatenation expansion
8879
8880	* exp_ch4.adb (Expand_Concatenation): Generate calls for certain
8881	string cases instead of expanding assignments inline.
8882
8883	* opt.ads (Optimize_Size): New flag
8884
8885	* s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
8886	s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
8887	s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
8888	s-conca9.adb, s-conca9.ads: New file.
8889
88902009-04-16  Robert Dewar  <dewar@adacore.com>
8891
8892	* exp_ch6.adb: Add comments
8893
8894	* rtsfind.ads: Add entries for s-conca? routines
8895
88962009-04-16  Arnaud Charlet  <charlet@adacore.com>
8897
8898	* gcc-interface/Make-lang.in: Update dependencies.
8899
8900	* gcc-interface/Makefile.in: Update translation for vms.
8901
89022009-04-16  Ed Schonberg  <schonberg@adacore.com>
8903
8904	* sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
8905	and made global, to be used when installing parents of a child
8906	instance, to provide mappings for entities declared in formal packages
8907	of ancestor units. Now called from Install_Formal_Packages.
8908
89092009-04-16  Doug Rupp  <rupp@adacore.com>
8910
8911	* s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
8912	notation for clarity.
8913
8914	* s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
8915	s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
8916	s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
8917	(Initialize): Initialize Known_Tasks with Environment task.
8918
8919	* s-taskin.ads (Task_States): Move new states to end for the sake of
8920	GDB compatibility.
8921
8922	* s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
8923
89242009-04-16  Ed Schonberg  <schonberg@adacore.com>
8925
8926	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
8927	operation has an inline pragma, propagate the flag to the internal
8928	unprotected subprogram.
8929
89302009-04-16  Doug Rupp  <rupp@adacore.com>
8931
8932	* s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
8933	s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb,
8934	s-taprop-hpux-dce.adb, s-taprop-posix.adb
8935	(Enter_Task): Move Known_Tasks initialization to s-tassta.adb
8936
8937	* s-taprop-vms.adb (Enter_Task): Likewise.
8938	(Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
8939
8940	* s-tassta.adb (Activate_Tasks): After task creation set state to
8941	Activating, vice Runnable. Initialize Known_Tasks, moved here from
8942	s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
8943	Set state to Runnable after above.
8944	(Task_Wrapper): Set Debug_Event_Run. In exception block set
8945	Debug_Event_Terminated.
8946
8947	* s-taskin.ads (Task_States): Add new states Activiting and
8948	Activator_Delay_Sleep.
8949	(Bit_Array, Debug_Event_Array): New types.
8950	(Global_Task_Debug_Event_Set: New flag.
8951	(Common_ATCB): New field Debug_Events.
8952
8953	* s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
8954
8955	* s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
8956	Activator_Sleep.
8957
8958	* s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
8959	Activating and when Acceptor_Delay_Sleep.
8960
8961	* s-tasdeb.ads: Add constants for Debug_Events.
8962	(Debug_Event_Kind_Type): New subtype.
8963	(Signal_Debug_Event): New subprogram.
8964
8965	* s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
8966
89672009-04-16  Thomas Quinot  <quinot@adacore.com>
8968
8969	* sem_elim.adb: Minor reformatting
8970
8971	* freeze.adb: Minor reformatting
8972
8973	* exp_ch4.adb: Minor reformatting
8974
89752009-04-16  Emmanuel Briot  <briot@adacore.com>
8976
8977	* prj-nmsc.adb (Path_Name_Of): fix memory leak
8978
89792009-04-16  Robert Dewar  <dewar@adacore.com>
8980
8981	* sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
8982
89832009-04-16  Vincent Celier  <celier@adacore.com>
8984
8985	* fmap.adb (Initialize): Show the current line when the mapping file
8986	is detected as "incorrectly formatted".
8987
89882009-04-16  Robert Dewar  <dewar@adacore.com>
8989
8990	* sem_ch12.adb: Minor reformatting
8991
8992	* sem_ch5.adb: Minor comment addition
8993
8994	* sem_util.adb: Minor reformatting
8995
8996	* sinput-p.adb: Minor reformatting
8997	Add missing pragma Warnings (On)
8998
89992009-04-16  Ed Falis  <falis@adacore.com>
9000
9001	* s-vxwext-kernel.adb: (ERROR): deleted unused constant
9002
90032009-04-16  Vincent Celier  <celier@adacore.com>
9004
9005	* ali-util.adb: Minor comment spelling error fix
9006
90072009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
9008
9009	* exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
9010	generate an assignment loop in case of overlap.
9011
90122009-04-16  Olivier Hainque  <hainque@adacore.com>
9013
9014	* gnat_ugn.texi (gnatmem description): Make it explicit that
9015	gnatmem is designed to work in association with static runtime
9016	library only.
9017
90182009-04-16  Thomas Quinot  <quinot@adacore.com>
9019
9020	* sem_type.adb: Minor reformatting
9021
90222009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
9023
9024	* s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
9025	concerning return codes of gettimeofday and return value check.
9026
90272009-04-16  Ed Falis  <falis@adacore.com>
9028
9029	* s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
9030	body can be renaming of imported routines.
9031
90322009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
9033
9034	* s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
9035	targeted fashion.
9036
90372009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9038
9039	* exp_ch9.adb: Comment improvements.
9040	(Build_Entry_Family_Name): Add parentheses around the index of a entry
9041	family member.
9042
90432009-04-15  Bob Duff  <duff@adacore.com>
9044
9045	* sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
9046	"while X /= null loop" where X is unchanged inside the loop. We were
9047	not warning in this case, because of the pointers -- we feared that the
9048	loop variable could be updated via a pointer, if there are any pointers
9049	around the place. But that is impossible in this case.
9050
9051	* sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
9052	the case of dereferences. In X.all, X cannot be an l-value. We now
9053	catch that case (and implicit dereferences, too).
9054
90552009-04-15  Vincent Celier  <celier@adacore.com>
9056
9057	* sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
9058
90592009-04-15  Ed Schonberg  <schonberg@adacore.com>
9060
9061	* sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
9062	From code reading.
9063	(Analyze_Package_Instantiation): If generic unit in child instance is
9064	the same as generic unit in parent instance, look for an outer homonym
9065	to locate the desired generic.
9066
90672009-04-15  Bob Duff  <duff@adacore.com>
9068
9069	* sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
9070	warnings unless the loop comes from source, because checking generated
9071	loops is a waste of time, and makes it harder to debug
9072	Check_Infinite_Loop_Warning.
9073
9074	* sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
9075	tested in the while loop is a renaming, do not warn. Otherwise, we get
9076	false alarms, because it's usually renaming something that we can't
9077	deal with (an indexed component, a global variable, ...).
9078
9079	* gnat_rm.texi: Fix typo
9080
90812009-04-15  Thomas Quinot  <quinot@adacore.com>
9082
9083	* sem_ch6.adb: Minor reformatting
9084
90852009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9086
9087	* exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
9088	immediate parent of the controlled function call is a component
9089	association.
9090
90912009-04-15  Ed Schonberg  <schonberg@adacore.com>
9092
9093	* sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
9094	corresponding class-wide type is also in use.
9095
90962009-04-15  Thomas Quinot  <quinot@adacore.com>
9097
9098	* frontend.adb: Minor comment fix
9099
91002009-04-15  Robert Dewar  <dewar@adacore.com>
9101
9102	* gnatchop.adb (BOM_Length): New global variable
9103	(Write_Unit): Add new parameter Write_BOM
9104	(Write_Chopped_Files): Check for BOM and set Write_BOM for call
9105	to Write_Unit
9106
9107	* gnat_ugn.texi: Add note on propagation of BOM by gnatchop
9108
91092009-04-15  Geert Bosch  <bosch@adacore.com>
9110
9111	* system-mingw-x86_64.ads, system-darwin-x86_64.ads
9112	(Backend_Overflow_Checks): Set to True.
9113
91142009-04-15  Gary Dismukes  <dismukes@adacore.com>
9115
9116	* par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
9117	keyword is given in a record extension.
9118
91192009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9120
9121	* exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
9122	of a controlled function call in the context of a record aggregate.
9123	This does not apply to array aggregates since the call will be expanded
9124	into assignments.
9125
91262009-04-15  Ed Falis  <falis@adacore.com>
9127
9128	* s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
9129	s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
9130	s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
9131	s-osinte-vxworks* and s-vxwext*.
9132
91332009-04-15  Arnaud Charlet  <charlet@adacore.com>
9134
9135	* gcc-interface/Make-lang.in: Update dependencies.
9136
9137	* gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
9138	and s-vxwext*.
9139
91402009-04-15  Robert Dewar  <dewar@adacore.com>
9141
9142	* sem_ch13.adb (Unchecked_Conversions): Store source location instead
9143	of node for location for warning messages.
9144
9145	* gnatchop.adb: Minor reformatting
9146
91472009-04-15  Ed Schonberg  <schonberg@adacore.com>
9148
9149	* exp_ch6.adb: additional guard for renaming declarations for in
9150	parameters of an array type.
9151
91522009-04-15  Robert Dewar  <dewar@adacore.com>
9153
9154	* sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
9155	in case they were rewritten by expander (Force_Evaluation).
9156
9157	* targparm.adb (Get_Target_Parameters): Correct check for
9158	Suppress_Exception_Locations.
9159
91602009-04-15  Ed Schonberg  <schonberg@adacore.com>
9161
9162	* exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
9163	inlined  is of an array type that is not bit-packed, use a renaming
9164	declaration to capture its value, rather than a constant declaration.
9165
91662009-04-15  Robert Dewar  <dewar@adacore.com>
9167
9168	* rtsfind.adb: Minor reformatting.
9169
91702009-04-15  Emmanuel Briot  <briot@adacore.com>
9171
9172	* prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
9173	Restore, and free the saved context.
9174
91752009-04-15  Gary Dismukes  <dismukes@adacore.com>
9176
9177	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
9178	for illegal private extension from a synchronized interface parent in
9179	front of check for illegal limited extension so that limited extension
9180	from a synchronized interface will be rejected.
9181	(Check_Ifaces): Check that a private extension that has a synchronized
9182	interface as a progenitor must be explicitly declared synchronized.
9183	Also check that a record extension cannot derive from a synchronized
9184	interface.
9185
91862009-04-15  Pascal Obry  <obry@adacore.com>
9187
9188	* adaint.h (__gnat_unlink): Add spec.
9189	(__gnat_rename): Likewise.
9190
91912009-04-15  Vincent Celier  <celier@adacore.com>
9192
9193	* prj-nmsc.adb: Minor spelling error corrections in error messages
9194
91952009-04-15  Robert Dewar  <dewar@adacore.com>
9196
9197	* sinfo.ads: Minor comment update
9198
9199	* opt.ads: Minor comment updates
9200
9201	* checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
9202	modular type.
9203
92042009-04-15  Ed Schonberg  <schonberg@adacore.com>
9205
9206	* exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
9207	that generates the code needed to update a dispatch table when a
9208	primitive operation is declared with a subprogram body without previous
9209	spec. Insertion of the generated code is responsibility of the caller.
9210	(Make_DT): When building static tables, append the code created by
9211	Register_Primitive to update a secondary table after it has been
9212	constructed.
9213
9214	* exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
9215
9216	* sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
9217	on an overriding operation that implements an interface operation only
9218	if not building static dispatch tables.
9219
92202009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9221
9222	* a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
9223	does not cause overflow when converted to Duration. Use the safe value
9224	as the maximum allowable time delay..
9225
92262009-04-15  Jerome Lambourg  <lambourg@adacore.com>
9227
9228	* g-comlin.adb (Set_Command_Line): When adding a switch with attached
9229	parameter, specify that the delimiter is NUL, otherwise "-j2" will be
9230	translated to "-j 2".
9231
92322009-04-15  Bob Duff  <duff@adacore.com>
9233
9234	* rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
9235	with_clauses, to avoid code duplication. Change this processing so we
9236	always add a with_clause on the main unit if needed.
9237
92382009-04-15  Pascal Obry  <obry@adacore.com>
9239
9240	Add support for Win32 native encoding for delete/rename routines.
9241
9242	* adaint.c (__gnat_unlink): New routine.
9243	(__gnat_rename): New routine.
9244	Simple wrapper routines used to convert to proper encoding on
9245	Windows.
9246
9247	* s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
9248	call to the C library.
9249
9250	* g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
9251
92522009-04-15  Robert Dewar  <dewar@adacore.com>
9253
9254	* s-tassta.adb: Minor reformatting
9255
92562009-04-15  Robert Dewar  <dewar@adacore.com>
9257
9258	* frontend.adb (Frontend): Set proper default for
9259	Warn_On_Non_Local_Exception.
9260
9261	* opt.ads (Exception_Handler_Encountered): New flag
9262	(No_Warn_On_Non_Local_Exception): New flag
9263
9264	* par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
9265
9266	* sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
9267	(Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
9268
92692009-04-15  Cyrille Comar  <comar@adacore.com>
9270
9271	* s-tassta.adb, a-exextr.adb, a-elchha.adb
9272	(Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
9273	message when exception traces are active since it would generate
9274	redundant information.
9275	(Exception_Traces.Notify_Exception): put message output by a critical
9276	section to avoid unsynchronized output.
9277	(Trace_Unhandled_Exception_In_Task): put message output by a critical
9278	section to avoid unsynchronized output.
9279
92802009-04-15  Emmanuel Briot  <briot@adacore.com>
9281
9282	* g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
9283	(Free): New subprogram.
9284
92852009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9286
9287	* a-calend.adb: Add new constant Nanos_In_Four_Years.
9288	(Formatting_Operations.Time_Of): Change the way four year chunks of
9289	nanoseconds are added to the intermediate result.
9290
92912009-04-15  Nicolas Setton  <setton@adacore.com>
9292
9293	* sysdep.c: Add __APPLE__ in the list of systems where get_immediate
9294	does not need to wait for a carriage return.
9295
92962009-04-15  Tristan Gingold  <gingold@adacore.com>
9297
9298	* bindgen.adb: Do not generate adafinal if No_Finalization restriction
9299	is set.
9300
93012009-04-15  Ed Schonberg  <schonberg@adacore.com>
9302
9303	* freeze.adb (Freeze_Entity): improve error message for improper use of
9304	incomplete types.
9305	Diagnose additional illegal uses of incomplete types in formal parts.
9306	appearing in formal parts.
9307
9308	* sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
9309
93102009-04-15  Robert Dewar  <dewar@adacore.com>
9311
9312	* exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
9313
93142009-04-15  Nicolas Roche  <roche@adacore.com>
9315
9316	* adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
9317	current thread.
9318
9319	* s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
9320
9321	* s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
9322
93232009-04-15  Ed Schonberg  <schonberg@adacore.com>
9324
9325	* sem_ch4.adb: improve error message on exponentiation.
9326
93272009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
9328
9329	* a-calend.adb: Move constant Epoch_Offset from package
9330	Conversion_Operations to top level.
9331	(Delay_Operations.To_Duration): Define a constant which represents
9332	"end of time" and use it as a guard against very distant delay dates.
9333	Protect the code against overflow when performing the origin shift to
9334	Unix time.
9335
93362009-04-15  Robert Dewar  <dewar@adacore.com>
9337
9338	* sem_prag.adb: Minor reformatting.
9339
9340	* sem_type.adb: Minor reformatting
9341
93422009-04-15  Javier Miranda  <miranda@adacore.com>
9343
9344	* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
9345	support to check eliminated subprograms.
9346
9347	* sem_elim.ads (Eliminate_Error_Msg): Update documentation.
9348
9349	* sem_elim.adb (Set_Eliminated): Add support for elimination of
9350	dispatching subprograms.
9351
9352	* exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
9353	operations. Initialize with "null" the slots of eliminated dispaching
9354	primitives.
9355	(Write_DT): Add output for eliminated primitives.
9356
9357	* sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
9358
93592009-04-15  Ed Schonberg  <schonberg@adacore.com>
9360
9361	* sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
9362	the second is redundant, regardless of scopes.
9363
93642009-04-15  Vincent Celier  <celier@adacore.com>
9365
9366	* prj-nmsc.adb (Get_Directories): Check for sources before checking
9367	the object directory as when there are no sources, they may not be any
9368	object directory.
9369
9370	* make.adb (Gnatmake): Do not attempt to get the path name of the exec
9371	directory, when there are no exec directory.
9372
93732009-04-15  Ed Schonberg  <schonberg@adacore.com>
9374
9375	* sem_type.adb (Remove_Conversions): In order to resolve spurious
9376	ambiguities, refine removal of universal interpretations from complex
9377	expressions with literal arguments, when some numeric operators have
9378	been declared abstract.
9379
93802009-04-15  Ed Falis  <falis@adacore.com>
9381
9382	* init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
9383	and backward compatibility for targets using probing for stack overflow
9384
93852009-04-15  Ed Schonberg  <schonberg@adacore.com>
9386
9387	* sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
9388	after any declaration, including renaming declarations.
9389
93902009-04-15  Arnaud Charlet  <charlet@adacore.com>
9391
9392	* gcc-interface/Make-lang.in: Update dependencies.
9393
9394	* gcc-interface/Makefile.in: Fix VxWorks target pairs.
9395	Update xenomai target pairs.
9396
93972009-04-15  Javier Miranda  <miranda@adacore.com>
9398
9399	* exp_ch4.adb (Expand_N_Allocator): Code cleanup.
9400
9401	* sem_ch6.adb (Check_Anonymous_Return): Add missing support for
9402	functions returning anonymous access to class-wide limited types. Mark
9403	also the containing scope as a task master.
9404
9405	* sem_ch8.adb (Restore_Scope_Stack): Add missing management for
9406	limited-withed packages. Required to restore their visibility after
9407	processing packages associated with implicit with-clauses.
9408
9409	* exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
9410	associated with return statements because this work is now done by
9411	Check_Anonymous_Return.
9412	(Build_Master): Code cleanup.
9413
94142009-04-15  Thomas Quinot  <quinot@adacore.com>
9415
9416	* sem_warn.ads: Minor reformatting
9417
94182009-04-15  Ed Schonberg  <schonberg@adacore.com>
9419
9420	* sem_ch3.adb: better error message for illegal interfaces
9421
9422	* sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
9423	formal is an incomplete type from a limited_with clause.
9424
94252009-04-15  Vincent Celier  <celier@adacore.com>
9426
9427	* prj-nmsc.adb (Locate_Directory): New Boolean parameter
9428	Externally_Built indicating if the project is externally built. If it
9429	is, and --subdirs is specified, but the subdir does not exist, look
9430	for the specified directory, without the subdir.
9431
94322009-04-15  Gary Dismukes  <dismukes@adacore.com>
9433
9434	* a-tasatt.adb: Fix typo, plus minor reformatting
9435
9436	* sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
9437
9438	* sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
9439
94402009-04-15  Ed Schonberg  <schonberg@adacore.com>
9441
9442	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
9443	private extension whose parent is a synchronized interface carries an
9444	explicit synchronized keyword.
9445
94462009-04-15  Thomas Quinot  <quinot@adacore.com>
9447
9448	* exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
9449	instantiate generic shared object package with the corresponding
9450	record type.
9451
94522009-04-15  Arnaud Charlet  <charlet@adacore.com>
9453
9454	* system-linux-sparc.ads: Remove obsolete entries.
9455
94562009-04-15  Thomas Quinot  <quinot@adacore.com>
9457
9458	* s-tasuti.ads: Add ??? comment
9459
94602009-04-15  Ed Schonberg  <schonberg@adacore.com>
9461
9462	* sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
9463	type even if the designated type comes from a limited_with clause, to
9464	ensure that the symbol for the finalization list of the access type is
9465	created.
9466
94672009-04-10  Robert Dewar  <dewar@adacore.com>
9468
9469	* sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
9470	for warning suppression.
9471
94722009-04-10  Ed Schonberg  <schonberg@adacore.com>
9473
9474	* sem_ch8.adb (Use_One_Type): If the two use_type clauses are
9475	identical, there is no redudancy to check.
9476
94772009-04-10  Gary Dismukes  <dismukes@adacore.com>
9478
9479	* exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
9480	calls initializing SS_Allocator (which is initialized in following
9481	code).
9482	(Expand_Simple_Function_Return): Add comment about False value for
9483	Comes_From_Source on secondary-stack allocator.
9484
9485	* exp_ch9.adb (Build_Entry_Family_Name): Add comment.
9486	(Build_Entry_Name): Add comment.
9487
94882009-04-10  Robert Dewar  <dewar@adacore.com>
9489
9490	* einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
9491
9492	* sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
9493	bound tested, since this is now done more generally in Sem_Res.
9494
9495	* sem_res.adb (Resolve_Comparison_Op): Add call to
9496	Check_Lower_Bound_Tested.
9497	(Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
9498
9499	* sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
9500	(Low_Bound_Tested): New name for Low_Bound_Known flag
9501
9502	* exp_ch5.adb: Minor reformatting
9503
9504	* exp_ch4.adb:
9505	Add comments on copying the Comes_From_Source flag for allocators
9506
9507	* sinfo.ads:
9508	Add comments on copying the Comes_From_Source flag for allocators
9509
9510	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
9511	Comes_From_Source flag from old allocator to new one.
9512
95132009-04-10  Ed Schonberg  <schonberg@adacore.com>
9514
9515	* sem_ch6.ads: Address missing documentation query
9516
95172009-04-10  Vincent Celier  <celier@adacore.com>
9518
9519	* prj-attr.adb:
9520	Add new Linker attributes Max_Command_Line_Length, Response_File_Format
9521	and Response_File_Switches.
9522
9523	* prj-nmsc.adb (Process_Linker): Process new attributes
9524	Max_Command_Line_Length, Response_File_Format and
9525	Response_File_Switches.
9526
9527	* prj.ads (Response_File_Format): New enumeration type
9528	(Project_Configuration): New componants Max_Command_Line_Length,
9529	Resp_File_Format and Resp_File_Options.
9530
9531	* snames.ads-tmpl: Add new standard names for linking response files
9532	for gprbuild: GNU, None, Object_List, Option_List,
9533	Max_Command_Line_Length, Response_File_Format and
9534	Response_File_Switches.
9535
95362009-04-10  Geert Bosch  <bosch@adacore.com>
9537
9538	* system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
9539	system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
9540	system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
9541	system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
9542	system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
9543	system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
9544	system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
9545	system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
9546	system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
9547	system-vxworks-arm.ads, system-vxworks-m68k.ads,
9548	system-vxworks-mips.ads, system-vxworks-ppc.ads,
9549	system-vxworks-sparcv9.ads, system-vxworks-x86.ads
9550	(Backend_Overflow_Checks): Set to True.
9551
95522009-04-10  Thomas Quinot  <quinot@adacore.com>
9553
9554	* exp_attr.adb: Minor reformatting
9555
95562009-04-10  Ed Schonberg  <schonberg@adacore.com>
9557
9558	* sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
9559	analyze the expression for a postcondition, even if the compiler mode
9560	is Generate_Code.
9561
95622009-04-10  Robert Dewar  <dewar@adacore.com>
9563
9564	* sem_aux.adb: Minor reformatting
9565
95662009-04-10  Ed Falis  <falis@adacore.com>
9567
9568	* init.c: Change VxWorks 6 stack overflow checking for kernel apps.
9569
9570	* system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
9571
95722009-04-10  Thomas Quinot  <quinot@adacore.com>
9573
9574	* sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
9575	undocumented formal.
9576	Minor reformatting
9577
9578	* a-direio.ads: Fix typo in comment
9579
9580	* sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
9581	errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
9582	Use uniform phrasing for comment at start of subprogram body.
9583
9584	* xsnamest.adb: Add note to explain why we use specific names for the
9585	newly generated files instead of generating snames.{ads,adb,h} directly
9586
95872009-04-10  Sergey Rybin  <rybin@adacore.com>
9588
9589	* vms_data.ads:
9590	Add qualifier for new gnatstub option '--no-exception'
9591
9592	* gnat_ugn.texi:
9593	Add the description of the new gnatstub option '--no-exception'
9594
95952009-04-10  Robert Dewar  <dewar@adacore.com>
9596
9597	* rtsfind.adb: Minor reformatting
9598
95992009-04-10  Thomas Quinot  <quinot@adacore.com>
9600
9601	* sem_disp.adb: Minor reformatting.
9602	Add comment pointing to RM clause for the case of warning against a
9603	(failed) attempt at declaring a primitive operation elsewhere than in a
9604	package spec.
9605
96062009-04-10  Ed Schonberg  <schonberg@adacore.com>
9607
9608	* sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
9609	an actual for a previous formal package of the current instance.
9610
96112009-04-10  Bob Duff  <duff@adacore.com>
9612
9613	* rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
9614	them first, rather than on the extended main unit.
9615
96162009-04-10  Ed Schonberg  <schonberg@adacore.com>
9617
9618	* sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
9619	specification of full view carries a null exclusion indicator, create
9620	an itype for it, to check for conformance with partial view.
9621
96222009-04-10  Bob Duff  <duff@adacore.com>
9623
9624	* rtsfind.ads: Minor code change: make RE_Unit_Table constant.
9625
9626	* rtsfind.adb: Minor comment changes, and remove useless code.
9627
9628	* sinfo.ads: Add ??? comment.
9629
96302009-04-10  Vincent Celier  <celier@adacore.com>
9631
9632	* vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
9633
96342009-04-10  Ed Schonberg  <schonberg@adacore.com>
9635
9636	* exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
9637	type is a synchronized type, retrieve tag information from the
9638	corresponding record, which has the dispatch table link.
9639
96402009-04-10  Jerome Lambourg  <lambourg@adacore.com>
9641
9642	* g-comlin.adb (Group_Analysis): Take care of switches that might be
9643	decomposed afterwards, but are present as-is in the command line
9644	configuration, and thus should be kept as-is.
9645
96462009-04-10  Robert Dewar  <dewar@adacore.com>
9647
9648	* gnat_rm.texi: Document that postconditions are tested on implicit
9649	returns.
9650
9651	* sem_aux.adb: Minor reformatting
9652
96532009-04-10  Gary Dismukes  <dismukes@adacore.com>
9654
9655	* itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
9656	setting Etype.
9657
9658	* par-ch3.adb (P_Access_Type_Definition): Set new attribute
9659	Null_Exclusion_In_Return_Present when an access-to-function type has a
9660	result type with an explicit not null.
9661
9662	* sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
9663	given on the result type, then create a null-excluding itype for the
9664	function.
9665
9666	* sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
9667	the case where a null exclusion is imposed on a named access type.
9668	(Analyze_Subprogram_Specification): Push and pop the scope of the
9669	function around the call to Analyze_Return_Type in the case of no
9670	formals, for consistency with handling when formals are present
9671	(Process_Formals does this). Ensures that any itype created for the
9672	return type will be associated with the proper scope.
9673
9674	* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
9675	exclusion is given on a generic function's result type, then create a
9676	null-excluding itype for the generic function.
9677	(Instantiate_Object): Set Null_Exclusion_Present of a constant created
9678	for an actual for a formal in object according to the setting on the
9679	formal. Ensures null exclusion checks are done when the association is
9680	elaborated.
9681
9682	* sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
9683	N_Access_Function_Definition.
9684
9685	* sinfo.adb: Add Get_ and Set_ operations for
9686	Null_Exclusion_In_Return_Present.
9687
96882009-04-10  Bob Duff  <duff@adacore.com>
9689
9690	* exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
9691	call to the _Postconditions procedure in the case of implicit returns
9692	from analysis to expansion. This eliminates some duplicated code. Use
9693	the Postcondition_Proc to find the identity of this procedure during
9694	expansion.
9695
96962009-04-10  Robert Dewar  <dewar@adacore.com>
9697
9698	* sem_ch6.adb: Minor code clean up.
9699
9700	* einfo.ads, sem_attr.adb: Minor comment fixes.
9701
97022009-04-10  Robert Dewar  <dewar@adacore.com>
9703
9704	* sem_ch8.adb: Minor reformatting
9705
97062009-04-10  Robert Dewar  <dewar@adacore.com>
9707
9708	* einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
9709	procedures.
9710
9711	* sem_ch6.adb: Minor code clean up.
9712
97132009-04-10  Robert Dewar  <dewar@adacore.com>
9714
9715	* mlib-tgt-specific-xi.adb: Minor reformatting
9716
97172009-04-10  Bob Duff  <duff@adacore.com>
9718
9719	* einfo.ads: Minor comment fixes
9720
97212009-04-10  Vincent Celier  <celier@adacore.com>
9722
9723	* snames.ads-tmpl: Remove names that are no longer used in the
9724	Project Manager.
9725	Mark specifically those that are used only in gprbuild
9726
97272009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
9728
9729	* init.c: Adjust EH support code on Alpha/Tru64.
9730
97312009-04-10  Bob Duff  <duff@adacore.com>
9732
9733	* sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
9734	procedure on every path that could return implicitly (not via a return
9735	statement) from a procedure.
9736
97372009-04-10  Ed Schonberg  <schonberg@adacore.com>
9738
9739	* exp_ch9.adb (Build_Master_Entity): An extended return statement is a
9740	valid scope for a task declarations and therefore for a master id.
9741
97422009-04-10  Robert Dewar  <dewar@adacore.com>
9743
9744	* sem_aux.adb: Minor reformatting
9745
97462009-04-10  Vincent Celier  <celier@adacore.com>
9747
9748	* scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
9749	True.
9750	(Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
9751	(Set_Obsolescent_Check): New procedure to change the value of
9752	Obsolescent_Check_Flag.
9753
9754	* scn.ads (Set_Obsolescent_Check): New procedure to control
9755	Obsolescent_Check.
9756
9757	* sinput-l.adb (Load_File): Do not check for pragma Restrictions on
9758	obsolescent features while preprocessing.
9759
97602009-04-10  Thomas Quinot  <quinot@adacore.com>
9761
9762	* xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
9763	generated files on all platforms.
9764
97652009-04-10  Robert Dewar  <dewar@adacore.com>
9766
9767	* sem_aux.adb: Minor reformatting
9768
97692009-04-10  Ed Schonberg  <schonberg@adacore.com>
9770
9771	* sem_ch3.adb (Access_Definition): Handle properly the case of a
9772	protected function with formals that returns an anonymous access type.
9773
97742009-04-10  Thomas Quinot  <quinot@adacore.com>
9775
9776	* sem_disp.adb: Minor reformatting
9777
97782009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
9779
9780	* seh_init.c: Do not use the 32-bit specific implementation of
9781	__gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
9782	version TBD).
9783
97842009-04-10  Jose Ruiz  <ruiz@adacore.com>
9785
9786	* mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
9787	a '/' at the end so we better use the complete target name to determine
9788	whether it is a PowerPC 55xx target.
9789
97902009-04-10  Thomas Quinot  <quinot@adacore.com>
9791
9792	* sem_eval.adb: Minor reformatting
9793
97942009-04-10  Thomas Quinot  <quinot@adacore.com>
9795
9796	* snames.h, snames.ads, snames.adb: Remove files, now generated from
9797	templates.
9798
9799	* snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
9800	above.
9801
9802	* xsnamest.adb: New file.
9803
9804	* gcc-interface/Make-lang.in: New target for automated generation of
9805	snames.ads, snames.adb and snames.h
9806
98072009-04-10  Tristan Gingold  <gingold@adacore.com>
9808
9809	* gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
9810	avoid compile time warnings.
9811	Do not add gcc/config in include search list while compiling the RTS.
9812	Pragma Thread_Local_Storage is available on any target.
9813
98142009-04-10  Bob Duff  <duff@adacore.com>
9815
9816	* sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
9817
98182009-04-10  Tristan Gingold  <gingold@adacore.com>
9819
9820	* init.c: Install signal handler on Darwin.
9821
98222009-04-10  Robert Dewar  <dewar@adacore.com>
9823
9824	* sem_prag.adb: Minor reformatting
9825
9826	* exp_util.adb (Make_Non_Empty_Check): New function
9827	(Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
9828	(Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
9829
98302009-04-10  Arnaud Charlet  <charlet@adacore.com>
9831
9832	* make.adb, gnatlink.adb: Rename JGNAT toolchain.
9833
98342009-04-10  Jose Ruiz  <ruiz@adacore.com>
9835
9836	* mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
9837	tool prefix for AVR and PowerPC 55xx targets.
9838
98392009-04-10  Robert Dewar  <dewar@adacore.com>
9840
9841	* sem_warn.adb (Within_Postcondition): New function
9842	(Check_Unset_Reference): Use Within_Postcondition to stop bad warning
9843
98442009-04-10  Robert Dewar  <dewar@adacore.com>
9845
9846	* sem_warn.adb: Minor reformatting
9847
9848	* make.adb: Minor reformatting.
9849
98502009-04-10  Gary Dismukes  <dismukes@adacore.com>
9851
9852	* exp_ch7.adb (Find_Final_List): When creating a finalization-chain
9853	entity and the scope is a subprogram, retrieve the Sloc of the
9854	subprogram's body rather than using the sloc of the spec, for better
9855	line-stepping behavior in gdb.
9856	(Wrap_Transient_Declaration): For the Sloc of nodes created with a list
9857	controller, use the Sloc of the first declaration of the containing list
9858	rather than that of the node that triggered creation of the list
9859	controller.
9860
98612009-04-10  Vincent Celier  <celier@adacore.com>
9862
9863	* prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
9864	to avoid gcc warning.
9865
98662009-04-10  Robert Dewar  <dewar@adacore.com>
9867
9868	* g-comlin.adb: Add ??? comment
9869
98702009-04-10  Ed Schonberg  <schonberg@adacore.com>
9871
9872	* sem_warn.adb (Check_Unused_Withs): Do not emit message about
9873	unreferenced entities for a package with no visible declarations.
9874
98752009-04-10  Robert Dewar  <dewar@adacore.com>
9876
9877	* exp_ch9.adb: Minor reformatting
9878
98792009-04-10  Thomas Quinot  <quinot@adacore.com>
9880
9881	* sem_prag.adb: Minor reformatting
9882
98832009-04-10  Vincent Celier  <celier@adacore.com>
9884
9885	* prj-nmsc.adb:
9886	(Check_Library_Attributes): For a project qualified as a library project
9887	that is not a library project, indicate in the error message which
9888	attributes are missing (Library_Dir and/or Library_Name).
9889
98902009-04-10  Bob Duff  <duff@adacore.com>
9891
9892	* exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
9893	generated nodes, because it might confuse various circuits in the FE.
9894
98952009-04-10  Ed Schonberg  <schonberg@adacore.com>
9896
9897	* sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
9898	of pragma. It will be recopied and analyzed when used in call to
9899	Create_Task.
9900
9901	* sem_res.adb (Resolve_Call): Clarify use of secondary stack within
9902	initialization operations and recognize use of it in procedure calls
9903	within init_procs.
9904
9905	* exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
9906	argument, because it may have side-effects.
9907
9908	* exp_ch2.adb: Remove obsolete comments on default functions
9909
99102009-04-10  Jose Ruiz  <ruiz@adacore.com>
9911
9912	* adaint.c (RTX section): Do for RTX the same thing as we do for
9913	Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
9914
99152009-04-10  Robert Dewar  <dewar@adacore.com>
9916
9917	* sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
9918
9919	* sem_res.adb (Resolve_Call): Fix test for
9920	Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
9921	a non-dynamic scope).
9922
99232009-04-10  Robert Dewar  <dewar@adacore.com>
9924
9925	* make.adb: Add comment.
9926	Minor reformatting
9927
99282009-04-10  Nicolas Setton  <setton@adacore.com>
9929
9930	* s-osprim-darwin.adb: New file.
9931
9932	* s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
9933
99342009-04-10  Thomas Quinot  <quinot@adacore.com>
9935
9936	* g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
9937
99382009-04-09  Nick Clifton  <nickc@redhat.com>
9939
9940	* adadecode.h: Change copyright header to refer to version
9941	3 of the GNU General Public License with version 3.1 of the
9942	GCC Runtime Library Exception and to point readers at the
9943	COPYING3 and COPYING3.RUNTIME files and the FSF's license web
9944	page.
9945	* 9drpc.adb: Likewise.
9946	* a-assert.adb: Likewise.
9947	* a-astaco.adb: Likewise.
9948	* a-calari.adb: Likewise.
9949	* a-calcon.adb: Likewise.
9950	* a-calcon.ads: Likewise.
9951	* a-caldel.ads: Likewise.
9952	* a-calend-vms.adb: Likewise.
9953	* a-calend-vms.ads: Likewise.
9954	* a-calend.adb: Likewise.
9955	* a-calend.ads: Likewise.
9956	* a-calfor.adb: Likewise.
9957	* a-catizo.adb: Likewise.
9958	* a-cdlili.adb: Likewise.
9959	* a-cdlili.ads: Likewise.
9960	* a-cgaaso.adb: Likewise.
9961	* a-cgaaso.ads: Likewise.
9962	* a-cgarso.adb: Likewise.
9963	* a-cgcaso.adb: Likewise.
9964	* a-chacon.adb: Likewise.
9965	* a-chacon.ads: Likewise.
9966	* a-chahan.adb: Likewise.
9967	* a-chahan.ads: Likewise.
9968	* a-chlat9.ads: Likewise.
9969	* a-chtgke.adb: Likewise.
9970	* a-chtgke.ads: Likewise.
9971	* a-chtgop.adb: Likewise.
9972	* a-chtgop.ads: Likewise.
9973	* a-chzla1.ads: Likewise.
9974	* a-chzla9.ads: Likewise.
9975	* a-cidlli.adb: Likewise.
9976	* a-cidlli.ads: Likewise.
9977	* a-cihama.adb: Likewise.
9978	* a-cihama.ads: Likewise.
9979	* a-cihase.adb: Likewise.
9980	* a-cihase.ads: Likewise.
9981	* a-ciorma.adb: Likewise.
9982	* a-ciorma.ads: Likewise.
9983	* a-ciormu.adb: Likewise.
9984	* a-ciormu.ads: Likewise.
9985	* a-ciorse.adb: Likewise.
9986	* a-ciorse.ads: Likewise.
9987	* a-clrefi.adb: Likewise.
9988	* a-clrefi.ads: Likewise.
9989	* a-cohama.adb: Likewise.
9990	* a-cohama.ads: Likewise.
9991	* a-cohase.adb: Likewise.
9992	* a-cohase.ads: Likewise.
9993	* a-cohata.ads: Likewise.
9994	* a-coinve.adb: Likewise.
9995	* a-coinve.ads: Likewise.
9996	* a-colien.adb: Likewise.
9997	* a-colien.ads: Likewise.
9998	* a-colire.adb: Likewise.
9999	* a-colire.ads: Likewise.
10000	* a-comlin.adb: Likewise.
10001	* a-comlin.ads: Likewise.
10002	* a-convec.adb: Likewise.
10003	* a-convec.ads: Likewise.
10004	* a-coorma.adb: Likewise.
10005	* a-coorma.ads: Likewise.
10006	* a-coormu.adb: Likewise.
10007	* a-coormu.ads: Likewise.
10008	* a-coorse.adb: Likewise.
10009	* a-coorse.ads: Likewise.
10010	* a-coprnu.adb: Likewise.
10011	* a-coprnu.ads: Likewise.
10012	* a-crbltr.ads: Likewise.
10013	* a-crbtgk.adb: Likewise.
10014	* a-crbtgk.ads: Likewise.
10015	* a-crbtgo.adb: Likewise.
10016	* a-crbtgo.ads: Likewise.
10017	* a-crdlli.adb: Likewise.
10018	* a-crdlli.ads: Likewise.
10019	* a-cwila1.ads: Likewise.
10020	* a-cwila9.ads: Likewise.
10021	* a-decima.adb: Likewise.
10022	* a-decima.ads: Likewise.
10023	* a-diocst.adb: Likewise.
10024	* a-diocst.ads: Likewise.
10025	* a-direct.adb: Likewise.
10026	* a-direct.ads: Likewise.
10027	* a-direio.adb: Likewise.
10028	* a-direio.ads: Likewise.
10029	* a-dirval-mingw.adb: Likewise.
10030	* a-dirval-vms.adb: Likewise.
10031	* a-dirval.adb: Likewise.
10032	* a-dirval.ads: Likewise.
10033	* a-dynpri.adb: Likewise.
10034	* a-einuoc.adb: Likewise.
10035	* a-einuoc.ads: Likewise.
10036	* a-elchha.adb: Likewise.
10037	* a-elchha.ads: Likewise.
10038	* a-envvar.adb: Likewise.
10039	* a-excach.adb: Likewise.
10040	* a-except-2005.adb: Likewise.
10041	* a-except-2005.ads: Likewise.
10042	* a-except.adb: Likewise.
10043	* a-except.ads: Likewise.
10044	* a-excpol-abort.adb: Likewise.
10045	* a-excpol.adb: Likewise.
10046	* a-exctra.adb: Likewise.
10047	* a-exctra.ads: Likewise.
10048	* a-exetim-mingw.adb: Likewise.
10049	* a-exetim-mingw.ads: Likewise.
10050	* a-exexda.adb: Likewise.
10051	* a-exexpr-gcc.adb: Likewise.
10052	* a-exexpr.adb: Likewise.
10053	* a-exextr.adb: Likewise.
10054	* a-exstat.adb: Likewise.
10055	* a-filico.adb: Likewise.
10056	* a-filico.ads: Likewise.
10057	* a-finali.adb: Likewise.
10058	* a-finali.ads: Likewise.
10059	* a-interr.ads: Likewise.
10060	* a-intnam-aix.ads: Likewise.
10061	* a-intnam-darwin.ads: Likewise.
10062	* a-intnam-dummy.ads: Likewise.
10063	* a-intnam-freebsd.ads: Likewise.
10064	* a-intnam-hpux.ads: Likewise.
10065	* a-intnam-irix.ads: Likewise.
10066	* a-intnam-linux.ads: Likewise.
10067	* a-intnam-lynxos.ads: Likewise.
10068	* a-intnam-mingw.ads: Likewise.
10069	* a-intnam-rtems.ads: Likewise.
10070	* a-intnam-solaris.ads: Likewise.
10071	* a-intnam-tru64.ads: Likewise.
10072	* a-intnam-vms.ads: Likewise.
10073	* a-intnam-vxworks.ads: Likewise.
10074	* a-intsig.adb: Likewise.
10075	* a-intsig.ads: Likewise.
10076	* a-ngcefu.adb: Likewise.
10077	* a-ngcoar.adb: Likewise.
10078	* a-ngcoty.adb: Likewise.
10079	* a-ngcoty.ads: Likewise.
10080	* a-ngelfu.adb: Likewise.
10081	* a-ngrear.adb: Likewise.
10082	* a-ngrear.ads: Likewise.
10083	* a-nudira.adb: Likewise.
10084	* a-nudira.ads: Likewise.
10085	* a-nuflra.adb: Likewise.
10086	* a-nuflra.ads: Likewise.
10087	* a-numaux-darwin.adb: Likewise.
10088	* a-numaux-darwin.ads: Likewise.
10089	* a-numaux-libc-x86.ads: Likewise.
10090	* a-numaux-vxworks.ads: Likewise.
10091	* a-numaux-x86.adb: Likewise.
10092	* a-numaux-x86.ads: Likewise.
10093	* a-numaux.ads: Likewise.
10094	* a-rbtgso.adb: Likewise.
10095	* a-rbtgso.ads: Likewise.
10096	* a-reatim.ads: Likewise.
10097	* a-retide.adb: Likewise.
10098	* a-retide.ads: Likewise.
10099	* a-rttiev.adb: Likewise.
10100	* a-rttiev.ads: Likewise.
10101	* a-secain.adb: Likewise.
10102	* a-secain.ads: Likewise.
10103	* a-sequio.adb: Likewise.
10104	* a-sequio.ads: Likewise.
10105	* a-shcain.adb: Likewise.
10106	* a-shcain.ads: Likewise.
10107	* a-siocst.adb: Likewise.
10108	* a-siocst.ads: Likewise.
10109	* a-slcain.adb: Likewise.
10110	* a-slcain.ads: Likewise.
10111	* a-ssicst.adb: Likewise.
10112	* a-ssicst.ads: Likewise.
10113	* a-stboha.adb: Likewise.
10114	* a-stmaco.ads: Likewise.
10115	* a-storio.adb: Likewise.
10116	* a-strbou.adb: Likewise.
10117	* a-strbou.ads: Likewise.
10118	* a-stream.ads: Likewise.
10119	* a-strfix.adb: Likewise.
10120	* a-strhas.adb: Likewise.
10121	* a-strmap.adb: Likewise.
10122	* a-strmap.ads: Likewise.
10123	* a-strsea.adb: Likewise.
10124	* a-strsea.ads: Likewise.
10125	* a-strsup.adb: Likewise.
10126	* a-strsup.ads: Likewise.
10127	* a-strunb.adb: Likewise.
10128	* a-strunb.ads: Likewise.
10129	* a-ststio.adb: Likewise.
10130	* a-ststio.ads: Likewise.
10131	* a-stunau.adb: Likewise.
10132	* a-stunau.ads: Likewise.
10133	* a-stunha.adb: Likewise.
10134	* a-stwibo.adb: Likewise.
10135	* a-stwibo.ads: Likewise.
10136	* a-stwifi.adb: Likewise.
10137	* a-stwiha.adb: Likewise.
10138	* a-stwima.adb: Likewise.
10139	* a-stwima.ads: Likewise.
10140	* a-stwise.adb: Likewise.
10141	* a-stwise.ads: Likewise.
10142	* a-stwisu.adb: Likewise.
10143	* a-stwisu.ads: Likewise.
10144	* a-stwiun.adb: Likewise.
10145	* a-stwiun.ads: Likewise.
10146	* a-stzbou.adb: Likewise.
10147	* a-stzbou.ads: Likewise.
10148	* a-stzfix.adb: Likewise.
10149	* a-stzhas.adb: Likewise.
10150	* a-stzmap.adb: Likewise.
10151	* a-stzmap.ads: Likewise.
10152	* a-stzsea.adb: Likewise.
10153	* a-stzsea.ads: Likewise.
10154	* a-stzsup.adb: Likewise.
10155	* a-stzsup.ads: Likewise.
10156	* a-stzunb.adb: Likewise.
10157	* a-stzunb.ads: Likewise.
10158	* a-suteio.adb: Likewise.
10159	* a-suteio.ads: Likewise.
10160	* a-swbwha.adb: Likewise.
10161	* a-swmwco.ads: Likewise.
10162	* a-swunau.adb: Likewise.
10163	* a-swunau.ads: Likewise.
10164	* a-swuwha.adb: Likewise.
10165	* a-swuwti.adb: Likewise.
10166	* a-swuwti.ads: Likewise.
10167	* a-sytaco.adb: Likewise.
10168	* a-sytaco.ads: Likewise.
10169	* a-szbzha.adb: Likewise.
10170	* a-szmzco.ads: Likewise.
10171	* a-szunau.adb: Likewise.
10172	* a-szunau.ads: Likewise.
10173	* a-szuzha.adb: Likewise.
10174	* a-szuzti.adb: Likewise.
10175	* a-szuzti.ads: Likewise.
10176	* a-tags.adb: Likewise.
10177	* a-tags.ads: Likewise.
10178	* a-tasatt.ads: Likewise.
10179	* a-taside.adb: Likewise.
10180	* a-taside.ads: Likewise.
10181	* a-taster.adb: Likewise.
10182	* a-teioed.adb: Likewise.
10183	* a-teioed.ads: Likewise.
10184	* a-textio.adb: Likewise.
10185	* a-textio.ads: Likewise.
10186	* a-tiboio.adb: Likewise.
10187	* a-ticoau.adb: Likewise.
10188	* a-ticoau.ads: Likewise.
10189	* a-ticoio.adb: Likewise.
10190	* a-ticoio.ads: Likewise.
10191	* a-tideau.adb: Likewise.
10192	* a-tideau.ads: Likewise.
10193	* a-tideio.adb: Likewise.
10194	* a-tideio.ads: Likewise.
10195	* a-tienau.adb: Likewise.
10196	* a-tienau.ads: Likewise.
10197	* a-tienio.adb: Likewise.
10198	* a-tienio.ads: Likewise.
10199	* a-tifiio.adb: Likewise.
10200	* a-tifiio.ads: Likewise.
10201	* a-tiflau.adb: Likewise.
10202	* a-tiflau.ads: Likewise.
10203	* a-tiflio.adb: Likewise.
10204	* a-tiflio.ads: Likewise.
10205	* a-tigeau.adb: Likewise.
10206	* a-tigeau.ads: Likewise.
10207	* a-tiinau.adb: Likewise.
10208	* a-tiinau.ads: Likewise.
10209	* a-tiinio.adb: Likewise.
10210	* a-tiinio.ads: Likewise.
10211	* a-timoau.adb: Likewise.
10212	* a-timoau.ads: Likewise.
10213	* a-timoio.adb: Likewise.
10214	* a-timoio.ads: Likewise.
10215	* a-tiocst.adb: Likewise.
10216	* a-tiocst.ads: Likewise.
10217	* a-titest.adb: Likewise.
10218	* a-wichun.adb: Likewise.
10219	* a-wichun.ads: Likewise.
10220	* a-witeio.adb: Likewise.
10221	* a-witeio.ads: Likewise.
10222	* a-wtcoau.adb: Likewise.
10223	* a-wtcoau.ads: Likewise.
10224	* a-wtcoio.adb: Likewise.
10225	* a-wtcstr.adb: Likewise.
10226	* a-wtcstr.ads: Likewise.
10227	* a-wtdeau.adb: Likewise.
10228	* a-wtdeau.ads: Likewise.
10229	* a-wtdeio.adb: Likewise.
10230	* a-wtdeio.ads: Likewise.
10231	* a-wtedit.adb: Likewise.
10232	* a-wtedit.ads: Likewise.
10233	* a-wtenau.adb: Likewise.
10234	* a-wtenau.ads: Likewise.
10235	* a-wtenio.adb: Likewise.
10236	* a-wtenio.ads: Likewise.
10237	* a-wtfiio.adb: Likewise.
10238	* a-wtfiio.ads: Likewise.
10239	* a-wtflau.adb: Likewise.
10240	* a-wtflau.ads: Likewise.
10241	* a-wtflio.adb: Likewise.
10242	* a-wtflio.ads: Likewise.
10243	* a-wtgeau.adb: Likewise.
10244	* a-wtgeau.ads: Likewise.
10245	* a-wtinau.adb: Likewise.
10246	* a-wtinau.ads: Likewise.
10247	* a-wtinio.adb: Likewise.
10248	* a-wtmoau.adb: Likewise.
10249	* a-wtmoau.ads: Likewise.
10250	* a-wtmoio.adb: Likewise.
10251	* a-wtmoio.ads: Likewise.
10252	* a-wttest.adb: Likewise.
10253	* a-wwboio.adb: Likewise.
10254	* a-zchuni.adb: Likewise.
10255	* a-zchuni.ads: Likewise.
10256	* a-ztcoau.adb: Likewise.
10257	* a-ztcoau.ads: Likewise.
10258	* a-ztcoio.adb: Likewise.
10259	* a-ztcstr.adb: Likewise.
10260	* a-ztcstr.ads: Likewise.
10261	* a-ztdeau.adb: Likewise.
10262	* a-ztdeau.ads: Likewise.
10263	* a-ztdeio.adb: Likewise.
10264	* a-ztdeio.ads: Likewise.
10265	* a-ztedit.adb: Likewise.
10266	* a-ztedit.ads: Likewise.
10267	* a-ztenau.adb: Likewise.
10268	* a-ztenau.ads: Likewise.
10269	* a-ztenio.adb: Likewise.
10270	* a-ztenio.ads: Likewise.
10271	* a-ztexio.adb: Likewise.
10272	* a-ztexio.ads: Likewise.
10273	* a-ztfiio.adb: Likewise.
10274	* a-ztfiio.ads: Likewise.
10275	* a-ztflau.adb: Likewise.
10276	* a-ztflau.ads: Likewise.
10277	* a-ztflio.adb: Likewise.
10278	* a-ztflio.ads: Likewise.
10279	* a-ztgeau.adb: Likewise.
10280	* a-ztgeau.ads: Likewise.
10281	* a-ztinau.adb: Likewise.
10282	* a-ztinau.ads: Likewise.
10283	* a-ztinio.adb: Likewise.
10284	* a-ztmoau.adb: Likewise.
10285	* a-ztmoau.ads: Likewise.
10286	* a-ztmoio.adb: Likewise.
10287	* a-ztmoio.ads: Likewise.
10288	* a-zttest.adb: Likewise.
10289	* a-zzboio.adb: Likewise.
10290	* adadecode.c: Likewise.
10291	* adaint.c: Likewise.
10292	* adaint.h: Likewise.
10293	* alloc.ads: Likewise.
10294	* argv.c: Likewise.
10295	* arit64.c: Likewise.
10296	* atree.adb: Likewise.
10297	* atree.ads: Likewise.
10298	* aux-io.c: Likewise.
10299	* cal.c: Likewise.
10300	* casing.adb: Likewise.
10301	* casing.ads: Likewise.
10302	* cio.c: Likewise.
10303	* csets.adb: Likewise.
10304	* csets.ads: Likewise.
10305	* cstreams.c: Likewise.
10306	* ctrl_c.c: Likewise.
10307	* debug.adb: Likewise.
10308	* debug.ads: Likewise.
10309	* dec.ads: Likewise.
10310	* einfo.adb: Likewise.
10311	* einfo.ads: Likewise.
10312	* elists.adb: Likewise.
10313	* elists.ads: Likewise.
10314	* env.c: Likewise.
10315	* env.h: Likewise.
10316	* errno.c: Likewise.
10317	* exit.c: Likewise.
10318	* fe.h: Likewise.
10319	* final.c: Likewise.
10320	* fname.adb: Likewise.
10321	* fname.ads: Likewise.
10322	* g-allein.ads: Likewise.
10323	* g-alleve.adb: Likewise.
10324	* g-alleve.ads: Likewise.
10325	* g-altcon.adb: Likewise.
10326	* g-altcon.ads: Likewise.
10327	* g-altive.ads: Likewise.
10328	* g-alveop.adb: Likewise.
10329	* g-alveop.ads: Likewise.
10330	* g-alvety.ads: Likewise.
10331	* g-alvevi.ads: Likewise.
10332	* g-arrspl.adb: Likewise.
10333	* g-arrspl.ads: Likewise.
10334	* g-calend.ads: Likewise.
10335	* g-comlin.adb: Likewise.
10336	* g-debpoo.adb: Likewise.
10337	* g-debpoo.ads: Likewise.
10338	* g-eacodu-vms.adb: Likewise.
10339	* g-eacodu.adb: Likewise.
10340	* g-excact.adb: Likewise.
10341	* g-excact.ads: Likewise.
10342	* g-locfil.adb: Likewise.
10343	* g-os_lib.ads: Likewise.
10344	* g-rannum.adb: Likewise.
10345	* g-rannum.ads: Likewise.
10346	* g-regist.adb: Likewise.
10347	* g-regist.ads: Likewise.
10348	* g-signal.adb: Likewise.
10349	* g-signal.ads: Likewise.
10350	* g-soccon.ads: Likewise.
10351	* g-string.adb: Likewise.
10352	* g-string.ads: Likewise.
10353	* g-strspl.ads: Likewise.
10354	* g-timsta.adb: Likewise.
10355	* g-timsta.ads: Likewise.
10356	* g-trasym-vms-alpha.adb: Likewise.
10357	* g-trasym-vms-ia64.adb: Likewise.
10358	* g-utf_32.adb: Likewise.
10359	* g-utf_32.ads: Likewise.
10360	* g-wistsp.ads: Likewise.
10361	* g-zstspl.ads: Likewise.
10362	* gmem.c: Likewise.
10363	* gnatvsn.adb: Likewise.
10364	* gnatvsn.ads: Likewise.
10365	* gsocket.h: Likewise.
10366	* hostparm.ads: Likewise.
10367	* i-c.adb: Likewise.
10368	* i-cexten.ads: Likewise.
10369	* i-cobol.adb: Likewise.
10370	* i-cobol.ads: Likewise.
10371	* i-cpoint.adb: Likewise.
10372	* i-cpoint.ads: Likewise.
10373	* i-cpp.adb: Likewise.
10374	* i-cpp.ads: Likewise.
10375	* i-cstrea-vms.adb: Likewise.
10376	* i-cstrea.adb: Likewise.
10377	* i-cstrea.ads: Likewise.
10378	* i-cstrin.adb: Likewise.
10379	* i-cstrin.ads: Likewise.
10380	* i-forbla-darwin.adb: Likewise.
10381	* i-forbla-unimplemented.ads: Likewise.
10382	* i-forbla.adb: Likewise.
10383	* i-forbla.ads: Likewise.
10384	* i-forlap.ads: Likewise.
10385	* i-fortra.adb: Likewise.
10386	* i-pacdec.adb: Likewise.
10387	* i-pacdec.ads: Likewise.
10388	* i-vxwoio.adb: Likewise.
10389	* i-vxwoio.ads: Likewise.
10390	* indepsw-aix.adb: Likewise.
10391	* indepsw-gnu.adb: Likewise.
10392	* indepsw-mingw.adb: Likewise.
10393	* indepsw.adb: Likewise.
10394	* indepsw.ads: Likewise.
10395	* init.c: Likewise.
10396	* initialize.c: Likewise.
10397	* interfac.ads: Likewise.
10398	* krunch.adb: Likewise.
10399	* krunch.ads: Likewise.
10400	* lib-list.adb: Likewise.
10401	* lib-sort.adb: Likewise.
10402	* lib.adb: Likewise.
10403	* lib.ads: Likewise.
10404	* link.c: Likewise.
10405	* math_lib.adb: Likewise.
10406	* memtrack.adb: Likewise.
10407	* mingw32.h: Likewise.
10408	* mkdir.c: Likewise.
10409	* namet-sp.adb: Likewise.
10410	* namet-sp.ads: Likewise.
10411	* namet.adb: Likewise.
10412	* namet.ads: Likewise.
10413	* nlists.adb: Likewise.
10414	* nlists.ads: Likewise.
10415	* opt.adb: Likewise.
10416	* opt.ads: Likewise.
10417	* output.adb: Likewise.
10418	* output.ads: Likewise.
10419	* raise-gcc.c: Likewise.
10420	* raise.c: Likewise.
10421	* raise.h: Likewise.
10422	* repinfo.adb: Likewise.
10423	* repinfo.ads: Likewise.
10424	* repinfo.h: Likewise.
10425	* rident.ads: Likewise.
10426	* s-addima.adb: Likewise.
10427	* s-addima.ads: Likewise.
10428	* s-addope.adb: Likewise.
10429	* s-addope.ads: Likewise.
10430	* s-arit64.adb: Likewise.
10431	* s-arit64.ads: Likewise.
10432	* s-assert.adb: Likewise.
10433	* s-assert.ads: Likewise.
10434	* s-asthan-vms-alpha.adb: Likewise.
10435	* s-asthan.adb: Likewise.
10436	* s-asthan.ads: Likewise.
10437	* s-atacco.adb: Likewise.
10438	* s-atacco.ads: Likewise.
10439	* s-auxdec-empty.adb: Likewise.
10440	* s-auxdec-empty.ads: Likewise.
10441	* s-auxdec-vms_64.ads: Likewise.
10442	* s-auxdec.adb: Likewise.
10443	* s-auxdec.ads: Likewise.
10444	* s-bitops.adb: Likewise.
10445	* s-bitops.ads: Likewise.
10446	* s-boarop.ads: Likewise.
10447	* s-carsi8.adb: Likewise.
10448	* s-carsi8.ads: Likewise.
10449	* s-carun8.adb: Likewise.
10450	* s-carun8.ads: Likewise.
10451	* s-casi16.adb: Likewise.
10452	* s-casi16.ads: Likewise.
10453	* s-casi32.adb: Likewise.
10454	* s-casi32.ads: Likewise.
10455	* s-casi64.adb: Likewise.
10456	* s-casi64.ads: Likewise.
10457	* s-casuti.ads: Likewise.
10458	* s-caun16.adb: Likewise.
10459	* s-caun16.ads: Likewise.
10460	* s-caun32.adb: Likewise.
10461	* s-caun32.ads: Likewise.
10462	* s-caun64.adb: Likewise.
10463	* s-caun64.ads: Likewise.
10464	* s-chepoo.ads: Likewise.
10465	* s-crc32.adb: Likewise.
10466	* s-crc32.ads: Likewise.
10467	* s-crtl.ads: Likewise.
10468	* s-direio.adb: Likewise.
10469	* s-direio.ads: Likewise.
10470	* s-dsaser.ads: Likewise.
10471	* s-except.adb: Likewise.
10472	* s-except.ads: Likewise.
10473	* s-exctab.adb: Likewise.
10474	* s-exctab.ads: Likewise.
10475	* s-exnint.adb: Likewise.
10476	* s-exnint.ads: Likewise.
10477	* s-exnllf.adb: Likewise.
10478	* s-exnllf.ads: Likewise.
10479	* s-exnlli.adb: Likewise.
10480	* s-exnlli.ads: Likewise.
10481	* s-expint.adb: Likewise.
10482	* s-expint.ads: Likewise.
10483	* s-explli.adb: Likewise.
10484	* s-explli.ads: Likewise.
10485	* s-expllu.adb: Likewise.
10486	* s-expllu.ads: Likewise.
10487	* s-expmod.adb: Likewise.
10488	* s-expmod.ads: Likewise.
10489	* s-expuns.adb: Likewise.
10490	* s-expuns.ads: Likewise.
10491	* s-fatflt.ads: Likewise.
10492	* s-fatgen.adb: Likewise.
10493	* s-fatgen.ads: Likewise.
10494	* s-fatlfl.ads: Likewise.
10495	* s-fatllf.ads: Likewise.
10496	* s-fatsfl.ads: Likewise.
10497	* s-ficobl.ads: Likewise.
10498	* s-fileio.adb: Likewise.
10499	* s-fileio.ads: Likewise.
10500	* s-filofl.ads: Likewise.
10501	* s-finimp.adb: Likewise.
10502	* s-finimp.ads: Likewise.
10503	* s-finroo.adb: Likewise.
10504	* s-finroo.ads: Likewise.
10505	* s-fishfl.ads: Likewise.
10506	* s-fore.adb: Likewise.
10507	* s-fore.ads: Likewise.
10508	* s-fvadfl.ads: Likewise.
10509	* s-fvaffl.ads: Likewise.
10510	* s-fvagfl.ads: Likewise.
10511	* s-gearop.adb: Likewise.
10512	* s-gearop.ads: Likewise.
10513	* s-gecobl.adb: Likewise.
10514	* s-gecobl.ads: Likewise.
10515	* s-gecola.adb: Likewise.
10516	* s-gecola.ads: Likewise.
10517	* s-gerebl.adb: Likewise.
10518	* s-gerebl.ads: Likewise.
10519	* s-gerela.adb: Likewise.
10520	* s-gerela.ads: Likewise.
10521	* s-geveop.adb: Likewise.
10522	* s-geveop.ads: Likewise.
10523	* s-gloloc.adb: Likewise.
10524	* s-gloloc.ads: Likewise.
10525	* s-hibaen.ads: Likewise.
10526	* s-imenne.adb: Likewise.
10527	* s-imenne.ads: Likewise.
10528	* s-imgbiu.adb: Likewise.
10529	* s-imgbiu.ads: Likewise.
10530	* s-imgboo.adb: Likewise.
10531	* s-imgboo.ads: Likewise.
10532	* s-imgcha.adb: Likewise.
10533	* s-imgcha.ads: Likewise.
10534	* s-imgdec.adb: Likewise.
10535	* s-imgdec.ads: Likewise.
10536	* s-imgenu.adb: Likewise.
10537	* s-imgenu.ads: Likewise.
10538	* s-imgint.adb: Likewise.
10539	* s-imgint.ads: Likewise.
10540	* s-imgllb.adb: Likewise.
10541	* s-imgllb.ads: Likewise.
10542	* s-imglld.adb: Likewise.
10543	* s-imglld.ads: Likewise.
10544	* s-imglli.adb: Likewise.
10545	* s-imglli.ads: Likewise.
10546	* s-imgllu.adb: Likewise.
10547	* s-imgllu.ads: Likewise.
10548	* s-imgllw.adb: Likewise.
10549	* s-imgllw.ads: Likewise.
10550	* s-imgrea.adb: Likewise.
10551	* s-imgrea.ads: Likewise.
10552	* s-imguns.adb: Likewise.
10553	* s-imguns.ads: Likewise.
10554	* s-imgwch.adb: Likewise.
10555	* s-imgwch.ads: Likewise.
10556	* s-imgwiu.adb: Likewise.
10557	* s-imgwiu.ads: Likewise.
10558	* s-inmaop-dummy.adb: Likewise.
10559	* s-inmaop-vms.adb: Likewise.
10560	* s-inmaop.ads: Likewise.
10561	* s-interr-hwint.adb: Likewise.
10562	* s-interr-sigaction.adb: Likewise.
10563	* s-interr-vms.adb: Likewise.
10564	* s-interr.adb: Likewise.
10565	* s-interr.ads: Likewise.
10566	* s-intman-dummy.adb: Likewise.
10567	* s-intman-mingw.adb: Likewise.
10568	* s-intman-posix.adb: Likewise.
10569	* s-intman-solaris.adb: Likewise.
10570	* s-intman-vms.adb: Likewise.
10571	* s-intman-vms.ads: Likewise.
10572	* s-intman-vxworks.adb: Likewise.
10573	* s-intman-vxworks.ads: Likewise.
10574	* s-intman.ads: Likewise.
10575	* s-io.adb: Likewise.
10576	* s-io.ads: Likewise.
10577	* s-linux-alpha.ads: Likewise.
10578	* s-linux-hppa.ads: Likewise.
10579	* s-linux.ads: Likewise.
10580	* s-maccod.ads: Likewise.
10581	* s-mantis.adb: Likewise.
10582	* s-mantis.ads: Likewise.
10583	* s-mastop-irix.adb: Likewise.
10584	* s-mastop.adb: Likewise.
10585	* s-mastop.ads: Likewise.
10586	* s-memcop.ads: Likewise.
10587	* s-memory-mingw.adb: Likewise.
10588	* s-memory.adb: Likewise.
10589	* s-memory.ads: Likewise.
10590	* s-os_lib.ads: Likewise.
10591	* s-oscons-tmplt.c: Likewise.
10592	* s-osinte-aix.adb: Likewise.
10593	* s-osinte-darwin.adb: Likewise.
10594	* s-osinte-freebsd.adb: Likewise.
10595	* s-osinte-irix.adb: Likewise.
10596	* s-osinte-lynxos-3.adb: Likewise.
10597	* s-osinte-rtems.ads: Likewise.
10598	* s-osinte-tru64.adb: Likewise.
10599	* s-osinte-vxworks-kernel.adb: Likewise.
10600	* s-osinte-vxworks.adb: Likewise.
10601	* s-osprim-mingw.adb: Likewise.
10602	* s-osprim-posix.adb: Likewise.
10603	* s-osprim-solaris.adb: Likewise.
10604	* s-osprim-unix.adb: Likewise.
10605	* s-osprim-vms.adb: Likewise.
10606	* s-osprim-vms.ads: Likewise.
10607	* s-osprim-vxworks.adb: Likewise.
10608	* s-osprim.ads: Likewise.
10609	* s-pack03.adb: Likewise.
10610	* s-pack03.ads: Likewise.
10611	* s-pack05.adb: Likewise.
10612	* s-pack05.ads: Likewise.
10613	* s-pack06.adb: Likewise.
10614	* s-pack06.ads: Likewise.
10615	* s-pack07.adb: Likewise.
10616	* s-pack07.ads: Likewise.
10617	* s-pack09.adb: Likewise.
10618	* s-pack09.ads: Likewise.
10619	* s-pack10.adb: Likewise.
10620	* s-pack10.ads: Likewise.
10621	* s-pack11.adb: Likewise.
10622	* s-pack11.ads: Likewise.
10623	* s-pack12.adb: Likewise.
10624	* s-pack12.ads: Likewise.
10625	* s-pack13.adb: Likewise.
10626	* s-pack13.ads: Likewise.
10627	* s-pack14.adb: Likewise.
10628	* s-pack14.ads: Likewise.
10629	* s-pack15.adb: Likewise.
10630	* s-pack15.ads: Likewise.
10631	* s-pack17.adb: Likewise.
10632	* s-pack17.ads: Likewise.
10633	* s-pack18.adb: Likewise.
10634	* s-pack18.ads: Likewise.
10635	* s-pack19.adb: Likewise.
10636	* s-pack19.ads: Likewise.
10637	* s-pack20.adb: Likewise.
10638	* s-pack20.ads: Likewise.
10639	* s-pack21.adb: Likewise.
10640	* s-pack21.ads: Likewise.
10641	* s-pack22.adb: Likewise.
10642	* s-pack22.ads: Likewise.
10643	* s-pack23.adb: Likewise.
10644	* s-pack23.ads: Likewise.
10645	* s-pack24.adb: Likewise.
10646	* s-pack24.ads: Likewise.
10647	* s-pack25.adb: Likewise.
10648	* s-pack25.ads: Likewise.
10649	* s-pack26.adb: Likewise.
10650	* s-pack26.ads: Likewise.
10651	* s-pack27.adb: Likewise.
10652	* s-pack27.ads: Likewise.
10653	* s-pack28.adb: Likewise.
10654	* s-pack28.ads: Likewise.
10655	* s-pack29.adb: Likewise.
10656	* s-pack29.ads: Likewise.
10657	* s-pack30.adb: Likewise.
10658	* s-pack30.ads: Likewise.
10659	* s-pack31.adb: Likewise.
10660	* s-pack31.ads: Likewise.
10661	* s-pack33.adb: Likewise.
10662	* s-pack33.ads: Likewise.
10663	* s-pack34.adb: Likewise.
10664	* s-pack34.ads: Likewise.
10665	* s-pack35.adb: Likewise.
10666	* s-pack35.ads: Likewise.
10667	* s-pack36.adb: Likewise.
10668	* s-pack36.ads: Likewise.
10669	* s-pack37.adb: Likewise.
10670	* s-pack37.ads: Likewise.
10671	* s-pack38.adb: Likewise.
10672	* s-pack38.ads: Likewise.
10673	* s-pack39.adb: Likewise.
10674	* s-pack39.ads: Likewise.
10675	* s-pack40.adb: Likewise.
10676	* s-pack40.ads: Likewise.
10677	* s-pack41.adb: Likewise.
10678	* s-pack41.ads: Likewise.
10679	* s-pack42.adb: Likewise.
10680	* s-pack42.ads: Likewise.
10681	* s-pack43.adb: Likewise.
10682	* s-pack43.ads: Likewise.
10683	* s-pack44.adb: Likewise.
10684	* s-pack44.ads: Likewise.
10685	* s-pack45.adb: Likewise.
10686	* s-pack45.ads: Likewise.
10687	* s-pack46.adb: Likewise.
10688	* s-pack46.ads: Likewise.
10689	* s-pack47.adb: Likewise.
10690	* s-pack47.ads: Likewise.
10691	* s-pack48.adb: Likewise.
10692	* s-pack48.ads: Likewise.
10693	* s-pack49.adb: Likewise.
10694	* s-pack49.ads: Likewise.
10695	* s-pack50.adb: Likewise.
10696	* s-pack50.ads: Likewise.
10697	* s-pack51.adb: Likewise.
10698	* s-pack51.ads: Likewise.
10699	* s-pack52.adb: Likewise.
10700	* s-pack52.ads: Likewise.
10701	* s-pack53.adb: Likewise.
10702	* s-pack53.ads: Likewise.
10703	* s-pack54.adb: Likewise.
10704	* s-pack54.ads: Likewise.
10705	* s-pack55.adb: Likewise.
10706	* s-pack55.ads: Likewise.
10707	* s-pack56.adb: Likewise.
10708	* s-pack56.ads: Likewise.
10709	* s-pack57.adb: Likewise.
10710	* s-pack57.ads: Likewise.
10711	* s-pack58.adb: Likewise.
10712	* s-pack58.ads: Likewise.
10713	* s-pack59.adb: Likewise.
10714	* s-pack59.ads: Likewise.
10715	* s-pack60.adb: Likewise.
10716	* s-pack60.ads: Likewise.
10717	* s-pack61.adb: Likewise.
10718	* s-pack61.ads: Likewise.
10719	* s-pack62.adb: Likewise.
10720	* s-pack62.ads: Likewise.
10721	* s-pack63.adb: Likewise.
10722	* s-pack63.ads: Likewise.
10723	* s-parame-ae653.ads: Likewise.
10724	* s-parame-hpux.ads: Likewise.
10725	* s-parame-rtems.adb: Likewise.
10726	* s-parame-vms-alpha.ads: Likewise.
10727	* s-parame-vms-ia64.ads: Likewise.
10728	* s-parame-vms-restrict.ads: Likewise.
10729	* s-parame-vxworks.adb: Likewise.
10730	* s-parame-vxworks.ads: Likewise.
10731	* s-parame.adb: Likewise.
10732	* s-parame.ads: Likewise.
10733	* s-parint.adb: Likewise.
10734	* s-parint.ads: Likewise.
10735	* s-pooglo.adb: Likewise.
10736	* s-pooglo.ads: Likewise.
10737	* s-pooloc.adb: Likewise.
10738	* s-pooloc.ads: Likewise.
10739	* s-poosiz.adb: Likewise.
10740	* s-poosiz.ads: Likewise.
10741	* s-powtab.ads: Likewise.
10742	* s-proinf-irix-athread.adb: Likewise.
10743	* s-proinf-irix-athread.ads: Likewise.
10744	* s-proinf.adb: Likewise.
10745	* s-proinf.ads: Likewise.
10746	* s-purexc.ads: Likewise.
10747	* s-rannum.adb: Likewise.
10748	* s-rannum.ads: Likewise.
10749	* s-restri.adb: Likewise.
10750	* s-restri.ads: Likewise.
10751	* s-rident.ads: Likewise.
10752	* s-rpc.adb: Likewise.
10753	* s-rpc.ads: Likewise.
10754	* s-scaval.adb: Likewise.
10755	* s-scaval.ads: Likewise.
10756	* s-secsta.adb: Likewise.
10757	* s-secsta.ads: Likewise.
10758	* s-sequio.adb: Likewise.
10759	* s-sequio.ads: Likewise.
10760	* s-shasto.adb: Likewise.
10761	* s-shasto.ads: Likewise.
10762	* s-soflin.adb: Likewise.
10763	* s-soflin.ads: Likewise.
10764	* s-solita.adb: Likewise.
10765	* s-solita.ads: Likewise.
10766	* s-sopco3.adb: Likewise.
10767	* s-sopco3.ads: Likewise.
10768	* s-sopco4.adb: Likewise.
10769	* s-sopco4.ads: Likewise.
10770	* s-sopco5.adb: Likewise.
10771	* s-sopco5.ads: Likewise.
10772	* s-stache.adb: Likewise.
10773	* s-stache.ads: Likewise.
10774	* s-stalib.adb: Likewise.
10775	* s-stalib.ads: Likewise.
10776	* s-stausa.adb: Likewise.
10777	* s-stausa.ads: Likewise.
10778	* s-stchop-limit.ads: Likewise.
10779	* s-stchop-rtems.adb: Likewise.
10780	* s-stchop-vxworks.adb: Likewise.
10781	* s-stchop.adb: Likewise.
10782	* s-stchop.ads: Likewise.
10783	* s-stoele.adb: Likewise.
10784	* s-stoele.ads: Likewise.
10785	* s-stopoo.adb: Likewise.
10786	* s-stopoo.ads: Likewise.
10787	* s-stratt.adb: Likewise.
10788	* s-stratt.ads: Likewise.
10789	* s-strcom.adb: Likewise.
10790	* s-strcom.ads: Likewise.
10791	* s-string.adb: Likewise.
10792	* s-string.ads: Likewise.
10793	* s-strops.adb: Likewise.
10794	* s-strops.ads: Likewise.
10795	* s-strxdr.adb: Likewise.
10796	* s-ststop.adb: Likewise.
10797	* s-ststop.ads: Likewise.
10798	* s-taasde.adb: Likewise.
10799	* s-taasde.ads: Likewise.
10800	* s-tadeca.adb: Likewise.
10801	* s-tadeca.ads: Likewise.
10802	* s-tadert.adb: Likewise.
10803	* s-tadert.ads: Likewise.
10804	* s-taenca.adb: Likewise.
10805	* s-taenca.ads: Likewise.
10806	* s-taprob.ads: Likewise.
10807	* s-taprop-dummy.adb: Likewise.
10808	* s-taprop-hpux-dce.adb: Likewise.
10809	* s-taprop-irix.adb: Likewise.
10810	* s-taprop-linux.adb: Likewise.
10811	* s-taprop-lynxos.adb: Likewise.
10812	* s-taprop-mingw.adb: Likewise.
10813	* s-taprop-posix.adb: Likewise.
10814	* s-taprop-solaris.adb: Likewise.
10815	* s-taprop-tru64.adb: Likewise.
10816	* s-taprop-vms.adb: Likewise.
10817	* s-taprop-vxworks.adb: Likewise.
10818	* s-taprop.ads: Likewise.
10819	* s-tarest.adb: Likewise.
10820	* s-tarest.ads: Likewise.
10821	* s-tasdeb.adb: Likewise.
10822	* s-tasdeb.ads: Likewise.
10823	* s-tasinf-irix.ads: Likewise.
10824	* s-tasinf-linux.adb: Likewise.
10825	* s-tasinf-linux.ads: Likewise.
10826	* s-tasinf-mingw.adb: Likewise.
10827	* s-tasinf-mingw.ads: Likewise.
10828	* s-tasinf-solaris.adb: Likewise.
10829	* s-tasinf-solaris.ads: Likewise.
10830	* s-tasinf-tru64.ads: Likewise.
10831	* s-tasinf.adb: Likewise.
10832	* s-tasinf.ads: Likewise.
10833	* s-tasini.adb: Likewise.
10834	* s-tasini.ads: Likewise.
10835	* s-taskin.adb: Likewise.
10836	* s-taskin.ads: Likewise.
10837	* s-taspri-dummy.ads: Likewise.
10838	* s-taspri-hpux-dce.ads: Likewise.
10839	* s-taspri-mingw.ads: Likewise.
10840	* s-taspri-solaris.ads: Likewise.
10841	* s-taspri-tru64.ads: Likewise.
10842	* s-taspri-vms.ads: Likewise.
10843	* s-taspri-vxworks.ads: Likewise.
10844	* s-tasque.adb: Likewise.
10845	* s-tasque.ads: Likewise.
10846	* s-tasren.adb: Likewise.
10847	* s-tasren.ads: Likewise.
10848	* s-tasres.ads: Likewise.
10849	* s-tassta.adb: Likewise.
10850	* s-tassta.ads: Likewise.
10851	* s-tasuti.adb: Likewise.
10852	* s-tasuti.ads: Likewise.
10853	* s-tfsetr-default.adb: Likewise.
10854	* s-tfsetr-vxworks.adb: Likewise.
10855	* s-tpinop.adb: Likewise.
10856	* s-tpinop.ads: Likewise.
10857	* s-tpoben.adb: Likewise.
10858	* s-tpoben.ads: Likewise.
10859	* s-tpobop.adb: Likewise.
10860	* s-tpobop.ads: Likewise.
10861	* s-tpopde-vms.adb: Likewise.
10862	* s-tpopde-vms.ads: Likewise.
10863	* s-tpopsp-lynxos.adb: Likewise.
10864	* s-tpopsp-posix-foreign.adb: Likewise.
10865	* s-tpopsp-posix.adb: Likewise.
10866	* s-tpopsp-solaris.adb: Likewise.
10867	* s-tpopsp-vxworks.adb: Likewise.
10868	* s-tporft.adb: Likewise.
10869	* s-tposen.adb: Likewise.
10870	* s-tposen.ads: Likewise.
10871	* s-traceb.adb: Likewise.
10872	* s-traceb.ads: Likewise.
10873	* s-traces-default.adb: Likewise.
10874	* s-traces.adb: Likewise.
10875	* s-traces.ads: Likewise.
10876	* s-traent-vms.adb: Likewise.
10877	* s-traent-vms.ads: Likewise.
10878	* s-traent.adb: Likewise.
10879	* s-traent.ads: Likewise.
10880	* s-trafor-default.adb: Likewise.
10881	* s-trafor-default.ads: Likewise.
10882	* s-tratas-default.adb: Likewise.
10883	* s-tratas.adb: Likewise.
10884	* s-tratas.ads: Likewise.
10885	* s-unstyp.ads: Likewise.
10886	* s-utf_32.adb: Likewise.
10887	* s-utf_32.ads: Likewise.
10888	* s-vaflop-vms-alpha.adb: Likewise.
10889	* s-vaflop.adb: Likewise.
10890	* s-vaflop.ads: Likewise.
10891	* s-valboo.adb: Likewise.
10892	* s-valboo.ads: Likewise.
10893	* s-valcha.adb: Likewise.
10894	* s-valcha.ads: Likewise.
10895	* s-valdec.adb: Likewise.
10896	* s-valdec.ads: Likewise.
10897	* s-valenu.adb: Likewise.
10898	* s-valenu.ads: Likewise.
10899	* s-valint.adb: Likewise.
10900	* s-valint.ads: Likewise.
10901	* s-vallld.adb: Likewise.
10902	* s-vallld.ads: Likewise.
10903	* s-vallli.adb: Likewise.
10904	* s-vallli.ads: Likewise.
10905	* s-valllu.adb: Likewise.
10906	* s-valllu.ads: Likewise.
10907	* s-valrea.adb: Likewise.
10908	* s-valrea.ads: Likewise.
10909	* s-valuns.adb: Likewise.
10910	* s-valuns.ads: Likewise.
10911	* s-valuti.adb: Likewise.
10912	* s-valuti.ads: Likewise.
10913	* s-valwch.adb: Likewise.
10914	* s-valwch.ads: Likewise.
10915	* s-veboop.adb: Likewise.
10916	* s-veboop.ads: Likewise.
10917	* s-vector.ads: Likewise.
10918	* s-vercon.adb: Likewise.
10919	* s-vercon.ads: Likewise.
10920	* s-vmexta.adb: Likewise.
10921	* s-vmexta.ads: Likewise.
10922	* s-vxwext-kernel.ads: Likewise.
10923	* s-vxwext-rtp.adb: Likewise.
10924	* s-vxwext-rtp.ads: Likewise.
10925	* s-vxwext.ads: Likewise.
10926	* s-vxwork-arm.ads: Likewise.
10927	* s-vxwork-m68k.ads: Likewise.
10928	* s-vxwork-mips.ads: Likewise.
10929	* s-vxwork-ppc.ads: Likewise.
10930	* s-vxwork-sparcv9.ads: Likewise.
10931	* s-vxwork-x86.ads: Likewise.
10932	* s-wchcnv.adb: Likewise.
10933	* s-wchcnv.ads: Likewise.
10934	* s-wchcon.adb: Likewise.
10935	* s-wchcon.ads: Likewise.
10936	* s-wchjis.adb: Likewise.
10937	* s-wchjis.ads: Likewise.
10938	* s-wchstw.adb: Likewise.
10939	* s-wchstw.ads: Likewise.
10940	* s-wchwts.adb: Likewise.
10941	* s-wchwts.ads: Likewise.
10942	* s-widboo.adb: Likewise.
10943	* s-widboo.ads: Likewise.
10944	* s-widcha.adb: Likewise.
10945	* s-widcha.ads: Likewise.
10946	* s-widenu.adb: Likewise.
10947	* s-widenu.ads: Likewise.
10948	* s-widlli.adb: Likewise.
10949	* s-widlli.ads: Likewise.
10950	* s-widllu.adb: Likewise.
10951	* s-widllu.ads: Likewise.
10952	* s-widwch.adb: Likewise.
10953	* s-widwch.ads: Likewise.
10954	* s-win32.ads: Likewise.
10955	* s-winext.ads: Likewise.
10956	* s-wwdcha.adb: Likewise.
10957	* s-wwdcha.ads: Likewise.
10958	* s-wwdenu.adb: Likewise.
10959	* s-wwdenu.ads: Likewise.
10960	* s-wwdwch.adb: Likewise.
10961	* s-wwdwch.ads: Likewise.
10962	* scans.adb: Likewise.
10963	* scans.ads: Likewise.
10964	* seh_init.c: Likewise.
10965	* sfn_scan.adb: Likewise.
10966	* sinfo.adb: Likewise.
10967	* sinfo.ads: Likewise.
10968	* sinput.adb: Likewise.
10969	* sinput.ads: Likewise.
10970	* snames.adb: Likewise.
10971	* snames.ads: Likewise.
10972	* socket.c: Likewise.
10973	* stand.adb: Likewise.
10974	* stand.ads: Likewise.
10975	* stringt.adb: Likewise.
10976	* stringt.ads: Likewise.
10977	* sysdep.c: Likewise.
10978	* system-aix.ads: Likewise.
10979	* system-darwin-ppc.ads: Likewise.
10980	* system-darwin-x86.ads: Likewise.
10981	* system-darwin-x86_64.ads: Likewise.
10982	* system-freebsd-x86.ads: Likewise.
10983	* system-hpux-ia64.ads: Likewise.
10984	* system-hpux.ads: Likewise.
10985	* system-irix-n32.ads: Likewise.
10986	* system-irix-n64.ads: Likewise.
10987	* system-irix-o32.ads: Likewise.
10988	* system-linux-alpha.ads: Likewise.
10989	* system-linux-hppa.ads: Likewise.
10990	* system-linux-ia64.ads: Likewise.
10991	* system-linux-mips.ads: Likewise.
10992	* system-linux-mipsel.ads: Likewise.
10993	* system-linux-ppc.ads: Likewise.
10994	* system-linux-ppc64.ads: Likewise.
10995	* system-linux-s390.ads: Likewise.
10996	* system-linux-s390x.ads: Likewise.
10997	* system-linux-sh4.ads: Likewise.
10998	* system-linux-sparc.ads: Likewise.
10999	* system-linux-sparcv9.ads: Likewise.
11000	* system-linux-x86.ads: Likewise.
11001	* system-linux-x86_64.ads: Likewise.
11002	* system-lynxos-ppc.ads: Likewise.
11003	* system-lynxos-x86.ads: Likewise.
11004	* system-mingw-x86_64.ads: Likewise.
11005	* system-mingw.ads: Likewise.
11006	* system-rtems.ads: Likewise.
11007	* system-solaris-sparc.ads: Likewise.
11008	* system-solaris-sparcv9.ads: Likewise.
11009	* system-solaris-x86.ads: Likewise.
11010	* system-solaris-x86_64.ads: Likewise.
11011	* system-tru64.ads: Likewise.
11012	* system-vms-ia64.ads: Likewise.
11013	* system-vms-zcx.ads: Likewise.
11014	* system-vms.ads: Likewise.
11015	* system-vms_64.ads: Likewise.
11016	* system-vxworks-arm.ads: Likewise.
11017	* system-vxworks-m68k.ads: Likewise.
11018	* system-vxworks-mips.ads: Likewise.
11019	* system-vxworks-ppc.ads: Likewise.
11020	* system-vxworks-sparcv9.ads: Likewise.
11021	* system-vxworks-x86.ads: Likewise.
11022	* system.ads: Likewise.
11023	* table.adb: Likewise.
11024	* table.ads: Likewise.
11025	* targext.c: Likewise.
11026	* targparm.ads: Likewise.
11027	* tree_in.adb: Likewise.
11028	* tree_in.ads: Likewise.
11029	* tree_io.adb: Likewise.
11030	* tree_io.ads: Likewise.
11031	* types.adb: Likewise.
11032	* types.ads: Likewise.
11033	* uintp.adb: Likewise.
11034	* uintp.ads: Likewise.
11035	* uname.adb: Likewise.
11036	* uname.ads: Likewise.
11037	* urealp.adb: Likewise.
11038	* urealp.ads: Likewise.
11039	* vx_stack_info.c: Likewise.
11040	* widechar.adb: Likewise.
11041	* widechar.ads: Likewise.
11042	* exp_attr.adb: Change copyright header to refer to version
11043	3 of the GNU General Public License and to point readers at the
11044	COPYING3 file and the FSF's license web page.
11045	* sem.adb: Likewise.
11046	* sem_attr.ads: Likewise.
11047	* freeze.adb: Likewise.
11048	* freeze.ads: Likewise.
11049	* errout.ads: Likewise.
11050	* erroutc.adb: Likewise.
11051	* exp_ch11.ads: Likewise.
11052
110532009-04-09  Jakub Jelinek  <jakub@redhat.com>
11054
11055	* config-lang.in: Change copyright header to refer to version
11056	3 of the GNU General Public License and to point readers at the
11057	COPYING3 file and the FSF's license web page.
11058	* gcc-interface/trans.c: Likewise.
11059	* gnathtml.pl: Likewise.
11060	* gcc-interface/ada.h: Likewise.  Remove runtime exception.
11061	* gcc-interface/gigi.h: Likewise.
11062	* gcc-interface/misc.c: Likewise.
11063	* gcc-interface/targtyps.c: Likewise.
11064
110652009-04-09  Nicolas Setton  <setton@adacore.com>
11066
11067	* s-osinte-darwin.ads: Fix wrong binding to struc timeval.
11068
11069	* s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
11070	struct_timeval.
11071
110722009-04-09  Bob Duff  <duff@adacore.com>
11073
11074	* exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
11075	internally-generated nodes related to select statements to avoid
11076	confusing the debugger.
11077
110782009-04-09  Pascal Obry  <obry@adacore.com>
11079
11080	* make.adb: Ensure that all linker arguments are duplicated.
11081
110822009-04-09  Robert Dewar  <dewar@adacore.com>
11083
11084	* sem_ch5.adb: Minor reformatting
11085
110862009-04-09  Vincent Celier  <celier@adacore.com>
11087
11088	* vms_data.ads:
11089	Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
11090	New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
11091	New qualifier /LXDEBUG=nnn for -gnatDnnn
11092	For H820-010
11093
11094	* gnat_ugn.texi:
11095	Update documentation for VMS qualifiers equivalent to -gnatGnn and
11096	-gnatDnn
11097
110982009-04-09  Nicolas Setton  <setton@adacore.com>
11099
11100	* s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
11101	to match layout of siginfo_t in sys/signal.h.
11102
11103	* gcc-interface/Makefile.in: Add section for x86_64 darwin.
11104
111052009-04-09  Thomas Quinot  <quinot@adacore.com>
11106
11107	* g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
11108
111092009-04-09  Nicolas Setton  <setton@adacore.com>
11110
11111	* s-oscons-tmplt.c: Allow long lines in the generated spec.
11112	Add generation of Darwin-specific constants needed when binding to the
11113	pthread library.
11114
111152009-04-09  Robert Dewar  <dewar@adacore.com>
11116
11117	* checks.adb:
11118	(Insert_Valid_Check): Avoid unnecessary generation of junk declaration
11119	when no invalid values exist, Avoid duplicate read of atomic variable.
11120
11121	* cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
11122	(Standard_Unsigned): Set Is_Known_Valid
11123
11124	* sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
11125	subtype declaration if no constraint.
11126	(Set_Modular_Size): Set Is_Known_Valid if appropriate
11127	(Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
11128
111292009-04-09  Robert Dewar  <dewar@adacore.com>
11130
11131	* switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
11132	switch.ads: for numeric switches, an optional equal sign is always
11133	allowed.
11134
111352009-04-09  Vincent Celier  <celier@adacore.com>
11136
11137	* prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
11138	the case of file names is not significant.
11139
111402009-04-09  Vincent Celier  <celier@adacore.com>
11141
11142	* errout.adb: Remove dependency on package Style
11143
11144	* style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
11145	moved to Stylesw.
11146
11147	* stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
11148	Styleg.
11149
11150	* errutil.adb, par.adb: Import Stylesw
11151
111522009-04-09  Arnaud Charlet  <charlet@adacore.com>
11153
11154	* opt.ads: Fix typos.
11155
111562009-04-09  Robert Dewar  <dewar@adacore.com>
11157
11158	* einfo.adb: Minor reformatting
11159
111602009-04-09  Robert Dewar  <dewar@adacore.com>
11161
11162	* gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
11163	units.
11164
11165	* styleg-c.ads, styleg-c.adb: Removed, no longer used.
11166
111672009-04-09  Robert Dewar  <dewar@adacore.com>
11168
11169	* g-comver.adb: Minor reformatting.
11170
111712009-04-09  Thomas Quinot  <quinot@adacore.com>
11172
11173	* lib-load.ads (Load_Unit): Update documentation.
11174
111752009-04-09  Ed Schonberg  <schonberg@adacore.com>
11176
11177	* lib-load.adb (Load_Unit): When loading the parent of a child unit
11178	named in a with_clause, retain the with_clause to preserve a
11179	limited_with indication.
11180
111812009-04-09  Robert Dewar  <dewar@adacore.com>
11182
11183	* sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
11184	exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
11185	sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
11186	possible to replace an OR of two separate tests.
11187
111882009-04-09  Robert Dewar  <dewar@adacore.com>
11189
11190	* binderr.adb, errout.adb, errutil.adb: New circuitry for handling
11191	Maximum_Messages.
11192
11193	* erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
11194	warning status as well.
11195
11196	* opt.ads (Maximum_Messages): New name for Maximum_Errors.
11197
11198	* switch-b.adb, switch-c.adb: Change name Maximum_Errors to
11199	Maximum_Messages.
11200
11201	* bindusg.adb, usage.adb: Update line for -gnatm switch
11202
11203	* gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
11204	-mnn binder switch.
11205
112062009-04-09  Robert Dewar  <dewar@adacore.com>
11207
11208	* sem_ch10.adb: Minor reformatting.
11209
112102009-04-09  Bob Duff  <duff@adacore.com>
11211
11212	* exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
11213	Set Sloc of generated nodes for calls to Undefer_Aborts and
11214	Save_Occurrence to No_Location, so the debugger ignores them and
11215	therefore does not jump back and forth when single stepping.
11216
112172009-04-09  Robert Dewar  <dewar@adacore.com>
11218
11219	* switch-b.adb: Minor reformatting.
11220
112212009-04-09  Robert Dewar  <dewar@adacore.com>
11222
11223	* sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
11224	sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
11225	exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
11226	sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
11227	einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
11228	tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
11229	exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
11230	sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
11231	sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
11232	sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
11233	Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
11234
112352009-04-09  Robert Dewar  <dewar@adacore.com>
11236
11237	* exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
11238
11239	* atree.h: Add Elist26
11240
11241	* gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
11242	backends.
11243
112442009-04-09  Javier Miranda  <miranda@adacore.com>
11245
11246	* exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
11247	retrieve from the Dispatch_Table_Wrappers list the external name.
11248	Addition of documentation.
11249	(Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
11250	used to export secondary dispatch tables (in the previous version of
11251	the frontend only primary dispatch tables were exported). Addition of
11252	documentation.
11253	(Import_DT): New subprogram (internal of Make_Tags). Used to import a
11254	dispatch table of a given tagged type.
11255	(Make_Tags): Modified to import secondary dispatch tables.
11256
11257	* sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
11258	(Constant_Redeclaration): Code cleanup.
11259
11260	* einfo.ads (Dispatch_Table_Wrapper): Renamed to
11261	Dispatch_Table_Wrappers.  Update documentation.
11262
11263	* einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
11264	Renamed to Dispatch_Table_Wrappers.
11265
11266	* sem_util.adb (Collect_Interface_Components): Improve handling of
11267	private types.
11268
11269	* atree.ads (Elist26, Set_Elist26): New subprograms
11270
11271	* atree.adb (Elist26, Set_Elist26): New subprograms
11272
112732009-04-09  Javier Miranda  <miranda@adacore.com>
11274
11275	* sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
11276	(Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
11277	tagged types.
11278
112792009-04-09  Robert Dewar  <dewar@adacore.com>
11280
11281	* s-direio.adb: Minor reformatting
11282
11283	* exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
11284
112852009-04-09  Robert Dewar  <dewar@adacore.com>
11286
11287	* exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
11288
112892009-04-09  Pascal Obry  <obry@adacore.com>
11290
11291	* a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
11292	s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
11293	a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
11294	a-filico.ads: Add some missing overriding keywords.
11295
112962009-04-09  Pascal Obry  <obry@adacore.com>
11297
11298	* a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
11299	a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
11300	a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
11301	reformatting.
11302
113032009-04-09  Ed Schonberg  <schonberg@adacore.com>
11304
11305	* sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
11306	missing overriding indicator if the new declaration is not seen as
11307	primitive.
11308
113092009-04-09  Thomas Quinot  <quinot@adacore.com>
11310
11311	* exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
11312	overflows in computation of bounds.
11313
113142009-04-09  Pascal Obry  <obry@adacore.com>
11315
11316	* a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
11317	typos in comment.
11318
113192009-04-09  Robert Dewar  <dewar@adacore.com>
11320
11321	* sem_attr.adb (Check_Stream_Attribute): Check violation of
11322	restriction No_Streams
11323
11324	* gnat_rm.texi: Clarify No_Streams restriction
11325
11326	* g-socket.adb: Minor reformatting.
11327
113282009-04-09  Thomas Quinot  <quinot@adacore.com>
11329
11330	* g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
11331
113322009-04-09  Geert Bosch  <bosch@adacore.com>
11333
11334	* exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
11335	(Set_Result): Likewise.
11336	(Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
11337	conversion, as required by RM 4.6(31).
11338
113392009-04-08  Robert Dewar  <dewar@adacore.com>
11340
11341	* checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
11342	suppressed.
11343
11344	* exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
11345	resolution steps.
11346
113472009-04-08  Robert Dewar  <dewar@adacore.com>
11348
11349	* sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
11350	No_Local_Allocators restriction preventing local instantiation.
11351
113522009-04-08  Thomas Quinot  <quinot@adacore.com>
11353
11354	* sem_eval.adb: Minor comment fix
11355
113562009-04-08  Thomas Quinot  <quinot@adacore.com>
11357
11358	* g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
11359	New limited controlled type used to automate the initialization and
11360	finalization of the sockets implementation.
11361	(GNAT.Sockets.Initialize, Finalize): Make these no-ops
11362
113632009-04-08  Vincent Celier  <celier@adacore.com>
11364
11365	* prj-attr.adb: New read-only project-level attribute Project_Dir
11366
11367	* prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
11368	read-only attribute of the same name.
11369	(Process_Declarative_Items): Call Add_Attributes with Project_Dir
11370	(Recursive_Process): Ditto
11371
11372	* snames.adb: Add new standard name Project_Dir
11373
11374	* snames.ads: Add new standard name Project_Dir
11375
113762009-04-08  Thomas Quinot  <quinot@adacore.com>
11377
11378	* checks.adb: Minor reformatting
11379
113802009-04-08  Vincent Celier  <celier@adacore.com>
11381
11382	* vms_data.ads: Add documentation for new style keyword
11383	OVERRIDING_INDICATORS
11384
113852009-04-08  Robert Dewar  <dewar@adacore.com>
11386
11387	* sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
11388	spec is in the current unit.
11389
113902009-04-08  Ed Schonberg  <schonberg@adacore.com>
11391
11392	* sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
11393	presence of entity.
11394
11395	* usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
11396
113972009-04-08  Vincent Celier  <celier@adacore.com>
11398
11399	* vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
11400
114012009-04-08  Thomas Quinot  <quinot@adacore.com>
11402
11403	* checks.ads: Minor reformatting
11404
114052009-04-08  Robert Dewar  <dewar@adacore.com>
11406
11407	* gnat_rm.texi: Update documentation of pragma Obsolescent
11408
11409	* sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
11410	be omitted, and allow Entity parameter to be omitted.
11411
114122009-04-08  Thomas Quinot  <quinot@adacore.com>
11413
11414	* exp_util.adb: Minor comment fix
11415
114162009-04-08  Robert Dewar  <dewar@adacore.com>
11417
11418	* g-socket.ads: Fix bad syntax in pragma Obsolescent
11419
11420	* par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
11421	argument with no identifier following one that has an identifier. Was
11422	missed in some cases.
11423
11424	* sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
11425	identifier.
11426	(Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
11427
11428	* snames.adb: Add Name_Policy
11429
11430	* snames.ads: Add Name_Policy
11431
114322009-04-08  Robert Dewar  <dewar@adacore.com>
11433
11434	* gnat_rm.texi: Minor reformatting
11435
11436	* par-ch2.adb: Minor reformatting
11437
114382009-04-08  Robert Dewar  <dewar@adacore.com>
11439
11440	* exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
11441
114422009-04-08  Robert Dewar  <dewar@adacore.com>
11443
11444	* sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
11445	properly in the presence of Remote_Types or Remote_Call_Interface.
11446
11447	* sem_util.adb: Add comment.
11448
114492009-04-08  Robert Dewar  <dewar@adacore.com>
11450
11451	* ug_words: Add /ASSUME_VALID for -gnatB
11452
11453	* vms_data.ads: Add /ASSUME_VALID for -gnatB
11454
11455	* sem_cat.adb: Add clarifying commment
11456
11457	* a-direio.ads (Bytes): Make sure value is non-zero
11458
114592009-04-08  Ed Schonberg  <schonberg@adacore.com>
11460
11461	* sem_util.adb (Is_Variable): If the prefix is an explicit dereference
11462	that does not come from source, check for a rewritten function call in
11463	prefixed notation before other forms of rewriting.
11464
114652009-04-08  Robert Dewar  <dewar@adacore.com>
11466
11467	* Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
11468	these are now obsolescent units used only for bootrapping with an
11469	older compiler.
11470
114712009-04-08  Robert Dewar  <dewar@adacore.com>
11472
11473	* gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
11474
11475	* sem_ch3.adb: Minor comment updates
11476
114772009-04-08  Ed Schonberg  <schonberg@adacore.com>
11478
11479	* inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
11480	that come from source.
11481
114822009-04-08  Tristan Gingold  <gingold@adacore.com>
11483
11484	* gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
11485	* gcc-interface/decl.c (prepend_attributes): New case
11486	Pragma_Thread_Local_Storage.
11487	* gcc-interface/utils.c (process_attributes): New case
11488	ATTR_THREAD_LOCAL_STORAGE.
11489
114902009-04-08  Ed Schonberg  <schonberg@adacore.com>
11491
11492	* inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
11493	by the back-end if it contains a call to a subprogram without a
11494	previous spec that is declared in the same unit.
11495
11496	* errout.ads: Update comments on uses of dirs
11497
114982009-04-08  Robert Dewar  <dewar@adacore.com>
11499
11500	* exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
11501
115022009-04-08  Tristan Gingold  <gingold@adacore.com>
11503
11504	* sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
11505	variables.
11506	Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
11507
115082009-04-08  Vincent Celier  <celier@adacore.com>
11509
11510	* prj-nmsc.adb:
11511	(Add_Source): Add the mapping of the unit name to source file name in
11512	the Unit_Sources_HT hash table, if the unit name is not null.
11513
11514	* prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
11515
11516	* prj.ads (Unit_Sources_Htable): New hash table instantiation
11517	(Project_Tree_Data): New component Unit_Sources_HT
11518
115192009-04-08  Thomas Quinot  <quinot@adacore.com>
11520
11521	* sem_ch8.adb: Minor reformatting.
11522	Minor code reorganization.
11523
115242009-04-08  Robert Dewar  <dewar@adacore.com>
11525
11526	* snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
11527	snames.ads, freeze.adb, par-prag.adb: Add implementation of
11528	pragma Thread_Local_Storage, setting new flag
11529	Has_Pragma_Thread_Local_Storage in corresponding entities.
11530
115312009-04-08  Emmanuel Briot  <briot@adacore.com>
11532
11533	* prj.ads: Update comment on switches file
11534
11535	* prj-nmsc.adb: Code clean up. Use renaming clauses.
11536
115372009-04-08  Robert Dewar  <dewar@adacore.com>
11538
11539	* exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
11540
115412009-04-08  Thomas Quinot  <quinot@adacore.com>
11542
11543	* ali-util.adb: Minor comment fix
11544
115452009-04-08  Ed Schonberg  <schonberg@adacore.com>
11546
11547	* sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
11548	appears in a context clause, and the enclosing package is mentioned in
11549	a limited_with_clause.
11550	(Use_One_Type): Reject clause if type is still incomplete.
11551
115522009-04-08  Emmanuel Briot  <briot@adacore.com>
11553
11554	* prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
11555	avoid copies of Source_Data variables when possible, since these
11556	involve calls to memcpy() which are done too many times.
11557
115582009-04-08  Robert Dewar  <dewar@adacore.com>
11559
11560	* exp_ch4.adb (Expand_Concatenate): Clean up code
11561
115622009-04-07  Thomas Quinot  <quinot@adacore.com>
11563
11564	* exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
11565	type for the case of concatenating a constrained array indexed by an
11566	enumeration type.
11567
115682009-04-07  Ed Schonberg  <schonberg@adacore.com>
11569
11570	* sem_ch6.adb (Check_Conformance): when checking conformance of an
11571	operation that overrides an abstract operation inherited from an
11572	interface, return False if only one of the controlling formals is an
11573	access parameter.
11574
115752009-04-07  Ed Schonberg  <schonberg@adacore.com>
11576
11577	* sem_ch8.adb (Analyze_Object_Renaming): additional error messages
11578	mandated by AI05-105.
11579
115802009-04-07  Vincent Celier  <celier@adacore.com>
11581
11582	* prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
11583
115842009-04-07  Thomas Quinot  <quinot@adacore.com>
11585
11586	* usage.adb: Minor fix in usage message.
11587
11588	* sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
11589	match declaration; the correct subtype is Node_Id, not Entity_Id,
11590	because the expected node kind is an identifier, not a defining
11591	identifier.
11592
11593	* switch-c.adb: Minor reformatting.
11594
11595	* uintp.adb: Minor reformatting.
11596
115972009-04-07  Robert Dewar  <dewar@adacore.com>
11598
11599	* exp_ch13.adb: Minor reformatting
11600
116012009-04-07  Robert Dewar  <dewar@adacore.com>
11602
11603	* sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
11604	against missing parent.
11605
116062009-04-07  Thomas Quinot  <quinot@adacore.com>
11607
11608	* xoscons.adb: Minor reformatting
11609
116102009-04-07  Robert Dewar  <dewar@adacore.com>
11611
11612	* rtsfind.ads: Remove obsolete string concatenation entries
11613
116142009-04-07  Robert Dewar  <dewar@adacore.com>
11615
11616	* exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
11617
116182009-04-07  Ed Schonberg  <schonberg@adacore.com>
11619
11620	* sem_ch10.adb (Check_Body_Required): Handle properly imported
11621	subprograms.
11622
116232009-04-07  Gary Dismukes  <dismukes@adacore.com>
11624
11625	* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
11626	Attribute_Address): When Init_Or_Norm_Scalars is True and the object
11627	is of a scalar or string type then suppress the setting of the
11628	expression to Empty.
11629
11630	* freeze.adb (Warn_Overlay): Also emit the warnings about default
11631	initialization for the cases of scalar and string objects when
11632	Init_Or_Norm_Scalars is True.
11633
116342009-04-07  Bob Duff  <duff@adacore.com>
11635
11636	* s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
11637
116382009-04-07  Bob Duff  <duff@adacore.com>
11639
11640	* gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
11641	Form parameter of Text_Translation=No allows binary mode for Text_IO
11642	files.
11643
11644	* gnat_rm.texi: Document Form parameter Text_Translation=xxx.
11645
116462009-04-07  Javier Miranda  <miranda@adacore.com>
11647
11648	* exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
11649	processing the bounds for bit packed arrays or VM target machines.
11650
116512009-04-07  Thomas Quinot  <quinot@adacore.com>
11652
11653	* g-sothco.ads (Int_Access): Remove extraneous access type (use
11654	anonymous access instead).
11655	(Get_Socket_From_Set): Fix incorrectly reverted formals
11656	Last and Socket to match the underlying C routine.
11657
11658	* g-socket.adb, g-socket.ads
11659	(Get): Use named parameter associations instead of positional ones in
11660	call go Get_Socket_From_Set, since this routine has two formals of the
11661	same type.
11662	(Image): New procedure.
11663
11664	* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11665	g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
11666	(C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
11667	for type of Arg formal.
11668
11669	* sem_warn.adb: Minor reformatting
11670
116712009-04-07  Ed Schonberg  <schonberg@adacore.com>
11672
11673	* sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
11674	over record components.
11675
116762009-04-07  Nicolas Roche  <roche@adacore.com>
11677
11678	* gsocket.h:
11679	Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
11680	has disappeared between VxWorks 6.4 and VxWorks 6.5
11681	In RTP mode use time.h instead of times.h
11682
116832009-04-07  Robert Dewar  <dewar@adacore.com>
11684
11685	* exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
11686
116872009-04-07  Kevin Pouget  <pouget@adacore.com>
11688
11689	* exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
11690	expanded code for constrained types.
11691
116922009-04-07  Ed Schonberg  <schonberg@adacore.com>
11693
11694	* sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
11695	AI05-105: in an object renaming declaration, anonymousness is a name
11696	resolution rule.
11697
11698	* sem_ch8.adb (Analyze_Object_Renaming): Ditto.
11699
117002009-04-07  Arnaud Charlet  <charlet@adacore.com>
11701
11702	* g-comlin.adb (Expansion): Fix old regression: also return directory
11703	names when matching.
11704
117052009-04-07  Robert Dewar  <dewar@adacore.com>
11706
11707	* exp_ch4.adb:
11708	(Expand_N_Op_Concat): Call Expand_Concatenate for all cases
11709	(Expand_Concatenate): New name for Expand_Concatenate_String which has
11710	been rewritten to handle all types.
11711	(Expand_Concatenate_Other): Remove
11712
117132009-04-07  Ed Schonberg  <schonberg@adacore.com>
11714
11715	* lib-xref.adb (Generate_Reference): A default subprogram in an
11716	instance appears within the tree for the instance, but generates an
11717	implicit reference in the ALI.
11718
117192009-04-07  Javier Miranda  <miranda@adacore.com>
11720
11721	* sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
11722	derived type that has discriminants, propagate the list of interfaces
11723	to the corresponding new base type. In addition, propagate also
11724	attribute Limited_Present (found working in this patch).
11725
117262009-04-07  Robert Dewar  <dewar@adacore.com>
11727
11728	* exp_ch4.adb: Rewrite concatenation expansion.
11729
117302009-04-07  Ed Schonberg  <schonberg@adacore.com>
11731
11732	* sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
11733	relevant to packages.
11734
117352009-04-07  Robert Dewar  <dewar@adacore.com>
11736
11737	* sem_attr.adb: Minor reformatting
11738
11739	* sem_ch6.adb: Minor reformatting
11740
117412009-04-07  Tristan Gingold  <gingold@adacore.com>
11742
11743	* socket.c: Add more protections against S_resolvLib_ macros.
11744
117452009-04-07  Thomas Quinot  <quinot@adacore.com>
11746
11747	* sem_attr.adb: Minor reformatting
11748
117492009-04-07  Ed Schonberg  <schonberg@adacore.com>
11750
11751	* sem_ch6.adb (New_Overloaded_Entity): New predicate
11752	Is_Overriding_Alias to handle properly types that inherit two homonym
11753	operations that have distinct dispatch table entries.
11754
117552009-04-07  Emmanuel Briot  <briot@adacore.com>
11756
11757	* s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
11758	looking for the end of a parenthesis group
11759
117602009-04-07  Tristan Gingold  <gingold@adacore.com>
11761
11762	* gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
11763
11764	* socket.c Don't use resolvLib_ macros if not defined.
11765
117662009-04-07  Robert Dewar  <dewar@adacore.com>
11767
11768	* g-socket.adb: Minor reformatting.
11769
11770	* g-socthi-mingw.adb: Minor reformatting
11771
11772	* g-sothco.ads: Minor reformatting
11773
11774	* exp_ch4.adb:
11775	(Expand_Concatenate_String): Complete rewrite to generate efficient code
11776	inline instead of relying on external library routines.
11777
11778	* s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
11779	s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
11780	obsolescent
11781
117822009-04-07  Ed Schonberg  <schonberg@adacore.com>
11783
11784	* sem_attr.adb:
11785	(Eval_Attribute): for attributes of array objects that are not strings,
11786	attributes are not static if nominal subtype of object is unconstrained.
11787
117882009-04-07  Ed Schonberg  <schonberg@adacore.com>
11789
11790	* sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
11791	operations for a type T in an instance do not override each other,
11792	when T is derived from a formal private type, the corresponding
11793	operations inherited by a type derived from T outside
11794	of the instance do not override each other either.
11795
117962009-04-07  Robert Dewar  <dewar@adacore.com>
11797
11798	(Osint.Fail): Change calling sequence to have one string arg
11799	(Make.Make_Failed): Same change
11800	All callers are adjusted to use concatenation
11801
118022009-04-07  Robert Dewar  <dewar@adacore.com>
11803
11804	* exp_ch4.adb: Fix documentation typo
11805
118062009-04-07  Robert Dewar  <dewar@adacore.com>
11807
11808	* tbuild.ads: Minor reformatting
11809
118102009-04-07  Javier Miranda  <miranda@adacore.com>
11811
11812	* exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
11813	when compiling under ZFP runtime.
11814
118152009-04-07  Robert Dewar  <dewar@adacore.com>
11816
11817	* g-comlin.adb: Minor reformatting
11818
118192009-04-07  Thomas Quinot  <quinot@adacore.com>
11820
11821	* socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
11822	g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
11823	g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
11824	Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
11825
118262009-04-07  Robert Dewar  <dewar@adacore.com>
11827
11828	* gnat_ugn.texi: Document -gnatDnn/-gnatGnn
11829
11830	* opt.ads (Sprint_Line_Limit): New parameter
11831
11832	* sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
11833
11834	* switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
11835
11836	* usage.adb: Output information for -gnatGnn -gnatDnn
11837
118382009-04-07  Robert Dewar  <dewar@adacore.com>
11839
11840	* make.adb: Minor reformatting
11841
118422009-04-07  Robert Dewar  <dewar@adacore.com>
11843
11844	* mlib-tgt-specific-vms-alpha.adb: Minor reformatting
11845
118462009-04-07  Robert Dewar  <dewar@adacore.com>
11847
11848	* mlib-tgt-specific-vms-ia64.adb: Minor reformatting
11849
118502009-04-07  Robert Dewar  <dewar@adacore.com>
11851
11852	* checks.adb:
11853	Remove Assume_Valid parameter from In_Subrange_Of calls
11854
11855	* sem_eval.adb:
11856	(Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11857	(Is_In_Range): Remove incorrect use of Assume_Valid
11858	(Is_Out_Of_Range): Remove incorrect use of Assume_Valid
11859
11860	* sem_eval.ads:
11861	(Is_Subrange_Of): Remove Assume_Valid parameter, not needed
11862	(Is_In_Range): Documentation cleanup
11863	(Is_Out_Of_Range): Documentation cleanup
11864
11865	* gnat_rm.texi:
11866	Add documentation for Assume_No_Invalid_Values pragma
11867
11868	* sem_ch12.adb: Minor reformatting
11869
11870	* sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
11871
11872	* sem_prag.adb: Improve error message.
11873
11874	* gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
11875	LF/CR no longer recognized as line terminator
11876
11877	* switch.ads: Minor documentation improvement
11878
11879	* vms_data.ads: Minor reformatting
11880
118812009-04-07  Robert Dewar  <dewar@adacore.com>
11882
11883	* checks.adb (Determine_Range): Add Assume_Valid parameter
11884
11885	* checks.ads (Determine_Range): Add Assume_Valid parameter
11886
11887	* errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
11888	 Is_Null_Loop to suppress warnings in a loop body.
11889
11890	* exp_ch4.adb:
11891	(Rewrite_Comparison): Major rewrite to accomodate invalid values
11892
11893	* exp_ch5.adb:
11894	(Expand_N_Loop_Statement): Delete loop known not to execute
11895
11896	* opt.ads:
11897	(Assume_No_Invalid_Values): Now set to False, and as documented, this
11898	 fully enables the proper handling of invalid values.
11899
11900	* sem_attr.adb:
11901	New calling sequence for Is_In_Range
11902
11903	* sem_ch5.adb:
11904	(Analyze_Iteration_Scheme): Accomodate possible invalid values
11905	 in determining if a loop range is null.
11906
11907	* sem_eval.adb:
11908	(Is_In_Range): Add Assume_Valid parameter
11909	(Is_Out_Of_Range): Add Assume_Valid_Parameter
11910	(Compile_Time_Compare): Major rewrite to accomodate invalid values and
11911	 also to do more accurate and complete range analysis, catching more
11912	 cases.
11913
11914	* sem_eval.ads:
11915	(Is_In_Range): Add Assume_Valid parameter
11916	(Is_Out_Of_Range): Add Assume_Valid_Parameter
11917
11918	* sem_util.adb:
11919	New calling sequence for Is_In_Range
11920
11921	* sinfo.adb:
11922	(Suppress_Loop_Warnings): New flag
11923
11924	* sinfo.ads:
11925	(Is_Null_Loop): Update documentation
11926	(Suppress_Loop_Warnings): New flag
11927
11928	* gnat_ugn.texi: Document -gnatB switch
11929
119302009-04-07  Arnaud Charlet  <charlet@adacore.com>
11931
11932	* gnatvsn.ads: Bump version number.
11933
119342009-04-07  Thomas Quinot  <quinot@adacore.com>
11935
11936	* exp_ch3.adb: Minor rewording (comments)
11937
119382009-04-07  Robert Dewar  <dewar@adacore.com>
11939
11940	* exp_disp.adb: Minor reformatting
11941
119422009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11943
11944	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
11945	underlying type.
11946	* gcc-interface/trans.c (lvalue_required_p): Likewise.
11947
119482009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11949
11950	* gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
11951	Do not convert the result.  Remove obsolete comment.
11952
119532009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11954
11955	* gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
11956	DECL_CONTEXT.
11957	(Subprogram_Body_to_gnu): Fix pasto.
11958
119592009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
11960
11961	* gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
11962	(void_type_decl_node): Remove.
11963	(init_gigi_decls): Likewise.
11964	(gnat_install_builtins): Declare.
11965	(record_builtin_type): Likewise.
11966	(create_type_stub_decl): Likewise.
11967	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
11968	(gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
11969	artificial.
11970	<E_Array_Subtype>: Use the index types, not only their name, in the
11971	record giving the names of the bounds, if any.
11972	For a packed array type, make it artificial only if the base type
11973	was artificial as well.  Remove redundant statement.
11974	(gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
11975	dummy types.
11976	Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
11977	(rest_of_type_decl_compilation_no_defer): Likewise.
11978	* gcc-interface/misc.c (gnat_printable_name): Add missing guard.
11979	* gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
11980	and use create_type_stub_decl to build it.
11981	(gnat_pushdecl): Rewrite condition.
11982	(gnat_install_builtins): Remove bogus declaration.
11983	(record_builtin_type): New function.
11984	(finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
11985	of types.
11986	(create_type_stub_decl): New function.
11987	(create_type_decl): Assert that the type is not dummy.  If the type
11988	hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
11989	(build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
11990	(build_vms_descriptor): Likewise.
11991	(init_gigi_decls): Delete and move bulk of code to...
11992	* gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
11993	(emit_range_check): Add gnat_node parameter.
11994	(emit_index_check): Likewise.
11995	(emit_check): Likewise.
11996	(build_unary_op_trapv): Likewise.
11997	(build_binary_op_trapv): Likewise.
11998	(convert_with_check): Likewise.
11999	(Attribute_to_gnu): Adjust calls for above changes.
12000	(call_to_gnu): Likewise.
12001	(gnat_to_gnu): Likewise.
12002	(assoc_to_constructor): Likewise.
12003	(pos_to_constructor): Likewise.
12004	(Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
12005	(process_type): Do not create TYPE_DECL for dummy types.
12006
120072009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
12008
12009	* gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
12010	* gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
12011	* gcc-interface/utils.c: Fix comments.
12012
120132009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
12014
12015	* gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
12016	move around.
12017	(gnat_to_gnu_type): Move around.
12018	(get_unpadded_type): Likewise.
12019	* gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
12020	Tidy comments.
12021
120222009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
12023
12024	* gcc-interface/trans.c (check_for_eliminated_entity): New function.
12025	(Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
12026	(call_to_gnu): Invoke it instead of manually checking.
12027
120282009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
12029
12030	* gcc-interface/utils.c (finish_record_type): Force structural equality
12031	checks if the record type is discriminated.
12032
120332009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
12034
12035	* system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
12036	* system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
12037	* system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
12038	* system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
12039	* system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
12040	* system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
12041	* system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
12042
120432009-03-30  Paolo Bonzini  <bonzini@gnu.org>
12044
12045	* gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
12046	of TREE_CONSTANT_OVERFLOW.
12047
120482009-03-30  Joseph Myers  <joseph@codesourcery.com>
12049
12050	PR rtl-optimization/323
12051	* gcc-interface/misc.c (gnat_post_options): Set
12052	flag_excess_precision_cmdline.  Give an error for
12053	-fexcess-precision=standard for processors where the option is
12054	significant.
12055
120562009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
12057
12058	PR c/39323
12059	* gcc-interface/utils.c (create_field_decl): Use "unsigned int"
12060	on bit_align.
12061
120622009-03-11  Olivier Hainque  <hainque@adacore.com>
12063
12064	* gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
12065	checks processing, remove unintended TREE_TYPE walk on index type.
12066
120672009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
12068
12069	PR ada/39264
12070	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
12071	call make_packable_type on fat pointer types.
12072	<E_Array_Subtype>: Likewise.
12073	<E_Record_Subtype>: Call make_packable_type on all record types
12074	except for fat pointer types.
12075	(make_packable_type): Likewise.
12076	(gnat_to_gnu_field): Likewise.
12077
120782009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
12079
12080	* gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
12081	EH_MECHANISM change made on 2007-12-06.
12082
120832009-02-26  Andreas Schwab  <schwab@suse.de>
12084
12085	PR ada/39172
12086	* Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
12087	* gcc-interface/Makefile.in: Change all uses of $(srcdir),
12088	$(fsrcdir) and $(fsrcpfx) to add ada subdir.
12089	(AWK): Substitute.
12090	(target_cpu_default): Substitute.
12091
120922009-02-25  Laurent GUERBY  <laurent@guerby.net>
12093
12094	PR ada/39221
12095	* a-teioed.adb (Expand): Fix Result overflow.
12096
120972009-02-25  Laurent GUERBY  <laurent@guerby.net>
12098
12099	* gcc-interface/Makefile.in: Fix multilib handling for
12100	sparc64-linux.
12101
121022009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12103
12104	* s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
12105
121062009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
12107
12108	* gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
12109
121102009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
12111
12112	* gcc-interface/deftarg.c: Remove.
12113
121142009-02-10  Olivier Hainque  <hainque@adacore.com>
12115	    Eric Botcazou  <ebotcazou@adacore.com>
12116
12117	* gcc-interface/decl.c (enum alias_set_op): New enumeration.
12118	(copy_alias_set): Rename into...
12119	(relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
12120	underlying array of unconstrained arrays for the new type as well.
12121	If the old and new alias sets don't conflict, make one a subset of
12122	the other as per the OP parameter.
12123	(gnat_to_gnu_entity): Adjust calls to copy_alias_set.
12124	<E_Record_Type>: Do not copy the alias set for derived types.
12125	For all types, make the alias set of derived types a superset of
12126	that of their parent type.
12127	(make_aligning_type): Adjust calls to copy_alias_set.
12128	(make_packable_type): Likewise.
12129	* gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
12130	Check for alias set conflict instead of strict equality to issue the
12131	warning.
12132
121332009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
12134
12135	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
12136	Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
12137	(copy_alias_set): Assert that arrays have the same aliasing settings.
12138	(substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
12139
121402009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
12141
12142	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
12143	Set TYPE_NONALIASED_COMPONENT on the array type.
12144
121452009-01-31  Laurent GUERBY  <laurent@guerby.net>
12146
12147	* gcc-interface/Makefile.in: Fix mipsel linux handling.
12148
121492009-01-16  Jakub Jelinek  <jakub@redhat.com>
12150
12151	* gcc-interface/Makefile.in: Fix multilib handling for
12152	powerpc64-linux.
12153
121542009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
12155
12156	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
12157	only useless conversions around renamed objects.
12158
121592009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
12160
12161	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
12162	the _Tag field before any discriminants in the field list.
12163	(components_to_record): Remove obsolete comment.
12164
12165
12166
12167Copyright (C) 2009 Free Software Foundation, Inc.
12168
12169Copying and distribution of this file, with or without modification,
12170are permitted in any medium without royalty provided the copyright
12171notice and this notice are preserved.
12172