12020-03-04  Release Manager
2
3	* GCC 8.4.0 released.
4
52019-11-25  Eric Botcazou  <ebotcazou@adacore.com>
6
7	PR ada/92575
8	* expect.c (__gnat_expect_poll [VMS, HPUX]): Fix typo.
9
102019-10-12  Eric Botcazou  <ebotcazou@adacore.com>
11
12	PR ada/91995
13	* sem_ch8.adb (Chain_Use_Clause): Remove second argument in calls
14	to Defining_Entity.
15	* sem_elab.adb (Find_Unit_Entity): Likewise.  Deal with N_Subunit
16	here in lieu of in Defining_Entity.
17	* sem_spark.adb (Check_Callable_Body): Likewise.
18	(Check_Package_Body): Likewise.
19	* sem_util.ads (Defining_Entity): Remove 2nd and 3th parameters.
20	* sem_util.adb (Defining_Entity): Remove 2nd and 3th parameters,
21	and adjust accordingly.  Deal with N_Compilation_Unit.
22
232019-10-11  Eric Botcazou  <ebotcazou@adacore.com>
24
25	* gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Really test the
26	sign of the value when deciding to build a NEGATE_EXPR.
27	<PLUS_EXPR>: Remove redundant line.
28	<BIT_AND_EXPR>: Do the negation here.
29
302019-09-23  Eric Botcazou  <ebotcazou@adacore.com>
31
32	* gcc-interface/trans.c (Attribute_to_gnu): Test Can_Use_Internal_Rep
33	on the underlying type of the node.
34	(Call_to_gnu): Likewise with the type of the prefix.
35
362019-09-01  Iain Sandoe  <iain@sandoe.co.uk>
37
38	Backport from mainline.
39	2019-07-02  Iain Sandoe  <iain@sandoe.co.uk>
40
41	* libgnat/system-darwin-ppc.ads: Set Stack_Check_Probes True for
42	PPC Darwin.
43
442019-08-05  Iain Sandoe  <iain@sandoe.co.uk>
45
46	Backport from mainline.
47	2019-06-30  Iain Sandoe  <iain@sandoe.co.uk>
48
49	* gnatlink.adb (Link_Step): Push -shared-libgcc explicitly, when it
50	is the target default (unless overidden by the static flag).
51	When the user has put an instance of shared/static-libgcc do not push
52	a duplicate of this.
53
542019-06-29  Eric Botcazou  <ebotcazou@adacore.com>
55
56	* gcc-interface/decl.c (gnat_to_gnu_entity): Beep up comment on SAVED,
57	and tweak comment on the assertion about the scopes of Itypes.  Do not
58	skip the regular processing for Itypes that are E_Record_Subtype with
59	a Cloned_Subtype.  Get the Cloned_Subtype for every E_Record_Subtype
60	if the type is dummy and hasn't got its own freeze node.
61	<E_Record_Subtype>: Save again the DECL of the Cloned_Subtype, if any.
62	<E_Access_Subtype>: Save again the DECL of the equivalent type.
63	(Gigi_Equivalent_Type) <E_Access_Subtype>: New case.
64
652019-06-29  Eric Botcazou  <ebotcazou@adacore.com>
66
67	* gcc-interface/trans.c (mark_visited_r): Set TYPE_SIZES_GIMPLIFIED on
68	the main variant of a type, if any.
69
702019-06-29  Eric Botcazou  <ebotcazou@adacore.com>
71
72	* gcc-interface/decl.c (set_nonaliased_component_on_array_type): Add
73	missing guard for the presence of TYPE_CANONICAL.
74	(set_reverse_storage_order_on_array_type): Likewise.
75
762019-06-17  Arnaud Charlet  <charlet@adacore.com>
77
78	PR ada/80590
79	* exp_ch9.adb (Expand_N_Delay_Relative_Statement): Swap the two
80	conditions to avoid a unnecessary exception propagation in the default
81	case.
82
832019-05-28  Eric Botcazou  <ebotcazou@adacore.com>
84
85	* gcc-interface/trans.c (walk_nesting_tree): New static function.
86	(finalize_nrv): Use it to walk the entire nesting tree.
87
882019-05-27  Eric Botcazou  <ebotcazou@adacore.com>
89
90	* gcc-interface/utils.c (maybe_pad_type): Issue the warning for the
91	specific case of component types preferably.
92
932019-05-27  Eric Botcazou  <ebotcazou@adacore.com>
94
95	* gcc-interface/trans.c (Call_to_gnu): Use the unpadded type when
96	putting back an intermediate conversion the type of the actuals.
97
982019-05-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
99
100	* gcc-interface/Makefile.in (install-gcc-specs): Use foreach.
101	Honor DESTDIR.
102
1032019-02-23  Eric Botcazou  <ebotcazou@adacore.com>
104
105	PR ada/89349
106	Backport from mainline
107	2018-05-25  Arnaud Charlet  <charlet@adacore.com>
108
109	* osint.ads (Unknown_Attributes): No longer pretend this is a constant.
110	(No_File_Info_Cache): Initialize separately.
111	* osint.adb (No_File_Info_Cache): Update initializer.
112
1132019-02-22  Release Manager
114
115	* GCC 8.3.0 released.
116
1172019-02-08  Eric Botcazou  <ebotcazou@adacore.com>
118
119	* gcc-interface/utils.c (max_size) <tcc_unary>: Be prepared for an
120	operand with VOID_TYPE.
121
1222019-02-08  Eric Botcazou  <ebotcazou@adacore.com>
123
124	* gcc-interface/trans.c (Loop_Statement_to_gnu): Replace tests on
125	individual flag_unswitch_loops and flag_tree_loop_vectorize switches
126	with test on global optimize switch.
127	(Raise_Error_to_gnu): Likewise.
128
1292019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
130
131	* libgnarl/s-linux__sparc.ads (ETIMEDOUT): Set to correct value.
132
1332019-01-27  Eric Botcazou  <ebotcazou@adacore.com>
134
135	* gcc-interface/decl.c (array_type_has_nonaliased_component): Return
136	the same value for every dimension of a multidimensional array type.
137
1382019-01-26  Eric Botcazou  <ebotcazou@adacore.com>
139
140	* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
141	DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT for the size to be assigned
142	by a call to memset if the LHS is a DECL.
143
1442019-01-26  Eric Botcazou  <ebotcazou@adacore.com>
145
146	* gcc-interface/trans.c (struct loop_info_d): Remove artificial field.
147	(Loop_Statement_to_gnu): Do not set it.
148
1492019-01-26  Eric Botcazou  <ebotcazou@adacore.com>
150
151	* gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Use test on
152	the sign bit instead of on the sign of the value.
153	<PLUS_EXPR>: Turn addition of negative constant into subtraction.
154	<MULT_EXPR>: Add test for degenerate case.
155	<BIT_AND_EXPR>: Simplify.
156
1572018-12-23  Iain Sandoe  <iain@sandoe.co.uk>
158
159	* adaint.c [__APPLE__] (__gnat_lwp_self): Ensure that the system
160	interface used is available on the target.
161
1622018-11-15  Eric Botcazou  <ebotcazou@adacore.com>
163
164	* gcc-interface/misc.c (gnat_init_gcc_eh): Do not override the switch
165	-fnon-call-exceptions passed on the command line in -gnatp mode.
166
1672018-11-13  Eric Botcazou  <ebotcazou@adacore.com>
168
169	* gcc-interface/misc.c (gnat_init_gcc_eh): Set -fnon-call-exceptions
170	for the runtime on platforms where System.Machine_Overflow is true.
171
1722018-11-08  Eric Botcazou  <ebotcazou@adacore.com>
173
174	* fe.h (Suppress_Checks): Declare.
175	* gcc-interface/misc.c (gnat_init_gcc_eh): Set -fnon-call-exceptions
176	only if checks are not suppressed and -faggressive-loop-optimizations
177	only if they are.
178	* gcc-interface/trans.c (struct loop_info_d): Remove has_checks and
179	warned_aggressive_loop_optimizations fields.
180	(gigi): Do not clear warn_aggressive_loop_optimizations here.
181	(Raise_Error_to_gnu): Do not set has_checks.
182	(gnat_to_gnu) <N_Indexed_Component>: Remove support for aggressive
183	loop optimizations.
184
1852018-10-22  Eric Botcazou  <ebotcazou@adacore.com>
186
187	* gcc-interface/utils.c (unchecked_convert): Use local variables for
188	the biased and reverse SSO attributes of both types.
189	Further extend the processing of integral types in the presence of
190	reverse SSO to all scalar types.
191
1922018-10-22  Eric Botcazou  <ebotcazou@adacore.com>
193
194	* gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Inspection_Point>: Use
195	a simple memory constraint in all cases.
196
1972018-09-13  Eric Botcazou  <ebotcazou@adacore.com>
198
199	Backport from mainline
200	2018-07-31  Eric Botcazou  <ebotcazou@adacore.com>
201
202	* libgnarl/s-osinte__solaris.ads (upad64_t): New private type.
203	(mutex_t): Use it for 'lock' and 'data' components.
204	(cond_t): Likewise for 'data' and use single 'flags' component.
205
2062018-07-26  Release Manager
207
208	* GCC 8.2.0 released.
209
2102018-07-17  Eric Botcazou  <ebotcazou@adacore.com>
211
212	* gcc-interface/decl.c (choices_to_gnu): Rename parameters.  Deal with
213	an operand of Character type.  Factor out range generation to the end.
214	Check that the bounds are literals and convert them to the type of the
215	operand before building the ranges.
216	* gcc-interface/utils.c (make_dummy_type): Minor tweak.
217	(make_packable_type): Propagate TYPE_DEBUG_TYPE.
218	(maybe_pad_type): Likewise.
219
2202018-07-17  Eric Botcazou  <ebotcazou@adacore.com>
221
222	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with
223	more rvalues in the expression of a renaming.
224
2252018-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
226
227	* libgnat/system-rtems.ads (Frontend_Exceptions): Set to False.
228	(ZCX_By_Default): Set to True.
229
2302018-06-12  Eric Botcazou  <ebotcazou@adacore.com>
231
232	* gcc-interface/ada-tree.h (TYPE_RETURN_BY_DIRECT_REF_P): Change from
233	using TYPE_LANG_FLAG_4 to using TYPE_LANG_FLAG_0.
234	(TYPE_ALIGN_OK): Move around.
235	(TYPE_PADDING_FOR_COMPONENT): Remove superfluous parentheses.
236	* gcc-interface/decl.c (change_qualified_type): Move to...
237	(gnat_to_gnu_entity): Adjust comment.
238	* gcc-interface/gigi.h (change_qualified_type): ...here; make inline.
239	(ceil_pow2): Use ceil_log2.
240	* gcc-interface/utils.c (finish_subprog_decl): Add couple of comments
241	and do not set TREE_SIDE_EFFECTS.
242	(handle_noreturn_attribute): Use change_qualified_type.
243
2442018-06-12  Eric Botcazou  <ebotcazou@adacore.com>
245
246	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Do not get
247	the expression of a dispatch table that is not being defined.
248	<E_Record_Subtype>: Remove obsolete kludge.
249
2502018-06-12  Eric Botcazou  <ebotcazou@adacore.com>
251
252	* gcc-interface/decl.c (warn_on_field_placement): Use specific wording
253	for discriminants.
254	(warn_on_list_placement): New static function.
255	(components_to_record): Use it to warn on multiple fields in list.
256
2572018-06-12  Eric Botcazou  <ebotcazou@adacore.com>
258
259	Backport from mainline
260	2018-06-11  Eric Botcazou  <ebotcazou@adacore.com>
261
262	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Reuse the
263	existing fields of a dummy fat pointer type, if any.  Clear the
264	TYPE_DECL_SUPPRESS_DEBUG on the fat pointer type after completing it.
265
2662018-06-02  Eric Botcazou  <ebotcazou@adacore.com>
267
268	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: If this is
269	not a definition, retrieve the expression only if it's a compile-time
270	known value if we are just annotating types.
271
272	* gcc-interface/utils.c (convert): Do not try to upcast properly for a
273	conversion between tagged types in type_annotate_only mode.
274
2752018-06-02  Eric Botcazou  <ebotcazou@adacore.com>
276
277	Backport from mainline
278	2018-05-31  Eric Botcazou  <ebotcazou@adacore.com>
279
280	* gcc-interface/trans.c (Call_to_gnu): In the by-reference case, if
281	the type of the parameter is an unconstrained array type, convert
282	to the type of the actual before the type of the formal only if the
283	conversion was suppressed earlier.  Use in_param and gnu_actual_type
284	local variables throughout, and uniform spelling for In Out or Out.
285	Also remove dead code in the component-by-reference case.
286
2872018-06-02  Eric Botcazou  <ebotcazou@adacore.com>
288
289	* gcc-interface/ada-tree.h (TYPE_PADDING_FOR_COMPONENT): New macro.
290	* gcc-interface/decl.c (gnat_to_gnu_component_type): Cache the padding
291	type built for an aliased component with variable size.
292
2932018-06-02  Eric Botcazou  <ebotcazou@adacore.com>
294
295	Backport from mainline
296	2018-05-31  Eric Botcazou  <ebotcazou@adacore.com>
297
298	* gcc-interface/trans.c (Call_to_gnu): If this is a function call and
299	there is no target, also create a temporary for the return value for
300	an allocator if the type is an unconstrained record type with default
301	discriminant.
302
3032018-05-04  John Marino  <gnugcc@marino.st>
304
305	PR ada/85635
306	* link.c (BSD platforms): Add missing backslash.
307
3082018-05-04  Eric Botcazou  <ebotcazou@adacore.com>
309
310	PR ada/85540
311	* init.c (__gnat_handle_vms_condition): Add missing parentheses.
312
3132018-05-02  Release Manager
314
315	* GCC 8.1.0 released.
316
3172018-04-25  Eric Botcazou  <ebotcazou@adacore.com>
318
319	PR ada/85007
320	* gnat_ugn.texi: Regenerate.
321
3222018-03-23  Eric Botcazou  <ebotcazou@adacore.com>
323
324	PR ada/85007
325	* gnatlink.adb (Gnatlink): Remove handling of -b switch.
326	* doc/gnat_ugn/building_executable_programs_with_gnat.rst (gnatlink):
327	Remove documentation of -b switch.
328
3292018-03-23  Eric Botcazou  <ebotcazou@adacore.com>
330
331	PR ada/85036
332	* gnatlink.adb (Process_Args): Drop existing link switches if multiple
333	switches are passed for --LINK.
334
3352018-03-12  Eric Botcazou  <ebotcazou@adacore.com>
336
337	PR ada/82813
338	* gcc-interface/misc.c (gnat_post_options): Disable string overflow
339	warnings.
340
3412018-03-10  Eric Botcazou  <ebotcazou@adacore.com>
342
343	* gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>:
344	Consider only entities for objects.
345
3462018-03-07  Sebastian Huber  <sebastian.huber@embedded-brains.de>
347
348	* gcc-interface/Makefile.in (OSCONS_CPP): Remove redundant
349	$(GNATLIBCFLAGS).
350	(OSCONS_EXTRACT): Add $(GNATLIBCFLAGS_FOR_C).
351
3522018-03-06  Eric Botcazou  <ebotcazou@adacore.com>
353
354	* gcc-interface/trans.c (convert_with_check): Fix typo in the condition
355	guarding the overflow check emitted for the upper bound of a floating-
356	point conversion.
357
3582018-03-06  Eric Botcazou  <ebotcazou@adacore.com>
359
360	* gcc-interface/utils.c (def_builtin_1): Bail out on error_mark_node.
361
3622018-02-28  Eric Botcazou  <ebotcazou@adacore.com>
363
364	* libgnat/i-cexten.ads (Float_128): New type.
365
3662018-02-02  Eric Botcazou  <ebotcazou@adacore.com>
367
368	* gcc-interface/decl.c (array_type_has_nonaliased_component): Return
369	false if the component type is a pointer.
370
3712018-01-11  Gary Dismukes  <dismukes@adacore.com>
372
373	* exp_ch3.adb (Default_Initialize_Object): Call New_Copy_Tree on the
374	result of Get_Simple_Init_Value and pass the source location of the
375	object declaration's object_definition.
376
3772018-01-11  Ed Schonberg  <schonberg@adacore.com>
378
379	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Handle
380	properly object declarations with initializations that are
381	build-in-place function calls, when there is an address specification,
382	either as an aspect specification or an explicit attribute
383	specification clause, for the initialized object.
384	* freeze.adb (Check_Address_Clause): Do not remove side-effects from
385	initial expressions in the case of a build-in-place call.
386
3872018-01-11  Piotr Trojanek  <trojanek@adacore.com>
388
389	* sem_eval.adb (Is_Null_Range): Retrieve the full view when called on a
390	private (sub)type; refactor to avoid early return statement.
391	(Not_Null_Range): Same as above.
392
3932018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
394
395	* freeze.adb (Freeze_Entity): Ensure that a Ghost type is not
396	concurrent, nor effectively volatile.
397	* ghost.adb (Check_Ghost_Type): New routine.
398	* ghost.ads (Check_Ghost_Type): New routine.
399	* sem_util.adb (Is_Declaration): Reimplemented. The routine can now
400	consider specific subsets of declarations.
401	(Is_Declaration_Other_Than_Renaming): Removed. Its functionality is
402	replicated by Is_Declaration.
403	* sem_util.ads (Is_Declaration): New parameter profile. Update the
404	comment on usage.
405	(Is_Declaration_Other_Than_Renaming): Removed.
406
4072018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
408
409	* sem_ch5.adb (Analyze_Assignment): Assignments to variables that act
410	as Part_Of consituents of single protected types are illegal when they
411	take place inside a protected function.
412	(Diagnose_Non_Variable_Lhs): Use Within_Function to check for an
413	enclosing function.
414	(Is_Protected_Part_Of_Constituent): New routine.
415	(Within_Function): New routine.
416
4172018-01-11  Arnaud Charlet  <charlet@adacore.com>
418
419	Bump copyright notices to 2018.
420
4212018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
422
423	* binde.adb, par-ch6.adb, par-ch9.adb, sem_ch12.adb, sem_ch13.adb:
424	Minor reformatting.
425
4262018-01-11  Justin Squirek  <squirek@adacore.com>
427
428	* par-ch6.adb (Scan_Body_Or_Expression_Function): Add additional check
429	to make sure a given expression function is properly parenthesized.
430
4312018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
432
433	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Check the
434	categorization of a subprogram body which does not complete a previous
435	declaration.
436
4372018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
438
439	* sem_ch10.adb (Check_Private_Child_Unit): Ensure that the enclosing
440	scope of package Ada is Standard.
441
4422018-01-11  Ed Schonberg  <schonberg@adacore.com>
443
444	* sem_ch13.adb (Replace_Type_Ref): Handle properly reference to a
445	subcomponent of the current entity when building the body for a dynamic
446	predicate function for a record with composite subcomponents.
447
4482018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
449
450	* exp_aggr.adb (Convert_Aggr_In_Object_Decl): Update the call to
451	Establish_Transient_Scope.
452	(Convert_To_Assignments): Update the call to Establish_Transient_Scope.
453	(Expand_Array_Aggregate): Update the call to Establish_Transient_Scope.
454	* exp_ch6.adb (Expand_Call_Helper): Update the call to
455	Establish_Transient_Scope.
456	(Make_Build_In_Place_Call_In_Object_Declaration): Update the call to
457	Establish_Transient_Scope.
458	* exp_ch7.adb (Establish_Transient_Scope): Restructured. Delegate the
459	management of the secondary stack to an enclosing scope if there is no
460	suitable construct to wrap, and the transient scope was intended to
461	manage the secondary stack.
462	(Find_Node_To_Be_Wrapped): Restructured. A case_statement_alternative
463	is a valid boundary for a transient expression which comes from the
464	statements of the alternative, otherwise alternatives cannot be
465	wrapped. Assignments of controlled objects which have controlled
466	actions suppressed now stop the traversal as there is no point in
467	looking for an enclosing construct. Add several N_xxx_Body choices to
468	the termination conditions for completeness.
469	* exp_ch7.ads (Establish_Transient_Scope): Update the parameter profile
470	and the associated comment on usage.
471	* exp_smem.adb (Add_Shared_Var_Lock_Procs): Update the call to
472	Establish_Transient_Scope.
473	(Add_Write_After): Update the call to Establish_Transient_Scope.
474	* sem_res.adb (Check_Initialization_Call): Removed.
475	(Resolve_Actuals): Account for additional cases where finalization
476	actions are required by utilizing predicate Needs_Finalization rather
477	than Is_Controlled.
478	(Resolve_Call): Type initialization procedures can now utilize
479	transient scopes to manage the secondary stack, thus preventing leaks
480	during initialization.  Remove the previous kludgy algorithm which
481	attempts to manage the secondary stack at the object creation site.
482
4832018-01-11  Jerome Lambourg  <lambourg@adacore.com>
484
485	* libgnat/g-soliop__qnx.ads: New.
486	* adaint.c, adaint.h, cstreams.c, s-oscons-tmplt.c, sysdep.c: Update
487	for QNX.
488
4892018-01-11  Bob Duff  <duff@adacore.com>
490
491	* par-ch9.adb (P_Protected_Operation_Declaration_Opt): Give an error if
492	a null procedure occurs in a protected definition.
493
4942018-01-11  Bob Duff  <duff@adacore.com>
495
496	* binderr.ads, namet.ads: Minor reformatting.
497
4982018-01-11  Bob Duff  <duff@adacore.com>
499
500	* doc/gnat_ugn/gnat_utility_programs.rst: Improve documentation of
501	xml2gnat.
502
5032018-01-11  Bob Duff  <duff@adacore.com>
504
505	* binde.adb (Force_Elab_Order): Give an error if there are duplicate
506	unit names.
507
5082018-01-11  Ed Schonberg  <schonberg@adacore.com>
509
510	* sem_ch6.adb (Freeze_Expr_Types): If an access value is the
511	controlling argument of a dispatching call. freeze the corresponding
512	designated type.
513
5142018-01-11  Ben Brosgol  <brosgol@adacore.com>
515
516	* doc/Makefile: Add Sphinx option -W to treat warnings as errors.
517
5182018-01-11  Ben Brosgol  <brosgol@adacore.com>
519
520	* doc/gnat_rm/implementation_defined_aspects.rst: Minor type/wording
521	corrections.
522	* gnat_rm.texi: Regenerate.
523
5242018-01-11  Ed Schonberg  <schonberg@adacore.com>
525
526	* sem_ch12.adb (Check_Fixed_Point_Type): Do not apply check if the
527	formsl type corresponding to the actual fixed point type is private,
528	because in this case there can be no suspicious arithmetic operations
529	in the generic unless they reference a formal subprogram.  Clarify
530	warning.
531
5322018-01-11  Javier Miranda  <miranda@adacore.com>
533
534	* exp_util.adb (Remove_Side_Effects): No action done for functions
535	returning class-wide types since it requires generating code using
536	'reference and the CCG target has no secondary stack.
537	* gnat1drv.adb: Disable building static dispatch tables when generating
538	C code.
539
5402018-01-11  Piotr Trojanek  <trojanek@adacore.com>
541
542	* libgnat/a-direio.ads, libgnat/a-sequio.ads, libgnat/a-ststio.ads,
543	libgnat/a-textio.ads, libgnat/a-witeio.ads, libgnat/a-ztexio.ads
544	(File_Type): Add Default_Initial_Condition aspect.
545
5462018-01-11  Pascal Obry  <obry@adacore.com>
547
548	* libgnat/s-os_lib.adb (Normalize_Pathname): New implementation.
549
5502018-01-11  Bob Duff  <duff@adacore.com>
551
552	* doc/gnat_ugn/gnat_utility_programs.rst: Rewrite gnatpp documentation
553	to match what the Libadalang-based version does.
554	* doc/gnat_ugn/about_this_guide.rst: Update reference.
555
5562018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
557
558	* sem_res.adb (Uses_SS): A controlled type requires the secondary stack
559	if it contains at least one component declaration employing a function
560	call returning on the secondary stack.
561
5622018-01-11  Yannick Moy  <moy@adacore.com>
563
564	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
565	Update description of restriction SPARK_05 with SPARK 2014.
566	* gnat_rm.texi: Regenerate.
567
5682018-01-11  Vasiliy Fofanov  <fofanov@adacore.com>
569
570	* doc/gnat_ugn/gnat_utility_programs.rst: Fix layout.
571
5722018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
573
574	* exp_aggr.adb, exp_ch9.adb, exp_util.adb, sem_aggr.adb, sem_ch3.adb,
575	sem_res.adb, sem_util.adb: Minor reformatting.
576
5772018-01-11  Ed Schonberg  <schonberg@adacore.com>
578
579	* sem_prag.adb (Analyze_Pragma, case Predicate): Indicate that the type
580	has a delayed aspect which must be processed at the point the type is
581	frozen. This mimics what is done when the predicate is provided by a
582	source aspect.
583
5842018-01-11  Doug Rupp  <rupp@adacore.com>
585
586	* init.c (vxworks): Add macro checks for __aarch64__.
587
5882018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
589
590	* exp_util.adb (Add_Failure_Expression): New routine.
591	(Make_Predicate_Check): Reimplement the handling of Predicate_Failure.
592	* sem_util.adb (Is_Current_Instance): Code cleanup.
593
5942018-01-11  Patrick Bernardi  <bernardi@adacore.com>
595
596	* libgnat/s-parame*.adb, libgnat/s-parame*.ads: Remove unneeded
597	Default_Sec_Stack_Size.
598	* libgnat/s-secsta.adb (SS_Allocate): Handle the fixed secondary stack
599	limit check so that the integer index does not overflow. Check the
600	dynamic stack allocation does not cause the secondary stack pointer to
601	overflow.
602	(SS_Info): Align colons.
603	(SS_Init): Cover the case when bootstraping with an old compiler that
604	does not set Default_SS_Size.
605
6062018-01-11  Ed Schonberg  <schonberg@adacore.com>
607
608	* sem_ch3.adb (Add_Internal_Interface_Entities): When checking the
609	legality of an inherited operation that may require overriding, ignore
610	primitive_wrappers that correspond to explicit operations that override
611	an interface primitive.
612	* exp_util.adb (Build_Class_Wide_Expression, Replace_Entity): If the
613	operation to which the class-wide expression applies is a protected op.
614	with a primitive_wrapper, verify that the updated inherited expression
615	does not contain an internal call to a protected function.  This
616	completes the implementation of AI12-0166.
617
6182018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
619
620	* ali.adb: Document the remaining letters available for ALI lines.
621	(Scan_ALI): A with clause is internal when it is encoded on a 'Z' line.
622	* ali.ads: Update type With_Record. Field
623	Implicit_With_From_Instantiation is no longer in use. Add field
624	Implicit_With.
625	* csinfo.adb (CSinfo): Remove the setup for attribute
626	Implicit_With_From_Instantiation.
627	* lib-writ.adb (Collect_Withs): Correct the logic which marks a unit as
628	either implicitly or explicitly withed.
629	(Is_Implicit_With_Clause): New routine.
630	(Write_ALI): Rename array Implicit_With to Has_Implicit_With to avoid
631	confusion with the with clause attribute by the same name.
632	(Write_With_Lines): Update the emission of 'W', 'Y', and 'Z' headers.
633	* rtsfind.adb (Maybe_Add_With): Code cleanup.
634	* sem_ch8.adb (Present_System_Aux): Code cleanup.
635	* sem_ch10.adb (Expand_With_Clause): Mark the with clause as generated
636	for a parent unit.
637	(Implicit_With_On_Parent): Mark the with clause as generated for a
638	parent unit.
639	* sem_ch12.adb (Inherit_Context): With clauses inherited by an
640	instantiation are no longer marked as Implicit_With_From_Instantiation
641	because they are already marked as implicit.
642	* sem_elab.adb (Ensure_Prior_Elaboration_Static): Remove the kludge
643	which marks implicit with clauses as related to an instantiation.
644	* sinfo.adb (Implicit_With_From_Instantiation): Removed.
645	(Parent_With): New routine.
646	(Set_Implicit_With_From_Instantiation): Removed.
647	(Set_Parent_With): New routine.
648	* sinfo.ads: Update the documentation of attribute Implicit_With.
649	Remove attribute Implicit_With_From_Instantiation along with
650	occurrences in nodes.  Add attribute Parent_With along with occurrences
651	in nodes.
652	(Implicit_With_From_Instantiation): Removed along with pragma Inline.
653	(Parent_With): New routine along with pragma Inline.
654	(Set_Implicit_With_From_Instantiation): Removed along with pragma Inline.
655	(Set_Parent_With): New routine along with pragma Inline.
656
6572018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
658
659	* sem_util.adb (Find_Enclosing_Scope): Return the unique defining
660	entity when the enclosing construct is a body.
661
6622018-01-11  Patrick Bernardi  <bernardi@adacore.com>
663
664	* exp_ch9.adb (Expand_N_Task_Type_Declaration): Simplified
665	Secondary_Stack_Size handling as a pragma is now generated for the
666	corresponding aspect instead of an attribute.  Pragma expression is
667	relocated instead of evaluated. Discriminant of the corresponding
668	record type is referenced rather than the type discriminant.
669	(Create_Secondary_Stack_For_Task, Make_Task_Create_Call): Update
670	Secondary_Stack_Size rep item checks to only look for the pragma rep.
671	* sem_ch13.adb (Analyze_One_Aspect): Transform
672	Aspect_Secondary_Stack_Size into a pragma instead of an attribute
673	because the attribute does not have visibility on a task type's
674	discriminants when the type's definition is expanded.
675	(Analyze_Attribute_Definition_Clause): Remove handling of
676	Attribute_Secondary_Stack_Size.
677	* snames.adb-tmpl, snames.ads-tmpl: Remove
678	Attribute_Secondary_Stack_Size, no longer used.
679
6802018-01-11  Justin Squirek  <squirek@adacore.com>
681
682	* sem_ch8.adb: Minor comment fix.
683
6842018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
685
686	* exp_ch4.adb (Process_Action): Do not abandon the inspection of an
687	individual action because the action may denote a complex expression,
688	such as a case statement, which in turn may contain additional
689	transient objects.
690
6912018-01-11  Ed Schonberg  <schonberg@adacore.com>
692
693	* sem_aggr.adb (Resolve_Iterated_Component_Association): Perform
694	analysis on a copy of the expression with a copy of the index variable,
695	because full expansion will rewrite construct into a loop with the
696	original loop variable.
697	* exp_aggr.adb (Gen_Assign): Defer analysis and resolution if the
698	expression is an iterated component association. Full analysis takes
699	place when construct is rewritten as a loop.
700	(In_Place_Assign_OK, Safe_Component): An iterated_component_association
701	is not safe for in-place assignment.
702	* sem_util.adb (Remove_Entity): Handle properly the case of an isolated
703	entity with no homonym and no other entity in the scope.
704
7052018-01-11  Justin Squirek  <squirek@adacore.com>
706
707	* sem_prag.adb (Analyze_Pragma:Pragma_Loop_Variant): Modify error
708	message to be printed on the pragma argument identifier.
709
7102018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>
711
712	* exp_util.adb (Build_Invariant_Procedure_Declaration): Set the last
713	entity of the generated invariant procedure in order to construct a
714	proper entity chain.
715
7162018-01-11  Piotr Trojanek  <trojanek@adacore.com>
717
718	* sem_ch13.adb (Build_Predicate_Functions): Fix minor issues in
719	comment.
720
7212018-01-11  Arnaud Charlet  <charlet@adacore.com>
722
723	* einfo.ads, einfo.adb (Activation_Record_Component,
724	Set_Activation_Record_Component, Set_Is_Uplevel_Referenced_Entity):
725	Allow E_Discriminant.
726
7272018-01-10  Eric Botcazou  <ebotcazou@adacore.com>
728
729	* gcc-interface/decl.c (gnat_to_gnu_component_type): Apply the check
730	for atomic access once the component size is taken into account and
731	also do it if the component type is Atomic or Volatile_Full_Access.
732
7332018-01-04  Eric Botcazou  <ebotcazou@adacore.com>
734
735	* gnatvsn.ads: Bump copyright year.
736
7372018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
738	    Alan Hayward  <alan.hayward@arm.com>
739	    David Sherwood  <david.sherwood@arm.com>
740
741	* gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_BITSIZE
742	as polynomial.
743
7442018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
745	    Alan Hayward  <alan.hayward@arm.com>
746	    David Sherwood  <david.sherwood@arm.com>
747
748	* gcc-interface/misc.c (enumerate_modes): Treat GET_MODE_PRECISION
749	as polynomial.
750
7512018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
752	    Alan Hayward  <alan.hayward@arm.com>
753	    David Sherwood  <david.sherwood@arm.com>
754
755	* gcc-interface/utils.c (gnat_types_compatible_p): Handle
756	polynomial TYPE_VECTOR_SUBPARTS.
757
7582018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
759	    Alan Hayward  <alan.hayward@arm.com>
760	    David Sherwood  <david.sherwood@arm.com>
761
762	* gcc-interface/misc.c (enumerate_modes): Handle polynomial
763	GET_MODE_NUNITS.
764
7652018-01-03  Jakub Jelinek  <jakub@redhat.com>
766
767	Update copyright years.
768
769 	* gnat_ugn.texi: Bump @copying's copyright year.
770 	* gnat_rm.texi: Likewise.
771
772Copyright (C) 2018 Free Software Foundation, Inc.
773
774Copying and distribution of this file, with or without modification,
775are permitted in any medium without royalty provided the copyright
776notice and this notice are preserved.
777