12012-12-21  Ed Schonberg  <schonberg@adacore.com>
2
3	PR ada/53737
4	* sem_ch12.adb (Analyze_Associations): Do not check the legality of
5	actuals for RACW types if this is an internal instantiation for a formal
6	package with defaulted parameters.
7
82012-12-21  Eric Botcazou  <ebotcazou@adacore.com>
9
10	* adaint.c: Move directive around.
11	* argv.c: Likewise.
12	* cio.c: Likewise.
13	* cstreams.c: Likewise.
14	* env.c: Likewise.
15	* exit.c: Likewise.
16	* init.c: Likewise.
17	* initialize.c: Likewise.
18	* raise.c: Likewise.
19	* seh_init.c: Likewise.
20	* targext.c: Likewise.
21
222012-12-15  Eric Botcazou  <ebotcazou@adacore.com>
23	    Martin Ettl  <ettl.martin@gmx.de>
24
25	PR ada/53996
26	* gcc-interface/utils.c (gnat_type_for_size): Use %u in lieu of %d.
27
282012-12-11  Eric Botcazou  <ebotcazou@adacore.com>
29
30	* gcc-interface/Make-lang.in (RTS_DIR): Define only if Ada is enabled.
31
322012-12-08  Eric Botcazou  <ebotcazou@adacore.com>
33
34	* gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Assert
35	that the type of the prefix is ultimately an array.
36
372012-12-08  Eric Botcazou  <ebotcazou@adacore.com>
38
39	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Be prepared for a
40	by-ref VAR_DECL in the case of an Out parameter passed by copy.
41
422012-12-05  Robert Dewar  <dewar@adacore.com>
43
44	* par_sco.adb, sem_prag.adb, put_scos.adb, get_scos.adb: Minor
45	reformatting.
46
472012-12-05  Ed Schonberg  <schonberg@adacore.com>
48
49	* sem_ch3.adb: Code clean up.
50
512012-12-05  Arnaud Charlet  <charlet@adacore.com>
52
53	* gcc-interface/Make-lang.in: Update dependencies.
54	* gcc-interface/lang.opt: New language AdaSCIL.
55	* gcc-interface/lang-specs.h: Add specs for adascil language.
56
572012-12-05  Thomas Quinot  <quinot@adacore.com>
58
59	* par_sco.adb (Traverse_Aspects): Ensure we always have
60	an entry in the sloc -> SCO map for invariants, since
61	Set_SCO_Pragma_Enabled is called with that sloc when checks
62	are enabled.
63
642012-12-05  Thomas Quinot  <quinot@adacore.com>
65
66	* exp_ch4.adb: Minor reformatting.
67
682012-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
69
70	* par-prag.adb: Checks and processing of pragma Assume are
71	carried out by Sem_Prag.
72	* sem_prag.adb (Analyze_Pragma): Check the legality of pragma
73	Assume.
74	* snames.ads-tmpl: Add new name Assume. Add a pragma identifier
75	for Assume.
76
772012-12-05  Ed Schonberg  <schonberg@adacore.com>
78
79	* aspects.ads, aspects.adb: Add aspect Relative_Deadline.
80	* sem_ch13.adb (Analyze_Aspect_Specifications): Process aspect
81	Relative_Deadline, and introduce the corresponding pragma within
82	the task definition of the task type to which it applies.
83	(Check_Aspect_At_Freeze_Point): Expression in a Relative_Deadline
84	aspect is of type Time_Span.
85
862012-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
87
88	* sem_prag.adb (Check_Loop_Invariant_Variant_Placement): When pragma
89	Loop_[In]variant does not appear immediately within the statements
90	of a loop, it must appear in a chain of nested blocks.
91
922012-12-05  Thomas Quinot  <quinot@adacore.com>
93
94	* sem_ch13.adb: Minor reformatting.
95	 Remove redundant assertion.
96
972012-12-05  Thomas Quinot  <quinot@adacore.com>
98
99	* par_sco.adb, scos.ads, put_scos.adb, put_scos.ads,
100	get_scos.adb: Generation of SCOs for aspects.
101
1022012-12-05  Thomas Quinot  <quinot@adacore.com>
103
104	* sem_prag.adb (Check_Precondition_Postcondition): Remove
105	redundant call to Set_SCO_Pragma_Enabled (the pragma will be
106	rewritten into a pragma Check later on, and the call will be
107	made when processing the rewritten pragma).
108	(Analyze_Pragma, case Pragma_Check): Omit call to
109	Set_SCO_Pragma_Enabled if Split_PPC is set.
110
1112012-12-05  Olivier Hainque  <hainque@adacore.com>
112
113	* tracebak.c: Add partial support for Lynx178.
114
1152012-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
116
117	* sem_attr.adb (Analyze_Attribute): Improve
118	the error message related to loop assertions.
119
1202012-12-05  Gary Dismukes  <dismukes@adacore.com>
121
122	* atree.ads: Minor reformatting.
123
1242012-12-05  Robert Dewar  <dewar@adacore.com>
125
126	* atree.ads, par-ch4.adb, sem_attr.adb, sem_ch13.adb: Minor
127	reformatting.
128
1292012-12-05  Eric Botcazou  <ebotcazou@adacore.com>
130
131	* gnat_ugn.texi (Switches for gcc): Document -flto and reorder.
132
1332012-12-05  Ed Schonberg  <schonberg@adacore.com>
134
135	* par-ch5.adb (P_Condition): Handle properly Ada 2012
136	expressions that must be parenthesized before checking for
137	redundant parentheses when that check is enabled.
138
1392012-12-05  Ed Schonberg  <schonberg@adacore.com>
140
141	* par-ch4.adb (P_Allocator): In Ada 2012 (AI05-0104)  an
142	uninitialized allocator cannot carry an explicit not null
143	indicator.
144	* sem_ch4.adb (Analyze_Allocator): Remove code that implements
145	the check for AI05-0104, the check is syntactic and performed
146	in the parser.
147
1482012-12-05  Geert Bosch  <bosch@adacore.com>
149
150	* sem_attr.adb (Analyze_Attribute): Use base type for floating
151	point attributes.
152
1532012-12-05  Ed Schonberg  <schonberg@adacore.com>
154
155	* sem_ch13.adb (Analyze_Aspect_Specifications,
156	Ahalyze_Aspect_Default_Value): For a scalar type attach default
157	value to base type as well, because it is a type-specific aspect
158	even though it can be specified on a first subtype.
159
1602012-12-05  Yannick Moy  <moy@adacore.com>
161
162	* urealp.ads: Minor rewording.
163
1642012-12-05  Yannick Moy  <moy@adacore.com>
165
166	* aspects.ads (No_Duplicates_Allowed): Forbid use of duplicate
167	Contract_Cases aspects.
168	* sem_prag.adb (Analyze_Pragma/Pragma_Contract_Case): Rename
169	POST_CASE into CONTRACT_CASE in both grammar and code, to be
170	consistent with current language definition.  Issue a more precise
171	error message when the pragma duplicates another pragma or aspect.
172
1732012-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
174
175	* exp_attr.adb (Expand_N_Attribute_Reference): Add processing
176	for attribute Update.
177	(Expand_Update_Attribute): New routine.
178	* par-ch4.adb (P_Name): The sole expression of attribute Update
179	is an aggregate, parse it accordingly.
180	* sem_attr.adb (Analyze_Attribute): Verify the legality of
181	attribute Update.
182	(Eval_Attribute): Attribute Update does not
183	need evaluation because it is never static.
184	* snames.ads-tmpl: Add Name_Update to the list of special names
185	recognized by the compiler. Add an Attribute_Id for Update.
186
1872012-12-05  Ed Schonberg  <schonberg@adacore.com>
188
189	* exp_util.adb (Remove_Side_Effects): For purposes of removing
190	side effects, qualified expressions do not receive a special
191	treatment, even though in Ada 2012 they are defined  as object
192	references.
193
1942012-12-05  Thomas Quinot  <quinot@adacore.com>
195
196	* par-ch3.adb: Minor reformatting.
197
1982012-12-05  Thomas Quinot  <quinot@adacore.com>
199
200	* exp_dist.adb (Build_From_Any_Call, Build_To_Any_Call,
201	Build_TypeCode_Call): For a used-defined subtype, always go to
202	the first subtype of the base type.
203
2042012-12-05  Thomas Quinot  <quinot@adacore.com>
205
206	* exp_dist.adb: Minor reformatting.
207
2082012-12-05  Tristan Gingold  <gingold@adacore.com>
209
210	* Make-generated.in: Remove the VMS host specific part, as VMS
211	compilers aren't built anymore on VMS.
212
2132012-12-05  Thomas Quinot  <quinot@adacore.com>
214
215	* sem.adb, errout.ads, atree.adb, atree.ads (Check_Error_Detected):
216	Only return quietly if a serious error of configurable run time
217	violation has been found.
218
2192012-12-05  Yannick Moy  <moy@adacore.com>
220
221	* sem_res.adb (Resolve_Type_Conversion): In Alfa_Mode, do not apply
222	conversion checks.
223
2242012-12-05  Ed Schonberg  <schonberg@adacore.com>
225
226	* exp_ch5.adb (Expand_N_Assignment_Statement): Handle properly
227	the generation of discriminant checks when the left-hand side
228	has a type with hidden discriminants.
229	* sem_ch3.ads (Is_Visible_Component): Add defaulted parameter to
230	specify the node on which component visibility is being checked.
231	* sem_ch3.adb (Is_Visible_Component): Use new parameter to
232	determine whether the reference comes from a type conversion to
233	a full view of a private type with unknown discriminants.
234	* sem_ch4.adb (Analyze_Selected_Component): Call
235	Is_Visible_Component with added parameter.
236
2372012-12-05  Arnaud Charlet  <charlet@adacore.com>
238
239	* make.adb: Minor comment update.
240
2412012-12-05  Arnaud Charlet  <charlet@adacore.com>
242
243	* gnatlink.adb: Also use -x adascil in CodePeer mode when
244	calling gcc.
245	* exp_ch5.adb: Minor reformatting.
246
2472012-12-05  Bob Duff  <duff@adacore.com>
248
249	* exp_ch4.adb: Minor comment.
250
2512012-12-05  Bob Duff  <duff@adacore.com>
252
253	* par-ch4.adb: Set Paren_Count correctly for a parenthesized expression
254	containing a conditional expression or quantified expression.
255	* sprint.adb: Update comment.
256
2572012-12-05  Bob Duff  <duff@adacore.com>
258
259	* style.adb, scans.ads, styleg.adb: Update comments.
260
2612012-12-05  Ed Schonberg  <schonberg@adacore.com>
262
263	* sem_ch8.adb (Find_Selected_Component): Handle properly an
264	expanded name whose prefix is the expanded name of an enclosing
265	entry,	that is to say a construct such as T.E.X, where T is an
266	enclosing concurrent type and E is an enclosing entry.
267
2682012-12-05  Robert Dewar  <dewar@adacore.com>
269
270	* lib-writ.adb (Write_ALI): Output T lines.
271	* lib-writ.ads: Minor reformatting. Add documentation of T lines.
272	* opt.ads (Generate_Target_Dependent_Info): New flag.
273	* switch-c.adb (Scan_Switches): Recognize -gnatet switch
274	(target dependent info).
275	* ttypes.ads: Add four letter codes to declarations (for target
276	dependent info).
277	* usage.adb: Add line for -gnatet switch.
278
2792012-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
280
281	* exp_prag.adb (Expand_N_Pragma): Add a call to expand
282	pragma Loop_Variant.
283	(Expand_Pragma_Loop_Assertion): Removed.
284	(Expand_Pragma_Loop_Variant): New routine.
285	* par-prag.adb: Remove Pragma_Loop_Assertion and add two new
286	Pragma_Loop_Invariant and Pragma_Loop_Variant entries.
287	* sem_attr.adb (Analyze_Attribute): Update the code which
288	locates the enclosing pragma.
289	* sem_prag.adb (Analyze_Pragma): Remove the code which analyzes
290	pragma Loop_Assertion as the pragma is now obsolete. Add the
291	machinery to checks the semantics of pragmas Loop_Invariant
292	and Loop_Variant.
293	(Check_Loop_Invariant_Variant_Placement): New routine.
294	* snames.ads-tmpl: Remove name Loop_Assertion. Add new names
295	Loop_Invariant and Loop_Variant.  Rename Name_Decreasing
296	to Name_Decreases and Name_Increasing to Name_Increases.
297	Remove the pragma Id for Loop_Assertion and add two new Ids for
298	Loop_Invariant and Loop_Variant.
299
3002012-12-05  Robert Dewar  <dewar@adacore.com>
301
302	* gnatchop.adb, sem_attr.ads, sem_ch4.adb, sem_ch6.adb, exp_disp.adb,
303	atree.adb, sem_eval.adb: Minor reformatting.
304
3052012-12-05  Yannick Moy  <moy@adacore.com>
306
307	* uintp.adb (UI_Div_Rem): Correct algorithm D to remove potential
308	overflow.
309
3102012-12-05  Robert Dewar  <dewar@adacore.com>
311
312	* exp_ch4.adb (Expand_N_Op_Mod): Minor comment additions.
313	(Expand_N_Op_Rem): Ditto.
314
3152012-12-05  Robert Dewar  <dewar@adacore.com>
316
317	* sem_attr.adb: Minor reformatting.
318
3192012-12-05  Robert Dewar  <dewar@adacore.com>
320
321	* usage.adb: Update lines for -gnato? switch.
322
3232012-12-05  Ed Schonberg  <schonberg@adacore.com>
324
325	* par-ch6.adb (P_Return_Object_Declaration): Do not check for
326	legality of Aliased keyword.
327	* sem_ch6.adb (Analyze_Function_Return): The keyword aliased is
328	legal in an extended return statement only if the return type
329	is immutably limited.
330
3312012-12-05  Javier Miranda  <miranda@adacore.com>
332
333	* exp_disp.adb (Expand_Interface_Thunk): Simplify
334	management of controlling formals.  Required to avoid problems
335	with primitives of internally generated base types associated
336	with constrained tagged types.
337
3382012-12-05  Ed Schonberg  <schonberg@adacore.com>
339
340	* sem_eval.adb: Remove spurious warnings.
341
3422012-12-05  Ed Schonberg  <schonberg@adacore.com>
343
344	* sem_util.adb (Build_Explicit_Dereference): Set properly
345	the type of the prefix prior to rewriting, because subsequent
346	legality checks examine the original node.
347
3482012-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
349
350	* aspects.adb: Add Contract_Cases to the canonical aspects map.
351	* aspects.ads: Add aspect Contract_Cases in the various aspect
352	tables.
353	* par-prag.adb: The parser does not need to perform special
354	actions for pragma Contract_Cases.
355	* sem_ch6.adb (Expand_Contract_Cases): New routine.
356	(Process_Contract_Cases): Convert pragma Contract_Cases into pre-
357	and post- condition checks that verify the runtime state of all
358	case guards and their corresponding consequences.
359	* sem_ch13.adb (Analyze_Aspect_Specifications): Perform
360	various legality checks on aspect Contract_Cases. The aspect is
361	transformed into a pragma.
362	* sem_prag.adb: Add an entry in table Sig_Flags for pragma
363	Contract_Cases.
364	(Analyze_Pragma): Perform various legality
365	checks on pragma Contract_Cases.  The pragma is associated with
366	the contract of the related subprogram.
367	(Chain_CTC): Omit pragma
368	Contract_Cases because it does not introduce a unique case name
369	and does not follow the syntax of Contract_Case and Test_Case.
370	* snames.ads-tmpl: Add new name Name_Contract_Cases. Add a
371	Pragma_Id for Contract_Cases.
372
3732012-12-05  Thomas Quinot  <quinot@adacore.com>
374
375	* sem_ch5.adb: Minor reformatting.
376
3772012-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
378
379	* sem_attr.ads: Add an entry for attribute Loop_Entry in the
380	Attribute_Impl_Def table.
381
3822012-12-05  Bob Duff  <duff@adacore.com>
383
384	* gnatchop.adb (Read_File): Avoid storage leak, and in most cases avoid
385	an extra copy of the string.
386
3872012-12-05  Ed Schonberg  <schonberg@adacore.com>
388
389	* sem_ch5.adb (Preanalyze_Range): If the expression, which
390	denotes some domain of iteration, has a type with implicit
391	dereference, and does not have any iterable aspects, insert
392	dereference to obtain proper container type.
393
3942012-12-05  Bob Duff  <duff@adacore.com>
395
396	* par-ch8.adb (P_Use_Type_Clause): Fix the Sloc for "use all type ..."
397	to point to "use".
398
3992012-12-05  Arnaud Charlet  <charlet@adacore.com>
400
401	* make.adb (Compile): Always pass -x adascil in CodePeer mode.
402
4032012-12-05  Ed Schonberg  <schonberg@adacore.com>
404
405	* s-rident.ads, restrict.ads: Remove discrepancies between the
406	documentation on implementation-defined restrictions, and
407	the internal data structure used for warnings and errors on
408	implementation-defined restriction violations.
409
4102012-12-05  Ed Schonberg  <schonberg@adacore.com>
411
412	* sem_prag.adb (Chain_PPC): Pre- and postcondition aspects
413	are legal on a subprogram body that acts as a spec.
414
4152012-12-05  Ed Schonberg  <schonberg@adacore.com>
416
417	* sem_ch8.adb (Find_Selected_Component): If the selector name is
418	an overloadable entity but the name is not overloaded, generate
419	reference to it rather than delaying this until resolution.
420
4212012-12-05  Robert Dewar  <dewar@adacore.com>
422
423	* checks.ads, checks.adb (Activate_Overflow_Check): No effect for
424	MOD/REM/unary +
425	* exp_ch4.adb (Expand_N_Op_Mod): Remove call to set Do_Overflow_Check.
426
4272012-12-05  Ed Schonberg  <schonberg@adacore.com>
428
429	* sem_ch4.adb (Find_Non_Universal_Interpretation): Use the
430	types of the right operand if the left operand is null.
431
4322012-12-05  Sergey Rybin  <rybin@adacore.com frybin>
433
434	* gnat_ugn.texi, vms_data.ads: document gnatpp -nn option.
435
4362012-12-05  Jose Ruiz  <ruiz@adacore.com>
437
438	* init.c (__gnat_install_handler): For the LEON VxWorks kernel
439	run-time library we need to install a trap handler directly in the
440	trap table (no support by the OS) for the software trap 0.
441
4422012-12-05  Eric Botcazou  <ebotcazou@adacore.com>
443
444	* gnat_rm.texi (Interfacing to C++): Document new restrictions.
445
4462012-12-05  Ben Brosgol  <brosgol@adacore.com>
447
448	* gnat_ugn.texi: Fix typo.
449
4502012-12-05  Robert Dewar  <dewar@adacore.com>
451
452	* gnatbind.adb: Minor reformatting.
453
4542012-12-05  Arnaud Charlet  <charlet@adacore.com>
455
456	* gnat_ugn.texi: Fix typo.
457
4582012-12-05  Tristan Gingold  <gingold@adacore.com>
459
460	* gnatbind.adb: Minor comment update.
461
4622012-12-05  Yannick Moy  <moy@adacore.com>
463
464	* gnat1drv.adb (Adjust_Global_Switches): Set flags to indicate that
465	CodePeer backend deals with divide and overflow checks.
466
4672012-12-05  Robert Dewar  <dewar@adacore.com>
468
469	* gnat_rm.texi: Update overflow description. Pragma Overflow_Checks
470	changed to Overflow_Mode.
471
4722012-12-05  Robert Dewar  <dewar@adacore.com>
473
474	* checks.ads, exp_ch4.adb, gnat1drv.adb, par-prag.adb, sem_prag.adb,
475	snames.ads-tmpl, switch-c.adb, types.ads, checks.adb: Change pragma
476	Overflow_Checks to Overflow_Mode.
477	Separate overflow checking from overflow mode.
478	Several name changes to reflect this separation.
479	CHECKED mode is renamed STRICT mode.
480
4812012-12-05  Yannick Moy  <moy@adacore.com>
482
483	* gnat1drv.adb (Adjust_Global_Switches): Move setting of flags for
484	Alfa mode before general treatment of flags, so that overflow checks
485	settings are set appropriately in Alfa mode. Also set the mode to
486	STRICT in Alfa mode if not already set by the user.
487
4882012-12-05  Robert Dewar  <dewar@adacore.com>
489
490	* sem_ch3.adb: Minor reformatting.
491
4922012-12-05  Steve Baird  <baird@adacore.com>
493
494	* sinfo.ads: Improve comments about SCIL-related node kinds and selector
495	functions.
496
4972012-12-05  Ed Schonberg  <schonberg@adacore.com>
498
499	* sem_ch10.adb (Build_Limited_Views): Even though the unit is
500	not analyzed, place its entity on the name in the with clause,
501	so that warnings on unused with-clause are properly supported
502	for limited withs.
503
5042012-12-05  Robert Dewar  <dewar@adacore.com>
505
506	* gnat_ugn.texi: Update overflow description. Pragma
507	Overflow_Checks changed to Overflow_Mode.
508
5092012-12-05  Ed Schonberg  <schonberg@adacore.com>
510
511	* sem_ch3.adb (Build_Derived_Private_Type): Handle properly a
512	completion in a grand-child unit when the parent type is itself
513	a private type in a child unit whose full view is itself a
514	derivation from a private type.
515
5162012-12-05  Gary Dismukes  <dismukes@adacore.com>
517
518	* exp_attr.adb (Expand_N_Attribute_Reference, case
519	Attribute_Valid): Remove code for issuing warning on Valid within
520	a predicate. Moved to Sem_Attr.  Remove with and use of Errout.
521	* sem_attr.adb (Analyze_Attribute, case Attribute_Valid):
522	Test for prefix's subtype having a predicate and issue warning
523	about infinite recursion if Valid occurs within the subtype's
524	predicate. Warning moved here from Exp_Attr.
525
5262012-12-05  Yannick Moy  <moy@adacore.com>
527
528	* debug.adb: Minor comment addition.
529
5302012-12-05  Yannick Moy  <moy@adacore.com>
531
532	* gnat1drv.adb (Adjust_Global_Switches): In CodePeer mode, check
533	overflows by default, even when the user suppresses overflow checks.
534
5352012-12-05  Thomas Quinot  <quinot@adacore.com>
536
537	* err_vars.ads: Fix minor typo in comment.
538
5392012-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
540
541	* sem_attr.adb (Analyze_Attribute): Do not analyze the attribute
542	arguments when processing Loop_Entry. Rewrite the analysis of
543	attribute Loop_Entry to handle an optional loop name.
544	(Convert_To_Indexed_Component): New routine.
545	(Eval_Attribute): Remove ??? comment and explain
546	why Loop_Entry does not need to be evaluated.
547
5482012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
549
550	PR ada/52110
551	* s-osinte-hpux-dce.ads: Declare pthread_rwlockattr_t and
552	pthread_rwlock_t subtypes.  Delete duplicate declaration of clockid_t.
553	* s-taspri-hpux-dce.ads: Change "pragma Atomic (Thread)" to comment.
554
5552012-11-28  Eric Botcazou  <ebotcazou@adacore.com>
556
557	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
558	valid_constant_size_p to detect too large objects.
559	<E_Subprogram_Type>: Likewise for too large return types.
560	(allocatable_size_p): Call valid_constant_size_p in the fixed case.
561	(annotate_value) <INTEGER_CST>: Simplify.
562	<BIT_AND_EXPR>: Deal with negative values here.
563	* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
564	valid_constant_size_p to detect too large objects on the LHS.
565	* gcc-interface/misc.c (default_pass_by_ref): Likewise for large types.
566	And use TYPE_SIZE_UNIT throughout.
567	(must_pass_by_ref): Likewise.
568	* gcc-interface/utils.c (max_size) <tcc_unary>: Split from common case.
569	<tcc_binary>: Likewise.  Call size_binop instead of fold_build2.
570	<tcc_expression>: Simplify.
571	* gcc-interface/utils2.c (build_allocator): Use valid_constant_size_p
572	to detect too large allocations.
573
5742012-11-23  Eric Botcazou  <ebotcazou@adacore.com>
575
576	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Look through
577	a view conversion from constrained to unconstrained form.
578
5792012-11-23  Eric Botcazou  <ebotcazou@adacore.com>
580
581	* gcc-interface/decl.c (components_need_strict_alignment): New.
582	(components_to_record): Do not pack the variants if one of the fields
583	needs strict alignment.  Likewise for the variant part as a whole.
584	Specify the position of the variants even if the size isn't specified,
585	but do not specify the size of the variant part in this case.
586
5872012-11-20  Diego Novillo  <dnovillo@google.com>
588	    Jakub Jelinek  <jakub@redhat.com>
589
590	* gcc-interface/decl.c: Replace all vec<T,A>() initializers with vNULL.
591
5922012-11-18  Eric Botcazou  <ebotcazou@adacore.com>
593
594	* gcc-interface/decl.c: Remove trailing spaces.
595	* gcc-interface/trans.c: Remove trailing spaces.
596
5972012-11-16  Diego Novillo  <dnovillo@google.com>
598
599	Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
600
601	* gcc-interface/decl.c: Use new vec API in vec.h.
602	* gcc-interface/gigi.h: Likewise.
603	* gcc-interface/trans.c: Likewise.
604	* gcc-interface/utils.c: Likewise.
605	* gcc-interface/utils2.c: Likewise.
606
6072012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
608
609	PR other/52438
610	* s-taspri-lynxos.ads: Delete.
611	* s-osinte-kfreebsd-gnu.ads: Change license to GPL V3+.
612	* s-tpopsp-rtems.adb: Likewise.
613	* s-osinte-rtems.adb: Likewise.
614
6152012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
616
617	* gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Body_Stub>: Deal
618	with a missing library unit instead of calling gnat_to_gnu on Emtpy.
619	Remove last bits of support for SCIL nodes.  Add cases for nodes that
620	should only be present when annotating types.  Add default abort.
621
6222012-11-06  Eric Botcazou  <ebotcazou@adacore.com>
623
624	* gcc-interface/Makefile.in: Revert most changes.
625	* gcc-interface/Make-lang.in (gnatlib): Remove ada/s-oscons.ads.
626
6272012-11-06  Arnaud Charlet  <charlet@adacore.com>
628
629	* gcc-interface/Makefile.in (copy-s-oscons): New target.
630
6312012-11-06  Robert Dewar  <dewar@adacore.com>
632
633	* err_vars.ads, atree.ads: Minor reformatting.
634
6352012-11-06  Arnaud Charlet  <charlet@adacore.com>
636
637	* gcc-interface/Make-lang.in: Update dependencies.
638	* gcc-interface/Makefile.in: Add runtime pairs for Android.
639	Rework handling of s-oscons.ads.
640	* s-osinte-android.ads, s-osinte-android.adb: New files.
641
6422012-11-06  Tristan Gingold  <gingold@adacore.com>
643
644	* gcc-interface/trans.c (gnat_to_gnu): For N_Real_Literal, create the
645	binary representation of vax floats.
646
6472012-11-06  Tristan Gingold  <gingold@adacore.com>
648
649	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Fix thinko
650	in previous commit.
651
6522012-11-06  Jose Ruiz  <ruiz@adacore.com>
653
654	* ali.adb (Scan_ALI): Fix parsing mechanism for -fstack-check.
655
6562012-11-06  Thomas Quinot  <quinot@adacore.com>
657
658	* atree.adb, atree.ads, einfo.adb, errout.adb, errout.ads, erroutc.adb,
659	erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, expander.adb,
660	exp_ch13.adb, exp_ch2.adb, exp_ch6.adb, exp_dist.adb, fe.h,
661	fmap.adb, fmap.ads, gprep.adb, makeutl.adb, osint.adb, osint.ads,
662	par_sco.adb, prepcomp.adb, prj-part.adb, prj-proc.adb, scng.adb,
663	sdefault.ads, sem_ch10.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb,
664	sem_ch4.adb, sem_ch5.adb, sem_dim.adb, sem_elab.adb, sem_eval.adb,
665	sem_intr.adb, sem_prag.adb, sem_type.adb, sem_warn.adb, stylesw.adb,
666	stylesw.ads, targparm.adb, targparm.ads (Cascaded_Error): Rename to
667	more descriptive name 'Check_Error_Detected'. Add calls to
668	Check_Error_Detected at places where semantic analysis is abandoned
669	assuming a previously detected error.
670
6712012-11-06  Robert Dewar  <dewar@adacore.com>
672
673	* exp_ch4.adb: Minor comment change.
674
6752012-11-06  Robert Dewar  <dewar@adacore.com>
676
677	* gnat_ugn.texi: Extensive revision of documentation of overflow
678	checking.
679	* vms_data.ads: Overflow check numbers must be in range 1-3,
680	not 0-3.
681
6822012-11-06  Tristan Gingold  <gingold@adacore.com>
683
684	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Emit a
685	warning if pragma Priority is used in presence of an interrupt
686	handler.
687
6882012-11-06  Robert Dewar  <dewar@adacore.com>
689
690	* checks.ads, checks.adb, exp_ch4.adb: Minor changes throughout for
691	new overflow checking.
692	* exp_util.adb (Insert_Actions): Remove special casing of
693	Overflow_Check.
694	* gnat1drv.adb (Adjust_Global_Switches): Fixes for new handling
695	of overflow checks.
696	* sem.adb (Analyze): Remove special casing of Overflow_Check
697	(Analyze_List): ditto.
698	* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Remove
699	SUPPRESSED and change CHECKED to STRICT.
700	* sem_res.adb (Analyze_And_Resolve): No longer treat
701	Overflow_Check specially.
702	(Preanalyze_And_Resolve): ditto.
703	(Resolve): ditto.
704	* snames.ads-tmpl: Replace Name_Checked by Name_Strict.
705	* switch-c.adb (Get_Overflow_Mode): Eliminate 0 setting,
706	CHECKED => STRICT.
707	* types.ads (Overflow_Check_Type): Remove Suppressed, change
708	Checked to Strict (Suppress_Record): Overflow check controlled
709	by Suppress array.
710
7112012-11-06  Ed Schonberg  <schonberg@adacore.com>
712
713	* sem_res.adb (Preanalyze_And_Resolve): In Alfa mode do not
714	disable checks, so that flags can be properly set on expressions
715	that are not further expanded.
716
7172012-11-06  Robert Dewar  <dewar@adacore.com>
718
719	* exp_attr.adb, sem_attr.adb: Minor reformatting.
720
7212012-11-06  Gary Dismukes  <dismukes@adacore.com>
722
723	* exp_attr.adb (Expand_N_Attribute_Reference): Apply a predicate
724	check when evaluating the attribute Valid, and issue a warning
725	about infinite recursion when the check occurs within the
726	predicate function of the prefix's subtype.
727	* exp_ch4.adb (Expand_N_In): Remove test for Is_Discrete_Type
728	when we're checking that there's no predicate check function as a
729	condition for substituting a Valid check for a scalar membership
730	test (substitution should be suppressed for any kind of scalar
731	subtype with a predicate check). Also, don't emit a predicate
732	check when the right operand is a range.
733
7342012-11-06  Robert Dewar  <dewar@adacore.com>
735
736	* par_sco.adb, bindgen.adb, exp_vfpt.adb, exp_vfpt.ads, exp_ch2.adb,
737	errout.adb, sem_ch8.adb: Minor reformatting.
738
7392012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>
740
741	* einfo.adb: Include Loop_Entry_Attributes to the list of
742	Node/List/Elist10 usage.
743	(Loop_Entry_Attributes): New routine.
744	(Set_Loop_Entry_Attributes): New routine.
745	(Write_Field10_Name): Add an output string for Loop_Entry_Attributes.
746	* einfo.ads: Define new attribute Loop_Entry_Attributes along
747	with its usage in nodes.
748	(Loop_Entry_Attributes): New routine and dedicated pragma Inline.
749	(Set_Loop_Entry_Attributes): New routine and dedicated pragma Inline.
750	* exp_attr.adb (Expand_N_Attribute_Reference): Do not expand
751	Attribute_Loop_Entry here.
752	* exp_ch5.adb: Add with and use clause for Elists;
753	(Expand_Loop_Entry_Attributes): New routine.
754	(Expand_N_Loop_Statement): Add a call to Expand_Loop_Entry_Attributes.
755	* exp_prag.adb (Expand_Pragma_Loop_Assertion): Specialize the
756	search to include multiple nested loops produced by the expansion
757	of Ada 2012 array iterator.
758	* sem_attr.adb: Add with and use clause for Elists.
759	(Analyze_Attribute): Check the legality of attribute Loop_Entry.
760	(Resolve_Attribute): Nothing to do for Loop_Entry.
761	(S14_Attribute): New routine.
762	* snames.ads-tmpl: Add a comment on entries marked with
763	HiLite. Add new name Name_Loop_Entry. Add new attribute
764	Attribute_Loop_Entry.
765
7662012-11-06  Geert Bosch  <bosch@adacore.com>
767
768	* eval_fat.adb (Machine, Succ): Fix front end to support static
769	evaluation of attributes on targets with both VAX and IEEE float.
770	* sem_util.ads, sem_util.adb (Has_Denormals, Has_Signed_Zeros):
771	New type-specific functions. Previously we used Denorm_On_Target
772	and Signed_Zeros_On_Target directly, but that doesn't work well
773	for OpenVMS where a single target supports both floating point
774	with and without signed zeros.
775	* sem_attr.adb (Attribute_Denorm, Attribute_Signed_Zeros): Use
776	new Has_Denormals and Has_Signed_Zeros functions to support both
777	IEEE and VAX floating point on a single target.
778
7792012-11-06  Tristan Gingold  <gingold@adacore.com>
780
781	* bindgen.adb (System_Interrupts_Used): New variable.
782	(Gen_Adainit): Declare and call
783	Install_Restricted_Handlers_Sequential if System.Interrupts is
784	used when elaboration policy is sequential.
785
7862012-11-06  Ed Schonberg  <schonberg@adacore.com>
787
788	* sem_ch8.adb: Complete previous change.
789
7902012-11-06  Tristan Gingold  <gingold@adacore.com>
791
792	* fe.h (Get_Vax_Real_Literal_As_Signed): Declare.
793	* eval_fat.adb, eval_fat.ads (Decompose_Int): Move spec in package spec.
794	* exp_vfpt.adb, exp_vfpt.ads (Vax_Real_Literal_As_Signed): New function.
795	(Expand_Vax_Real_Literal): Remove.
796	* exp_ch2.adb (Expand_N_Real_Literal): Do nothing.
797	* sem_eval.adb (Expr_Value_R): Remove special Vax float case,
798	as this is not anymore a special case.
799
8002012-11-06  Yannick Moy  <moy@adacore.com>
801
802	* uintp.ads: Minor correction of typo in comment.
803
8042012-11-06  Ed Schonberg  <schonberg@adacore.com>
805
806	* sem_prag.adb (Analyze_Pragnma, case Unchecked_Union): remove
807	requirement that discriminants of an unchecked_union must have
808	defaults.
809
8102012-11-06  Vasiliy Fofanov  <fofanov@adacore.com>
811
812	* projects.texi: Minor wordsmithing.
813
8142012-11-06  Robert Dewar  <dewar@adacore.com>
815
816	* sem_ch9.adb, exp_vfpt.adb, xoscons.adb: Minor reformatting.
817
8182012-11-06  Tristan Gingold  <gingold@adacore.com>
819
820	* exp_vfpt.adb: Document VAX float point layout.
821
8222012-11-06  Geert Bosch  <bosch@adacore.com>
823
824	* eval_fat.adb (Machine): Don't return -0.0 on targets without
825	signed zeros.
826
8272012-11-06  Ed Schonberg  <schonberg@adacore.com>
828
829	* sem_ch9.adb (Analyze_Entry_Call_Alternative,
830	Check_Triggering_Statement): Reject properly an indirect call.
831
8322012-11-06  Pascal Obry  <obry@adacore.com>
833
834	* xoscons.adb, xutil.adb, xutil.ads: Add support for post-processing.
835
8362012-11-06  Yannick Moy  <moy@adacore.com>
837
838	* s-bignum.adb (Div_Rem): Fix another bug in step D3.
839
8402012-11-06  Tristan Gingold  <gingold@adacore.com>
841
842	* s-tarest.adb (Create_Restricted_Task): Call
843	Create_Restricted_Task_Sequential in sequential case.
844
8452012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>
846
847	* exp_prag.adb (Expand_Pragma_Loop_Assertion): Do not rewrite the
848	pragma into a null statement as its presence is desirable in -gnatG
849	output.
850
8512012-11-06  Ed Schonberg  <schonberg@adacore.com>
852
853	* sem_ch8.adb (Check_Constrained_Object): Do nothing if the
854	renamed object is a limited record.
855
8562012-11-06  Bernard Banner  <banner@adacore.com>
857
858	* sysdep.c (_getpagesize): New. Minor reformatting.
859
8602012-11-06  Robert Dewar  <dewar@adacore.com>
861
862	* sem_prag.adb: Minor reformatting.
863
8642012-11-06  Robert Dewar  <dewar@adacore.com>
865
866	* s-bignum.adb (Div_Rem): Fix bug in step D3.
867	* uintp.adb (UI_Div_Rem): Add comment on bug in step D3.
868
8692012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>
870
871	* exp_prag.adb (Expand_Pragma_Loop_Assertion): Update the comment
872	on intended expansion.	Reimplement the logic which expands the
873	termination variants.
874	(Process_Increase_Decrease): Update the parameter profile and the
875	comment related to it. Accommodate the new aggregate-like appearance of
876	the termination variants.
877	* sem_prag.adb (Analyze_Pragma): Update the syntax of pragma
878	Loop_Assertion. Reimplement the semantic analysis of the pragma
879	to accommodate the new aggregate-like variant.
880	(Check_Variant): New routine.
881	* snames.ads-tmpl: Change names Name_Decreases and Name_Increases
882	to Name_Decreasing and Name_Increasing respectively. Add name
883	Variant.
884
8852012-11-06  Ed Schonberg  <schonberg@adacore.com>
886
887	* sem_eval.adb: Static evaluation of case expressions.
888
8892012-11-06  Robert Dewar  <dewar@adacore.com>
890
891	* exp_prag.adb, impunit.adb, exp_ch9.adb, par-ch4.adb,
892	s-tarest.adb: Minor reformatting.
893
8942012-11-06  Tristan Gingold  <gingold@adacore.com>
895
896	* s-tposen.ads: Minor comment update.
897
8982012-11-06  Arnaud Charlet  <charlet@adacore.com>
899
900	* sysdep.c: Rename sig* wrappers to use unique names.
901
9022012-11-06  Yannick Moy  <moy@adacore.com>
903
904	* exp_dbug.adb (Qualify_Entity_Name): Mark entity as having a qualified
905	name after being treated, in formal verification mode.
906
9072012-11-06  Fedor Rybin  <frybin@adacore.com>
908
909	* gnat_ugn.texi: Updating gnattest section to reflect changes
910	in default behaviour of the tool.
911
9122012-11-06  Thomas Quinot  <quinot@adacore.com>
913
914	* s-oscons-tmplt.c: Interfaces.C now needs to be WITH'd even
915	on platforms that do not support sockets (for the benefit of
916	subtype IOCTL_Req_T).
917
9182012-11-06  Ed Schonberg  <schonberg@adacore.com>
919
920	* par-ch4.adb (P_Primary): if-expressions, case-expressions,
921	and quantified expressions are legal if surrounded by parentheses
922	from an enclosing context, such as a call or an instantiation.
923
9242012-11-06  Yannick Moy  <moy@adacore.com>
925
926	* impunit.adb (Get_Kind_Of_Unit): Return appropriate kind for
927	predefined implementation files, instead of returning
928	Not_Predefined_Unit on all .adb files.
929
9302012-11-06  Tristan Gingold  <gingold@adacore.com>
931
932	* exp_ch9.adb (Build_Activation_Chain_Entity): Return immediately if
933	partition elaboration policy is sequential.
934	(Build_Task_Activation_Call): Likewise. Use
935	Activate_Restricted_Tasks on restricted profile.
936	(Make_Task_Create_Call): Do not use the _Chain
937	parameter if elaboration policy is sequential. Call
938	Create_Restricted_Task_Sequential in that case.
939	* exp_ch3.adb (Build_Initialization_Call): Change condition to
940	support concurrent elaboration policy.
941	(Build_Record_Init_Proc): Likewise.
942	(Init_Formals): Likewise.
943	* bindgen.adb (Gen_Adainit): Declare Partition_Elaboration_Policy
944	and set it in generated code if the elaboration policy is
945	sequential. The procedure called to activate all tasks is now
946	named __gnat_activate_all_tasks.
947	* rtsfind.adb (RE_Activate_Restricted_Task,
948	RE_Create_Restricted_Task_Sequential): New RE_Id literals.
949	* s-tarest.adb (Create_Restricted_Task): Added to create a task without
950	adding it on an activation chain.
951	(Activate_Tasks): Has now a Chain parameter.
952	(Activate_All_Tasks_Sequential): Added. Called by the binder to
953	activate all tasks.
954	(Activate_Restricted_Tasks): Added. Called during elaboration to
955	activate tasks of the units.
956	* s-tarest.ads: Remove pragma Partition_Elaboration_Policy.
957	(Partition_Elaboration_Policy): New variable (set by the binder).
958	(Create_Restricted_Task): Revert removal of the chain parameter.
959	(Create_Restricted_Task_Sequential): New procedure.
960	(Activate_Restricted_Tasks): Revert removal.
961	(Activate_All_Tasks_Sequential): New procedure.
962
9632012-11-06  Bernard Banner  <banner@adacore.com>
964
965	* adaint.c Add file macro definitions missing on Android.
966	* adaint.h Avoid definitions related to task affinity and CPU
967	sets since this functionality is missing on the Android
968	* errno.c (__set_errno): Android already contains such a named
969	procedure so do include again.
970	* gsocket.h: Sockets not supported on Android.
971	* init.c: Avoid linux related code not supported on Android.
972	* sysdep.c (sigismember, sigaddset, sigdelset, sigemptyset,
973	sigfillset): wrapper functions since sig routines are defined
974	as inline macros on Android.
975	* terminals.c: Add stubs for terminal related functions not
976	supported on Android.
977
9782012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>
979
980	* sem_prag.adb (Analyze_Pragma): Do not
981	output the characters of an illegal argument as it may not have
982	characters to begin with.
983
9842012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>
985
986	* exp_prag.adb (Expand_Pragma_Loop_Assertion):
987	Change the order of argument processing to avoid disappearing
988	increase / decrease expressions.
989
9902012-11-06  Hristian Kirtchev  <kirtchev@adacore.com>
991
992	* exp_prag.adb: Add with and use clause for Sem_Ch8.
993	(Expand_N_Pragma): Add a new variant to expand pragma Loop_Assertion.
994	(Expand_Pragma_Loop_Assertion): New routine.
995	* par-prag.adb (Prag): The semantic analysis of pragma
996	Loop_Assertion is carried out by Analyze_Pragma. No need for
997	checks in the parser.
998	* sem_prag.adb: Add a reference position value for pragma
999	Loop_Assertion in Sig_Flags.
1000	(Analyze_Pragma): Add semantic analysis for pragma Loop_Assertion.
1001	* snames.ads-tmpl: Add the following new names:
1002	Name_Decreases Name_Increases Name_Loop_Assertion.
1003	Add new pragma id Pragma_Loop_Assertion.
1004
10052012-11-06  Ed Schonberg  <schonberg@adacore.com>
1006
1007	* exp_ch5.adb: Identifier in iterator must have debug
1008	information.
1009
10102012-11-06  Arnaud Charlet  <charlet@adacore.com>
1011
1012	* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove
1013	duplicate rules handled by Make-generated.in.
1014
10152012-10-31  Lawrence Crowl  <crowl@google.com>
1016
1017	* gcc-interface/utils.c (gnat_write_global_declarations):
1018	Rename varpool_node to varpool_node_for_decl.
1019
10202012-10-30  Eric Botcazou  <ebotcazou@adacore.com>
1021
1022	* gcc-interface/Make-lang.in: Fix and clean up rules for C files.
1023
10242012-10-29  Arnaud Charlet  <charlet@adacore.com>
1025
1026	* gcc-interface/Makefile.in (s-oscons.ads): Adjust call to xoscons.
1027
10282012-10-29  Pascal Obry  <obry@adacore.com>
1029
1030	* xoscons.adb, Make-generated.in; The template used by xoscons is now
1031	given as parameter.
1032	* gcc-interface/Make-lang.in: Update dependencies.
1033
10342012-10-29  Yannick Moy  <moy@adacore.com>
1035
1036	* exp_dbug.adb (Qualify_Entity_Name): Only do renaming in formal
1037	verification mode when there is a homonym.
1038
10392012-10-29  Thomas Quinot  <quinot@adacore.com>
1040
1041	* xoscons.adb: Minor reformatting.
1042
10432012-10-29  Yannick Moy  <moy@adacore.com>
1044
1045	* exp_alfa.adb (Expand_Alfa): Backtrack change that removed
1046	qualification of names in formal verification mode. Instead,
1047	the qualification should be modified.
1048	* exp_dbug.adb (Qualify_Entity_Name): Modify qualification in formal
1049	verification mode, so that only a suffix is added to distinguish
1050	homonyms from the same scope.
1051
10522012-10-29  Robert Dewar  <dewar@adacore.com>
1053
1054	* gnat_rm.texi: Document that pragma Optimize_Alignment (Space) is
1055	ignored with a warning for packed variable length records.
1056
10572012-10-29  Thomas Quinot  <quinot@adacore.com>
1058
1059	* socket.c, g-socthi-dummy.adb, g-socthi-dummy.ads, g-socthi-vms.adb,
1060	g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
1061	s-oscons-tmplt.c, g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb,
1062	g-socthi.ads, xoscons.adb, g-socket.adb, g-sothco.ads: Introduce an
1063	appropriate subtype for IOCTL requests, since these may be signed or
1064	unsigned.
1065
10662012-10-29  Gary Dismukes  <dismukes@adacore.com>
1067
1068	* exp_alfa.adb: Minor reformatting.
1069
10702012-10-29  Robert Dewar  <dewar@adacore.com>
1071
1072	* gnat_rm.texi, gnat_ugn.texi: Clarify documentation on maximum
1073	line length style switch.
1074
10752012-10-29  Robert Dewar  <dewar@adacore.com>
1076
1077	* layout.adb (Set_Composite_Alignment): Ignore pragma
1078	Optimize_Alignment (Space) for packed variable length records.
1079
10802012-10-29  Robert Dewar  <dewar@adacore.com>
1081
1082	* s-bignum.adb: Minor comment change.
1083
10842012-10-29  Thomas Quinot  <quinot@adacore.com>
1085
1086	* s-oscons-tmplt.c: Fix signedness of ioctl request identifiers
1087	for x86_64-freebsd.
1088
10892012-10-29  Yannick Moy  <moy@adacore.com>
1090
1091	* exp_alfa.adb (Expand_Alfa): Remove qualification of names.
1092
10932012-10-29  Robert Dewar  <dewar@adacore.com>
1094
1095	* sem_prag.adb: Minor reformatting.
1096
10972012-10-29  Robert Dewar  <dewar@adacore.com>
1098
1099	* gnat_rm.texi: Minor rewording.
1100
11012012-10-29  Javier Miranda  <miranda@adacore.com>
1102
1103	* exp_disp.ads (Is_Expanded_Dispatching_Call): New subprogram.
1104	* exp_disp.adb (Expand_Dispatching_Call): No action needed if the
1105	call has been already expanded.
1106	(Is_Expanded_Dispatching_Call): New subprogram.
1107	* sem_disp.adb (Propagate_Tag): No action needed if the call
1108	has been already expanded.
1109
11102012-10-29  Hristian Kirtchev  <kirtchev@adacore.com>
1111
1112	* exp_ch9.adb (Create_Index_And_Data): Remove local
1113	variable Index_Typ and its uses. The type of the index is now
1114	System.Tasking.Entry_Index. Update all related comments.
1115	* rtsfind.ads: Add RE_Entry_Index in tables RE_Id and RE_Unit_Table.
1116	* s-taskin.adb (Number_Of_Entries): The return type is now Entry_Index.
1117	* s-taskin.ads: The index type of Task_Entry_Names_Array is now
1118	Entry_Index.
1119	(Number_Of_Entries): The return type is now Entry_Index.
1120	* s-tpoben.adb (Number_Of_Entries): The return type is now Entry_Index.
1121	* s-tpoben.ads: The index type of Protected_Entry_Names_Array
1122	is now Entry_Index.
1123	(Number_Of_Entries): The return type is now Entry_Index.
1124
11252012-10-29  Pascal Obry  <obry@adacore.com>
1126
1127	* gnat_ugn.texi: Add note about SEH setup on x86-windows.
1128
11292012-10-29  Eric Botcazou  <ebotcazou@adacore.com>
1130
1131	* s-bignum.adb (Allocate_Bignum): Use the exact layout of
1132	Bignum_Data for the overlay.
1133
11342012-10-29  Thomas Quinot  <quinot@adacore.com>
1135
1136	* gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_util.ads,
1137	par-prag.adb, par-util.adb, snames.ads-tmpl (Sem_Prag.Analyze_Pragma):
1138	Handle new pragma Attribute_Definition.
1139	(Sem_Util.Bad_Attribute): New routine, moved here
1140	from par-util, so that it can be used by the above.
1141	(Par_Util.Signal_Bad_Attribute): Processing moved to
1142	Sem_Util.Bad_Attribute.
1143
11442012-10-29  Robert Dewar  <dewar@adacore.com>
1145
1146	* s-tpoben.ads, s-taskin.ads, exp_ch3.adb: Minor reformatting.
1147
11482012-10-29  Yannick Moy  <moy@adacore.com>
1149
1150	* sem_prag.adb, gnat1drv.adb, opt.ads: Rename S14_Extensions
1151	into Formal_Extensions.
1152
11532012-10-29  Thomas Quinot  <quinot@adacore.com>
1154
1155	* sem_attr.adb: Minor reformatting.
1156
11572012-10-29  Tristan Gingold  <gingold@adacore.com>
1158
1159	* gnat_rm.texi: Document implementation advice for Pragma
1160	Partition_Elaboration_Policy.
1161
11622012-10-29  Yannick Moy  <moy@adacore.com>
1163
1164	* s-bignum.adb (Div_Rem): Reference that Algorithm_D is from
1165	the second edition of TAOCP from Knuth, since the algo changed
1166	in the third edition. Also correct the definition of 'd' which
1167	could overflow.
1168
11692012-10-29  Hristian Kirtchev  <kirtchev@adacore.com>
1170
1171	* exp_ch3.adb (Build_Initialization_Call): Create static strings
1172	which denote entry [family] names and associate them with the
1173	object's Protection_Entries or ATCB.
1174	(Build_Init_Statements):
1175	Remove local variable Names. Do not generate the entry [family]
1176	names inside the init proc because they are now static.
1177	* exp_ch9.adb (Build_Entry_Names): Reimplemented. The strings
1178	which denote entry [family] names are now generated statically
1179	and associated with the concurrent object's Protection_Entries
1180	or ATCB during initialization.
1181	* exp_ch9.ads (Build_Entry_Names): Change subprogram profile
1182	and associated comment on usage.
1183	* rtsfind.ads: Add the following entries to tables RE_Id and
1184	RE_Unit_Table:
1185
1186	RE_Protected_Entry_Names_Array RE_Task_Entry_Names_Array
1187	RO_PE_Number_Of_Entries RO_PE_Set_Entry_Names
1188	RO_ST_Number_Of_Entries RO_ST_Set_Entry_Names
1189
1190	Remove the following entries from tables RE_Id and RE_Unit_Table:
1191
1192	RO_PE_Set_Entry_Name RO_TS_Set_Entry_Name
1193
1194	* s-taskin.adb: Remove with clause for Ada.Unchecked_Deallocation.
1195	(Free_Entry_Names_Array): Removed.
1196	(Number_Of_Entries): New routine.
1197	(Set_Entry_Names): New routine.
1198	* s-taskin.ads: Rename type Entry_Names_Array to
1199	Task_Entry_Names_Array. Rename type Entry_Names_Array_Access
1200	to Task_Entry_Names_Access. Update the type of ACTB field
1201	Entry_Names and add a comment on its protection status.
1202	(Free_Entry_Names_Array): Removed.
1203	(Number_Of_Entries): New routine.
1204	(Set_Entry_Names): New routine.
1205	* s-tassta.adb (Create_Task): Remove formal parameter
1206	Build_Entry_Names. Do not allocate an array to hold the
1207	string names of entries and families.
1208	(Free_Entry_Names): Removed.
1209	(Free_Task): Remove the call to Free_Entry_Names.
1210	(Set_Entry_Name): Removed.
1211	(Vulnerable_Free_Task): Remove the call to Free_Entry_Names.
1212	* s-tassta.ads (Create_Task): Remove formal parameter
1213	Build_Entry_Names along with associated comment.
1214	(Set_Entry_Name): Removed.
1215	* s-tpoben.adb: Remove with clause for Ada.Unchecked_Deallocation.
1216	(Finalize): Remove the call to Free_Entry_Names.
1217	(Free_Entry_Names): Removed.
1218	(Initialize_Protection_Entries):
1219	Remove formal parameter Build_Entry_Names. Do not allocate
1220	an array to hold the string names of entries and families.
1221	(Number_Of_Entries): New routine.
1222	(Set_Entry_Name): Removed.
1223	(Set_Entry_Names): New routine.
1224	* s-tpoben.ads: Add types Protected_Entry_Names_Array and
1225	Protected_Entry_Names_Access. Update the type of Protection_Enties
1226	field Entry_Names.
1227	(Initialize_Protection_Entries): Remove
1228	formal parameter Build_Entry_Names along with associated comment.
1229	(Number_Of_Entries): New routine.
1230	(Set_Entry_Name): Removed.
1231	(Set_Entry_Names): New routine.
1232
12332012-10-29  Arnaud Charlet  <charlet@adacore.com>
1234
1235	* gnat_ugn.texi: Minor typo fix.
12362012-10-29  Yannick Moy  <moy@adacore.com>
1237
1238	* debug.adb Associate debug switch -gnatd.V to extensions for
1239	formal verification.
1240	* gnat1drv.adb (Adjust_Global_Switches): Set flag S14_Extensions
1241	when -gnatd.V is set.
1242	* gnat_rm.texi: Remove doc for Assert_And_Cut.
1243	* opt.ads Declare new flag S14_Extensions, to be set when new
1244	aspects/pragmas/attributes for formal verification should be
1245	accepted.
1246	* sem_prag.adb (Analyze_Pragma): Check that S14_Extensions is
1247	set when treating pragma Assert_And_Cut.
1248
12492012-10-29  Tristan Gingold  <gingold@adacore.com>
1250
1251	* s-tarest.ads, s-tassta.adb: Add a pragma Partition_Elaboration_Policy.
1252
12532012-10-29  Robert Dewar  <dewar@adacore.com>
1254
1255	* freeze.adb: Minor reformatting.
1256
12572012-10-29  Robert Dewar  <dewar@adacore.com>
1258
1259	* xr_tabls.adb, xr_tabls.ads, exp_ch9.adb, snames.adb-tmpl,
1260	snames.ads-tmpl, exp_ch3.adb: Minor reformatting.
1261
12622012-10-29  Ed Schonberg  <schonberg@adacore.com>
1263
1264	* sem_ch6.adb: Call Build_Subprogrm_Instance_Renamings only when
1265	generating code.
1266
12672012-10-29  Robert Dewar  <dewar@adacore.com>
1268
1269	* gnat_ugn.texi: Add documentation for -gnatw.k/-gnatw.K.
1270	* ug_words: Add entries for -gnatw.k/.K for [NO]STANDARD_REDEFINITION.
1271	* vms_data.ads: Add entries for [NO]STANDARD_REDEFINITION.
1272
12732012-10-29  Tristan Gingold  <gingold@adacore.com>
1274
1275	* exp_ch9.adb, s-tarest.ads, exp_ch3.adb: Update comments.
1276
12772012-10-29  Yannick Moy  <moy@adacore.com>
1278
1279	* gnat_rm.texi: Minor documentation addition.
1280
12812012-10-29  Emmanuel Briot  <briot@adacore.com>
1282
1283	* xr_tabls.adb, xr_tabls.ads (Add_Declaration, Add_Reference): No
1284	longer assume that a parameter declaration is seen after the subprogram
1285	that uses it.
1286
12872012-10-29  Tristan Gingold  <gingold@adacore.com>
1288
1289	* lib-writ.adb (Write_ALI): Emit partition elaboration policy
1290	in P line.
1291	* lib-writ.ads: Document partition elaboration policy indication.
1292	* sem_prag.adb (Check_Arg_Is_Partition_Elaboration_Policy): New
1293	procedure.
1294	(Analyze_Pragma): Handle Partition_Elaboration_Policy.
1295	(Sig_Flags): Add flag for Pragma_Partition_Elaboration_Policy
1296	* ali.adb (Initialize_ALI): Init Partition_Elaboration_Policy_Specified.
1297	(Scan_ALI): Read Ex indications.
1298	* ali.ads: ALIs_Record: Add Partition_Elaboration_Policy.
1299	* par-prag.adb (Prag): Add Partition_Elaboration_Policy.
1300	* snames.adb-tmpl (Is_Partition_Elaboration_Policy_Name): New function.
1301	* opt.ads (Partition_Elaboration_Policy): Declare.
1302	(Partition_Elaboration_Policy_Sloc): Declare.
1303	* bcheck.adb (Check_Consistent_Partition_Elaboration_Policy):
1304	New procedure.	(Check_Configuration_Consistency): Check partition
1305	elaboration policy consistency.
1306	* snames.ads-tmpl (Name_Partition_Elaboration_Policy): New name.
1307	(First_Partition_Elaboration_Policy_Name, Name_Concurrent,
1308	Name_Sequential, Last_Partition_Elaboration_Policy_Name): Likewise.
1309	(Pragma_Partition_Elaboration_Policy): New literal.
1310	(Is_Partition_Elaboration_Policy_Name): New function.
1311
13122012-10-29  Ed Schonberg  <schonberg@adacore.com>
1313
1314	* sem_ch6.adb (Is_Public_Subprogram_For): Handle properly
1315	expression functions, which are rewritten as subprogram
1316	declarations, when generating invariants for its return value
1317	and in-out parameters.
1318
13192012-10-29  Arnaud Charlet  <charlet@adacore.com>
1320
1321	* warnsw.adb (Set_GNAT_Mode_Warnings): Unset
1322	Warn_On_Standard_Redefinition.
1323
13242012-10-29  Javier Miranda  <miranda@adacore.com>
1325
1326	* sem_ch3.adb (Derive_Progenitor_Subprograms): Complete documentation.
1327
13282012-10-29  Robert Dewar  <dewar@adacore.com>
1329
1330	* par-ch11.adb (Warn_If_Standard_Redefinition): Add calls.
1331	* par-ch3.adb (P_Defining_Identifier): Call
1332	Warn_If_Standard_Redefinition if not inside record definition.
1333	* par-ch6.adb (Warn_If_Standard_Redefinition): Add calls.
1334	* par-util.adb (Warn_If_Standard_Redefinition): New procedure.
1335	* par.adb (Inside_Record_Definition): New flag.
1336	(Warn_If_Standard_Redefinition): New procedure.
1337	* sinfo-cn.adb (Change_Identifier_To_Defining_Identifier): Remove
1338	handling of warning for redefining standard name (moved to Par*).
1339
13402012-10-29  Javier Miranda  <miranda@adacore.com>
1341
1342	* sem_ch3.adb (Derive_Progenitor_Subprograms): Disable small
1343	optimization in generic formal types.
1344
13452012-10-29  Robert Dewar  <dewar@adacore.com>
1346
1347	* exp_ch9.adb, exp_ch3.adb: Add comments.
1348	* sem_prag.adb: Minor reformatting.
1349
13502012-10-29  Tristan Gingold  <gingold@adacore.com>
1351
1352	* bindgen.adb (Gen_Output_File_Ada): Do not emit declaration for
1353	Is_Elaborated if not referenced.
1354
13552012-10-29  Tristan Gingold  <gingold@adacore.com>
1356
1357	* exp_ch9.adb (Build_Activation_Chain_Entity): Punt in restricted
1358	profile.
1359	* exp_ch3.adb (Build_Initialization_Call): Do no append _Chain
1360	parameter in restricted profile.
1361	(Build_Init_Call_Thru): Likewise.
1362	(Init_Formals): Likewise.
1363	* exp_ch3.adb: Minor reformatting.
1364
13652012-10-29  Arnaud Charlet  <charlet@adacore.com>
1366
1367	* usage.adb: Update usage line for -gnatw.k.
1368
13692012-10-29  Yannick Moy  <moy@adacore.com>
1370
1371	* sem_prag.adb: Code clean up.
1372
13732012-10-29  Vincent Celier  <celier@adacore.com>
1374
1375	* projects.texi: Clarify documentation of attribute
1376	Ignore_Source_Sub_Dirs.
1377
13782012-10-29  Robert Dewar  <dewar@adacore.com>
1379
1380	* g-sechas.adb, g-sechas.ads, exp_ch9.adb, bindgen.adb, exp_dbug.adb,
1381	exp_dbug.ads: Minor reformatting.
1382
13832012-10-29  Pascal Obry  <obry@adacore.com>
1384
1385	* g-sechas.adb, g-sechas.ads: (Binary_Message_Digest): New subtype.
1386	(Digest): New versions returning a Binary_Message_Digest.
1387	(Wide_Digest): Likewise.
1388
13892012-10-29  Robert Dewar  <dewar@adacore.com>
1390
1391	* warnsw.adb: Complete previous change.
1392
13932012-10-29  Tristan Gingold  <gingold@adacore.com>
1394
1395	* bindgen.adb (Check_File_In_Partition, Check_System_Restrictions_Used):
1396	Removed.
1397	(Check_Dispatching_Domains_Used): Removed.
1398	(Gen_Adafinal): Remove call to above procedures.
1399	(Resolve_Binder_Options): Handle system restrictions and dispatching
1400	domains.
1401
14022012-10-29  Tristan Gingold  <gingold@adacore.com>
1403
1404	* s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Remove
1405	Chain parameter.
1406	* exp_ch9.adb (Make_Task_Create_Call): Do not add Chain parameter
1407	on restricted runtime.
1408
14092012-10-29  Pascal Obry  <obry@adacore.com>
1410
1411	* g-sechas.adb, g-sechas.ads: Minor code clean-up.
1412
14132012-10-29  Ed Schonberg  <schonberg@adacore.com>
1414
1415	* sem_aux.adb (Get_Rep_Item): Treat Priority and Interrupt_Priority
1416	as equivalent, because only one of them can be specified for a
1417	task, protected definition, or subprogram body.
1418	* aspects.adb ((Same_Aspect): The canonical aspect of
1419	Interrupt_Priority is Priority.
1420
14212012-10-29  Robert Dewar  <dewar@adacore.com>
1422
1423	* sem_ch13.adb: Minor reformatting.
1424
14252012-10-29  Robert Dewar  <dewar@adacore.com>
1426
1427	* i-cstrea.ads: Avoid redefinition of standard symbol string.
1428	* prj-makr.adb: Add comment for OK redefinition of Stadard.
1429	* prj.ads: Add comment for OK redefinition of Stadard.
1430	* s-crtl.ads: Avoid redefinition of standard symbol string.
1431	* sinfo-cn.adb (Change_Identifier_To_Defining_Identifier):
1432	Generate warning for standard redefinition if
1433	Warn_On_Standard_Definition set.
1434	* usage.adb: Add lines for -gnatw.k and -gnatw.K
1435	* warnsw.adb: Set/reset Warn_On_Standard_Redefinition
1436	appropriately.
1437	* warnsw.ads (Warn_On_Standard_Redefinition): New flag.
1438	* s-stratt-xdr.adb: Avoid new warning.
1439
14402012-10-29  Ed Schonberg  <schonberg@adacore.com>
1441
1442	* exp_dbug.ads, exp_dbug.adb (Build_Subprogram_Instance_Renamings):
1443	in the body of a subpogram instance, introduce local renamings
1444	for actuals of an elementary type, so that GDB can recover the
1445	values of these actuals more directly.
1446
14472012-10-29  Robert Dewar  <dewar@adacore.com>
1448
1449	* sem_ch5.adb (Analyze_Loop_Statement): Add warning for identical
1450	inner/outer ranges.
1451
14522012-10-29  Robert Dewar  <dewar@adacore.com>
1453
1454	* einfo.ads: Change terminology "present" to "defined" in talking
1455	about whether a given field is defined for a given entity kind.
1456
14572012-10-29  Bob Duff  <duff@adacore.com>
1458
1459	* atree.ads: Minor comment fix.
1460
14612012-10-29  Bob Duff  <duff@adacore.com>
1462
1463	* sem_ch13.adb (Replace_Type_Reference): Set_Comes_From_Source.
1464	Otherwise, the node is ignored by ASIS.
1465	* sem_ch5.adb: Minor reformatting.
1466
14672012-10-29  Thomas Quinot  <quinot@adacore.com>
1468
1469	* exp_attr.adb, exp_dist.adb, exp_dist.ads (Build_To_Any_Call): Pass
1470	an explicit Loc parameter to set the source location of generated
1471	nodes.
1472
14732012-10-29  Tristan Gingold  <gingold@adacore.com>
1474
1475	* exp_ch9.adb (Build_Task_Activation_Call): Do nothing on
1476	restricted profile.
1477	* bindgen.adb (System_Tasking_Restricted_Stages_Used): New variable.
1478	(Gen_Adainit): Declare and call Activate_Tasks when the above variable
1479	is set.
1480	(Resolve_Binder_Options): Set the variable.
1481	* rtsfind.ads (RE_Activate_Restricted_Tasks): Removed (now unused).
1482	* s-tarest.adb (Tasks_Activation_Chain): New variable.
1483	(Activate_Restricted_Tasks): Removed, and replaced by ...
1484	(Activate_Tasks): New procedure, to activate all tasks at
1485	the end of elaboration.
1486	(Create_Restricted_Tasks): Chain parameter is now unreferenced.	Put
1487	the created task on the Tasks_Activation_Chain list.
1488	* s-tarest.ads (Activate_Restricted_Tasks): Removed.
1489	(Activate_Tasks): Added.
1490
14912012-10-29  Gary Dismukes  <dismukes@adacore.com>
1492
1493	* sem_res.adb (Resolve_If_Expression): Compare subtype of the 'then'
1494	expression against the subtype of the expression rather than comparing
1495	base types, same as is already done for the 'else' expression.
1496
14972012-10-29  Steve Baird  <baird@adacore.com>
1498
1499	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): If CodePeer_Mode
1500	= True and we detect that an Address specification is used to overlay
1501	another object, do not set that object's Treat_As_Volatile flag.
1502
15032012-10-29  Ed Schonberg  <schonberg@adacore.com>
1504
1505	* sem_ch3.adb (Constant_Redeclaration): If the type of a
1506	deferred constant has invariants, generate invariant call on
1507	the initial value.
1508
15092012-10-29  Bob Duff  <duff@adacore.com>
1510
1511	* sem_ch13.adb (Replace_Type_Reference): Use correct sloc for
1512	the new node.
1513
15142012-10-29  Thomas Quinot  <quinot@adacore.com>
1515
1516	* sem_elab.adb: Minor reformatting and code reorganization.
1517
15182012-10-29  Robert Dewar  <dewar@adacore.com>
1519
1520	* par-ch4.adb (P_Primary): Warn on bad use of unary minus.
1521
15222012-10-29  Robert Dewar  <dewar@adacore.com>
1523
1524	* s-valuti.ads, s-valuti.adb (Bad_Value): New procedure.
1525	* s-valllu.adb, s-valwch.adb, s-valcha.adb, s-valint.adb,
1526	s-valuns.adb, s-valrea.adb, s-valboo.adb, s-valenu.adb,
1527	s-vallli.adb: Use Bad_Value everywhere.
1528
15292012-10-29  Yannick Moy  <moy@adacore.com>
1530
1531	* gnat1drv.adb (Adjust_Global_Switches): Do not suppress checks
1532	in Alfa mode.
1533
15342012-10-29  Yannick Moy  <moy@adacore.com>
1535
1536	* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
1537	Add special case for case expression alternative.
1538	(Is_Signed_Integer_Arithmetic_Op): Remove special case for case
1539	expression alternative.
1540	* exp_ch4.adb Minor reformatting.
1541
15422012-10-29  Thomas Quinot  <quinot@adacore.com>
1543
1544	* sem_elab.adb: Minor reformatting.
1545
15462012-10-29  Bob Duff  <duff@adacore.com>
1547
1548	* sem_res.adb: Minor: Remove redundant test.
1549
15502012-10-29  Arnaud Charlet  <charlet@adacore.com>
1551
1552	* pprint.ads, pprint.adb, adabkend.ads, adabkend.adb,
1553	aa_util.ads, aa_util.adb: New.
1554
15552012-10-23  Eric Botcazou  <ebotcazou@adacore.com>
1556
1557	* system-linux-mipsel.ads (Stack_Check_Probes): Set to True.
1558	* system-linux-mips.ads (Stack_Check_Probes): Likewise.
1559	* system-linux-mips64el.ads (Stack_Check_Probes): Likewise.
1560
15612012-10-22  Eric Botcazou  <ebotcazou@adacore.com>
1562
1563	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Force
1564	BLKmode on the type if it is passed by reference.
1565	<E_Array_Subtype>: Likewise.
1566	<E_Record_Type>: Guard the call to Is_By_Reference_Type predicate.
1567	<E_Record_Subtype>: Likewise.
1568
1569	* gcc-interface/Makefile.in: Remove outdated comment and reference to
1570	non-existing file.
1571
15722012-10-22  Eric Botcazou  <ebotcazou@adacore.com>
1573
1574	* gcc-interface/utils.c (rest_of_record_type_compilation): Simplify and
1575	robustify pattern machine code for masking operations.
1576
15772012-10-22  Eric Botcazou  <ebotcazou@adacore.com>
1578
1579	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: In
1580	type annotation mode, break circularities introduced by AI05-0151.
1581
15822012-10-22  Eric Botcazou  <ebotcazou@adacore.com>
1583
1584	* gcc-interface/trans.c (Loop_Statement_to_gnu): Use gnat_type_for_size
1585	directly to obtain an unsigned version of the base type.
1586
15872012-10-22  Eric Botcazou  <ebotcazou@adacore.com>
1588
1589	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: Do not
1590	generate the special PARM_DECL for an Out parameter in LTO mode.
1591
15922012-10-22  Eric Botcazou  <ebotcazou@adacore.com>
1593
1594	PR bootstrap/54820
1595	* gcc-interface/Make-lang.in (GCC_LINK): Remove hardcoded options.
1596
15972012-10-15  Matthias Klose  <doko@ubuntu.com>
1598
1599	* gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
1600	ARM Linux/GNU.
1601
16022012-10-05  Robert Dewar  <dewar@adacore.com>
1603
1604	* sem_ch7.adb: Minor reformatting.
1605
16062012-10-05  Ed Schonberg  <schonberg@adacore.com>
1607
1608	* sem_prag.adb (Analyze_Pragma, case Persistent_BSS): check for
1609	a duplicate pragma before Rep_Item_Too_Late to prevent spurious
1610	messages about duplicate pragmas.
1611
16122012-10-05  Ed Schonberg  <schonberg@adacore.com>
1613
1614	* exp_util.adb (Find_Init_Call): If the successor of the
1615	object declaration is a block, check whether it contains the
1616	initialization call, because it may have been created by actuals
1617	that use the secondary stack.
1618
16192012-10-05  Thomas Quinot  <quinot@adacore.com>
1620
1621	* sem_dim.adb, errout.adb, errout.ads (Analyze_Dimension_Call): Add
1622	guard against abnormal tree resulting from a previously diagnosed
1623	illegality.
1624
16252012-10-05  Hristian Kirtchev  <kirtchev@adacore.com>
1626
1627	* freeze.adb (Freeze_Expression): Rename local variable Cspc to Spec
1628	and update all refs to it. Do not freeze an entity outside a subprogram
1629	body when the original context is an expression function.
1630
16312012-10-05  Robert Dewar  <dewar@adacore.com>
1632
1633	* gnat1drv.adb (Adjust_Global_Switches): Default for overflow checking
1634	is suppressed, even if backend overflow/divide checks are enabled.
1635
16362012-10-05  Ed Schonberg  <schonberg@adacore.com>
1637
1638	* einfo.adb (Set_Invariant_Procedure, Set_Predicate_Function):
1639	chain properly subprograms on Subprograms_For_Type list.
1640	* sem_ch13.ads; (Build_Invariant_Procedure_Declaration): new
1641	procedure, to create declaration for invariant procedure
1642	independently of the construction of the body, so that it can
1643	be called within expression functions.
1644	* sem_ch13.adb (Build_Invariant_Procedure): code cleanup. The
1645	declaration may already have been generated at the point an
1646	explicit invariant aspect is encountered.
1647	* sem_prag.adb; (Analyze_Pragma, case Invariant): create declaration
1648	for invariant procedure.
1649	* sem_ch7.adb (Analyze_Package_Specification): clean up call to
1650	build invariant procedure.
1651	(Preserve_Full_Attributes): propagate information about invariants
1652	if they appear on a completion,
1653
16542012-10-05  Pascal Obry  <obry@adacore.com>
1655
1656	* gnat_ugn.texi: Update documentation to lift Microsoft C
1657	restriction.
1658
16592012-10-05  Robert Dewar  <dewar@adacore.com>
1660
1661	* sem_util.adb (Has_One_Matching_Field): Handle case of lone
1662	discriminant.
1663
16642012-10-05  Yannick Moy  <moy@adacore.com>
1665
1666	* checks.adb (Minimize_Eliminate_Overflow_Checks): Correct code
1667	for the division operation and exponent operation. Adjust bound
1668	for the mod and rem operations.
1669
16702012-10-05  Robert Dewar  <dewar@adacore.com>
1671
1672	* checks.adb, checks.ads, s-tassta.adb, s-stposu.adb, s-spsufi.adb,
1673	s-spsufi.ads, exp_ch4.adb: Minor reformatting.
1674
16752012-10-05  Yannick Moy  <moy@adacore.com>
1676
1677	* switch-c.adb, checks.adb, checks.ads, sem_prag.adb, exp_ch4.adb,
1678	osint.adb: Minor correction of typos, and special case for Alfa mode.
1679
16802012-10-05  Hristian Kirtchev  <kirtchev@adacore.com>
1681
1682	* s-spsufi.adb: Add with clause for Ada.Unchecked_Deallocation.
1683	Add with and use clauses for System.Finalization_Masters.
1684	(Finalize_And_Deallocate): Add an instance of
1685	Ada.Unchecked_Deallocation. Merge the code from the now obsolete
1686	Finalize_Subpool into this routine.
1687	* s-spsufi.ads: Add pragma Preelaborate.
1688	* s-stposu.adb: Remove with clause for
1689	Ada.Unchecked_Deallocation; Add with and use clauses for
1690	System.Storage_Pools.Subpools.Finalization; (Finalize_Pool):
1691	Update the comment on all actions takes with respect to a subpool
1692	finalization. Finalize and deallocate each individual subpool.
1693	(Finalize_Subpool): Removed.
1694	(Free): Removed;
1695	(Detach): Move from package body to spec.
1696	* s-stposu.ads (Detach): Move from package body to spec.
1697	(Finalize_Subpool): Removed.
1698
16992012-10-05  Arnaud Charlet  <charlet@adacore.com>
1700
1701	* s-tassta.adb: Update comments.
1702	(Vulnerable_Complete_Master): If Free_On_Termination is set, do
1703	nothing, and let the task free itself if not already done.
1704
17052012-10-04  Robert Dewar  <dewar@adacore.com>
1706
1707	* sem_res.adb (Resolve_Set_Membership): Warn on duplicates.
1708
17092012-10-04  Emmanuel Briot  <briot@adacore.com>
1710
1711	* g-comlin.adb (Getopt): Fix value of Full_Switch returned in case of
1712	invalid switch.
1713
17142012-10-04  Arnaud Charlet  <charlet@adacore.com>
1715
1716	* gcc-interface/Make-lang.in: Update dependencies.
1717
17182012-10-04  Robert Dewar  <dewar@adacore.com>
1719
1720	* sem_eval.adb (Fold_Str, Fold_Uint, Fold_Ureal): Reset static
1721	expression state after Resolve call.
1722
17232012-10-04  Robert Dewar  <dewar@adacore.com>
1724
1725	* sem_prag.adb (Analyze_Pragma. case Warnngs): Don't make entry
1726	in the table for Warnings Off pragmas if within an instance.
1727
17282012-10-04  Ed Schonberg  <schonberg@adacore.com>
1729
1730	* sem_ch9.adb (Analyze_Entry_Body): Transfer
1731	Has_Pragma_Unreferenced flag from entry formal to corresponding
1732	entity in body, to prevent spurious warnings when pragma is
1733	present.
1734
17352012-10-04  Robert Dewar  <dewar@adacore.com>
1736
1737	* s-bignum.adb (Big_Exp): Raise Storage_Error for ludicrously
1738	large results.
1739
17402012-10-04  Ed Schonberg  <schonberg@adacore.com>
1741
1742	* sem_ch3.adb (Check_Duplicate_Aspects): Diagnose properly
1743	aspects that appear in the partial and the full view of a type.
1744
17452012-10-04  Robert Dewar  <dewar@adacore.com>
1746
1747	* sinfo.ads (N_Return_Statement): Removed.
1748
17492012-10-04  Tristan Gingold  <gingold@adacore.com>
1750
1751	* init.c (__gl_zero_cost_exceptions): Comment it as not used
1752	anymore.
1753	* bindgen.adb (Gen_Adainit): Do not emit Zero_Cost_Exceptions
1754	anymore.
1755
17562012-10-04  Thomas Quinot  <quinot@adacore.com>
1757
1758	* prep.adb, prepcomp.adb, gprep.adb, opt.ads: New preprocessor switch
1759	-a (all source text preserved).
1760
17612012-10-04  Vincent Celier  <celier@adacore.com>
1762
1763	* prj-proc.adb (Recursive_Process): Use project directory
1764	display path name as the value of 'Project_Dir.
1765
17662012-10-04  Robert Dewar  <dewar@adacore.com>
1767
1768	* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
1769	Deal with case where we get a bignum operand and cannot do a
1770	range analysis.
1771	* sem_eval.adb (Why_Not_Static): Deal with bignum operands
1772
17732012-10-04  Ed Schonberg  <schonberg@adacore.com>
1774
1775	* sem_ch4.adb (Find_Unary_Types): Within an instance, an
1776	interpretation that involves a predefied arithmetic operator is
1777	not a candidate if the corresponding generic formal type is not
1778	a numeric type.
1779	* sem_util.ads, sem_util.adb (Corresonding_Generic_Type): If a
1780	type is a generic actual type within an instance, return the
1781	corresponding formal in the generic unit, otherwise return
1782	Any_Type.
1783
17842012-10-04  Robert Dewar  <dewar@adacore.com>
1785
1786	* checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze
1787	if/case expression if nothing has changed (just reexpand). Stops
1788	case expression from generating incorrect temporary.
1789	* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
1790	Fix cut and paste typo for range analysis in NE (not equal) case.
1791	* sem_eval.adb (Compile_Time_Compare): Small optimization to
1792	catch some more cases.
1793	* types.ads (Suppressed_Or_Checked): New subtype of
1794	Overflow_Check_Type.
1795
17962012-10-04  Javier Miranda  <miranda@adacore.com>
1797
1798	* exp_disp.adb (Set_CPP_Constructors_Old): Removed.
1799	(Set_CPP_Constructors): Code cleanup.
1800
18012012-10-04  Ed Schonberg  <schonberg@adacore.com>
1802
1803	* sem_ch10.adb (Is_Ancestor_Unit): Make global, for use elsewhere.
1804	(Install_Private_with_Clauses): if clause is private and limited,
1805	do not install the limited view if the library unit is an ancestor
1806	of the unit being compiled.  This unusual configuration occurs
1807	when compiling a unit DDP, when an ancestor P of DDP has a
1808	private limited with clause on a descendant of P that is itself
1809	an ancestor of DDP.
1810
18112012-10-04  Vincent Celier  <celier@adacore.com>
1812
1813	* prj-proc.adb (Process_Package_Declaration): Use project
1814	directory display path name as the value of 'Project_Dir.
1815
18162012-10-04  Gary Dismukes  <dismukes@adacore.com>
1817
1818	* exp_util.adb (Build_Allocate_Deallocate_Proc): The subpool can be
1819	given by an arbitrary name, so copy the tree to make the call's actual.
1820
18212012-10-04  Robert Dewar  <dewar@adacore.com>
1822
1823	* s-exnllf.adb, s-exnllf.ads: Minor reformatting.
1824
18252012-10-04  Thomas Quinot  <quinot@adacore.com>
1826
1827	* exp_ch6.adb: Minor reformatting.
1828
18292012-10-04  Pascal Obry  <obry@adacore.com>
1830
1831	* projects.texi: Use consistently @command{} when referencing
1832	commands. Fix typos.
1833
18342012-10-03  Ed Schonberg  <schonberg@adacore.com>
1835
1836	* sem_ch6.adb (New_Overloaded_Entity): call
1837	Append_Inherited_Subprogram when appropriate.
1838	* sem_dim.adb (Analyze_Dimension_Call): Do not perform dimensional
1839	analysis if call has previous semantic error.
1840	* sem_util.ads, sem_util.adb (Append_Inherited_Subprogram):
1841	new subprogram to handle properly the visibility of inherited
1842	operations that are primitives of a type extension, when the
1843	parent type and operations are declared in the same visible part.
1844
18452012-10-03  Robert Dewar  <dewar@adacore.com>
1846
1847	* checks.adb (Minimize_Eliminate_Overflow_Checks): Properly
1848	handle case of top level expression within type conversion
1849	* gnat1drv.adb (Adjust_Global_Switches): Set SUPPRESSED as
1850	default for overflow checking for -gnatg mode (includes run-time).
1851	* sem_res.adb (Resolve_Type_Conversion): Avoid bogus warnings
1852	about redundant conversions from MINIMIZED/EXTENDED mode checking
1853
18542012-10-03  Javier Miranda  <miranda@adacore.com>
1855
1856	* exp_ch4.adb (Expand_N_Allocator_Expression): Minor code
1857	reorganization and cleanup. Done to ensure proper management of
1858	the C++ constructor covering tagged and untagged types and also
1859	non-default constructors.
1860	* exp_ch6.ads, exp_ch6.adb (Make_CPP_Constructor_Call_In_Allocator):
1861	New subprogram.
1862
18632012-10-03  Gary Dismukes  <dismukes@adacore.com>
1864
1865	* sem_ch6.adb: Minor typo fix.
1866
18672012-10-03  Robert Dewar  <dewar@adacore.com>
1868
1869	* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
1870	Set Top_Level properly (to False) for operand of range of
1871	membership test.
1872	* exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
1873	Fix crash with -gnato3 and membership operations.
1874	(Expand_Membership_Minimize_Eliminate_Overflow): Fix error message
1875	and wrong results for -gnato3 large expression and predicated
1876	subtype.
1877	(Expand_Membership_Minimize_Eliminate_Overflow): Use
1878	expression action node to avoid using insert actions (bombs in
1879	some cases).
1880	(Expand_Compare_Minimize_Eliminate_Overflow): Use expression action
1881	node to avoid using insert actions (bombs in some cases).
1882
18832012-10-03  Javier Miranda  <miranda@adacore.com>
1884
1885	* exp_disp.adb (Set_CPP_Constructors_Old): Handle constructor of
1886	untagged type that has all its parameters with defaults and hence it
1887	covers the default constructor.
1888
18892012-10-03  Yannick Moy  <moy@adacore.com>
1890
1891	* checks.adb, sem_prag.adb, s-bignum.ads: Minor typo fixes.
1892
18932012-10-03  Thomas Quinot  <quinot@adacore.com>
1894
1895	* g-socket.adb (Connect_Socket, version with timeout): When the
1896	newly-connected socket is reported as available for writing, check
1897	whether it has a pending asynchronous error prior to returning.
1898
18992012-10-03  Ed Schonberg  <schonberg@adacore.com>
1900
1901	* sem_ch6.adb (Check_Conformance): Additional info when subtype
1902	conformance fails, due to a missing null exclusion indicatar in
1903	a formal that must match a controlling access formal.
1904
19052012-10-02  Ben Brosgol  <brosgol@adacore.com>
1906
1907	* gnat_rm.texi: Minor editing.
1908
19092012-10-02  Ed Schonberg  <schonberg@adacore.com>
1910
1911	* sem_ch6.adb (Analyze_Function_Return): Reject a return
1912	expression whose type is a local access to subprogram type.
1913
19142012-10-02  Robert Dewar  <dewar@adacore.com>
1915
1916	* sem_eval.adb: Minor improvement to Compile_Time_Compare.
1917
19182012-10-02  Robert Dewar  <dewar@adacore.com>
1919
1920	* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
1921	Fix base type problem that resulted in improper conversion.
1922	(Minimize_Eliminate_Overflow_Checks): Properly handle top
1923	level case to avoid unnecessary conversion to bignum or LLI.
1924	(Minimize_Eliminate_Overflow_Checks): Implement uniform two phase
1925	approach for arithmetic operators and for if/case expressions.
1926	* checks.ads: Minor comment fix.
1927	* exp_ch4.adb (Minimized_Eliminated_Overflow_Check): New function,
1928	implements a uniform way of treating minimized/eliminated checks in
1929	two phases.
1930	(Expand_Compare_Minimize_Eliminate_Overflow): Fix cut and
1931	paste error resulting in wrong results for less than in some
1932	cases.	(Expand_Membership_Minimize_Eliminate_Overflow):
1933	Fix error caused by incorrect capture of operand types.
1934	(Expand_Membership_Minimize_Eliminate_Overflow): Fix error in
1935	handling of bignum case.
1936	(Expand_N_Case_Expression): Implement
1937	proper two phase handling (Expand_N_If_Expression): Implement
1938	proper two phase handling (Expand_N_Op_Abs): Implement proper
1939	two phase handling ditto for all other arithmetic operators
1940	* sem_res.adb (Resolve_If_Expression): Avoid introducing
1941	unneeded conversions.
1942
19432012-10-02  Robert Dewar  <dewar@adacore.com>
1944
1945	* s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.
1946	(Big_Exp): Fix possible error for (-1)**0.
1947	(Big_Exp): Fix error in computing 2**K for small K.
1948	(Big_Mod): Fix wrong sign for negative operands.
1949	(Div_Rem): Fix bad results for operands close to 2**63.
1950	* s-bignum.ads: Add documentation and an assertion to require
1951	LLI size to be 64 bits.
1952	* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Do not
1953	allow ELIMINATED if LLI'Size is other than 64 bits.
1954	* switch-c.adb (Scan_Switches): Do not allow -gnato3 if LLI'Size
1955	is not 64 bits.
1956	* switch.ads (Bad_Switch): Add missing pragma No_Return.
1957	* gnat_ugn.texi: Added appendix on Overflow Check Handling in GNAT.
1958
19592012-10-02  Robert Dewar  <dewar@adacore.com>
1960
1961	* sem_type.adb: Minor reformatting.
1962
19632012-10-02  Robert Dewar  <dewar@adacore.com>
1964
1965	* sem_ch8.adb: Minor reformatting.
1966
19672012-10-02  Javier Miranda  <miranda@adacore.com>
1968
1969	* exp_disp.adb (Set_CPP_Constructors): Handle constructor with default
1970	parameters that covers the default constructor.
1971
19722012-10-02  Yannick Moy  <moy@adacore.com>
1973
1974	* s-bignum.adb: Minor stylistic and comment corrections.
1975
19762012-10-02  Pascal Obry  <obry@adacore.com>
1977
1978	* prj-util.adb (For_Interface_Sources): Iterate over all sources in
1979	aggregate library projects.
1980
19812012-10-02  Ed Schonberg  <schonberg@adacore.com>
1982
1983	* sem_ch8.adb (Find_Direct_Name): The left-hand side of an
1984	assignment may designate a generalized reference.
1985
19862012-10-02  Eric Botcazou  <ebotcazou@adacore.com>
1987
1988	* types.h (N_Return_Statement): Delete.
1989	* gcc-interface/trans.c (gnat_to_gnu): Replace N_Return_Statement with
1990	N_Simple_Return_Statement.
1991
19922012-10-02  Ed Schonberg  <schonberg@adacore.com>
1993
1994	* freeze.adb (Freeze_Entity): in a generic context, aspects must
1995	be analyzed because they may be queried subsequently within the
1996	generic unit, even if no other freezing actions are generated
1997	for an entity.
1998	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): iterator
1999	aspects must be analyzed because they are delayed aspects and
2000	the corresponding attribute definition clause may not have been
2001	analyzed yet.
2002
20032012-10-02  Yannick Moy  <moy@adacore.com>
2004
2005	* gnat_rm.texi: Minor editing.
2006
20072012-10-02  Robert Dewar  <dewar@adacore.com>
2008
2009	* sinfo.adb, sinfo.ads, sem_util.adb, sem_util.ads, types.h,
2010	exp_ch4.adb, exp_ch6.adb: Get rid of internal use of N_Return_Statement.
2011
20122012-10-02  Eric Botcazou  <ebotcazou@adacore.com>
2013
2014	* types.h: Minor cosmetic fix.
2015
20162012-10-02  Eric Botcazou  <ebotcazou@adacore.com>
2017
2018	* gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
2019	bounds of loop iteraration scheme only for locally defined subtypes.
2020
2021	* gcc-interface/trans.c (gigi): Fix formatting.
2022	(build_return_expr): Apply the NRV optimization only for BLKmode.
2023
20242012-10-02  Robert Dewar  <dewar@adacore.com>
2025
2026	* sinfo.ads: Remove refs of N_Conditional_Expression and
2027	N_Parameterized_Expression.
2028
20292012-10-02  Thomas Quinot  <quinot@adacore.com>
2030
2031	* exp_aggr.adb (Get_Component_Val): Rewrite code that computes
2032	justification of bits in enclosing word in an attempt to make
2033	it clearer.
2034
20352012-10-02  Robert Dewar  <dewar@adacore.com>
2036
2037	* par_sco.adb, sem_ch3.adb, layout.adb, exp_ch7.adb, exp_imgv.adb,
2038	exp_util.adb, exp_util.ads, exp_attr.adb, sinfo.adb, sinfo.ads,
2039	exp_ch9.adb, style.ads, scos.ads, debug.adb, einfo.ads, scng.adb,
2040	checks.adb, checks.ads, sem.adb, par-ch4.adb, sem_util.adb, types.h,
2041	sem_res.adb, expander.adb, scans.ads, par.adb, exp_ch2.adb,
2042	gnat1drv.adb, stylesw.ads, sem_elab.adb, exp_ch4.adb, exp_ch4.ads,
2043	exp_ch6.adb, sem_ch4.adb, sem_ch4.ads, sem_ch6.adb,
2044	opt.ads, sem_eval.adb, sem_eval.ads, exp_intr.adb, sprint.adb,
2045	sprint.ads, styleg.ads: Change name Conditional_Expression to
2046	If_Expression.
2047	* gcc-interface/trans.c (gnat_to_gnu): Replace
2048	N_Conditional_Expression by N_If_Expression.
2049	* gcc-interface/Make-lang.in: Update dependencies.
2050
20512012-10-02  Robert Dewar  <dewar@adacore.com>
2052
2053	* exp_ch4.adb (Expand_N_Op_Expon): Use expression with actions
2054	for x ** 4.
2055
20562012-10-02  Ed Schonberg  <schonberg@adacore.com>
2057
2058	* sem_ch5.adb: (Analyze_Iterator_Specification): If container
2059	has a variable indexing aspect, the element is a variable and
2060	is modifiable in the loop. This check is also performed when the
2061	loop is expanded, but it must be done in semantic analysis when
2062	expansion is disabled, for example for ASIS usage.
2063
20642012-10-02  Ed Schonberg  <schonberg@adacore.com>
2065
2066	* lib-xref.adb (Generate_Reference): If a child subprogram
2067	has no previous spec, treat a reference to its formals (such
2068	as a parameter association) as coming from source in order to
2069	generate the proper references and enable gps navigation between
2070	reference and declaration.
2071
20722012-10-02  Robert Dewar  <dewar@adacore.com>
2073
2074	* checks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed):
2075	New name for Apply_Arithmetic_Overflow_Normal
2076	(Apply_Arithmetic_Overflow_Minimized_Eliminated):
2077	Add handling for conditional expressions
2078	(Is_Signed_Integer_Arithmetic_Op): Now includes conditional
2079	expressions (Minimize_Eliminate_Overflow_Checks): Handle
2080	conditional expressions.
2081	* checks.ads: Minor comment fixes.
2082	* exp_ch4.adb (Expand_N_Case_Expression): Call
2083	Apply_Arithmetic_Overflow_Check (Expand_N_Conditional_Expression):
2084	Call Apply_Arithmetic_Overflow_Check
2085	* s-bignum.adb (Normalize): Remove incorrect precondition.
2086	* sem_res.adb (Resolve_Case_Expression): Set Do_Overflow_Check
2087	flag (Resolve_Conditional_Expression): Set Do_Overflow_Check flag.
2088	* sinfo.adb: Add Do_Overflow_Check for conditional expressions.
2089	* sinfo.ads: Minor documentation updates.
2090
20912012-10-02  Ed Schonberg  <schonberg@adacore.com>
2092
2093	* exp_ch4.adb (Expand_N_Case_Expression): Do not introduce
2094	indirections when the type of the alternatives is an access type:
2095	more efficient, and removes anomalies when an alternative is
2096	statically null.
2097
20982012-10-02  Robert Dewar  <dewar@adacore.com>
2099
2100	* aspects.ads: Minor comment addition (Invariant is a GNAT aspect).
2101
21022012-10-02  Robert Dewar  <dewar@adacore.com>
2103
2104	* exp_ch7.adb, sem_dim.adb, sem_dim.ads, prj-part.adb, checks.adb,
2105	freeze.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting.
2106
21072012-10-02  Robert Dewar  <dewar@adacore.com>
2108
2109	* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Fix
2110	typo preventing proper processing of Overflow_Checks pragmas
2111	for general case.
2112
21132012-10-02  Robert Dewar  <dewar@adacore.com>
2114
2115	* exp_ch4.adb (Expand_N_Op_Mod): Fix crash in ELIMINATED overflow
2116	checks mode when bignum mode is used.
2117
21182012-10-02  Robert Dewar  <dewar@adacore.com>
2119
2120	* stylesw.ads, gnat_ugn.texi: Document new style rule for NOT IN.
2121	* par-ch4.adb (P_Relational_Operator): Add style check for NOT IN.
2122	* style.ads, styleg.adb, styleg.ads (Check_Not_In): New procedure.
2123
21242012-10-02  Vincent Pucci  <pucci@adacore.com>
2125
2126	* sem_attr.adb (Analyze_Attribute): Check dimension for attribute
2127	Old before it gets expanded.
2128	* sem_dim.adb (Analyze_Dimension_Has_Etype): Correctly propagate
2129	dimensions for identifier.
2130
21312012-10-02  Ed Schonberg  <schonberg@adacore.com>
2132
2133	* exp_ch5.adb (Expand_Iterator_Loop): Handle properly the case
2134	where the iterator type is derived locally from an instantiation
2135	of Ada.Iterators_Interface.
2136	* exp_ch7.adb (Establish_Transient_Scope): Do not create a
2137	transient scope if within the expansion of an iterator loop,
2138	because a transient block already exists.
2139
21402012-10-02  Vincent Celier  <celier@adacore.com>
2141
2142	* gnatcmd.adb: Use absolute path for configuration pragmas files
2143	* make.adb (Configuration_Pragmas_Switch.Absolute_Path): Moved
2144	to Makeutl.
2145	* makeutl.ads, makeutl.adb (Absolute_Path): New function, moved from
2146	make.adb.
2147
21482012-10-02  Vincent Celier  <celier@adacore.com>
2149
2150	* prj-part.adb (Post_Parse_Context_Clause): Resurrect Boolean
2151	parameter In_Limited.  Check for circularity also if In_Limited
2152	is True.
2153	(Parse_Single_Project): Call Post_Parse_Context_Clause with
2154	In_Limited parameter.
2155
21562012-10-02  Bob Duff  <duff@adacore.com>
2157
2158	* checks.adb (Apply_Predicate_Check): Disable check in -gnatc mode.
2159
21602012-10-02  Vincent Pucci  <pucci@adacore.com>
2161
2162	* sem_ch6.adb (Analyze_Function_Call): Dimension propagation
2163	for function calls moved to Analyze_Dimension_Call.
2164	* sem_dim.adb (Analyze_Dimension_Call): Properly propagate the
2165	dimensions from the returned type for function calls.
2166
21672012-10-02  Vincent Celier  <celier@adacore.com>
2168
2169	* gnatcmd.adb: Take into account any configuration pragma file
2170	in the project files for gnat pretty/stub/metric.
2171
21722012-10-02  Ed Schonberg  <schonberg@adacore.com>
2173
2174	* sem_ch13.adb (Check_Indexing_Functions): Refine several tests
2175	on the legality of indexing aspects: Constant_Indexing functions
2176	do not have to return a reference type, and given an indexing
2177	aspect Func, not all overloadings of Func in the current scope
2178	need to be indexing functions.
2179
21802012-10-02  Vasiliy Fofanov  <fofanov@adacore.com>
2181
2182	* gnat_ugn.texi: Adjust docs for overflow checks to be VMS-friendly.
2183
21842012-10-02  Vincent Celier  <celier@adacore.com>
2185
2186	* switch-m.adb (Normalize_Compiler_Switches): Recognize switches
2187	-gnatox and -gnatoxx when x=0/1/2/3.
2188
21892012-10-02  Vincent Pucci  <pucci@adacore.com>
2190
2191	* sem_ch4.adb (Analyze_Indexed_Component_Form): Dimension
2192	analysis for indexed components added.
2193	* sem_ch6.adb (Analyze_Function_Call): Dimension propagation
2194	for function calls added.
2195	* sem_dim.adb (Analyze_Dimension): Call to
2196	Analyze_Dimension_Has_Etype when N is a function call.
2197	(Analyze_Dimension_Call): Don't propagate anymore the dimensions
2198	for function calls since this is now treated separately in
2199	Analyze_Dimension_Has_Etype.
2200	(Analyze_Dimension_Has_Etype): For
2201	attribute references, propagate the dimensions from the prefix.
2202	* sem_dim.ads (Copy_Dimensions): Fix comment.
2203
22042012-10-02  Hristian Kirtchev  <kirtchev@adacore.com>
2205
2206	* checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
2207	(Apply_Parameter_Aliasing_And_Validity_Checks): This routine
2208	has been split into two.
2209	(Apply_Parameter_Validity_Checks): New routine.
2210	* exp_ch6.adb (Expand_Call): Add checks to verify that actuals
2211	do not overlap. The checks are made on the caller side to overcome
2212	issues of parameter passing mechanisms.
2213	* freeze.adb (Freeze_Entity): Update call to
2214	Apply_Parameter_Aliasing_And_Validity_Checks.
2215
22162012-10-02  Ed Schonberg  <schonberg@adacore.com>
2217
2218	* sem_ch4.adb (Is_Empty_Range): Use bounds of index type
2219	to determine whether an array is empty when optimizing
2220	a quantified expression over a null range. Use of RM_Size
2221	was incorrect. Analyze condition before constant-folding the
2222	expression to catch potential errors. Modify the error message
2223	to avoid mathematical terminology.
2224
22252012-10-02  Robert Dewar  <dewar@adacore.com>
2226
2227	* usage.adb, gnat_rm.texi, vms_data.ads: Add entry for
2228	/OVERFLOW_CHECKS=?? generating -gnato?? for control
2229	of extended overflow checking.
2230	* ug_words: Add entry for -gnato?? for /OVERFLOW_CHECKS=??
2231	* gnat_ugn.texi: Add documentation for -gnato?? for control of overflow
2232	checking mode.
2233
22342012-10-02  Ed Schonberg  <schonberg@adacore.com>
2235
2236	* sem_ch4.adb (Analyze_Quantified_Expression): If the iterator in
2237	a quantified expression is statically known to be null (e.g. a
2238	array with an empty index type) emit a warning.
2239
22402012-10-02  Robert Dewar  <dewar@adacore.com>
2241
2242	* sem_dim.adb: Minor code reorganization.
2243	* sem_dim.ads: Add comment.
2244
22452012-10-02  Robert Dewar  <dewar@adacore.com>
2246
2247	* checks.ads, exp_ch4.adb, checks.adb
2248	(Minimize_Eliminate_Overflow_Checks): Add Top_Level parameter to avoid
2249	unnecessary conversions to Bignum.
2250	Minor reformatting.
2251
22522012-10-02  Ed Schonberg  <schonberg@adacore.com>
2253
2254	* sem_ch6.adb (Process_PPCs): Generate invariant checks for a
2255	return value whose type is an access type and whose designated
2256	type has invariants. Ditto for in-out parameters and in-parameters
2257	of an access type.
2258	* exp_ch3.adb (Build_Component_Invariant_Call): Add invariant check
2259	for an access component whose designated type has invariants.
2260
22612012-10-01  Vincent Pucci  <pucci@adacore.com>
2262
2263	* sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.
2264	(Resolve_Record_Aggregate): New_Copy_Tree calls replaced by
2265	New_Copy_Tree_And_Copy_Dimensions calls. Move_Dimensions call
2266	replaced by Copy_Dimensions call.
2267	* sem_dim.adb (Analyze_Dimension_Component_Declaration): Don't
2268	remove the dimensions of expression in component declaration anymore.
2269	(Copy_Dimensions): New routine.
2270	(Move_Dimensions): Add call to Copy_Dimensions.
2271	* sem_dim.ads (Copy_Dimensions): New routine.
2272	(Move_Dimensions): Spec moved to body of Sem_Dim.
2273
22742012-10-01  Ed Schonberg  <schonberg@adacore.com>
2275
2276	* checks.adb (Apply_Predicate_Check): If the predicate is a
2277	static one and the operand is static, evaluate the predicate at
2278	compile time.
2279	* sem_eval.ads, sem_eval.adb (Eval_Static_Predicate_Check): new
2280	procedure, to evaluate a static predicate check whenever possible.
2281	* sem_res.adb (Resolve_Type_Conversion): Apply predicate check
2282	on the conversion if the target type has predicates.
2283
22842012-10-01  Vincent Pucci  <pucci@adacore.com>
2285
2286	* sem_dim.adb (Has_Symbols): Complain if parameter Symbol has been
2287	provided by the user in the dimension output call.
2288
22892012-10-01  Robert Dewar  <dewar@adacore.com>
2290
2291	* checks.adb (Apply_Divide_Checks): New name for
2292	Apply_Divide_Check (Minimize_Eliminate_Overflow_Checks):
2293	Add code to handle division (and rem and mod) properly.
2294	(Apply_Division_Check): New procedure (Apply_Divide_Checks):
2295	Use Apply_Division_Check (Apply_Divide_Checks): Use
2296	Apply_Arithmetic_Overflow_Minimized_Eliminated.
2297	* checks.ads (Apply_Divide_Checks): New name for
2298	Apply_Divide_Check, also add clearer documentation for this
2299	routine and put in alfa order.
2300	* exp_ch4.adb (Apply_Divide_Checks): New name for
2301	Apply_Divide_Check.
2302	* s-bignum.adb (To_Bignum): Handle largest negative integer
2303	properly.
2304	* sem.adb (Analyze): Handle overflow suppression correctly
2305	(Analyze_List): Handle overflow suppression correctly
2306	* sem_res.adb (Analyze_And_Resolve): Handle overflow suppression
2307	correctly.
2308
23092012-10-01  Vasiliy Fofanov  <fofanov@adacore.com>
2310
2311	* s-oscons-tmplt.c, g-socket.ads: Revert previous change, breaks VMS.
2312
23132012-10-01  Robert Dewar  <dewar@adacore.com>
2314
2315	* checks.adb (Minimize_Eliminate_Overflow_Checks): Changes
2316	for exponentiation.
2317	* exp_ch4.adb (Expand_N_Op_Expon): Changes for Minimize/Eliminate
2318	overflow checks.
2319	* s-bignum.adb (Compare): Fix bad precondition.
2320
23212012-10-01  Ed Schonberg  <schonberg@adacore.com>
2322
2323	* sem_ch3.adb (Build_Derived_Record_Type): If the derived
2324	type has new discriminantss that constrain inherited ones, use
2325	the discriminant type in the original declaration to check for
2326	conformance, because in the presence of array components with a
2327	smaller range that are constrained by the origina discriminant,
2328	the compiler will have created a narrower subtype for that
2329	discriminant.
2330
23312012-10-01  Robert Dewar  <dewar@adacore.com>
2332
2333	* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
2334	Handle case of appearing in range in membership test.
2335	* exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
2336	New procedure (Expand_N_In): Use
2337	Expand_Membership_Minimize_Eliminate_Overflow.
2338	* rtsfind.ads: Add RE_Bignum_In_LLI_Range.
2339	* s-bignum.ads, s-bignum.adb (Bignum_In_LLI_Range): New function.
2340	* sinfo.ads, sinfo.adb (No_Minimize_Eliminate): New flag.
2341
23422012-10-01  Robert Dewar  <dewar@adacore.com>
2343
2344	* uintp.ads: Minor reformatting.
2345
23462012-10-01  Ed Schonberg  <schonberg@adacore.com>
2347
2348	* checks.adb: Improve warning message.
2349
23502012-10-01  Robert Dewar  <dewar@adacore.com>
2351
2352	* checks.adb: Minor reformatting.
2353
23542012-10-01  Javier Miranda  <miranda@adacore.com>
2355
2356	* exp_ch3.adb (Expand_N_Object_Declaration): Suppress tag
2357	assignment for initializations that are aggregates.
2358
23592012-10-01  Robert Dewar  <dewar@adacore.com>
2360
2361	* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
2362	New procedure.
2363
23642012-10-01  Robert Dewar  <dewar@adacore.com>
2365
2366	* checks.adb (Minimize_Eliminate_Checks): Changes from testing.
2367	(Apply_Arithmetic_Overflow_Minimized_Eliminated): Changes
2368	from testing.
2369	* sinfo.ads: Remove note on not setting Entity field in overflow
2370	case since this is no longer true.
2371	* Makefile.rtl: Add s-bignum.o
2372
23732012-10-01  Thomas Quinot  <quinot@adacore.com>
2374
2375	* Make-generated.in: Correction to previous change for s-oscons
2376	target.
2377
23782012-10-01  Thomas Quinot  <quinot@adacore.com>
2379
2380	* s-bignum.adb (Allocate_Bignum): Reorganize to kill strict
2381	aliasing warning.
2382
23832012-10-01  Robert Dewar  <dewar@adacore.com>
2384
2385	* checks.adb (Overflow_Check_Mode): New function
2386	(Apply_Overflow_Check): New procedure (Is_Check_Suppressed):
2387	Moved here from Sem, Overflow_Check case now specially treated.
2388	* checks.ads (Overflow_Check_Mode): New function
2389	(Is_Check_Suppressed): Moved here from Sem (more logical)
2390	* exp_ch4.adb (Substitute_Valid_Check): Suppress warning about
2391	optimization if we are in MINIMIZED or ELIMINATED overflow
2392	checking mode and within an assertiom expression.
2393	* rtsfind.ads: Add entries for Bignum stuff.
2394	* s-bignum.ads, s-bignum.adb: New files.
2395	* sem.ads, sem.adb (Is_Check_Suppressed): Moved to Checks, more logical.
2396	* sem_prag.adb (Process_Suppress_Unsuppress): New behavior for
2397	Unsuppress of Overflow_Check (sets Checked instead of Minimized)
2398	* sem_res.adb: Update comments.
2399	* sinfo.ads (N_Op): Add documentation on overflow handling.
2400	* tbuild.ads, tbuild.adb (Convert_To_And_Rewrite): New procedure.
2401	* types.ads (Minimized_Or_Eliminated): New subtype.
2402
24032012-10-01  Eric Botcazou  <ebotcazou@adacore.com>
2404
2405	* layout.adb (Layout_Type): Do not set twice the address size
2406	on an access-to-unconstrained array if Debug_Flag_6 is set.
2407
24082012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
2409
2410	* sem_ch3.adb (Analyze_Declarations): Remove the specialized
2411	code which prevents freezing when the declarative list contains
2412	a _postconditions body. This is no longer needed because the
2413	body is now inserted at the end of the declarations.
2414	* sem_ch6.adb (Insert_After_Last_Declaration): New routine.
2415	(Insert_Before_First_Source_Declaration): Removed.
2416	(Process_PPCs): Insert the _postconditions body at the end of
2417	the declarative list to prevent premature freezing of types that
2418	appear in the declarations.
2419
24202012-10-01  Robert Dewar  <dewar@adacore.com>
2421
2422	* sem_aggr.adb, sem_dim.adb: Minor reformatting.
2423
24242012-10-01  Ed Schonberg  <schonberg@adacore.com>
2425
2426	* sem_prag.adb (Process_Convention, Process_Import_Or_Interface):
2427	Adjust test so that when the pragma comes from an aspect
2428	specification it only applies to the entity in the original
2429	declaration.
2430
24312012-10-01  Thomas Quinot  <quinot@adacore.com>
2432
2433	* gnat_ugn.texi: Document new command line switch -fada-spec-parent.
2434
24352012-10-01  Thomas Quinot  <quinot@adacore.com>
2436
2437	* s-oscons-tmplt.c, g-socket.ads: Minor code improvement: use gcc
2438	builtin __alignof__ to get the alignment of struct fd_set.
2439
24402012-10-01  Vincent Pucci  <pucci@adacore.com>
2441
2442	* exp_ch6.adb (Expand_Call): Remove call to
2443	Remove_Dimension_In_Call.
2444	* sem_aggr.adb (Resolve_Array_Aggregate): Analyze dimension of
2445	components in array aggregate.
2446	(Resolve_Aggr_Expr): Propagate dimensions from the original expression
2447	Expr to the new created expression New_Expr when resolving the
2448	expression of a component in record aggregates.
2449	(Resolve_Record_Aggregate): Analyze
2450	dimension of components in record (or extension) aggregate.
2451	* sem_ch6.adb (Analyze_Subprogram_Specification): Analyze
2452	dimension of formals with default expressions in subprogram
2453	specification.
2454	* sem_ch8.adb (Analyze_Expanded_Name): Analyze dimension of
2455	expanded names.
2456	(Find_Selected_Component): Analyze dimension of selected component.
2457	* sem_dim.adb: Several dimension error messages reformatting.
2458	(Dimensions_Msg_Of): New flag Description_Needed in order to
2459	differentiate two different sort of dimension error messages.
2460	(Dim_Warning_For_Numeric_Literal): New routine.
2461	(Exists): New routine.
2462	(Move_Dimensions): Routine spec moved to spec file.
2463	* sem_dim.ads (String_From_Numeric_Literal): New routine.
2464	(Analyze_Dimension): Analyze dimension only when the
2465	node comes from source.  Dimension analysis for expanded names added.
2466	(Analyze_Dimension_Array_Aggregate): New routine.
2467	(Analyze_Dimension_Call): New routine.
2468	(Analyze_Dimension_Component_Declaration): Warning if default
2469	expression is a numeric literal.
2470	(Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
2471	(Analyze_Dimension_Formals): New routine.
2472	(Analyze_Dimension_Object_Declaration): Warning if default
2473	expression is a numeric literal.
2474	(Symbol_Of): Return either the dimension subtype symbol or the
2475	dimension symbol built by From_Dim_To_Str_Of_Unit_Symbols.
2476	* sem_dim.ads (Analyze_Dimension_Array_Aggregate): New routine.
2477	(Analyze_Dimension_Call): New routine.
2478	(Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
2479	(Analyze_Dimension_Formals): New routine.
2480	(Move_Dimensions): Moved from sem_dim.adb.
2481	* s-dimmks.ads: Turn off the warnings for dimensioned object
2482	declaration.  Dimensioned subtypes sorted in alphabetical
2483	order. New subtypes Area, Speed, Volume.
2484	* s-dmotpr.ads: Turn off the warnings for dimensioned object
2485	declaration.
2486	* sem_res.adb (Resolve_Call): Analyze dimension for calls.
2487
24882012-10-01  Thomas Quinot  <quinot@adacore.com>
2489
2490	* Make-generated.in: Minor cleanup of all targets: use
2491	MOVE_IF_CHANGE to put generated files in place, to avoid useless
2492	recompilations.
2493
24942012-10-01  Javier Miranda  <miranda@adacore.com>
2495
2496	* exp_disp.adb (Expand_Dispatching_Call): For functions returning
2497	interface types add an implicit conversion to the returned object
2498	to force the displacement of the pointer to the returned object
2499	to reference the corresponding secondary dispatch table. This
2500	is needed to handle well combined calls involving secondary
2501	dispatch tables (for example Obj.Prim1.Prim2).
2502	* exp_ch4.adb (Expand_Allocator_Expression): Declare internal
2503	access type as access to constant or access to variable depending
2504	on the context. Found working in this ticket.
2505
25062012-10-01  Ed Schonberg  <schonberg@adacore.com>
2507
2508	* checks.adb (Apply_Predicate_Check): Do not apply check to
2509	actual of predicate checking procedure, to prevent infinite
2510	recursion.
2511
25122012-10-01  Arnaud Charlet  <charlet@adacore.com>
2513
2514	* gcc-interface/Make-lang.in: Update dependencies.
2515	(GCC_LINK): Add -static-libstdc++.
2516
25172012-10-01  Arnaud Charlet  <charlet@adacore.com>
2518
2519	* a-catizo.adb, a-stwiun.adb, a-cdlili.adb, a-cihama.adb, a-direct.adb,
2520	a-coinve.adb, a-calend.adb, a-ciorse.adb, a-coorma.adb, a-cfdlli.adb,
2521	a-stzunb-shared.adb, a-cfhase.adb, bindgen.adb, ceinfo.adb, a-tags.adb,
2522	einfo.adb, checks.adb, eval_fat.adb, a-cborma.adb, a-stwifi.adb,
2523	a-tifiio.adb, a-textio.adb, a-cidlli.adb, a-strunb-shared.adb,
2524	a-cimutr.adb, a-calcon.adb, a-exexpr-gcc.adb, a-ciormu.adb,
2525	a-stzunb.adb, a-stzsea.adb, a-ngelfu.adb, a-stzfix.adb,
2526	a-cihase.adb, a-cohama.adb, a-exetim-posix.adb, a-dirval-vms.adb,
2527	a-caldel-vms.adb, a-coorse.adb, errout.adb,
2528	a-except.adb, butil.adb, a-dirval-mingw.adb, a-cforma.adb,
2529	a-except-2005.adb, a-wtedit.adb, cstand.adb, a-stwiun-shared.adb,
2530	a-cbhama.adb, a-direio.adb, clean.adb, a-cborse.adb, back_end.adb,
2531	binde.adb, a-exexda.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb,
2532	a-coormu.adb, a-teioed.adb, a-convec.adb, a-wtenau.adb, exp_aggr.adb,
2533	a-ztedit.adb, a-cohase.adb, a-exetim-mingw.adb, bcheck.adb,
2534	a-dynpri.adb, a-cfhama.adb, a-calfor.adb, a-cbdlli.adb,
2535	a-crdlli.adb, a-cbmutr.adb, a-sequio.adb, a-ngcoar.adb, a-cforse.adb,
2536	a-strunb.adb, a-calend-vms.adb, a-clrefi.adb, a-cofove.adb,
2537	a-ztenau.adb, a-strfix.adb, a-cbhase.adb, a-stzsup.adb: Minor
2538	reformatting.
2539
25402012-10-01  Vincent Pucci  <pucci@adacore.com>
2541
2542	PR ada/54614
2543	* s-gearop.adb (Vector_Matrix_Product): Fix dimension check and index
2544	of Left in S evaluation.
2545
25462012-10-01  Javier Miranda  <miranda@adacore.com>
2547
2548	* sem_ch3.adb (Analyze_Declarations): Avoid
2549	premature freezing caused by the internally generated subprogram
2550	_postconditions.
2551	* checks.adb (Expr_Known_Valid): Float literals are assumed to be valid
2552	in VM targets.
2553
25542012-10-01  Thomas Quinot  <quinot@adacore.com>
2555
2556	* sinput.ads, sinput.adb, sinput-l.adb sinput-c.adb (Sinput): New
2557	Instances table, tracking all generic instantiations. Source file
2558	attribute Instance replaces previous Instantiation attribute with an
2559	index into the Instances table.
2560	(Iterate_On_Instances): New generic procedure.
2561	(Create_Instantiation_Source): Record instantiations in Instances.
2562	(Tree_Read, Tree_Write): Read/write the instance table.
2563	* scils.ads, scos.adb (SCO_Instance_Table): New table, contains
2564	information copied from Sinput.Instance_Table, but self-contained
2565	within the SCO data structures.
2566	* par_sco.ads, par_sco.adb (To_Source_Location): Move to library level.
2567	(Record_Instance): New subprogram, used by...
2568	(Populate_SCO_Instance_Table): New subprogram to fill
2569	the SCO instance table from the Sinput one (called by SCO_Output).
2570	* opt.ads (Generate_SCO_Instance_Table): New option.
2571	* put_scos.adb (Write_Instance_Table): New subprogram, used by...
2572	(Put_SCOs): Dump the instance table at the end of SCO information
2573	if requested.
2574	* get_scos.adb (Get_SCOs): Read SCO_Instance_Table.
2575	* types.h: Add declaration for Instance_Id.
2576	* back_end.adb (Call_Back_End): Pass instance ids in source file
2577	information table.
2578	(Scan_Back_End_Switches): -fdebug-instances sets
2579	Opt.Generate_SCO_Instance_Table.
2580	* gcc-interface/gigi.h: File_Info_Type includes instance id.
2581	* gcc-interface/trans.c: Under -fdebug-instances, set instance
2582	id in line map from same in file info.
2583
25842012-10-01  Thomas Quinot  <quinot@adacore.com>
2585
2586	* sem_elab.adb: Minor reformatting
2587	(Check_Elab_Call): Minor fix to debugging code
2588	(add special circuit for the valid case where a 'Access attribute
2589	reference is passed to Check_Elab_Call).
2590
25912012-10-01  Thomas Quinot  <quinot@adacore.com>
2592
2593	* exp_ch3.adb: Minor reformatting.
2594
25952012-10-01  Ed Schonberg  <schonberg@adacore.com>
2596
2597	* exp_ch3.ads (Build_Array_Invariant_Proc): moved to body.
2598	* exp_ch3.adb (Build_Array_Invariant_Proc,
2599	Build_Record_Invariant_Proc): transform into functions.
2600	(Insert_Component_Invariant_Checks): for composite types that have
2601	components with specified invariants, build a checking procedure,
2602	and make into the invariant procedure of the composite type,
2603	or incorporate it into the user- defined invariant procedure if
2604	one has been created.
2605	* sem_ch3.adb (Array_Type_Declaration): Checking for invariants
2606	on the component type is defered to the expander.
2607
26082012-10-01  Thomas Quinot  <quinot@adacore.com>
2609
2610	* xsnamest.adb, namet.h, sem_ch10.adb, s-oscons-tmplt.c,
2611	xoscons.adb: Minor reformatting.
2612
26132012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
2614
2615	* checks.adb (Apply_Parameter_Aliasing_And_Validity_Checks):
2616	Do not process subprogram renaminds because a) those cannot
2617	have PPC pragmas b) the renamed entity already has the PPCs.
2618	(Build_PPC_Pragma): Prepend a PPC pragma for consistency with
2619	Process_PPCs.
2620	* sem_ch6.adb (Last_Implicit_Declaration): Removed.
2621	(Process_PPCs): Insert a post condition body at the start of the
2622	declarative region of the related subprogram. This way the body
2623	will not freeze anything it shouldn't.
2624
26252012-10-01  Robert Dewar  <dewar@adacore.com>
2626
2627	* freeze.adb, sem_ch6.adb, opt.ads, sem_ch13.adb,
2628	exp_ch3.adb: Minor reformatting.
2629
26302012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
2631
2632	* checks.adb (Build_PPC_Pragma): A PPC pragma can now be properly
2633	associated with a subprogram body.
2634
26352012-10-01  Ed Schonberg  <schonberg@adacore.com>
2636
2637	* aspects.ads: Type_Invariant'class is a valid aspect.
2638	* sem_ch6.adb (Is_Public_Subprogram_For): with the exception of
2639	initialization procedures, subprograms that do not come from
2640	source are not public for the purpose of invariant checking.
2641	* sem_ch13.adb (Build_Invariant_Procedure): Handle properly the
2642	case of a non-private type in a package without a private part,
2643	when the type inherits invariants from its ancestor.
2644
26452012-10-01  Ed Schonberg  <schonberg@adacore.com>
2646
2647	* exp_ch3.adb (Build_Record_Invariant_Proc): new procedure to
2648	generate a checking procedure for record types that may have
2649	components whose types have type invariants declared.
2650
26512012-10-01  Vincent Pucci  <pucci@adacore.com>
2652
2653	* system-solaris-sparcv9.ads, system-mingw.ads, system-vms_64.ads: Flag
2654	Support_Atomic_Primitives set to True.
2655
26562012-10-01  Robert Dewar  <dewar@adacore.com>
2657
2658	* impunit.adb: Ada.Locales is a language defined unit.
2659
26602012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
2661
2662	* checks.adb (Apply_Parameter_Aliasing_Checks): Removed.
2663	(Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
2664	(Apply_Parameter_Validity_Checks): Removed.
2665	* checks.ads (Apply_Parameter_Aliasing_Checks): Removed.
2666	(Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
2667	(Apply_Parameter_Validity_Checks): Removed.
2668	* exp_ch6.adb (Expand_Call): Remove the generation of parameter
2669	aliasing checks.
2670	* freeze.adb: Remove with and use clauses for Validsw.
2671	(Freeze_Entity): Update the guard and generation of aliasing
2672	and scalar initialization checks for subprogram parameters.
2673	* opt.ads: Add new flags Check_Aliasing_Of_Parameters and
2674	Check_Validity_Of_Parameters along with comments on usage.
2675	* sem_attr.adb (Analyze_Attribute): Pragma Overlaps_Storage is
2676	no longer an Ada 2012 feature.
2677	* sem_ch4.adb: Remove with and use clauses for Checks and Validsw.
2678	(Analyze_Call): Remove the generation of aliasing checks for
2679	subprogram parameters.
2680	* sem_ch13.adb: Remove with and use clauses for Validsw.
2681	(Analyze_Aspect_Specifications): Remove the generation of scalar
2682	initialization checks.
2683	* switch-c.adb (Scan_Front_End_Switches): Add processing for
2684	-gnateA and -gnateV.
2685	* usage.adb (Usage): Add information on switches -gnateA and
2686	-gnateV. Remove information on validity switches 'l', 'L',
2687	'v' and 'V'.
2688	* validsw.adb (Reset_Validity_Check_Options): Remove the
2689	reset of flags Validity_Check_Non_Overlapping_Params
2690	and Validity_Check_Valid_Scalars_On_Params.
2691	(Save_Validity_Check_Options): Remove the processing
2692	for flags Validity_Check_Non_Overlapping_Params
2693	and Validity_Check_Valid_Scalars_On_Params.
2694	(Set_Validity_Check_Options): Remove the processing
2695	for flags Validity_Check_Non_Overlapping_Params and
2696	Validity_Check_Valid_Scalars_On_Params.
2697	* validsw.ads: Remove flags Validity_Check_Non_Overlapping_Params
2698	and Validity_Check_Valid_Scalars_On_Params along with their
2699	comments on usage.
2700
27012012-10-01  Yannick Moy  <moy@adacore.com>
2702
2703	* sem_ch13.adb (Add_Invariants): Analyze the invariant expression
2704	as an assertion expression.
2705	* sem_ch3.adb / sem_ch3.ads (Preanalyze_Assert_Expression):
2706	New procedure that wraps a call to Preanalyze_Spec_Expression
2707	for assertion expressions, so that In_Assertion_Expr can be
2708	properly adjusted.
2709	* sem_prag.adb (Analyze_PPC_In_Decl_Part
2710	Check_Precondition_Postcondition Preanalyze_CTC_Args): Call the
2711	new Preanalyze_Assert_Expression.
2712
27132012-10-01  Robert Dewar  <dewar@adacore.com>
2714
2715	* checks.ads: Minor reformatting.
2716
27172012-10-01  Yannick Moy  <moy@adacore.com>
2718
2719	* types.ads, sem_prag.adb, sem.ads: Correct minor typos in comments.
2720
27212012-10-01  Vincent Celier  <celier@adacore.com>
2722
2723	* make.adb (Scan_Make_Arg): Only test for "vP" of the option
2724	includes at least 3 characters.
2725	* gnatcmd.adb (GNATCmd): Ditto.
2726
27272012-10-01  Eric Botcazou  <ebotcazou@adacore.com>
2728
2729	* exp_ch7.adb, sinfo.ads: Add comments.
2730
27312012-10-01  Robert Dewar  <dewar@adacore.com>
2732
2733	* checks.adb: Remove reference to Enable_Overflow_Checks Use
2734	Suppress_Options rather than Scope_Suppress.
2735	* gnat1drv.adb (Adjust_Global_Switches): Handle new overflow
2736	settings (Adjust_Global_Switches): Initialize Scope_Suppress
2737	from Suppress_Options.
2738	* opt.adb: Remove Enable_Overflow_Checks (use Suppress_Options
2739	instead).
2740	* opt.ads: Remove Overflow_Checks_Unsuppressed (not used)
2741	Remove Enable_Overflow_Checks (use Suppress_Options instead)
2742	Suppress_Options is now current setting (replaces Scope_Suppress).
2743	* osint.adb (Initialize): Deal with initializing overflow
2744	checking.
2745	* par-prag.adb: Add dummy entry for pragma Overflow_Checks.
2746	* sem.adb (Semantics): Save and restore In_Assertion_Expr Use
2747	Suppress_Options instead of Scope_Suppress.
2748	* sem.ads (In_Assertion_Expr): New flag (Scope_Suppress):
2749	Removed, use Suppress_Options instead.
2750	* sem_eval.adb (Compile_Time_Compare): Return Unknown in
2751	preanalysis mode.
2752	* sem_prag.adb (Process_Suppress_Unsuppress): Setting of
2753	Overflow_Checks_Unsuppressed removed (not used anywhere!)
2754	(Analyze_Pragma, case Check): Set In_Assertion_Expression
2755	(Analyze_Pragma, case Overflow_Checks): Implement new pragma
2756	* snames.ads-tmpl: Add names needed for handling pragma
2757	Overflow_Checks
2758	* switch-c.adb (Scan_Front_End_Switches) Handle -gnato? and
2759	-gnato?? where ? is 0-3
2760	* types.ads: Updates and fixes to comment on Suppress_Record.
2761
27622012-10-01  Vincent Celier  <celier@adacore.com>
2763
2764	* prj-part.adb (Parse): Remove incorrect comment about checking
2765	imported non extending projects from and "extending all"
2766	one. Minor correction.
2767
27682012-10-01  Robert Dewar  <dewar@adacore.com>
2769
2770	* make.adb, exp_ch3.adb: Minor reformatting.
2771
27722012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
2773
2774	* validsw.adb (Save_Validity_Check_Options): Do not set
2775	Validity_Check_Non_Overlapping_Params and
2776	Validity_Check_Valid_Scalars_On_Params when -gnatVa is present
2777	because the related checks are deemed too aggressive.
2778
27792012-10-01  Ed Schonberg  <schonberg@adacore.com>
2780
2781	* sem_util.ads sem_util.adb (Check_Internal_Protected_Use):
2782	reject use of protected procedure or entry within the body of
2783	a protected function of the same protected type, when usage is
2784	a call, an actual in an instantiation, a or prefix of 'Access.
2785	* sem_ch8.adb (Analyze_Subprogram_Renaming): Verify that target
2786	object in renaming of protected procedure is a variable, and
2787	apply Check_Internal_Protected_Use.
2788	* sem_res.adb (Analyze_Call, Analyze_Entry_Call): apply
2789	Check_Internal_Protected_Use rather than on-line code.
2790	* sem_attr.adb (Analyze_Access_Attribute): Verify that target
2791	object in accsss to protected procedure is a variable, and apply
2792	Check_Internal_Protected_Use.
2793
27942012-10-01  Gary Dismukes  <dismukes@adacore.com>
2795
2796	* sem_ch4.adb (Find_Equality_Types.Try_One_Interp): Exclude the
2797	predefined interpretation from consideration if it's for a "/="
2798	operator of a tagged type. This will allow Analyze_Equality_Op to
2799	rewrite the "/=" as a logical negation of a call to the appropriate
2800	dispatching equality function. This needs to be done during
2801	analysis rather than expansion for the benefit of ASIS, which
2802	otherwise gets the unresolved N_Op_Ne operator from Standard.
2803
28042012-10-01  Thomas Quinot  <quinot@adacore.com>
2805
2806	* gnatcmd.adb, make.adb (Scan_Make_Arg, Inspect_Switches): Recognize
2807	and reject an invalid parameter passed to -vP.
2808
28092012-10-01  Yannick Moy  <moy@adacore.com>
2810
2811	* sem_warn.adb (Check_Infinite_Loop_Warning/Test_Ref): Improve
2812	the detection of modifications to the loop variable by noting
2813	that, if the type of variable is elementary and the condition
2814	does not contain a function call, then the condition cannot be
2815	modified by side-effects from a procedure call.
2816
28172012-10-01  Robert Dewar  <dewar@adacore.com>
2818
2819	* checks.adb: Add comments.
2820
28212012-10-01  Javier Miranda  <miranda@adacore.com>
2822
2823	* exp_ch3.adb (Expand_N_Object_Declaration): Improve condition catching
2824	never-ending recursion. The previous condition erroneously disabled
2825	silently the expansion of the class-wide interface object
2826	initialization in cases not involving the recursion.
2827
28282012-10-01  Thomas Quinot  <quinot@adacore.com>
2829
2830	* make.adb: Minor documentation fix: error messages are sent to
2831	stderr, not stdout.
2832
28332012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
2834
2835	* checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
2836	(Apply_Parameter_Validity_Checks): New routines.
2837	* exp_ch6.adb (Expand_Call): Add aliasing checks to detect
2838	overlapping objects.
2839	* freeze.adb: Add with and use clauses for Checks and Validsw.
2840	(Freeze_Entity): Add checks to detect proper initialization
2841	of scalars.
2842	* sem_ch4.adb: Add with and use clauses for Checks and Validsw.
2843	(Analyze_Call): Add aliasing checks to detect overlapping objects.
2844	* sem_ch13.adb: Add with and use clauses for Validsw.
2845	(Analyze_Aspect_Specifications): Add checks to detect proper
2846	initialization of scalars.
2847	* sem_prag.adb (Chain_PPC): Correct the extraction of the
2848	subprogram name.
2849	* sem_util.adb (Is_Object_Reference): Attribute 'Result now
2850	produces an object.
2851	* usage.adb (Usage): Add usage lines for validity switches 'l',
2852	'L', 'v' and 'V'.
2853	* validsw.adb (Reset_Validity_Check_Options): Include
2854	processing for flags Validity_Check_Non_Overlapping_Params and
2855	Validity_Check_Valid_Scalars_On_Params. Code reformatting.
2856	(Save_Validity_Check_Options): Include processing
2857	for flags Validity_Check_Non_Overlapping_Params
2858	and Validity_Check_Valid_Scalars_On_Params.
2859	(Set_Validity_Check_Options): Add processing for validity switches
2860	'a', 'l', 'L', 'n', 'v' and 'V'. Code reformatting.
2861	* validsw.ads: Add new flags Validity_Check_Non_Overlapping_Params
2862	and Validity_Check_Valid_Scalars_On_Params along with comments
2863	on usage.
2864
28652012-10-01  Thomas Quinot  <quinot@adacore.com>
2866
2867	* namet.ads, xsnamest.adb, prj-env.adb, sem_warn.adb,
2868	errout.ads: Minor reformatting.
2869	* prj-part.adb: Add comment.
2870
28712012-10-01  Robert Dewar  <dewar@adacore.com>
2872
2873	* sinfo.ads, exp_aggr.adb, sem_ch13.adb: Minor reformatting.
2874
28752012-10-01  Ed Schonberg  <schonberg@adacore.com>
2876
2877	* sem_aggr.adb (Resolve_Array_Aggregate): Handle properly
2878	component associations given by subtypes that have static
2879	predicates.  Improve error message for overlapping ranges in
2880	array aggregates.
2881
28822012-10-01  Pascal Obry  <obry@adacore.com>
2883
2884	* snames.ads-tmpl (Name_Link_Lib_Subdir): New constant.
2885
28862012-10-01  Ed Schonberg  <schonberg@adacore.com>
2887
2888	* sem_ch9.adb (Analyze_Requeue): The target of a requeue
2889	statement on a protected entry must be a variable. This is part
2890	of AI05-0225.
2891
28922012-09-26  Ian Lance Taylor  <iant@google.com>
2893
2894	* gcc-interface/Makefile.in (LIBBACKTRACE): New variable.
2895	(LIBS): Add $(LIBBACKTRACE).
2896	(LIBDEPS): Add $(LIBBACKTRACE).
2897	(TOOLS_LIBS): Add ../../../libbacktrace/.libs/libbacktrace.a.
2898
28992012-09-10  Diego Novillo  <dnovillo@google.com>
2900
2901	* gcc-interface/decl.c (build_subst_list): Adjust call to VEC_safe_push.
2902	(build_variant_list): Likewise.
2903	* gcc-interface/utils.c (convert): Adjust calls to VEC_quick_push.
2904
29052012-09-07  Eric Botcazou  <ebotcazou@adacore.com>
2906
2907	* gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using
2908	size_type_node instead of sizetype.
2909
29102012-08-19  Eric Botcazou  <ebotcazou@adacore.com>
2911
2912	* layout.adb (Set_Elem_Alignment): Cap the alignment of access types
2913	to that of a regular access type for non-strict-alignment platforms.
2914	* gcc-interface/utils.c (finish_fat_pointer_type): Do not set the
2915	alignment for non-strict-alignment platforms.
2916
29172012-08-19  Eric Botcazou  <ebotcazou@adacore.com>
2918
2919	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use proper
2920	dummy type for the temporary COMPONENT_REF built for a derived tagged
2921	type with discriminant.
2922
29232012-08-14   Diego Novillo  <dnovillo@google.com>
2924
2925	Merge from cxx-conversion branch.  Re-implement VEC in C++.
2926
2927	* gcc-interface/trans.c (finalize_nrv_unc_r): Adjust VEC_index usage.
2928	* gcc-interface/utils.c (convert): Likewise.
2929	(remove_conversions): Likewise.
2930	* gcc-interface/utils2.c (compare_fat_pointers): Likewise.
2931	(build_unary_op): Likewise.
2932	(gnat_stabilize_reference): Likewise.
2933
29342012-08-06  Jose Ruiz  <ruiz@adacore.com>
2935
2936	* gcc-interface/Makefile.in: Add support for 32-bit VxWorks for SPARC
2937	in kernel mode.
2938
29392012-08-06  Arnaud Charlet  <charlet@adacore.com>
2940
2941	* prj-attr.adb (Register_New_Package): Add missing blank.
2942
29432012-08-06  Ed Schonberg  <schonberg@adacore.com>
2944
2945	* exp_aggr.adb (Is_Two_Dim_Packed_Array): New predicate,
2946	used when computing maximum size allowable to construct static
2947	aggregate.
2948
29492012-08-06  Vincent Pucci  <pucci@adacore.com>
2950
2951	* freeze.adb (Freeze_Entity): Inherit_Aspects_At_Freeze_Point
2952	calls added for derived types and subtypes.
2953	* sem_aux.adb, sem_aux.ads (Get_Rep_Item, Get_Rep_Pragma,
2954	Has_Rep_Pragma): New routines.
2955	* sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): New routine.
2956	* sem_ch13.adb (Analyze_Aspect_Specifications): Error message
2957	for aspect Lock_Free fixed.
2958	(Inherits_Aspects_At_Freeze_Point): New routine.
2959	* sem_ch3.adb: Several flag settings removed since inheritance
2960	of aspects must be performed at freeze point.
2961
29622012-08-06  Thomas Quinot  <quinot@adacore.com>
2963
2964	* s-oscons-tmplt.c: Fix s-oscons.ads formatting on VxWorks.
2965
29662012-08-06  Vincent Pucci  <pucci@adacore.com>
2967
2968	* sem_dim.adb (Analyze_Dimension_Binary_Op): Issue an error message
2969	for unknown exponent at compile-time.
2970
29712012-08-06  Gary Dismukes  <dismukes@adacore.com>
2972
2973	* sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Enhance
2974	comment to make it clear that the aggregate's evaluation might
2975	still involve run-time checks even though the aggregate is
2976	considered known at compile time.
2977	* sinfo.ads (Compile_Time_Known_Aggregate): Correct comment to
2978	refer to Exp_Aggr instead of Sem_Aggr.
2979
29802012-08-06  Robert Dewar  <dewar@adacore.com>
2981
2982	* xoscons.adb: Minor code reorganization (remove unused variable
2983	E at line 331).
2984	* g-sercom.ads, exp_attr.adb: Minor reformatting.
2985	* sinfo.adb, sinfo.ads: Minor cleanup, remove unused flag
2986	Static_Processing_OK.
2987
29882012-08-06  Ed Schonberg  <schonberg@adacore.com>
2989
2990	* sem_ch3.adb (Build_Derived_Concurrent_Type): Copy discriminant
2991	constraint when building a constrained subtype, to prevent
2992	undesirable tree sharing betweeb geberated subtype and derived
2993	type definition.
2994
29952012-08-06  Thomas Quinot  <quinot@adacore.com>
2996
2997	* g-sercom-mingw.adb, s-oscons-tmplt.c: Add missing constants
2998	on Windows.
2999
30002012-08-06  Sergey Rybin  <rybin@adacore.com frybin>
3001
3002	* tree_io.ads: Update ASIS_Version_Number because of the tree fix
3003	for discriminant constraints for concurrent types.
3004
30052012-08-06  Thomas Quinot  <quinot@adacore.com>
3006
3007	* sem_ch4.adb: Minor reformatting.
3008
30092012-08-06  Thomas Quinot  <quinot@adacore.com>
3010
3011	* s-oscons-tmplt.c, xoscons.adb: Per the Single UNIX Specification,
3012	types cc_t, speed_t, and tcflag_t defined in <termios.h> all are
3013	unsigned types. Add required special handling to have their correct
3014	unsigned values in s-oscons.ads.
3015
30162012-08-06  Thomas Quinot  <quinot@adacore.com>
3017
3018	* par-ch13.adb: Minor reformatting.
3019
30202012-08-06  Thomas Quinot  <quinot@adacore.com>
3021
3022	* g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb
3023	(Set): Add Local and Flow_Control settings.
3024
30252012-08-06  Ed Schonberg  <schonberg@adacore.com>
3026
3027	* exp_attr.adb: Suppress saving of 'Old if assertions are not
3028	enabled.
3029
30302012-08-06  Yannick Moy  <moy@adacore.com>
3031
3032	* sem_ch4.adb (Analyze_Selected_Component): Issue an error in
3033	Alfa mode for component not present.
3034
30352012-08-06  Thomas Quinot  <quinot@adacore.com>
3036
3037	* exp_ch7.adb (Insert_Actions_In_Scope_Around): Do not
3038	use a renaming of Scope_Stack.Table (Scope_Stack.Last), as
3039	Process_Transient_Object may introduce new scopes and cause
3040	Scope_Stack.Table to be reallocated.
3041
30422012-08-06  Robert Dewar  <dewar@adacore.com>
3043
3044	* exp_util.adb, switch-c.adb, inline.ads, sem_ch10.adb, types.ads,
3045	checks.adb, sem_prag.adb, sem.adb, sem.ads, sem_res.adb, sem_attr.adb,
3046	gnat1drv.adb, exp_ch4.adb, exp_ch6.adb, opt.ads, osint.adb: Implement
3047	extended overflow checks (step 1).
3048	(Overflow_Check_Type, Suppress_Record, Suppress_All): New types.
3049	(Suppress_Array): Extended to include switches to control extended
3050	overflow checking (and renamed to Suppress_Record).
3051	Update all uses of Suppress_Array.
3052
30532012-08-06  Thomas Quinot  <quinot@adacore.com>
3054
3055	* makeutl.ads: Minor documentation fix.
3056
30572012-08-06  Thomas Quinot  <quinot@adacore.com>
3058
3059	* exp_ch7.adb: Minor reformatting.
3060
30612012-08-06  Geert Bosch  <bosch@adacore.com>
3062
3063	* a-ngelfu.adb: Change obsolete comment that this is a non-strict
3064	implementation.
3065
30662012-08-06  Steve Baird  <baird@adacore.com>
3067
3068	* exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): If
3069	CodePeer_Mode = True then omit exception handlers for finalization calls
3070
30712012-08-06  Robert Dewar  <dewar@adacore.com>
3072
3073	* exp_aggr.adb: Minor reformatting.
3074
30752012-08-06  Robert Dewar  <dewar@adacore.com>
3076
3077	* sem_ch6.adb: Remove useless flag Body_Deleted.
3078
30792012-08-06  Thomas Quinot  <quinot@adacore.com>
3080
3081	* sinfo.ads (End_Span): Change default from No_Uint to Uint_0,
3082	as this is what all usage occurrences of this attribute are
3083	expecting.
3084	* uintp.adb (UI_To_Int): Add assertion to guard against calling
3085	with No_Uint.
3086
30872012-08-06  Vincent Pucci  <pucci@adacore.com>
3088
3089	PR ada/54125
3090	* exp_attr.adb (Expand_N_Attribute_Reference): Expand new
3091	Atomic_Always_Lock_Free attribute.
3092	* sem_attr.adb (Analyze_Attribute): Analyze new
3093	Atomic_Always_Lock_Free attribute.
3094	(Eval_Attribute): Nothing to do with new Atomic_Always_Lock_Free
3095	attribute.
3096	* sem_ch9.adb (Allows_Lock_Free_Implementation):
3097	Support_Atomic_Primitives check replaces previous erroneous
3098	size check.
3099	* sem_util.adb, sem_util.ads (Support_Atomic_Primitives):
3100	New routine.
3101	* snames.ads-tmpl: New name Name_Atomic_Always_Lock_Free and
3102	new attribute Attribute_Atomic_Always_Lock_Free defined.
3103	* s-atopri.adb: Support_Atomic_Primitives checks replaced by
3104	Atomic_Always_Lock_Free queries.
3105	* system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
3106	system-hpux.ads, system-linux-alpha.ads, system-linux-hppa.ads,
3107	system-linux-ppc.ads, system-linux-s390.ads,
3108	system-linux-s390x.ads, system-linux-sh4.ads,
3109	system-linux-sparc.ads, system-lynxos178-ppc.ads,
3110	system-lynxos-ppc.ads, system-mingw.ads,
3111	system-vxworks-arm.ads, system-solaris-sparc.ads,
3112	system-solaris-sparcv9.ads, system-vms_64.ads,
3113	system-vxworks-m68k.ads, system-vxworks-mips.ads,
3114	system-vxworks-ppc.ads, system-vxworks-sparcv9.ads: Flag
3115	Support_Atomic_Primitives removed.
3116
31172012-08-06  Hristian Kirtchev  <kirtchev@adacore.com>
3118
3119	* sem_mech.adb (Set_Mechanisms): OUT and IN OUT parameters are
3120	now unconditionally passed by reference. IN parameters subject
3121	to convention C_Pass_By_Copy are passed by copy, otherwise they
3122	are passed by reference.
3123
31242012-08-06  Ed Schonberg  <schonberg@adacore.com>
3125
3126	* sem_ch3.adb (Analyze_Object_Declaration): According to
3127	AI95-0303, protected objects with interrupt handlers can be
3128	declared in nested scopes. This is a binding interpretation,
3129	and thus applies to all versions of the compiler.
3130
31312012-08-06  Robert Dewar  <dewar@adacore.com>
3132
3133	* frontend.adb, exp_aggr.adb: Minor reformatting.
3134
31352012-08-06  Thomas Quinot  <quinot@adacore.com>
3136
3137	* par-endh.adb: Minor reformatting.
3138
31392012-08-06  Hristian Kirtchev  <kirtchev@adacore.com>
3140
3141	* exp_ch7.adb (Process_Transient_Objects): Remove obsolete loop
3142	processing related to array initialization. The expansion of
3143	loops already contains a mechanism to detect controlled objects
3144	generated by expansion and introduce a block around the loop
3145	statements for finalization purposes.
3146
31472012-08-06  Vincent Pucci  <pucci@adacore.com>
3148
3149	* sem_ch13.adb: Current scope must be within
3150	or same as the scope of the entity while analysing aspect
3151	specifications at freeze point.
3152
31532012-08-06  Thomas Quinot  <quinot@adacore.com>
3154
3155	* par_sco.adb: Add note about dubious SCO for TERMINATE
3156	alternative.
3157	* sem_ch8.adb, exp_ch11.adb: Minor reformatting.
3158
31592012-08-06  Ed Schonberg  <schonberg@adacore.com>
3160
3161	* exp_aggr.adb (Two_Dim_Packed_Array_Handled): New procedure to
3162	transform an aggregate for a packed two-dimensional array into
3163	a one-dimensional array of constant values, in order to avoid
3164	the generation of component-by-component assignments.
3165
31662012-08-06  Thomas Quinot  <quinot@adacore.com>
3167
3168	* frontend.adb: Do not attempt to process deferred configuration
3169	pragmas if the main unit failed to load, to avoid cascaded
3170	inconsistencies that can lead to a compiler crash.
3171
31722012-08-06  Vincent Pucci  <pucci@adacore.com>
3173
3174	* s-atopri.adb: Minor reformatting.
3175
31762012-08-06  Arnaud Charlet  <charlet@adacore.com>
3177
3178	* gnat-style.texi: Clarify that all subprograms should be
3179	documented. Minor rewording.
3180
31812012-08-06  Robert Dewar  <dewar@adacore.com>
3182
3183	* aspects.ads: Define Aspect_Id_Exclude_No_Aspect.
3184	* par-ch13.adb, restrict.adb: Use Aspect_Id_Exclude_No_Aspect to
3185	simplify code.
3186
31872012-08-06  Yannick Moy  <moy@adacore.com>
3188
3189	* gnat-style.texi: Update style guide for declarations.
3190
31912012-08-06  Yannick Moy  <moy@adacore.com>
3192
3193	* sem_attr.adb (Analyze_Attribute): In the case for 'Old,
3194	skip a special expansion which is not needed in Alfa mode.
3195
31962012-08-06  Yannick Moy  <moy@adacore.com>
3197
3198	* sem_ch5.adb (Analyze_Iterator_Specification): Do not perform
3199	an expansion of the iterator in Alfa mode.
3200
32012012-08-06  Robert Dewar  <dewar@adacore.com>
3202
3203	* s-oscons-tmplt.c, sem_ch9.adb, osint.adb: Minor reformatting.
3204
32052012-08-06  Hristian Kirtchev  <kirtchev@adacore.com>
3206
3207	* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Remove obsolete
3208	Alfa-specific guard. The code is a leftover from an early
3209	implementation of iterators which is no longer in use.
3210
32112012-08-06  Vincent Celier  <celier@adacore.com>
3212
3213	* par-ch13.adb (Get_Aspect_Specifications): Do not consider
3214	No_Aspect when checking for a mispelled aspect.
3215
32162012-08-06  Robert Dewar  <dewar@adacore.com>
3217
3218	* s-htable.adb: Minor reformatting.
3219
32202012-08-06  Thomas Quinot  <quinot@adacore.com>
3221
3222	* s-oscons-tmplt.c, g-socket.adb (System.OS_Constants.Target_OS):
3223	Suppress warnings so that we don't have to do it at each usage.
3224
32252012-08-06  Vincent Pucci  <pucci@adacore.com>
3226
3227	* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
3228	Use of Known_Static_Esize instead of  Known_Esize and
3229	Known_Static_RM_Size instead of Known_RM_Size in order to
3230	properly call UI_To_Int. Don't check the size of the component
3231	type in case of generic.
3232	* sem_ch9.adb (Allows_Lock_Free_Implementation):
3233	Use of Known_Static_Esize instead of Known_Esize and
3234	Known_Static_RM_Size instead of Known_RM_Size in order to properly
3235	call UI_To_Int. Don't check the size of the component type in
3236	case of generic.
3237
32382012-08-06  Hristian Kirtchev  <kirtchev@adacore.com>
3239
3240	* checks.adb (Discrete_Range_Cond): Do not try to optimize on
3241	the assumption that the type of an expression can always fit in
3242	the target type of a conversion.
3243
32442012-07-30  Robert Dewar  <dewar@adacore.com>
3245
3246	* bindusg.adb: Clarify file in -A lines.
3247
32482012-07-30  Robert Dewar  <dewar@adacore.com>
3249
3250	* freeze.adb: Minor reformatting.
3251
32522012-07-30  Robert Dewar  <dewar@adacore.com>
3253
3254	* gnatcmd.adb, makeutl.adb, makeutl.ads: Minor code reorganization.
3255
32562012-07-30  Vincent Pucci  <pucci@adacore.com>
3257
3258	* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Minor
3259	reformatting.
3260	* sem_ch9.adb (Allows_Lock_Free_Implementation): Minor reformatting.
3261	Capture the correct error message in case of a quantified expression.
3262
32632012-07-30  Thomas Quinot  <quinot@adacore.com>
3264
3265	* g-socket.adb (Get_Socket_Option, Set_Socket_Option): On Windows, the
3266	value is a milliseconds count in a DWORD, not a struct timeval.
3267
32682012-07-30  Hristian Kirtchev  <kirtchev@adacore.com>
3269
3270	* sem_ch12.adb (Earlier): Add local variables T1 and T2. Minor code
3271	refactoring.
3272
32732012-07-30  Thomas Quinot  <quinot@adacore.com>
3274
3275	* gnatcmd.adb, make.adb, makeutl.adb, makeutl.ads
3276	(Test_If_Relative_Path): Rename to Ensure_Absolute_Path to better
3277	reflect what this subprogram does. Rename argument Including_L_Switch
3278	to For_Gnatbind, and also exempt -A from rewriting.
3279	* bindusg.adb: Document optional =file argument to gnatbind -A.
3280
32812012-07-30  Ed Schonberg  <schonberg@adacore.com>
3282
3283	* freeze.adb (Freeze_Entity): Do no apply restriction check on
3284	storage pools to access to subprogram types.
3285
32862012-07-30  Robert Dewar  <dewar@adacore.com>
3287
3288	* par_sco.adb, a-cihama.adb, a-coinve.adb, exp_ch7.adb, a-ciorse.adb,
3289	exp_ch9.adb, sem_dim.adb, par-ch13.adb, sem_ch9.adb, a-cidlli.adb,
3290	a-cimutr.adb, freeze.adb, a-ciormu.adb, sem_res.adb, sem_attr.adb,
3291	a-cihase.adb, exp_ch4.adb, sem_ch4.adb, a-ciorma.adb,
3292	s-tasinf-linux.ads, sem_ch13.adb, a-coinho.adb: Minor reformatting.
3293	Add comments.
3294
32952012-07-30  Vincent Pucci  <pucci@adacore.com>
3296
3297	* sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit
3298	dereferences of access values.
3299
33002012-07-27  Iain Sandoe  <iain@codesourcery.com>
3301
3302	* system-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True.
3303
33042012-07-25  Eric Botcazou  <ebotcazou@adacore.com>
3305
3306	* gcc-interface/utils2.c (gnat_stabilize_reference) <BIT_FIELD_REF>: Do
3307	not stabilize operand #1 and #2.
3308
33092012-07-23  Tristan Gingold  <gingold@adacore.com>
3310
3311	* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Use
3312	End_Label sloc when possible for sloc of the TRY_CATCH_EXPR node.
3313
33142012-07-23  Olivier Hainque  <hainque@adacore.com>
3315
3316	* gcc-interface/Makefile.in: Adjust processing of Linker_Options for
3317	VxWorks.
3318	* gcc-interface/Make-lang.in: Update dependencies.
3319
33202012-07-23  Arnaud Charlet  <charlet@adacore.com>
3321
3322	* s-tasinf-linux.ads: Fix typo.
3323
33242012-07-23  Thomas Quinot  <quinot@adacore.com>
3325
3326	* exp_ch7.adb, switch-m.adb, exp_ch3.adb, freeze.adb: Minor reformatting
3327
33282012-07-23  Ed Schonberg  <schonberg@adacore.com>
3329
3330	* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): If original
3331	loop carries an identifier, preserve it when rewriting it as a
3332	standard loop to validate exit statements that may reference
3333	that name in the body of the loop.
3334
33352012-07-23  Thomas Quinot  <quinot@adacore.com>
3336
3337	* exp_ch9.adb: Minor code cleanup.
3338
33392012-07-23  Ed Schonberg  <schonberg@adacore.com>
3340
3341	* sem_ch4.adb (Analyze_Selected_Component): When checking for
3342	potential ambiguities with class-wide operations on synchronized
3343	types, attach the copied node properly to the tree, to prevent
3344	errors during expansion.
3345
33462012-07-23  Yannick Moy  <moy@adacore.com>
3347
3348	* sem_ch5.adb (Analyze_Loop_Statement): Make sure the loop body
3349	is analyzed in Alfa mode.
3350
33512012-07-23  Ed Schonberg  <schonberg@adacore.com>
3352
3353	* sem_res.adb: Adjust previous change.
3354
33552012-07-23  Vincent Pucci  <pucci@adacore.com>
3356
3357	* sem_ch9.adb (Allows_Lock_Free_Implementation): Flag
3358	Lock_Free_Given renames previous flag Complain. Description
3359	updated. Henceforth, catch every error messages issued by this
3360	routine when Lock_Free_Given is True.  Declaration restriction
3361	updated: No non-elementary parameter instead (even in parameter)
3362	New subprogram body restrictions implemented: No allocator,
3363	no address, import or export rep items, no delay statement,
3364	no goto statement, no quantified expression and no dereference
3365	of access value.
3366
33672012-07-23  Hristian Kirtchev  <kirtchev@adacore.com>
3368
3369	* checks.adb (Determine_Range): Add local variable Btyp. Handle
3370	the case where the base type of an enumeration subtype is
3371	private. Replace all occurrences of Base_Type with Btyp.
3372	* exp_attr.adb (Attribute_Valid): Handle the case where the
3373	base type of an enumeration subtype is private. Replace all
3374	occurrences of Base_Type with Btyp.
3375	* sem_util.adb (Get_Enum_Lit_From_Pos): Add local variable
3376	Btyp. Handle the case where the base type of an enumeration
3377	subtype is private. Replace all occurrences of Base_Type with
3378	Btyp.
3379
33802012-07-23  Ed Schonberg  <schonberg@adacore.com>
3381
3382	* par-ch6.adb (P_Mode): in Ada 2005, a mode indicator can apply
3383	to a formal object of an anonymous access type.
3384
33852012-07-23  Ed Schonberg  <schonberg@adacore.com>
3386
3387	* sem_ch4.adb (Try_Container_Indexing): A user-defined indexing
3388	aspect can have more than one index, e.g. to describe indexing
3389	of a multidimensional object.
3390
33912012-07-23  Hristian Kirtchev  <kirtchev@adacore.com>
3392
3393	* exp_ch4.adb (Apply_Accessibility_Check): Reimplemented. The check is
3394	now more complex and contains optional finalization part and mandatory
3395	deallocation part.
3396
33972012-07-23  Gary Dismukes  <dismukes@adacore.com>
3398
3399	* a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb, a-ciormu.adb,
3400	a-ciorse.adb, a-coinho.adb, a-coinve.adb, a-cidlli.adb: Unsuppress
3401	Accessibility_Check for Element_Type allocators.
3402
34032012-07-23  Vasiliy Fofanov  <fofanov@adacore.com>
3404
3405	* projects.texi: Fix typo.
3406
34072012-07-23  Ed Schonberg  <schonberg@adacore.com>
3408
3409	* sem_res.adb (Resolve_Explicit_Derenference): If prefix is
3410	overloaded, remove those interpretations whose designated type
3411	does not match the context, to avoid spurious ambiguities that
3412	may be caused by the Ada 2012 conversion rule for anonymous
3413	access types.
3414
34152012-07-23  Vincent Celier  <celier@adacore.com>
3416
3417	* g-spitbo.adb (Substr (String)): Return full string and do not
3418	raise exception when Start is 1 and Len is exactly the length
3419	of the string parameter.
3420	* g-spitbo.ads: Fix spelling error in the name of exception
3421	Index_Error.
3422
34232012-07-23  Ed Schonberg  <schonberg@adacore.com>
3424
3425	* par.adb: new subprogram Get_Aspect_Specifications.
3426	* par-ch6.adb (P_Subprogram): handle subprogram bodies with aspect
3427	specifications.
3428	* par-ch13.adb (Get_Aspect_Specifications): extracted from
3429	P_Aspect_Specifications. Collect aspect specifications in some
3430	legal context, but do not attach them to any declaration. Used
3431	when parsing subprogram declarations or bodies that include
3432	aspect specifications.
3433	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): If aspects are
3434	present, analyze them, or reject them if the subprogram as a
3435	previous spec.
3436
34372012-07-23  Vasiliy Fofanov  <fofanov@adacore.com>
3438
3439	* gnat_ugn.texi: Omit section on other platforms/runtimes support
3440	in gnattest for vms version.
3441
34422012-07-23  Ed Schonberg  <schonberg@adacore.com>
3443
3444	* sem_ch13.adb (Analyze_Aspect_Specifications):
3445	Handle properly aspects that can be specified on a subprogram
3446	body: CPU, Priority, and Interrupt_Priority.
3447
34482012-07-23  Claire Dross  <dross@adacore.com>
3449
3450	* a-cfdlli.ads: Switch definition of Constant_Reference_Type
3451	and Empty_List.
3452
34532012-07-23  Thomas Quinot  <quinot@adacore.com>
3454
3455	* par_sco.adb (Process_Decisions.Output_Header): For the guard
3456	on an alternative in a SELECT statement, use the First_Sloc
3457	of the guard expression (not its topmost sloc) as the decision
3458	location, because this is what is referenced by dominance markers.
3459
34602012-07-23  Hristian Kirtchev  <kirtchev@adacore.com>
3461
3462	* exp_ch7.adb (Requires_Hooking): Examine the original expression
3463	of an object declaration node because a function call that
3464	returns on the secondary stack may have been rewritten into
3465	something else.
3466
34672012-07-23  Vincent Pucci  <pucci@adacore.com>
3468
3469	* sem_dim.adb (Analyze_Dimension_Has_Etype): For identifier, propagate
3470	dimension when entity is a non-dimensionless constant.
3471	(Analyze_Dimension_Object_Declaration): Propagate
3472	dimension from the expression to the entity when type is a
3473	dimensioned type and object is a constant.
3474
34752012-07-23  Ed Schonberg  <schonberg@adacore.com>
3476
3477	* sem_attr.adb (Analyze_Attribute, case 'Old): if the prefix
3478	is not an entity name, expand at once so that code generated by
3479	the expansion of the prefix is not generated before the constant
3480	that captures the old value is properly inserted and analyzed.
3481
34822012-07-23  Thomas Quinot  <quinot@adacore.com>
3483
3484	* exp_ch9.adb (Ensure_Statement_Present): Mark generated NULL
3485	statement as Comes_From_Source so that GIGI does not eliminate it.
3486
34872012-07-23  Hristian Kirtchev  <kirtchev@adacore.com>
3488
3489	* sem_ch12.adb (Insert_Freeze_Node_For_Instance): Inst is now
3490	a local variable. Retrieve the related instance when processing
3491	a subprogram instantiation. Such instances appear as wrapper
3492	packages.
3493
34942012-07-23  Vincent Pucci  <pucci@adacore.com>
3495
3496	* system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
3497	system-hpux.ads, system-linux-alpha.ads,
3498	system-linux-hppa.ads, system-linux-ppc.ads,
3499	system-linux-s390.ads, system-linux-s390x.ads,
3500	system-linux-sh4.ads, system-linux-sparc.ads,
3501	system-lynxos-ppc.ads, system-mingw.ads,
3502	system-solaris-sparc.ads, system-solaris-sparcv9.ads,
3503	system-vms_64.ads, * system-vxworks-arm.ads, system-vxworks-m68k.ads,
3504	system-vxworks-mips.ads, system-vxworks-ppc.ads,
3505	system-vxworks-sparcv9.ads: Support_Atomic_Primitives set to False.
3506	* system-darwin-x86.ads, system-darwin-x86_64.ads,
3507	system-freebsd-x86.ads, system-freebsd-x86_64.ads,
3508	system-hpux-ia64.ads, system-linux-ia64.ads, system-linux-x86.ads,
3509	system-linux-x86_64.ads, system-lynxos-x86.ads,
3510	system-mingw-x86_64.ads, system-solaris-x86.ads,
3511	system-solaris-x86_64.ads, system-vms-ia64.ads,
3512	system-vxworks-x86.ads: Support_Atomic_Primitives set to True.
3513	* s-atopri.adb (Lock_Free_Read_X): New body.
3514	(Lock_Free_Try_Write_X): Support_Atomic_Primitives check added.
3515	(Lock_Free_Try_Write_64): New body.
3516	* s-atopri.ads: New type uint.
3517	(Sync_Compare_And_Swap_64): __sync_val_compare_and_swap_8 intrinsic
3518	import.
3519	(Lock_Free_Read_X): Body moved to s-atopri.adb.
3520	(Lock_Free_Try_Write_64): Similar to other Lock_Free_Try_Write_X
3521	routines.
3522	* targparm.adb: New enumeration literal SAP
3523	(Support_Atomic_Primitives) for type Targparm_Tags. New constant
3524	SAP_Str. New component SAP_Str'Access for array Targparm_Str.
3525	(Get_Target_Parameters): Parse Support_Atomic_Primitives_On_Target
3526	flag.
3527	* targparm.ads: New back-end code generation flag
3528	Support_Atomic_Primitives_On_Target
3529
35302012-07-23  Vincent Pucci  <pucci@adacore.com>
3531
3532	* gnat_ugn.texi: Dimensionality checking documentation updated.
3533
35342012-07-23  Ed Schonberg  <schonberg@adacore.com>
3535
3536	* sem_prag.adb (Make_Inline): If the pragma applies to a
3537	subprogram renaming, set inline flags on both the renamed entity
3538	and on the renaming, so that some ASIS queries can be handled
3539	consistently in the absence of expansion.
3540
35412012-07-23  Fedor Rybin  <frybin@adacore.com>
3542
3543	* gnat_ugn.texi: Removing obsolete limitation of gnattest
3544	to support only ada05.	Updating gnattest support for other
3545	platforms/run-times section to reflect the usage of taget
3546	prefix in gnattest calls.  Fixing missed obsolete --stub-default
3547	option name.
3548
35492012-07-23  Robert Dewar  <dewar@adacore.com>
3550
3551	* uintp.adb: Minor reformatting.
3552
35532012-07-23  Olivier Hainque  <hainque@adacore.com>
3554
3555	* system-vxworks-ppc.ads: Replace the default
3556	Linker_Options requesting crtbe by a commented out request for
3557	-nostartfiles.
3558
35592012-07-23  Vincent Celier  <celier@adacore.com>
3560
3561	* prj-nmsc.adb (Check_Naming): Do not get the exceptions names
3562	in a virtual project.
3563
35642012-07-23  Robert Dewar  <dewar@adacore.com>
3565
3566	* layout.adb, sem_prag.adb, sem.ads, freeze.adb,
3567	switch-m.adb, exp_disp.adb, system-vxworks-ppc.ads, exp_ch6.adb: Minor
3568	reformatting.
3569
35702012-07-23  Tristan Gingold  <gingold@adacore.com>
3571
3572	* gcc-interface/trans.c: (Handled_Sequence_Of_Statements_to_gnu): Set
3573	location on TRY_CATCH_EXPR.
3574
35752012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3576
3577	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure
3578	that an object of CW type initialized to a value is sufficiently
3579	aligned for this value.
3580
35812012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3582
3583	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not
3584	look up the REP part of the base type in advance.  Deal with that of
3585	the variant types.
3586	(get_rep_part): Be prepared for record types with fields.
3587
35882012-07-18  Eric Botcazou  <ebotcazou@adacore.com>
3589
3590	* gcc-interface/trans.c (stmt_group_may_fallthru): New function.
3591	(gnat_to_gnu) <N_Block_Statement>: Use it to find out whether the
3592	block needs to be translated.
3593
35942012-07-17  Tristan Gingold  <gingold@adacore.com>
3595
3596	* gnat_rm.texi: Adjust previous change.
3597
35982012-07-17  Ed Schonberg  <schonberg@adacore.com>
3599
3600	* sem_prag.adb (Process_Import_Or_Interface): If the pragma
3601	comes from an aspect, it applies to the corresponding entity
3602	without further check.
3603
36042012-07-17  Olivier Hainque  <hainque@adacore.com>
3605
3606	* initialize.c (__gnat_initialize for VxWorks): Remove section with
3607	call to __gnat_vxw_setup_for_eh.
3608	* system-vxworks-ppc.ads: Add -auto-register to -crtbe, relying
3609	on the VxWorks constructor mechanism for network loaded modules
3610	by default.
3611
36122012-07-17  Tristan Gingold  <gingold@adacore.com>
3613
3614	* adaint.c: Minor reformatting.
3615
36162012-07-17  Pascal Obry  <obry@adacore.com>
3617
3618	* s-regexp.adb (Adjust): Fix access violation in Adjust.
3619
36202012-07-17  Ed Schonberg  <schonberg@adacore.com>
3621
3622	* freeze.adb (Freeze_Entity): Warn if an imported subprogram
3623	has pre/post conditions, because these will not be enforced.
3624
36252012-07-17  Eric Botcazou  <ebotcazou@adacore.com>
3626
3627	* exp_ch7.adb (Process_Transient_Objects): Put all the
3628	finalization blocks and the final raise statement into a wrapper
3629	block.
3630
36312012-07-17  Vincent Pucci  <pucci@adacore.com>
3632
3633	* s-atopri.adb (Lock_Free_Try_Write_X): Atomic_Compare_Exchange_X
3634	replaced by Sync_Compare_And_Swap_X.
3635	(Lock_Free_Try_Write_64): Removed.
3636	* s-atopri.ads (Sync_Compare_And_Swap_X): Replaces previous
3637	routine Atomic_Compare_Exchange_X.
3638	(Lock_Free_Read_64): Renaming of Atomic_Load_64.
3639	(Lock_Free_Try_Write_64): Renaming of Sync_Compare_And_Swap_64.
3640
36412012-07-17  Vincent Celier  <celier@adacore.com>
3642
3643	* switch-m.adb (Normalize_Compiler_Switches): Recognize new
3644	switches -gnatn1 and -gnatn2.
3645
36462012-07-17  Vincent Pucci  <pucci@adacore.com>
3647
3648	* gnat_ugn.texi: GNAT dimensionality checking
3649	documentation updated with System.Dim.Mks modifications.
3650
36512012-07-17  Ed Schonberg  <schonberg@adacore.com>
3652
3653	* exp_ch3.adb: sloc of array init_proc is sloc of type declaration.
3654
36552012-07-17  Tristan Gingold  <gingold@adacore.com>
3656
3657	* raise-gcc.c (get_call_site_action_for): Remove useless init
3658	expression for p.
3659	(get_action_description_for): Do not overwrite action->kind.
3660
36612012-07-17  Hristian Kirtchev  <kirtchev@adacore.com>
3662
3663	* exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr
3664	and Conversion_Added.  Add local constant Typ.
3665	Retrieve the original attribute after the arithmetic check
3666	machinery has modified the node. Add a conversion to the target
3667	type when the prefix of attribute Max_Size_In_Storage_Elements
3668	is a controlled type.
3669
36702012-07-17  Gary Dismukes  <dismukes@adacore.com>
3671
3672	* exp_ch6.adb (Expand_Inlined_Call): For each actual parameter
3673	of mode 'out' or 'in out' that denotes an entity, reset
3674	Last_Assignment on the entity so that any assignments to the
3675	corresponding formal in the inlining will not trigger spurious
3676	warnings about overwriting assignments.
3677
36782012-07-17  Robert Dewar  <dewar@adacore.com>
3679
3680	* s-assert.ads: Fix comments to make it clear that this is used
3681	for all assertions, not just pragma Assert.
3682
36832012-07-17  Jerome Guitton  <guitton@adacore.com>
3684
3685	* par_sco.ads: Minor typo fix.
3686
36872012-07-17  Gary Dismukes  <dismukes@adacore.com>
3688
3689	* layout.adb (Layout_Type): In the case where the target is
3690	AAMP, use 32 bits (a single pointer) rather than 64 bits for an
3691	anonymous access-to-subprogram type if the type is library-level
3692	and Is_Local_Anonymous_Access is True.
3693
36942012-07-17  Jose Ruiz  <ruiz@adacore.com>
3695
3696	* s-tassta.adb, s-tarest.adb (Create_Task, Create_Restricted_Task,
3697	Initialize): Add comments explaining that the CPU affinity value that
3698	is passed to the run-time library can be either Unspecified_CPU, to
3699	indicate that the task inherits the affinity of its activating task,
3700	or a value in the range of CPU_Range but no greater than Number_Of_CPUs.
3701
37022012-07-17  Javier Miranda  <miranda@adacore.com>
3703
3704	* exp_disp.adb (Make_DT): Remove decoration of Ada.Tags entities.
3705	(Make_Tags): Add decoration of Ada.Tags entities.
3706
37072012-07-17  Ed Schonberg  <schonberg@adacore.com>
3708
3709	* sem_ch6.adb (Check_Statement_Sequence): When locating the
3710	last significant statement in a sequence, ignore iserted nodes
3711	that typically come from expansion of controlled operations.
3712
37132012-07-17  Tristan Gingold  <gingold@adacore.com>
3714
3715	* gnat_rm.texi: Document foreign exceptions.
3716
37172012-07-17  Robert Dewar  <dewar@adacore.com>
3718
3719	* sem_prag.adb, treepr.ads: Minor reformatting.
3720
37212012-07-17  Robert Dewar  <dewar@adacore.com>
3722
3723	* exp_ch9.adb: Minor code reorganization.
3724	* exp_ch3.adb: Minor code improvement.
3725
37262012-07-17  Tristan Gingold  <gingold@adacore.com>
3727
3728	* seh_init.c (__gnat_SEH_error_handler): Not compiled anymore
3729	on Windows 64 (+ SEH), as it is unused.
3730
37312012-07-17  Javier Miranda  <miranda@adacore.com>
3732
3733	* sem_prag.adb (CPP_Class): Transform obsolescent pragma CPP_Class into
3734	CPP convention automatically.
3735
37362012-07-16  Tristan Gingold  <gingold@adacore.com>
3737
3738	* gcc-interface/decl.c (intrin_return_compatible_p): Map Address to
3739	void *.
3740
37412012-07-16  Thomas Quinot  <quinot@adacore.com>
3742
3743	* exp_ch9.adb (Ensure_Statement_Present): New subprogram.
3744	(Expand_N_Asynchronous_Select,
3745	Expand_N_Selective_Accept.Process_Accept_Alternative,
3746	Expand_N_Selective_Accept.Process_Delay_Alternative,
3747	Expand_N_Timed_Entry_Call): For an alternative with no trailing
3748	statements, introduce a null statement to carry the sloc of
3749	the initial special statement (accept, delay, or entry call)
3750	in the alternative, for coverage analysis purposes.
3751
37522012-07-16  Thomas Quinot  <quinot@adacore.com>
3753
3754	* sem_eval.adb (In_Subrange_Of): Fix typo in test for scalar
3755	arguments.
3756
37572012-07-16  Robert Dewar  <dewar@adacore.com>
3758
3759	* a-exexpr.adb, freeze.adb, a-exexpr-gcc.adb, a-except-2005.adb,
3760	sem_eval.adb, s-fileio.adb: Minor reformatting.
3761
37622012-07-16  Javier Miranda  <miranda@adacore.com>
3763
3764	* sem_prag.adb (Analyze_Pragma): Remove support for obsolescent
3765	pragma CPP_Class.
3766	* sem_ch13.adb (Analyze_Freeze_Entity): Add missing error on Ada
3767	derivations of CPP types.  Found updating the tests affected by
3768	the removal of pragma CPP_Class.
3769
37702012-07-16  Thomas Quinot  <quinot@adacore.com>
3771
3772	* back_end.adb: Minor reformatting.
3773
37742012-07-16  Thomas Quinot  <quinot@adacore.com>
3775
3776	* exp_ch9.adb (Expand_N_Selective_Accept.Process_Accept_Alternative):
3777	Remove junk test that was always true. For the case of no statements
3778	following the ACCEPT, jump directly to End_Lab instead of
3779	introducing an intermediate jump.
3780	(Expand_N_Selective_Accept.Process_Delay_Alternative): Fix
3781	predicate testing for presence of statements following the DELAY.
3782	that was always true. For the case of no statements following
3783	the ACCEPT, jump directly to End_Lab instead of introducing an
3784	intermediate jump.
3785	(Expand_N_Selective_Accept): Fix incorrect insertion point for
3786	end label.
3787
37882012-07-16  Thomas Quinot  <quinot@adacore.com>
3789
3790	* gnat_rm.texi: Minor documentation improvements.
3791
37922012-07-16  Yannick Moy  <moy@adacore.com>
3793
3794	* sem_ch13.adb (Analyze_Aspect_Specifications): Allow Pre
3795	and Pre'Class aspects on the same declaration.
3796	* sem_prag.adb (Chain_PPC): Allow Pre and Pre'Class aspects on the
3797	same hierarchy of primitive operations.
3798
37992012-07-16  Thomas Quinot  <quinot@adacore.com>
3800
3801	* freeze.adb (Check_Component_Storage_Order): Do not reject a
3802	nested composite with different scalar storage order if it is
3803	byte aligned.
3804
38052012-07-16  Thomas Quinot  <quinot@adacore.com>
3806
3807	* gnat_rm.texi: Update documentation for Scalar_Storage_Order.
3808
38092012-07-16  Tristan Gingold  <gingold@adacore.com>
3810
3811	* a-exexpr.adb (Propagate_Exception): Adjust call to
3812	Exception_Traces procedures.
3813	* a-exexpr-gcc.adb (Setup_Current_Excep): Now a
3814	function that returns an access to the Ada occurrence.
3815	(Propagate_GCC_Exception): Adjust calls.
3816	* raise.h (struct Exception_Occurrence): Declare.
3817	* a-exextr.adb: Remove useless pragma.	(Notify_Handled_Exception,
3818	Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
3819	Add Excep parameter.
3820	* a-except.adb (Notify_Handled_Exception,
3821	Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
3822	Add Excep parameter.
3823	(Process_Raise_Exception): Adjust calls.
3824	* a-except-2005.adb (Notify_Handled_Exception,
3825	Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add
3826	Excep parameter.
3827	(Raise_Exception): Calls Raise_Exception_Always.
3828	* raise-gcc.c (__gnat_setup_current_excep,
3829	__gnat_notify_handled_exception)
3830	(__gnat_notify_unhandled_exception): Adjust declarations.
3831	(PERSONALITY_FUNCTION): Adjust calls.
3832	(__gnat_personality_seh0): Remove warning.
3833
38342012-07-16  Javier Miranda  <miranda@adacore.com>
3835
3836	* sem_eval.adb (Test_Expression_Is_Foldable): Adding documentation.
3837	(Eval_Relational_Op): Adding documentation.
3838
38392012-07-16  Robert Dewar  <dewar@adacore.com>
3840
3841	* freeze.adb, g-debpoo.adb, exp_ch3.adb: Minor reformatting.
3842
38432012-07-16  Thomas Quinot  <quinot@adacore.com>
3844
3845	* s-oscons-tmplt.c: Add definitions of E2BIG and EILSEQ.
3846
38472012-07-16  Tristan Gingold  <gingold@adacore.com>
3848
3849	* a-exexpr.adb (Propagate_Continue): New function replacing
3850	Raise_Current_Excep.
3851	(Allocate_Occurrence): New function.
3852	(Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
3853	* a-exexpr-gcc.adb (GNAT_GCC_Exception): Occurrence component
3854	is now aliased.
3855	(To_GCC_Exception): Convert from Address.
3856	(Allocate_Occurrence): Allocate an Unwind exception occurrence.
3857	(Setup_Current_Excep): Fill the machine occurrence in case of
3858	foreign exception.
3859	(Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
3860	* a-except.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
3861	Excep parameter.
3862	(Raise_Exception, Raise_Exception_Always,
3863	Raise_Exception_No_Defer): Adjust calls to the above procedures.
3864	(Raise_From_Signal_Handler, Raise_With_Location_And_Msg)
3865	(Rcheck_PE_Finalize_Raised_Exception): Likewise.
3866	* a-except-2005.adb (Set_Exception_C_Msg, Set_Exception_Msg):
3867	add Excep parameter.
3868	(Propagate_Exception): Likewise.
3869	(Allocate_Occurrence): New function.
3870	(Raise_Current_Excep): Removed.
3871	(Complete_Occurrence): New function to save the call chain.
3872	(Complete_And_Propagate_Occurrence): New procedure.
3873	(Create_Occurrence_From_Signal_Handler): New function to build an
3874	occurrence without propagating it.
3875	(Create_Machine_Occurrence_From_Signal_Handler): Likewise, but
3876	return the machine occurrence.
3877	(Raise_From_Signal_Handler): Use Create_Occurrence_From_Signal_Handler.
3878	(Raise_Exception, Raise_Exception_Always, Raise_Exception_No_Defer):
3879	Adjust calls to the above procedures. Allocate the occurrence at
3880	the beginning.
3881	(Raise_With_Location_And_Msg, Raise_With_Msg)
3882	(Rcheck_PE_Finalize_Raised_Exceptionm Reraise): Likewise.
3883	(Reraise_Occurrence): Use Reraise_Occurrence_Always.
3884	(Reraise_Occurrence_Always): Use Reraise_Occurrence_No_Defer.
3885	(Reraise_Occurrence_No_Defer): Preserve machine occurrence.
3886	(Save_Occurrence): Do not save machine occurrence.
3887	* a-except-2005.ads (Exception_Occurrence): Add Machine_Occurrence
3888	component.
3889	(Null_Occurrence): Consider it.
3890	* a-exexda.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
3891	Excep parameter.
3892
38932012-07-16  Tristan Gingold  <gingold@adacore.com>
3894
3895	* seh_init.c (__gnat_map_SEH): New function extracted from
3896	__gnat_SEH_error_handler.
3897	* raise-gcc.c: __gnat_personality_seh0: Directly transforms
3898	Windows system exception into GCC one when possible, in order
3899	to save stack room (particularly useful when Storage_Error will
3900	be propagated).
3901
39022012-07-16  Robert Dewar  <dewar@adacore.com>
3903
3904	* a-direct.adb, g-dirope.adb: Minor reformatting.
3905
39062012-07-16  Tristan Gingold  <gingold@adacore.com>
3907
3908	* a-except.ads, a-except-2005.ads: Remove outdated comment.
3909
39102012-07-16  Robert Dewar  <dewar@adacore.com>
3911
3912	* sem_ch6.adb (Subprogram_Name_Greater): Fix algorithm to
3913	conform to documentation.
3914
39152012-07-16  Ed Schonberg  <schonberg@adacore.com>
3916
3917	* gnat1drv.adb (Check_Library_Items): Removed, no longer used.
3918
39192012-07-16  Ed Schonberg  <schonberg@adacore.com>
3920
3921	* sem_ch3.adb (Array_Type_Declaration): if component type has
3922	invariants, the array type itself requires an invariant procedure.
3923	* exp_ch3.ads, exp_ch3.adb (Build_Array_Invariant_Proc): new
3924	procedure, to build a checking procedure that applies the
3925	invariant check on some type T to each component of an array
3926	of T's.  Code is similar to the construction of the init_proc
3927	for an array, and handles multidimensional arrays by recursing
3928	over successive dimensions.
3929
39302012-07-16  Hristian Kirtchev  <kirtchev@adacore.com>
3931
3932	* g-debpoo.adb: Revert previous change.
3933
39342012-07-16  Hristian Kirtchev  <kirtchev@adacore.com>
3935
3936	* freeze.adb (Freeze_Entity): Insert the itype reference to a
3937	library-level class-wide subtype after the freeze node of the
3938	equivalent record type.
3939
39402012-07-16  Pascal Obry  <obry@adacore.com>
3941
3942	* s-crtl.ads (mkdir): New routine, support encoding.
3943	* adaint.h (__gnat_mkdir): Update spec to pass encoding.
3944	* mkdir.c (__gnat_mkdir): Add encoding parameter.
3945	* a-direct.adb (Create_Directory): Use CRTL.mkdir, parse encoding
3946	in form parameter.
3947	* g-dirope.adb (Make_Dir): Update to pass encoding parameter.
3948
39492012-07-16  Pascal Obry  <obry@adacore.com>
3950
3951	* adaint.c: Minor reformatting.
3952
39532012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
3954
3955	* gcc-interface/utils.c: Include timevar.h.
3956	* Make-lang.in: Fix dependencies.
3957
39582012-07-16  Vasiliy Fofanov  <fofanov@adacore.com>
3959
3960	* ug_words, vms_data.ads: Document VMS qualifiers for -gnatn1/2
3961	switches.
3962
39632012-07-16  Bob Duff  <duff@adacore.com>
3964
3965	* sinfo.ads: Minor comment fix.
3966
39672012-07-16  Bob Duff  <duff@adacore.com>
3968
3969	* sem_elab.adb (Within_Elaborate_All): Walk the with clauses to
3970	find pragmas Elaborate_All that may be found in the transitive
3971	closure of the dependences.
3972
39732012-07-16  Robert Dewar  <dewar@adacore.com>
3974
3975	* exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor
3976	reformatting.
3977
39782012-07-12  Vasiliy Fofanov  <fofanov@adacore.com>
3979
3980	* vms_data.ads: Add VMS qualifiers for -gnatn1/2 switches.
3981
39822012-07-12  Thomas Quinot  <quinot@adacore.com>
3983
3984	* exp_ch5.adb, exp_pakd.adb, rtsfind.ads, freeze.adb, sem_util.adb,
3985	sem_util.ads, exp_aggr.adb
3986	(Exp_Aggr.Packed_Array_Aggregate_Handled): Simplify processing
3987	for reverse storage order aggregate.
3988	(Exp_Pakd.Byte_Swap): New utility routine used by...
3989	(Exp_Pakd.Expand_Bit_Packed_Element_Set,
3990	Expand_Packed_Element_Reference): For the case of a free-standing
3991	packed array with reverse storage order, perform byte swapping.
3992	(Rtsfind): Make new entities RE_Bswap_{16,32,64} available.
3993	(Freeze.Check_Component_Storage_Order): New utility routine
3994	to enforce legality rules for nested composite types whose
3995	enclosing composite has an explicitly defined Scalar_Storage_Order
3996	attribute.
3997	(Sem_Util.In_Reverse_Storage_Order_Object): Renamed from
3998	Sem_Util.In_Reverse_Storage_Order_Record, as SSO now applies to
3999	array types as well.
4000	(Exp_Ch5.Expand_Assign_Array): Remove now unnecessary kludge
4001	for change of scalar storage order in assignments. The Lhs and
4002	Rhs now always have the same scalar storage order.
4003
40042012-07-12  Hristian Kirtchev  <kirtchev@adacore.com>
4005
4006	* g-debpoo.adb (Allocate): Add local constant
4007	No_Element. Initialize the allocated memory chunk to No_Element.
4008
40092012-07-12  Ed Schonberg  <schonberg@adacore.com>
4010
4011	* sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
4012	the case of an instance of a child unit where a formal derived
4013	type DT is an extension of a type T declared in a parent unit,
4014	and the actual in the instance of the child is the type T declared
4015	in the parent instance, and that actual is not a derived type.
4016
40172012-07-12  Eric Botcazou  <ebotcazou@adacore.com>
4018	    Tristan Gingold  <gingold@adacore.com>
4019
4020	* system-hpux-ia64.ads: Enable ZCX by default.
4021	* gcc-interface/Makefile.in: Use alternate stack on ia64-hpux.
4022	Change soext to .so.
4023
40242012-07-12  Robert Dewar  <dewar@adacore.com>
4025
4026	* s-atopri.adb, s-atopri.ads: Minor reformatting.
4027
40282012-07-12  Robert Dewar  <dewar@adacore.com>
4029
4030	* ali.adb: Add circuitry to read new named form of restrictions lines.
4031	* debug.adb: Add doc for new -gnatd.R switch (used positional
4032	notation for output of restrictions data in ali file).
4033	* lib-writ.adb: Implement new named format for restrictions lines.
4034	* lib-writ.ads: Add documentation for new named format for
4035	restrictions in ali files.
4036	* restrict.adb, restrict.ads, sem_prag.adb: Update comments.
4037	* rident.ads: Go back to withing System.Rident
4038	* s-rident.ads: Add extensive comment on dealing with consistency
4039	checking.
4040
40412012-07-12  Thomas Quinot  <quinot@adacore.com>
4042
4043	* par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements.
4044
40452012-07-12  Robert Dewar  <dewar@adacore.com>
4046
4047	* sem_disp.adb: Minor reformatting
4048	* s-bytswa.ads: Minor comment update.
4049
40502012-07-12  Vincent Pucci  <pucci@adacore.com>
4051
4052	* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
4053	Atomic_Load_N replaced by Lock_Free_Read_N. Atomic_Compare_Exchange_N
4054	replaced by Lock_Free_Try_Write_N.
4055	Renaming of several local variables. For
4056	procedure, Expected_Comp declaration moved to the declaration
4057	list of the procedure.
4058	* rtsfind.ads: RE_Atomic_Compare_Exchange_8,
4059	RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
4060	RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
4061	RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64,
4062	RE_Atomic_Synchronize, RE_Relaxed removed.  RE_Lock_Free_Read_8,
4063	RE_Lock_Free_Read_16, RE_Lock_Free_Read_32, RE_Lock_Free_Read_64,
4064	RE_Lock_Free_Try_Write_8, RE_Lock_Free_Try_Write_16,
4065	RE_Lock_Free_Try_Write_32, RE_Lock_Free_Try_Write_64 added.
4066	* s-atopri.adb: New file.
4067	* s-atopri.ads (Atomic_Compare_Exchange_8): Renaming of
4068	parameters.  Import primitive __sync_val_compare_and_swap_1.
4069	(Atomic_Compare_Exchange_16): Renaming of parameters.
4070	Import primitive __sync_val_compare_and_swap_2.
4071	(Atomic_Compare_Exchange_32): Renaming of parameters.
4072	Import primitive __sync_val_compare_and_swap_4.
4073	(Atomic_Compare_Exchange_64): Renaming of parameters.  Import
4074	primitive __sync_val_compare_and_swap_8.
4075	(Atomic_Load_8): Ptr renames parameter X.
4076	(Atomic_Load_16): Ptr renames parameter X.
4077	(Atomic_Load_32): Ptr renames parameter X.
4078	(Atomic_Load_64): Ptr renames parameter X.
4079	(Lock_Free_Read_8): New routine.
4080	(Lock_Free_Read_16): New routine.
4081	(Lock_Free_Read_32): New routine.
4082	(Lock_Free_Read_64): New routine.
4083	(Lock_Free_Try_Write_8): New routine.
4084	(Lock_Free_Try_Write_16): New routine.
4085	(Lock_Free_Try_Write_32): New routine.
4086	(Lock_Free_Try_Write_64): New routine.
4087
40882012-07-12  Robert Dewar  <dewar@adacore.com>
4089
4090	* exp_attr.adb, exp_ch9.adb, sem_ch9.adb, exp_aggr.adb: Minor
4091	reformatting.
4092
40932012-07-12  Vincent Pucci  <pucci@adacore.com>
4094
4095	* sem_dim.adb (Analyze_Dimension_Function_Call): Reformatting of error
4096	msgs for elementary functions.
4097
40982012-07-12  Vincent Pucci  <pucci@adacore.com>
4099
4100	* sem_attr.adb (Eval_Attribute): Minor reformatting.
4101
41022012-07-12  Pascal Obry  <obry@adacore.com>
4103
4104	* prj-nmsc.adb (Check_Library_Attributes): Allow the same library
4105	project in different project tree (different aggregated projects).
4106
41072012-07-12  Thomas Quinot  <quinot@adacore.com>
4108
4109	* s-bytswa.adb, g-bytswa.adb, g-bytswa.ads, s-bytswa.ads: Further
4110	reorganization of byte swapping routines.
4111
41122012-07-12  Ed Schonberg  <schonberg@adacore.com>
4113
4114	* sem_disp.adb (Check_Dispatching_Context): Refine legality
4115	checks on tagg indeterminate calls to abstract operations,
4116	that appear in the context of other calls.
4117
41182012-07-12  Thomas Quinot  <quinot@adacore.com>
4119
4120	* s-bytswa.adb (Swapped2.Bswap16): Remove local function,
4121	no longer needed.
4122
41232012-07-12  Javier Miranda  <miranda@adacore.com>
4124
4125	* exp_attr.adb (Expand_N_Attribute_Reference): For
4126	attributes 'access, 'unchecked_access and 'unrestricted_access,
4127	iff the current instance reference is located in a protected
4128	subprogram or entry then rewrite the access attribute to be the
4129	name of the "_object" parameter.
4130
41312012-07-12  Tristan Gingold  <gingold@adacore.com>
4132
4133	* raise.h: Revert previous patch: structure is used in init.c
4134	by vms.
4135
41362012-07-12  Vincent Celier  <celier@adacore.com>
4137
4138	* make.adb (Binding_Phase): If --subdirs was used, but not
4139	-P, change the working directory to the specified subdirectory
4140	before invoking gnatbind.
4141	(Linking_Phase): If --subdirs was used, but not -P, change the working
4142	directory to the specified subdirectory before invoking gnatlink.
4143
41442012-07-12  Vincent Pucci  <pucci@adacore.com>
4145
4146	* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
4147	For a procedure, instead of replacing each Comp reference by a
4148	reference to Current_Comp, make a renaming Comp of Current_Comp
4149	that rewrites the original renaming generated by the compiler
4150	during the analysis. Move the declarations of the procedure
4151	inside the generated block.
4152	(Process_Stmts): Moved in the body
4153	of Build_Lock_Free_Unprotected_Subprogram_Body.
4154	(Process_Node):
4155	Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body.
4156	* sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict any
4157	non-elementary out parameters in protected procedures.
4158
41592012-07-12  Thomas Quinot  <quinot@adacore.com>
4160
4161	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
4162	Scalar_Storage_Order): Attribute applies to base type only.
4163
41642012-07-12  Ed Schonberg  <schonberg@adacore.com>
4165
4166	* exp_aggr.adb (Convert_To_Positional): Increase acceptable size
4167	of static aggregate when Static_Elaboration_Desired is requested.
4168	Add a warning if the request cannot be satisfied either because
4169	some components or some array bounds are non-static.
4170
41712012-07-12  Thomas Quinot  <quinot@adacore.com>
4172
4173	* exp_pakd.adb: Minor reformatting.
4174
41752012-07-12  Tristan Gingold  <gingold@adacore.com>
4176
4177	* tracebak.c: Fix warnings.
4178	* raise-gcc.c (__gnat_adjust_context): New function
4179	(__gnat_personality_seh0): Call __gnat_adjust_context to adjust
4180	PC in machine frame for exceptions that occur in the current
4181	function.
4182
41832012-07-12  Thomas Quinot  <quinot@adacore.com>
4184
4185	* g-bytswa.adb, g-bytswa.ads, s-bytswa.adb, s-bytswa.ads, Makefile.rtl:
4186	Move GNAT.Byte_Swapping to System (with a renaming under GNAT)
4187	so that it is usable in expanded code.
4188
41892012-07-12  Tristan Gingold  <gingold@adacore.com>
4190
4191	* s-osinte-hpux.ads: Increase alternate stack size on hpux.
4192
41932012-07-12  Javier Miranda  <miranda@adacore.com>
4194
4195	* exp_ch3.adb (Make_Neq_Body): Fix typo in comment.
4196
41972012-07-12  Eric Botcazou  <ebotcazou@adacore.com>
4198
4199	* tb-gcc.c (trace_callback): On IA-64/HP-UX, use workaround only
4200	if USE_LIBUNWIND_EXCEPTIONS is defined.
4201	* init.c: Further tweaks for IA-64/HP-UX.
4202
42032012-07-12  Tristan Gingold  <gingold@adacore.com>
4204
4205	* raise-gcc.c: Do not include unwind-dw2-fde.h. Adjust comments.
4206	(db_region_for): Second argument is ip.  Do not recompute ip.
4207	(action_kind): Remove typedef, add unhandler enum const.
4208	(action_descriptor): Adjust type of kind field.
4209	(db_action_for): Second argument is ip, do not recompute it.
4210	(get_call_site_action_for): First argument is call_site, do not
4211	recompute it.  Remove useless return.
4212	(is_handled_by): Now return enum action_kind.
4213	Handle GNAT_ALL_OTHERS first.
4214	Return unhandler for GNAT_UNHANDLED_OTHERS.
4215	(get_action_description_for): First argument is now ip, do not
4216	recompute it.  Adjust code for call to is_handled_by.
4217	(__gnat_notify_unhandled_exception): Add prototype.
4218	(PERSONALITY_FUNCTION): Call get_ip_from_context.  Adjust calls.
4219	Handle unhandler case.
4220	(__gnat_cleanupunwind_handler): Add comments, add
4221	ATTRIBUTE_UNUSED on arguments.
4222	(__gnat_Unwind_RaiseException, __gnat_Unwind_ForcedUnwind): Define
4223	only once.
4224	* raise.h: Makes struct Exception_Data opaque.
4225
42262012-07-12  Robert Dewar  <dewar@adacore.com>
4227
4228	* make.adb, sem_ch9.adb, prj.adb, s-rident.ads, snames.ads-tmpl: Minor
4229	reformatting.
4230
42312012-07-12  Javier Miranda  <miranda@adacore.com>
4232
4233	* exp_ch3.adb (Is_User_Defined_Equality): New subprogram.
4234	(Make_Neq_Body): New subprogram.
4235	(Make_Predefined_Primitive_Specs): Adding local variable
4236	Has_Predef_Eq_ Renaming to ensure that we enable the machinery
4237	which handles renamings of predefined primitive operators.
4238
42392012-07-09  Pascal Obry  <obry@adacore.com>
4240
4241	* prj.adb (For_Every_Project_Imported_Context): Make sure we
4242	callback with the project having sources.
4243	Minor reformatting.
4244
42452012-07-09  Eric Botcazou  <ebotcazou@adacore.com>
4246
4247	* make.adb: Fix typo.
4248
42492012-07-09  Vincent Pucci  <pucci@adacore.com>
4250
4251	* sem_ch9.adb (Check_Node): Allow attributes
4252	that denote static function for lock-free implementation.
4253	(Is_Static_Function): New routine.
4254
42552012-07-09  Tristan Gingold  <gingold@adacore.com>
4256
4257	* tracebak.c: Adjust skip_frames on Win64.
4258
42592012-07-09  Tristan Gingold  <gingold@adacore.com>
4260
4261	* init.c: Add __gnat_adjust_context_for_raise for ia64/hpux.
4262	* raise-gcc.c: __gnat_cleanupunwind_handler: Do not call
4263	_Unwind_GetGR on hpux when using libgcc unwinder.  Part of
4264
42652012-07-09  Vincent Pucci  <pucci@adacore.com>
4266
4267	* exp_attr.adb, sem_attr.adb: Minor reformatting.
4268	* par-ch13.adb, par-ch4.adb, par-util.adb: Reformatting
4269	considering that internal attribute names are not defined anymore
4270	in the main attribute names list.
4271	* snames.adb-tmpl (Get_Attribute_Id): Special processinf
4272	for names CPU, Dispatching_Domain and Interrupt_Priority.
4273	(Is_Internal_Attribute_Name): Minor reformatting.
4274	* snames.ads-tmpl: New list of internal attribute names. Internal
4275	attributes moved at the end of the attribute Id list.
4276
42772012-07-09  Robert Dewar  <dewar@adacore.com>
4278
4279	* freeze.adb: Minor code reorganization (use Ekind_In).
4280	* exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb,
4281	sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb,
4282	sem_ch13.adb, snames.ads-tmpl: Minor reformatting.
4283
42842012-07-09  Tristan Gingold  <gingold@adacore.com>
4285
4286	* raise-gcc.c: Adjust previous patch.
4287
42882012-07-09  Vincent Celier  <celier@adacore.com>
4289
4290	* make.adb (Compilation_Phase): Do not build libraries in
4291	Codepeer mode (do not call Library_Phase).
4292
42932012-07-09  Ed Schonberg  <schonberg@adacore.com>
4294
4295	* sem_ch13.adb: Extend previous change to elementary types.
4296
42972012-07-09  Javier Miranda  <miranda@adacore.com>
4298
4299	* exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Reverse
4300	previous patch since unconditionally handling as renaming_as_body
4301	renamings of predefined dispatching equality and unequality operator
4302	cause visibility problems with private overridings of the equality
4303	operator (see ACATS C854001).
4304
43052012-07-09  Vincent Pucci  <pucci@adacore.com>
4306
4307	* exp_attr.adb (Signal_Bad_Attribute): Raise Program_Error in
4308	case of internal attribute names (already rejected by the parser).
4309	* par-ch13.adb (P_Representation_Clause): Complain if an internal
4310	attribute name that comes from source occurs.
4311	* par-ch4.adb (P_Name): Complain if an internal attribute name
4312	occurs in the context of an attribute reference.
4313	* par-util.adb (Signal_Bad_Attribute): Don't complain about
4314	mispelling attribute with internal attributes.
4315	* sem_attr.adb (Analyze_Attribute): Raise Program_Error in case
4316	of internal attribute names (already rejected by the parser).
4317	* snames.adb-tmpl (Is_Internal_Attribute_Name): New routine.
4318	* snames.ads-tmpl: Attributes CPU, Dispatching_Domain and
4319	Interrupt_Priority are marked as INT attributes since they
4320	don't denote real attribute and are only used internally in
4321	the compiler.
4322	(Is_Internal_Attribute_Name): New routine.
4323
43242012-07-09  Thomas Quinot  <quinot@adacore.com>
4325
4326	* einfo.adb (Set_Reverse_Storage_Order): Update assertion,
4327	flag is now valid for array types as well.
4328
43292012-07-09  Tristan Gingold  <gingold@adacore.com>
4330
4331	* tracebak.c: Implement __gnat_backtrace for Win64 SEH.
4332
43332012-07-09  Robert Dewar  <dewar@adacore.com>
4334
4335	* einfo.ads: Minor reformatting.
4336
43372012-07-09  Javier Miranda  <miranda@adacore.com>
4338
4339	* exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Handle as
4340	renaming_as_body renamings of predefined dispatching equality
4341	and unequality operators.
4342
43432012-07-09  Robert Dewar  <dewar@adacore.com>
4344
4345	* rident.ads: Do not instantiate r-ident.ads, this is now an
4346	independent unit.
4347
43482012-07-09  Javier Miranda  <miranda@adacore.com>
4349
4350	* exp_disp.adb (Write_DT): Avoid runtime crash of this debugging
4351	routine.
4352	* sem_disp.adb (Find_Dispatching_Time): Protect this routine
4353	against partially decorated entities.
4354
43552012-07-09  Ed Schonberg  <schonberg@adacore.com>
4356
4357	* sem_ch13.adb (Check_Size): Reject a size clause that specifies
4358	a value greater than Int'Last for a scalar type.
4359
43602012-07-09  Vincent Pucci  <pucci@adacore.com>
4361
4362	* sem_ch9.adb (Allows_Lock_Free_Implementation): type must support
4363	atomic operation moved to the protected body case. No non-elementary
4364	out parameter moved to the protected declaration case. Functions have
4365	only one lock-free restriction.
4366	(Analyze_Protected_Type_Declaration): Issue a warning when
4367	Priority given with Lock_Free.
4368
43692012-07-09  Vincent Pucci  <pucci@adacore.com>
4370
4371	* sem_dim.adb: Grammar of aspect Dimension fixed.
4372
43732012-07-09  Vincent Pucci  <pucci@adacore.com>
4374
4375	* freeze.adb (Freeze_Record_Type): Code reorg in order to avoid
4376	pushing and popping the scope stack whenever a delayed aspect occurs.
4377
43782012-07-09  Gary Dismukes  <dismukes@adacore.com>
4379
4380	* s-os_lib.ads: Remove pragma Elaborate_Body, as
4381	this is now unnecessary due to recently added pragma Preelaborate.
4382
43832012-07-09  Jose Ruiz  <ruiz@adacore.com>
4384
4385	* s-taprop-mingw.adb (Set_Priority): Remove the code that was
4386	previously in place to reorder the ready queue when a task drops
4387	its priority due to the loss of inherited priority.
4388
43892012-07-09  Robert Dewar  <dewar@adacore.com>
4390
4391	* layout.adb, i-cstrea.ads, a-ststio.ads, prj-util.ads, sem_cat.adb,
4392	s-commun.ads, s-ficobl.ads, s-os_lib.ads, s-fileio.ads: Minor
4393	reformatting.
4394
43952012-07-09  Eric Botcazou  <ebotcazou@adacore.com>
4396
4397	* raise-gcc.c: Update comments. Fix typo.
4398
43992012-07-09  Thomas Quinot  <quinot@adacore.com>
4400
4401	* einfo.adb, einfo.ads, sem_attr.adb, sem_ch13.adb: Attribute
4402	Scalar_Storage_Order can be defined or queried for array types as well
4403	as record types.
4404
44052012-07-09  Tristan Gingold  <gingold@adacore.com>
4406
4407	* a-exexpr-gcc.adb (CleanupUnwind_Handler): Now imported from
4408	raise-gcc.c
4409	* raise-gcc.c (__gnat_cleanupunwind_handler): Defined.
4410	Strictly follow the ABI convention on ia64.
4411
44122012-07-09  Gary Dismukes  <dismukes@adacore.com>
4413
4414	* a-ststio.ads: Add pragma Preelaborate, per AI05-0283.
4415	* i-cstrea.ads (max_path_len): Change from variable to deferred
4416	constant to allow it to be used as a bound in string component
4417	in type System.File_IO.Temp_File_Record.
4418	* s-os_lib.ads, s-commun.ads, s-ficobl.ads, s-fileio.ads: Add pragma
4419	Preelaborate.
4420	* s-fileio.adb (Get_Case_Sensitive): Move function inside
4421	procedure Open.
4422	(File_Names_Case_Sensitive): Move variable inside
4423	procedure Open, to avoid violation of Preelaborate restriction
4424	(due to call to Get_Case_Sensitive).
4425
44262012-07-09  Ed Schonberg  <schonberg@adacore.com>
4427
4428	* layout.adb (Set_Elem_Alignment): Protect against meaningless
4429	size clause, to prevent overflow in internal computation of
4430	alignment.
4431
44322012-07-09  Robert Dewar  <dewar@adacore.com>
4433
4434	* freeze.adb, prj-util.adb, prj-util.ads, sem_ch13.adb: Minor
4435	reformatting.
4436
44372012-07-09  Gary Dismukes  <dismukes@adacore.com>
4438
4439	* sem_cat.adb (Check_Categorization_Dependencies):
4440	Allow dependence of both Remote_Types and Remote_Call_Interface
4441	declarations (not just Remote_Types units) on preelaborated
4442	units, but require that the dependence be made via a private
4443	with_clause. Issue a specialized error message.
4444
44452012-07-09  Pascal Obry  <obry@adacore.com>
4446
4447	* prj-util.adb, prj-util.ads (For_Interface_Sources): New routine.
4448
44492012-07-09  Tristan Gingold  <gingold@adacore.com>
4450
4451	* seh_init.c (__gnat_SEH_error_handler): On Win64 and SEH,
4452	return for unknown exceptions.
4453	* raise-gcc.c (__gnat_personality_seh0): Call __gnat_SEH_error_handler.
4454
44552012-07-09  Joel Brobecker  <brobecker@adacore.com brobecker>
4456
4457	* exp_dbug.ads (No_Dollar_In_Label): Delete.
4458
44592012-07-09  Vincent Pucci  <pucci@adacore.com>
4460
4461	* sem_ch13.adb (Check_Overloaded_Name): New routine.
4462
44632012-07-09  Vincent Pucci  <pucci@adacore.com>
4464
4465	* freeze.adb (Freeze_Record_Type): Analyze the delayed aspects of the
4466	components in a record type.
4467
44682012-07-09  Pascal Obry  <obry@adacore.com>
4469
4470	* prj-util.ads: Minor reformatting.
4471
44722012-07-09  Tristan Gingold  <gingold@adacore.com>
4473
4474	* raise-gcc.c (db_indent): Simplify style, improve comments.
4475	Remove !IN_RTS part (dead).
4476
44772012-07-09  Robert Dewar  <dewar@adacore.com>
4478
4479	* usage.adb: Minor change to format of -gnatn line.
4480
44812012-07-09  Tristan Gingold  <gingold@adacore.com>
4482
4483	* a-exexpr-gcc.adb: Reorder routine.
4484
44852012-07-09  Vincent Celier  <celier@adacore.com>
4486
4487	* lib-writ.ads: Add documentation for the Z lines (implicitly
4488	withed units) and Y lines (limited withed units).
4489
44902012-07-09  Robert Dewar  <dewar@adacore.com>
4491
4492	* lib.ads, exp_attr.adb, exp_ch9.adb, sem_dim.adb, sem_ch9.adb,
4493	sem_prag.adb, sem_ch12.adb, mlib-utl.adb, freeze.adb, sem_res.adb,
4494	sem_attr.adb, sem_case.adb, gnatlink.adb, exp_ch4.adb, sem_ch6.adb,
4495	sem_elim.adb, s-dimmks.ads, sem_ch13.adb: Minor code clean ups.
4496
44972012-07-09  Eric Botcazou  <ebotcazou@adacore.com>
4498
4499	* gnat_ugn.texi (Switches for gcc): Document -gnatn[12] only
4500	lightly in the summary and more thoroughly in inlining section.
4501	(Performance Considerations): Document -gnatn[12] in inlining
4502	section.
4503
45042012-07-09  Tristan Gingold  <gingold@adacore.com>
4505
4506	* a-exexpr-gcc.adb (Unhandled_Except_Handler): New procedure.
4507	(Unhandled_Others_Value): New const.
4508	* raise-gcc.c (GNAT_UNHANDLED_OTHERS): Define.
4509	(action_descriptor): Remove ttype_entry.
4510	(get_action_description_for): Do not assign ttype_entry.
4511	(is_handled_by): Consider GNAT_UNHANDLED_OTHERS.
4512
45132012-07-03  Eric Botcazou  <ebotcazou@adacore.com>
4514
4515	* gcc-interface/trans.c (Call_to_gnu): Robustify test for function case
4516	if the CICO mechanism is used.
4517
45182012-07-03  Eric Botcazou  <ebotcazou@adacore.com>
4519
4520	* gcc-interface/utils2.c (build_simple_component_ref): Do not look
4521	through an extension if the type contains a placeholder.
4522
45232012-07-03  Eric Botcazou  <ebotcazou@adacore.com>
4524
4525	* exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on
4526	the designated subprogram type and also set Is_Dispatch_Table_Entity.
4527	(Expand_Interface_Thunk): Propagate the convention on the thunk.
4528	(Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on
4529	the internal view of the constructors.
4530	(Set_CPP_Constructors): Likewise.
4531	* sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the
4532	convention on the function.
4533	* gcc-interface/gigi.h (is_cplusplus_method): Declare.
4534	* gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
4535	(gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall'
4536	calling convention
4537	(get_minimal_subprog_decl): Likewise.
4538	(is_cplusplus_method): New predicate.
4539	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an
4540	error on access to C++ constructor or member function.
4541
45422012-07-03  Eric Botcazou  <ebotcazou@adacore.com>
4543
4544	* gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for types
4545	attached to a TYPE_DECL.
4546
45472012-06-26  Vincent Pucci  <pucci@adacore.com>
4548
4549	* exp_ch3.adb (Build_Init_Statements): Don't check the parents
4550	in the Rep Item Chain of the task for aspects Interrupt_Priority,
4551	Priority, CPU and Dispatching_Domain.
4552	* exp_ch9.adb (Expand_N_Task_Type_Declaration): fields _Priority,
4553	_CPU and _Domain are present in the corresponding record type
4554	only if the task entity has a pragma, attribute definition
4555	clause or aspect specification.
4556	(Make_Initialize_Protection): Don't check the parents in the Rep Item
4557	Chain of the task for aspects Interrupt_Priority, Priority, CPU and
4558	Dispatching_Domain.
4559	* freeze.adb (Freeze_Entity): Use of Evaluate_Aspects_At_Freeze_Point
4560	call replaced by Analyze_Aspects_At_Freeze_Point.
4561	* sem_ch13.adb, sem_ch13.ads (Analyze_Aspects_At_Freeze_Point):
4562	Renaming of Evaluate_Aspects_At_Freeze_Point.
4563
45642012-06-26  Yannick Moy  <moy@adacore.com>
4565
4566	* sem_attr.adb (Analyze_Attribute): Detect if 'Old is used outside a
4567	postcondition, and issue an error in such a case.
4568
45692012-06-26  Yannick Moy  <moy@adacore.com>
4570
4571	* gnat_rm.texi: Minor editing.
4572
45732012-06-26  Tristan Gingold  <gingold@adacore.com>
4574
4575	* raise-gcc.c: Minor cleanup: remove unused prototype.
4576	* seh_init.c: Do not create an image wide unwind info to catch
4577	SEH when SEH unwind info are emitted by the compiler.
4578
45792012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
4580
4581	* gcc-interface/trans.c: Include target.h.
4582	(gigi): Try to put out .ident with targetm.asm_out.output_ident.
4583	Remove uses of ASM_OUTPUT_IDENT.
4584	* gcc-interface/Make-lang.in: Fix dependencies.
4585
45862012-06-15  Eric Botcazou  <ebotcazou@adacore.com>
4587
4588	PR ada/53592
4589	* gcc-interface/gigi.h (maybe_vector_array): Make static inline.
4590	* gcc-interface/utils.c (maybe_vector_array): Delete.
4591	* gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the
4592	array object as addressable if it has vector type and is on the LHS.
4593
45942012-06-15  Eric Botcazou  <ebotcazou@adacore.com>
4595
4596	PR middle-end/53590
4597	* gcc-interface/misc.c (gnat_init_options_struct): Set
4598	opts->x_flag_delete_dead_exceptions to 1.
4599
46002012-06-14  Jose Ruiz  <ruiz@adacore.com>
4601
4602	* gcc-interface/Make-lang.in (ada.install-common, ada.uninstall):
4603	Use the prefix specified with the --program-prefix configure option
4604	to determine the install name of the Ada tools.
4605	(ada.all.cross): Use a for loop to iterate over the set of Ada tools
4606	instead of duplicate the same processing.
4607	Update dependencies.
4608
46092012-06-14  Vincent Pucci  <pucci@adacore.com>
4610
4611	* exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_Symbol
4612	call replaced by Expand_Put_Call_With_Symbol call.
4613	* sem_dim.adb: New fields Unit_Names, Unit_Symbols
4614	and Dim_Symbols for record type System_Type.
4615	(From_Dimension_To_String_Of_Symbols): Removed.
4616	(From_Dim_To_Str_Of_Dim_Symbols): Renames previous
4617	routine From_Dimension_To_String_Of_Symbols.
4618	(From_Dim_To_Str_Of_Unit_Symbols): New routine.
4619	(Analyze_Aspect_Dimension): argument Symbol in aspect
4620	Dimension aggregate is optional. Named association implemented.
4621	(Has_Compile_Time_Known_Expressions): Removed.
4622	(Analyze_Aspect_Dimension_System): New
4623	component Dim_Symbol in each Dimension aggregate in
4624	aspect Dimension_System. Named associations implemented.
4625	(Add_Dimension_Vector_To_Buffer): Removed.
4626	(Add_Whole_To_Buffer): Removed.
4627	(Expand_Put_Call_With_Dimension_Symbol.): Removed.
4628	(Expand_Put_Call_With_Symbol): Renames previous routine
4629	Expand_Put_Call_With_Dimension_Symbol.
4630	(Has_Dimension_Symbols): Removed.
4631	(Has_Symbols): Renames previous routine
4632	Has_Dimension_Symbols.	(Store_String_Oexpon): New routine.
4633	* sem_dim.ads (Expand_Put_Call_With_Dimension_Symbol.): Removed.
4634	(Expand_Put_Call_With_Symbol): Renames previous routine
4635	Expand_Put_Call_With_Dimension_Symbol.
4636	* s-diflio.adb, s-diinio.adb (Put): Symbol renames Symbols.
4637	(Put_Dim_Of): New routines.
4638	* s-diflio.ads, s-diinio.ads: documentation updated.
4639	(Put): Symbol renames Symbols.
4640	(Put_Dim_Of): New routines.
4641	* s-dim.ads: documentation updated.
4642	* s-dimmks.ads: dimensioned type and subtypes updated.
4643	* snames.ads-tmpl: Name_Dim_Symbol, Name_Put_Dim_Of, Name_Symbol,
4644	and Name_Unit_Symbol added. Name_Symbols removed.
4645
46462012-06-14  Vincent Pucci  <pucci@adacore.com>
4647
4648	* freeze.adb (In_Exp_Body): Expression function case added.
4649	(Freeze_Expression): Insert the Freeze_Nodes
4650	list before the correct current scope in case of a quantified
4651	expression.
4652
46532012-06-14  Pascal Obry  <obry@adacore.com>
4654
4655	* projects.texi: Document the Install package for gprinstall.
46562012-06-14  Ed Schonberg  <schonberg@adacore.com>
4657
4658	* sem_elim.adb (Check_For_Eliminated_Subprogram): Do not check within
4659	a default expression.
4660	* sem_res.adb (Resolve_Call): simplify code.
4661
46622012-06-14  Ed Schonberg  <schonberg@adacore.com>
4663
4664	* sem_case.adb (Check, Issue_Msg): within an instance, non-other
4665	values in a variant part or a case expression do not have to
4666	belong to the actual subtype.
4667
46682012-06-14  Ed Schonberg  <schonberg@adacore.com>
4669
4670	* sem_ch12.adb (Validate_Derived_Type_Instance): If parent is
4671	an interface type, check whether it is itself a previous formal
4672	already instantiated in the current list of actuals.
4673
46742012-06-14  Ed Schonberg  <schonberg@adacore.com>
4675
4676	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): The
4677	expression for a stream attribute is a name that may be overloaded
4678	with other declarations. To determine whether it matches the
4679	aspect at the freeze point, it is necessary to verify that one
4680	of its interpretations matches.
4681
46822012-06-14  Robert Dewar  <dewar@adacore.com>
4683
4684	* exp_ch7.adb, exp_util.adb, sem_aux.ads, exp_ch9.adb,
4685	sem_ch10.adb, freeze.adb, sem_util.adb, exp_ch4.adb,
4686	s-taprop-dummy.adb: Minor reformatting.
4687
46882012-06-14  Vincent Pucci  <pucci@adacore.com>
4689
4690	* exp_attr.adb (Expand_N_Attribute_Reference): Lock_Free
4691	attribute case added.
4692	* par-prag.adb (Prag): Lock_Free pragma case added.
4693	* sem_attr.adb (Analyze_Attribute_Reference): Lock_Free attribute
4694	case added.
4695	* sem_ch13.adb (Analyze_Aspect_Specifications): Record_Rep_Item
4696	call added for Aspect_Lock_Free.
4697	* sem_ch9.adb (Allows_Lock_Free_Implementation): New Lock_Free
4698	error messages for subprogram bodies.
4699	(Lock_Free_Disabled): New routine.
4700	(Analyze_Protected_Body): Call to Lock_Free_Disabled added.
4701	* sem_prag.adb (Analyze_Pragma): Lock_Free pragma case added.
4702	* snames.adb-tmpl (Get_Pragma_Id): Name_Lock_Free case added.
4703	(Is_Pragma_Name): Name_Lock_Free case added.
4704	* snames.ads-tmpl: Attribute_Lock_Free and Pragma_Lock_Free added.
4705
47062012-06-14  Ed Schonberg  <schonberg@adacore.com>
4707
4708	* a-coorma.adb, a-cborma.adb, a-cbhama.adb, a-ciorma.adb: Add missing
4709	aliased keyword.
4710
47112012-06-14  Bob Duff  <duff@adacore.com>
4712
4713	* lib.ads, lib.adb, sem.adb (Write_Unit_Info): Move this
4714	procedure from Sem body to Lib spec, so it can be used for
4715	debugging elsewhere.
4716
47172012-06-14  Ed Schonberg  <schonberg@adacore.com>
4718
4719	* sem_ch6.adb (Check_Conformance): Add Ada 2012 check on mode
4720	conformance: "aliased" must apply to both or neither formal
4721	parameters.
4722
47232012-06-14  Gary Dismukes  <dismukes@adacore.com>
4724
4725	* exp_ch9.adb: Minor reformatting.
4726
47272012-06-14  Thomas Quinot  <quinot@adacore.com>
4728
4729	* freeze.adb (Freeze_Record_Type): Warn about useless bit order
4730	specification [when there's no component clause] regardless
4731	of whether the specified bit order is reversed or not.
4732
47332012-06-14  Tristan Gingold  <gingold@adacore.com>
4734
4735	* raise-gcc.c (__gnat_personality_seh0): New function.
4736
47372012-06-14  Tristan Gingold  <gingold@adacore.com>
4738
4739	* gnatname.adb (Gnatname): Make sure that dynamic table
4740	argument_data is initialized.
4741
47422012-06-14  Robert Dewar  <dewar@adacore.com>
4743
4744	* sem_aux.adb: Minor code reorganization.
4745
47462012-06-14  Vincent Pucci  <pucci@adacore.com>
4747
4748	* einfo.adb einfo.ads (Get_Rep_Item): Removed.
4749	(Get_Rep_Item_For_Entity): Removed.
4750	(Get_Rep_Pragma): Removed.
4751	(Get_Rep_Pragma_For_Entity): Removed.
4752	(Has_Rep_Item): Removed.
4753	(Has_Rep_Pragma): Removed.
4754	(Has_Rep_Pragma_For_Entity): Removed.
4755	* exp_ch9.adb (Expand_N_Task_Type_Declaration):
4756	Has_Rep_Pragma_For_Entity replaced by Has_Rep_Pragma
4757	and Get_Rep_Pragma_For_Entity replaced by Get_Rep_Pragma.
4758	(Make_Task_Create_Call): Has_Rep_Pragma_For_Entity replaced
4759	by Has_Rep_Pragma and Get_Rep_Pragma_For_Entity replaced by
4760	Get_Rep_Pragma.
4761	* exp_intr.adb: Dependency to Sem_Aux added for call to Get_Rep_Pragma.
4762	* sem_aux.adb (Get_Rep_Item): New routine.
4763	(Get_Rep_Pragma): New routine.
4764	(Has_Rep_Item): New routine.
4765	(Has_Rep_Pragma): New routine.
4766	(Nearest_Ancestor): Minor reformatting.
4767	* sem_aux.ads (Get_Rep_Item): New routine.
4768	(Get_Rep_Pragma): New routine.
4769	(Has_Rep_Item): New routine.
4770	(Has_Rep_Pragma): New routine.
4771	* sem_ch13.adb (Duplicate_Clause): Restore original error messages.
4772	* sem_eval.adb (Subtypes_Statically_Match): Get_Rep_Item_For_Entity
4773	replaced by Get_Rep_Item.
4774	* sem_prag.adb (Analyze_Pragma): Restore original error messages.
4775	(Check_Duplicate_Pragma): Restore original error messages.
4776
47772012-06-14  Ed Schonberg  <schonberg@adacore.com>
4778
4779	* sem_util.adb (Is_Object_Reference): in Ada 2012, qualified
4780	expressions are valid names.
4781
47822012-06-14  Ed Schonberg  <schonberg@adacore.com>
4783
4784	* sem_ch10.adb (Analyze_Compilation_Unit): If the unit is an
4785	instantiation do not emit warnings for obsolescent units. The
4786	warnings belong on the corresponding generic.
4787
47882012-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
4789
4790	* einfo.adb: Update the usage of Node15.
4791	(Return_Flag_Or_Transient_Decl): Removed.
4792	(Set_Return_Flag_Or_Transient_Decl): Removed.
4793	(Set_Status_Flag_Or_Transient_Decl): New routine.
4794	(Status_Flag_Or_Transient_Decl): New routine.
4795	(Write_Field15_Name): Update the output for variables and constants.
4796	* einfo.ads: Remove attribute
4797	Return_Flag_Or_Transient_Decl along with occurrences in nodes.
4798	(Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
4799	(Set_Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
4800	(Set_Status_Flag_Or_Transient_Decl): New routine along with pragma
4801	Inline.
4802	(Status_Flag_Or_Transient_Decl): New routine along with pragma Inline.
4803	* exp_ch4.adb (Create_Alternative): New routine.
4804	(Expand_N_Conditional_Expression): Handle the case
4805	where at least one of the conditional expression
4806	alternatives prodices a controlled temporary by means of a function
4807	call.
4808	(Is_Controlled_Function_Call): New routine.
4809	(Process_Transient_Object): Update the call to
4810	Set_Return_Flag_Or_Transient_Decl.
4811	* exp_ch6.adb (Enclosing_Context): New routine.
4812	(Expand_N_Extended_Return_Statement): Update all calls to
4813	Set_Return_Flag_Or_Transient_Decl.
4814	(Expand_Ctrl_Function_Call): Prohibit the finalization of a controlled
4815	function result when the context is a conditional expression.
4816	* exp_ch7.adb (Process_Declarations): Update all calls to
4817	Return_Flag_Or_Transient_Decl. Add processing for intermediate
4818	results of conditional expressions where one of the alternatives
4819	uses a controlled function call.
4820	(Process_Object_Declaration): Update all calls to
4821	Return_Flag_Or_Transient_Decl and rearrange the logic to process
4822	"hook" objects first.
4823	(Process_Transient_Objects): Update the call to
4824	Set_Return_Flag_Or_Transient_Decl.
4825	* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean,
4826	Boolean)): Update all calls to Return_Flag_Or_Transient_Decl. Add
4827	detection for intermediate results of conditional expressions
4828	where one of the alternatives uses a controlled function call.
4829
48302012-06-13  Eric Botcazou  <ebotcazou@adacore.com>
4831
4832	Revert
4833	2012-05-19  Eric Botcazou  <ebotcazou@adacore.com>
4834
4835	* gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
4836	(gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
4837	calling convention
4838	(get_minimal_subprog_decl): Likewise.
4839	(gnat_first_param_is_class): New predicate.
4840
48412012-06-12  Robert Dewar  <dewar@adacore.com>
4842
4843        * gcc-interface/Make-lang.in: Update dependencies.
4844	* sem_ch9.ads, einfo.adb, einfo.ads, sem_prag.adb, freeze.adb,
4845	sem_util.adb, sem_ch13.adb, sem_ch13.ads, exp_ch3.adb: Add comments.
4846	Minor reformatting.
4847
48482012-06-12  Ed Schonberg  <schonberg@adacore.com>
4849
4850	* sem_ch12.adb (Instantiate_Formal_Subprogram): Remove code that
4851	implements AI05-0296, because the actual may be overloaded.
4852	* sem_ch8.adb (Analyze_Subprogram_Renaming): and move it here,
4853	to be applied once the actual subprogram is properly resolved.
4854
48552012-06-12  Robert Dewar  <dewar@adacore.com>
4856
4857	* switch-c.adb, a-exexpr-gcc.adb: Minor reformatting.
4858
48592012-06-12  Vincent Pucci  <pucci@adacore.com>
4860
4861	* checks.adb (Tag_Checks_Suppressed): Remove Kill_Tag_Checks check.
4862	* einfo.adb (Universal_Aliasing): Apply to the implementation
4863	base type instead of the base type.
4864	(Get_Rep_Item_For_Entity):
4865	Return a pragma if the pragma node is not present in the Rep
4866	Item chain of the parent.
4867	(Kill_Tag_Checks): Removed (unused flag).
4868	(Set_Kill_Tag_Checks): Removed.
4869	(Get_First_Rep_Item): New routine.
4870	(Get_Rep_Pragma_For_Entity): New routine.
4871	(Has_Rep_Item): New routine.
4872	(Has_Rep_Pragma_For_Entity): New routine.
4873	(Present_In_Rep_Item): New routine.
4874	* einfo.ads (Kill_Tag_Checks): Removed.
4875	(Set_Kill_Tag_Checks): Removed.
4876	(Get_First_Rep_Item): New routine.
4877	(Get_Rep_Pragma_For_Entity): New routine.
4878	(Has_Rep_Item): New routine.
4879	(Has_Rep_Pragma_For_Entity): New routine.
4880	(Present_In_Rep_Item): New routine.
4881	* exp_attr.adb, sem_attr.adb: Attribute_CPU,
4882	Attribute_Dispatching_Domain and Attribute_Interrupt_Priority
4883	case added.
4884	* exp_ch13.adb (Expand_N_Attribute_Definition_Clause): For
4885	attribute Storage_Size, insert the new assignement statement
4886	after the Size variable declaration.
4887	* exp_ch3.adb (Build_Init_Statements): Fill the CPU,
4888	Dispatching_Domain, Priority and Size components with the Rep
4889	Item expression (if any).
4890	* exp_ch9.adb (Expand_N_Task_Type_Declaration): _CPU,
4891	_Priority, _Domain fields are always present in the
4892	corresponding record type.
4893	(Find_Task_Or_Protected_Pragma): Removed.
4894	(Get_Relative_Deadline_Pragma): New routine.
4895	(Make_Initialize_Protection): Find_Task_Or_Protected_Pragma removed.
4896	(Make_Task_Create_Call): Check CPU, Size or
4897	Dispatching_Domain Rep Item is present using new routine Has_Rep_Item.
4898	* freeze.adb (Freeze_All): Push_Scope_And_Install_Discriminants
4899	and Uninstall_Discriminants_And_Pop_Scope calls added.
4900	(Freeze_Entity): Evaluate_Aspects_At_Freeze_Point call added.
4901	* sem_aux.adb (Nearest_Ancestor): Retrieve the nearest ancestor
4902	for private derived types.
4903	* sem_ch13.adb (Analyze_Aspect_Specifications): Clean-up
4904	and reordering. Delay analysis for all aspects (except some
4905	peculiar cases).
4906	(Analyze_Attribute_Definition_Clause):
4907	Attribute_CPU, Attribute_Dispatching_Domain,
4908	Interrupt_Priority and Attribute_Priority cases added.
4909	(Analyze_Freeze_Entity): Push_Scope_And_Install_Discriminants
4910	and Uninstall_Discriminants_And_Pop_Scope calls added.
4911	(Check_Aspect_At_Freeze_Point): Reordering and clean-up.
4912	(Duplicate_Clause): Issue an explicit error msg when the current
4913	clause duplicates an aspect specification, an attribute definition
4914	clause or a pragma.
4915	(Evaluate_Aspects_At_Freeze_Point): New routine.
4916	* sem_ch13.ads (Evaluate_Aspects_At_Freeze_Point): New routine.
4917	* sem_ch9.adb, sem_ch9.ads (Install_Discriminants): New routine.
4918	(Push_Scope_And_Install_Discriminants): New routine.
4919	(Uninstall_Discriminants): New routine.
4920	(Uninstall_Discriminants_And_Pop_Scope): New routine.
4921	* sem_prag.adb (Check_Duplicate_Pragma): Issue an explicit error
4922	msg when the current pragma duplicates an aspect specification,
4923	an attribute definition clause or a pragma.
4924	(Analyze_Pragma): Remove use of flags Has_Pragma_CPU,
4925	Has_Pragma_Priority and Has_Pragma_Dispatching_Domain.
4926	* sem_util.adb (Compile_Time_Constraint_Error): Don't complain
4927	about the type if the corresponding concurrent type doesn't come
4928	from source.
4929	* sinfo.adb, sinfo.ads (Has_Pragma_CPU): Removed.
4930	(Has_Pragma_Dispatching_Domain): Removed.
4931	(Has_Pragma_Priority): Removed.
4932	(Has_Task_Info_Pragma): Removed.
4933	(Has_Task_Name_Pragma): Removed.
4934	(Set_Has_Pragma_CPU): Removed.
4935	(Set_Has_Pragma_Dispatching_Domain): Removed.
4936	(Set_Has_Pragma_Priority): Removed.
4937	(Set_Has_Task_Info_Pragma): Removed.
4938	(Set_Has_Task_Name_Pragma): Removed.
4939	* snames.adb-tmpl (Get_Pragma_Id): Pragma_CPU,
4940	Pragma_Dispatching_Domain and Pragma_Interrupt_Priority added.
4941	(Is_Pragma_Name): Name_CPU, Name_Dispatching_Domain and
4942	Name_Interrupt_Priority added.
4943	* snames.ads-tmpl: Name_Dispatching_Domain, Name_CPU
4944	and Name_Interrupt_Priority moved to the list of
4945	Attribute_Name. Attribute_CPU, Attribute_Dispatching_Domain and
4946	Attribute_Interrupt_Priority added.  Pragma_Dispatching_Domain,
4947	Pragma_CPU and Pragma_Interrupt_Priority moved to the end of
4948	the Pragma_Name list.
4949
49502012-06-12  Arnaud Charlet  <charlet@adacore.com>
4951
4952	* xref_lib.adb (Get_Full_Type): Add support for 'G'.
4953
49542012-06-12  Tristan Gingold  <gingold@adacore.com>
4955
4956	* a-exexpr-gcc.adb (Unwind_Exception): Add 4 more private fields.
4957
49582012-06-12  Fedor Rybin  <frybin@adacore.com>
4959
4960	* gnat_ugn.texi: Update doc on gnattest.
4961
49622012-06-12  Robert Dewar  <dewar@adacore.com>
4963
4964	* sem_ch12.adb: Add comments.
4965
49662012-06-12  Robert Dewar  <dewar@adacore.com>
4967
4968	* switch-c.adb, inline.adb, usage.adb, opt.ads: Minor reformatting.
4969
49702012-06-12  Robert Dewar  <dewar@adacore.com>
4971
4972	* sem_ch12.adb: Minor reformatting.
4973
49742012-06-12  Eric Botcazou  <ebotcazou@adacore.com>
4975
4976	* opt.ads (Inline_Level): New variable.
4977	* gnat1drv.adb (Adjust_Global_Switches): Set it based on optimization
4978	level if it has not been set by the user.
4979	* switch-c.adb (Scan_Front_End_Switches): Accept -gnatn1 and -gnatn2
4980	and set Inline_Level accordingly.
4981	* inline.adb (Add_Inlined_Body): Declate new Inline_Level_Type type.
4982	(Must_Inline): Return Inline_Level_T instead of Boolean to indicate
4983	whether the package of the inlined subprogram must be compiled.
4984	If Inline_Level is set to 1, only compile packages of subprograms
4985	directly called from the main unit.
4986	* usage.adb (Usage): Adjust line for -gnatn switch.
4987	* gnat_ugn.texi (Switches for gcc): Document -gnatn1 and -gnatn2.
4988
49892012-06-12  Ed Schonberg  <schonberg@adacore.com>
4990
4991	* sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply
4992	AI05-296 if the actual is overloaded. In this case The rule must
4993	be applied after resolution, in Analyze_Subprogram_Renaming.
4994
49952012-06-12  Robert Dewar  <dewar@adacore.com>
4996
4997	* stringt.adb: Minor reformatting.
4998
49992012-06-12  Robert Dewar  <dewar@adacore.com>
5000
5001	* ali-util.adb, stringt.ads: Minor reformatting.
5002
50032012-06-12  Hristian Kirtchev  <kirtchev@adacore.com>
5004
5005	* exp_ch7.adb (Process_Declarations): Handle the case where
5006	the original context has been wrapped in a block to avoid
5007	interference between exception handlers and At_End handlers.
5008	(Wrap_HSS_In_Block): Mark the block which contains the original
5009	statements of the context as being a finalization wrapper.
5010	* sinfo.adb (Is_Finalization_Wrapper): New routine.
5011	(Set_Is_Finalization_Wrapper): New routine.
5012
5013	* sinfo.ads: Add new attribute Is_Finalization_Wrapper applicable
5014	to block statemnts.
5015	(Is_Finalization_Wrapper): New routine with corresponding pragma Inline.
5016	(Set_Is_Finalization_Wrapper): New routine with corresponding pragma
5017	Inline.
5018
50192012-06-12  Steve Baird  <baird@adacore.com>
5020
5021	* gnat1drv.adb (Adjust_Global_Switches): No longer need to set
5022	Exception_Extra_Info in CodePeer_Mode.
5023
50242012-06-12  Robert Dewar  <dewar@adacore.com>
5025
5026	* sem_dist.adb, exp_ch7.adb, sem_type.adb, exp_attr.adb,
5027	sinfo.ads, sem_ch7.adb, exp_alfa.adb, sem_scil.adb, sem_ch12.adb,
5028	sem_util.adb, sem_res.adb, sem_attr.adb, sem_elab.adb, exp_ch6.adb,
5029	sem_ch4.adb, sem_warn.adb, scil_ll.adb, exp_cg.adb: Minor code
5030	reorganization.
5031
50322012-06-12  Eric Botcazou  <ebotcazou@adacore.com>
5033
5034	* s-tasini.ads: Minor fix in comment.
5035
50362012-06-12  Thomas Quinot  <quinot@adacore.com>
5037
5038	* freeze.adb (Freeze_Record_Type): Warn on record with
5039	Scalar_Storage_Order if there is no placed component.
5040
50412012-06-12  Thomas Quinot  <quinot@adacore.com>
5042
5043	* sem_ch3.adb: Minor comment fix.
5044
50452012-06-12  Vincent Celier  <celier@adacore.com>
5046
5047	* ali-util.adb (Time_Stamp_Mismatch): In minimal recompilation
5048	mode, use Stringt Mark and Release to avoid growing the Stringt
5049	internal tables uselessly.
5050	* stringt.adb (Strings_Last): New global variable
5051	(String_Chars_Last): New global variable.
5052	(Mark, Release): New procedures.
5053	* stringt.ads (Mark, Release) New procedures.
5054
50552012-06-12  Hristian Kirtchev  <kirtchev@adacore.com>
5056
5057	* exp_ch7.adb (Process_Transient_Objects): Renamed constant
5058	Requires_Hooking to Must_Hook and replace all occurrences of the name.
5059	(Requires_Hooking): New routine. Detect all contexts that require
5060	transient variable export to the outer finalizer due to a potential
5061	exception.
5062
50632012-06-12  Ed Schonberg  <schonberg@adacore.com>
5064
5065	* sem_ch12.adb: Small adjustment.
5066
50672012-06-12  Vincent Celier  <celier@adacore.com>
5068
5069	* vms_cmds.ads (Command_Type): New enumeration value Test
5070	* vms_conv.adb (Initialize): Add component at index Test in
5071	Command_List
5072	* vms_data.ads (Test_Switches): New global variable for the
5073	switches of gnattest, currently empty.
5074
50752012-06-12  Ed Schonberg  <schonberg@adacore.com>
5076
5077	* sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete
5078	type is tagged, so is a subtype of it.
5079	* sem_ch12.adb (Validate_Actual_Subprogram): implement AI05-0296,
5080	concerning freeze rules in the presence of formal incomplete
5081	types: a formal abstract subprogram cannot have an incomplete
5082	controlling type, and the profile of the actual subprogram does
5083	not freeze if it includes an incomplete untagged type.
5084
50852012-06-12  Robert Dewar  <dewar@adacore.com>
5086
5087	* a-direct.adb: Minor reformatting.
5088
50892012-06-12  Robert Dewar  <dewar@adacore.com>
5090
5091	* gnat_ugn.texi: Add missing documentation for -gnatw.v and
5092	-gnatw.V.
5093
50942012-06-12  Thomas Quinot  <quinot@adacore.com>
5095
5096	* sem_ch7.adb, sem_prag.adb, sem_ch12.adb, sem_ch4.adb,
5097	sem_ch13.adb: Minor rewording of error messages for unchecked unions.
5098
50992012-06-12  Robert Dewar  <dewar@adacore.com>
5100
5101	* lib-xref.ads: Minor reformatting.
5102
51032012-06-12  Pascal Obry  <obry@adacore.com>
5104
5105	* a-direct.adb (Delete_File): Delete symbolic links silently
5106	instead of raising the Name_Error exception when the symbolic
5107	link is pointing to a non existent file.
5108
51092012-06-12  Robert Dewar  <dewar@adacore.com>
5110
5111	* xref_lib.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
5112
51132012-06-12  Javier Miranda  <miranda@adacore.com>
5114
5115	* lib-xref.ads Adding missing documentation.
5116
51172012-06-12  Hristian Kirtchev  <kirtchev@adacore.com>
5118
5119	* exp_ch7.adb (Create_Finalizer): Add the
5120	exception reraise mechanism at the very end of the finalizer
5121	statements. This placement ensures that all objects are finalized,
5122	the secondary stack mark released and aborts undeferred before
5123	propagating an exception.
5124
51252012-06-12  Ed Schonberg  <schonberg@adacore.com>
5126
5127	* sem_ch10.adb (Remove_Unit_From_Visibility): if the unit is a
5128	wrapper package. remove from visibility the original subprogram
5129	instance.
5130
51312012-06-12  Javier Miranda  <miranda@adacore.com>
5132
5133	* sem_prag.adb (Process_Convention): Generate reference to entity
5134	exported to foreign language. Needed for GPS navigation.
5135	* xref_lib.adb (Parse_Identifier_Info): Parse exported entities.
5136	* lib-xref (Output_References): Output exported entities.
5137
51382012-06-12  Pascal Obry  <obry@adacore.com>
5139
5140	* prj-attr.adb: Add install package and corresponding attributes.
5141	* snames.ads-tmpl (Name_Active): New constant.
5142	(Name_Exec_Subdir): Likewise.
5143	(Name_Install): Likewise.
5144	(Name_Lib_Subdir): Likewise.
5145	(Name_Project_Subdir): Likewise.
5146	(Name_Sources_Subdir): Likewise.
5147
51482012-06-12  Bob Duff  <duff@adacore.com>
5149
5150	* sem_res.adb (Check_Infinite_Recursion):
5151	Suppress spurious warning on recursion after "raise with ...".
5152
51532012-06-12  Thomas Quinot  <quinot@adacore.com>
5154
5155	* sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Do
5156	not crash on illegal unchecked union that is a null record.
5157
51582012-06-12  Thomas Quinot  <quinot@adacore.com>
5159
5160	* exp_ch4.adb (Has_Inferable_Discriminants): Reorganize code to
5161	treat implicit dereferences with a constrained unchecked union
5162	nominal subtype as having inferable discriminants.
5163
51642012-06-12  Robert Dewar  <dewar@adacore.com>
5165
5166	* sem_ch6.adb: Minor reformatting.
5167
51682012-06-12  Eric Botcazou  <ebotcazou@adacore.com>
5169
5170	* gnat_ugn.texi: Couple of minor corrections.
5171
51722012-06-12  Thomas Quinot  <quinot@adacore.com>
5173
5174	* sem_prag.adb (Check_Variant): An empty component list is not
5175	illegal in an unchecked union variant.
5176
51772012-06-12  Gary Dismukes  <dismukes@adacore.com>
5178
5179	* projects.texi: Remove comments.
5180
51812012-06-12  Thomas Quinot  <quinot@adacore.com>
5182
5183	* back_end.adb (Scan_Back_End_Switches): Treat -fdump-scos as
5184	synonym of -gnateS.
5185	(gnat_post_options): Disable gimple-based SCO generator.
5186	* gnat_ugn.texi: Document that -gnateS is an obsolete synonym
5187	of -fdump-scos.
5188
51892012-06-12  Ed Schonberg  <schonberg@adacore.com>
5190
5191	* sem_ch6.adb (Different_Generic_Profile): new predicate for
5192	Find_Corresponding_Spec, to handle a rare case of accidental
5193	overloading in an instance, when the profile of a subprogram body
5194	that depends on a formal type becomes compatible with that of
5195	a homonym whose profile in the generic mentions the actual type.
5196
51972012-06-12  Thomas Quinot  <quinot@adacore.com>
5198
5199	* gnat1drv.adb: Minor reformatting.
5200
52012012-06-12  Ed Schonberg  <schonberg@adacore.com>
5202
5203	* sem_util.adb (Build_Explicit_Dereference): If the expression
5204	is an entity, ensure that the type of the expression is the same
5205	as that of the entity.
5206
52072012-06-12  Pat Rogers  <rogers@adacore.com>
5208
5209	* projects.texi: Corrected instances of the word "build" that
5210	should be "built" instead. Other similar changes and minor
5211	punctuation changes.
5212
52132012-06-12  Eric Botcazou  <ebotcazou@adacore.com>
5214
5215	* sem_util.adb (Is_Atomic_Object): Return true for an atomic
5216	component as well as a prefix which is an atomic component.
5217
52182012-06-12  Ed Schonberg  <schonberg@adacore.com>
5219
5220	* exp_prag.adb (Expand_Pragma_Import_Or_Interface): revert previous
5221	patch. The processing of interfacing aspects now generates a
5222	proper Ada 2005 pragma.
5223	* sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
5224	Pragma_Import): revert previous patch.	The processing of
5225	interfacing aspects now generates a proper Ada 2005 pragma.
5226	* sem_ch13.adb (Analyze_Aspect_Specifications): generate proper
5227	pragam for aspects Convention, Import and Export. Scan list
5228	of aspects to collect link name and external name if present,
5229	and verify that a complete pragma can be generated.
5230
52312012-06-11  Olivier Hainque  <hainque@adacore.com>
5232
5233	* gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Remove
5234	$(PIC_FLAG_FOR_TARGET).
5235	(gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to
5236	GNATLIBCFLAGS_FOR_C passed to gnatlib.
5237	(gnatlib-shared-win32): Likewise.
5238	(gnatlib-shared-darwin): Likewise.
5239	(gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to
5240	gnatlib-shared-win32.
5241
52422012-06-11  Eric Botcazou  <ebotcazou@adacore.com>
5243
5244	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZE
5245	to units before invoking allocatable_size_p on it.
5246	Remove orphaned comment.  Do not use ssize_int.
5247	<E_Record_Subtype>: Traverse list in original order.  Minor tweak.
5248	(allocatable_size_p): Adjust and simplify.
5249	(build_subst_list): Use consistent terminology throughout.
5250	(build_variant_list): Likewise.  Traverse list in original order.
5251	(create_field_decl_from): Likewise.
5252	(copy_and_substitute_in_size): Likewise.
5253	(create_variant_part_from): Add comment about field list order.
5254	* gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int.
5255	* gcc-interface/utils2.c (build_allocator): Likewise.
5256
52572012-06-11  Eric Botcazou  <ebotcazou@adacore.com>
5258
5259	* gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Type
5260	instead of Is_Scalar_Type for a constant with an address clause.
5261	Do not return the underlying constant for a constant used by reference
5262	if it holds the address of a constant and an lvalue is required.
5263
52642012-06-11  Eric Botcazou  <ebotcazou@adacore.com>
5265
5266	* gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically deal
5267	with external constants wrt force_global here...
5268	<E_Constant>: ...but here instead.
5269	* gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto
5270	the list of global DECLs.
5271
52722012-06-11  Eric Botcazou  <ebotcazou@adacore.com>
5273
5274	* gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize on
5275	entry only for elementary types and abort if it is too large.
5276	<E_Record_Type>: Make sure the Esize is known before using it.
5277
52782012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
5279
5280	* gcc-interface/utils2.c: Do not include output.h.
5281	* gcc-interface/Make-lang.in: Fix dependencies.
5282
52832012-05-29  Michael Matz  <matz@suse.de>
5284
5285	* gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl.
5286
52872012-05-26  Eric Botcazou  <ebotcazou@adacore.com>
5288
5289	* gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
5290	(build_variant_list): Adjust to above renaming.
5291	(gnat_to_gnu_entity) <E_Record_Subtype>: Likewise.  Give a unique name
5292	to the type of the variant containers.
5293	(create_variant_part_from): Likewise.  Give a unique name to the type
5294	of the variant part.
5295
52962012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
5297
5298	PR ada/52362
5299	* link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker.
5300	(__gnat_using_gnu_linker): Delete.
5301	* gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here...
5302	Declare Object_File_Option string constant and Using_GNU_response_file
5303	boolean constant.
5304	(Process_Binder_File): ...instead of here.  Delete Using_GNU_Linker,
5305	Opening and Closing local variables.  Do not handle the GNU linker
5306	specially.
5307	(Write_RF): New procedure to write into the response file.  Escape some
5308	characters if a GNU response file is used.  Keep track of error status.
5309	Invoke Write_RF to write into the response file.  Delete the file only
5310	if the link was successful.
5311	* mlib-utl.adb: Do not `with' package System.
5312	(Gcc): Likewise.  Declare Object_File_Option string constant and
5313	Using_GNU_response_file boolean constant.
5314	(Write_RF): Take a string instead of address and length.  Escape some
5315	characters if a GNU response file is used.
5316	Invoke Write_RF to write into the response file.  Delete the file only
5317	if the link was successful.  Do not warn if it cannot be deleted.
5318
53192012-05-20  Eric Botcazou  <ebotcazou@adacore.com>
5320
5321	* gcc-interface/utils.c (gnat_write_global_declarations): Put a name
5322	on the dummy global variable.
5323
53242012-05-19  Eric Botcazou  <ebotcazou@adacore.com>
5325
5326	* gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
5327	(gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
5328	calling convention
5329	(get_minimal_subprog_decl): Likewise.
5330	(gnat_first_param_is_class): New predicate.
5331
5332	* gcc-interface/misc.c (gnat_handle_option): Fix formatting.
5333	* gcc-interface/Makefile.in: Likewise.
5334
53352012-05-18  Eric Botcazou  <ebotcazou@adacore.com>
5336
5337	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object at
5338	global level with unconstrained nominal subtype and a non-fixed size,
5339	make a variable for the size.
5340
53412012-05-15  Andris Pavenis  <andris.pavenis@iki.fi>
5342
5343	PR ada/52494
5344	* s-taprop-dummy.adb (Specific): New package.
5345
53462012-05-15  Olivier Hainque  <hainque@adacore.com>
5347
5348	* gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS
5349	instead of trying to mimic it.
5350
53512012-05-15  Robert Dewar  <dewar@adacore.com>
5352
5353	* sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor
5354	reformatting.
5355
53562012-05-15  Geert Bosch  <bosch@adacore.com>
5357
5358	* uintp.adb (UI_Rem): Remove optimizations, as they are complex and are
5359	not needed.
5360	(Sum_Digits): Remove, no longer used.
5361	(Sum_Double_Digits): Likewise.
5362
53632012-05-15  Yannick Moy  <moy@adacore.com>
5364
5365	* aspects.ads: Minor typo.
5366
53672012-05-15  Thomas Quinot  <quinot@adacore.com>
5368
5369	* gnat_rm.texi (Scalar_Storage_Order): Fix RM reference.
5370	* sem_ch13.adb: Minor comment fix: incorrect RM reference.
5371
53722012-05-15  Eric Botcazou  <ebotcazou@adacore.com>
5373
5374	* sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
5375	atomicity from an object to its underlying type only if it
5376	is composite.
5377
53782012-05-15  Ed Schonberg  <schonberg@adacore.com>
5379
5380	* sem_ch5.adb (Analyze_Iterator_Specification): Set kind of
5381	loop variable after pre-analysis of iterator name, to prevent
5382	premature usage of loop variable.
5383
53842012-05-15  Ed Schonberg  <schonberg@adacore.com>
5385
5386	* sem_util.adb (Is_Variable): In Ada 2012, an explicit
5387	dereference that is a rewriting of an expression whose type has
5388	a declared Implicit_Derenference aspect is a variable.
5389
53902012-05-15  Hristian Kirtchev  <kirtchev@adacore.com>
5391
5392	* exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The
5393	routine performs address and size adjustments for dereferences
5394	of heap-allocated controlled objects. This manipulation is needed
5395	in order to restore the original state of the memory at the time
5396	it was allocated by the finalization machinery.
5397	* rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables
5398	RE_Id and RE_Unit_Table.
5399	* sinfo.adb (Has_Dereference_Action): New routine.
5400	(Set_Has_Dereference_Action): New routine.
5401	* sinfo.ads: Add new semantic flag Has_Dereference_Action along
5402	its association in nodes.
5403	(Has_Dereference_Action): New routine and pragma Inline.
5404	(Set_Has_Dereference_Action): New routine and pragma Inline.
5405	* s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New
5406	routine.
5407
54082012-05-15  Thomas Quinot  <quinot@adacore.com>
5409
5410	* uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and
5411	remainder of U / Base in a single operation.
5412
54132012-05-15  Robert Dewar  <dewar@adacore.com>
5414
5415	* exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb,
5416	a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb,
5417	vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting.
5418
54192012-05-15  Thomas Quinot  <quinot@adacore.com>
5420
5421	* exp_ch4.adb (Has_Inferable_Discriminants): For a qualified
5422	expression, use correct node for test on the subtype denoted by
5423	the subtype mark.
5424
54252012-05-15  Eric Botcazou  <ebotcazou@adacore.com>
5426
5427	* inline.adb (Scope_In_Main_Unit): Rename into...
5428	(In_Main_Unit_Or_Subunit): ...this.  Also return
5429	true if the subprogram is within a subunit of the
5430	main unit.
5431	(Add_Inlined_Body): Adjust for above renaming.
5432	(Add_Inlined_Subprogram): Likewise.  Pass the subprogram directly.
5433	(Analyze_Inlined_Bodies): Really set aside inlined subprograms
5434	not handled by Add_Inlined_Body.
5435
54362012-05-15  Ed Schonberg  <schonberg@adacore.com>
5437
5438	* sem_ch10.adb (Expand_With_Clause): In the context of a generic
5439	package declaration, a private with-clause on a child unit implies
5440	that the implicit with clauses on its parents are private as well.
5441
54422012-05-15  Javier Miranda  <miranda@adacore.com>
5443
5444	* sem_ch6.adb (Is_Interface_Conformant): Add missing call to
5445	Base_Type to handle subtypes.
5446	* exp_ch6.adb (Expand_Call): For calls located in thunks handle
5447	unchecked conversions of access types found in actuals.
5448	* exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked
5449	conversion to actuals whose type is an access type. Done to
5450	avoid reporting spurious errors.
5451
54522012-05-15  Vincent Celier  <celier@adacore.com>
5453
5454	* prj-env.adb (Create_Mapping): Ignore sources that are
5455	suppressed (Create_Mapping_File.Process): Ditto
5456	* prj-nmsc.adb (Add_Source): Update to take into
5457	account suppressed files that may hide inherited sources.
5458	(Mark_Excluded_Sources): Mark excluded sources of the current
5459	project as suppressed.
5460	* prj.ads (Source_Data): New Boolean component Suppressed,
5461	defaulted to False
5462
54632012-05-15  Thomas Quinot  <quinot@adacore.com>
5464
5465	* exp_intr.adb: Minor reformatting.
5466
54672012-05-15  Thomas Quinot  <quinot@adacore.com>
5468
5469	* gnat_rm.texi: Document attribute Scalar_Storage_Order.
5470
54712012-05-15  Javier Miranda  <miranda@adacore.com>
5472
5473	* exp_ch3.adb (Build_Offset_To_Top): Modify the
5474	expansion of the offset_to_top functions to ensure that their
5475	profile is conformant with the profile specified in Ada.Tags. No
5476	change in functionality.
5477
54782012-05-15  Eric Botcazou  <ebotcazou@adacore.com>
5479
5480	* inline.adb (Subp_Info): Remove Count and Next_Nopred
5481	components, add Processed component and move around Next component.
5482	(Add_Call): Reverse meaning of Successors table to the natural one.
5483	(Add_Inlined_Body): Do not inline a package if it is in the main unit.
5484	(Add_Inlined_Subprogram): Do not add the subprogram to the list if the
5485	package is in the main unit. Do not recurse on the successors.
5486	(Add_Subp): Adjust to new contents of Subp_Info.
5487	(Analyze_Inlined_Bodies): Do not attempt
5488	to compute a topological order on the list of inlined subprograms,
5489	but compute the transitive closure from the main unit instead.
5490	(Get_Code_Unit_Entity): Always return the spec for a package.
5491
54922012-05-15  Yannick Moy  <moy@adacore.com>
5493
5494	* aspects.ads: Minor addition of comments to provide info on
5495	how to add new aspects.
5496
54972012-05-15  Thomas Quinot  <quinot@adacore.com>
5498
5499	* osint.ads: Minor reformatting.
5500
55012012-05-15  Thomas Quinot  <quinot@adacore.com>
5502
5503	* exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads
5504	(Expand_Assign_Array): Handle the case of a packed bit array within a
5505	record with reverse storage order (assign element by element in that
5506	case).
5507	(In_Reverse_Storage_Order_Record): New subprogram,
5508	code extracted from Exp_Pakd.
5509
55102012-05-15  Yannick Moy  <moy@adacore.com>
5511
5512	* a-ngelfu.ads: Add postconditions using Ada 2012
5513	aspect syntax, reflecting some of the RM requirements for these
5514	functions, from Annex A.5.1 or G.2.4.
5515
55162012-05-15  Thomas Quinot  <quinot@adacore.com>
5517
5518	* adaint.c: Minor fix: move misplaced comment.
5519
55202012-05-15  Doug Rupp  <rupp@adacore.com>
5521
5522	* vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage
5523	use by customers.
5524
55252012-05-15  Tristan Gingold  <gingold@adacore.com>
5526
5527	* a-exextr.adb: Add comment.
5528
55292012-05-15  Ed Schonberg  <schonberg@adacore.com>
5530
5531	* sem_ch3.adb: Minor reformatting (remove long dead code).
5532
55332012-05-15  Ed Schonberg  <schonberg@adacore.com>
5534
5535	* aspects.adb, aspects.ads: Add aspects for Convention, Export,
5536	External_Name, Import, and Link_Name.
5537	* exp_prag.adb (Expand_Pragma_Import_Or_Interface): if the
5538	pragma comes from an aspect specification, the entity is the
5539	first argument.
5540	* sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
5541	Pragma_Import): if the pragma comes from an aspect specification,
5542	the entity is the first argument, and the second has the value
5543	True by default.
5544	* sem_ch13.adb (Analyze_Aspect_Specifications): generate pragam
5545	for aspect Convention. Add placeholders for Link_Name and
5546	External_Name.
5547
55482012-05-15  Hristian Kirtchev  <kirtchev@adacore.com>
5549
5550	* exp_ch9.adb (Expand_N_Asynchronous_Select): Extract the statements
5551	of the abortable part and triggering alternative after being processed
5552	for controlled objects.
5553	(Expand_N_Timed_Entry_Call): Code and comment reformatting.
5554
55552012-05-15  Robert Dewar  <dewar@adacore.com>
5556
5557	* sem_util.adb: Minor code reorganization.
5558
55592012-05-15  Robert Dewar  <dewar@adacore.com>
5560
5561	* exp_ch7.adb, exp_ch11.adb, exp_ch11.ads: Minor reformatting.
5562
55632012-05-15  Thomas Quinot  <quinot@adacore.com>
5564
5565	* sem_res.adb (Resolve): Enforce E.2.2(11/2) and E.2.2(12) for
5566	'Unrestricted_Access and 'Unchecked_Access (not just 'Access):
5567	even in those cases, a remote access type may only designate a
5568	remote subprogram.
5569
55702012-05-15  Thomas Quinot  <quinot@adacore.com>
5571
5572	* sem_util.adb, sem_util.ads, sem_cat.adb: Minor refactoring.
5573	(Enclosing_Lib_Unit_Node): Rename to Enclosing_Comp_Unit_Node.
5574
55752012-05-15  Ed Schonberg  <schonberg@adacore.com>
5576
5577	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove obsolete
5578	checks on nested inlined subprograms.
5579
55802012-05-15  Tristan Gingold  <gingold@adacore.com>
5581
5582	* fe.h (Get_RT_Exception_Name): Declare.
5583
55842012-05-15  Tristan Gingold  <gingold@adacore.com>
5585
5586	* raise-gcc.c (db_region_for): Use %p + cast to avoid warnings.
5587	(get_region_description_for): Likewise.
5588	(db_action_for): Likewise.
5589	(get_call_site_action_for): Likewise.
5590	(get_ttype_entry_for): Remove useless 'const'.
5591	(PERSONALITY_FUNCTION): Add ATTRIBUTE_UNUSED on uw_exception_class.
5592
55932012-05-15  Tristan Gingold  <gingold@adacore.com>
5594
5595	* a-exextr.adb (Unhandled_Exception_Terminate): Save occurrence
5596	on the stack to avoid a dynamic memory allocation.
5597
55982012-05-15  Bob Duff  <duff@adacore.com>
5599
5600	* exp_ch9.adb (Expand_N_Timed_Entry_Call): Move initialization of
5601	E_Stats and D_Stats after Process_Statements_For_Controlled_Objects,
5602	because those calls can destroy the Statements list.
5603
56042012-05-15  Tristan Gingold  <gingold@adacore.com>
5605
5606	* fe.h (Get_RT_Exception_Name): Define.
5607	* types.ads (RT_Exception_Code): Update comment.
5608	* exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New
5609	procedure to get the name of the rcheck subprograms.
5610	* a-except-2005.adb (Rcheck_xx): Rename.
5611	* a-except.adb Likewise, but also keep the old Rcheck_nn routines
5612	for bootstrap.
5613	* arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check
5614	instead of __gnat_rcheck_10.
5615	* gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name
5616	to create the __gnat_rcheck routines name.
5617	* gcc-interface/Make-lang.in: Update dependencies.
5618
56192012-05-15  Tristan Gingold  <gingold@adacore.com>
5620
5621	* exp_ch7.adb (Build_Exception_Handler): Save current
5622	occurrence only if -gnateE.
5623	(Build_Object_Declaration): Declare E_Id only if -gnateE.
5624	(Build_Raise_Statement): Call Raise_From_Controlled_Operation only if
5625	-gnateE (else raise PE).
5626	* s-soflin.adb (Save_Library_Occurrence): Handle null occurrence
5627	access.
5628	* a-except-2005.adb (Reraise_Library_Exception_If_Any): Call
5629	Raise_From_Controlled_Operation only if the saved occurrence is
5630	not null, otherwise raise PE.
5631
56322012-05-15  Yannick Moy  <moy@adacore.com>
5633
5634	* exp_alfa.ads: Add comments describing the Alfa mode.
5635
56362012-05-15  Tristan Gingold  <gingold@adacore.com>
5637
5638	* s-soflin.ads, s-soflin.adb (Save_Library_Occurrence): Parameter
5639	E is now of type Exception_Occurrence_Access.
5640	* exp_ch7.ads, exp_ch7.adb (Build_Exception_Handler): Adjust generated
5641	call to Save_Library_Occurrence.
5642
56432012-05-15  Thomas Quinot  <quinot@adacore.com>
5644
5645	* exp_ch4.adb (Rewrite_Coextension): Use Insert_Action to
5646	insert temporary variable decl at the proper place in the tree.
5647
56482012-05-15  Hristian Kirtchev  <kirtchev@adacore.com>
5649
5650	* g-calend.adb (Split_At_Locale): New routine.
5651	(Time_Of_At_Locale): New routine.
5652	* g-calend.ads (Split_At_Locale): New routine.
5653	(Time_Of_At_Locale): New routine.
5654
56552012-05-15  Gary Dismukes  <dismukes@adacore.com>
5656
5657	* a-except.ads: Minor reformatting.
5658
56592012-05-15  Ed Schonberg  <schonberg@adacore.com>
5660
5661	* sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the loop
5662	parameter specification is part of a quantified expression, and it
5663	already carries a type, do not repeat the analysis to preserve
5664	type information: a range attribute reference may have been
5665	rewritten as a range with static bounds, and its re-analysis may
5666	type it as Integer by default, instead of the original index type.
5667
56682012-05-15  Robert Dewar  <dewar@adacore.com>
5669
5670	* s-osprim-mingw.adb: Minor reformatting.
5671
56722012-05-15  Arnaud Charlet  <charlet@adacore.com>
5673
5674	* a-except.adb, a-except.ads (Reraise_Library_Exception_If_Any): New.
5675	Mark this unit preelaborate.
5676	* s-soflin.ads: Make package Preelaborate.
5677
56782012-05-15  Robert Dewar  <dewar@adacore.com>
5679
5680	* s-osprim-mingw.adb, sem_eval.adb, a-calend-vms.ads: Minor reformatting
5681
56822012-05-15  Ed Schonberg  <schonberg@adacore.com>
5683
5684	* sem_eval.adb (Subtypes_Statically_Match): In Ada 2012, static
5685	matching requires matching of static subtype predicates as well.
5686
56872012-05-15  Ed Schonberg  <schonberg@adacore.com>
5688
5689	* sem_case.adb (Analyze_Choices): If the subtype of the
5690	expression has a non-static predicate, the case alternatives
5691	must cover the base type.
5692
56932012-05-15  Tristan Gingold  <gingold@adacore.com>
5694
5695	* a-calend-vms.ads: Add pragma export to Split and Time_Of.
5696	Merge comments from a-calend.ads to minimize differences.
5697
56982012-05-15  Sergey Rybin  <rybin@adacore.com frybin>
5699
5700	* gnat_ugn.texi: gnatmetric: add a small example that demonstrates
5701	the difference between control coupling and unit coupling.
5702
57032012-05-15  Tristan Gingold  <gingold@adacore.com>
5704
5705	* bindgen.adb (Gen_Header): Remove code to emit LE_Set.
5706	(Gen_Finalize_Library): Replace test with
5707	a call to __gnat_reraise_library_exception_if_any.
5708	* s-soflin.ads (Library_Exception): Do not export.
5709	(Library_Exception_Set): Likewise.
5710	* a-except-2005.ads, a-except-2005.adb
5711	(Reraise_Library_Exception_If_Any): New procedure.
5712
57132012-05-15  Geert Bosch  <bosch@adacore.com>
5714
5715	* sem_ch9.adb (Allows_Lock_Free_Implementation): out or in out
5716	parameters can be access types as well, not just scalar types,
5717	so relax the test to Is_Elementary_Type.
5718
57192012-05-15  Bob Duff  <duff@adacore.com>
5720
5721	* s-atacco.ads s-atacco.adb: Replace pragma Elaborate_Body
5722	with pragma No_Body.
5723	(Xyz): Remove Xyz, which is apparently unnecessary.
5724
57252012-05-15  Tristan Gingold  <gingold@adacore.com>
5726
5727	* a-calend-vms.adb: Complete previous change.
5728
57292012-05-15  Bob Duff  <duff@adacore.com>
5730
5731	* s-win32.ads: Minor comment fix.
5732	* s-osprim-mingw.adb: Minor editing.
5733
57342012-05-15  Robert Dewar  <dewar@adacore.com>
5735
5736	* exp_ch9.adb, sem_ch9.adb, sem_ch13.adb: Minor reformatting.
5737
57382012-05-15  Robert Dewar  <dewar@adacore.com>
5739
5740	* g-comlin.adb, g-comlin.ads: Minor reformatting.
5741
57422012-05-15  Vincent Pucci  <pucci@adacore.com>
5743
5744	* aspects.adb, aspects.adb: Reordering of the Aspect_Idi list. New
5745	aspect Aspect_Lock_Free.
5746	* einfo.adb, einfo.ads: New flag Uses_Lock_Free (flag 188).
5747	(Set_Uses_Lock_Free): New routine.
5748	(Uses_Lock_Free): New routine.
5749	* exp_ch7.adb (Is_Simple_Protected_Type): Return False for
5750	lock-free implementation.
5751	* exp_ch9.adb (Allows_Lock_Free_Implementation): Moved to Sem_Ch9.
5752	(Build_Lock_Free_Unprotected_Subprogram_Body): Protected
5753	procedure uses __sync_synchronise. Check both Object_Size
5754	and Value_Size.
5755	(Expand_N_Protected_Body): Lock_Free_Active
5756	renames Lock_Free_On.
5757	(Expand_N_Protected_Type_Declaration):
5758	_Object field removed for lock-free implementation.
5759	(Install_Private_Data_Declarations): Protection object removed
5760	for lock-free implementation.
5761	(Make_Initialize_Protection):
5762	Protection object initialization removed for lock-free implementation.
5763	* rtsfind.ads: RE_Atomic_Synchronize and RE_Relaxed added.
5764	* sem_ch13.adb (Analyze_Aspect_Specifications): Aspect_Lock_Free
5765	analysis added.
5766	* sem_ch9.adb (Allows_Lock_Free_Implementation): New routine.
5767	(Analyze_Protected_Body): Allows_Lock_Free_Implementation call added.
5768	(Analyze_Protected_Type_Declaration):
5769	Allows_Lock_Free_Implementation call added.
5770	(Analyze_Single_Protected_Declaration): Second analysis of
5771	aspects removed.
5772	* s-atopri.ads: Header added.
5773	(Atomic_Synchronize): New routine.
5774
57752012-05-15  Robert Dewar  <dewar@adacore.com>
5776
5777	* exp_ch7.ads: Add comment.
5778
57792012-05-15  Hristian Kirtchev  <kirtchev@adacore.com>
5780
5781	* a-calend.adb (Day_Of_Week): The routine once again treats
5782	all dates as historic.	(Formatting_Operations.Split): All
5783	calls to UTC_Time_Offset are now controlled through formal
5784	parameter Is_Historic.	(Formatting_Operations.Time_Of):
5785	All calls to UTC_Time_Offset are now handled through
5786	formal parameter Is_Historic.
5787	(Split): Update the call to Formatting_Operations.Split.
5788	(Time_Of): Update the call to Formatting_Operations.Time_Of.
5789	(To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
5790	(To_Strict_Tm): Update the call to Formatting_Operations.Split.
5791	* a-calend.ads (Split): Add new formal Is_Historic along with
5792	comment on usage. This routine is now exported for the purposes
5793	of GNAT.Calendar.Locale.
5794	(Time_Of): Remove defaults. Add new
5795	formal Is_Historic along with comment on usage. This routine is
5796	now exported for the purposes of GNAT.Calendar.Locale.
5797	* a-calend-vms.adb (Split): Update the call to
5798	Formatting_Operations.Split.
5799	(Time_Of): Update the call to Formatting_Operations.Time_Of.
5800	* a-calend-vms.ads (Split): Add new formal Is_Historic along
5801	with comment on usage.	(Time_Of): Remove defaults. Add new
5802	formal Is_Historic along with comment on usage.
5803	* a-calfor.adb (Split): Update the call to
5804	Formatting_Operations.Split.
5805	(Time_Of): Update the call to Formatting_Operations.Time_Of.
5806
58072012-05-15  Vincent Celier  <celier@adacore.com>
5808
5809	* prj-nmsc.adb (Add_Source): Always add the source if it is
5810	excluded, to avoid incorrect duplicate checks.
5811
58122012-05-15  Yannick Moy  <moy@adacore.com>
5813
5814	* sem_aux.ads: Correct typo.
5815	* sem_eval.adb (Compile_Time_Known_Value): Return False in Alfa
5816	mode for a deferred constant when outside of the scope of its
5817	full view.
5818
58192012-05-15  Emmanuel Briot  <briot@adacore.com>
5820
5821	* g-comlin.adb, g-comlin.ads (Define_Switch): Allow specifying the name
5822	of the argument, for the automatic help message.
5823	(Getopt): do not systematically initialize switches with string values
5824	to the empty string, when the user has already specified a default.
5825
58262012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
5827
5828	* gcc-interface/utils.c (DEF_ATTR_STRING): New.
5829
58302012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5831
5832	PR 53063
5833	* gcc-interface/misc.c: Include opts.h and options.h before tm.h.
5834	(gnat_handle_option): Call lang-specific generated function.
5835
58362012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5837
5838	* gcc-interface/lang.opt (I): Comment out help text with no effect.
5839	(nostdinc): Comment out help text with no effect.
5840
58412012-05-12  Eric Botcazou  <ebotcazou@adacore.com>
5842
5843	* gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o.
5844
58452012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5846
5847	PR 53063
5848	* gcc-interface/misc.c (gnat_parse_file): Move before ...
5849	(gnat_handle_option): ... this. Use handle_generated_option.
5850
58512012-05-10  Richard Guenther  <rguenther@suse.de>
5852
5853	* gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use.
5854
58552012-05-06  Tristan Gingold  <gingold@adacore.com>
5856
5857	* gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.
5858
58592012-05-06  Eric Botcazou  <ebotcazou@adacore.com>
5860
5861	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming
5862	case, use the padded type if the renamed object has an unconstrained
5863	type with default discriminant.
5864
58652012-05-06  Eric Botcazou  <ebotcazou@adacore.com>
5866
5867	* gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant
5868	conditions with only one bound.
5869	(Raise_Error_to_gnu): Likewise.  New function extracted from...
5870	(gnat_to_gnu) <N_Raise_Constraint_Error>: ...here.  Call above function
5871	in regular mode only.
5872
58732012-05-06  Eric Botcazou  <ebotcazou@adacore.com>
5874
5875	* gcc-interface/misc.c (gnat_post_options): Disable caret by default.
5876
58772012-05-06  Eric Botcazou  <ebotcazou@adacore.com>
5878
5879	* gcc-interface/gigi.h (make_packable_type): Declare.
5880	(make_type_from_size): Likewise.
5881	(relate_alias_sets): Likewise.
5882	(maybe_pad_type): Adjust.
5883	(init_gnat_to_gnu): Delete.
5884	(destroy_gnat_to_gnu): Likewise.
5885	(init_dummy_type): Likewise.
5886	(destroy_dummy_type): Likewise.
5887	(init_gnat_utils): Declare.
5888	(destroy_gnat_utils): Likewise.
5889	(ceil_pow2): New inline function.
5890	* gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2.
5891	<object>: Pass True for the final processing of alignment and size.
5892	<E_Subprogram_Type>: Only create the TYPE_DECL for a padded return
5893	type if necessary.
5894	(round_up_to_align): Delete.
5895	(ceil_alignment): Likewise.
5896	(relate_alias_sets): Move to...
5897	(make_aligning_type): Likewise.
5898	(make_packable_type): Likewise.
5899	(maybe_pad_type): Likewise.
5900	(make_type_from_size): Likewise.
5901	* gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete.
5902	(struct pad_type_hash): New type.
5903	(pad_type_hash_table): New static variable.
5904	(init_gnat_to_gnu): Merge into...
5905	(init_dummy_type): Likewise.
5906	(init_gnat_utils): ...this.  New function.
5907	(destroy_gnat_to_gnu): Merge into...
5908	(destroy_dummy_type): Likewise.
5909	(destroy_gnat_utils): ...this.  New function.
5910	(pad_type_hash_marked_p): New function.
5911	(pad_type_hash_hash): Likewise.
5912	(pad_type_hash_eq): Likewise.
5913	(relate_alias_sets): ...here.
5914	(make_aligning_type): Likewise.
5915	(make_packable_type): Likewise.
5916	(maybe_pad_type): Likewise.  Change same_rm_size parameter into
5917	set_rm_size; do not set TYPE_ADA_SIZE if it is false.  Do not set
5918	null as Ada size.  Do not set TYPE_VOLATILE on the padded type.  If it
5919	is complete and has constant size, canonicalize it.  Bail out earlier
5920	if a warning need not be issued.
5921	(make_type_from_size): Likewise.
5922	<INTEGER_TYPE>: Bail out if size is too large
5923	(gnat_types_compatible_p): Do not deal with padded types.
5924	(convert): Compare main variants for padded types.
5925	* gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils.
5926	(gnat_to_gnu): Do not convert at the end for a call to a function that
5927	returns an unconstrained type with default discriminant.
5928	(Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects.
5929	* gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise.
5930	Do not use the padded type if it is BLKmode and the inner type is
5931	non-BLKmode.
5932
59332012-05-02  Pascal Obry  <obry@adacore.com>
5934
5935	Revert
5936	2012-02-24  Dave Korn  <dave.korn.cygwin@gmail.com>
5937
5938	* gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
5939	Windows-specific make variable.
5940	(WIN_SO_INSTALL_DIR [windows targets]): Likewise.
5941	(install-gnatlib): Respect the above during installation when set,
5942	and also install any windows import library that has been built.
5943	(gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
5944	build a corresponding import library.
5945
59462012-04-30  Jan Hubicka  <jh@suse.cz>
5947
5948	* gcc-interface/utils.c (rest_of_subprog_body_compilation): Update
5949	comment.
5950	(gnat_write_global_declarations): Use finalize_compilation_unit.
5951
59522012-04-30  Eric Botcazou  <ebotcazou@adacore.com>
5953
5954	* gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode,
5955	do not adjust the size of a tagged type if there is a representation
5956	clause on it.  Otherwise, round the adjustment up to the alignment
5957	of the first field and use the appropriate helper routine.
5958	(maybe_pad_type): Do not warn in type annotation mode on a tagged type.
5959	(gnat_to_gnu_field): Do not error out under the same circumstances.
5960	(annotate_rep): In type annotation mode, do not adjust the offset of
5961	components of a tagged type with representation clause.  Otherwise,
5962	round the adjustment up to the alignment of the first field.
5963
59642012-04-30  Eric Botcazou  <ebotcazou@adacore.com>
5965
5966	* gcc-interface/utils.c (finish_record_type): Force the traditional GCC
5967	layout for bitfields on the type if it is packed or has a representation
5968	clause and an alternate layout is available.
5969
59702012-04-30  Eric Botcazou  <ebotcazou@adacore.com>
5971
5972	* gcc-interface/gigi.h (mark_out_of_scope): Delete.
5973	(destroy_gnat_to_gnu): Declare.
5974	(destroy_dummy_type): Likewise.
5975	* gcc-interface/decl.c (mark_out_of_scope): Delete.
5976	* gcc-interface/utils.c (destroy_gnat_to_gnu): New function.
5977	(destroy_dummy_type): Likewise.
5978	* gcc-interface/trans.c (gnat_validate_uc_list): New variable.
5979	(gigi): Call validate_unchecked_conversion on gnat_validate_uc_list
5980	after the translation is completed.  Call destroy_gnat_to_gnu and
5981	destroy_dummy_type at the end.
5982	(Subprogram_Body_to_gnu): Do not call mark_out_of_scope.
5983	(gnat_to_gnu) <N_Block_Statement>: Likewise.
5984	<N_Validate_Unchecked_Conversion>: Do not process the node, only push
5985	it onto gnat_validate_uc_list.
5986	(validate_unchecked_conversion): New function.
5987
59882012-04-26  Tristan Gingold  <gingold@adacore.com>
5989
5990	* gcc-interface/Make-lang.in: Update dependencies.
5991	Remove s-traceb and tracebak objects from gnat1 and gnatbind (not used).
5992	Remove s-tasdeb and s-vaflop rules (not used).
5993
59942012-04-26  Olivier Hainque  <hainque@adacore.com>
5995
5996	* gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Default to
5997	DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE.
5998
59992012-04-26  Hristian Kirtchev  <kirtchev@adacore.com>
6000
6001	* a-calend.adb (Day_Of_Week): Keep the internal
6002	usage of UTC_Time_Offset consistent with Time_Of and Split.
6003
60042012-04-26  Hristian Kirtchev  <kirtchev@adacore.com>
6005
6006	* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Do not freeze
6007	the loop variable while preanalyzing a quantified expression.
6008
60092012-04-26  Hristian Kirtchev  <kirtchev@adacore.com>
6010
6011	* a-calend.adb (Split, Time_Of): Rename parameter Is_Ada_05
6012	to Use_TZ to better illustrate its function. Update all
6013	references to the parameter.
6014	(To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
6015	* a-calend.ads (Split, Time_Of): Rename parameter Is_Ada_05
6016	to Use_TZ to better illustrate its function. Update the related
6017	comment on usage.
6018	* a-calend-vms.adb (Split, Time_Of): Rename parameter
6019	Is_Ada_05 to Use_TZ to better illustrate its function. Update
6020	all references to the parameter.
6021	(To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
6022	* a-calend-vms.ads (Split, Time_Of): Rename parameter Is_Ada_05
6023	to Use_TZ to better illustrate its function. Update the related
6024	comment on usage.
6025	* a-calfor.adb (Split, Time_Of): Update the call to
6026	Formatting_Operations.Time_Of.
6027	* sysdep.c (__gnat_localtime_tzoff): Dereference pointer
6028	"is_historic" and rewrite the check as a comparison. Add a
6029	comment on flag values.
6030
60312012-04-26  Robert Dewar  <dewar@adacore.com>
6032
6033	* exp_ch2.adb, sem_ch8.adb: Minor reformatting.
6034
60352012-04-26  Vasiliy Fofanov  <fofanov@adacore.com>
6036
6037	* a-stzunb-shared.adb, gnat_ugn.texi, a-strunb-shared.adb,
6038	a-strunb-shared.ads, uintp.adb, a-stwiun-shared.adb,
6039	a-stwiun-shared.ads, a-cbhama.ads, vms_data.ads, a-cobove.adb,
6040	a-convec.adb, sem_ch13.adb, a-cbhase.ads: Fix common misuses of the
6041	word "then" where "than" should be used in English.
6042
60432012-04-26  Robert Dewar  <dewar@adacore.com>
6044
6045	* sem_ch5.adb (Check_Unreachable_Code): Skip past pragmas.
6046
60472012-04-26  Hristian Kirtchev  <kirtchev@adacore.com>
6048
6049	* s-finroo.ads: Remove with clause for
6050	Ada.Streams. Type Root_Controlled is now abstract tagged null
6051	record. Remove internal package Stream_Attributes. Root_Controlled
6052	doesn't need stream attribute redeclaration and avoids the
6053	dependency on streams.
6054
60552012-04-26  Tristan Gingold  <gingold@adacore.com>
6056
6057	* adaint.c (to_host_path_spec): Removed (unused).
6058	Minor reformatting.
6059
60602012-04-26  Steve Baird  <baird@adacore.com>
6061
6062	* gnat_rm.texi Improve description of Valid_Scalars attribute.
6063
60642012-04-26  Ed Schonberg  <schonberg@adacore.com>
6065
6066	* sem_ch6.adb (Can_Override_Operator): If the formal is a
6067	generic type the operator cannot be overriding.
6068
60692012-04-26  Ed Schonberg  <schonberg@adacore.com>
6070
6071	* sem_ch8.adb (Spec_Reloaded_For_Body): Check whether the type
6072	is declared in a package specification, and current unit is the
6073	corresponding package body. The use clauses themselves may be
6074	within a nested package.
6075
60762012-04-26  Bob Duff  <duff@adacore.com>
6077
6078	* exp_ch2.adb (Param_Entity): Take into account the case where
6079	the type of the entry parameter has a representation clause.
6080
60812012-04-26  Ed Schonberg  <schonberg@adacore.com>
6082
6083	* gnat_ugn.texi: Tweak dimensionality doc.
6084
60852012-04-26  Robert Dewar  <dewar@adacore.com>
6086
6087	* sem_eval.adb: Minor reformatting.
6088
60892012-04-26  Robert Dewar  <dewar@adacore.com>
6090
6091	* einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb,
6092	sem_eval.adb: Minor reformatting.
6093
60942012-04-26  Thomas Quinot  <quinot@adacore.com>
6095
6096	* freeze.adb: Minor change in error wording.
6097
60982012-04-26  Ed Schonberg  <schonberg@adacore.com>
6099
6100	* gnat_ugn.texi: Documentation on dimensional analysis.
6101
61022012-04-26  Hristian Kirtchev  <kirtchev@adacore.com>
6103
6104	* einfo.adb, einfo.ads: Remove synthesized attribute
6105	Proper_First_Index along with its associations in various nodes.
6106	(Proper_First_Index): Removed.
6107	* sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new
6108	local variable Index_Type. The index type of a string literal
6109	subtype is that of the stored low bound.
6110	* sem_eval (Get_Static_Length): Remove the use of Proper_First_Index.
6111	* sem_res.adb (Resolve_Slice): Alphabetize constants. Add
6112	new local variable Index_Type. The index type of a
6113	string literal subtype is that of the stored low bound.
6114	(Set_String_Literal_Subtype): Code reformatting.
6115
61162012-04-26  Robert Dewar  <dewar@adacore.com>
6117
6118	* exp_aggr.adb: Minor reformatting.
6119
61202012-04-26  Hristian Kirtchev  <kirtchev@adacore.com>
6121
6122	* exp_ch7.adb (Expand_Cleanup_Actions): Update the call to
6123	Requires_Cleanup_Actions.
6124	* exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean;
6125	Boolean)): Rename formal parameter For_Package to Lib_Level to
6126	better reflect its purpose. Update the related comment and all
6127	occurrences of For_Package in the body.
6128	(Requires_Cleanup_Actions
6129	(Node_Id; Boolean)): Add new formal parameter Lib_Level. Add
6130	local constant At_Lib_Level to keep monitor whether the path
6131	taken from the top-most context to the current construct involves
6132	package constructs. Update all calls to Requires_Cleanup_Actions.
6133	* exp_util.ads (Requires_Cleanup_Actions): Add new formal
6134	parameter Lib_Level and associated comment.
6135
61362012-04-26  Ed Schonberg  <schonberg@adacore.com>
6137
6138	* sem_ch6.adb (Process_Formals): If the type of the formal is
6139	a non null access type, mark the generated subtype as having a
6140	delayed freeze only if the designated type is not frozen yet.
6141
61422012-04-26  Vincent Celier  <celier@adacore.com>
6143
6144	* prj-attr.adb: New package Clean with attributes
6145	Object_Artifact_Extensions and Source_Artifact_Extensions.
6146	* prj-nmsc.adb (Process_Clean): Process new package Clean
6147	* prj.ads (Language_Config): New components
6148	Clean_Object_Artifacts and Clean_Source_Artifacts.
6149	* snames.ads-tmpl: New standard names Clean,
6150	Object_Artifact_Extensions and Source_Artifact_Extensions.
6151
61522012-04-26  Hristian Kirtchev  <kirtchev@adacore.com>
6153
6154	* einfo.adb (Proper_First_Index): Moved from Sem_Util.
6155	* einfo.ads: Add new synthesized attribute Proper_First_Index
6156	along with usage in nodes.
6157	(Proper_First_Index): Moved from Sem_Util.
6158	* sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo.
6159
61602012-04-26  Gary Dismukes  <dismukes@adacore.com>
6161
6162	* layout.adb (Layout_Component_List): Test for the case of a
6163	single variant and the size of its component list was computed
6164	as an integer literal, and use that size (which is in bits)
6165	as is rather than converting to storage units.
6166
61672012-04-26  Robert Dewar  <dewar@adacore.com>
6168
6169	* exp_aggr.adb: Minor reformatting.
6170
61712012-04-26  Robert Dewar  <dewar@adacore.com>
6172
6173	* sem_util.adb: Minor reformatting.
6174
61752012-04-26  Thomas Quinot  <quinot@adacore.com>
6176
6177	* exp_aggr.adb, exp_pakd.adb (Setup_Inline_Packed_Array_Reference,
6178	Packed_Array_Aggregate_Handled.Get_Component_Val):
6179	Reverse bit numbering within PAT when Reverse_Storage_Order
6180	applies to the enclosing record.
6181
61822012-04-26  Thomas Quinot  <quinot@adacore.com>
6183
6184	* freeze.adb (Freeze_Record_Type): Improve error message for
6185	Scalar_Storage_Order inconsistent with Bit_Order.
6186
61872012-04-25  Gary Dismukes  <dismukes@adacore.com>
6188
6189	* exp_ch9.adb: Add comments on the usage of the
6190	lock-free data structures.
6191
61922012-04-25  Vincent Pucci  <pucci@adacore.com>
6193
6194	* exp_intr.adb (Expand_Shift): Convert the left
6195	operand and the operator when the type of the call differs from
6196	the type of the operator.
6197
61982012-04-25  Geert Bosch  <bosch@adacore.com>
6199
6200	* stand.ads: Minor comment fix.
6201
62022012-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
6203
6204	* sem_ch4.adb (Analyze_Slice): Handle the case where the prefix
6205	is a string literal. Retrieve the first index from the base type
6206	when slicing a string literal.
6207	* sem_ch12.adb (Check_Private_View): Move the initialization
6208	of the type inside the loop to reflect the changing index.
6209	* sem_eval.adb (Eval_Relational_Op): Retrieve the first index
6210	from the base type when dealing with a string literal.
6211	* sem_res.adb (Resolve_Slice): Retrieve the first index from
6212	the base type when slicing a string literal.
6213	* sem_util.adb (Is_Internally_Generated_Renaming): New routine.
6214	(Is_Object_Reference): String literals may act
6215	as object references only when they are renamed internally.
6216	(Proper_First_Index): New routine.
6217	* sem_util.ads (Proper_First_Index): New routine.
6218
62192012-04-25  Robert Dewar  <dewar@adacore.com>
6220
6221	* sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb,
6222	lib-xref.adb: Minor reformatting.
6223
62242012-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
6225
6226	* exp_ch9.adb: Rename Lock_Free_Sub_Type
6227	to Lock_Free_Subprogram. Remove type Subprogram_Id.
6228	Rename LF_Sub_Table to Lock_Free_Subprogram_Table.
6229	(Allow_Lock_Free_Implementation): Renamed to
6230	Allows_Lock_Free_Implementation.  Update the comment on
6231	lock-free restrictions. Code clean up and restructuring.
6232	(Build_Lock_Free_Protected_Subprogram_Body): Update the
6233	profile and related comments. Code clean up and restructuring.
6234	(Build_Lock_Free_Unprotected_Subprogram_Body): Update the
6235	profile and related comments. Code clean up and restructuring.
6236	(Comp_Of): Removed.
6237
62382012-04-25  Vincent Celier  <celier@adacore.com>
6239
6240	* sem_ch12.adb (Inherit_Context): Compare library units, not
6241	names of units, when checking if a unit is already in the context.
6242
62432012-04-25  Thomas Quinot  <quinot@adacore.com>
6244
6245	* sem_ch3.adb: Reverse_Storage_Order must be propagated to
6246	untagged derived record types.
6247
62482012-04-25  Ed Schonberg  <schonberg@adacore.com>
6249
6250	* lib-xref.adb: Adjust position of end label.
6251
62522012-04-22  Jan Hubicka  <jh@suse.cz>
6253
6254	* gcc-interface/utils.c (gnat_write_global_declarations): Do not mark
6255	needed node.
6256
62572012-04-20  Jan Hubicka  <jh@suse.cz>
6258
6259	* gcc-interface/utils.c (gnat_write_global_declarations): Update for new
6260	force_output placement.
6261
62622012-04-14  Jan Hubicka  <jh@suse.cz>
6263
6264	* gcc-interface/trans.c (finalize_nrv): Update field referenced for new
6265	cgraph/varpool layout.
6266
62672012-04-09  Mike Stump  <mikestump@comcast.net>
6268
6269	* a-assert.ads: Remove execute permission.
6270	* a-chacon.ads: Likewise.
6271	* a-coteio.ads: Likewise.
6272	* a-envvar.ads: Likewise.
6273	* a-exetim-mingw.ads: Likewise.
6274	* a-fzteio.ads: Likewise.
6275	* a-izteio.ads: Likewise.
6276	* a-lcteio.ads: Likewise.
6277	* a-llctio.ads: Likewise.
6278	* a-scteio.ads: Likewise.
6279	* a-suenco.ads: Likewise.
6280	* a-suenst.ads: Likewise.
6281	* a-suewst.ads: Likewise.
6282	* a-suezst.ads: Likewise.
6283	* a-tirsfi.ads: Likewise.
6284	* a-wichha.ads: Likewise.
6285	* a-zchara.ads: Likewise.
6286	* a-zchhan.ads: Likewise.
6287	* a-zchuni.ads: Likewise.
6288	* a-zrstfi.ads: Likewise.
6289	* aspects.ads: Likewise.
6290	* g-byorma.ads: Likewise.
6291	* g-decstr.ads: Likewise.
6292	* g-encstr.ads: Likewise.
6293	* g-spchge.ads: Likewise.
6294	* g-u3spch.ads: Likewise.
6295	* g-wispch.ads: Likewise.
6296	* g-zspche.ads: Likewise.
6297	* namet-sp.ads: Likewise.
6298	* s-os_lib.ads: Likewise.
6299	* s-regexp.ads: Likewise.
6300	* s-regpat.ads: Likewise.
6301	* s-string.ads: Likewise.
6302	* s-tasloc.ads: Likewise.
6303	* s-utf_32.ads: Likewise.
6304	* sem_aux.ads: Likewise.
6305	* a-assert.adb: Likewise.
6306	* a-chacon.adb: Likewise.
6307	* a-envvar.adb: Likewise.
6308	* a-exetim-mingw.adb: Likewise.
6309	* a-suenco.adb: Likewise.
6310	* a-suenst.adb: Likewise.
6311	* a-suewst.adb: Likewise.
6312	* a-suezst.adb: Likewise.
6313	* a-tirsfi.adb: Likewise.
6314	* a-wichha.adb: Likewise.
6315	* a-zchhan.adb: Likewise.
6316	* a-zchuni.adb: Likewise.
6317	* a-zrstfi.adb: Likewise.
6318	* aspects.adb: Likewise.
6319	* g-byorma.adb: Likewise.
6320	* g-decstr.adb: Likewise.
6321	* g-encstr.adb: Likewise.
6322	* g-spchge.adb: Likewise.
6323	* g-u3spch.adb: Likewise.
6324	* g-wispch.adb: Likewise.
6325	* g-zspche.adb: Likewise.
6326	* namet-sp.adb: Likewise.
6327	* s-except.adb: Likewise.
6328	* s-inmaop-vxworks.adb: Likewise.
6329	* s-os_lib.adb: Likewise.
6330	* s-regexp.adb: Likewise.
6331	* s-regpat.adb: Likewise.
6332	* s-string.adb: Likewise.
6333	* s-tasloc.adb: Likewise.
6334	* s-utf_32.adb: Likewise.
6335	* s-wchcon.adb: Likewise.
6336	* sem_aux.adb: Likewise.
6337
63382012-04-02  Robert Dewar  <dewar@adacore.com>
6339
6340	* s-atopri.ads: Minor reformatting.
6341
63422012-04-02  Thomas Quinot  <quinot@adacore.com>
6343
6344	* sem_util.adb: Minor reformatting, minor code cleanup.
6345
63462012-04-02  Ed Schonberg  <schonberg@adacore.com>
6347
6348	* lib-xref.adb (Generate_Reference): For a reference to an
6349	operator symbol, set the sloc to point to the first character
6350	of the operator name, and not to the initial quaote.
6351	(Output_References): Ditto for the definition of an operator
6352	symbol.
6353
63542012-04-02  Vincent Celier  <celier@adacore.com>
6355
6356	* ali.adb (Scan_Ali): Recognize Z lines. Set
6357	Implicit_With_From_Instantiation to True in the With_Record for
6358	Z lines.
6359	* ali.ads (With_Record): New Boolean component
6360	Implicit_With_From_Instantiation, defaulted to False.
6361	* csinfo.adb: Indicate that Implicit_With_From_Instantiation
6362	is special
6363	* lib-writ.adb (Write_ALI): New array Implicit_With.
6364	(Collect_Withs): Set Implicit_With for the unit is it is not Yes.
6365	(Write_With_Lines): Write a Z line instead of a W line if
6366	Implicit_With is Yes for the unit.
6367	* sem_ch12.adb (Inherit_Context): Only add a unit in the context
6368	if it is not there yet.
6369	* sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12)
6370	added.
6371
63722012-04-02  Yannick Moy  <moy@adacore.com>
6373
6374	* osint.adb, osint.ads (Add_Default_Search_Dirs): Add library
6375	search dirs in file specified with option -gnateO.
6376
63772012-04-02  Robert Dewar  <dewar@adacore.com>
6378
6379	* sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb: Minor
6380	reformatting.
6381
63822012-04-02  Olivier Hainque  <hainque@adacore.com>
6383
6384	* g-sse.ads: Add x86-solaris and x86_64-darwin to the set of
6385	platforms where the use of this spec is supported. Add current
6386	year to the copyright notice.
6387	* gcc-interfaces/Makefile.in: Add g-sse.o and g-ssvety.o to
6388	EXTRA_GNATRTL_NONTASKING_OBJS on x86 32/64 targets that support
6389	it and where they were missing (x86-solaris, x86-freebsd,
6390	x86_64-freebsd, and x86-darwin).
6391
63922012-04-02  Gary Dismukes  <dismukes@adacore.com>
6393
6394	* bindgen.adb (Gen_Ada_Init): When compiling for the AAMP small
6395	library, where we no longer suppress the Standard_Library,
6396	generate an empty body rather than the usual generation of
6397	assignments to imported globals, since those aren't present in
6398	the small library.
6399
64002012-04-02  Ed Schonberg  <schonberg@adacore.com>
6401
6402	* sinfo.ads: Minor documentation fix.
6403
64042012-04-02  Hristian Kirtchev  <kirtchev@adacore.com>
6405
6406	* sem_res.adb (Resolve_Conditional_Expression): Add local variables
6407	Else_Typ and Then_Typ. Add missing type conversions to the "then" and
6408	"else" expressions when their respective types are scalar.
6409
64102012-04-02  Vincent Pucci  <pucci@adacore.com>
6411
6412	* exp_ch9.adb: Reordering of the local subprograms. New Table
6413	for the lock free implementation that maps each protected
6414	subprograms with the protected component it references.
6415	(Allow_Lock_Free_Implementation): New routine. Check if
6416	the protected body enables the lock free implementation.
6417	(Build_Lock_Free_Protected_Subprogram_Body): New routine.
6418	(Build_Lock_Free_Unprotected_Subprogram_Body): New routine.
6419	(Comp_Of): New routine.
6420	* Makefile.rtl: Add s-atopri.o
6421	* debug.adb: New compiler debug flag -gnatd9 for lock free
6422	implementation.
6423	* rtsfind.ads: RE_Atomic_Compare_Exchange_8,
6424	RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
6425	RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
6426	RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Uint8,
6427	RE_Uint16, RE_Uint32, RE_Uint64 added.
6428	* s-atropi.ads: New file. Defines atomic primitives used
6429	by the lock free implementation.
6430
64312012-04-02  Emmanuel Briot  <briot@adacore.com>
6432
6433	* g-expect.adb (Expect_Internal): Fix leak of the input file descriptor.
6434
64352012-04-02  Hristian Kirtchev  <kirtchev@adacore.com>
6436
6437	* exp_ch4.adb (Expand_N_Quantified_Expression): Reimplemented.
6438	The expansion no longer uses the copy of the original QE created
6439	during analysis.
6440	* sem.adb (Analyze): Add processing for loop parameter specifications.
6441	* sem_ch4.adb (Analyze_Quantified_Expression): Reimplemented. The
6442	routine no longer creates a copy of the original QE. All
6443	constituents of a QE are now preanalyzed and resolved.
6444	* sem_ch5.adb (Analyze_Iteration_Scheme): Remove the guard which
6445	bypasses all processing when the iteration scheme is related to a
6446	QE. Relovate the code which analyzes loop parameter specifications
6447	to a separate routine.	(Analyze_Iterator_Specification):
6448	Preanalyze the iterator name. This action was originally
6449	done in Analyze_Iteration_Scheme. Update the check which
6450	detects an iterator specification in the context of a QE.
6451	(Analyze_Loop_Parameter_Specification): New routine. This
6452	procedure allows for a stand-alone analysis of a loop parameter
6453	specification without the need of a parent iteration scheme. Add
6454	code to update the type of the loop variable when the range
6455	generates an itype and the context is a QE.
6456	(Pre_Analyze_Range): Renamed to Preanalyze_Range. Update all references
6457	to the routine.
6458	* sem_ch5.ads: Code reformatting.
6459	(Analyze_Loop_Parameter_Specification): New routine.
6460	* sem_ch6.adb (Fully_Conformant_Expressions): Detect a case
6461	when establishing conformance between two QEs utilizing different
6462	specifications.
6463	* sem_res.adb (Proper_Current_Scope): New routine.
6464	(Resolve): Do not resolve a QE as there is nothing to be done now.
6465	Ignore any loop scopes generated for QEs when detecting an expression
6466	function as the scopes are cosmetic and do not appear in the tree.
6467	(Resolve_Quantified_Expression): Removed. All resolution of
6468	QE constituents is now performed during analysis. This ensures
6469	that loop variables appearing in array aggregates are properly
6470	resolved.
6471
64722012-04-02  Ed Schonberg  <schonberg@adacore.com>
6473
6474	* sem_util.adb (Build_Default_Subtype): If the base type is
6475	private and its full view is available, use the full view in
6476	the subtype declaration.
6477
64782012-04-02  Jose Ruiz  <ruiz@adacore.com>
6479
6480	* gnat_ugn.texi: Add some minimal documentation about how to
6481	use GNATtest for cross platforms.
6482
64832012-04-02  Vincent Celier  <celier@adacore.com>
6484
6485	* opt.ads (Object_Path_File_Name): New variable.
6486	* prj-attr.adb: New Compiler attribute Object_Path_Switches.
6487	* prj-nmsc.adb (Process_Compiler): Recognize new attribute
6488	Object_Path_Switches.
6489	* snames.ads-tmpl: New standard name Object_Path_Switches.
6490	* switch-c.adb (Scan_Front_End_Switches): Recognize new switch
6491	-gnateO= and put its value in Opt.Object_Path_File_Name.
6492
64932012-04-02  Hristian Kirtchev  <kirtchev@adacore.com>
6494
6495	* exp_ch7.adb (Process_Declarations): Detect a case where
6496	a source object was initialized by another source object,
6497	but the expression was rewritten as a class-wide conversion
6498	of Ada.Tags.Displace.
6499	* exp_util.adb (Initialized_By_Ctrl_Function): Removed.
6500	(Is_Controlled_Function_Call): New routine.
6501	(Is_Displacement_Of_Ctrl_Function_Result): Removed.
6502	(Is_Displacement_Of_Object_Or_Function_Result): New routine.
6503	(Is_Source_Object): New routine.
6504	(Requires_Cleanup_Actions): Detect a case where a source object was
6505	initialized by another source object, but the expression was rewritten
6506	as a class-wide conversion of Ada.Tags.Displace.
6507	* exp_util.ads (Is_Displacement_Of_Ctrl_Function_Result): Removed.
6508	(Is_Displacement_Of_Object_Or_Function_Result): New routine.
6509
65102012-04-02  Ed Schonberg  <schonberg@adacore.com>
6511
6512	* sem_res.adb (Resolve_Call): A call to an expression function
6513	does not freeze if it appears in a different scope from the
6514	expression function itself. Such calls appear in the generated
6515	bodies of other expression functions, or in pre/postconditions
6516	of subsequent subprograms.
6517
65182012-04-02  Yannick Moy  <moy@adacore.com>
6519
6520	* lib-xref-alfa.adb: Code clean up.
6521
65222012-04-02  Ed Schonberg  <schonberg@adacore.com>
6523
6524	* sem_ch12.adb (Analyze_Subprogram_Instantiation): Do not suppress
6525	style checks, because the subprogram instance itself may contain
6526	violations of syle rules.
6527	* style.adb (Missing_Overriding): Check for missing overriding
6528	indicator on a subprogram instance.
6529
65302012-04-02  Hristian Kirtchev  <kirtchev@adacore.com>
6531
6532	* sem_ch6.adb (Last_Implicit_Declaration): New routine.
6533	(Process_PPCs): Insert the body of _postconditions after the
6534	last internally generated declaration. This ensures that actual
6535	subtypes created for formal parameters are visible and properly
6536	frozen as _postconditions may reference them.
6537
65382012-04-02  Robert Dewar  <dewar@adacore.com>
6539
6540	* einfo.adb (First_Component_Or_Discriminant) Now applies to
6541	all types with discriminants, not just records.
6542	* exp_attr.adb (Expand_N_Attribute): Add Scalar_Values handling
6543	for arrays, scalars and non-variant records.
6544	* sem_attr.adb (Analyze_Attribute): Handle Valid_Scalars
6545	* sem_attr.ads (Valid_Scalars): Update description
6546	* sem_util.ads, sem_util.adb (No_Scalar_Parts): New function.
6547
65482012-03-31  Eric Botcazou  <ebotcazou@adacore.com>
6549
6550	Revert
6551	2012-03-25  Eric Botcazou  <ebotcazou@adacore.com>
6552
6553	* gcc-interface/decl.c (SS_MARK_NAME): New define.
6554	(gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
6555	whose name is SS_MARK_NAME.
6556
65572012-03-30  Robert Dewar  <dewar@adacore.com>
6558
6559	* exp_ch5.adb, sem_util.adb, exp_ch4.adb: Minor comment updates.
6560
65612012-03-30  Yannick Moy  <moy@adacore.com>
6562
6563	* lib-xref-alfa.adb (Add_Alfa_File): Treat possibly 2 units at the same
6564	time, putting all scopes in the same Alfa file.
6565	(Add_Alfa_Xrefs): Correct errors in comparison function. Correct value
6566	of Def component.
6567	(Collect_Alfa): Possibly pass 2 units to Add_Alfa_File.
6568
65692012-03-30  Hristian Kirtchev  <kirtchev@adacore.com>
6570
6571	* exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Handle a case where
6572	a build-in-place call appears as Prefix'Reference'Reference.
6573
65742012-03-30  Yannick Moy  <moy@adacore.com>
6575
6576	* lib-xref-alfa.adb: Minor refactoring to remove internal package.
6577
65782012-03-30  Hristian Kirtchev  <kirtchev@adacore.com>
6579
6580	* sem_ch5.adb (Analyze_Iteration_Scheme): Preanalyze the subtype
6581	definition of a loop when the context is a quantified expression.
6582
65832012-03-30  Vincent Celier  <celier@adacore.com>
6584
6585	* prj.ads: Minor comment update.
6586
65872012-03-30  Yannick Moy  <moy@adacore.com>
6588
6589	* lib-xref-alfa.adb, alloc.ads, lib-xref.ads: Minor addition of
6590	comments and refactoring.
6591
65922012-03-30  Robert Dewar  <dewar@adacore.com>
6593
6594	* lib-xref.adb, lib-xref-alfa.adb: Minor reformatting & code
6595	reorganization.
6596
65972012-03-30  Yannick Moy  <moy@adacore.com>
6598
6599	* lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit
6600	instead of Get_Source_Unit to get file for reference.
6601	(Traverse_Compilation_Unit): Do not add scopes for generic units.
6602	* lib-xref.adb (Generate_Reference): Use Get_Code_Unit instead
6603	of Get_Source_Unit to get file for reference.
6604	* sem_ch12.adb (Analyze_Package_Instantiation): Enable
6605	instantiation in Alfa mode.
6606
66072012-03-30  Hristian Kirtchev  <kirtchev@adacore.com>
6608
6609	* exp_ch7.adb (Process_Declarations): Replace
6610	the call to Is_Null_Access_BIP_Func_Call with
6611	Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
6612	* exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed.
6613	(Is_Secondary_Stack_BIP_Func_Call): New routine.
6614	(Requires_Cleanup_Actions): Replace
6615	the call to Is_Null_Access_BIP_Func_Call with
6616	Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
6617	* exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed.
6618	(Is_Secondary_Stack_BIP_Func_Call): New routine.
6619
66202012-03-30  Yannick Moy  <moy@adacore.com>
6621
6622	* lib-xref-alfa.adb, lib-xref.adb: Code clean ups.
6623
66242012-03-30  Gary Dismukes  <dismukes@adacore.com>
6625
6626	* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): For the case of a
6627	loop entity which is rewritten as a renaming
6628	of the indexed array, explicitly mark the entity as needing
6629	debug info so that Materialize entity will be set later by
6630	Debug_Renaming_Declaration when the renaming is expanded.
6631
66322012-03-30  Robert Dewar  <dewar@adacore.com>
6633
6634	* sem_attr.ads: Update comment.
6635
66362012-03-30  Vincent Celier  <celier@adacore.com>
6637
6638	* prj.ads: New Dependency_Kind: ALI_Closure.
6639
66402012-03-30  Thomas Quinot  <quinot@adacore.com>
6641
6642	* exp_pakd.adb: Minor reformatting.
6643
66442012-03-30  Yannick Moy  <moy@adacore.com>
6645
6646	* lib-xref-alfa.adb (Add_Alfa_File): Take into account possible absence
6647	of compilation unit for unit in Sdep_Table.
6648
66492012-03-30  Thomas Quinot  <quinot@adacore.com>
6650
6651	* freeze.adb (Freeze_Record_Type): For a type with reversed bit
6652	order and reversed storage order, disable front-end relayout.
6653
66542012-03-25  Eric Botcazou  <ebotcazou@adacore.com>
6655
6656	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Copy
6657	the TYPE_PACKED flag from the base type.
6658
66592012-03-25  Eric Botcazou  <ebotcazou@adacore.com>
6660
6661	* gcc-interface/decl.c (SS_MARK_NAME): New define.
6662	(gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
6663	whose name is SS_MARK_NAME.
6664
66652012-03-25  Eric Botcazou  <ebotcazou@adacore.com>
6666
6667	* gcc-interface/utils.c (add_parallel_type): Take a TYPE instead of a
6668	DECL and adjust.  Move around.
6669	(has_parallel_type): New predicate.
6670	(rest_of_record_type_compilation): Return early if the type already
6671	has a parallel type.
6672	* gcc-interface/gigi.h (add_parallel_type): Adjust.
6673	* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
6674
66752012-03-25  Eric Botcazou  <ebotcazou@adacore.com>
6676
6677	* gcc-interface/utils.c (finish_record_type): Return early for padded
6678	types and tidy up.
6679
66802012-03-20  Arnaud Charlet  <charlet@adacore.com>
6681
6682	* hlo.ads, hlo.adb: Removed, no longer used.
6683	* gcc-interface/Make-lang.in: Remove hlo.o. Update dependencies.
6684	* gcc-interface/Makefile.in: Remove EXTRA_LIBGNAT_SRCS (temporarly)
6685	and compute it from EXTRA_LIBGNAT_OBJS.
6686	Clean up comments, reorder LIBGNAT_SRCS and LIBGNAT_OBJS.
6687
66882012-03-20  Yannick Moy  <moy@adacore.com>
6689
6690	* gnat_rm.texi, sem_attr.ads: Update documentation.
6691
66922012-03-19  Yannick Moy  <moy@adacore.com>
6693
6694	* sem_ch6.adb: Minor code clean up.
6695
66962012-03-19  Vincent Celier  <celier@adacore.com>
6697
6698	* make.adb (Scan_Make_Arg): Make sure all significant -m switches
6699	on the command line are counted.
6700
67012012-03-19  Robert Dewar  <dewar@adacore.com>
6702
6703	* sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute
6704	reference case
6705
67062012-03-19  Robert Dewar  <dewar@adacore.com>
6707
6708	* par-ch4.adb (Check_Bad_Exp): New procedure
6709
67102012-03-19  Robert Dewar  <dewar@adacore.com>
6711
6712	* exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add
6713	initial framework for Valid_Scalars attribute.
6714
67152012-03-19  Robert Dewar  <dewar@adacore.com>
6716
6717	* scng.adb (Scan): Recognize incorrect preprocessor directive
6718
67192012-03-19  Robert Dewar  <dewar@adacore.com>
6720
6721	* atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes
6722	* atree.ads (Num_Extension_Nodes): New variable
6723	* debug.adb: New debug flag -gnatd.N
6724	* gnat1drv.adb (Adjust_Global_Switches): Adjust
6725	Num_Extension_Nodes if -gnatd.N set
6726
67272012-03-19  Eric Botcazou  <ebotcazou@adacore.com>
6728
6729	* einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item
6730	descriptions.
6731
67322012-03-19  Robert Dewar  <dewar@adacore.com>
6733
6734	* opt.ads: Remove HLO_Active flag.
6735	* sem.adb: Remove call of high level optimizer.
6736	* sem.ads (New_Nodes_OK): Removed.
6737	* sem_ch10.adb: Remove references to New_Nodes_OK.
6738	* switch-c.adb: Remove handling of -gnatH switch.
6739
67402012-03-19  Yannick Moy  <moy@adacore.com>
6741
6742	* sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings
6743	on trivially True or False postconditions and Ensures components
6744	of contract-cases.
6745
67462012-03-19  Robert Dewar  <dewar@adacore.com>
6747
6748	* gnat_ugn.texi: Fix index entry for -gnatei (now we have
6749	ug_words entry).
6750
67512012-03-19  Hristian Kirtchev  <kirtchev@adacore.com>
6752
6753	* sem_ch3.adb (Get_Discriminant_Value): Instead of looking
6754	at the immediate correcponsing discriminant, traverse a
6755	potential chain of discriminants produced by type derivations.
6756	(Root_Corresponding_Discriminant): Traverse a chain of inherited
6757	discriminants and return the topmost discriminant.
6758
67592012-03-19  Bob Duff  <duff@adacore.com>
6760
6761	* debug.adb: Minor comment change.
6762	* gnat_ugn.texi: Update documentation for elaboration regarding
6763	indirect calls.
6764
67652012-03-19  Gary Dismukes  <dismukes@adacore.com>
6766
6767	* exp_ch3.adb (Expand_N_Object_Declaration): In
6768	the case of an object of a class-wide interface type, where the
6769	declaration is rewritten as a renaming, call Set_Debug_Info_Needed
6770	on the renaming entity so that Materialize_Entity will be
6771	set. Also, change existing call (for other than interface cases)
6772	to call Set_Debug_Info_Needed rather than Set_Needs_Debug_Info
6773	(as specified for that flag).
6774
67752012-03-19  Hristian Kirtchev  <kirtchev@adacore.com>
6776
6777	* sem_ch4.adb (Analyze_Allocator): Detect an allocator generated
6778	by the build-in-place machinery where the designated type is
6779	indefinite, but the underlying type is not. Do not emit errors
6780	related to missing initialization in this case.
6781
67822012-03-19  Robert Dewar  <dewar@adacore.com>
6783
6784	* gnat_ugn.texi: Add documentation for -gnateinnn switch.
6785	* sem_elab.adb, put_alfa.adb, lib-xref-alfa.adb: Minor reformatting.
6786	* sem_prag.adb: Minor comment update.
6787
67882012-03-15  Robert Dewar  <dewar@adacore.com>
6789
6790	* errout.ads: Add entry for translating -gnateinn to
6791	/MAX_INSTANTIATIONS for VMS.
6792	* hostparm.ads (Max_Instantiations): Moved to Opt.
6793	* opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed.
6794	* sem_ch12.adb (Maximum_Instantiations): New name of
6795	Max_Instantiations (Analyze_Package_Instantiation): Change error
6796	msg for too many instantiations (mention -gnateinn switch).
6797	* switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch.
6798	* switch.ads: Minor comment update.
6799	* usage.adb (Usage): Output line for -maxeinn switch.
6800	* vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn).
6801
68022012-03-15  Yannick Moy  <moy@adacore.com>
6803
6804	* alfa.ads Update the decription of ALI sections.
6805	(Alfa_File_Record): Add a component Unit_File_Name to store the
6806	unit file name for subunits.
6807	* get_alfa.adb, put_alfa.adb Adapt to the possible presence of
6808	a unit file name.
6809	* lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the
6810	file name of the unit.
6811
68122012-03-15  Yannick Moy  <moy@adacore.com>
6813
6814	* sem_ch6.adb (Check_Subprogram_Contract): Do
6815	not issue warning on missing 'Result in postcondition if all
6816	postconditions and contract-cases already get a warning for only
6817	referring to pre-state.
6818
68192012-03-15  Bob Duff  <duff@adacore.com>
6820
6821	* debug.adb: Add new debug switch -gnatd.U, which disables the
6822	support added below, in case someone trips over a cycle, and needs
6823	to disable this.
6824	* sem_attr.adb (Analyze_Access_Attribute):
6825	Treat Subp'Access as a call for elaboration purposes.
6826	* sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support
6827	for Subp'Access.
6828
68292012-03-15  Vincent Pucci  <pucci@adacore.com>
6830
6831	* sem.ads, sem.adb (Preanalyze): New routine.
6832	* sem_ch4.adb (Analyze_Quantified_Expression): Call to the
6833	Preanalyze routine in Sem added.  Renaming of Needs_Expansion
6834	into Need_Preanalysis.
6835	* sem_ch6.adb (Preanalyze): Removed.
6836
68372012-03-15  Robert Dewar  <dewar@adacore.com>
6838
6839	* sem_ch4.adb (Analyze_Quantified_Expression): Add comment.
6840	* sem_prag.adb: Minor comment additions.
6841	* sem_attr.adb (Check_First_Last_Valid): Make sure prefix type
6842	is frozen.
6843
68442012-03-15  Vincent Pucci  <pucci@adacore.com>
6845
6846	* sem_ch4.adb (Analyze_Quantified_Expression):
6847	Preanalyze the condition when the quantified expression will be
6848	further expanded.
6849
68502012-03-15  Yannick Moy  <moy@adacore.com>
6851
6852	* sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, sem_ch6.adb,
6853	sem_warn.adb: Minor refactoring, renaming Case_Pragma in CTC_Pragma,
6854	to refer to both Test_Case pragma and Contract_Case pragma (same
6855	acronym as in Spec_CTC_List).
6856
68572012-03-15  Robert Dewar  <dewar@adacore.com>
6858
6859	* sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb,
6860	sem_warn.adb: Minor reformatting.
6861
68622012-03-15  Hristian Kirtchev  <kirtchev@adacore.com>
6863
6864	* exp_util.adb (Initialized_By_Ctrl_Function): Do not loop over
6865	selector names as the function call always appears at the top selected
6866	component.
6867
68682012-03-15  Ed Schonberg  <schonberg@adacore.com>
6869
6870	* sem_ch12.adb (Validate_Access_Subprogram_Instance): keep
6871	Mode_Conformance check for older versions of the language.
6872
68732012-03-15  Yannick Moy  <moy@adacore.com>
6874
6875	* gnat_ugn.texi Document the extension of option -gnatw.t.
6876	* sem_ch3.adb (Analyze_Declaration): Check for suspicious
6877	contracts only after contract cases have been semantically
6878	analyzed.
6879	* sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures
6880	components of contract cases for detecting suspicious contracts.
6881
68822012-03-15  Yannick Moy  <moy@adacore.com>
6883
6884	* aspects.adb, aspects.ads (Aspect_Id): New GNAT aspect
6885	Aspect_Contract_Case.
6886	* gnat_rm.texi Document the new pragma/aspect
6887	Contract_Case. Correct the documentation of the existing
6888	pragma/aspect Test_Case with the new semantics.
6889	* sem_attr.adb (Analyze_Attribute): Allow use of 'Result in the
6890	Ensures component of a Contract_Case pragma.
6891	* sem_ch13.adb (Analyze_Aspect_Specifications): Check new aspect
6892	and translate it into a pragma.
6893	(Check_Aspect_At_Freeze_Point): Take into account the new aspect.
6894	* sem_ch3.adb, sinfo.adb, sinfo.ads Renaming of TC (for test case)
6895	into CTC (for contract and test case).
6896	* sem_ch6.adb (Process_PPCs): Generate Check pragmas from
6897	Contract_Case pragmas, similarly to what is done already for
6898	postconditions.
6899	* sem_prag.adb, sem_prag.ads (Check_Contract_Or_Test_Case):
6900	Renaming of Check_Test_Case.
6901	(Analyze_Pragma, Sig_Flags): Take into account the new pragma.
6902	* sem_util.adb, sem_util.ads Renaming to take into account the
6903	new pragma, so that functions which applied only to Test_Case
6904	now apply to both Test_Case and Contract_Case.
6905	* par-prag.adb, sem_warn.adb, snames.ads-tmpl Take into account
6906	the new pragma.
6907
69082012-03-15  Robert Dewar  <dewar@adacore.com>
6909
6910	* sem_ch6.ads: Minor comment updates.
6911	* sem_ch12.adb: Minor comment clarification.
6912
69132012-03-15  Robert Dewar  <dewar@adacore.com>
6914
6915	* sem_ch5.adb: Minor reformatting.
6916
69172012-03-15  Ed Schonberg  <schonberg@adacore.com>
6918
6919	* exp_ch3.adb (Expand_N_Object_Declaration): When rewriting the
6920	declaration of a class-wide object, retain the Ekind to prevent
6921	subsequent misuse of constants.
6922
69232012-03-15  Yannick Moy  <moy@adacore.com>
6924
6925	* gnat_rm.texi, gnat_ugn.texi: Minor correction of invariant
6926	terminology.
6927
69282012-03-15  Hristian Kirtchev  <kirtchev@adacore.com>
6929
6930	* exp_util.adb (Initialized_By_Ctrl_Function): Add code to
6931	process the case when a function call appears in object.operation
6932	format.
6933
69342012-03-15  Ed Schonberg  <schonberg@adacore.com>
6935
6936	* sem_ch6.ads, sem_ch6.adb (Check_Subtype_Conformant): add
6937	Get_Inst formal, so that conformance within an instantiation
6938	follows renamings of formals. This is similar to what is already
6939	done in Check_Mode_conformant.
6940	* sem_ch12.adb (Vailidate_Access_Subprogram_Instance): check that
6941	formal and actual are subtype conformant. Previously only mode
6942	conformance was required.
6943
69442012-03-15  Robert Dewar  <dewar@adacore.com>
6945
6946	* par-ch6.adb, einfo.ads, sem_eval.adb, sem_eval.ads,
6947	sem_case.adb: Minor reformatting.
6948
69492012-03-15  Robert Dewar  <dewar@adacore.com>
6950
6951	* exp_attr.adb (Expand_N_Attribute_Reference): Add handling
6952	of First_Valid/Last_Valid.
6953	* sem_attr.adb (Check_First_Last_Valid): New procedure
6954	(Analyze_Attribute): Add handling of First_Valid and Last_Valid
6955	(Eval_Attribute): ditto.
6956	* snames.ads-tmpl: Add entries for First_Valid and Last_Valid.
6957
69582012-03-15  Ed Schonberg  <schonberg@adacore.com>
6959
6960	* exp_ch5.adb (Expand_Predicated_Loop): Suppress warnings on
6961	loop variable, for the unusual case where the range has a single
6962	element and the loop variable has no visible assignment to it.
6963
69642012-03-15  Vincent Pucci  <pucci@adacore.com>
6965
6966	* exp_ch4.adb (Expand_N_Quantified_Expression): Expand the
6967	original quantified expression node.
6968	* sem_ch4.adb (Analyze_Quantified_Expression): Properly analyze
6969	the quantified expression and preserve the original non-analyzed
6970	quantified expression when an expansion is needed.
6971	* sem_ch5.adb (Analyze_Iteration_Scheme): Special treatment
6972	for quantified expressions.
6973	(Analyze_Iterator_Specification): Special treatment for quantified
6974	expressions.
6975
69762012-03-15  Ed Falis  <falis@adacore.com>
6977
6978	* s-vxwork-ppc.ads: Update FP_CONTEXT so name of former pad
6979	field matches VxWorks headers.
6980
69812012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6982
6983	* gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.
6984
6985	* a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
6986	s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
6987	s-osinte-irix.ads, s-proinf-irix-athread.adb,
6988	s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
6989	system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
6990	Remove.
6991
6992	* adaint.c [__mips && __sgi]: Remove.
6993	(__gnat_number_of_cpus) [__mips && __sgi]: Remove.
6994	[IS_CROSS && !(__mips && __sgi)]: Remove.
6995	* adaint.h [sgi && _LFAPI]: Remove.
6996	* cstreams.c (__gnat_full_name) [sgi]: Remove.
6997	* env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
6998	(__gnat_clearenv) [__mips && __sgi]: Remove.
6999	* errno.c (_SGI_MP_SOURCE): Remove.
7000	* gsocket.h [sgi]: Remove.
7001	* init.c: Remove IRIX reference.
7002	[sgi]: Remove.
7003	* link.c [sgi]: Remove.
7004	* s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
7005	(main) [__mips && __sgi] (MAX_tv_sec): Don't define.
7006	(CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
7007	* sysdep.c [sgi]: Remove.
7008	(getc_immediate_common) [sgi]: Remove.
7009	(__gnat_localtime_tzoff) [sgi]: Remove.
7010	* terminals.c [__mips && __sgi] (IRIX): Don't define.
7011	[IRIX] (USE_GETPTY): Don't define.
7012	(allocate_pty_desc) [USE_GETPTY]: Remove.
7013
7014	* g-traceb.ads: Remove IRIX reference.
7015	* g-trasym.ads: Likewise.
7016	* memtrack.adb: Likewise.
7017	* s-interr-sigaction.adb: Likewise.
7018
7019	* gnat_rm.texi (Implementation Advice): Remove SGI info.
7020	(Implementation Defined Characteristics): Likewise.
7021	* gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
7022	Remove.
7023	(Irix-Specific Considerations): Remove.
7024
70252012-03-13  Tristan Gingold  <gingold@adacore.com>
7026
7027	* gcc-interface/gigi.h (flag_vms_malloc64): Refine condition.
7028
70292012-03-13  Tristan Gingold  <gingold@adacore.com>
7030
7031	* sysdep.c: Adjust condition after removal of __osf__.
7032
70332012-03-12  Eric Botcazou  <ebotcazou@adacore.com>
7034
7035	* gcc-interface/gigi.h (shift_unc_components_for_thin_pointers): Kill.
7036	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove call
7037	to above function.
7038	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Adjust
7039	handling of thin pointers.
7040	<Attr_Descriptor_Size>: Likewise.
7041	(gnat_to_gnu) <N_Free_Statement>: Likewise.
7042	* gcc-interface/utils.c (shift_unc_components_for_thin_pointers): Kill.
7043	(convert_to_fat_pointer): Adjust handling of thin pointers.
7044	(convert) <POINTER_TYPE>: Likewise.
7045	* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
7046
70472012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7048
7049	* gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
7050	* a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
7051	s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
7052	s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
7053	system-tru64.ads: Remove.
7054
7055	* adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
7056	Remove.
7057	[IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
7058	* env.c [__alpha__ && __osf__]: Remove.
7059	* gsocket.h (_OSF_SOURCE): Remove.
7060	(HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
7061	* init.c [__alpha__ && __osf__]: Remove.
7062	* link.c [__osf__]: Remove.
7063	* s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
7064	[__osf__ && !_SS_MAXSIZE]: Remove.
7065	* sysdep.c [__osf__]: Remove.
7066	* terminals.c [__alpha__ && __osf__]: Remove.
7067	[OSF1]: Remove.
7068
7069	* g-traceb.ads: Remove Tru64 reference.
7070	* g-trasym.ads: Likewise.
7071	* gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
7072	(Summary of Run-Time Configurations): Likewise.
7073	* memtrack.adb: Likewise.
7074
70752012-03-12  Tristan Gingold  <gingold@adacore.com>
7076
7077	* gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64
7078	instead of TARGET_MALLOC64.
7079	* gcc-interface/gigi.h (flag_vms_malloc64): Define instead
7080	of TARGET_MALLOC64.
7081
70822012-03-09  Robert Dewar  <dewar@adacore.com>
7083
7084	* a-direct.adb, comperr.adb, freeze.adb: Minor reformatting.
7085
70862012-03-09  Arnaud Charlet  <charlet@adacore.com>
7087
7088	* s-taskin.adb (Initialize_ATCB): Set Task_Image_Len to
7089	0 so that we never access this field uninitialized (e.g. in
7090	Task_Primitives.Operations.Enter_Task for the environment task).
7091
70922012-03-09  Vincent Pucci  <pucci@adacore.com>
7093
7094	* exp_ch5.adb (Expand_Iterator_Loop):
7095	Call to Expand_Iterator_Loop_Over_Array added.
7096	(Expand_Iterator_Loop_Over_Array): New routine. Expansion of
7097	"of" iterator loop over arrays. Multidimensional array case added.
7098
70992012-03-09  Eric Botcazou  <ebotcazou@adacore.com>
7100
7101	* uintp.ads: Fix minor pasto in comment.
7102
71032012-03-09  Vasiliy Fofanov  <fofanov@adacore.com>
7104
7105	* a-direct.adb: Do not strip the trailing directory separator
7106	from path, as this is already done inside Normalize_Pathname;
7107	doing it again produces the wrong result on Windows for the
7108	drive's root dir (i.e. "X:\" becomes "X:").
7109
71102012-03-09  Thomas Quinot  <quinot@adacore.com>
7111
7112	* exp_attr.adb, freeze.adb, sem_attr.adb, aspects.adb, aspects.ads,
7113	sem_ch13.adb, snames.ads-tmpl (Exp_Attr.Expand_N_Attribute_Reference):
7114	Add Attribute_Scalar_Storage_Order.
7115	(Sem_Attr.Analyze_Attribute, Eval_Attribute): Ditto.
7116	(Aspects): Add Aspect_Scalar_Storage_Order (Snames): Add
7117	Name_Scalar_Storage_Order and Attribute_Scalar_Storage_Order.
7118	(Sem_Ch13.Analyze_Attribute_Definition_Clause): Add processing
7119	for Scalar_Storage_Order.
7120	(Freeze): If Scalar_Storage_Order is specified, check that it
7121	is compatible with Bit_Order.
7122
71232012-03-09  Robert Dewar  <dewar@adacore.com>
7124
7125	* s-osinte-linux.ads, sem_util.adb, s-taprop-linux.adb, exp_ch4.adb,
7126	a-strsup.ads, sem_ch6.adb, a-stwisu.ads, exp_ch3.adb,
7127	a-stzsup.ads: Minor reformatting.
7128
71292012-03-09  Thomas Quinot  <quinot@adacore.com>
7130
7131	* s-ransee-vms.adb: Minor reformatting.
7132
71332012-03-09  Arnaud Charlet  <charlet@adacore.com>
7134
7135	* comperr.adb (Delete_SCIL_Files): Fix handling of
7136	N_Package_Renaming_Declaration and N_Generic_Package_Declaration.
7137
71382012-03-09  Javier Miranda  <miranda@adacore.com>
7139
7140	* sem_ch6.adb (Check_Body_To_Inline): In AAMP and VM targets
7141	use frontend inlining at all optimization levels.
7142	* sem_util.adb (Must_Inline): In AAMP and VM targets, given that
7143	there is no inlining support in the backend, use also frontend
7144	inlining when compiling with optimizations enabled.
7145	* exp_ch6.adb (Expand_Call): Minor code reorganization.
7146
71472012-03-09  Eric Botcazou  <ebotcazou@adacore.com>
7148
7149	* gcc-interface/ada-tree.h (TYPE_VAX_FLOATING_POINT_P): Move around.
7150	(TYPE_UNCONSTRAINED_ARRAY): Adjust comment.
7151	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Tidy
7152	up.  Add comment and use canonical predicate for thin pointers.
7153	(gnat_to_gnu) <N_Free_Statement>: Tidy up and reorder.  Add comment
7154	and use canonical predicate for thin pointers.
7155	* gcc-interface/utils.c (convert_to_fat_pointer): Remove superfluous
7156	'else' and use standard name.
7157	(convert_to_thin_pointer): Delete.
7158	(convert) <POINTER_TYPE>: Do the difference in sizetype directly and
7159	change obsolete idioms.  Do not call above function.
7160	(unchecked_convert): Fix formatting.
7161	* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: In the thin
7162	pointer case, use byte_position to get the field position.
7163
71642012-03-07  Eric Botcazou  <ebotcazou@adacore.com>
7165
7166	* gcc-interface/decl.c (gnat_to_gnu_entity): Do not set flags on the
7167	DECL node built for a type which has a non-trivial equivalent type.
7168
71692012-03-07  Eric Botcazou  <ebotcazou@adacore.com>
7170
7171	* gcc-interface/gigi.h (rest_of_type_decl_compilation): Delete.
7172	* gcc-interface/decl.c (defer_finalize_level): Likewise.
7173	(defer_finalize_list): Likewise.
7174	(gnat_to_gnu_entity): Delete references to above variables and do not
7175	call rest_of_type_decl_compilation.
7176	(rest_of_type_decl_compilation): Delete.
7177	(rest_of_type_decl_compilation_no_defer): Likewise.
7178	* gcc-interface/utils.c (rest_of_record_type_compilation): Do not call
7179	rest_of_type_decl_compilation.
7180	(create_type_decl): Likewise.
7181	(update_pointer_to): Likewise.
7182
71832012-03-07  Eric Botcazou  <ebotcazou@adacore.com>
7184
7185	* gcc-interface/trans.c (Identifier_to_gnu): Don't unshare initializer.
7186	(add_decl_expr): Mark external DECLs as used.
7187	* gcc-interface/utils.c (convert) <CONSTRUCTOR>: Copy the vector.
7188
71892012-03-07  Tristan Gingold  <gingold@adacore.com>
7190
7191	* s-ransee-vms.adb: New file.
7192	* gcc-interface/Makefile.in: Use s-ransee-vms.adb on VMS.
7193	* gcc-interface/Make-lang.in: Update dependencies.
7194
71952012-03-07  Bob Duff  <duff@adacore.com>
7196
7197	* rtsfind.ads: Add support for finding Super_String types.
7198	* sem_util.ads, sem_util.adb (Is_Bounded_String): New function
7199	to determine whether a given type is a bounded string type.
7200	(Is_Fully_Initialized_Type): Return True for bounded
7201	string types, to suppress bogus warnings.
7202	* exp_ch4.adb (Expand_Composite_Equality): Special case for bounded
7203	strings: equality composes. This allows us to remove default values in
7204	super strings.
7205	* a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments.
7206	* exp_ch3.adb (Expand_Freeze_Record_Type): Comment.
7207
72082012-03-07  Robert Dewar  <dewar@adacore.com>
7209
7210	* sem_util.adb, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb: Minor
7211	reformatting.
7212
72132012-03-07  Sergey Rybin  <rybin@adacore.com frybin>
7214
7215	* gnat_ugn.texi: gnatpp: fix paragraph about sources with
7216	preprocessor directives.
7217
72182012-03-07  Arnaud Charlet  <charlet@adacore.com>
7219
7220	* s-osinte-linux.ads, s-taprop-linux.adb (prctl): New function.
7221	(Enter_Task): Call prctl when relevant.
7222
72232012-03-07  Tristan Gingold  <gingold@adacore.com>
7224
7225	* s-osinte-vms.ads: pthread_mutex_setname_np: new function.
7226
72272012-03-07  Ed Schonberg  <schonberg@adacore.com>
7228
7229	* sem_ch6.adb (Process_Formals): a generic subprogram with
7230	a formal incomplete type does not require a freeze node.
7231
72322012-03-07  Bob Duff  <duff@adacore.com>
7233
7234	* sem_util.ads: Minor reformatting.
7235
72362012-03-07  Geert Bosch  <bosch@adacore.com>
7237
7238	* targparm.ads: New target parameter Atomic_Sync_Default,
7239	defaulting to True.
7240	* targparm.adb (Get_Target_Parameters): Add processing for
7241	Atomic_Sync_Default.
7242	* gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options
7243	based on ASD.
7244
72452012-03-07  Javier Miranda  <miranda@adacore.com>
7246
7247	* sem_ch3.adb (Analyze_Object_Declaration): If the object
7248	declaration has an init expression then stop the analysis of the
7249	object declaration if the expression which initializes the object
7250	is a call to an inlined function which returns an unconstrained
7251	and has been expanded into a procedure call.
7252	* sem_ch5.adb (Has_Call_Using_Secondary_Stack): Add missing
7253	support to handle selected components.
7254	* sem_ch6.ads (Cannot_Inline): Adding parameter Is_Serious plus
7255	documentation.
7256	* sem_ch6.adb (Check_And_Build_Body_To_Inline): New
7257	subprogram which implements the checks required by the
7258	new rules for frontend inlining and builds the body to inline.
7259	(Analyze_Subprogram_Body_Helper): Move code that
7260	checks inlining of subprogram that has nested subprogram
7261	to Check_And_Build_Body_To_Inline.  Replace call to
7262	Build_Body_To_Inline by call to the new subprogram
7263	Check_And_Build_Body_To_Inline.
7264	(Cannot_Inline): New implementation.
7265	* sem_ch12.adb (Analyze_Package_Instantiation.Must_Inline_Subp):
7266	New subprogram.
7267	* sem_util.ad[sb] (Must_Inline): New subprogram.
7268	(Returns_Unconstrained_Type): New subprogram.
7269	* sem_res.adb (Resolve_Call): Do not create a transient scope
7270	for inlined calls.
7271	* inline.ads (Analyzing_Inlined_Bodies): Remove unreferenced variable.
7272	* inline.adb (Analyze_Inlined_Bodies, Initialize): Remove setting
7273	to false the variable Analyzing_Inlined_Bodies.  Fix comments.
7274	* exp_ch4.adb (Expand_N_Allocator): Fix handling of finalization master.
7275	* exp_ch6.ads (List_Inlining_Info): New subprogram.
7276	* exp_ch6.adb (Expand_Call.Do_Inline): New subprogram.
7277	(Expand_Call.Do_Inline_Always): New subprogram.
7278	(In_Unfrozen_Instance): Move the declaration of this subprogram.
7279	(Expand_Inlined_Call.Reset_Dispatching_Calls): New subprogram.
7280	(Expand_Inlined_Call): Adding new support for inlining functions
7281	that return unconstrained types.
7282	(List_Inlining_Info): New subprogram.
7283	* debug.adb Document flags -gnatd.j and -gnatd.k
7284	* gnat1drv.adb Add call to generate the new listing of inlined
7285	calls and calls passed to the backend.
7286
72872012-03-07  Robert Dewar  <dewar@adacore.com>
7288
7289	* sem_ch5.adb, s-vaflop.adb, s-taprop-vms.adb, exp_ch6.adb,
7290	s-gearop.adb, sem_ch6.adb, g-trasym.adb: Minor reformatting.
7291
72922012-03-07  Javier Miranda  <miranda@adacore.com>
7293
7294	* a-ngrear.ads: Add documentation.
7295
72962012-03-07  Tristan Gingold  <gingold@adacore.com>
7297
7298	* s-taprop-vms.adb (Create_Task): set thread name.
7299	* s-osinte-vms.ads (pthread_attr_setname_np): Declare.
7300
73012012-03-07  Arnaud Charlet  <charlet@adacore.com>
7302
7303	* g-trasym.adb: Minor reformatting.
7304
73052012-03-07  Robert Dewar  <dewar@adacore.com>
7306
7307	* a-ngrear.ads: Minor addition of ??? comment.
7308
73092012-03-07  Gary Dismukes  <dismukes@adacore.com>
7310
7311	* exp_ch4.adb (Apply_Accessibility_Check): Call
7312	Remove_Side_Effects in the build-in-place case, to ensure that
7313	we capture the call and don't end up with two calls.
7314
73152012-03-07  Javier Miranda  <miranda@adacore.com>
7316
7317	* exp_ch6.adb (Expand_Inlined_Call): Skip inlining of functions
7318	that return unconstrained types using an extended return statement
7319	since the support for inlining these functions has not been yet
7320	added to the frontend.
7321	* s-vaflop.adb, s-vaflop-vms-alpha.adb: Code reorganization.
7322	* a-ngrear.ads: Replace all the Inline_Always pragmas by pragma
7323	Inline.
7324	* a-ngrear.adb (Eigenvalues, Transpose): Restructured to use
7325	extended return statement.
7326	* a-strsup.adb, a-stzsup.adb, a-stwisu.adb (Concat, Super_Slice,
7327	Super_To_String): Restructured to use extended return statement.
7328	* a-chahan.adb (To_Basic, To_Lower, To_Upper): Restructured to
7329	use extended return statement.
7330	* s-gearop.adb (Diagonal, Matrix_Elementwise_Operation,
7331	Vector_Elementwise_Operation, Matrix_Elementwise_Operation,
7332	Matrix_Matrix_Scalar_Elementwise_Operation,
7333	Vector_Vector_Elementwise_Operation,
7334	Vector_Vector_Scalar_Elementwise_Operation,
7335	Matrix_Scalar_Elementwise_Operation,
7336	Vector_Scalar_Elementwise_Operation,
7337	Scalar_Matrix_Elementwise_Operation,
7338	Scalar_Vector_Elementwise_Operation, Matrix_Matrix_Product,
7339	Matrix_Vector_Product, Outer_Product, Unit_Matrix, Unit_Vector,
7340	Vector_Matrix_Product): Restructured to use extended return
7341	statement.
7342
73432012-03-07  Vincent Pucci  <pucci@adacore.com>
7344
7345	* sem_ch5.adb (One_Bound): Minor reformatting.
7346
73472012-03-07  Tristan Gingold  <gingold@adacore.com>
7348
7349	* s-osinte-vms-ia64.adb, s-osinte-vms-ia64.ads, s-osinte-vms.adb,
7350	s-osinte-vms.ads, gcc-interface/Makefile.in: Merge s-osinte-vms and
7351	s-osinte-vms-ia64.
7352
73532012-03-07  Ed Schonberg  <schonberg@adacore.com>
7354
7355	* checks.adb (Apply_Predicate_Check): Do not generate a predicate
7356	check is the context is an internally generated type-specific
7357	function.
7358	* sem_ch6.adb (Process_PPCs); the formals of internally generated
7359	type-specific functions do not get assertion checks.
7360
73612012-03-07  Yannick Moy  <moy@adacore.com>
7362
7363	* gnat_rm.texi: Minor renaming of title.
7364	* gnat_ugn.texi: Minor correction.
7365
73662012-03-07  Vincent Pucci  <pucci@adacore.com>
7367
7368	* exp_ch4.adb (Expand_N_Quantified_Expression): Minor
7369	reformating.
7370	* sem_ch4.adb (Analyze_Quantified_Expression): Creation and
7371	analysis of the iteration scheme added in all cases.
7372	* sem_ch5.adb (Analyze_Iteration_Scheme): Minor reformating.
7373	(Analyze_Iterator_Specification): Minor reformating.
7374	* sem_res.adb (Resolve_Quantified_Expression): Resolution of
7375	the condition added in all cases.
7376
73772012-03-07  Thomas Quinot  <quinot@adacore.com>
7378
7379	* einfo.adb, einfo.ads: Add flag Reverse_Storage_Order.
7380
73812012-03-07  Yannick Moy  <moy@adacore.com>
7382
7383	* gnat_rm.texi, gnat_ugn.texi: Rewording of GNAT UG and GNAT RM to
7384	account for Ada 2012 assertions, and their pragma counterparts in GNAT.
7385
73862012-03-07  Thomas Quinot  <quinot@adacore.com>
7387
7388	* exp_attr.adb, sem_attr.adb: Minor reformatting.
7389
73902012-03-07  Bob Duff  <duff@adacore.com>
7391
7392	* hostparm.ads (Max_Instantiations): Increase parameter.
7393
73942012-03-07  Bob Duff  <duff@adacore.com>
7395
7396	* par-prag.adb: Minor code rearrangement.
7397
73982012-03-07  Bob Duff  <duff@adacore.com>
7399
7400	* a-strsup.ads, a-stwisu.ads, a-stzsup.ads (Super_String):
7401	Remove default initial value for Data. It is no longer needed
7402	because "=" now composes properly for untagged records. This
7403	default has caused efficiency problems.
7404
74052012-03-07  Ed Schonberg  <schonberg@adacore.com>
7406
7407	* sem_res.adb (Resolve_Actuals): If the actual is a selected
7408	component of an anonymous access type, whose prefix is a variable,
7409	treat the variable as if it may be modified by the call, to
7410	suppress spurious warnings that a variable might be declared as
7411	a constant.
7412
74132012-03-07  Thomas Quinot  <quinot@adacore.com>
7414
7415	* einfo.adb, einfo.ads: Remove unused entity flags.
7416
74172012-03-07  Eric Botcazou  <ebotcazou@adacore.com>
7418
7419	* gnat_ugn.texi (Inline Assembler): Fix swapping of Input and
7420	Output operands throughout.
7421
74222012-03-07  Hristian Kirtchev  <kirtchev@adacore.com>
7423
7424	* sem_ch12.adb (Earlier): When two nodes come from the same
7425	generic instantiation, compare their locations. Otherwise always
7426	use the top level locations of the nodes.
7427
74282012-03-07  Thomas Quinot  <quinot@adacore.com>
7429
7430	* einfo.ads, sem_prag.adb: Minor reformatting.
7431
74322012-03-05  Jason Merrill  <jason@redhat.com>
7433
7434	* gcc-interface/Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn
7435	before using it.
7436
74372012-03-04  Eric Botcazou  <ebotcazou@adacore.com>
7438
7439	* gnatvsn.ads (Library_Version): Bump to 4.8.
7440
74412012-03-03  H.J. Lu  <hongjiu.lu@intel.com>
7442
7443	* init.c (__gnat_adjust_context_for_raise): Also check
7444	"orq $0x0,(%esp)" for x32.
7445
7446	* link.c (__gnat_default_libgcc_subdir): Set to libx32 for x32.
7447
7448	* gcc-interface/Makefile.in (arch): Set to x32 if MULTISUBDIR
7449	is /x32 and add support for x32.
7450
74512012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
7452
7453	* gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter
7454	and set TYPE_ARTIFICIAL according to it.  Adjust recursive call.
7455	(gnat_to_gnu_entity) <E_Record_Type>: Adjust call to above function.
7456	* gcc-interface/utils.c (rest_of_record_type_compilation): Do not
7457	invoke rest_of_type_decl_compilation on the parallel type, if any.
7458
74592012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
7460
7461	* gcc-interface/utils.c (gnat_write_global_declarations): Make sure the
7462	dummy global built for global types is preserved.
7463
74642012-02-27  Tristan Gingold  <gingold@adacore.com>
7465
7466	* gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
7467	E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and
7468	gnu_template_type.
7469
74702012-02-27  Eric Botcazou  <ebotcazou@adacore.com>
7471
7472	* gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking.
7473	(TYPE_BY_REFERENCE_P): New flag.
7474	(TYPE_IS_BY_REFERENCE_P): New macro.
7475	(TYPE_DUMMY_P): Add checking and remove VOID_TYPE.
7476	(TYPE_IS_DUMMY_P): Adjust for above change.
7477	* gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P
7478	and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE.
7479	(gnat_to_gnu_param): Likewise.
7480	(maybe_pad_type): Likewise.
7481	(make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P.
7482	* gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P
7483	instead of TREE_ADDRESSABLE.
7484	* gcc-interface/trans.c (finalize_nrv): Likewise.
7485	(call_to_gnu): Likewise.  Do not create a temporary for return values
7486	with by-reference type here.
7487	(gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P.
7488	(gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant
7489	CONSTRUCTORs and calls.
7490	* gcc-interface/utils.c (make_dummy_type): Get the equivalent type of
7491	the underlying type and use it throughout.  Use TYPE_IS_BY_REFERENCE_P
7492	instead of TREE_ADDRESSABLE.
7493	* gcc-interface/utils2.c (build_cond_expr): Deal with by-reference
7494	types explicitly.
7495
74962012-02-27  Eric Botcazou  <ebotcazou@adacore.com>
7497
7498	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous
7499	change that creates a special VAR_DECL for debugging purposes.  For an
7500	aliased object with an unconstrained nominal subtype, make its type a
7501	thin reference to the underlying object.
7502	* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with
7503	expressions built for the initialization of above objects.
7504
75052012-02-24  Dave Korn  <dave.korn.cygwin@gmail.com>
7506
7507	* gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
7508	Windows-specific make variable.
7509	(WIN_SO_INSTALL_DIR [windows targets]): Likewise.
7510	(install-gnatlib): Respect the above during installation when set,
7511	and also install any windows import library that has been built.
7512	(gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
7513	build a corresponding import library.
7514
75152012-02-22  Robert Dewar  <dewar@adacore.com>
7516
7517	* exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor
7518	reformatting.
7519
75202012-02-22  Geert Bosch  <bosch@adacore.com>
7521
7522	* g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove
7523	x86-specific version of byteswap and use GCC builtins instead.
7524
75252012-02-22  Tristan Gingold  <gingold@adacore.com>
7526
7527	* gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
7528	E_Array_Type]: Translate component ealier.
7529
75302012-02-22  Robert Dewar  <dewar@adacore.com>
7531
7532	* par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize
7533	error message for 'Range.
7534
75352012-02-22  Pascal Obry  <obry@adacore.com>
7536
7537	* s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as
7538	this is our own thread.
7539
75402012-02-22  Sergey Rybin  <rybin@adacore.com frybin>
7541
7542	* tree_io.ads: Update ASIS_Version_Number because of the changes
7543	in Snames.
7544
75452012-02-22  Hristian Kirtchev  <kirtchev@adacore.com>
7546
7547	* exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on
7548	stack-related finalizers.
7549
75502012-02-22  Ed Schonberg  <schonberg@adacore.com>
7551
7552	* sem_ch6.adb (Analyze_Expression_Function): If the construct
7553	is a completion, indicate that its formals are the formals of
7554	a completion, and as such do not get a cross- reference entry.
7555	(Analyze_Subprogram_Specification): Do not generate a definition
7556	for the entity of an expression function, because it may be a
7557	completion. Definition will be generated if needed when analyzing
7558	the generated subprogram declaration.
7559
75602012-02-22  Vincent Celier  <celier@adacore.com>
7561
7562	* make.adb (Check): When checking if an object file is in the
7563	correct object directory, get the unit name from a previous call
7564	to Check_Source_Info_In_ALI.
7565	* makeutl.adb (Check_Source_Info_In_ALI): Return the name of
7566	the unit when everything is OK, otherwise return No_Name.
7567	* makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead
7568	of Boolean
7569
75702012-02-22  Ed Schonberg  <schonberg@adacore.com>
7571
7572	* sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an
7573	instance, the operator is visible if an operand is of some
7574	numeric type which is not in use or directly visible, and the
7575	other operand is a numeric literal.
7576
75772012-02-22  Tristan Gingold  <gingold@adacore.com>
7578
7579	* init.c: Minor code clean up.
7580	* gcc-interface/Make-lang.in: Update dependencies.
7581
75822012-02-22  Arnaud Charlet  <charlet@adacore.com>
7583
7584	* gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node,
7585	otherwise GCC will generate an object file.
7586
75872012-02-22  Vincent Celier  <celier@adacore.com>
7588
7589	* projects.texi: Correct typo related to "**" in Source_Dirs.
7590
75912012-02-22  Steve Baird  <baird@adacore.com>
7592
7593	* sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of
7594	error message text.
7595
75962012-02-22  Vincent Pucci  <pucci@adacore.com>
7597
7598	* rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and
7599	System_Dim_Child cases added.
7600	* rtsfind.ads: Ada_Numerics,
7601	Ada_Numerics_Generic_Elementary_Functions, System_Dim,
7602	System_Dim_Float_IO and System_Dim_Integer_IO added to the list
7603	of RTU_Id.  Ada_Numerics_Child and System_Dim_Child added as
7604	new RTU_Id subtypes.
7605	* sem_dim.adb (Is_Dim_IO_Package_Entity): Use of
7606	Rtsfind to verify the package entity is located either
7607	in System.Dim.Integer_IO or in System.Dim.Float_IO.
7608	(Is_Dim_IO_Package_Instantiation): Minor
7609	changes.  (Is_Elementary_Function_Call): Removed.
7610	(Is_Elementary_Function_Entity): New routine.
7611	(Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added.
7612	* snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions
7613	removed.
7614
76152012-02-22  Vincent Pucci  <pucci@adacore.com>
7616
7617	* sem_prag.adb: Minor reformatting.
7618
76192012-02-22  Ed Schonberg  <schonberg@adacore.com>
7620
7621	* sem_ch3.adb (Find_Type_Name): When analyzing a private type
7622	declaration that is the completion of a tagged incomplete type, do
7623	not associate the class-wide type already created with the private
7624	type to prevent order-of-elaboration issues in the back-end.
7625	* exp_disp.adb (Find_Specific_Type): Find specific type of
7626	a class-wide type, and handle the case of an incomplete type
7627	coming	either from a limited_with clause or from an incomplete
7628	type declaration. Used when expanding a dispatchin call and
7629	generating tag checks (minor refactoring).
7630
76312012-02-22  Robert Dewar  <dewar@adacore.com>
7632
7633	* exp_ch5.adb: Add comment.
7634	* sem_ch12.adb, exp_ch6.adb: minor reformatting
7635
76362012-02-22  Ed Schonberg  <schonberg@adacore.com>
7637
7638	* freeze.adb (Freeze_Entity): Do not perform type layout within
7639	a generic unit.
7640
76412012-02-22  Eric Botcazou  <ebotcazou@adacore.com>
7642
7643	* init.c (__gnat_error_handler) [Linux]: Map SIGBUS to
7644	Storage_Error.
7645
76462012-02-22  Ed Schonberg  <schonberg@adacore.com>
7647
7648	* exp_ch5.adb (Expand_N_Assignment_Statement): Reject an
7649	assignment to a classwide type whose type is limited, as
7650	can happen in an instantiation in programs that run afoul or
7651	AI05-0087.
7652
76532012-02-17  Ed Schonberg  <schonberg@adacore.com>
7654
7655	* exp_ch6.adb (Legal_Copy): If layout is not
7656	determined in the front-end, do not emit error message when
7657	by-reference actual is potentially unaligned.
7658	* gcc-interface/decl.c (gnat_to_gnu_field): Better error message for
7659	illegal representation clause on tagged or aliased component, or on
7660	by-reference type with forced alignment.
7661
76622012-02-17  Nicolas Roche  <roche@adacore.com>
7663
7664	* gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is
7665	propagated by gnatlib-sjlj and gnatlib-zcx targets.
7666	* gcc-interface/Make-lang.in: Update dependencies.
7667
76682012-02-17  Thomas Quinot  <quinot@adacore.com>
7669
7670	* sem_ch12.adb (Analyze_Package_Instantiation): For an
7671	instantiation in an RCI library unit, omit the instance body
7672	if the RCI library unit is the instance itself (E.2.3(18)),
7673	but include the body if the instantiation is within the RCI
7674	declaration (12.3(12)).
7675
76762012-02-17  Steve Baird  <baird@adacore.com>
7677
7678	* sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and
7679	Post'Class aspects can only be specified for a primitive operation
7680	of a tagged type.
7681
76822012-02-17  Yannick Moy  <moy@adacore.com>
7683
7684	* gnat_rm.texi: Minor shuffling.
7685
76862012-02-17  Ed Schonberg  <schonberg@adacore.com>
7687
7688	* aspects.adb: Expression functions can carry pre/postconditions.
7689	* par-ch6.adb (P_Subprogram): look for optional pre/postconditions
7690	in an expression function.
7691	* sem_prag (Check_Precondition_Postcondition): legal on expression
7692	functions.
7693
76942012-02-17  Vincent Pucci  <pucci@adacore.com>
7695
7696	* a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb,
7697	* a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb,
7698	* a-convec.adb, a-coorma.adb (Adjust): New routine.
7699	(Constant_Reference): Increment Busy and Lock counters.
7700	(Reference): Increase Busy and Lock counters.
7701	(Finalize): New routine.
7702	* a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb:
7703	(Adjust): New routine.	(Constant_Reference): Increment Busy
7704	and Lock counters.
7705	(Finalize): New routine.
7706	* a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads,
7707	* a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads,
7708	* a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads,
7709	* a-coorma.ads, a-coorse: Controlled component added to the
7710	reference types.
7711
77122012-02-17  Robert Dewar  <dewar@adacore.com>
7713
7714	* restrict.adb (Check_Restriction): Add special handling for
7715	No_Obsolescent_Features.
7716
77172012-02-17  Hristian Kirtchev  <kirtchev@adacore.com>
7718
7719	* exp_util.adb (Find_Finalize_Address): When dealing with an
7720	internally built full view for a type with unknown discriminants,
7721	use the original record type.
7722
77232012-02-17  Robert Dewar  <dewar@adacore.com>
7724
7725	* sem_dim.adb: Minor reformatting.
7726
77272012-02-17  Yannick Moy  <moy@adacore.com>
7728
7729	* gnat_rm.texi: Minor rewording.
7730
77312012-02-17  Thomas Quinot  <quinot@adacore.com>
7732
7733	* sem_aggr.adb: Minor reformatting.
7734
77352012-02-17  Robert Dewar  <dewar@adacore.com>
7736
7737	* gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case.
7738
77392012-02-17  Vincent Pucci  <pucci@adacore.com>
7740
7741	* sem_dim.adb (Is_Dim_IO_Package_Entity): New routine.
7742	(Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity
7743	call added.
7744	(Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity
7745	call added.
7746	* s-dim.ads: Make package Pure.
7747
77482012-02-17  Gary Dismukes  <dismukes@adacore.com>
7749
7750	* prj-nmsc.adb: Minor reformatting.
7751
77522012-02-17  Yannick Moy  <moy@adacore.com>
7753
7754	* gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions.
7755
77562012-02-17  Yannick Moy  <moy@adacore.com>
7757
7758	* gnat_ugn.texi: Fix typos.
7759
77602012-02-17  Pascal Obry  <obry@adacore.com>
7761
7762	* prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an
7763	aggregate is not Externally_Built.
7764
77652012-02-17  Ed Schonberg  <schonberg@adacore.com>
7766
7767	* sem_aggr.adb (Resolve_Record_Aggregate): If a composite
7768	component has a box association, copy the default value using
7769	the current scope as the scope of internal types, to prevent
7770	scoping anomalies in gigi.
7771
77722012-02-17  Robert Dewar  <dewar@adacore.com>
7773
7774	* sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb,
7775	sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb,
7776	exp_intr.adb, s-os_lib.adb: Minor reformatting.
7777
77782012-02-17  Ed Schonberg  <schonberg@adacore.com>
7779
7780	* sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the
7781	old operation is abstract, the relevant type is not abstract,
7782	and the new subprogram fails to override.
7783
77842012-02-15  Eric Botcazou  <ebotcazou@adacore.com>
7785
7786	* gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the
7787	type of the result to the end and execute it for a deferred constant of
7788	a discriminated type whose full view can be elaborated statically.
7789
77902012-02-15  Eric Botcazou  <ebotcazou@adacore.com>
7791
7792	* gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the
7793	type is tagged, mark it as used for debugging purposes.
7794	<N_Allocator>: Likewise for a qualified expression.
7795
77962012-02-15  Eric Botcazou  <ebotcazou@adacore.com>
7797
7798	* gcc-interface/trans.c (call_to_gnu): Create the temporary for the
7799	return value in the by-reference return type case if this isn't the
7800	expression of an object declaration.  Tidy up.
7801
78022012-02-09  Tristan Gingold  <gingold@adacore.com>
7803
7804	* gcc-interface/Makefile.in: Remove .sym rule (not used).
7805	Remove adamsg.o object (requires native message compiler).
7806	* init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a
7807	macro instead of as extern int.
7808	(ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR)
7809	(ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT)
7810	(ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH)
7811	(ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC)
7812	(ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH)
7813	(ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH)
7814	(ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH)
7815	(ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR)
7816	(ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise.
7817	(struct cond_except): Field cond is now an unsigned int.
7818	(dec_ada_cond_except_table): Adjust.
7819	(cond_except_table): Likewise.
7820	(cond_resignal_table): Likewise.
7821	(__gnat_default_resignal_p): Fix style.
7822
78232012-02-08  Vincent Celier  <celier@adacore.com>
7824
7825	* gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects
7826	(g-buorma is now imported by sinput).
7827	Update dependencies.
7828	* scn.adb (Initialize_Scanner): Call Check_For_BOM
7829	* sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM
7830	* sinput.adb: New procedure Check_For_BOM
7831	* sinput.ads: New procedure Check_For_BOM
7832
78332012-02-08  Vincent Pucci  <pucci@adacore.com>
7834
7835	* impunit.adb: Dimension package names updated
7836	* Makefile.rtl: s-dim added
7837	* sem_dim.adb (Is_Procedure_Put_Call): minor changes
7838	(Is_Dim_IO_Package_Instantiation): minor changes
7839	* sem_dim.ads: minor changes in comments
7840	* snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and
7841	Name_Dim_Integer_IO removed
7842	* s-dim.ads: New package. Define the dimension terminology.
7843	* s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads,
7844	* s-dmotpr.ads: Package names updated.
7845	* s-diflio.ads, s-diinio.ads: Documentation added and package
7846	names updated.
7847
78482012-02-08  Gary Dismukes  <dismukes@adacore.com>
7849
7850	* gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test
7851	for storage pools to test for an underlying record type rather than
7852	testing Is_Tagged_Type, so that simple storage pools will be handled
7853	the same as normal Ada storage pools.
7854
78552012-02-08  Yannick Moy  <moy@adacore.com>
7856
7857	* gnat_rm.texi: Minor reshuffling to place restriction at
7858	appropriate place.
7859
78602012-02-08  Bob Duff  <duff@adacore.com>
7861
7862	* warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value
7863	False for '-gnatwA', to suppress these warnings.
7864
78652012-02-08  Vincent Celier  <celier@adacore.com>
7866
7867	* sinput-p.adb (Source_File_Is_Subunit): Check for BOM before
7868	starting to scan, so that UTF8 encoding is taken into account.
7869
78702012-02-08  Arnaud Charlet  <charlet@adacore.com>
7871
7872	* s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New
7873	function.
7874	(Complete_Rendezvous): Now call Internal_Complete_Rendezvous.
7875	(Exceptional_Complete_Rendezvous): Mark No_Return.
7876
78772012-02-08  Eric Botcazou  <ebotcazou@adacore.com>
7878
7879	* exp_aggr.adb (Compile_Time_Known_Composite_Value):
7880	New predicate to compute whether a composite value can be
7881	evaluated at compile time.
7882	(Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all
7883	expressions of elementary type and Compile_Time_Known_Composite_Value
7884	for all other expressions.
7885	(Expand_Record_Aggregate): Convert to assignments in the case
7886	of a type with mutable components if the aggregate cannot be
7887	built statically.
7888
78892012-02-08  Gary Dismukes  <dismukes@adacore.com>
7890
7891	* aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type.
7892	(Impl_Defined_Aspects): Add association for
7893	Aspect_Simple_Storage_Pool_Type.
7894	(Aspect_Names): Add
7895	association for Aspect_Simple_Storage_Pool_Type.
7896	* aspects.adb:
7897	(Canonical_Aspect): Add association for Simple_Storage_Pool_Type.
7898	* exp_attr.adb (Expand_N_Attribute_Reference):
7899	Change name to Name_Simple_Storage_Pool_Type.
7900	* exp_ch4.adb (Expand_N_Allocator): Change
7901	name to Name_Simple_Storage_Pool_Type.
7902	* exp_intr.adb (Expand_Unc_Deallocation): Change name to
7903	Name_Simple_Storage_Pool_Type.	* freeze.adb (Freeze_Entity):
7904	Change names to Name_Simple_Storage_Pool_Type.	* par-prag.adb:
7905	Change names to Name_Simple_Storage_Pool_Type.	* sem_attr.adb:
7906	(Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type.
7907	* sem_ch13.adb (Analyze_Attribute_Definition_Clause):
7908	Change name to Name_Simple_Storage_Pool_Type.
7909	* sem_prag.adb:
7910	(Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type.
7911	(Sig_Flags): Change name to Name_Simple_Storage_Pool_Type.
7912	* sem_res.adb (Resolve_Allocator): Change name to
7913	Name_Simple_Storage_Pool_Type.	* snames.ads-tmpl:
7914	(Name_Simple_Storage_Pool_Type): New name constant.
7915	(type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and
7916	move to main pragma section because it no longer matches the
7917	attribute name.
7918	* snames.adb-tmpl (Get_Pragma_Id): Remove test for
7919	Name_Simple_Storage_Pool.
7920	(Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool.
7921
79222012-02-08  Robert Dewar  <dewar@adacore.com>
7923
7924	* gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws.
7925
79262012-02-08  Pascal Obry  <obry@adacore.com>
7927
7928	* prj.adb (Compute_All_Imported_Projects): Use new
7929	For_Project_And_Aggregated_Context to ensure proper context is
7930	used for encapsulated aggregate libraries.
7931	* prj-proc.adb (Recursive_Process): Call
7932	Process_Aggregated_Projects earlier to ensure that all dependent
7933	projects are set with the proper encapsulated status.
7934
79352012-02-08  Pascal Obry  <obry@adacore.com>
7936
7937	* s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null
7938	terminated string.
7939
79402012-02-08  Pascal Obry  <obry@adacore.com>
7941
7942	* prj.ads, prj.adb (For_Project_And_Aggregated_Context): New
7943	generic routine with a context parameter.
7944
79452012-02-08  Robert Dewar  <dewar@adacore.com>
7946
7947	* a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb,
7948	a-convec.adb: Minor reformatting and code reorganization.
7949
79502012-02-08  Steve Baird  <baird@adacore.com>
7951
7952	* sem_cat.adb (In_Preelaborated_Unit): A child
7953	unit instantiation does not inherit preelaboration requirements
7954	from its parent.
7955
79562012-02-08  Gary Dismukes  <dismukes@adacore.com>
7957
7958	* aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool.
7959	(Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool.
7960	(Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool.
7961	(Aspect_Names): Add entry for Aspect_Simple_Storage_Pool.
7962	* aspects.adb (Canonical_Aspect): Add entry for
7963	Aspect_Simple_Storage_Pool.
7964	* exp_attr.adb (Expand_N_Attribute_Reference): Handle case of
7965	Attribute_Simple_Storage_Pool in the same way as Storage_Pool
7966	(add conversion, analyze/resolve). For the Storage_Size attribute,
7967	for the simple pool case, locate and use the simple pool type's
7968	Storage_Size function (if any), otherwise evaluate to zero.
7969	* exp_ch4.adb (Expand_N_Allocator): In the case of an allocator
7970	for an access type with an associated simple storage pool,
7971	locate and use the pool type's Allocate.
7972	* exp_intr.adb (Expand_Unc_Deallocation): In the case where the
7973	access type has a simple storage pool, locate the pool type's
7974	Deallocate procedure (if present) and use it as the procedure
7975	to call on the Free operation.
7976	* freeze.adb (Freeze_Entity): In the case of a full type for
7977	a private type defined with pragma Simple_Storage_Pool, check
7978	that the full type is also appropriate for the pragma. For
7979	a simple storage pool type, validate that the operations
7980	Allocate, Deallocate (if present), and Storage_Size
7981	(if present) are defined with appropriate expected profiles.
7982	(Validate_Simple_Pool_Op_Formal): New procedure
7983	(Validate_Simple_Pool_Operation): New procedure Add with and
7984	use of Rtsfind.
7985	* par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement
7986	(no action required).
7987	* sem_attr.adb (Analyze_Attribute): For the case of the
7988	Storage_Pool attribute, give a warning if the prefix type has an
7989	associated simple storage pool, and rewrite the attribute as a
7990	raise of Program_Error. In the case of the Simple_Storage_Pool
7991	attribute, check that the prefix type has an associated simple
7992	storage pool, and set the attribute type to the pool's type.
7993	* sem_ch13.adb (Analyze_Aspect_Specifications): Add
7994	Aspect_Simple_Storage_Pool case choice.
7995	(Analyze_Attribute_Definition_Clause): Add
7996	Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses
7997	(no action). Add handling for Simple_Storage_Pool attribute
7998	definition, requiring the name to denote a simple storage pool
7999	object.
8000	(Check_Aspect_At_Freeze_Point): For a simple storage pool
8001	aspect, set the type to that of the name specified for the aspect.
8002	* sem_prag.adb (Analyze_Pragma): Add handling for pragma
8003	Simple_Storage_Pool, requiring that it applies to a library-level
8004	type declared in a package declaration that is a limited private
8005	or limited record type.
8006	* sem_res.adb (Resolve_Allocator): Flag an attempt to call a
8007	build-in-place function in an allocator for an access type with
8008	a simple storage pool as unsupported.
8009	* snames.ads-tmpl: Add Name_Simple_Storage_Pool.
8010	(type Attribute_Id): Add Attribute_Simple_Storage_Pool.
8011	(type Pragma_Id): Add Pragma_Simple_Storage_Pool.
8012	* snames.adb-tmpl (Get_Pragma_Id): Handle case of
8013	Name_Simple_Storage_Pool.
8014	(Is_Pragma_Name): Return True for Name_Simple_Storage_Pool.
8015
80162012-02-08  Cyrille Comar  <comar@adacore.com>
8017
8018	* projects.texi: Clarify doc for interfaces.
8019
80202012-02-07  Eric Botcazou  <ebotcazou@adacore.com>
8021
8022	* gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable.
8023	(GCC_LINK): Use it.
8024
80252012-02-01  Tristan Gingold  <gingold@adacore.com>
8026
8027	* gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype
8028	instead of size_type_node.
8029
80302012-01-30  Nicolas Roche  <roche@adacore.com>
8031
8032	* gcc-interface/Make-lang.in: Update dependencies.
8033	* gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
8034	when needed.
8035	Remove Linker_Options -crtbe when building sjlj run-time.
8036
80372012-01-30  Robert Dewar  <dewar@adacore.com>
8038
8039	* sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode.
8040	* sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of
8041	form 2 * small-literal.
8042	* sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious
8043	mod value).
8044	* sem_ch4.ads (Analyze_Mod): New procedure.
8045
80462012-01-30  Ed Schonberg  <schonberg@adacore.com>
8047
8048	* sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy
8049	types and return expression when building spec for implicit
8050	body, to preserve global references that may be present in an
8051	instantiation.
8052
80532012-01-30  Matthew Heaney  <heaney@adacore.com>
8054
8055	* a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
8056	Reverse_Elements): Check for cursor tampering.
8057
80582012-01-30  Ed Schonberg  <schonberg@adacore.com>
8059
8060	* sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a
8061	type with aspect Default_Value or Default_Component_Value is
8062	fully initialized, and use of variables of such types do not
8063	generate warnings.
8064
80652012-01-30  Javier Miranda  <miranda@adacore.com>
8066
8067PR ada/15846
8068	* sem_ch8.adb (Analyze_Subprogram_Renaming):
8069	Handle self-renaming when the renamed entity is referenced using
8070	its expanded name.
8071
80722012-01-30  Vincent Celier  <celier@adacore.com>
8073
8074	* projects.texi: Add documentation for attribute Interfaces.
8075
80762012-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
8077
8078	* exp_ch7.adb (Build_Finalizer_Call): Set loc again.
8079	* exp_ch11.adb (Expand_At_End_Handler): Do not provide a source
8080	location for the wrapped call to the original AT_END routine
8081	and the subsequent return statement.
8082
80832012-01-30  Pascal Obry  <obry@adacore.com>
8084
8085	* s-rannum.adb: Minor reformatting.
8086
80872012-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
8088
8089	* a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds
8090	to 25 and add the hard time value for 2012-06-30.
8091
80922012-01-30  Robert Dewar  <dewar@adacore.com>
8093
8094	* a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb,
8095	freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads,
8096	s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb:
8097	Minor reformatting/code reorganization.
8098
80992012-01-30  Thomas Quinot  <quinot@adacore.com>
8100
8101	* s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return
8102	Unsigned_64 rather than Duration.
8103	(System.Random_Numbers.Reset): Use full value of seed
8104	(do not truncate sub-second bits).
8105
81062012-01-30  Thomas Quinot  <quinot@adacore.com>
8107
8108	* sem_cat.adb, sem_ch12.adb: Minor reformatting.
8109
81102012-01-30  Yannick Moy  <moy@adacore.com>
8111
8112	* gnat_ugn.texi: Minor correction of GNAT UG, to take into
8113	account changes to -gnatwa and more recent warnings.
8114
81152012-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
8116
8117	* exp_ch7.adb (Build_Finalizer_Call): Do not provide a source
8118	location when creating a call to a finalizer.
8119	* exp_ch11.adb (Expand_Exception_Handlers): Do not provide
8120	a source location for the first actual of Save_Occurrence for
8121	consistency sake.
8122
81232012-01-30  Ed Schonberg  <schonberg@adacore.com>
8124
8125	* einfo.ads, einfo,adb: New attribute on scalar types:
8126	Default_Aspect_Value New attribute on  array types:
8127	Default_Aspect_Component_Value Move attribute Related_Array_Object
8128	to a different position to accomodate new aspect attributes.
8129	* freeze.adb (Freeze_Entity): Use new attributes to retrieve value
8130	of defaults set with an aspect specification, rather than using
8131	the list of aspects attached to the type, to prevent issues with
8132	partial views.
8133	* sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
8134	Default_Value and Default_Component _Value, store corresponding
8135	expression in type entity.
8136	(Check_Aspect_At_End_Of_Declaration): If the default aspects
8137	are declared on the full view, use the full view to resolve the
8138	correseponding expression.
8139	* exp_ch3.adb (Init_Component): Use attribute
8140	Default_Aspect_Component_Value to perform default initialization,
8141	rather than relying on the rep item list for the type.
8142	(Get_Simple_Init_Val): Ditto.
8143
81442012-01-30  Thomas Quinot  <quinot@adacore.com>
8145
8146	* a-strhas.ads: Document risk of collision attack.
8147
81482012-01-30  Yannick Moy  <moy@adacore.com>
8149
8150	* gnat_ugn.texi: Minor update wrt warning switches.
8151
81522012-01-30  Vincent Celier  <celier@adacore.com>
8153
8154	* prj-nmsc.adb (Check_Interfaces): Report an error when a
8155	unit from Library_Interface is not a unit of the project.
8156
81572012-01-30  Vincent Pucci  <pucci@adacore.com>
8158
8159	* sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent
8160	links fixed inside PPC pragmas.
8161	* sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl.
8162
81632012-01-30  Thomas Quinot  <quinot@adacore.com>
8164
8165	* s-ransee.ads: Minor reformatting.
8166
81672012-01-30  Pascal Obry  <obry@adacore.com>
8168
8169	* prj.ads, prj.adb (For_Each_Source): Add support for skipping
8170	sources coming from an encapsulated library.
8171
81722012-01-30  Ed Schonberg  <schonberg@adacore.com>
8173
8174	* sem_ch3.adb (Process-Full_View): fix typo.
8175	* sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates
8176	appear on a private type and the full view is available, ensure
8177	existence of freeze node for full view.
8178	(Build_Predicate_Function): Attach predicate function to both
8179	views of a private type.
8180
81812012-01-30  Vincent Celier  <celier@adacore.com>
8182
8183	* prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs
8184	for the project if either attribute Library_Interface or
8185	Interfaces is declared.
8186	(Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in
8187	Check_Interfaces.
8188
81892012-01-30  Pascal Obry  <obry@adacore.com>
8190
8191	* prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
8192	boolean value to true in the process list created by this routine.
8193	* prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
8194	Continued work for KA06-021.
8195	* prj.adb (Compute_All_Imported_Projects): Set
8196	From_Encapsulated_Lib boolean flag.
8197
81982012-01-30  Vincent Pucci  <pucci@adacore.com>
8199
8200	* sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
8201	code clean up.
8202	* s-diflio.ads: Minor change.
8203
82042012-01-30  Javier Miranda  <miranda@adacore.com>
8205
8206	* exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
8207	to Get_Entry_Index.  Required to generate code which provides
8208	the correct value of Entry_Index in the target entry.
8209
82102012-01-30  Nicolas Roche  <roche@adacore.com>
8211
8212	* system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
8213	fix issue with zcx on VxWorks5.
8214
82152012-01-30  Pascal Obry  <obry@adacore.com>
8216
8217	* prj.ads, prj.adb (For_Every_Project_Imported): Remove
8218	In_Aggregate_Lib.
8219	(For_Every_Project_Imported_Context): New generic routine with
8220	a context parameter.
8221	* prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
8222	distributed complexity.
8223	* prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.
8224
82252012-01-30  Thomas Quinot  <quinot@adacore.com>
8226
8227	* exp_aggr.adb (Expand_Record_Aggregate): After creating the
8228	_parent aggregate for an extension aggregate, check whether it
8229	requires delayed (top-down) expansion.
8230
82312012-01-30  Vincent Pucci  <pucci@adacore.com>
8232
8233	* sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten.
8234	* snames.ads-tmpl: Name_Item and Name_Symbols added.
8235	* s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename
8236	and change the position of parameter Symbols in every Put routine.
8237	* s-dimmks.ads: Convert long float type Mks_Type into long
8238	long float.
8239	* s-llflex.ads: Modifications in comments.
8240
82412012-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
8242
8243	* sem_ch12.adb (Earlier): Do not use the
8244	top level source locations of the two input nodes.
8245
82462012-01-30  Robert Dewar  <dewar@adacore.com>
8247
8248	* einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
8249	sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
8250
82512012-01-30  Robert Dewar  <dewar@adacore.com>
8252
8253	* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
8254
82552012-01-30  Olivier Hainque  <hainque@adacore.com>
8256
8257	* sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
8258	comments.
8259
82602012-01-30  Thomas Quinot  <quinot@adacore.com>
8261
8262	* gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
8263	sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
8264	sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
8265	New subprogram (extracted from
8266	Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
8267	(Einfo.Is_Remote_Types): Now applies to generic types. Update
8268	documentation accordingly.
8269	(Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
8270	actual for a formal type to which a pragma Remote_Access_Type
8271	applies.
8272	(Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
8273	Remote_Access_Type.
8274	(Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
8275	be applied to a generic type if pragma Remote_Access_Type
8276	applies, in which case the type of the attribute is
8277	System.Partition_Interface.RACW_Stub_Type.
8278
82792012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
8280
8281	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set
8282	an alignment on fields of the RETURN type built for the CICO mechanism.
8283
82842012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
8285
8286	* gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
8287	a call to a function that returns an unconstrained type with default
8288	discriminant.  Similarly, avoid doing the conversion to the nominal
8289	result type in this case.
8290
82912012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
8292
8293	* gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag.
8294	* gcc-interface/decl.c (is_variable_size): Rename to...
8295	(type_has_variable_size): ...this.
8296	(adjust_packed): Adjust to above renaming.
8297	(gnat_to_gnu_field): Set DECL_ALIASED_P on the field.
8298	(field_is_artificial): New predicate.
8299	(field_is_aliased): Likewise.
8300	(field_has_self_size): Likewise.
8301	(field_has_variable_size): Likewise.
8302	(components_to_record): Record information for the final layout during
8303	the first pass on fields.
8304	If there is an aliased field placed after a field whose length depends
8305	on discriminants, put all the fields of the latter sort, last.
8306
83072012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
8308
8309	* gcc-interface/gigi.h (get_minimal_subprog_decl): Declare.
8310	* gcc-interface/decl.c (get_minimal_subprog_decl): New function.
8311	* gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an
8312	Access-like attribute in a dispatch table if the subprogram is public.
8313
83142012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
8315
8316	* gcc-interface/gigi.h (create_label_decl): Adjust.
8317	* gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter
8318	and invoke gnat_pushdecl on it.  Remove obsolete settings.
8319	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to
8320	create_label_decl.
8321	* gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise.  Ignore the
8322	label for debugging purposes.
8323
83242012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
8325
8326	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased
8327	object with an unconstrained nominal subtype and if optimization isn't
8328	enabled, create a special VAR_DECL for debugging purposes.
8329
83302012-01-23  Robert Dewar  <dewar@adacore.com>
8331
8332	* sem_prag.ads, sem_prag.adb: Minor reformatting.
8333
83342012-01-23  Robert Dewar  <dewar@adacore.com>
8335
8336	* sem_ch13.adb (Analyze_Aspect_Specifications): Check for
8337	language defined aspect applied to renaming or formal type
8338	declaration (not permitted)
8339
83402012-01-23  Matthew Heaney  <heaney@adacore.com>
8341
8342	* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced
8343	comment with pragma Assert.
8344
83452012-01-23  Vincent Pucci  <pucci@adacore.com>
8346
8347	* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
8348	to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode.
8349	* sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New
8350	routine. In ASIS mode, convert any PPC pragmas into aspects in generic
8351	subprogram declaration in order to enable the analysis of PPC boolean
8352	expressions.
8353
83542012-01-23  Robert Dewar  <dewar@adacore.com>
8355
8356	* sem_ch3.adb (Analyze_Object_Declaration): Properly
8357	handle Current_Value for volatile variables (also propagate
8358	Treat_As_Volatile from type to object).
8359
83602012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
8361
8362	* sem_ch12.adb (Install_Body): Detect the case
8363	where the enclosing context is a package with a stub body that
8364	has already been replaced by the actual body. In such cases,
8365	the freeze node for the enclosing context must be inserted after
8366	the real body.
8367
83682012-01-23  Ed Schonberg  <schonberg@adacore.com>
8369
8370	* sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called
8371	subprogram before expanding the pragma into an if-statement with
8372	a block, to ensure that when the subprogram is null its body is
8373	properly generated before expansion.
8374
83752012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
8376
8377	* sem_ch12.adb (Analyze_Associations): Alphabetize local variables and
8378	constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal
8379	to Saved_Formal.
8380	Freeze all eligible subprograms which appear as actuals in
8381	the instantiation.
8382	(Has_Fully_Defined_Profile): New routine.
8383	(Renames_Standard_Subprogram): New routine.
8384	(Earlier): Add local variable N. Comment update. Do not use source
8385	locations when trying to determine whether one node precedes another.
8386
83872012-01-23  Gary Dismukes  <dismukes@adacore.com>
8388
8389	* exp_ch4.adb (Expand_Concatenate): In the case
8390	where the result of a concatentation can be null, set the to
8391	result have both the low and high bounds of the right operand (not
8392	just the high bound, as was the case prior to this fix). Also,
8393	fix the saved high bound setting (Last_Opnd_High_Bound) in the
8394	empty string literal case (should have been low bound minus one,
8395	rather than plus one).
8396
83972012-01-23  Thomas Quinot  <quinot@adacore.com>
8398
8399	* scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not
8400	omit statement SCOs for disabled pragmas.
8401
84022012-01-23  Matthew Heaney  <heaney@adacore.com>
8403
8404	* a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads,
8405	a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads,
8406	a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads,
8407	a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read,
8408	Cursor'Write): Declare in private part.
8409	(Reference_Type'Read, Reference_Type'Write): Ditto.
8410	(Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto.
8411
84122012-01-23  Robert Dewar  <dewar@adacore.com>
8413
8414	* a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor
8415	reformatting.
8416
84172012-01-23  Ed Schonberg  <schonberg@adacore.com>
8418
8419	* sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the
8420	Corresponding_Body on a defaulted null formal subprogram.
8421	* sem_ch12.adb (Check_Formal_Package_Instance): No check needed
8422	on a defaulted formal subprogram that is a null procedure.
8423
84242012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
8425
8426	* exp_ch9.adb: Update the comments involving pragma Implemented.
8427	* sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local
8428	constant Subp_Alias and local variable Impl_Subp. Properly
8429	handle aliases of synchronized wrappers. Code cleanup.
8430	(Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add
8431	Name_Optional as part of the condition.
8432	* sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the
8433	valid choices of implementation kind.
8434	(Check_Arg_Is_One_Of): New routine.
8435	* snames.ads-tmlp: Add Name_Optional.
8436
84372012-01-23  Ed Schonberg  <schonberg@adacore.com>
8438
8439	* par-ch13.adb: Better error recovery in illegal aspect
8440	specification.
8441
84422012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
8443
8444	* a-calend.adb: Add with clause for Interfaces.C. Add constant
8445	Unix_Max.
8446	(Day_Of_Week): Call the internal UTC_Time_Offset.
8447	(Split): Call the internal UTC_Time_Offset.
8448	(Time_Of): Call the internal UTC_Time_Offset.
8449	(Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset.
8450	(UTC_Time_Offset): New library-level routine.
8451	* a-calend.ads (UTC_Time_Offset): Remove parameter
8452	Is_Historic. Update related comment on usage.
8453	* a-catizo.adb (UTC_Time_Offset): Removed.
8454	(UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset.
8455	* a-caltizo.ads (UTC_Time_Offset): Removed.
8456	(UTC_Time_Offset (Time)): Add back the default expression of parameter
8457	Date.
8458
84592012-01-23  Robert Dewar  <dewar@adacore.com>
8460
8461	* sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter
8462	(pg,po,ps): Make sure each entry starts on new line.
8463
84642012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
8465
8466	* a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update
8467	the parameter profile of procedure localtime_tzoff and its associated
8468	comment.
8469	(Day_Of_Week): Do not treat the input date as historical
8470	with respect to time zones.
8471	(Split): Do not treat the input
8472	date as historical with respect to time zones.	(Time_Of): Do
8473	not treat the input constituents as forming a historical date
8474	with respect to time zones.
8475	(UTC_Time_Offset): Add new formal
8476	parameter Is_Historic. Add local variable Flag. Update the call
8477	to localtime_tzoff.
8478	* a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine.
8479	(UTC_Time_Offset (Time)): Update the call to
8480	Time_Zone_Operations.UTC_Time_Offset.
8481	* sysdep.c (__gnat_localtime_tzoff): Update parameter
8482	profile. Split the processing of offsets on Windows into two - one
8483	part of historic time stamps and the other for the current time.
8484
84852012-01-23  Robert Dewar  <dewar@adacore.com>
8486
8487	* a-calend.adb: Minor reformatting.
8488
84892012-01-23  Ed Schonberg  <schonberg@adacore.com>
8490
8491	* exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized
8492	interface in requeue statement.
8493
84942012-01-23  Cyrille Comar  <comar@adacore.com>
8495
8496	* projects.texi: Remove references to main units and replace
8497	with references to main programs to be coherent with the
8498	documentation.
8499
85002012-01-23  Robert Dewar  <dewar@adacore.com>
8501
8502	* s-utf_32.adb: Minor reformatting.
8503
85042012-01-23  Vincent Celier  <celier@adacore.com>
8505
8506	* snames.ads-tmpl: Minor comment addition Indicate that
8507	Name_Library_Encapsulated_Options is only used in gprbuild.
8508
85092012-01-23  Robert Dewar  <dewar@adacore.com>
8510
8511	* sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit
8512	restrictions.
8513
85142012-01-23  Ed Schonberg  <schonberg@adacore.com>
8515
8516	* snames.ads-tmpl: Add Name_Synchronization.
8517	* aspects.ads, aspects.adb: Add Aspect_Synchronization to
8518	enumeration type and related maps.
8519	* sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect
8520	Synchronization, build corresponding pragma Implemented.
8521	* sem_util.adb (Implementation_Kind): Handle both explicit and
8522	implicit pragma_argument association to retrieve the given
8523	synchronization mode.
8524
85252012-01-23  Robert Dewar  <dewar@adacore.com>
8526
8527	* sem_ch10.adb, errout.adb: Minor reformatting.
8528
85292012-01-23  Ed Schonberg  <schonberg@adacore.com>
8530
8531	* sem_res.adb (Resolve_Actuals): An actual in a call to an
8532	Ada 2012 Reference function does not lead to a dangerous order
8533	dependence.
8534
85352012-01-23  Gary Dismukes  <dismukes@adacore.com>
8536
8537	* exp_util.adb (Is_Iterated_Container): Test
8538	Is_Entity_Name when searching for calls to the default iterator,
8539	to avoid blowing up on indirect calls which have an explicit
8540	dereference as the call name.
8541
85422012-01-23  Thomas Quinot  <quinot@adacore.com>
8543
8544	* errout.adb (Set_Msg_Node): For an N_Expanded_Name, output
8545	the complete expanded name, rather than just its Selector_Name.
8546
85472012-01-23  Thomas Quinot  <quinot@adacore.com>
8548
8549	* a-textio.adb (Put): Rewrite one-parameter Character version to
8550	just call the two-parameter one with Current_Out.
8551
85522012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
8553
8554	* freeze.adb (Check_Current_Instance): Issue an
8555	error when the prefix of 'Unchecked_Access or 'Access does not
8556	denote a legal aliased view of a type.
8557	(Freeze_Record_Type): Do not halt the processing of record components
8558	once the Has_Controlled_Component is set as this bypasses the remaining
8559	checks.
8560	(Is_Aliased_View_Of_Type): New routine.
8561
85622012-01-23  Thomas Quinot  <quinot@adacore.com>
8563
8564	* errout.ads, freeze.adb: Minor reformatting.
8565
85662012-01-23  Thomas Quinot  <quinot@adacore.com>
8567
8568	* sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error
8569	messages.
8570
85712012-01-23  Olivier Hainque  <hainque@adacore.com>
8572
8573	* adadecode.c (__gnat_decode): Deal with empty input early,
8574	preventing potential erroneous memory access later on.
8575
85762012-01-21  Eric Botcazou  <ebotcazou@adacore.com>
8577
8578	PR ada/46192
8579	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
8580	renaming, preserve the volatileness through the indirection, if any.
8581
85822012-01-14  Andreas Schwab  <schwab@linux-m68k.org>
8583
8584	* gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
8585	$(GNATLIBCFLAGS).
8586
85872012-01-10  Pascal Obry  <obry@adacore.com>
8588
8589	* prj-nmsc.adb (Check_Library_Attributes):
8590	Kill check for object/source directories for aggregate libraries.
8591
85922012-01-10  Matthew Heaney  <heaney@adacore.com>
8593
8594	* a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
8595	a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
8596	a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
8597	a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
8598	a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
8599	a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
8600	a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
8601	a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
8602	a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
8603	container parameter as aliased in/in out.
8604	Code clean ups.
8605
86062012-01-10  Bob Duff  <duff@adacore.com>
8607
8608	* s-os_lib.ads: Improve comment.
8609
86102012-01-10  Geert Bosch  <bosch@adacore.com>
8611
8612	* s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
8613	for complex Scalar.
8614
86152012-01-10  Bob Duff  <duff@adacore.com>
8616
8617	* sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
8618	checking that the 'Size is correct. If the type is "mod 2**12",
8619	for example, it's illegal, but Esize is the 'Object_Size, which
8620	will be something like 16 or 32, so the error ('Size = 12) was
8621	not detected.
8622	* gnat_rm.texi: Improve documentation of shift
8623	and rotate intrinsics.
8624
86252012-01-10  Pascal Obry  <obry@adacore.com>
8626
8627	* prj.adb (For_Every_Project_Imported): Fix
8628	implementation to make sure we return each project only once
8629	for aggragte libraries. It is fine to return a project twice for
8630	aggregate projects, this was the case as a Project_Id is different
8631	in each project tree. The new implementation use a table based on
8632	the project name to ensure proper detection of duplicate project
8633	in aggregate library. A new context is then created to continue
8634	retrurning duplicate project for aggregate libraries.
8635
86362012-01-09  Eric Botcazou  <ebotcazou@adacore.com>
8637
8638	* gcc-interface/trans.c (call_to_gnu): Create the temporary for the
8639	return value in the variable-sized return type case if the target is
8640	an array with fixed size.  However, do not create it if this is the
8641	expression of an object declaration.
8642
86432012-01-09  Eric Botcazou  <ebotcazou@adacore.com>
8644
8645	* gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
8646
86472012-01-06  Robert Dewar  <dewar@adacore.com>
8648
8649	* a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads,
8650	s-utf_32.ads: Add pragma Pure
8651	* s-utf_32.adb: Suppress warnings on non-static constants (now
8652	that this is Pure).
8653
86542012-01-06  Bob Duff  <duff@adacore.com>
8655
8656	* s-rpc.ads (Read, Write): Add overriding indicators.
8657
86582012-01-06  Robert Dewar  <dewar@adacore.com>
8659
8660	* gnat_rm.texi: Add documentation for conventions
8661	Ada_Pass_By_Copy and Ada_Pass_By_Reference.
8662
86632012-01-06  Gary Dismukes  <dismukes@adacore.com>
8664
8665	* a-tienio.adb (Put): Add exception message on
8666	raise statements. Remove unneeded blocks and object declarations.
8667
86682012-01-06  Robert Dewar  <dewar@adacore.com>
8669
8670	* sem_prag.adb: Minor reformatting.
8671
86722012-01-06  Ed Schonberg  <schonberg@adacore.com>
8673
8674	* sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate
8675	that a selected component within a generic unit has been resolved
8676	as a prefixed call with local references.
8677	* sem_ch3.adb (Is_Visible_Component): In an instance body a selected
8678	component is always visible.
8679	* sem_ch4.adb (Analyze_Selected_Component): If the node is a
8680	prefixed call in an instance, do not look for visible components
8681	of the type.
8682	* sem_ch12.adb (Reset_Entity): If a selected component has resolved
8683	to a prefixed call, mark the node accordingly when prefix and
8684	selector are local references.
8685
86862012-01-02  Eric Botcazou  <ebotcazou@adacore.com>
8687
8688	* gnatvsn.ads (Current_Year): Bump to 2012.
8689
8690Copyright (C) 2012 Free Software Foundation, Inc.
8691
8692Copying and distribution of this file, with or without modification,
8693are permitted in any medium without royalty provided the copyright
8694notice and this notice are preserved.
8695