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