2016-04-21 Arnaud Charlet <charlet@adacore.com>
[official-gcc.git] / gcc / ada / ChangeLog
blob3dcc02d16725fa586cf15bca545dd6c4d0c66d96
1 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
3         * a-tasatt.adb, a-tasatt.ads (Fast_Path): Rewritten to avoid reading
4         potentially uninitialized memory.
5         * sem_ch3.adb: Minor style fix in comment.
7 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
9         * gnat_rm.texi, gnat_ugn.texi,
10         doc/gnat_ugn/gnat_project_manager.rst,
11         doc/gnat_ugn/building_executable_programs_with_gnat.rst,
12         doc/gnat_ugn/gnat_and_program_execution.rst,
13         doc/gnat_ugn/gnat_utility_programs.rst,
14         doc/gnat_ugn/the_gnat_compilation_model.rst,
15         doc/gnat_rm/implementation_defined_attributes.rst,
16         doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
17         doc/gnat_rm/implementation_defined_pragmas.rst,
18         doc/gnat_rm/the_gnat_library.rst,
19         doc/gnat_rm/implementation_defined_aspects.rst: Update doc.
20         * doc/Makefile: Cleanups.
22 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
24         * exp_pakd.adb, sem_ch13.adb: Minor reformatting.
26 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
28         * exp_dbug.adb, exp_dbug.ads (Qualify_Entity_Name): Add suffixes to
29         disambiguate local variables that may be hidden from inner visibility
30         by nested block declarations or loop variables.
32 2016-04-21  Jerome Lambourg  <lambourg@adacore.com>
34         * s-soflin.adb: Initialize the Stack_Limit global variable.
36 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
38         * lib-writ.adb: Minor reformatting.
40 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
42         * exp_pakd.adb (Compute_Number_Components): New function to
43         build an expression that computes the number of a components of
44         an array that may be multidimensional.
45         (Expan_Packed_Eq): Use it.
47 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
49         * g-traceb.ads: Update list of supported platforms.
51 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
53         * sem_ch13.adb (Add_Predicates): if the type is declared in
54         an inner package it may be frozen outside of the package, and
55         the generated pragma has not been analyzed yet, the expression
56         for the predicate must be captured and added to the predicate
57         function at this point.
59 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
61         * contracts.adb (Analyze_Package_Body_Contract): Do not check
62         for a missing package refinement because 1) packages do not have
63         "refinement" and 2) the check for proper state refinement is
64         performed in a different place.
65         * einfo.adb (Has_Non_Null_Visible_Refinement): Reimplemented.
66         (Has_Null_Visible_Refinement): Reimplemented.
67         * sem_ch3.adb (Analyze_Declarations): Determine whether all
68         abstract states have received a refinement and if not, emit
69         errors.
70         * sem_ch7.adb (Analyze_Package_Declaration): Code
71         cleanup. Determine whether all abstract states of the
72         package and any nested packages have received a refinement
73         and if not, emit errors.
74         (Requires_Completion_In_Body): Add new formal parameter
75         Do_Abstract_States. Update the comment on usage. Propagate the
76         Do_Abstract_States flag to all Unit_Requires_Body calls.
77         (Unit_Requires_Body): Remove formal
78         parameter Ignore_Abstract_States. Add new formal paramter
79         Do_Abstract_States. Propagate the Do_Abstract_States flag to
80         all Requires_Completion_In calls.
81         * sem_ch7.ads (Unit_Requires_Body): Remove formal
82         parameter Ignore_Abstract_States. Add new formal paramter
83         Do_Abstract_States. Update the comment on usage.
84         * sem_ch9.adb (Analyze_Single_Protected_Declaration): Do
85         not initialize the constituent list as this is now done on a
86         need-to-add-element basis.
87         (Analyze_Single_Task_Declaration):
88         Do not initialize the constituent list as this is now done on
89         a need-to-add-element basis.
90         * sem_ch10.adb (Decorate_State): Do not initialize the constituent
91         lists as this is now done on a need-to-add-element basis.
92         * sem_prag.adb (Analyze_Constituent): Set the
93         refinement constituents when adding a new element.
94         (Analyze_Part_Of_In_Decl_Part): Set the Part_Of constituents when
95         adding a new element.
96         (Analyze_Part_Of_Option): Set the Part_Of
97         constituents when adding a new element.
98         (Analyze_Pragma): Set the Part_Of constituents when adding a new
99         element.
100         (Check_Constituent_Usage (all versions)): Reimplemented.
101         (Collect_Constituent): Set the refinement constituents when adding
102         a new element.
103         (Create_Abstract_State): Do not initialize the
104         constituent lists as this is now done on a need-to-add-element basis.
105         (Propagate_Part_Of): Set the Part_Of constituents when
106         adding a new element.
107         * sem_util.adb (Check_State_Refinements): New routine.
108         (Has_Non_Null_Refinement): Reimplemented.
109         (Has_Null_Refinement): Reimplemented.
110         (Requires_State_Refinement): Removed.
111         * sem_util.ads (Check_State_Refinements): New routine.
112         (Requires_State_Refinement): Removed.
114 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
116         * lib-writ.adb, sem_ch6.adb: Minor reformatting and code cleanup.
117         * sem.adb: Fix comment.
119 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
121         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype
122         declaration with no aspects, whose subtype_mark is a subtype
123         with predicates, inherits the list of subprograms for the type.
125 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
127         * exp_aggr.adb (Has_Per_Object_Constraint): Refine previous
128         change.
130 2016-04-21  Thomas Quinot  <quinot@adacore.com>
132         * g-socket.adb (Raise_Host_Error): Include additional Name parameter.
134 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
136         * lib-writ.adb (Write_ALI): Do not record in ali file units
137         that are present in the files table but not analyzed. These
138         units are present because they appear in the context of units
139         named in limited_with clauses, and the unit being compiled does
140         not depend semantically on them.
142 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
144         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Simplify code to
145         create the procedure body for an function returning an array type,
146         when generating C code. Reuse the subprogram body rather than
147         creating a new one, both as an efficiency measure and because
148         in an instance the body may contain global references that must
149         be preserved.
151 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
153         * sem_ch3.adb, exp_attr.adb, exp_ch6.adb, exp_aggr.adb: Minor
154         reformatting.
156 2016-04-21  Javier Miranda  <miranda@adacore.com>
158         * exp_aggr.adb (Component_Check): Extend
159         the check that verifies that the aggregate has no function
160         calls to handle transformations performed by the frontend.
161         (Ultimate_Original_Expression): New subprogram.
163 2016-04-21  Philippe Gil  <gil@adacore.com>
165         * krunch.adb (Krunch): Fix krunching of i-java.
167 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
169         * exp_ch8.adb (Evaluation_Required): Always return
170         True when Modify_Tree_For_C.
172 2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
174         * gnatlink.adb (Gnatlink): Robustify detection of Windows target.
175         * alloc.ads: Minor comment fixes.
176         * einfo.ads: Fix typo.
178 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
180         * exp_aggr.adb (Component_Not_OK_For_Backend): Redo previous
181         changes to handle all cases of components depending on the
182         discriminant, not just string literals.
184 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
186         * sem_ch3.adb (Analyze_Subtype_Declaration): If the subtype
187         declaration is the generated declaration for a generic actual,
188         inherit predicates from the actual if it is a predicated subtype.
190 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
192         * exp_ch6.adb (Rewrite_Function_Call_For_C): If the function is
193         inherited and its result is controlling,  introduce a conversion
194         on the actual for the corresponding procedure call, to avoid
195         spurious type errors.
197 2016-04-21  Jerome Lambourg  <lambourg@adacore.com>
199         * krunch.adb (Krunch): Fix krunching of i-vxworks.
201 2016-04-21  Gary Dismukes  <dismukes@adacore.com>
203         * exp_aggr.adb: Minor reformatting and code cleanup.
205 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
207         * sem_ch13.adb (Resolve_Name): Omit quantified expressions from
208         resolution, because they introduce local names. Full resolution
209         will take place when predicate function is constructed.
211 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
213         * exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous
214         change to take into account Per_Object_Constraint field rather
215         than special casing strings.
216         * exp_ch6.adb: Fix typo in Replace_Returns.
218 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
220         * sem_ch5.adb: Minor reformatting.
222 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
224         * exp_aggr.adb (Backend_Processing_Possible): Return False
225         when generating C and aggregate contains function calls.
227 2016-04-21  Tristan Gingold  <gingold@adacore.com>
229         * krunch.adb (Krunch): Only partially krunch children of
230         Interfaces that aren't known.
232 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
234         * sem_prag.adb (Make_Inline): Handle properly the instantiation
235         of a generic subpprogram that carries an Inline aspect. Place
236         inline info on the anonymous subprogram that is constructed in
237         the wrapper package.
238         (Analyze_Pragma, case Pure): Do not check placement if pragma
239         appears within an instantiation, which can be nested at any level.
240         * sem_ch12.adb (Analyze_Instance_And_Renamings): Do not copy Freeze
241         node from anonymous subprogram to its visible renaming. The
242         freeze node will be constructed if the subprogram carries
243         delayed aspects.
244         (Set_Global): Preserve dimension information if present (from
245         code reading).
247 2016-04-21  Vasiliy Fofanov  <fofanov@adacore.com>
249         * gnatlink.adb: Change wording of the warning message on
250         problematic filenames to be more neutral. Add a new substring
251         "patch" introduced on Windows 10.
253 2016-04-21  Philippe Gil  <gil@adacore.com>
255         * tracebak.c (__gnat_backtrace): handle bad RIP values (win64 only)
257 2016-04-21  Javier Miranda  <miranda@adacore.com>
259         * exp_aggr.adb (Component_Not_OK_For_Backend): Return true for string
260         literals.
262 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
264         * einfo.adb (Has_Non_Null_Abstract_State): New routine.
265         * einfo.ads New synthesized attribute
266         Has_Non_Null_Abstract_State along with occurrences in entities.
267         (Has_Non_Null_Abstract_State): New routine.
268         * sem_ch7.adb (Unit_Requires_Body): Add local variable
269         Requires_Body. A package declaring an abstract state requires
270         a body only when the state is non-null and the package contains
271         at least one other construct that requires completion in a body.
272         * sem_util.adb (Mode_Is_Off): Removed.
273         (Requires_State_Refinement): Remove an obsolete check. Code
274         cleanup.
276 2016-04-21  Bob Duff  <duff@adacore.com>
278         * sem_attr.adb (Analyze_Attribute): In processing
279         the 'Old attribute, a warning is given for infinite recursion. Fix
280         the code to not crash when the prefix of 'Old denotes a protected
281         function.
282         * sem_ch5.adb (Analyze_Iterator_Specification):
283         Avoid calling Is_Dependent_Component_Of_Mutable_Object in cases
284         where the parameter would not be an object.
286 2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
288         * sem_eval.adb (Compile_Time_Compare): Be prepared for an empty
289         Etype or Underlying_Type of the operands.
291 2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
293         * atree.adb (Print_Statistics): Protect against overflows and
294         print the memory consumption in bytes.
295         * table.adb (Reallocate): Do the intermediate calculation of the new
296         size using the Memory.size_t type.
298 2016-04-21  Gary Dismukes  <dismukes@adacore.com>
300         * exp_attr.adb (Is_Inline_Floating_Point_Attribute): Suppress
301         expansion of Attribute_Machine and Attribute_Model for AAMP.
303 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
305         * freeze.adb: Disable previous change for now.
307 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
309         * sem_ch8.adb (Find_Selected_Component): If prefix has an
310         access type and designated type is a limited view, introduce
311         an explicit dereference before continuing the analysis, and
312         set its type to the non-limited view of the designated type,
313         if we are in context where it is available.
315 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
317         * freeze.adb: Freeze profile in ASIS mode.
319 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
321         * sem_aux.ads, sem_aux.adb (Has_Rep_Item): New variant.
322         * sem_util.adb (Inherit_Rep_Item_Chain): Reimplemented.
324 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
326         * exp_ch6.adb: Minor reformatting.
328 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
330         * sem_ch13.adb: Minor comment update.
332 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
334         * freeze.ads, freeze.adb (Freeze_Entity, Freeze_Before): Add
335         boolean parameter to determine whether freezing an overloadable
336         entity freezes its profile as well. This is required by
337         AI05-019. The call to Freeze_Profile within Freeze_Entity is
338         conditioned by the value of this flag, whose default is True.
339         * sem_attr.adb (Resolve_Attribute, case 'Access): The attribute
340         reference freezes the prefix, but it the prefix is a subprogram
341         it does not freeze its profile.
343 2016-04-21  Javier Miranda  <miranda@adacore.com>
345         * exp_util.adb (Build_Procedure_Form): No action needed for
346         subprogram renamings since the backend can generate the call
347         using the renamed subprogram. This leaves the tree more clean
348         to the backend.
349         * exp_ch6.adb (Expand_Call): Extend previous patch for
350         rewritten-for-c entities to handle subprogram renamings.
351         (Rewrite_Function_Call_For_C): Handle subprogram renamings.
353 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
355         * sem_ch13.adb: Code cleanup.
357 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
359         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
360         created for SPARK_To_C, the entity must remain invisible so it
361         does not overload subsequent references to the original function.
362         * exp_ch6.adb (Build_Procedure_Body_Form, Replace_Returns):
363         Handle Extended_Return_Statements by replacing it with a block
364         with assignments and a simple return statement.
365         * exp_util.adb (Build_Procedure_Form): Make procedure entity
366         invisible after analyzing declaration, to prevent improper
367         overloading.
369 2016-04-21  Javier Miranda  <miranda@adacore.com>
371         * sem_ch6.adb (Build_Subprogram_Declaration): Propagate the
372         attribute Rewritten_For_C to the body since since the expander
373         may generate calls using that entity.
374         * exp_ch6.adb (Expand_Call): For internally generated
375         calls ensure that they reference the entity of the spec
376         of the called function.
377         (Rewritten_For_C_Func_Id): New subprogram.
378         (Rewritten_For_C_Proc_Id): New subprogram.
379         (Rewrite_Function_Call_For_C): Invoke the new subprogram to
380         ensure that we skip freezing entities.
381         * exp_util.adb (Build_Procedure_Form): No action needed if the
382         procedure was already built.
384 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
386         * sem_ch3.adb, exp_util.adb, sem_ch13.adb, exp_unst.adb: Minor
387         reformatting.
389 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
391         * sem_util.adb (Denotes_Iterator): Use root type to determine
392         whether the ultimate ancestor is the predefined iterator
393         interface pakage.
394         * exp_ch5.adb (Expand_Iterator_Over_Container): simplify code
395         and avoid reuse of Pack local variable.
397 2016-04-21  Olivier Hainque  <hainque@adacore.com>
399         * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
400         system-vxworks-ppc.ads, system-vxworks-m68k.ads,
401         system-vxworks-mips.ads, system-vxworks-x86.ads: Define
402         Executable_Extension to ".out".
404 2016-04-21  Javier Miranda  <miranda@adacore.com>
406         * frontend.adb: Update call to Unnest_Subprograms.
407         * exp_ch6.ads, exp_ch6.adb, exp_unst.ads, exp_unst.adb
408         (Unnest_Subprograms): Moved to package exp_unst.
409         * exp_unst.ads (Unnest_Subprogram): Moved to the body of the
410         package.
411         * exp_dbug.adb (Qualify_Entity_Name): Enable qualification of
412         enumeration literals when generating C code.
414 2016-04-21  Javier Miranda  <miranda@adacore.com>
416         * frontend.adb: Remove call to initialize Exp_Ch6.
417         * exp_ch6.ads, exp_ch6.adb (Initialize): removed.
418         (Unest_Entry/Unest_Bodies): Removed.
419         (Unnest_Subprograms): Code cleanup.
421 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
423         * set_targ.adb (Read_Target_Dependent_Values):
424         close target description file once its contents is read.
425         * s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File
426         and Stderr_File): Close local file descriptors before spawning
427         child process.
428         * exp_util.adb (Containing_Package_With_Ext_Axioms): Limit scope of
429         local variables to make the code easier to understand and avoid
430         duplicated calls to Parent and Generic_Parent.
432 2016-04-20  Bob Duff  <duff@adacore.com>
434         * s-os_lib.ads: Minor comment fix.
436 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
438         * exp_ch5.adb (Expand_N_Assignment_Statement): Do no generate
439         a discriminant check for a type whose partial view has unknown
440         discriminants when the full view has discriminants with defaults.
442 2016-04-20  Javier Miranda  <miranda@adacore.com>
444         * exp_util.adb (Remove_Side_Effects): When generating C code
445         remove side effect of type conversion of access to unconstrained
446         array type.
447         (Side_Effect_Free): Return false for the type
448         conversion of access to unconstrained array type when generating
449         C code.
450         * sem_res.adb (Resolved_Type_Conversion): Remove side effects
451         of access to unconstrained array type conversion when generating
452         C code.
454 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
456         * sem_ch13.adb (Build_Predicate_Function_Declaration): New
457         function, to construct the declaration of a predicate function
458         at the end of the current declarative part rather than at the
459         (possibly later) freeze point of the type. This also allows uses
460         of a type with predicates in instantiations elsewhere.
461         (Resolve_Aspect_Expression): New procedure to detect visiblity
462         errors in aspect expressions, at the end of the declarative part
463         that includes the type declaration.
464         * sem_ch3.adb (Complete_Private_Subtype): Propagate properly the
465         predicate function from private to full view.
466         * einfo.adb (Predicate_Function): Refine search for predicate
467         function when type has a full view and predicate function may
468         be defined on either view.
470 2016-04-20  Javier Miranda  <miranda@adacore.com>
472         * frontend.adb: Passing the root of the tree to
473         Unnest_Subprograms().
474         * exp_ch6.adb (Expand_N_Subprogram_Body): Remove code that
475         took care of adding subprograms to the Unest_Bodies table since
476         performing such action too early disables the ability to process
477         generic instantiations.
478         (Unnest_Subprograms): Adding parameter.
479         (Search_Unnesting_Subprograms): New subprogram.
480         * exp_ch6.ads (Unnest_Subrograms): Update documentation.
482 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
484         * exp_util.adb, freeze.adb, sem_util.adb: Minor reformatting.
486 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
488         * exp_unst.adb (Check_Static_Type): For a private type, check
489         full view.
491 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
493         * sem_attr.adb (Check_Type): Reject an attribute reference in
494         an aspect expression, when the prefix of the reference is the
495         current instance of the type to which the aspect applies.
497 2016-04-20  Bob Duff  <duff@adacore.com>
499         * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about
500         hiding unless we're actually hiding something. The previous
501         code would (for example) warn about a "<" on a record type
502         because it incorrectly thought it was hiding the "<" on Boolean
503         in Standard. We need to check that the homonym S is in fact a
504         homograph of a predefined operator.
506 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
508         * exp_util.ads, exp_util.adb (Build_Procedure_Form): Moved here
509         from exp_ch6.adb, for use in SPARK_To_C mode when creating the
510         procedure equivalent to a function returning an array, when this
511         construction is deferred to the freeze point of the function.
512         * sem_util.adb (Is_Unchecked_Conversion_Instance): Include a
513         function that renames an instance of Unchecked_Conversion.
514         * freeze.adb (Freeze_Subprogram): Generate the proper procedure
515         declaration for a function returning an array.
516         * exp_ch6.adb (Build_Procedure_Form): Moved to exp_util.
518 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
520         * sem_util.ads, sem_util.adb (Is_Expanded_Priority_Attribute):
521         New predicate to determine that in a context with full run-time,
522         a function call is an expansion of a reference to attribute
523         Priority.
524         * sem_ch5.adb (Analyze_Function_Call): use it.
525         * exp_ch5.adb (Expand_N_Subprogram_Call): use it.
527 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
529         * einfo.adb Flag286 is now used as Is_Exception_Handler.
530         (Is_Exception_Handler): New routine.
531         (Set_Is_Exception_Handler): New routine.
532         (Write_Entity_Flags): Output the status of Is_Exception_Handler.
533         * einfo.ads New attribute Is_Exception_Handler along with
534         occurrences in entities.
535         (Is_Exception_Handler): New routine along with pragma Inline.
536         (Set_Is_Exception_Handler): New routine along with pragma Inline.
537         * exp_ch7.adb (Make_Transient_Block): Ignore blocks generated
538         for exception handlers with a choice parameter.
539         * sem_ch11.adb (Analyze_Exception_Handlers): Mark the scope
540         generated for a choice parameter as an exception handler.
542 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
544         * sem_ch3.adb (Build_Derived_Access_Type): Remove dead code.
545         (Constrain_Discriminated_Type): In an instance, if the type has
546         unknown discriminants, use its full view.
547         (Process_Subtype): Check that the base type is private before
548         adding subtype to Private_Dependents list.
550 2016-04-20  Bob Duff  <duff@adacore.com>
552         * sem_ch13.adb: Minor comment fix.
554 2016-04-20  Yannick Moy  <moy@adacore.com>
556         * sem_ch4.adb: Fix typos in comments.
557         * sem_res.adb (Resolve_Case_Expression): Fix type of case alternatives.
559 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
561         * sem_ch4.adb (Analyze_Selected_Component): A reference to the
562         current instance of a task type is legal if the prefix is an
563         expression of that task type and the selector is an entry or
564         entry family.
566 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
568         * a-cfdlli.ads (List): Type is no longer tagged, not needed. Move
569         varsize field at the end for efficiency.
571 2016-04-20  Vincent Celier  <celier@adacore.com>
573         * gnatcmd.adb: Do not invoke gprls when the invocation of "gnat
574         ls" includes the switch -V.
575         * clean.adb: "<target>-gnatclean -P" now calls "gprclean
576         --target=<target>"
577         * make.adb: "<target>-gnatmake -P" now calls "gprbuild
578         --target=<target>"
580 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
582         * sem_ch12.adb (Qualify_Type): Do not perform
583         partial qualification when the immediate scope is a generic unit.
585 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
587         * exp_unst.adb: Minor reformatting.
589 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
591         * exp_ch4.adb (Expand_Allocator_Expression): Ensure that the
592         tag assignment and adjustment preceed the accessibility check.
593         * exp_ch7.adb (Is_Subprogram_Call): Reimplemented.
595 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
597         * exp_prag.adb (Expand_Attributes): Ensure that
598         the temporary used to capture the value of attribute 'Old's
599         prefix is properly initialized.
601 2016-04-20  Javier Miranda  <miranda@adacore.com>
603         * exp_unst.ads, exp_unst.adb (Get_Level, Subp_Index): Moved to library
604         level.
606 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
608         * sem_ch9.adb (Analyze_Task_Type_Declaration): Shut down warning
609         in codepeer mode.
611 2016-04-20  Vincent Celier  <celier@adacore.com>
613         * make.adb: Code cleanup.
615 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
617         * exp_ch4.adb (Expand_Allocator_Expression): Help C code
618         generation.
620 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
622         * sem_ch12.adb (Copy_Generic_Node): Handle the special
623         qualification installed for universal literals that act as
624         operands in binary or unary operators.  (Qualify_Operand): Mark
625         the qualification to signal the instantiation mechanism how to
626         handle global reference propagation.
627         * sinfo.adb (Is_Qualified_Universal_Literal): New routine.
628         (Set_Is_Qualified_Universal_Literal): New routine.
629         * sinfo.ads New attribute Is_Qualified_Universal_Literal along
630         with occurrences in nodes.
631         (Is_Qualified_Universal_Literal):
632         New routine along with pragma Inline.
633         (Set_Is_Qualified_Universal_Literal): New routine along with
634         pragma Inline.
636 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
638         * sem.adb (Do_Analyze): Save and restore Style_Max_Line_Length
639         so that the corresponding checks are preserved across compilations
640         that include System.Constants in their context.
642 2016-04-20  Gary Dismukes  <dismukes@adacore.com>
644         * sem_type.adb: Minor typo fix and reformatting.
645         * a-conhel.ads: Update comment.
647 2016-04-20  Bob Duff  <duff@adacore.com>
649         * a-cihama.adb, a-cihase.adb, a-coinve.adb (Copy): Rewrite the
650         code so it doesn't trigger an "uninit var" warning.
652 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
654         * sem_attr.ads Add new table Universal_Type_Attribute.
655         * sem_util.adb (Yields_Universal_Type): Use a table lookup when
656         checking attributes.
658 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
660         * exp_aggr.adb (Init_Stored_Discriminants,
661         Init_Visible_Discriminants): New procedures, subsidiary of
662         Build_Record_Aggr_Code, to handle properly the construction
663         of aggregates for a derived type that constrains some parent
664         discriminants and renames others.
666 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
668         * sem_ch12.adb (Qualify_Universal_Operands): New routine.
669         (Save_References_In_Operator): Add explicit qualifications in
670         the generic template for all operands of universal type.
671         * sem_type.adb (Disambiguate): Update the call to Matches.
672         (Matches): Reimplemented.
673         * sem_util.ads, sem_util.adb (Yields_Universal_Type): New routine.
675 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
677         * sem_ch13.adb (Rep_Item_Too_Late): Better error message for
678         an illegal aspect that freezes the entity to which it applies.
680 2016-04-20  Bob Duff  <duff@adacore.com>
682         * a-stwibo.ads, a-stzbou.ads
683         ("="): Add overriding keyword before function to avoid crash when
684         compiler is called with -gnatyO (check overriding indicators).
686 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
688         * sem_prag.adb (Analyze_Pragma, case Check_Policy):  If this
689         is a configuration pragma and it uses the ARG syntax, insert
690         the rewritten pragma after the current one rather than using
691         Insert_Actions.
693 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
695         * exp_aggr.adb (Backend_Processing_Possible): Add handling of
696         C back-end.
698 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
700         * s-imgllu.adb, sem_util.adb, s-imgint.adb, s-imguns.adb,
701         s-imglli.adb: Minor reformatting.
703 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
705         * sem_res.adb (Rewrite_Renamed_Operator): Do not rewrite the
706         renamed operator when the associated node appears within a
707         pre/postcondition.
708         * sem_util.ads, sem_util.adb (In_Pre_Post_Condition): New routine.
710 2016-04-20  Yannick Moy  <moy@adacore.com>
712         * osint.adb (Relocate_Path): Fix test when Path is shorter than Prefix.
713         * einfo.adb (Set_Overridden_Operation): Add assertion.
714         * sem_util.adb (Unique_Entity): for renaming-as-body return the spec
715         entity.
717 2016-04-20  Javier Miranda  <miranda@adacore.com>
719         * exp_unst.adb (Append_Unique_Call): New subprogram.
720         (Unnest_Subprogram): Replace the unique occurrence
721         of Call.Append() by Append_Unique_Call() which protects us from
722         adding to the Calls table duplicated entries.
724 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
726         * exp_attr.adb (Is_GCC_Target): Fix for C backend.
727         * xref_lib.ads (Dependencies_Tables): instantiate
728         Table package with types that guarantee its safe use.
729         * s-imgllu.adb, s-imgint.adb, s-imguns.adb, s-imglli.adb: Avoid nested
730         procedures.
732 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
734         * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]):
735         Disable expansion when generating C code.
736         * sinfo.ads, inline.ads: Minor editing.
738 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
740         * sem_util.adb, contracts.adb, ghost.adb, exp_ch6.adb: Minor
741         reformatting.
743 2016-04-20  Javier Miranda  <miranda@adacore.com>
745         * contracts.adb (Build_Postconditions_Procedure): Code cleanup.
746         * ghost.adb (Os_OK_Ghost_Context.Is_OK_Declaration): Handle the
747         declaration of the internally built _postcondition procedure.
749 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
751         * snames.ads-tmpl (Internal_Attribute_Id, Attribute_Class_Array): Fix
752         indentation.
753         * sem_util.adb (Is_Unchecked_Conversion_Instance):
754         defense against library-level renamings of other functions,
755         which are never instances of Unchecked_Conversion.
756         * einfo.ads: minor fix of casing in comment
758 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
760         * exp_ch6.adb (Expand_N_Subprogram_Stub): Do not expand a body
761         that has been analyzed and expanded already. Qualify the names
762         in the proper body for use in the generation of C code.
764 2016-04-20  Javier Miranda  <miranda@adacore.com>
766         * contracts.adb (Build_Postconditions_Procedure): Force its
767         inlining when generating C code.
768         * sem_attr.adb (Analyze_Attribute_Old_Result): Handle inlined
769         _postconditions when generating C code.
770         * exp_ch6.adb (Inlined_Subprogram): Inline calls to
771         _postconditions when generating C code.
772         * sinfo.ads, sinfo.adb (Corresponding_Spec, Set_Corresponding_Spec):
773         types of return value and argument changed from Node_Id to
774         Entity_Id.
776 2016-04-20  Vincent Celier  <celier@adacore.com>
778         * make.adb, clean.adb, gnatname.adb: Revert previous change for now.
780 2016-04-20  Eric Botcazou  <ebotcazou@adacore.com>
782         * sem_ch12.adb (Analyze_Instance_And_Renamings): Do not reset
783         the Has_Delayed_Freeze flag on the anonymous instance node.
785 2016-04-20  Javier Miranda  <miranda@adacore.com>
787         * sem_ch5.adb (Analyze_Iterator_Specification): Remove transient
788         scope associated with the renaming object declaration.
789         * exp_util.adb (Insert_Actions): Remove handling of iterator
790         loop marked as requiring the secondary stack.
792 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
794         * sem_attr.adb (Analyze_Attribute, case 'Image): Implement
795         AI12-0124, which extends the functionality of the attribute so it
796         reflects the semantics of GNAT 'Img when applied to scalar types.
797         * lib-xref.adb: minor whitespace layout fix.
799 2016-04-20  Vincent Celier  <celier@adacore.com>
801         * clean.adb (Gnatclean): Fail if project file specified and
802         gprclean is not available.
803         * gnatname.adb: Fail is -P is used and gprname is not available.
804         * make.adb (Initialize): Fail if project file specified and
805         gprbuild is not available.
807 2016-04-20  Bob Duff  <duff@adacore.com>
809         * sem_ch5.adb (Analyze_Iterator_Specification): Do not use secondary
810         stack when possible.
812 2016-04-20  Gary Dismukes  <dismukes@adacore.com>
814         * par_sco.adb, sem_util.adb, sem_ch13.adb: Minor typo corrections and
815         reformatting.
817 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
819         * sem_prag.adb (Analyze_Pragma, case Default_Storage_Pool):
820         If the pragma comes from an aspect specification, verify that
821         the aspect applies to an entity with a declarative part.
822         * exp_ch5.adb: Code cleanup.
824 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
826         * sem_res.adb (Resolve_If_Expression): If first expression is
827         universal, resolve subsequent ones with the corresponding class
828         type (Any_Integer or Any_Real).
830 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
832         * sem_ch5.adb (Analyze_Iterator_Specification): If expansion is
833         disabled, complete the analysis of the iterator name to ensure
834         that reference for entities within are properly generated.
836 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
838         * a-dispat.ads (Yield): add Global contract.
839         * a-calend.ads, a-reatim.ads: Added Initializes => Clock_Time.
840         * a-taside.adb: Added Initializes => Tasking_State.
842 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
844         * sem_ch13.adb (Build_Invariant_Procedure):
845         Reimplement the invariant procedure spec and body insertion.
847 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
849         * sem_ch13.adb (Add_Invariant): Do not replace
850         the saved expression of an invariatn aspect when inheriting
851         a class-wide type invariant as this clobbers the existing
852         expression. Do not use New_Copy_List as it is unnecessary
853         and leaves the parent pointers referencing the wrong part of
854         the tree. Do not replace the type references for ASIS when
855         inheriting a class-wide type invariant as this clobbers the
856         existing replacement.
858 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
860         * sem_util.adb (Build_Explicit_Dereference): If the designated
861         expression is an entity name, generate reference to the entity
862         because it will not be resolved again.
864 2016-04-19  Arnaud Charlet  <charlet@adacore.com>
866         * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
867         gnat_rm.texi: Update documentation.
869 2016-04-19  Olivier Hainque  <hainque@adacore.com>
871         * par_sco.adb (Traverse_One, case N_Case_Statement):
872         Skip pragmas before the first alternative.
873         (Traverse_Handled_Statement_Sequence, Exception_Handlers): Likewise.
875 2016-04-19  Tristan Gingold  <gingold@adacore.com>
877         * adaint.c (__gnat_lwp_self): New function (for darwin).
878         * s-osinte-darwin.ads, s-osinte-darwin.adb (lwp_self): Import
879         of __gnat_lwp_self.
881 2016-04-19  Olivier Hainque  <hainque@adacore.com>
883         * sem_util.adb (Build_Elaboration_Entity): Always request an
884         elab counter when preserving control-flow.
886 2016-04-19  Olivier Hainque  <hainque@adacore.com>
888         * sem_ch13.adb (Build_Invariant_Procedure_Declaration): Set
889         Needs_Debug_Info when producing SCOs.
890         * par_sco.adb (Traverse_Aspects): Fix categorization of
891         Type_Invariant to match actual processing as activated depending
892         on pragma Assertion_Policy.
893         * sem_prag.adb (Analyze_Pragma): Remove special case for
894         Name_Invariant regarding SCO generation, which completely disabled
895         the production of SCOs for Invariant pragmas and aspects.
897 2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
899         * checks.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
900         reformatting.
902 2016-04-19  Ed Schonberg  <schonberg@adacore.com>
904         * freeze.adb (Freeze_Profile): Refine predicate that checks
905         whether a function that returns a limited view is declared in
906         another unit and cannot be frozen at this point.
908 2016-04-19  Ed Schonberg  <schonberg@adacore.com>
910         * exp_aggr.adb (Component_Count): Handle properly superflat
911         arrays, i.e. empty arrays where Hi < Lo - 1, to ensure that the
912         return value of the function is Natural, rather than leaving
913         the handling of such arrays to the caller of this function.
915 2016-04-19  Arnaud Charlet  <charlet@adacore.com>
917         * sem_prag.adb, sem_attr.adb, par-prag.adb, exp_aggr.adb, sem_type.adb
918         sem_ch12.adb, sem_ch3.adb, exp_ch7.adb, exp_ch9.adb: Code cleanup.
919         * sem_res.adb, sem_util.ads, sem_util.adb (Is_OK_Volatile_Context):
920         Promoted from being a nested subprogram in Sem_Res.Resolve_Entity_Name
921         to publicly visible routine in Sem_Util.
923 2016-04-19  Ed Schonberg  <schonberg@adacore.com>
925         * checks.adb (Apply_Parameter_Aliasing_Checks): Do not apply
926         the check if the type of the actual is By_Reference.
928 2016-04-19  Arnaud Charlet  <charlet@adacore.com>
930         * sem_res.adb (Within_Subprogram_Call): Detect
931         also nodes that appear in entry calls.
932         (Resolve_Actuals, Insert_Default): Propagate
933         dimension information if any, from default expression to the
934         copy that appears in the list of actuals.
935         * uintp.ads: minor whitespace fix in comment.
936         * sem_prag.adb, stringt.adb, inline.adb, lib-xref-spark_specific.adb:
937         Minor code cleanup.
938         * set_targ.adb (Set_Targ): convert directly from
939         Natural to Pos, without intermediate conversion to Int.
941 2016-04-19  Arnaud Charlet  <charlet@adacore.com>
943         * sem_ch6.adb (Process_Formals): Mark suspicious reference to
944         SPARK RM in comment.
945         * sem_prag.adb (Analyze_Global_Item): Fix reference to SPARK RM
946         in comment.
947         * sem_res.adb (Property_Error, Resolve_Actuals): Fix reference
948         to SPARK RM in both comment and error message.
950 2016-04-19  Eric Botcazou  <ebotcazou@adacore.com>
952         * sem_ch6.adb (Possible_Freeze): If the type is an incomplete
953         CW type, then the subprogram must have a delayed freeze. This
954         ensures that the backend can properly recover the full view when
955         elaborating the access subprogram declaration.
957 2016-04-19  Ed Schonberg  <schonberg@adacore.com>
959         * sem_attr.adb (Resolve_Attribute, case 'Access): Freeze
960         overloadable entity if originally overloaded.
962 2016-04-19  Arnaud Charlet  <charlet@adacore.com>
964         * exp_aggr.adb, exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_code.adb,
965         exp_fixd.adb, namet.adb, osint.adb, osint.ads, par-ch2.adb,
966         sem_ch10.adb, sem_ch12.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb
967         sem_util.adb, styleg.adb, styleg.ads, stylesw.ads: Minor code
968         clean up.
970 2016-04-19  Arnaud Charlet  <charlet@adacore.com>
972         * sem_util.adb (Copy_Node_With_Replacement):
973         use Set_Comes_From_Source instead of directly manipulating
974         internals of the node table.
975         * sem_util.adb (Within_Scope): refactored to remove duplicated code.
976         * sem_aux.adb (Get_Rep_Pragma,
977         Subprogram_Body_Entity, Subprogram_Spec): declare variables that
978         do not change as constants and initialize them in the declaration.
979         (Get_Rep_Pragma, Subprogram_Body_Entity, Subprogram_Spec): declare
980         variables that do not change as constants and initialize them
981         in the declaration.
983 2016-04-19  Ed Schonberg  <schonberg@adacore.com>
985         * sem_res.adb (Resolve_Entry_Call): If the entry has
986         preconditions it is rewritten by means of a wrapper that
987         incorporates the original call. Before rewriting generate a
988         reference to the entry being called to prevent spurious warnings
989         and provide correct cross-reference information.
991 2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
993         * sem_disp.adb (Check_Dispatching_Context): Code cleanup. Add
994         local constant Scop. Ignore any internally generated loops when
995         performing the check concerning an abstract subprogram call
996         without a controlling argument.
997         * sem_util.ads, sem_util.adb (Current_Scope_No_Loops): New routine.
999 2016-04-19  Bob Duff  <duff@adacore.com>
1001         * sem_elab.adb (Check_A_Call): There are cases where we have No
1002         (Ent) after the Alias loop, even when there was no previous error,
1003         so we can't assert that there was an error.
1005 2016-04-19  Ed Schonberg  <schonberg@adacore.com>
1007         * sem_attr.adb (Analyze_Access_Attribute, OK_Self_Reference):
1008         Reject use of type name as a prefix to 'access within an aggregate
1009         in a context that is not the declarative region of a type.
1011 2016-04-19  Vincent Celier  <celier@adacore.com>
1013         * gnatcmd.adb: Make "gnat ls -P" invoke gprls Make "gnat bind
1014         -P" invoke "gprbuild -b" Make "gnat link -P" invoke "gprbuild
1015         -l" Fail if the invocation is "gnat find -P" or "gnat xref -P"
1016         Remove anything related to project files
1017         * g-mbdira.adb: minor whitespace cleanup
1018         * g-spipat.adb: minor removal of extra spaces after closing paren
1020 2016-04-19  Ed Schonberg  <schonberg@adacore.com>
1022         * exp_ch6.adb (Expand_Actuals):  If post-statements are present
1023         and the enclosing context is a function call or indexing, build
1024         an Expression_With_Actions for the call.
1026 2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
1028         * lib-writ.adb (Write_With_Lines): Code cleanup. Do not generate
1029         a with line for an ignored Ghost unit.
1030         * sem_ch7.adb (Analyze_Package_Declaration): Add local constant
1031         Par. A child package is Ghost when its parent is Ghost.
1032         * sem_prag.adb (Analyze_Pragma): Pragma Ghost can now apply to
1033         a subprogram declaration that acts as a compilation unit.
1035 2016-04-18  Michael Matz  <matz@suse.de>
1037         * gcc-interface/decl.c (gnat_to_gnu_entity): Use SET_TYPE_ALIGN.
1038         (gnat_to_gnu_field): Ditto.
1039         (components_to_record): Ditto.
1040         (create_variant_part_from): Ditto.
1041         (copy_and_substitute_in_size): Ditto.
1042         (substitute_in_type): Ditto.
1043         * gcc-interface/utils.c (make_aligning_type): Use SET_TYPE_ALIGN.
1044         (make_packable_type): Ditto.
1045         (maybe_pad_type): Ditto.
1046         (finish_fat_pointer_type): Ditto.
1047         (finish_record_type): Ditto and use SET_DECL_ALIGN.
1048         (rest_of_record_type_compilation): Use SET_TYPE_ALIGN.
1049         (create_field_decl): Use SET_DECL_ALIGN.
1051 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1053         * einfo.adb (Overridden_Operation): assert that
1054         function is called for valid arguments.
1055         * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_type.adb,
1056         s-osinte-vxworks.ads, a-ngcefu.adb, sem_ch10.adb, einfo.ads,
1057         sem_prag.adb, sem_ch12.adb, sem.adb, i-cobol.ads, freeze.adb,
1058         sem_util.adb, a-chtgop.ads, s-rannum.adb, exp_ch6.adb, s-bignum.adb,
1059         s-osinte-freebsd.ads, par-ch5.adb, a-chtgbo.ads, a-cofove.adb:
1060         No space after closing parenthesis except where required for
1061         layout.
1062         * sem_res.adb: Minor reformatting.
1064 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1066         * exp_ch4.adb (Expand_N_Case_Expression): Convert into a case
1067         statement when relevant.
1069 2016-04-18  Bob Duff  <duff@adacore.com>
1071         * a-cuprqu.adb (Enqueue): Properly handle the
1072         case where the new element has a unique priority.
1074 2016-04-18  Tristan Gingold  <gingold@adacore.com>
1076         * adaint.h: Define stat structures and functions for iOS
1077         simulator.
1079 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1081         * sem_res.adb (Resolve_Entry_Call): reset
1082         Is_Overloaded flag after resolving calls to overloaded protected
1083         operations.
1084         * exp_spark.adb (Expand_SPARK): call
1085         Qualify_Entity_Names for tasking nodes, i.e. protected types,
1086         task types and entries.
1087         * exp_ch4.adb (Expand_N_If_Expression): Refine previous change
1088         in case of an unconstrained type.
1090 2016-04-18  Yannick Moy  <moy@adacore.com>
1092         * sem_eval.adb, sem_eval.ads (Check_Non_Static_Context): Add
1093         comment to document usage of subprogram in GNATprove.
1095 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1097         * sem_prag.adb (Analyze_Pragma, case Test_Case): Improve error
1098         message for wrong placement of aspect Test_Case.
1100 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1102         * einfo.ads: Update the documentation of attribute Renamed_Object.
1103         * exp_spark.adb (Expand_Potential_Renaming): Reimplemented.
1105 2016-04-18  Gary Dismukes  <dismukes@adacore.com>
1107         * exp_ch4.adb (Optimize_Length_Comparison): Return immediately
1108         in the case of AAMP (same as for use of the -gnatd.P switch) to
1109         suppress this optimization, which avoids creating a dependence
1110         on the 64-bit arithmetic package.
1112 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1114         * exp_ch4.adb: Update comment.
1116 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1118         * exp_ch6.adb (Expand_Call): Make sure instantiations are
1119         registered only once as pending here.
1121 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1123         * exp_ch4.adb, gnat1drv.adb, opt.ads, sem_res.adb
1124         (Minimize_Expression_With_Actions): New flag.
1125         (Adjust_Global_Switches): Set Minimize_Expression_With_Actions
1126         when generating C.
1127         (Resolve_Short_Circuit): Redo previous change
1128         using Minimize_Expression_With_Actions.
1129         (Expand_N_If_Expression,
1130         Expand_Short_Circuit_Operator): Restore old code to avoid
1131         Expression_With_Actions when Minimize_Expression_With_Actions
1132         is set.
1134 2016-04-18  Vincent Celier  <celier@adacore.com>
1136         * s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File and
1137         Stderr_File): Close local file descriptors when no longer needed.
1139 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1141         * sem_ch5.adb (Analyze_Iterator_Specification): Remove SPARK
1142         mode check that the type of the cursor in an iteration over
1143         a formal container is not volatile. The proper check on the
1144         element type is done elsewhere.
1146 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1148         * sem_ch6.adb (Process_Formals): Do not set a delay freeze on
1149         a subprogram that returns a class-wide type, if the subprogram
1150         is a compilation unit, because otherwise gigi will treat the
1151         subprogram as external, leading to link errors.
1153 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1155         * sem_res.adb (Resolve_Short_Circuit): Do not use
1156         expression-with-actions when generating C.
1158 2016-04-18  Yannick Moy  <moy@adacore.com>
1160         * sem_util.adb (Apply_Compile_Time_Constraint_Error): Do not generate
1161         raise node in GNATprove mode.
1163 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1165         * s-fileio.adb: Minor reformatting.
1166         * sem_prag.adb (Analyze_Input_Item): Add local
1167         variable Input_OK. Do not consider mappings of generic formal
1168         parameters to actuals.
1170 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1172         * sem_ch5.adb (Get_Cursor_Type): If iterator type is a derived
1173         type, the cursor is declared in the scope of the parent type.
1174         (Analyze_Parameter_Specification): A qualified expression with an
1175         iterator type indicates an iteration over a container (explicit
1176         or implicit).
1178 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1180         * osint-c.ads, osint-c.adb (Delete_C_File, Delete_H_File): New.
1181         * gnat1drv.adb (Gnat1drv): Delete old C files before regenerating them.
1182         * debug.adb: Reserve -gnatd.4 to force generation of C files.
1184 2016-04-18  Yannick Moy  <moy@adacore.com>
1186         * sem_eval.adb (Eval_Arithmetic_Op): Do not issue error on static
1187         division by zero, instead possibly issue a warning.
1188         * sem_res.adb (Resolve_Arithmetic_Op): Do not issue error on
1189         static division by zero, instead add check flag on original
1190         expression.
1191         * sem_util.adb, sem_util.ads (Compile_Time_Constraint_Error):
1192         Only issue error when both SPARK_Mode is On and Warn is False.
1194 2016-04-18  Yannick Moy  <moy@adacore.com>
1196         * checks.adb (Apply_Scalar_Range_Check): Force
1197         warning instead of error when SPARK_Mode is On, on index out of
1198         bounds, and set check flag for GNATprove.
1200 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1202         * sem_prag.adb (Check_In_Out_States.Check_Constituent_Usage):
1203         Update the comment on usage.  Reimplemented.
1204         (Check_Input_States.Check_Constituent_Usage): Update the comment
1205         on usage. A Proof_In constituent can now refine an Input state
1206         as long as there is at least one Input constituent present.
1208 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1210         * sem_ch6.adb (Check_Inline_Pragma): Use the Sloc of the
1211         body id as the sloc of the entity in the generated subprogram
1212         declaration, to avoid spurious conformance errors when style
1213         checks are enabled.
1215 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1217         * sem_ch4.adb (Analyze_Selected_Component, Has_Dereference):
1218         Refine check on illegal calls to entities within a task body,
1219         when the entity is declared in an object of the same type. In
1220         a generic context there might be no explicit dereference but if
1221         the prefix includes an access type the construct is legal.
1223 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1225         * rtsfind.ads, rtsfind.adb (RE_Id, RE_Unit_Table): add
1226         RE_Default_Priority.
1228 2016-04-18  Bob Duff  <duff@adacore.com>
1230         * sem_prag.adb (Check_Arg_Is_Local_Name): Don't do the check
1231         if the pragma came from an aspect specification.
1233 2016-04-18  Gary Dismukes  <dismukes@adacore.com>
1235         * gnat1drv.adb, contracts.adb: Minor reformatting and wording fixes.
1237 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1239         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): To suppress
1240         superfluous conformance check on an inlined body with a previous
1241         spec, use the fact that the generated declaration does not come
1242         from source. We must treat the entity as coming from source to
1243         enable some back-end inlining when pragma appears after the body.
1245 2016-04-18  Gary Dismukes  <dismukes@adacore.com>
1247         * lib-xref-spark_specific.adb, par-ch2.adb, errout.ads,
1248         exp_intr.adb: Minor reformatting and typo corrections.
1250 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1252         * sem_ch6.adb: Code cleanup.
1254 2016-04-18  Thomas Quinot  <quinot@adacore.com>
1256         * sem_ch13.adb: Minor reformatting and error message tweaking
1257         (remove extraneous spaces).
1259 2016-04-18  Johannes Kanig  <kanig@adacore.com>
1261         * gnat1drv.adb (Gnat1drv): Force loading of System unit for SPARK.
1263 2016-04-18  Bob Duff  <duff@adacore.com>
1265         * s-fileio.adb (Fopen_Mode): If Mode = Out_File, and the file
1266         exists, and it's a fifo, we use "w" as the open string instead of
1267         "r+". This is necessary to make a write to the fifo block until
1268         a reader is ready.
1270 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1272         * sem_attr.adb (Denote_Same_Function): Account
1273         for a special case where a primitive of a tagged type inherits
1274         a class-wide postcondition from a parent type.
1276 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1278         * par-ch2.adb (P_Expression_Or_Reserved_Word): New routine.
1279         (P_Pragma): Signal Scan_Pragma_Argument_Association when the use
1280         of reserved words is OK.
1281         (Scan_Pragma_Argument_Association):
1282         Add new formal Reserved_Words_OK and update the comment on
1283         usage. Code cleanup. Parse an expression or a reserved word in
1284         identifier form for pragmas Restriction_Warnings and Restrictions
1285         No_Use_Of_Attribute.
1286         * restrict.adb (Check_Restriction_No_Use_Of_Attribute):
1287         Reimplemented.  (Check_Restriction_No_Use_Of_Pragma): Code cleanup.
1288         (Set_Restriction_No_Specification_Of_Aspect): Properly set the warning
1289         flag for an aspect.
1290         (Set_Restriction_No_Use_Of_Attribute): Properly set the warning
1291         flag for an attribute.  (Set_Restriction_No_Use_Of_Entity):
1292         Update the parameter profile.
1293         (Set_Restriction_No_Use_Of_Pragma): Properly set the warning flag for
1294         a pragma.
1295         * restrict.ads (Check_Restriction_No_Use_Of_Attribute): Update
1296         the comment on usage.
1297         (Set_Restriction_No_Use_Of_Entity): Update the parameter profile.
1298         * sem_attr.adb (Analyze_Attribute): Check restriction
1299         No_Use_Of_Attribute.
1300         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
1301         restriction No_Use_Of_Attribute before any rewritings have
1302         taken place.
1303         * sem_prag.adb (Analyze_Pragma): Check restriction
1304         No_Use_Of_Pragma before any rewritings have taken place.
1306 2016-04-18  Bob Duff  <duff@adacore.com>
1308         * sem_ch6.adb (Is_Inline_Pragma): The pragma
1309         argument can be a selected component, which has no Chars field,
1310         so we need to deal with that case (use the Selector_Name).
1311         (Check_Inline_Pragma): We need to test Is_List_Member before
1312         calling In_Same_List, because in case of a library unit, they're
1313         not in lists, so In_Same_List fails an assertion.
1315 2016-04-18  Bob Duff  <duff@adacore.com>
1317         * namet.ads, namet.adb: Add an Append that appends a
1318         Bounded_String onto a Bounded_String. Probably a little more
1319         efficient than "Append(X, +Y);". Also minor cleanup.
1320         (Append_Decoded, Append_Decoded_With_Brackets, Append_Unqualified,
1321         Append_Unqualified_Decoded): Make sure these work with non-empty
1322         buffers.
1323         * casing.ads, casing.adb (Set_Casing): Pass a Bounded_String
1324         parameter, defaulting to Global_Name_Buffer.
1325         * errout.ads, errout.adb (Adjust_Name_Case): Pass a
1326         Bounded_String parameter, no default.
1327         * exp_ch11.adb (Expand_N_Raise_Statement): Use local
1328         Bounded_String instead of Global_Name_Buffer.
1329         * exp_intr.ads, exp_intr.adb (Write_Entity_Name): Rename it
1330         to Append_Entity_Name, and pass a Bounded_String parameter,
1331         instead of using globals.
1332         (Add_Source_Info): Pass a Bounded_String parameter, instead of
1333         using globals.
1334         (Expand_Source_Info): Use local instead of globals.
1335         * stringt.ads, stringt.adb (Append): Add an Append procedure
1336         for appending a String_Id onto a Bounded_String.
1337         (String_To_Name_Buffer, Add_String_To_Name_Buffer): Rewrite in
1338         terms of Append.
1339         * sem_prag.adb (Set_Error_Msg_To_Profile_Name): Adjust for new
1340         Adjust_Name_Case parameter.
1341         * erroutc.adb, uname.adb: Don't pass D => Mixed_Case to
1342         Set_Casing; that's the default.
1343         * lib-xref-spark_specific.adb (Add_SPARK_Scope): Pretend that calls to
1344         protected subprograms are entry calls; otherwise it is not possible to
1345         distinguish them from regular subprogram calls.
1347 2016-04-18  Gary Dismukes  <dismukes@adacore.com>
1349         * sem_ch13.adb (Has_Good_Profile): Improvement
1350         of error message. Now indicates subtype_mark of formal parameter
1351         rather than the formal's name, plus minor rewording.
1353 2016-04-18  Pascal Obry  <obry@adacore.com>
1355         * adaint.c, adaint.h, s-os_lib.ads: Add new routine Current_Process_Id.
1357 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1359         * stringt.adb, exp_ch6.adb, sem_ch13.adb: Minor reformatting.
1361 2016-04-18  Gary Dismukes  <dismukes@adacore.com>
1363         * par-ch4.adb, sem_prag.adb: Minor reformatting.
1365 2016-04-18  Bob Duff  <duff@adacore.com>
1367         * sinput.ads, sinput.adb (Build_Location_String): Take a
1368         parameter instead of using a global variable.  The function
1369         version no longer destroys the Name_Buffer.
1370         * stringt.ads, stringt.adb (String_From_Name_Buffer): Take a
1371         parameter, which defaults to the Global_Name_Buffer, so some
1372         calls can avoid the global.
1373         * exp_ch11.adb, exp_intr.adb: Use new interfaces above
1374         to avoid using globals. All but one call to Build_Location_String
1375         avoids the global. Only one call to String_From_Name_Buffer
1376         avoids it.
1378 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1380         * namet.adb, namet.ads, exp_unst.adb: Minor reformatting.
1382 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1384         * sem_eval.adb (Choice_Matches): Check the expression
1385         against the predicate values when the choice denotes a
1386         subtype with a static predicate.
1387         (Eval_Membership_Op): Code cleanup. Remove the suspicious guard which
1388         tests for predicates.
1389         (Is_OK_Static_Subtype): A subtype with a dynamic predicate
1390         is not static.  (Is_Static_Subtype): A subtype with a dynamic
1391         predicate is not static.
1392         * sem_eval.ads (Is_OK_Static_Subtype): Update the comment on usage.
1393         (Is_Static_Subtype): Update the comment on usage.
1395 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1397         * sem_prag.adb (Analyze_Input_Item): Allow
1398         generic formals to appear as initialization items.
1400 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1402         * sem_ch13.adb (Analyze_Stream_TSS_Definition,
1403         Has_Good_Profile): Additional error message to indicate that
1404         the second parameter of the subprogram must be a first subtype.
1406 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1408         * sem_ch6.adb (Analyze_Subprogram_Body_Helper, Is_Inline_Pragma):
1409         Use the pragma lookahead that determines whether a subprogram
1410         is to be inlined, when some level of backend optimization is
1411         required.
1412         * sem_ch12.ads, sem_ch12.adb (Add_Pending_Instantiation): Factorize
1413         code used to create an instance body when needed for inlining.
1414         * exp_ch6.adb (Expand_Call): When a call is to be inlined, and the
1415         call appears within an instantiation that is not a compilation
1416         unit, add a pending instantiation for the enclosing instance,
1417         so the backend can inline in turn the calls contained in the
1418         inlined body.
1420 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1422         * sem_prag.adb (Build_Pragma_Check_Equivalent): The mapping
1423         that relates operations of the parent type to the operations of
1424         the derived type has three distinct sources:
1425         a) explicit operations of the derived type carry an
1426         Overridden_Operation that designates the operation in the
1427         ancestor.
1428         b) Implicit operations that are inherited by the derived type
1429         carry an alias that may be an explicit subprogram (in which case
1430         it may have an Overridden_ Operation indicator) or may also be
1431         inherited and carry its own alias.
1432         c) If the parent type is an interface, the operation of the
1433         derived type does not override, but the interface operation
1434         indicates the operation that implements it.
1435         * sem_prag.adb: Minor reformatting.
1436         * sem_prag.adb (Check_External_Property): Update
1437         the comment on usage. Reimplement.
1439 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1441         * exp_ch5.adb (Expand_Assignment_Statement): In restricted
1442         profiles such as ZFP, ceiling priority is not available.
1444 2016-04-18  Bob Duff  <duff@adacore.com>
1446         * namet-sp.ads: Minor typo fix, ironically in 'Spelling_Checker'.
1448 2016-04-18  Bob Duff  <duff@adacore.com>
1450         * sem_elab.adb (Output_Calls): Use
1451         Get_Name_String, to clearly indicate that the global Name_Buffer
1452         is being used. The previous code used Is_Internal_Name, which
1453         returns a Boolean, but also has a side effect of setting the
1454         Name_Buffer. Then it called the other Is_Internal_Name, which uses
1455         the Name_Buffer for its input. And then it called Error_Msg_N,
1456         again using the Name_Buffer. We haven't eliminated the global
1457         usage here, but we've made it a bit clearer.
1458         This also allows us to have a side-effect-free version of
1459         Is_Internal_Name.
1460         * namet.ads, namet.adb: Provide a type Bounded_String, along with
1461         routines that can be used without using global variables. Provide
1462         Global_Name_Buffer so existing code can continue to use the
1463         global. Mark the routines that use globals as obsolete.  New code
1464         shouldn't call the obsolete ones, and we should clean up existing
1465         code from time to time.
1466         Name_Find_Str is renamed as Name_Find.
1467         * namet.h: Changed as necessary to interface to the new version
1468         of Namet.
1469         * bindgen.adb, exp_unst.adb: Name_Find_Str is renamed as
1470         Name_Find.
1472 2016-04-18  Yannick Moy  <moy@adacore.com>
1474         * sem_util.adb, sem_util.ads (Has_Full_Default_Initialization): used
1475         outside of GNATprove, hence it should not be removed.
1477 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1479         * sem_prag.adb (Analyze_Refinement_Clause):
1480         The refinement of an external abstract state can now mention
1481         non-external constituents.
1482         (Check_External_Property): Update all SPARK RM references.
1484 2016-04-18  Bob Duff  <duff@adacore.com>
1486         * exp_intr.adb: Remove some duplicated code.
1488 2016-04-18  Yannick Moy  <moy@adacore.com>
1490         * a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads: Mark
1491         package spec and body out of SPARK.
1493 2016-04-18  Johannes Kanig  <kanig@adacore.com>
1495         * spark_xrefs.ads: Minor comment update.
1497 2016-04-18  Johannes Kanig  <kanig@adacore.com>
1499         * gnat1drv.adb (Gnat1drv): Force loading of System
1500         unit for SPARK.
1502 2016-04-18  Bob Duff  <duff@adacore.com>
1504         * a-cuprqu.adb: Correction to previous change. If a new node
1505         is inserted at the front of the queue (because it is higher
1506         priority than the previous front node), we need to update
1507         Header.Next_Unequal -- not just in the case where the queue was
1508         previously empty.
1510 2016-04-18  Bob Duff  <duff@adacore.com>
1512         * a-cuprqu.ads: Change the representation of List_Type from a
1513         singly-linked list to a doubly-linked list. In addition, add a
1514         pointer Next_Unequal, which points past a possibly-long chain
1515         of equal-priority items. This increases efficiency, especially
1516         in the case of many equal-priority items.
1517         * a-cuprqu.adb (Dequeue, Enqueue): Rewrite algorithms to take
1518         advantage of new data structure.
1519         (Finalize): Rewrite in terms of Dequeue, for simplicity.
1521 2016-04-18  Yannick Moy  <moy@adacore.com>
1523         * contracts.adb (Analyze_Object_Contract,
1524         Analyze_Protected_Contract): Remove tests performed in GNATprove.
1525         * sem_util.adb, sem_util.ads (Has_Full_Default_Initialization):
1526         Remove query for tests performed in GNATprove.
1528 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1530         * sem_aggr.adb (Resolve_Record_Aggregate): If
1531         Warn_On_Redundant_Constructs is enabled, report a redundant box
1532         association that does not cover any components, as it done for
1533         redundant others associations in case statements.
1535 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1537         * sem_prag.adb (Collect_Inherited_Class_Wide_Conditions):
1538         Analyze the generated Check pragma for an inherited condition so
1539         that it does not freeze the dispatching type of the primitive
1540         operation, because it is pre-analyzed at the point of the
1541         subprogram declaration (and not in the subprogram body, as is
1542         done during regular expansion).
1544 2016-04-18  Vincent Celier  <celier@adacore.com>
1546         * ali.ads: Increase the range of all _Id types to 100 millions.
1548 2016-04-18  Gary Dismukes  <dismukes@adacore.com>
1550         * sem_warn.adb (Check_References): Change warning to suggest
1551         using pragma Export rather than saying "volatile has no effect".
1553 2016-04-18  Bob Duff  <duff@adacore.com>
1555         * g-souinf.ads (Compilation_ISO_Date): New function to return
1556         the current date in ISO form.
1557         * exp_intr.adb (Expand_Source_Info, Add_Source_Info): Expand
1558         a call to Compilation_ISO_Date into a string literal containing
1559         the current date in ISO form.
1560         * exp_intr.ads (Add_Source_Info): Improve documentation.
1561         * sem_intr.adb (Check_Intrinsic_Subprogram): Recognize
1562         Compilation_ISO_Date.
1563         * snames.ads-tmpl (Name_Compilation_ISO_Date): New Name_Id.
1565 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1567         * layout.adb (Set_Elem_Alignment): Extend setting of alignment
1568         to subtypes that are not first subtypes.
1570 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1572         * sem_prag.ads (Collect_Inherited_Class_Wide_Conditions):
1573         Simplify interface.
1574         * sem_prag.adb (Collect_Inherited_Class_Wide_Conditions): Insert
1575         generated pragmas after subprogram declaration, rather than in
1576         the corresponding subprogram body.
1577         * sem_ch6.adb (New_Overloaded_Entity): In GNATProve
1578         mode, if the operation is overridding, call
1579         Collect_Inherited_Class_Wide_Conditions to generate the
1580         corresponding pragmas immediately after the corresponding
1581         subprogram declaration.
1583 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1585         * spark_xrefs.ads (Xref_Index, Scope_Index, File_Index): restrict
1586         type to natural numbers.
1587         (Stype): document code characters for concurrent entities.
1589 2016-04-18  Olivier Hainque  <hainque@adacore.com>
1591         * targparm.ads: Update the Frontend_Exceptions default internal
1592         value.
1593         (Frontend_Exceptions_On_Target): Change default value to True.
1595 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1597         * sem_ch4.adb (Analyze_Selected_Component): Refine error
1598         detection when a selected component in the body of a synchronized
1599         type is a reference to an object of the same type declared
1600         elsewhere. The construct is legal if the prefix of the selected
1601         component includes an explicit dereference at any point.
1603 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1605         * sem_ch3.adb (Analyze_Object_Declaration): Do not consider
1606         internally generated expressions when trying to determine whether
1607         a formal parameter of a tagged type subject to Extensions_Visible
1608         False is used to initialize an object.
1609         * sem_ch4.adb (Analyze_Type_Conversion): Do not consider
1610         internally generated expressions when trying to determine whether
1611         a formal parameter of a tagged type subject to Extensions_Visible
1612         False is used in a type conversion.
1614 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1616         * sem_res.adb (Is_Protected_Operation_Call):
1617         Add guards to account for a non-decorated selected component.
1619 2016-04-18  Yannick Moy  <moy@adacore.com>
1621         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Improve
1622         implementation of Body_Has_SPARK_Mode_On.
1623         * sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_From_Annotation):
1624         New function replacing previous Get_SPARK_Mode_From_Pragma, that
1625         deals also with aspects.
1626         (Get_SPARK_Mode_Type): Make function internal again.
1627         * inline.adb, sem_ch7.adb, sem_util.adb: Use new
1628         Get_SPARK_Mode_From_Annotation.
1630 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1632         * contracts.adb (Analyze_Object_Contract): Update references to
1633         SPARK RM.
1634         * freeze.adb (Freeze_Entity): Update references to SPARK RM.
1635         * ghost.adb Add with and use clauses for Sem_Disp.
1636         (Check_Ghost_Derivation): Removed.
1637         (Check_Ghost_Overriding):
1638         Reimplemented.  (Check_Ghost_Policy): Update references to SPARK RM.
1639         (Check_Ghost_Primitive): New routine.
1640         (Check_Ghost_Refinement): New routine.  (Is_OK_Ghost_Context):
1641         Update references to SPARK RM.  (Is_OK_Pragma): Update references
1642         to SPARK RM. Predicates are now a valid context for references
1643         to Ghost entities.
1644         * ghost.ads (Check_Ghost_Derivation): Removed.
1645         (Check_Ghost_Overriding): Update the comment on usage.
1646         (Check_Ghost_Primitive): New routine.
1647         (Check_Ghost_Refinement): New routine.
1648         (Remove_Ignored_Ghost_Code): Update references to SPARK RM.
1649         * sem_ch3.adb (Process_Full_View): Remove the now obsolete check
1650         related to Ghost derivations
1651         * sem_ch6.adb (Check_Conformance): Remove now obsolete check
1652         related to the convention-like behavior of pragma Ghost.
1653         (Check_For_Primitive_Subprogram): Verify that the Ghost policy
1654         of a tagged type and its primitive agree.
1655         * sem_prag.adb (Analyze_Pragma): Update references to SPARK
1656         RM. Move the verification of pragma Assertion_Policy Ghost
1657         to the proper place. Remove the now obsolete check related
1658         to Ghost derivations.
1659         (Collect_Constituent): Add a call to Check_Ghost_Refinement.
1660         * sem_res.adb (Resolve_Actuals): Update references to SPARK RM.
1662 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1664         * layout.adb: Fix more minor typos in comments.
1666 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1668         * a-calend.ads, sem_prag.adb, sem_ch6.adb: Minor reformatting.
1670 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1672         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): In GNATprove
1673         mode, collect inherited class-wide conditions to generate the
1674         corresponding pragmas.
1675         * sem_prag.ads (Build_Pragma_Check_Equivalent): Moved from contracts
1676         * contracts.adb (Collect_Inherited_Class_Wide_Conditions): New
1677         procedure for overriding subprograms, used to generate the pragmas
1678         corresponding to an inherited class- wide pre- or postcondition.
1679         * sem_prag.adb (Build_Pragma_Check_Equivalent): moved here
1680         from contracts.adb (Replace_Condition_Entities): Subsidiary
1681         Build_Pragma_Check_Equivalent, to implement the proper semantics
1682         of inherited class-wide conditions, as given in AI12-0113.
1683         (Process_Class_Wide_Condition): Removed.
1684         (Collect_Inherited_Class_Wide_Conditions): Iterate over pragmas
1685         in contract of subprogram, to collect inherited class-wide
1686         conditions.
1687         (Build_Pragma_Check_Equivalent): Moved to sem_prag.adb
1689 2016-04-18  Yannick Moy  <moy@adacore.com>
1691         * a-calend.adb (Ada.Calendar): Mark package body as SPARK_Mode Off.
1692         * a-calend.ads (Ada.Calendar): Mark package spec as
1693         SPARK_Mode and add synchronous external abstract state Clock_Time.
1695 2016-04-18  Yannick Moy  <moy@adacore.com>
1697         * sem_res.adb (Resolve_Call): Prevent inlining of
1698         calls inside expression functions.  Factor previous code issuing
1699         errors to call Cannot_Inline instead, which does appropriate
1700         processing of message for GNATprove.
1702 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1704         * einfo.ads, sem_ch3.adb, sem_ch8.adb, osint-l.adb, rtsfind.adb,
1705         osint-b.adb: Cleanups.
1707 2016-04-18  Yannick Moy  <moy@adacore.com>
1709         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Only create
1710         body to inline in GNATprove mode when SPARK_Mode On applies to
1711         subprogram body.
1712         * sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_Type): Make function
1713         public.
1715 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1717         * layout.adb: Fix minor typo in comment.
1718         * inline.adb: Fix minor pasto.
1719         * sem_ch12.ads: Fix minor typos in comments.
1721 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1723         * sem_disp.adb (Check_Dispatching_Call): Major rewriting to
1724         handle some complex cases of tag indeterminate calls that are
1725         actuals in other dispatching calls that are themselves tag
1726         indeterminate.
1727         (Check_Dispatching_Context): Add parameter to support recursive
1728         check for an enclosing construct that may provide a tag for a
1729         tag-indeterminate call.
1731 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1733         * sem_prag.adb (Analyze_Depends_In_Decl_Part):
1734         Add global variables Task_Input_Seen and Task_Output_Seen.
1735         (Analyze_Global_Item): Detect an illegal use of the current
1736         instance of a single protected/task type in a global annotation.
1737         (Analyze_Input_Output): Inputs and output related to the current
1738         instance of a task unit are now tracked.
1739         (Check_Usage): Require
1740         the presence of the current instance of a task unit only when
1741         one input/output is available.  (Current_Task_Instance_Seen):
1742         New routine.
1743         (Is_CCT_Instance): New parameter profile. Update
1744         the comment on usage. The routine now properly recognizes several
1745         cases related to single protected/task types.
1747 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1749         * freeze.adb (Freeze_Entity): Use New_Freeze_Node
1750         to create a brand new freeze node. This handles a case where an
1751         ignored Ghost context is freezing something which is not ignored
1752         Ghost and whose freeze node should not be removed from the tree.
1753         (New_Freeze_Node): New routine.
1755 2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
1757         * sigtramp.h (__gnat_set_is_vxsim) New function to
1758         tell sigtramp-vxworks to handle vxsim signal contexts.  *
1759         sigtramp-vxworks.c (__gnat_sigtramp) Take into account the
1760         differences in the sigcontext structure between the expected
1761         regular x86 or x86_64 ones and the ones received in case of
1762         exexution on the vxworks simulator.
1763         * init.c: also compute is_vxsim in case of x86_64-vx7 target. Provide
1764         this information to sigtramp-vxworks.c. Remove the old mechanism for
1765         vxsim.
1766         * init-vxsim.c, sigtramp-vxworks-vxsim.c: remove, now obsolete.
1768 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1770         * exp_ch3.adb (Inline_Init_Proc): New function returning
1771         whether the initialization procedure of a type should be
1772         inlined.  Return again True for controlled type themselves.
1773         (Build_Array_Init_Proc): Call it to set Set_Is_Inlined on Init_Proc.
1774         (Build_Record_Init_Proc): Likewise.
1776 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1778         * gnatvsn.ads (Library_Version): Bump to 7.
1780 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1782         * sem_ch6.adb (Analyze_Expression_Function): Set Inlined flag
1783         on the entity of a subprogram declaration that is completed by
1784         an expression function.
1786 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1788         * sem_util.adb (Is_Current_Instance): A entity given by a subtype
1789         declaration can appear in an aspect specification for a dynamic
1790         predicate, and a pragma for aspect Predicate_Failure.
1791         * exp_util.adb (Replace_Subtype_References): Replace current
1792         occurrences of the subtype to which a dynamic predicate applies,
1793         byt the expression that triggers a predicate check. Needed to
1794         implement new aspect Predicate_Failure.
1796 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1798         * a-intsig.ads, a-intsig.adb: Removed, no longer used.
1799         * Makefile.rtl: update accordingly.
1801 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1803         * sem_type.adb (Disambiguate): Call Covers only when necessary
1804         for standard operators.
1806 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1808         * atree.ads (Num_Extension_Nodes): Add couple of figures
1809         to comment.
1810         * atree.adb: Add GNAT.Heap_Sort_G dependency.
1811         (Print_Statistics): New exported procedure to print statistics.
1813 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1815         * exp_ch3.adb (Build_Record_Init_Proc): Do not mark the procedure
1816         as to be inlined if the type needs finalization.
1818 2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
1820         * sigtramp-vxworks-target.inc: sigtramp-vxworks: force the stack
1821         alignment for x86_64.
1822         * init.c: Better fix for guard page reset on x86_64-vx7.
1823         Do not try to retrieve the page that actually raised
1824         the signal as the probing mechanism used on x86_64 do not allow
1825         such retrieval. We thus just test if the guard page is active,
1826         and re-activate it if not.
1828 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1830         * a-sytaco.adb (Suspension_Object): Aspect Default_Initial_Condition
1831         added.
1833 2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
1835         * affinity.c: Use the proper type for task id.
1836         * init.c (__gnat_inum_to_ivec): ivec is a pointer.
1838 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1840         * sem_prag.adb (Process_Convention): Relax rule on exporting
1841         Intrinsic types if Relaxed_RM_Semantics is True.
1843 2016-04-18  Vincent Celier  <celier@adacore.com>
1845         * sem_ch3.adb, lib.ads, sinfo.ads, sem_ch10.adb, einfo.adb, einfo.ads,
1846         checks.ads, sem_ch12.adb, sem.adb, sem_util.adb, sem_util.ads,
1847         sem_res.adb, sem_attr.adb, par.adb, exp_ch4.adb, errout.ads,
1848         sem_ch4.adb, atree.adb, atree.ads, sem_warn.adb, treepr.adb,
1849         exp_ch3.ads, exp_unst.adb: Change "descendent" to
1850         "descendant" in comments, error messages and identifiers.
1851         * gcc-interface/decl.c: Ditto.
1853 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1855         * sem_type.adb (Operator_Matches_Spec): Call First_Formal on
1856         New_S only once at the beginning of the function.
1858 2016-04-02  Eric Botcazou  <ebotcazou@adacore.com>
1860         * gcc-interface/decl.c (components_to_record): Restrict the previous
1861         change to fields with variable size.
1863 2016-03-27  Eric Botcazou  <ebotcazou@adacore.com>
1865         * gcc-interface/decl.c (components_to_record): Add special case for
1866         single field with representation clause at offset 0.
1868 2016-03-16  Svante Signell  <svante.signell@gmail.com>
1870         * gcc-interface/Makefile.in: Add support for x86 GNU/Hurd.
1871         * s-osinte-gnu.ads: New file.
1873 2016-03-13  Eric Botcazou  <ebotcazou@adacore.com>
1875         * system-vxworks-m68k.ads (Stack_Check_Probes): Set to True.
1876         (Stack_Check_Limits): Set to False.
1877         * system-vxworks-mips.ads (Stack_Check_Probes): Set to True.
1878         (Stack_Check_Limits): Set to False.
1879         * system-vxworks-ppc.ads (Stack_Check_Probes): Set to True.
1880         (Stack_Check_Limits): Set to False.
1881         * system-vxworks-sparcv9.ads (Stack_Check_Probes): Set to True.
1882         (Stack_Check_Limits): Set to False.
1883         * system-vxworks-x86.ads (Stack_Check_Probes): Set to True.
1884         (Stack_Check_Limits): Set to False.
1886 2016-03-07  Eric Botcazou  <ebotcazou@adacore.com>
1888         * gcc-interface/trans.c (statement_node_p): New predicate.
1889         (gnat_to_gnu): Invoke it to detect statement nodes.  In ASIS mode, do
1890         not return dummy results for expressions attached to packed array
1891         implementation types.
1893 2016-03-07  Eric Botcazou  <ebotcazou@adacore.com>
1895         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Always mark
1896         the expression of a renaming manually in case #3.
1898 2016-03-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>
1900         * system-linux-s390.ads: Enable Stack_Check_Probes.
1901         * system-linux-s390.ads: Likewise.
1903 2016-02-29  Martin Liska  <mliska@suse.cz>
1905         * gcc-interface/utils.c (set_reverse_storage_order_on_pad_type):
1906         Replace ENABLE_CHECKING macro with flag_checking.
1908 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
1910         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Retrofit
1911         handling of unconstrained array types as designated types into common
1912         processing.  Also handle array types as incomplete designated types.
1914 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
1916         * gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
1917         ASIS mode, fully lay out the minimal record type.
1919 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
1921         * gcc-interface/trans.c (finalize_nrv_r): Remove obsolete code.
1922         (build_return_expr): Likewise.
1923         (Call_to_gnu): If this is a function call and there is no target,
1924         create a temporary for the return value for all aggregate types,
1925         but never create it for a return statement.  Push a binding level
1926         around the call in more cases.  Remove obsolete code.
1928 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
1930         * gcc-interface/ada-tree.h (DECL_RETURN_VALUE_P): New macro.
1931         * gcc-interface/gigi.h (gigi): Remove useless attribute.
1932         (gnat_gimplify_expr): Likewise.
1933         (gnat_to_gnu_external): Declare.
1934         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Factor out
1935         code dealing with the expression of external constants into...
1936         Invoke gnat_to_gnu_external instead.
1937         <E_Variable>: Invoke gnat_to_gnu_external to translate renamed objects
1938         when not for a definition.  Deal with COMPOUND_EXPR and variables with
1939         DECL_RETURN_VALUE_P set for renamings and with the case of a dangling
1940         'reference to a function call in a renaming.  Remove obsolete test and
1941         adjust associated comment.
1942         * gcc-interface/trans.c (Call_to_gnu): Set DECL_RETURN_VALUE_P on the
1943         temporaries created to hold the return value, if any.
1944         (gnat_to_gnu_external): ...this.  New function.
1945         * gcc-interface/utils.c (create_var_decl): Detect a constant created
1946         to hold 'reference to function call.
1947         * gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Add folding
1948         for COMPOUND_EXPR in the DECL_RETURN_VALUE_P case.
1950 2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
1952         * exp_ch4.adb (Expand_N_Indexed_Component): Activate synchronization if
1953         the prefix denotes an entity which Has_Atomic_Components.
1954         * gcc-interface/trans.c (node_is_atomic): Return true if the prefix
1955         denotes an entity which Has_Atomic_Components.
1957 2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
1959         * gcc-interface/utils2.c (gnat_protect_expr): Make a SAVE_EXPR only
1960         for fat pointer or scalar types.
1962 2016-02-16  Eric Botcazou  <ebotcazou@adacore.com>
1964         * gcc-interface/gigi.h (maybe_debug_type): New inline function.
1965         * gcc-interface/misc.c (gnat_get_array_descr_info): Use it.
1966         Call maybe_character_value on the array bounds.  Get to the base type
1967         of the index type and call maybe_debug_type on it.
1968         * gcc-interface/utils.c (finish_character_type): Add special treatment
1969         for char_type_node.
1971 2016-02-16  Eric Botcazou  <ebotcazou@adacore.com>
1973         * gcc-interface/misc.c (gnat_enum_underlying_base_type): New function.
1974         (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define to above.
1976 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
1978         * prj-tree.ads: Spelling fixes - behaviour -> behavior and
1979         neighbour -> neighbor.
1980         * prep.adb: Likewise.
1981         * prj.ads: Likewise.
1982         * prepcomp.adb: Likewise.
1983         * g-socket.ads: Likewise.
1984         * s-imgrea.adb: Likewise.
1985         * a-calend.adb: Likewise.
1986         * exp_disp.adb: Likewise.
1987         * doc/gnat_ugn/gnat_utility_programs.rst: Likewise.
1988         * g-socket.adb: Likewise.
1989         * sem_ch12.adb: Likewise.
1990         * terminals.c: Likewise.
1992 2016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
1994         * gcc-interface/misc.c (gnat_init): Remove second argument in call to
1995         build_common_tree_nodes.
1997 2016-02-08  Eric Botcazou  <ebotcazou@adacore.com>
1999         * gcc-interface/utils.c (create_var_decl): Set again DECL_COMMON and
2000         DECL_IGNORED_P last.
2002 2016-01-28  Eric Botcazou  <ebotcazou@adacore.com>
2004         * gcc-interface/gigi.h (enum attr_type): Rename into...
2005         (enum attrib_type): ...this.
2006         (struct attrib): Adjust.
2007         * gcc-interface/decl.c (prepend_one_attribute): Likewise.
2009 2016-01-20  Eric Botcazou  <ebotcazou@adacore.com>
2011         * exp_ch2.adb (Expand_Current_Value): Make an appropriate character
2012         literal if the entity is of a character type.
2013         * gcc-interface/lang.opt (fsigned-char): New option.
2014         * gcc-interface/misc.c (gnat_handle_option): Accept it.
2015         (gnat_init): Adjust comment.
2016         * gcc-interface/gigi.h (finish_character_type): New prototype.
2017         (maybe_character_type): New inline function.
2018         (maybe_character_value): Likewise.
2019         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: For
2020         a character of CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
2021         Set TYPE_ARTIFICIAL early and call finish_character_type on the type.
2022         <E_Enumeration_Subtype>: For a subtype of character with RM_Size and
2023         Esize equal to CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
2024         Copy TYPE_STRING_FLAG from type to subtype.
2025         <E_Array_Type>: Deal with character index types.
2026         <E_Array_Subtype>: Likewise.
2027         * gcc-interface/trans.c (gigi): Replace unsigned_char_type_node with
2028         char_type_node throughout.
2029         (build_raise_check): Likewise.
2030         (get_type_length): Deal with character types.
2031         (Attribute_to_gnu) <Attr_Pos>: Likewise.  Remove obsolete range check
2032         code.  Minor tweak.
2033         <Attr_Pred>: Likewise.
2034         (Loop_Statement_to_gnu): Likewise.
2035         (Raise_Error_to_gnu): Likewise.
2036         <N_Indexed_Component>: Deal with character index types.  Remove
2037         obsolete code.
2038         <N_Slice>: Likewise.
2039         <N_Type_Conversion>: Deal with character types.  Minor tweak.
2040         <N_Unchecked_Type_Conversion>: Likewise.
2041         <N_In>: Likewise.
2042         <N_Op_Eq>: Likewise.
2043         (emit_index_check): Delete.
2044         * gcc-interface/utils.c (finish_character_type): New function.
2045         (gnat_signed_or_unsigned_type_for): Deal with built-in character types.
2046         * gcc-interface/utils2.c (expand_sloc): Replace unsigned_char_type_node
2047         with char_type_node.
2048         (build_call_raise): Likewise.
2049         (build_call_raise_column): Likewise.
2050         (build_call_raise_range): Likewise.
2052 2016-01-18  Eric Botcazou  <ebotcazou@adacore.com>
2054         * gcc-interface/gigi.h (build_call_raise_column): Adjust prototype.
2055         (build_call_raise_range): Likewise.
2056         (gnat_unsigned_type): Delete.
2057         (gnat_signed_type): Likewise.
2058         (gnat_signed_or_unsigned_type_for): New prototype.
2059         (gnat_unsigned_type_for): New inline function.
2060         (gnat_signed_type_for): Likewise.
2061         * gcc-interface/cuintp.c (build_cst_from_int): Call build_int_cst.
2062         * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
2063         (gnat_to_gnu_entity) <E_Array_Type>: Always translate the index types
2064         and compute their base type from that.
2065         <E_Array_Subtype>: Remove duplicate declaration.
2066         * gcc-interface/misc.c (get_array_bit_stride): Call build_int_cst.
2067         * gcc-interface/trans.c (get_type_length): Likewise.
2068         (Attribute_to_gnu): Likewise.
2069         (Loop_Statement_to_gnu): Likewise.
2070         (Call_to_gnu): Likewise.
2071         (gnat_to_gnu): Call build_real, build_int_cst, gnat_unsigned_type_for
2072         and gnat_signed_type_for.  Minor tweaks.
2073         (build_binary_op_trapv): Likewise.
2074         (emit_check): Likewise.
2075         (convert_with_check): Likewise.
2076         (Raise_Error_to_gnu): Adjust calls to the build_call_raise family of
2077         functions.  Minor tweaks.
2078         (Case_Statement_to_gnu): Remove dead code.
2079         (gnat_to_gnu): Call gnat_unsigned_type_for and gnat_signed_type_for.
2080         (init_code_table): Minor reordering.
2081         * gcc-interface/utils.c (gnat_unsigned_type): Delete.
2082         (gnat_signed_type): Likewise.
2083         (gnat_signed_or_unsigned_type_for): New function.
2084         (unchecked_convert): Use directly the size in the test for precision
2085         vs size adjustments.
2086         (install_builtin_elementary_types): Call gnat_signed_type_for.
2087         * gcc-interface/utils2.c (nonbinary_modular_operation): Call
2088         build_int_cst.
2089         (build_goto_raise): New function taken from...
2090         (build_call_raise): ...here.  Call it.
2091         (build_call_raise_column): Add KIND parameter and call it.
2092         (build_call_raise_range): Likewise.
2094 2016-01-18  Eric Botcazou  <ebotcazou@adacore.com>
2096         * gcc-interface/ada-tree.h (TYPE_IMPLEMENTS_PACKED_ARRAY_P): Rename to
2097         (TYPE_IMPL_PACKED_ARRAY_P): ...this.
2098         (TYPE_CAN_HAVE_DEBUG_TYPE_P): Do not test TYPE_DEBUG_TYPE.
2099         * gcc-interface/decl.c (gnat_to_gnu_entity): Simplify NULL_TREE tests
2100         and tweak gnat_encodings tests throughout.
2101         (initial_value_needs_conversion): Likewise.
2102         (intrin_arglists_compatible_p): Likewise.
2103         * gcc-interface/misc.c (gnat_print_type): Likewise.
2104         (gnat_get_debug_type): Likewise.
2105         (gnat_get_fixed_point_type_info): Likewise.
2106         (gnat_get_array_descr_info): Likewise.
2107         (get_array_bit_stride): Likewise.
2108         (gnat_get_type_bias): Fix formatting.
2109         (enumerate_modes): Likewise.
2110         * gcc-interface/trans.c (gnat_to_gnu): Likewise.
2111         (add_decl_expr): Simplify NULL_TREE test.
2112         (end_stmt_group): Likewise.
2113         (build_binary_op_trapv): Fix formatting.
2114         (get_exception_label): Use switch statement.
2115         (init_code_table): Move around.
2116         * gcc-interface/utils.c (global_bindings_p): Simplify NULL_TREE test.
2117         (gnat_poplevel): Likewise.
2118         (gnat_set_type_context): Likewise.
2119         (defer_or_set_type_context): Fix formatting.
2120         (gnat_pushdecl): Simplify NULL_TREE test.
2121         (maybe_pad_type): Likewise.
2122         (add_parallel_type): Likewise.
2123         (create_range_type): Likewise.
2124         (process_deferred_decl_context): Likewise.
2125         (convert): Likewise.
2126         (def_builtin_1): Likewise.
2127         * gcc-interface/utils2.c (find_common_type): Likewise.
2128         (build_binary_op): Likewise.
2129         (gnat_rewrite_reference): Likewise.
2130         (get_inner_constant_reference): Likewise.
2132 2016-01-18  Eric Botcazou  <ebotcazou@adacore.com>
2134         PR ada/69219
2135         * gcc-interface/trans.c (check_inlining_for_nested_subprog): Consider
2136         the parent function instead of the current function in order to issue
2137         the warning or the error.  Add guard for ignored functions.
2139 2016-01-17  Jakub Jelinek  <jakub@redhat.com>
2141         * adaint.c (__gnat_killprocesstree): Avoid -Wparentheses warning.
2143 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
2145         * adaint.c (__gnat_locate_exec_on_path): Use const char * instead
2146         of char * for path_val to avoid warnings.
2148 2016-01-06  Pierre-Marie de Rodat  <derodat@adacore.com>
2150         * gcc-interface/utils.c: Bump copyright year.
2151         (rest_of_record_type_compilation): Add XVE/XVU parallel types to
2152         the current lexical scope.
2154 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
2156         * gnat_ugn.texi: Bump @copying's copyright year.
2157         * gnat_rm.texi: Likewise.
2159 2016-01-02  Eric Botcazou  <ebotcazou@adacore.com>
2161         * gnatvsn.ads: Bump copyright year.
2164 Copyright (C) 2016 Free Software Foundation, Inc.
2166 Copying and distribution of this file, with or without modification,
2167 are permitted in any medium without royalty provided the copyright
2168 notice and this notice are preserved.