1 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>
3 * sem_prag.adb (Match_Constituent): Treat a constant as a legal
4 constituent even if it is not to prevent spurious errors.
6 2016-04-21 Gary Dismukes <dismukes@adacore.com>
8 * sem_ch4.adb: Minor typo fixes and reformatting.
10 2016-04-21 Dmitriy Anisimkov <anisimko@adacore.com>
12 * g-calend.ads (No_Time): The same value in any timezone.
13 * g-socket.adb (Raise_Host_Error): Remove ending
14 dot from original error message before append colon delimited
17 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>
19 * sem_ch3.adb: Code cleanup.
20 * sem_ch6.adb: Code cleanup.
21 (Is_Matching_Limited_View): New routine.
22 (Matches_Limited_With_View): Reimplemented.
23 * sem_ch10.adb (Decorate_Type): Code cleanup.
25 2016-04-21 Doug Rupp <rupp@adacore.com>
27 * tracebak.c (PPC ELF): Add macro defs for lynxos178e.
29 2016-04-21 Ed Schonberg <schonberg@adacore.com>
31 * sem_ch4.adb (Try_Container_Indexing): If there are overloaded
32 indexing functions, collect all overloadings of the call firts,
33 and then transfer them to indexing node, to prevent interleaving
34 of the set of interpretations of the nodes involved.
35 * sem_res.adb (Resolve): Suppress cascaded errors that report
36 ambiguities when one of the actuals in an overloaded generatlized
37 indexing operation is illegal and has type Any_Type, as is done
38 for similar cascaded errors in subprogram calls.
39 (Valid_Tagged_Conversion): Cleanup conversion checks when one
40 of the types involved is a class-wide subtype.
42 2016-04-21 Ed Schonberg <schonberg@adacore.com>
44 * sem_ch12.adb (Load_Parent_Of_Generic): When looking for the
45 subprogram declaration within a wrapper package, skip pragmas
46 that may have been generated by aspect specifications on the
49 2016-04-21 Javier Miranda <miranda@adacore.com>
51 * exp_aggr.adb (Component_Not_OK_For_Backend): Generating C
52 code return True for array identifiers since the backend needs
53 to initialize such component by means of memcpy().
55 2016-04-21 Arnaud Charlet <charlet@adacore.com>
57 * a-tasatt.adb, a-tasatt.ads (Fast_Path): Rewritten to avoid reading
58 potentially uninitialized memory.
59 * sem_ch3.adb: Minor style fix in comment.
61 2016-04-21 Arnaud Charlet <charlet@adacore.com>
63 * gnat_rm.texi, gnat_ugn.texi,
64 doc/gnat_ugn/gnat_project_manager.rst,
65 doc/gnat_ugn/building_executable_programs_with_gnat.rst,
66 doc/gnat_ugn/gnat_and_program_execution.rst,
67 doc/gnat_ugn/gnat_utility_programs.rst,
68 doc/gnat_ugn/the_gnat_compilation_model.rst,
69 doc/gnat_rm/implementation_defined_attributes.rst,
70 doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
71 doc/gnat_rm/implementation_defined_pragmas.rst,
72 doc/gnat_rm/the_gnat_library.rst,
73 doc/gnat_rm/implementation_defined_aspects.rst: Update doc.
74 * doc/Makefile: Cleanups.
76 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>
78 * exp_pakd.adb, sem_ch13.adb: Minor reformatting.
80 2016-04-21 Ed Schonberg <schonberg@adacore.com>
82 * exp_dbug.adb, exp_dbug.ads (Qualify_Entity_Name): Add suffixes to
83 disambiguate local variables that may be hidden from inner visibility
84 by nested block declarations or loop variables.
86 2016-04-21 Jerome Lambourg <lambourg@adacore.com>
88 * s-soflin.adb: Initialize the Stack_Limit global variable.
90 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>
92 * lib-writ.adb: Minor reformatting.
94 2016-04-21 Ed Schonberg <schonberg@adacore.com>
96 * exp_pakd.adb (Compute_Number_Components): New function to
97 build an expression that computes the number of a components of
98 an array that may be multidimensional.
99 (Expan_Packed_Eq): Use it.
101 2016-04-21 Arnaud Charlet <charlet@adacore.com>
103 * g-traceb.ads: Update list of supported platforms.
105 2016-04-21 Ed Schonberg <schonberg@adacore.com>
107 * sem_ch13.adb (Add_Predicates): if the type is declared in
108 an inner package it may be frozen outside of the package, and
109 the generated pragma has not been analyzed yet, the expression
110 for the predicate must be captured and added to the predicate
111 function at this point.
113 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>
115 * contracts.adb (Analyze_Package_Body_Contract): Do not check
116 for a missing package refinement because 1) packages do not have
117 "refinement" and 2) the check for proper state refinement is
118 performed in a different place.
119 * einfo.adb (Has_Non_Null_Visible_Refinement): Reimplemented.
120 (Has_Null_Visible_Refinement): Reimplemented.
121 * sem_ch3.adb (Analyze_Declarations): Determine whether all
122 abstract states have received a refinement and if not, emit
124 * sem_ch7.adb (Analyze_Package_Declaration): Code
125 cleanup. Determine whether all abstract states of the
126 package and any nested packages have received a refinement
127 and if not, emit errors.
128 (Requires_Completion_In_Body): Add new formal parameter
129 Do_Abstract_States. Update the comment on usage. Propagate the
130 Do_Abstract_States flag to all Unit_Requires_Body calls.
131 (Unit_Requires_Body): Remove formal
132 parameter Ignore_Abstract_States. Add new formal paramter
133 Do_Abstract_States. Propagate the Do_Abstract_States flag to
134 all Requires_Completion_In calls.
135 * sem_ch7.ads (Unit_Requires_Body): Remove formal
136 parameter Ignore_Abstract_States. Add new formal paramter
137 Do_Abstract_States. Update the comment on usage.
138 * sem_ch9.adb (Analyze_Single_Protected_Declaration): Do
139 not initialize the constituent list as this is now done on a
140 need-to-add-element basis.
141 (Analyze_Single_Task_Declaration):
142 Do not initialize the constituent list as this is now done on
143 a need-to-add-element basis.
144 * sem_ch10.adb (Decorate_State): Do not initialize the constituent
145 lists as this is now done on a need-to-add-element basis.
146 * sem_prag.adb (Analyze_Constituent): Set the
147 refinement constituents when adding a new element.
148 (Analyze_Part_Of_In_Decl_Part): Set the Part_Of constituents when
149 adding a new element.
150 (Analyze_Part_Of_Option): Set the Part_Of
151 constituents when adding a new element.
152 (Analyze_Pragma): Set the Part_Of constituents when adding a new
154 (Check_Constituent_Usage (all versions)): Reimplemented.
155 (Collect_Constituent): Set the refinement constituents when adding
157 (Create_Abstract_State): Do not initialize the
158 constituent lists as this is now done on a need-to-add-element basis.
159 (Propagate_Part_Of): Set the Part_Of constituents when
160 adding a new element.
161 * sem_util.adb (Check_State_Refinements): New routine.
162 (Has_Non_Null_Refinement): Reimplemented.
163 (Has_Null_Refinement): Reimplemented.
164 (Requires_State_Refinement): Removed.
165 * sem_util.ads (Check_State_Refinements): New routine.
166 (Requires_State_Refinement): Removed.
168 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>
170 * lib-writ.adb, sem_ch6.adb: Minor reformatting and code cleanup.
171 * sem.adb: Fix comment.
173 2016-04-21 Ed Schonberg <schonberg@adacore.com>
175 * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype
176 declaration with no aspects, whose subtype_mark is a subtype
177 with predicates, inherits the list of subprograms for the type.
179 2016-04-21 Arnaud Charlet <charlet@adacore.com>
181 * exp_aggr.adb (Has_Per_Object_Constraint): Refine previous
184 2016-04-21 Thomas Quinot <quinot@adacore.com>
186 * g-socket.adb (Raise_Host_Error): Include additional Name parameter.
188 2016-04-21 Ed Schonberg <schonberg@adacore.com>
190 * lib-writ.adb (Write_ALI): Do not record in ali file units
191 that are present in the files table but not analyzed. These
192 units are present because they appear in the context of units
193 named in limited_with clauses, and the unit being compiled does
194 not depend semantically on them.
196 2016-04-21 Ed Schonberg <schonberg@adacore.com>
198 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Simplify code to
199 create the procedure body for an function returning an array type,
200 when generating C code. Reuse the subprogram body rather than
201 creating a new one, both as an efficiency measure and because
202 in an instance the body may contain global references that must
205 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>
207 * sem_ch3.adb, exp_attr.adb, exp_ch6.adb, exp_aggr.adb: Minor
210 2016-04-21 Javier Miranda <miranda@adacore.com>
212 * exp_aggr.adb (Component_Check): Extend
213 the check that verifies that the aggregate has no function
214 calls to handle transformations performed by the frontend.
215 (Ultimate_Original_Expression): New subprogram.
217 2016-04-21 Philippe Gil <gil@adacore.com>
219 * krunch.adb (Krunch): Fix krunching of i-java.
221 2016-04-21 Arnaud Charlet <charlet@adacore.com>
223 * exp_ch8.adb (Evaluation_Required): Always return
224 True when Modify_Tree_For_C.
226 2016-04-21 Eric Botcazou <ebotcazou@adacore.com>
228 * gnatlink.adb (Gnatlink): Robustify detection of Windows target.
229 * alloc.ads: Minor comment fixes.
230 * einfo.ads: Fix typo.
232 2016-04-21 Arnaud Charlet <charlet@adacore.com>
234 * exp_aggr.adb (Component_Not_OK_For_Backend): Redo previous
235 changes to handle all cases of components depending on the
236 discriminant, not just string literals.
238 2016-04-21 Ed Schonberg <schonberg@adacore.com>
240 * sem_ch3.adb (Analyze_Subtype_Declaration): If the subtype
241 declaration is the generated declaration for a generic actual,
242 inherit predicates from the actual if it is a predicated subtype.
244 2016-04-21 Ed Schonberg <schonberg@adacore.com>
246 * exp_ch6.adb (Rewrite_Function_Call_For_C): If the function is
247 inherited and its result is controlling, introduce a conversion
248 on the actual for the corresponding procedure call, to avoid
249 spurious type errors.
251 2016-04-21 Jerome Lambourg <lambourg@adacore.com>
253 * krunch.adb (Krunch): Fix krunching of i-vxworks.
255 2016-04-21 Gary Dismukes <dismukes@adacore.com>
257 * exp_aggr.adb: Minor reformatting and code cleanup.
259 2016-04-21 Ed Schonberg <schonberg@adacore.com>
261 * sem_ch13.adb (Resolve_Name): Omit quantified expressions from
262 resolution, because they introduce local names. Full resolution
263 will take place when predicate function is constructed.
265 2016-04-21 Arnaud Charlet <charlet@adacore.com>
267 * exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous
268 change to take into account Per_Object_Constraint field rather
269 than special casing strings.
270 * exp_ch6.adb: Fix typo in Replace_Returns.
272 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>
274 * sem_ch5.adb: Minor reformatting.
276 2016-04-21 Arnaud Charlet <charlet@adacore.com>
278 * exp_aggr.adb (Backend_Processing_Possible): Return False
279 when generating C and aggregate contains function calls.
281 2016-04-21 Tristan Gingold <gingold@adacore.com>
283 * krunch.adb (Krunch): Only partially krunch children of
284 Interfaces that aren't known.
286 2016-04-21 Ed Schonberg <schonberg@adacore.com>
288 * sem_prag.adb (Make_Inline): Handle properly the instantiation
289 of a generic subpprogram that carries an Inline aspect. Place
290 inline info on the anonymous subprogram that is constructed in
292 (Analyze_Pragma, case Pure): Do not check placement if pragma
293 appears within an instantiation, which can be nested at any level.
294 * sem_ch12.adb (Analyze_Instance_And_Renamings): Do not copy Freeze
295 node from anonymous subprogram to its visible renaming. The
296 freeze node will be constructed if the subprogram carries
298 (Set_Global): Preserve dimension information if present (from
301 2016-04-21 Vasiliy Fofanov <fofanov@adacore.com>
303 * gnatlink.adb: Change wording of the warning message on
304 problematic filenames to be more neutral. Add a new substring
305 "patch" introduced on Windows 10.
307 2016-04-21 Philippe Gil <gil@adacore.com>
309 * tracebak.c (__gnat_backtrace): handle bad RIP values (win64 only)
311 2016-04-21 Javier Miranda <miranda@adacore.com>
313 * exp_aggr.adb (Component_Not_OK_For_Backend): Return true for string
316 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>
318 * einfo.adb (Has_Non_Null_Abstract_State): New routine.
319 * einfo.ads New synthesized attribute
320 Has_Non_Null_Abstract_State along with occurrences in entities.
321 (Has_Non_Null_Abstract_State): New routine.
322 * sem_ch7.adb (Unit_Requires_Body): Add local variable
323 Requires_Body. A package declaring an abstract state requires
324 a body only when the state is non-null and the package contains
325 at least one other construct that requires completion in a body.
326 * sem_util.adb (Mode_Is_Off): Removed.
327 (Requires_State_Refinement): Remove an obsolete check. Code
330 2016-04-21 Bob Duff <duff@adacore.com>
332 * sem_attr.adb (Analyze_Attribute): In processing
333 the 'Old attribute, a warning is given for infinite recursion. Fix
334 the code to not crash when the prefix of 'Old denotes a protected
336 * sem_ch5.adb (Analyze_Iterator_Specification):
337 Avoid calling Is_Dependent_Component_Of_Mutable_Object in cases
338 where the parameter would not be an object.
340 2016-04-21 Eric Botcazou <ebotcazou@adacore.com>
342 * sem_eval.adb (Compile_Time_Compare): Be prepared for an empty
343 Etype or Underlying_Type of the operands.
345 2016-04-21 Eric Botcazou <ebotcazou@adacore.com>
347 * atree.adb (Print_Statistics): Protect against overflows and
348 print the memory consumption in bytes.
349 * table.adb (Reallocate): Do the intermediate calculation of the new
350 size using the Memory.size_t type.
352 2016-04-21 Gary Dismukes <dismukes@adacore.com>
354 * exp_attr.adb (Is_Inline_Floating_Point_Attribute): Suppress
355 expansion of Attribute_Machine and Attribute_Model for AAMP.
357 2016-04-21 Ed Schonberg <schonberg@adacore.com>
359 * freeze.adb: Disable previous change for now.
361 2016-04-21 Ed Schonberg <schonberg@adacore.com>
363 * sem_ch8.adb (Find_Selected_Component): If prefix has an
364 access type and designated type is a limited view, introduce
365 an explicit dereference before continuing the analysis, and
366 set its type to the non-limited view of the designated type,
367 if we are in context where it is available.
369 2016-04-21 Ed Schonberg <schonberg@adacore.com>
371 * freeze.adb: Freeze profile in ASIS mode.
373 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>
375 * sem_aux.ads, sem_aux.adb (Has_Rep_Item): New variant.
376 * sem_util.adb (Inherit_Rep_Item_Chain): Reimplemented.
378 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>
380 * exp_ch6.adb: Minor reformatting.
382 2016-04-21 Ed Schonberg <schonberg@adacore.com>
384 * sem_ch13.adb: Minor comment update.
386 2016-04-21 Ed Schonberg <schonberg@adacore.com>
388 * freeze.ads, freeze.adb (Freeze_Entity, Freeze_Before): Add
389 boolean parameter to determine whether freezing an overloadable
390 entity freezes its profile as well. This is required by
391 AI05-019. The call to Freeze_Profile within Freeze_Entity is
392 conditioned by the value of this flag, whose default is True.
393 * sem_attr.adb (Resolve_Attribute, case 'Access): The attribute
394 reference freezes the prefix, but it the prefix is a subprogram
395 it does not freeze its profile.
397 2016-04-21 Javier Miranda <miranda@adacore.com>
399 * exp_util.adb (Build_Procedure_Form): No action needed for
400 subprogram renamings since the backend can generate the call
401 using the renamed subprogram. This leaves the tree more clean
403 * exp_ch6.adb (Expand_Call): Extend previous patch for
404 rewritten-for-c entities to handle subprogram renamings.
405 (Rewrite_Function_Call_For_C): Handle subprogram renamings.
407 2016-04-21 Ed Schonberg <schonberg@adacore.com>
409 * sem_ch13.adb: Code cleanup.
411 2016-04-21 Ed Schonberg <schonberg@adacore.com>
413 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
414 created for SPARK_To_C, the entity must remain invisible so it
415 does not overload subsequent references to the original function.
416 * exp_ch6.adb (Build_Procedure_Body_Form, Replace_Returns):
417 Handle Extended_Return_Statements by replacing it with a block
418 with assignments and a simple return statement.
419 * exp_util.adb (Build_Procedure_Form): Make procedure entity
420 invisible after analyzing declaration, to prevent improper
423 2016-04-21 Javier Miranda <miranda@adacore.com>
425 * sem_ch6.adb (Build_Subprogram_Declaration): Propagate the
426 attribute Rewritten_For_C to the body since since the expander
427 may generate calls using that entity.
428 * exp_ch6.adb (Expand_Call): For internally generated
429 calls ensure that they reference the entity of the spec
430 of the called function.
431 (Rewritten_For_C_Func_Id): New subprogram.
432 (Rewritten_For_C_Proc_Id): New subprogram.
433 (Rewrite_Function_Call_For_C): Invoke the new subprogram to
434 ensure that we skip freezing entities.
435 * exp_util.adb (Build_Procedure_Form): No action needed if the
436 procedure was already built.
438 2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>
440 * sem_ch3.adb, exp_util.adb, sem_ch13.adb, exp_unst.adb: Minor
443 2016-04-21 Ed Schonberg <schonberg@adacore.com>
445 * sem_util.adb (Denotes_Iterator): Use root type to determine
446 whether the ultimate ancestor is the predefined iterator
448 * exp_ch5.adb (Expand_Iterator_Over_Container): simplify code
449 and avoid reuse of Pack local variable.
451 2016-04-21 Olivier Hainque <hainque@adacore.com>
453 * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
454 system-vxworks-ppc.ads, system-vxworks-m68k.ads,
455 system-vxworks-mips.ads, system-vxworks-x86.ads: Define
456 Executable_Extension to ".out".
458 2016-04-21 Javier Miranda <miranda@adacore.com>
460 * frontend.adb: Update call to Unnest_Subprograms.
461 * exp_ch6.ads, exp_ch6.adb, exp_unst.ads, exp_unst.adb
462 (Unnest_Subprograms): Moved to package exp_unst.
463 * exp_unst.ads (Unnest_Subprogram): Moved to the body of the
465 * exp_dbug.adb (Qualify_Entity_Name): Enable qualification of
466 enumeration literals when generating C code.
468 2016-04-21 Javier Miranda <miranda@adacore.com>
470 * frontend.adb: Remove call to initialize Exp_Ch6.
471 * exp_ch6.ads, exp_ch6.adb (Initialize): removed.
472 (Unest_Entry/Unest_Bodies): Removed.
473 (Unnest_Subprograms): Code cleanup.
475 2016-04-21 Arnaud Charlet <charlet@adacore.com>
477 * set_targ.adb (Read_Target_Dependent_Values):
478 close target description file once its contents is read.
479 * s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File
480 and Stderr_File): Close local file descriptors before spawning
482 * exp_util.adb (Containing_Package_With_Ext_Axioms): Limit scope of
483 local variables to make the code easier to understand and avoid
484 duplicated calls to Parent and Generic_Parent.
486 2016-04-20 Bob Duff <duff@adacore.com>
488 * s-os_lib.ads: Minor comment fix.
490 2016-04-20 Ed Schonberg <schonberg@adacore.com>
492 * exp_ch5.adb (Expand_N_Assignment_Statement): Do no generate
493 a discriminant check for a type whose partial view has unknown
494 discriminants when the full view has discriminants with defaults.
496 2016-04-20 Javier Miranda <miranda@adacore.com>
498 * exp_util.adb (Remove_Side_Effects): When generating C code
499 remove side effect of type conversion of access to unconstrained
501 (Side_Effect_Free): Return false for the type
502 conversion of access to unconstrained array type when generating
504 * sem_res.adb (Resolved_Type_Conversion): Remove side effects
505 of access to unconstrained array type conversion when generating
508 2016-04-20 Ed Schonberg <schonberg@adacore.com>
510 * sem_ch13.adb (Build_Predicate_Function_Declaration): New
511 function, to construct the declaration of a predicate function
512 at the end of the current declarative part rather than at the
513 (possibly later) freeze point of the type. This also allows uses
514 of a type with predicates in instantiations elsewhere.
515 (Resolve_Aspect_Expression): New procedure to detect visiblity
516 errors in aspect expressions, at the end of the declarative part
517 that includes the type declaration.
518 * sem_ch3.adb (Complete_Private_Subtype): Propagate properly the
519 predicate function from private to full view.
520 * einfo.adb (Predicate_Function): Refine search for predicate
521 function when type has a full view and predicate function may
522 be defined on either view.
524 2016-04-20 Javier Miranda <miranda@adacore.com>
526 * frontend.adb: Passing the root of the tree to
527 Unnest_Subprograms().
528 * exp_ch6.adb (Expand_N_Subprogram_Body): Remove code that
529 took care of adding subprograms to the Unest_Bodies table since
530 performing such action too early disables the ability to process
531 generic instantiations.
532 (Unnest_Subprograms): Adding parameter.
533 (Search_Unnesting_Subprograms): New subprogram.
534 * exp_ch6.ads (Unnest_Subrograms): Update documentation.
536 2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
538 * exp_util.adb, freeze.adb, sem_util.adb: Minor reformatting.
540 2016-04-20 Ed Schonberg <schonberg@adacore.com>
542 * exp_unst.adb (Check_Static_Type): For a private type, check
545 2016-04-20 Ed Schonberg <schonberg@adacore.com>
547 * sem_attr.adb (Check_Type): Reject an attribute reference in
548 an aspect expression, when the prefix of the reference is the
549 current instance of the type to which the aspect applies.
551 2016-04-20 Bob Duff <duff@adacore.com>
553 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about
554 hiding unless we're actually hiding something. The previous
555 code would (for example) warn about a "<" on a record type
556 because it incorrectly thought it was hiding the "<" on Boolean
557 in Standard. We need to check that the homonym S is in fact a
558 homograph of a predefined operator.
560 2016-04-20 Ed Schonberg <schonberg@adacore.com>
562 * exp_util.ads, exp_util.adb (Build_Procedure_Form): Moved here
563 from exp_ch6.adb, for use in SPARK_To_C mode when creating the
564 procedure equivalent to a function returning an array, when this
565 construction is deferred to the freeze point of the function.
566 * sem_util.adb (Is_Unchecked_Conversion_Instance): Include a
567 function that renames an instance of Unchecked_Conversion.
568 * freeze.adb (Freeze_Subprogram): Generate the proper procedure
569 declaration for a function returning an array.
570 * exp_ch6.adb (Build_Procedure_Form): Moved to exp_util.
572 2016-04-20 Ed Schonberg <schonberg@adacore.com>
574 * sem_util.ads, sem_util.adb (Is_Expanded_Priority_Attribute):
575 New predicate to determine that in a context with full run-time,
576 a function call is an expansion of a reference to attribute
578 * sem_ch5.adb (Analyze_Function_Call): use it.
579 * exp_ch5.adb (Expand_N_Subprogram_Call): use it.
581 2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
583 * einfo.adb Flag286 is now used as Is_Exception_Handler.
584 (Is_Exception_Handler): New routine.
585 (Set_Is_Exception_Handler): New routine.
586 (Write_Entity_Flags): Output the status of Is_Exception_Handler.
587 * einfo.ads New attribute Is_Exception_Handler along with
588 occurrences in entities.
589 (Is_Exception_Handler): New routine along with pragma Inline.
590 (Set_Is_Exception_Handler): New routine along with pragma Inline.
591 * exp_ch7.adb (Make_Transient_Block): Ignore blocks generated
592 for exception handlers with a choice parameter.
593 * sem_ch11.adb (Analyze_Exception_Handlers): Mark the scope
594 generated for a choice parameter as an exception handler.
596 2016-04-20 Ed Schonberg <schonberg@adacore.com>
598 * sem_ch3.adb (Build_Derived_Access_Type): Remove dead code.
599 (Constrain_Discriminated_Type): In an instance, if the type has
600 unknown discriminants, use its full view.
601 (Process_Subtype): Check that the base type is private before
602 adding subtype to Private_Dependents list.
604 2016-04-20 Bob Duff <duff@adacore.com>
606 * sem_ch13.adb: Minor comment fix.
608 2016-04-20 Yannick Moy <moy@adacore.com>
610 * sem_ch4.adb: Fix typos in comments.
611 * sem_res.adb (Resolve_Case_Expression): Fix type of case alternatives.
613 2016-04-20 Ed Schonberg <schonberg@adacore.com>
615 * sem_ch4.adb (Analyze_Selected_Component): A reference to the
616 current instance of a task type is legal if the prefix is an
617 expression of that task type and the selector is an entry or
620 2016-04-20 Arnaud Charlet <charlet@adacore.com>
622 * a-cfdlli.ads (List): Type is no longer tagged, not needed. Move
623 varsize field at the end for efficiency.
625 2016-04-20 Vincent Celier <celier@adacore.com>
627 * gnatcmd.adb: Do not invoke gprls when the invocation of "gnat
628 ls" includes the switch -V.
629 * clean.adb: "<target>-gnatclean -P" now calls "gprclean
631 * make.adb: "<target>-gnatmake -P" now calls "gprbuild
634 2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
636 * sem_ch12.adb (Qualify_Type): Do not perform
637 partial qualification when the immediate scope is a generic unit.
639 2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
641 * exp_unst.adb: Minor reformatting.
643 2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
645 * exp_ch4.adb (Expand_Allocator_Expression): Ensure that the
646 tag assignment and adjustment preceed the accessibility check.
647 * exp_ch7.adb (Is_Subprogram_Call): Reimplemented.
649 2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
651 * exp_prag.adb (Expand_Attributes): Ensure that
652 the temporary used to capture the value of attribute 'Old's
653 prefix is properly initialized.
655 2016-04-20 Javier Miranda <miranda@adacore.com>
657 * exp_unst.ads, exp_unst.adb (Get_Level, Subp_Index): Moved to library
660 2016-04-20 Arnaud Charlet <charlet@adacore.com>
662 * sem_ch9.adb (Analyze_Task_Type_Declaration): Shut down warning
665 2016-04-20 Vincent Celier <celier@adacore.com>
667 * make.adb: Code cleanup.
669 2016-04-20 Arnaud Charlet <charlet@adacore.com>
671 * exp_ch4.adb (Expand_Allocator_Expression): Help C code
674 2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
676 * sem_ch12.adb (Copy_Generic_Node): Handle the special
677 qualification installed for universal literals that act as
678 operands in binary or unary operators. (Qualify_Operand): Mark
679 the qualification to signal the instantiation mechanism how to
680 handle global reference propagation.
681 * sinfo.adb (Is_Qualified_Universal_Literal): New routine.
682 (Set_Is_Qualified_Universal_Literal): New routine.
683 * sinfo.ads New attribute Is_Qualified_Universal_Literal along
684 with occurrences in nodes.
685 (Is_Qualified_Universal_Literal):
686 New routine along with pragma Inline.
687 (Set_Is_Qualified_Universal_Literal): New routine along with
690 2016-04-20 Ed Schonberg <schonberg@adacore.com>
692 * sem.adb (Do_Analyze): Save and restore Style_Max_Line_Length
693 so that the corresponding checks are preserved across compilations
694 that include System.Constants in their context.
696 2016-04-20 Gary Dismukes <dismukes@adacore.com>
698 * sem_type.adb: Minor typo fix and reformatting.
699 * a-conhel.ads: Update comment.
701 2016-04-20 Bob Duff <duff@adacore.com>
703 * a-cihama.adb, a-cihase.adb, a-coinve.adb (Copy): Rewrite the
704 code so it doesn't trigger an "uninit var" warning.
706 2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
708 * sem_attr.ads Add new table Universal_Type_Attribute.
709 * sem_util.adb (Yields_Universal_Type): Use a table lookup when
712 2016-04-20 Ed Schonberg <schonberg@adacore.com>
714 * exp_aggr.adb (Init_Stored_Discriminants,
715 Init_Visible_Discriminants): New procedures, subsidiary of
716 Build_Record_Aggr_Code, to handle properly the construction
717 of aggregates for a derived type that constrains some parent
718 discriminants and renames others.
720 2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
722 * sem_ch12.adb (Qualify_Universal_Operands): New routine.
723 (Save_References_In_Operator): Add explicit qualifications in
724 the generic template for all operands of universal type.
725 * sem_type.adb (Disambiguate): Update the call to Matches.
726 (Matches): Reimplemented.
727 * sem_util.ads, sem_util.adb (Yields_Universal_Type): New routine.
729 2016-04-20 Ed Schonberg <schonberg@adacore.com>
731 * sem_ch13.adb (Rep_Item_Too_Late): Better error message for
732 an illegal aspect that freezes the entity to which it applies.
734 2016-04-20 Bob Duff <duff@adacore.com>
736 * a-stwibo.ads, a-stzbou.ads
737 ("="): Add overriding keyword before function to avoid crash when
738 compiler is called with -gnatyO (check overriding indicators).
740 2016-04-20 Ed Schonberg <schonberg@adacore.com>
742 * sem_prag.adb (Analyze_Pragma, case Check_Policy): If this
743 is a configuration pragma and it uses the ARG syntax, insert
744 the rewritten pragma after the current one rather than using
747 2016-04-20 Arnaud Charlet <charlet@adacore.com>
749 * exp_aggr.adb (Backend_Processing_Possible): Add handling of
752 2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
754 * s-imgllu.adb, sem_util.adb, s-imgint.adb, s-imguns.adb,
755 s-imglli.adb: Minor reformatting.
757 2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
759 * sem_res.adb (Rewrite_Renamed_Operator): Do not rewrite the
760 renamed operator when the associated node appears within a
762 * sem_util.ads, sem_util.adb (In_Pre_Post_Condition): New routine.
764 2016-04-20 Yannick Moy <moy@adacore.com>
766 * osint.adb (Relocate_Path): Fix test when Path is shorter than Prefix.
767 * einfo.adb (Set_Overridden_Operation): Add assertion.
768 * sem_util.adb (Unique_Entity): for renaming-as-body return the spec
771 2016-04-20 Javier Miranda <miranda@adacore.com>
773 * exp_unst.adb (Append_Unique_Call): New subprogram.
774 (Unnest_Subprogram): Replace the unique occurrence
775 of Call.Append() by Append_Unique_Call() which protects us from
776 adding to the Calls table duplicated entries.
778 2016-04-20 Arnaud Charlet <charlet@adacore.com>
780 * exp_attr.adb (Is_GCC_Target): Fix for C backend.
781 * xref_lib.ads (Dependencies_Tables): instantiate
782 Table package with types that guarantee its safe use.
783 * s-imgllu.adb, s-imgint.adb, s-imguns.adb, s-imglli.adb: Avoid nested
786 2016-04-20 Arnaud Charlet <charlet@adacore.com>
788 * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]):
789 Disable expansion when generating C code.
790 * sinfo.ads, inline.ads: Minor editing.
792 2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
794 * sem_util.adb, contracts.adb, ghost.adb, exp_ch6.adb: Minor
797 2016-04-20 Javier Miranda <miranda@adacore.com>
799 * contracts.adb (Build_Postconditions_Procedure): Code cleanup.
800 * ghost.adb (Os_OK_Ghost_Context.Is_OK_Declaration): Handle the
801 declaration of the internally built _postcondition procedure.
803 2016-04-20 Arnaud Charlet <charlet@adacore.com>
805 * snames.ads-tmpl (Internal_Attribute_Id, Attribute_Class_Array): Fix
807 * sem_util.adb (Is_Unchecked_Conversion_Instance):
808 defense against library-level renamings of other functions,
809 which are never instances of Unchecked_Conversion.
810 * einfo.ads: minor fix of casing in comment
812 2016-04-20 Ed Schonberg <schonberg@adacore.com>
814 * exp_ch6.adb (Expand_N_Subprogram_Stub): Do not expand a body
815 that has been analyzed and expanded already. Qualify the names
816 in the proper body for use in the generation of C code.
818 2016-04-20 Javier Miranda <miranda@adacore.com>
820 * contracts.adb (Build_Postconditions_Procedure): Force its
821 inlining when generating C code.
822 * sem_attr.adb (Analyze_Attribute_Old_Result): Handle inlined
823 _postconditions when generating C code.
824 * exp_ch6.adb (Inlined_Subprogram): Inline calls to
825 _postconditions when generating C code.
826 * sinfo.ads, sinfo.adb (Corresponding_Spec, Set_Corresponding_Spec):
827 types of return value and argument changed from Node_Id to
830 2016-04-20 Vincent Celier <celier@adacore.com>
832 * make.adb, clean.adb, gnatname.adb: Revert previous change for now.
834 2016-04-20 Eric Botcazou <ebotcazou@adacore.com>
836 * sem_ch12.adb (Analyze_Instance_And_Renamings): Do not reset
837 the Has_Delayed_Freeze flag on the anonymous instance node.
839 2016-04-20 Javier Miranda <miranda@adacore.com>
841 * sem_ch5.adb (Analyze_Iterator_Specification): Remove transient
842 scope associated with the renaming object declaration.
843 * exp_util.adb (Insert_Actions): Remove handling of iterator
844 loop marked as requiring the secondary stack.
846 2016-04-20 Ed Schonberg <schonberg@adacore.com>
848 * sem_attr.adb (Analyze_Attribute, case 'Image): Implement
849 AI12-0124, which extends the functionality of the attribute so it
850 reflects the semantics of GNAT 'Img when applied to scalar types.
851 * lib-xref.adb: minor whitespace layout fix.
853 2016-04-20 Vincent Celier <celier@adacore.com>
855 * clean.adb (Gnatclean): Fail if project file specified and
856 gprclean is not available.
857 * gnatname.adb: Fail is -P is used and gprname is not available.
858 * make.adb (Initialize): Fail if project file specified and
859 gprbuild is not available.
861 2016-04-20 Bob Duff <duff@adacore.com>
863 * sem_ch5.adb (Analyze_Iterator_Specification): Do not use secondary
866 2016-04-20 Gary Dismukes <dismukes@adacore.com>
868 * par_sco.adb, sem_util.adb, sem_ch13.adb: Minor typo corrections and
871 2016-04-20 Ed Schonberg <schonberg@adacore.com>
873 * sem_prag.adb (Analyze_Pragma, case Default_Storage_Pool):
874 If the pragma comes from an aspect specification, verify that
875 the aspect applies to an entity with a declarative part.
876 * exp_ch5.adb: Code cleanup.
878 2016-04-20 Ed Schonberg <schonberg@adacore.com>
880 * sem_res.adb (Resolve_If_Expression): If first expression is
881 universal, resolve subsequent ones with the corresponding class
882 type (Any_Integer or Any_Real).
884 2016-04-20 Ed Schonberg <schonberg@adacore.com>
886 * sem_ch5.adb (Analyze_Iterator_Specification): If expansion is
887 disabled, complete the analysis of the iterator name to ensure
888 that reference for entities within are properly generated.
890 2016-04-20 Arnaud Charlet <charlet@adacore.com>
892 * a-dispat.ads (Yield): add Global contract.
893 * a-calend.ads, a-reatim.ads: Added Initializes => Clock_Time.
894 * a-taside.adb: Added Initializes => Tasking_State.
896 2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
898 * sem_ch13.adb (Build_Invariant_Procedure):
899 Reimplement the invariant procedure spec and body insertion.
901 2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
903 * sem_ch13.adb (Add_Invariant): Do not replace
904 the saved expression of an invariatn aspect when inheriting
905 a class-wide type invariant as this clobbers the existing
906 expression. Do not use New_Copy_List as it is unnecessary
907 and leaves the parent pointers referencing the wrong part of
908 the tree. Do not replace the type references for ASIS when
909 inheriting a class-wide type invariant as this clobbers the
910 existing replacement.
912 2016-04-20 Ed Schonberg <schonberg@adacore.com>
914 * sem_util.adb (Build_Explicit_Dereference): If the designated
915 expression is an entity name, generate reference to the entity
916 because it will not be resolved again.
918 2016-04-19 Arnaud Charlet <charlet@adacore.com>
920 * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
921 gnat_rm.texi: Update documentation.
923 2016-04-19 Olivier Hainque <hainque@adacore.com>
925 * par_sco.adb (Traverse_One, case N_Case_Statement):
926 Skip pragmas before the first alternative.
927 (Traverse_Handled_Statement_Sequence, Exception_Handlers): Likewise.
929 2016-04-19 Tristan Gingold <gingold@adacore.com>
931 * adaint.c (__gnat_lwp_self): New function (for darwin).
932 * s-osinte-darwin.ads, s-osinte-darwin.adb (lwp_self): Import
935 2016-04-19 Olivier Hainque <hainque@adacore.com>
937 * sem_util.adb (Build_Elaboration_Entity): Always request an
938 elab counter when preserving control-flow.
940 2016-04-19 Olivier Hainque <hainque@adacore.com>
942 * sem_ch13.adb (Build_Invariant_Procedure_Declaration): Set
943 Needs_Debug_Info when producing SCOs.
944 * par_sco.adb (Traverse_Aspects): Fix categorization of
945 Type_Invariant to match actual processing as activated depending
946 on pragma Assertion_Policy.
947 * sem_prag.adb (Analyze_Pragma): Remove special case for
948 Name_Invariant regarding SCO generation, which completely disabled
949 the production of SCOs for Invariant pragmas and aspects.
951 2016-04-19 Hristian Kirtchev <kirtchev@adacore.com>
953 * checks.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
956 2016-04-19 Ed Schonberg <schonberg@adacore.com>
958 * freeze.adb (Freeze_Profile): Refine predicate that checks
959 whether a function that returns a limited view is declared in
960 another unit and cannot be frozen at this point.
962 2016-04-19 Ed Schonberg <schonberg@adacore.com>
964 * exp_aggr.adb (Component_Count): Handle properly superflat
965 arrays, i.e. empty arrays where Hi < Lo - 1, to ensure that the
966 return value of the function is Natural, rather than leaving
967 the handling of such arrays to the caller of this function.
969 2016-04-19 Arnaud Charlet <charlet@adacore.com>
971 * sem_prag.adb, sem_attr.adb, par-prag.adb, exp_aggr.adb, sem_type.adb
972 sem_ch12.adb, sem_ch3.adb, exp_ch7.adb, exp_ch9.adb: Code cleanup.
973 * sem_res.adb, sem_util.ads, sem_util.adb (Is_OK_Volatile_Context):
974 Promoted from being a nested subprogram in Sem_Res.Resolve_Entity_Name
975 to publicly visible routine in Sem_Util.
977 2016-04-19 Ed Schonberg <schonberg@adacore.com>
979 * checks.adb (Apply_Parameter_Aliasing_Checks): Do not apply
980 the check if the type of the actual is By_Reference.
982 2016-04-19 Arnaud Charlet <charlet@adacore.com>
984 * sem_res.adb (Within_Subprogram_Call): Detect
985 also nodes that appear in entry calls.
986 (Resolve_Actuals, Insert_Default): Propagate
987 dimension information if any, from default expression to the
988 copy that appears in the list of actuals.
989 * uintp.ads: minor whitespace fix in comment.
990 * sem_prag.adb, stringt.adb, inline.adb, lib-xref-spark_specific.adb:
992 * set_targ.adb (Set_Targ): convert directly from
993 Natural to Pos, without intermediate conversion to Int.
995 2016-04-19 Arnaud Charlet <charlet@adacore.com>
997 * sem_ch6.adb (Process_Formals): Mark suspicious reference to
999 * sem_prag.adb (Analyze_Global_Item): Fix reference to SPARK RM
1001 * sem_res.adb (Property_Error, Resolve_Actuals): Fix reference
1002 to SPARK RM in both comment and error message.
1004 2016-04-19 Eric Botcazou <ebotcazou@adacore.com>
1006 * sem_ch6.adb (Possible_Freeze): If the type is an incomplete
1007 CW type, then the subprogram must have a delayed freeze. This
1008 ensures that the backend can properly recover the full view when
1009 elaborating the access subprogram declaration.
1011 2016-04-19 Ed Schonberg <schonberg@adacore.com>
1013 * sem_attr.adb (Resolve_Attribute, case 'Access): Freeze
1014 overloadable entity if originally overloaded.
1016 2016-04-19 Arnaud Charlet <charlet@adacore.com>
1018 * exp_aggr.adb, exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_code.adb,
1019 exp_fixd.adb, namet.adb, osint.adb, osint.ads, par-ch2.adb,
1020 sem_ch10.adb, sem_ch12.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb
1021 sem_util.adb, styleg.adb, styleg.ads, stylesw.ads: Minor code
1024 2016-04-19 Arnaud Charlet <charlet@adacore.com>
1026 * sem_util.adb (Copy_Node_With_Replacement):
1027 use Set_Comes_From_Source instead of directly manipulating
1028 internals of the node table.
1029 * sem_util.adb (Within_Scope): refactored to remove duplicated code.
1030 * sem_aux.adb (Get_Rep_Pragma,
1031 Subprogram_Body_Entity, Subprogram_Spec): declare variables that
1032 do not change as constants and initialize them in the declaration.
1033 (Get_Rep_Pragma, Subprogram_Body_Entity, Subprogram_Spec): declare
1034 variables that do not change as constants and initialize them
1037 2016-04-19 Ed Schonberg <schonberg@adacore.com>
1039 * sem_res.adb (Resolve_Entry_Call): If the entry has
1040 preconditions it is rewritten by means of a wrapper that
1041 incorporates the original call. Before rewriting generate a
1042 reference to the entry being called to prevent spurious warnings
1043 and provide correct cross-reference information.
1045 2016-04-19 Hristian Kirtchev <kirtchev@adacore.com>
1047 * sem_disp.adb (Check_Dispatching_Context): Code cleanup. Add
1048 local constant Scop. Ignore any internally generated loops when
1049 performing the check concerning an abstract subprogram call
1050 without a controlling argument.
1051 * sem_util.ads, sem_util.adb (Current_Scope_No_Loops): New routine.
1053 2016-04-19 Bob Duff <duff@adacore.com>
1055 * sem_elab.adb (Check_A_Call): There are cases where we have No
1056 (Ent) after the Alias loop, even when there was no previous error,
1057 so we can't assert that there was an error.
1059 2016-04-19 Ed Schonberg <schonberg@adacore.com>
1061 * sem_attr.adb (Analyze_Access_Attribute, OK_Self_Reference):
1062 Reject use of type name as a prefix to 'access within an aggregate
1063 in a context that is not the declarative region of a type.
1065 2016-04-19 Vincent Celier <celier@adacore.com>
1067 * gnatcmd.adb: Make "gnat ls -P" invoke gprls Make "gnat bind
1068 -P" invoke "gprbuild -b" Make "gnat link -P" invoke "gprbuild
1069 -l" Fail if the invocation is "gnat find -P" or "gnat xref -P"
1070 Remove anything related to project files
1071 * g-mbdira.adb: minor whitespace cleanup
1072 * g-spipat.adb: minor removal of extra spaces after closing paren
1074 2016-04-19 Ed Schonberg <schonberg@adacore.com>
1076 * exp_ch6.adb (Expand_Actuals): If post-statements are present
1077 and the enclosing context is a function call or indexing, build
1078 an Expression_With_Actions for the call.
1080 2016-04-19 Hristian Kirtchev <kirtchev@adacore.com>
1082 * lib-writ.adb (Write_With_Lines): Code cleanup. Do not generate
1083 a with line for an ignored Ghost unit.
1084 * sem_ch7.adb (Analyze_Package_Declaration): Add local constant
1085 Par. A child package is Ghost when its parent is Ghost.
1086 * sem_prag.adb (Analyze_Pragma): Pragma Ghost can now apply to
1087 a subprogram declaration that acts as a compilation unit.
1089 2016-04-18 Michael Matz <matz@suse.de>
1091 * gcc-interface/decl.c (gnat_to_gnu_entity): Use SET_TYPE_ALIGN.
1092 (gnat_to_gnu_field): Ditto.
1093 (components_to_record): Ditto.
1094 (create_variant_part_from): Ditto.
1095 (copy_and_substitute_in_size): Ditto.
1096 (substitute_in_type): Ditto.
1097 * gcc-interface/utils.c (make_aligning_type): Use SET_TYPE_ALIGN.
1098 (make_packable_type): Ditto.
1099 (maybe_pad_type): Ditto.
1100 (finish_fat_pointer_type): Ditto.
1101 (finish_record_type): Ditto and use SET_DECL_ALIGN.
1102 (rest_of_record_type_compilation): Use SET_TYPE_ALIGN.
1103 (create_field_decl): Use SET_DECL_ALIGN.
1105 2016-04-18 Arnaud Charlet <charlet@adacore.com>
1107 * einfo.adb (Overridden_Operation): assert that
1108 function is called for valid arguments.
1109 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_type.adb,
1110 s-osinte-vxworks.ads, a-ngcefu.adb, sem_ch10.adb, einfo.ads,
1111 sem_prag.adb, sem_ch12.adb, sem.adb, i-cobol.ads, freeze.adb,
1112 sem_util.adb, a-chtgop.ads, s-rannum.adb, exp_ch6.adb, s-bignum.adb,
1113 s-osinte-freebsd.ads, par-ch5.adb, a-chtgbo.ads, a-cofove.adb:
1114 No space after closing parenthesis except where required for
1116 * sem_res.adb: Minor reformatting.
1118 2016-04-18 Arnaud Charlet <charlet@adacore.com>
1120 * exp_ch4.adb (Expand_N_Case_Expression): Convert into a case
1121 statement when relevant.
1123 2016-04-18 Bob Duff <duff@adacore.com>
1125 * a-cuprqu.adb (Enqueue): Properly handle the
1126 case where the new element has a unique priority.
1128 2016-04-18 Tristan Gingold <gingold@adacore.com>
1130 * adaint.h: Define stat structures and functions for iOS
1133 2016-04-18 Arnaud Charlet <charlet@adacore.com>
1135 * sem_res.adb (Resolve_Entry_Call): reset
1136 Is_Overloaded flag after resolving calls to overloaded protected
1138 * exp_spark.adb (Expand_SPARK): call
1139 Qualify_Entity_Names for tasking nodes, i.e. protected types,
1140 task types and entries.
1141 * exp_ch4.adb (Expand_N_If_Expression): Refine previous change
1142 in case of an unconstrained type.
1144 2016-04-18 Yannick Moy <moy@adacore.com>
1146 * sem_eval.adb, sem_eval.ads (Check_Non_Static_Context): Add
1147 comment to document usage of subprogram in GNATprove.
1149 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1151 * sem_prag.adb (Analyze_Pragma, case Test_Case): Improve error
1152 message for wrong placement of aspect Test_Case.
1154 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1156 * einfo.ads: Update the documentation of attribute Renamed_Object.
1157 * exp_spark.adb (Expand_Potential_Renaming): Reimplemented.
1159 2016-04-18 Gary Dismukes <dismukes@adacore.com>
1161 * exp_ch4.adb (Optimize_Length_Comparison): Return immediately
1162 in the case of AAMP (same as for use of the -gnatd.P switch) to
1163 suppress this optimization, which avoids creating a dependence
1164 on the 64-bit arithmetic package.
1166 2016-04-18 Arnaud Charlet <charlet@adacore.com>
1168 * exp_ch4.adb: Update comment.
1170 2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
1172 * exp_ch6.adb (Expand_Call): Make sure instantiations are
1173 registered only once as pending here.
1175 2016-04-18 Arnaud Charlet <charlet@adacore.com>
1177 * exp_ch4.adb, gnat1drv.adb, opt.ads, sem_res.adb
1178 (Minimize_Expression_With_Actions): New flag.
1179 (Adjust_Global_Switches): Set Minimize_Expression_With_Actions
1181 (Resolve_Short_Circuit): Redo previous change
1182 using Minimize_Expression_With_Actions.
1183 (Expand_N_If_Expression,
1184 Expand_Short_Circuit_Operator): Restore old code to avoid
1185 Expression_With_Actions when Minimize_Expression_With_Actions
1188 2016-04-18 Vincent Celier <celier@adacore.com>
1190 * s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File and
1191 Stderr_File): Close local file descriptors when no longer needed.
1193 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1195 * sem_ch5.adb (Analyze_Iterator_Specification): Remove SPARK
1196 mode check that the type of the cursor in an iteration over
1197 a formal container is not volatile. The proper check on the
1198 element type is done elsewhere.
1200 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1202 * sem_ch6.adb (Process_Formals): Do not set a delay freeze on
1203 a subprogram that returns a class-wide type, if the subprogram
1204 is a compilation unit, because otherwise gigi will treat the
1205 subprogram as external, leading to link errors.
1207 2016-04-18 Arnaud Charlet <charlet@adacore.com>
1209 * sem_res.adb (Resolve_Short_Circuit): Do not use
1210 expression-with-actions when generating C.
1212 2016-04-18 Yannick Moy <moy@adacore.com>
1214 * sem_util.adb (Apply_Compile_Time_Constraint_Error): Do not generate
1215 raise node in GNATprove mode.
1217 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1219 * s-fileio.adb: Minor reformatting.
1220 * sem_prag.adb (Analyze_Input_Item): Add local
1221 variable Input_OK. Do not consider mappings of generic formal
1222 parameters to actuals.
1224 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1226 * sem_ch5.adb (Get_Cursor_Type): If iterator type is a derived
1227 type, the cursor is declared in the scope of the parent type.
1228 (Analyze_Parameter_Specification): A qualified expression with an
1229 iterator type indicates an iteration over a container (explicit
1232 2016-04-18 Arnaud Charlet <charlet@adacore.com>
1234 * osint-c.ads, osint-c.adb (Delete_C_File, Delete_H_File): New.
1235 * gnat1drv.adb (Gnat1drv): Delete old C files before regenerating them.
1236 * debug.adb: Reserve -gnatd.4 to force generation of C files.
1238 2016-04-18 Yannick Moy <moy@adacore.com>
1240 * sem_eval.adb (Eval_Arithmetic_Op): Do not issue error on static
1241 division by zero, instead possibly issue a warning.
1242 * sem_res.adb (Resolve_Arithmetic_Op): Do not issue error on
1243 static division by zero, instead add check flag on original
1245 * sem_util.adb, sem_util.ads (Compile_Time_Constraint_Error):
1246 Only issue error when both SPARK_Mode is On and Warn is False.
1248 2016-04-18 Yannick Moy <moy@adacore.com>
1250 * checks.adb (Apply_Scalar_Range_Check): Force
1251 warning instead of error when SPARK_Mode is On, on index out of
1252 bounds, and set check flag for GNATprove.
1254 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1256 * sem_prag.adb (Check_In_Out_States.Check_Constituent_Usage):
1257 Update the comment on usage. Reimplemented.
1258 (Check_Input_States.Check_Constituent_Usage): Update the comment
1259 on usage. A Proof_In constituent can now refine an Input state
1260 as long as there is at least one Input constituent present.
1262 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1264 * sem_ch6.adb (Check_Inline_Pragma): Use the Sloc of the
1265 body id as the sloc of the entity in the generated subprogram
1266 declaration, to avoid spurious conformance errors when style
1269 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1271 * sem_ch4.adb (Analyze_Selected_Component, Has_Dereference):
1272 Refine check on illegal calls to entities within a task body,
1273 when the entity is declared in an object of the same type. In
1274 a generic context there might be no explicit dereference but if
1275 the prefix includes an access type the construct is legal.
1277 2016-04-18 Arnaud Charlet <charlet@adacore.com>
1279 * rtsfind.ads, rtsfind.adb (RE_Id, RE_Unit_Table): add
1280 RE_Default_Priority.
1282 2016-04-18 Bob Duff <duff@adacore.com>
1284 * sem_prag.adb (Check_Arg_Is_Local_Name): Don't do the check
1285 if the pragma came from an aspect specification.
1287 2016-04-18 Gary Dismukes <dismukes@adacore.com>
1289 * gnat1drv.adb, contracts.adb: Minor reformatting and wording fixes.
1291 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1293 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): To suppress
1294 superfluous conformance check on an inlined body with a previous
1295 spec, use the fact that the generated declaration does not come
1296 from source. We must treat the entity as coming from source to
1297 enable some back-end inlining when pragma appears after the body.
1299 2016-04-18 Gary Dismukes <dismukes@adacore.com>
1301 * lib-xref-spark_specific.adb, par-ch2.adb, errout.ads,
1302 exp_intr.adb: Minor reformatting and typo corrections.
1304 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1306 * sem_ch6.adb: Code cleanup.
1308 2016-04-18 Thomas Quinot <quinot@adacore.com>
1310 * sem_ch13.adb: Minor reformatting and error message tweaking
1311 (remove extraneous spaces).
1313 2016-04-18 Johannes Kanig <kanig@adacore.com>
1315 * gnat1drv.adb (Gnat1drv): Force loading of System unit for SPARK.
1317 2016-04-18 Bob Duff <duff@adacore.com>
1319 * s-fileio.adb (Fopen_Mode): If Mode = Out_File, and the file
1320 exists, and it's a fifo, we use "w" as the open string instead of
1321 "r+". This is necessary to make a write to the fifo block until
1324 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1326 * sem_attr.adb (Denote_Same_Function): Account
1327 for a special case where a primitive of a tagged type inherits
1328 a class-wide postcondition from a parent type.
1330 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1332 * par-ch2.adb (P_Expression_Or_Reserved_Word): New routine.
1333 (P_Pragma): Signal Scan_Pragma_Argument_Association when the use
1334 of reserved words is OK.
1335 (Scan_Pragma_Argument_Association):
1336 Add new formal Reserved_Words_OK and update the comment on
1337 usage. Code cleanup. Parse an expression or a reserved word in
1338 identifier form for pragmas Restriction_Warnings and Restrictions
1339 No_Use_Of_Attribute.
1340 * restrict.adb (Check_Restriction_No_Use_Of_Attribute):
1341 Reimplemented. (Check_Restriction_No_Use_Of_Pragma): Code cleanup.
1342 (Set_Restriction_No_Specification_Of_Aspect): Properly set the warning
1344 (Set_Restriction_No_Use_Of_Attribute): Properly set the warning
1345 flag for an attribute. (Set_Restriction_No_Use_Of_Entity):
1346 Update the parameter profile.
1347 (Set_Restriction_No_Use_Of_Pragma): Properly set the warning flag for
1349 * restrict.ads (Check_Restriction_No_Use_Of_Attribute): Update
1350 the comment on usage.
1351 (Set_Restriction_No_Use_Of_Entity): Update the parameter profile.
1352 * sem_attr.adb (Analyze_Attribute): Check restriction
1353 No_Use_Of_Attribute.
1354 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
1355 restriction No_Use_Of_Attribute before any rewritings have
1357 * sem_prag.adb (Analyze_Pragma): Check restriction
1358 No_Use_Of_Pragma before any rewritings have taken place.
1360 2016-04-18 Bob Duff <duff@adacore.com>
1362 * sem_ch6.adb (Is_Inline_Pragma): The pragma
1363 argument can be a selected component, which has no Chars field,
1364 so we need to deal with that case (use the Selector_Name).
1365 (Check_Inline_Pragma): We need to test Is_List_Member before
1366 calling In_Same_List, because in case of a library unit, they're
1367 not in lists, so In_Same_List fails an assertion.
1369 2016-04-18 Bob Duff <duff@adacore.com>
1371 * namet.ads, namet.adb: Add an Append that appends a
1372 Bounded_String onto a Bounded_String. Probably a little more
1373 efficient than "Append(X, +Y);". Also minor cleanup.
1374 (Append_Decoded, Append_Decoded_With_Brackets, Append_Unqualified,
1375 Append_Unqualified_Decoded): Make sure these work with non-empty
1377 * casing.ads, casing.adb (Set_Casing): Pass a Bounded_String
1378 parameter, defaulting to Global_Name_Buffer.
1379 * errout.ads, errout.adb (Adjust_Name_Case): Pass a
1380 Bounded_String parameter, no default.
1381 * exp_ch11.adb (Expand_N_Raise_Statement): Use local
1382 Bounded_String instead of Global_Name_Buffer.
1383 * exp_intr.ads, exp_intr.adb (Write_Entity_Name): Rename it
1384 to Append_Entity_Name, and pass a Bounded_String parameter,
1385 instead of using globals.
1386 (Add_Source_Info): Pass a Bounded_String parameter, instead of
1388 (Expand_Source_Info): Use local instead of globals.
1389 * stringt.ads, stringt.adb (Append): Add an Append procedure
1390 for appending a String_Id onto a Bounded_String.
1391 (String_To_Name_Buffer, Add_String_To_Name_Buffer): Rewrite in
1393 * sem_prag.adb (Set_Error_Msg_To_Profile_Name): Adjust for new
1394 Adjust_Name_Case parameter.
1395 * erroutc.adb, uname.adb: Don't pass D => Mixed_Case to
1396 Set_Casing; that's the default.
1397 * lib-xref-spark_specific.adb (Add_SPARK_Scope): Pretend that calls to
1398 protected subprograms are entry calls; otherwise it is not possible to
1399 distinguish them from regular subprogram calls.
1401 2016-04-18 Gary Dismukes <dismukes@adacore.com>
1403 * sem_ch13.adb (Has_Good_Profile): Improvement
1404 of error message. Now indicates subtype_mark of formal parameter
1405 rather than the formal's name, plus minor rewording.
1407 2016-04-18 Pascal Obry <obry@adacore.com>
1409 * adaint.c, adaint.h, s-os_lib.ads: Add new routine Current_Process_Id.
1411 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1413 * stringt.adb, exp_ch6.adb, sem_ch13.adb: Minor reformatting.
1415 2016-04-18 Gary Dismukes <dismukes@adacore.com>
1417 * par-ch4.adb, sem_prag.adb: Minor reformatting.
1419 2016-04-18 Bob Duff <duff@adacore.com>
1421 * sinput.ads, sinput.adb (Build_Location_String): Take a
1422 parameter instead of using a global variable. The function
1423 version no longer destroys the Name_Buffer.
1424 * stringt.ads, stringt.adb (String_From_Name_Buffer): Take a
1425 parameter, which defaults to the Global_Name_Buffer, so some
1426 calls can avoid the global.
1427 * exp_ch11.adb, exp_intr.adb: Use new interfaces above
1428 to avoid using globals. All but one call to Build_Location_String
1429 avoids the global. Only one call to String_From_Name_Buffer
1432 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1434 * namet.adb, namet.ads, exp_unst.adb: Minor reformatting.
1436 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1438 * sem_eval.adb (Choice_Matches): Check the expression
1439 against the predicate values when the choice denotes a
1440 subtype with a static predicate.
1441 (Eval_Membership_Op): Code cleanup. Remove the suspicious guard which
1442 tests for predicates.
1443 (Is_OK_Static_Subtype): A subtype with a dynamic predicate
1444 is not static. (Is_Static_Subtype): A subtype with a dynamic
1445 predicate is not static.
1446 * sem_eval.ads (Is_OK_Static_Subtype): Update the comment on usage.
1447 (Is_Static_Subtype): Update the comment on usage.
1449 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1451 * sem_prag.adb (Analyze_Input_Item): Allow
1452 generic formals to appear as initialization items.
1454 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1456 * sem_ch13.adb (Analyze_Stream_TSS_Definition,
1457 Has_Good_Profile): Additional error message to indicate that
1458 the second parameter of the subprogram must be a first subtype.
1460 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1462 * sem_ch6.adb (Analyze_Subprogram_Body_Helper, Is_Inline_Pragma):
1463 Use the pragma lookahead that determines whether a subprogram
1464 is to be inlined, when some level of backend optimization is
1466 * sem_ch12.ads, sem_ch12.adb (Add_Pending_Instantiation): Factorize
1467 code used to create an instance body when needed for inlining.
1468 * exp_ch6.adb (Expand_Call): When a call is to be inlined, and the
1469 call appears within an instantiation that is not a compilation
1470 unit, add a pending instantiation for the enclosing instance,
1471 so the backend can inline in turn the calls contained in the
1474 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1476 * sem_prag.adb (Build_Pragma_Check_Equivalent): The mapping
1477 that relates operations of the parent type to the operations of
1478 the derived type has three distinct sources:
1479 a) explicit operations of the derived type carry an
1480 Overridden_Operation that designates the operation in the
1482 b) Implicit operations that are inherited by the derived type
1483 carry an alias that may be an explicit subprogram (in which case
1484 it may have an Overridden_ Operation indicator) or may also be
1485 inherited and carry its own alias.
1486 c) If the parent type is an interface, the operation of the
1487 derived type does not override, but the interface operation
1488 indicates the operation that implements it.
1489 * sem_prag.adb: Minor reformatting.
1490 * sem_prag.adb (Check_External_Property): Update
1491 the comment on usage. Reimplement.
1493 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1495 * exp_ch5.adb (Expand_Assignment_Statement): In restricted
1496 profiles such as ZFP, ceiling priority is not available.
1498 2016-04-18 Bob Duff <duff@adacore.com>
1500 * namet-sp.ads: Minor typo fix, ironically in 'Spelling_Checker'.
1502 2016-04-18 Bob Duff <duff@adacore.com>
1504 * sem_elab.adb (Output_Calls): Use
1505 Get_Name_String, to clearly indicate that the global Name_Buffer
1506 is being used. The previous code used Is_Internal_Name, which
1507 returns a Boolean, but also has a side effect of setting the
1508 Name_Buffer. Then it called the other Is_Internal_Name, which uses
1509 the Name_Buffer for its input. And then it called Error_Msg_N,
1510 again using the Name_Buffer. We haven't eliminated the global
1511 usage here, but we've made it a bit clearer.
1512 This also allows us to have a side-effect-free version of
1514 * namet.ads, namet.adb: Provide a type Bounded_String, along with
1515 routines that can be used without using global variables. Provide
1516 Global_Name_Buffer so existing code can continue to use the
1517 global. Mark the routines that use globals as obsolete. New code
1518 shouldn't call the obsolete ones, and we should clean up existing
1519 code from time to time.
1520 Name_Find_Str is renamed as Name_Find.
1521 * namet.h: Changed as necessary to interface to the new version
1523 * bindgen.adb, exp_unst.adb: Name_Find_Str is renamed as
1526 2016-04-18 Yannick Moy <moy@adacore.com>
1528 * sem_util.adb, sem_util.ads (Has_Full_Default_Initialization): used
1529 outside of GNATprove, hence it should not be removed.
1531 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1533 * sem_prag.adb (Analyze_Refinement_Clause):
1534 The refinement of an external abstract state can now mention
1535 non-external constituents.
1536 (Check_External_Property): Update all SPARK RM references.
1538 2016-04-18 Bob Duff <duff@adacore.com>
1540 * exp_intr.adb: Remove some duplicated code.
1542 2016-04-18 Yannick Moy <moy@adacore.com>
1544 * a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads: Mark
1545 package spec and body out of SPARK.
1547 2016-04-18 Johannes Kanig <kanig@adacore.com>
1549 * spark_xrefs.ads: Minor comment update.
1551 2016-04-18 Johannes Kanig <kanig@adacore.com>
1553 * gnat1drv.adb (Gnat1drv): Force loading of System
1556 2016-04-18 Bob Duff <duff@adacore.com>
1558 * a-cuprqu.adb: Correction to previous change. If a new node
1559 is inserted at the front of the queue (because it is higher
1560 priority than the previous front node), we need to update
1561 Header.Next_Unequal -- not just in the case where the queue was
1564 2016-04-18 Bob Duff <duff@adacore.com>
1566 * a-cuprqu.ads: Change the representation of List_Type from a
1567 singly-linked list to a doubly-linked list. In addition, add a
1568 pointer Next_Unequal, which points past a possibly-long chain
1569 of equal-priority items. This increases efficiency, especially
1570 in the case of many equal-priority items.
1571 * a-cuprqu.adb (Dequeue, Enqueue): Rewrite algorithms to take
1572 advantage of new data structure.
1573 (Finalize): Rewrite in terms of Dequeue, for simplicity.
1575 2016-04-18 Yannick Moy <moy@adacore.com>
1577 * contracts.adb (Analyze_Object_Contract,
1578 Analyze_Protected_Contract): Remove tests performed in GNATprove.
1579 * sem_util.adb, sem_util.ads (Has_Full_Default_Initialization):
1580 Remove query for tests performed in GNATprove.
1582 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1584 * sem_aggr.adb (Resolve_Record_Aggregate): If
1585 Warn_On_Redundant_Constructs is enabled, report a redundant box
1586 association that does not cover any components, as it done for
1587 redundant others associations in case statements.
1589 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1591 * sem_prag.adb (Collect_Inherited_Class_Wide_Conditions):
1592 Analyze the generated Check pragma for an inherited condition so
1593 that it does not freeze the dispatching type of the primitive
1594 operation, because it is pre-analyzed at the point of the
1595 subprogram declaration (and not in the subprogram body, as is
1596 done during regular expansion).
1598 2016-04-18 Vincent Celier <celier@adacore.com>
1600 * ali.ads: Increase the range of all _Id types to 100 millions.
1602 2016-04-18 Gary Dismukes <dismukes@adacore.com>
1604 * sem_warn.adb (Check_References): Change warning to suggest
1605 using pragma Export rather than saying "volatile has no effect".
1607 2016-04-18 Bob Duff <duff@adacore.com>
1609 * g-souinf.ads (Compilation_ISO_Date): New function to return
1610 the current date in ISO form.
1611 * exp_intr.adb (Expand_Source_Info, Add_Source_Info): Expand
1612 a call to Compilation_ISO_Date into a string literal containing
1613 the current date in ISO form.
1614 * exp_intr.ads (Add_Source_Info): Improve documentation.
1615 * sem_intr.adb (Check_Intrinsic_Subprogram): Recognize
1616 Compilation_ISO_Date.
1617 * snames.ads-tmpl (Name_Compilation_ISO_Date): New Name_Id.
1619 2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
1621 * layout.adb (Set_Elem_Alignment): Extend setting of alignment
1622 to subtypes that are not first subtypes.
1624 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1626 * sem_prag.ads (Collect_Inherited_Class_Wide_Conditions):
1628 * sem_prag.adb (Collect_Inherited_Class_Wide_Conditions): Insert
1629 generated pragmas after subprogram declaration, rather than in
1630 the corresponding subprogram body.
1631 * sem_ch6.adb (New_Overloaded_Entity): In GNATProve
1632 mode, if the operation is overridding, call
1633 Collect_Inherited_Class_Wide_Conditions to generate the
1634 corresponding pragmas immediately after the corresponding
1635 subprogram declaration.
1637 2016-04-18 Arnaud Charlet <charlet@adacore.com>
1639 * spark_xrefs.ads (Xref_Index, Scope_Index, File_Index): restrict
1640 type to natural numbers.
1641 (Stype): document code characters for concurrent entities.
1643 2016-04-18 Olivier Hainque <hainque@adacore.com>
1645 * targparm.ads: Update the Frontend_Exceptions default internal
1647 (Frontend_Exceptions_On_Target): Change default value to True.
1649 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1651 * sem_ch4.adb (Analyze_Selected_Component): Refine error
1652 detection when a selected component in the body of a synchronized
1653 type is a reference to an object of the same type declared
1654 elsewhere. The construct is legal if the prefix of the selected
1655 component includes an explicit dereference at any point.
1657 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1659 * sem_ch3.adb (Analyze_Object_Declaration): Do not consider
1660 internally generated expressions when trying to determine whether
1661 a formal parameter of a tagged type subject to Extensions_Visible
1662 False is used to initialize an object.
1663 * sem_ch4.adb (Analyze_Type_Conversion): Do not consider
1664 internally generated expressions when trying to determine whether
1665 a formal parameter of a tagged type subject to Extensions_Visible
1666 False is used in a type conversion.
1668 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1670 * sem_res.adb (Is_Protected_Operation_Call):
1671 Add guards to account for a non-decorated selected component.
1673 2016-04-18 Yannick Moy <moy@adacore.com>
1675 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Improve
1676 implementation of Body_Has_SPARK_Mode_On.
1677 * sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_From_Annotation):
1678 New function replacing previous Get_SPARK_Mode_From_Pragma, that
1679 deals also with aspects.
1680 (Get_SPARK_Mode_Type): Make function internal again.
1681 * inline.adb, sem_ch7.adb, sem_util.adb: Use new
1682 Get_SPARK_Mode_From_Annotation.
1684 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1686 * contracts.adb (Analyze_Object_Contract): Update references to
1688 * freeze.adb (Freeze_Entity): Update references to SPARK RM.
1689 * ghost.adb Add with and use clauses for Sem_Disp.
1690 (Check_Ghost_Derivation): Removed.
1691 (Check_Ghost_Overriding):
1692 Reimplemented. (Check_Ghost_Policy): Update references to SPARK RM.
1693 (Check_Ghost_Primitive): New routine.
1694 (Check_Ghost_Refinement): New routine. (Is_OK_Ghost_Context):
1695 Update references to SPARK RM. (Is_OK_Pragma): Update references
1696 to SPARK RM. Predicates are now a valid context for references
1698 * ghost.ads (Check_Ghost_Derivation): Removed.
1699 (Check_Ghost_Overriding): Update the comment on usage.
1700 (Check_Ghost_Primitive): New routine.
1701 (Check_Ghost_Refinement): New routine.
1702 (Remove_Ignored_Ghost_Code): Update references to SPARK RM.
1703 * sem_ch3.adb (Process_Full_View): Remove the now obsolete check
1704 related to Ghost derivations
1705 * sem_ch6.adb (Check_Conformance): Remove now obsolete check
1706 related to the convention-like behavior of pragma Ghost.
1707 (Check_For_Primitive_Subprogram): Verify that the Ghost policy
1708 of a tagged type and its primitive agree.
1709 * sem_prag.adb (Analyze_Pragma): Update references to SPARK
1710 RM. Move the verification of pragma Assertion_Policy Ghost
1711 to the proper place. Remove the now obsolete check related
1712 to Ghost derivations.
1713 (Collect_Constituent): Add a call to Check_Ghost_Refinement.
1714 * sem_res.adb (Resolve_Actuals): Update references to SPARK RM.
1716 2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
1718 * layout.adb: Fix more minor typos in comments.
1720 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1722 * a-calend.ads, sem_prag.adb, sem_ch6.adb: Minor reformatting.
1724 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1726 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): In GNATprove
1727 mode, collect inherited class-wide conditions to generate the
1728 corresponding pragmas.
1729 * sem_prag.ads (Build_Pragma_Check_Equivalent): Moved from contracts
1730 * contracts.adb (Collect_Inherited_Class_Wide_Conditions): New
1731 procedure for overriding subprograms, used to generate the pragmas
1732 corresponding to an inherited class- wide pre- or postcondition.
1733 * sem_prag.adb (Build_Pragma_Check_Equivalent): moved here
1734 from contracts.adb (Replace_Condition_Entities): Subsidiary
1735 Build_Pragma_Check_Equivalent, to implement the proper semantics
1736 of inherited class-wide conditions, as given in AI12-0113.
1737 (Process_Class_Wide_Condition): Removed.
1738 (Collect_Inherited_Class_Wide_Conditions): Iterate over pragmas
1739 in contract of subprogram, to collect inherited class-wide
1741 (Build_Pragma_Check_Equivalent): Moved to sem_prag.adb
1743 2016-04-18 Yannick Moy <moy@adacore.com>
1745 * a-calend.adb (Ada.Calendar): Mark package body as SPARK_Mode Off.
1746 * a-calend.ads (Ada.Calendar): Mark package spec as
1747 SPARK_Mode and add synchronous external abstract state Clock_Time.
1749 2016-04-18 Yannick Moy <moy@adacore.com>
1751 * sem_res.adb (Resolve_Call): Prevent inlining of
1752 calls inside expression functions. Factor previous code issuing
1753 errors to call Cannot_Inline instead, which does appropriate
1754 processing of message for GNATprove.
1756 2016-04-18 Arnaud Charlet <charlet@adacore.com>
1758 * einfo.ads, sem_ch3.adb, sem_ch8.adb, osint-l.adb, rtsfind.adb,
1759 osint-b.adb: Cleanups.
1761 2016-04-18 Yannick Moy <moy@adacore.com>
1763 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Only create
1764 body to inline in GNATprove mode when SPARK_Mode On applies to
1766 * sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_Type): Make function
1769 2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
1771 * layout.adb: Fix minor typo in comment.
1772 * inline.adb: Fix minor pasto.
1773 * sem_ch12.ads: Fix minor typos in comments.
1775 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1777 * sem_disp.adb (Check_Dispatching_Call): Major rewriting to
1778 handle some complex cases of tag indeterminate calls that are
1779 actuals in other dispatching calls that are themselves tag
1781 (Check_Dispatching_Context): Add parameter to support recursive
1782 check for an enclosing construct that may provide a tag for a
1783 tag-indeterminate call.
1785 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1787 * sem_prag.adb (Analyze_Depends_In_Decl_Part):
1788 Add global variables Task_Input_Seen and Task_Output_Seen.
1789 (Analyze_Global_Item): Detect an illegal use of the current
1790 instance of a single protected/task type in a global annotation.
1791 (Analyze_Input_Output): Inputs and output related to the current
1792 instance of a task unit are now tracked.
1793 (Check_Usage): Require
1794 the presence of the current instance of a task unit only when
1795 one input/output is available. (Current_Task_Instance_Seen):
1797 (Is_CCT_Instance): New parameter profile. Update
1798 the comment on usage. The routine now properly recognizes several
1799 cases related to single protected/task types.
1801 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
1803 * freeze.adb (Freeze_Entity): Use New_Freeze_Node
1804 to create a brand new freeze node. This handles a case where an
1805 ignored Ghost context is freezing something which is not ignored
1806 Ghost and whose freeze node should not be removed from the tree.
1807 (New_Freeze_Node): New routine.
1809 2016-04-18 Jerome Lambourg <lambourg@adacore.com>
1811 * sigtramp.h (__gnat_set_is_vxsim) New function to
1812 tell sigtramp-vxworks to handle vxsim signal contexts. *
1813 sigtramp-vxworks.c (__gnat_sigtramp) Take into account the
1814 differences in the sigcontext structure between the expected
1815 regular x86 or x86_64 ones and the ones received in case of
1816 exexution on the vxworks simulator.
1817 * init.c: also compute is_vxsim in case of x86_64-vx7 target. Provide
1818 this information to sigtramp-vxworks.c. Remove the old mechanism for
1820 * init-vxsim.c, sigtramp-vxworks-vxsim.c: remove, now obsolete.
1822 2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
1824 * exp_ch3.adb (Inline_Init_Proc): New function returning
1825 whether the initialization procedure of a type should be
1826 inlined. Return again True for controlled type themselves.
1827 (Build_Array_Init_Proc): Call it to set Set_Is_Inlined on Init_Proc.
1828 (Build_Record_Init_Proc): Likewise.
1830 2016-04-18 Arnaud Charlet <charlet@adacore.com>
1832 * gnatvsn.ads (Library_Version): Bump to 7.
1834 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1836 * sem_ch6.adb (Analyze_Expression_Function): Set Inlined flag
1837 on the entity of a subprogram declaration that is completed by
1838 an expression function.
1840 2016-04-18 Ed Schonberg <schonberg@adacore.com>
1842 * sem_util.adb (Is_Current_Instance): A entity given by a subtype
1843 declaration can appear in an aspect specification for a dynamic
1844 predicate, and a pragma for aspect Predicate_Failure.
1845 * exp_util.adb (Replace_Subtype_References): Replace current
1846 occurrences of the subtype to which a dynamic predicate applies,
1847 byt the expression that triggers a predicate check. Needed to
1848 implement new aspect Predicate_Failure.
1850 2016-04-18 Arnaud Charlet <charlet@adacore.com>
1852 * a-intsig.ads, a-intsig.adb: Removed, no longer used.
1853 * Makefile.rtl: update accordingly.
1855 2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
1857 * sem_type.adb (Disambiguate): Call Covers only when necessary
1858 for standard operators.
1860 2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
1862 * atree.ads (Num_Extension_Nodes): Add couple of figures
1864 * atree.adb: Add GNAT.Heap_Sort_G dependency.
1865 (Print_Statistics): New exported procedure to print statistics.
1867 2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
1869 * exp_ch3.adb (Build_Record_Init_Proc): Do not mark the procedure
1870 as to be inlined if the type needs finalization.
1872 2016-04-18 Jerome Lambourg <lambourg@adacore.com>
1874 * sigtramp-vxworks-target.inc: sigtramp-vxworks: force the stack
1875 alignment for x86_64.
1876 * init.c: Better fix for guard page reset on x86_64-vx7.
1877 Do not try to retrieve the page that actually raised
1878 the signal as the probing mechanism used on x86_64 do not allow
1879 such retrieval. We thus just test if the guard page is active,
1880 and re-activate it if not.
1882 2016-04-18 Arnaud Charlet <charlet@adacore.com>
1884 * a-sytaco.adb (Suspension_Object): Aspect Default_Initial_Condition
1887 2016-04-18 Jerome Lambourg <lambourg@adacore.com>
1889 * affinity.c: Use the proper type for task id.
1890 * init.c (__gnat_inum_to_ivec): ivec is a pointer.
1892 2016-04-18 Arnaud Charlet <charlet@adacore.com>
1894 * sem_prag.adb (Process_Convention): Relax rule on exporting
1895 Intrinsic types if Relaxed_RM_Semantics is True.
1897 2016-04-18 Vincent Celier <celier@adacore.com>
1899 * sem_ch3.adb, lib.ads, sinfo.ads, sem_ch10.adb, einfo.adb, einfo.ads,
1900 checks.ads, sem_ch12.adb, sem.adb, sem_util.adb, sem_util.ads,
1901 sem_res.adb, sem_attr.adb, par.adb, exp_ch4.adb, errout.ads,
1902 sem_ch4.adb, atree.adb, atree.ads, sem_warn.adb, treepr.adb,
1903 exp_ch3.ads, exp_unst.adb: Change "descendent" to
1904 "descendant" in comments, error messages and identifiers.
1905 * gcc-interface/decl.c: Ditto.
1907 2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
1909 * sem_type.adb (Operator_Matches_Spec): Call First_Formal on
1910 New_S only once at the beginning of the function.
1912 2016-04-02 Eric Botcazou <ebotcazou@adacore.com>
1914 * gcc-interface/decl.c (components_to_record): Restrict the previous
1915 change to fields with variable size.
1917 2016-03-27 Eric Botcazou <ebotcazou@adacore.com>
1919 * gcc-interface/decl.c (components_to_record): Add special case for
1920 single field with representation clause at offset 0.
1922 2016-03-16 Svante Signell <svante.signell@gmail.com>
1924 * gcc-interface/Makefile.in: Add support for x86 GNU/Hurd.
1925 * s-osinte-gnu.ads: New file.
1927 2016-03-13 Eric Botcazou <ebotcazou@adacore.com>
1929 * system-vxworks-m68k.ads (Stack_Check_Probes): Set to True.
1930 (Stack_Check_Limits): Set to False.
1931 * system-vxworks-mips.ads (Stack_Check_Probes): Set to True.
1932 (Stack_Check_Limits): Set to False.
1933 * system-vxworks-ppc.ads (Stack_Check_Probes): Set to True.
1934 (Stack_Check_Limits): Set to False.
1935 * system-vxworks-sparcv9.ads (Stack_Check_Probes): Set to True.
1936 (Stack_Check_Limits): Set to False.
1937 * system-vxworks-x86.ads (Stack_Check_Probes): Set to True.
1938 (Stack_Check_Limits): Set to False.
1940 2016-03-07 Eric Botcazou <ebotcazou@adacore.com>
1942 * gcc-interface/trans.c (statement_node_p): New predicate.
1943 (gnat_to_gnu): Invoke it to detect statement nodes. In ASIS mode, do
1944 not return dummy results for expressions attached to packed array
1945 implementation types.
1947 2016-03-07 Eric Botcazou <ebotcazou@adacore.com>
1949 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Always mark
1950 the expression of a renaming manually in case #3.
1952 2016-03-02 Dominik Vogt <vogt@linux.vnet.ibm.com>
1954 * system-linux-s390.ads: Enable Stack_Check_Probes.
1955 * system-linux-s390.ads: Likewise.
1957 2016-02-29 Martin Liska <mliska@suse.cz>
1959 * gcc-interface/utils.c (set_reverse_storage_order_on_pad_type):
1960 Replace ENABLE_CHECKING macro with flag_checking.
1962 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
1964 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Retrofit
1965 handling of unconstrained array types as designated types into common
1966 processing. Also handle array types as incomplete designated types.
1968 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
1970 * gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
1971 ASIS mode, fully lay out the minimal record type.
1973 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
1975 * gcc-interface/trans.c (finalize_nrv_r): Remove obsolete code.
1976 (build_return_expr): Likewise.
1977 (Call_to_gnu): If this is a function call and there is no target,
1978 create a temporary for the return value for all aggregate types,
1979 but never create it for a return statement. Push a binding level
1980 around the call in more cases. Remove obsolete code.
1982 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
1984 * gcc-interface/ada-tree.h (DECL_RETURN_VALUE_P): New macro.
1985 * gcc-interface/gigi.h (gigi): Remove useless attribute.
1986 (gnat_gimplify_expr): Likewise.
1987 (gnat_to_gnu_external): Declare.
1988 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Factor out
1989 code dealing with the expression of external constants into...
1990 Invoke gnat_to_gnu_external instead.
1991 <E_Variable>: Invoke gnat_to_gnu_external to translate renamed objects
1992 when not for a definition. Deal with COMPOUND_EXPR and variables with
1993 DECL_RETURN_VALUE_P set for renamings and with the case of a dangling
1994 'reference to a function call in a renaming. Remove obsolete test and
1995 adjust associated comment.
1996 * gcc-interface/trans.c (Call_to_gnu): Set DECL_RETURN_VALUE_P on the
1997 temporaries created to hold the return value, if any.
1998 (gnat_to_gnu_external): ...this. New function.
1999 * gcc-interface/utils.c (create_var_decl): Detect a constant created
2000 to hold 'reference to function call.
2001 * gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Add folding
2002 for COMPOUND_EXPR in the DECL_RETURN_VALUE_P case.
2004 2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
2006 * exp_ch4.adb (Expand_N_Indexed_Component): Activate synchronization if
2007 the prefix denotes an entity which Has_Atomic_Components.
2008 * gcc-interface/trans.c (node_is_atomic): Return true if the prefix
2009 denotes an entity which Has_Atomic_Components.
2011 2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
2013 * gcc-interface/utils2.c (gnat_protect_expr): Make a SAVE_EXPR only
2014 for fat pointer or scalar types.
2016 2016-02-16 Eric Botcazou <ebotcazou@adacore.com>
2018 * gcc-interface/gigi.h (maybe_debug_type): New inline function.
2019 * gcc-interface/misc.c (gnat_get_array_descr_info): Use it.
2020 Call maybe_character_value on the array bounds. Get to the base type
2021 of the index type and call maybe_debug_type on it.
2022 * gcc-interface/utils.c (finish_character_type): Add special treatment
2025 2016-02-16 Eric Botcazou <ebotcazou@adacore.com>
2027 * gcc-interface/misc.c (gnat_enum_underlying_base_type): New function.
2028 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define to above.
2030 2016-02-12 Jakub Jelinek <jakub@redhat.com>
2032 * prj-tree.ads: Spelling fixes - behaviour -> behavior and
2033 neighbour -> neighbor.
2034 * prep.adb: Likewise.
2035 * prj.ads: Likewise.
2036 * prepcomp.adb: Likewise.
2037 * g-socket.ads: Likewise.
2038 * s-imgrea.adb: Likewise.
2039 * a-calend.adb: Likewise.
2040 * exp_disp.adb: Likewise.
2041 * doc/gnat_ugn/gnat_utility_programs.rst: Likewise.
2042 * g-socket.adb: Likewise.
2043 * sem_ch12.adb: Likewise.
2044 * terminals.c: Likewise.
2046 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
2048 * gcc-interface/misc.c (gnat_init): Remove second argument in call to
2049 build_common_tree_nodes.
2051 2016-02-08 Eric Botcazou <ebotcazou@adacore.com>
2053 * gcc-interface/utils.c (create_var_decl): Set again DECL_COMMON and
2054 DECL_IGNORED_P last.
2056 2016-01-28 Eric Botcazou <ebotcazou@adacore.com>
2058 * gcc-interface/gigi.h (enum attr_type): Rename into...
2059 (enum attrib_type): ...this.
2060 (struct attrib): Adjust.
2061 * gcc-interface/decl.c (prepend_one_attribute): Likewise.
2063 2016-01-20 Eric Botcazou <ebotcazou@adacore.com>
2065 * exp_ch2.adb (Expand_Current_Value): Make an appropriate character
2066 literal if the entity is of a character type.
2067 * gcc-interface/lang.opt (fsigned-char): New option.
2068 * gcc-interface/misc.c (gnat_handle_option): Accept it.
2069 (gnat_init): Adjust comment.
2070 * gcc-interface/gigi.h (finish_character_type): New prototype.
2071 (maybe_character_type): New inline function.
2072 (maybe_character_value): Likewise.
2073 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: For
2074 a character of CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
2075 Set TYPE_ARTIFICIAL early and call finish_character_type on the type.
2076 <E_Enumeration_Subtype>: For a subtype of character with RM_Size and
2077 Esize equal to CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
2078 Copy TYPE_STRING_FLAG from type to subtype.
2079 <E_Array_Type>: Deal with character index types.
2080 <E_Array_Subtype>: Likewise.
2081 * gcc-interface/trans.c (gigi): Replace unsigned_char_type_node with
2082 char_type_node throughout.
2083 (build_raise_check): Likewise.
2084 (get_type_length): Deal with character types.
2085 (Attribute_to_gnu) <Attr_Pos>: Likewise. Remove obsolete range check
2087 <Attr_Pred>: Likewise.
2088 (Loop_Statement_to_gnu): Likewise.
2089 (Raise_Error_to_gnu): Likewise.
2090 <N_Indexed_Component>: Deal with character index types. Remove
2092 <N_Slice>: Likewise.
2093 <N_Type_Conversion>: Deal with character types. Minor tweak.
2094 <N_Unchecked_Type_Conversion>: Likewise.
2096 <N_Op_Eq>: Likewise.
2097 (emit_index_check): Delete.
2098 * gcc-interface/utils.c (finish_character_type): New function.
2099 (gnat_signed_or_unsigned_type_for): Deal with built-in character types.
2100 * gcc-interface/utils2.c (expand_sloc): Replace unsigned_char_type_node
2101 with char_type_node.
2102 (build_call_raise): Likewise.
2103 (build_call_raise_column): Likewise.
2104 (build_call_raise_range): Likewise.
2106 2016-01-18 Eric Botcazou <ebotcazou@adacore.com>
2108 * gcc-interface/gigi.h (build_call_raise_column): Adjust prototype.
2109 (build_call_raise_range): Likewise.
2110 (gnat_unsigned_type): Delete.
2111 (gnat_signed_type): Likewise.
2112 (gnat_signed_or_unsigned_type_for): New prototype.
2113 (gnat_unsigned_type_for): New inline function.
2114 (gnat_signed_type_for): Likewise.
2115 * gcc-interface/cuintp.c (build_cst_from_int): Call build_int_cst.
2116 * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
2117 (gnat_to_gnu_entity) <E_Array_Type>: Always translate the index types
2118 and compute their base type from that.
2119 <E_Array_Subtype>: Remove duplicate declaration.
2120 * gcc-interface/misc.c (get_array_bit_stride): Call build_int_cst.
2121 * gcc-interface/trans.c (get_type_length): Likewise.
2122 (Attribute_to_gnu): Likewise.
2123 (Loop_Statement_to_gnu): Likewise.
2124 (Call_to_gnu): Likewise.
2125 (gnat_to_gnu): Call build_real, build_int_cst, gnat_unsigned_type_for
2126 and gnat_signed_type_for. Minor tweaks.
2127 (build_binary_op_trapv): Likewise.
2128 (emit_check): Likewise.
2129 (convert_with_check): Likewise.
2130 (Raise_Error_to_gnu): Adjust calls to the build_call_raise family of
2131 functions. Minor tweaks.
2132 (Case_Statement_to_gnu): Remove dead code.
2133 (gnat_to_gnu): Call gnat_unsigned_type_for and gnat_signed_type_for.
2134 (init_code_table): Minor reordering.
2135 * gcc-interface/utils.c (gnat_unsigned_type): Delete.
2136 (gnat_signed_type): Likewise.
2137 (gnat_signed_or_unsigned_type_for): New function.
2138 (unchecked_convert): Use directly the size in the test for precision
2139 vs size adjustments.
2140 (install_builtin_elementary_types): Call gnat_signed_type_for.
2141 * gcc-interface/utils2.c (nonbinary_modular_operation): Call
2143 (build_goto_raise): New function taken from...
2144 (build_call_raise): ...here. Call it.
2145 (build_call_raise_column): Add KIND parameter and call it.
2146 (build_call_raise_range): Likewise.
2148 2016-01-18 Eric Botcazou <ebotcazou@adacore.com>
2150 * gcc-interface/ada-tree.h (TYPE_IMPLEMENTS_PACKED_ARRAY_P): Rename to
2151 (TYPE_IMPL_PACKED_ARRAY_P): ...this.
2152 (TYPE_CAN_HAVE_DEBUG_TYPE_P): Do not test TYPE_DEBUG_TYPE.
2153 * gcc-interface/decl.c (gnat_to_gnu_entity): Simplify NULL_TREE tests
2154 and tweak gnat_encodings tests throughout.
2155 (initial_value_needs_conversion): Likewise.
2156 (intrin_arglists_compatible_p): Likewise.
2157 * gcc-interface/misc.c (gnat_print_type): Likewise.
2158 (gnat_get_debug_type): Likewise.
2159 (gnat_get_fixed_point_type_info): Likewise.
2160 (gnat_get_array_descr_info): Likewise.
2161 (get_array_bit_stride): Likewise.
2162 (gnat_get_type_bias): Fix formatting.
2163 (enumerate_modes): Likewise.
2164 * gcc-interface/trans.c (gnat_to_gnu): Likewise.
2165 (add_decl_expr): Simplify NULL_TREE test.
2166 (end_stmt_group): Likewise.
2167 (build_binary_op_trapv): Fix formatting.
2168 (get_exception_label): Use switch statement.
2169 (init_code_table): Move around.
2170 * gcc-interface/utils.c (global_bindings_p): Simplify NULL_TREE test.
2171 (gnat_poplevel): Likewise.
2172 (gnat_set_type_context): Likewise.
2173 (defer_or_set_type_context): Fix formatting.
2174 (gnat_pushdecl): Simplify NULL_TREE test.
2175 (maybe_pad_type): Likewise.
2176 (add_parallel_type): Likewise.
2177 (create_range_type): Likewise.
2178 (process_deferred_decl_context): Likewise.
2179 (convert): Likewise.
2180 (def_builtin_1): Likewise.
2181 * gcc-interface/utils2.c (find_common_type): Likewise.
2182 (build_binary_op): Likewise.
2183 (gnat_rewrite_reference): Likewise.
2184 (get_inner_constant_reference): Likewise.
2186 2016-01-18 Eric Botcazou <ebotcazou@adacore.com>
2189 * gcc-interface/trans.c (check_inlining_for_nested_subprog): Consider
2190 the parent function instead of the current function in order to issue
2191 the warning or the error. Add guard for ignored functions.
2193 2016-01-17 Jakub Jelinek <jakub@redhat.com>
2195 * adaint.c (__gnat_killprocesstree): Avoid -Wparentheses warning.
2197 2016-01-15 Jakub Jelinek <jakub@redhat.com>
2199 * adaint.c (__gnat_locate_exec_on_path): Use const char * instead
2200 of char * for path_val to avoid warnings.
2202 2016-01-06 Pierre-Marie de Rodat <derodat@adacore.com>
2204 * gcc-interface/utils.c: Bump copyright year.
2205 (rest_of_record_type_compilation): Add XVE/XVU parallel types to
2206 the current lexical scope.
2208 2016-01-04 Jakub Jelinek <jakub@redhat.com>
2210 * gnat_ugn.texi: Bump @copying's copyright year.
2211 * gnat_rm.texi: Likewise.
2213 2016-01-02 Eric Botcazou <ebotcazou@adacore.com>
2215 * gnatvsn.ads: Bump copyright year.
2218 Copyright (C) 2016 Free Software Foundation, Inc.
2220 Copying and distribution of this file, with or without modification,
2221 are permitted in any medium without royalty provided the copyright
2222 notice and this notice are preserved.