* gcc-interface/Makefile.in (x86 GNU/Hurd): Use s-osinte-gnu.adb.
[official-gcc.git] / gcc / ada / ChangeLog
blob1c41831e4d2b339e1811d51f7e3f048d5f3678d8
1 2016-04-27  Svante Signell  <svante.signell@gmail.com>
3         * gcc-interface/Makefile.in (x86 GNU/Hurd): Use s-osinte-gnu.adb.
4         * s-osinte-gnu.ads: Small tweaks.
5         * s-osinte-gnu.adb: New file.
7 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
9         * sem_prag.adb (Match_Constituent): Treat a constant as a legal
10         constituent even if it is not to prevent spurious errors.
12 2016-04-21  Gary Dismukes  <dismukes@adacore.com>
14         * sem_ch4.adb: Minor typo fixes and reformatting.
16 2016-04-21  Dmitriy Anisimkov  <anisimko@adacore.com>
18         * g-calend.ads (No_Time): The same value in any timezone.
19         * g-socket.adb (Raise_Host_Error): Remove ending
20         dot from original error message before append colon delimited
21         host name.
23 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
25         * sem_ch3.adb: Code cleanup.
26         * sem_ch6.adb: Code cleanup.
27         (Is_Matching_Limited_View): New routine.
28         (Matches_Limited_With_View): Reimplemented.
29         * sem_ch10.adb (Decorate_Type): Code cleanup.
31 2016-04-21  Doug Rupp  <rupp@adacore.com>
33         * tracebak.c (PPC ELF): Add macro defs for lynxos178e.
35 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
37         * sem_ch4.adb (Try_Container_Indexing): If there are overloaded
38         indexing functions, collect all overloadings of the call firts,
39         and then transfer them to indexing node, to prevent interleaving
40         of the set of interpretations of the nodes involved.
41         * sem_res.adb (Resolve): Suppress cascaded errors that report
42         ambiguities when one of the actuals in an overloaded generatlized
43         indexing operation is illegal and has type Any_Type, as is done
44         for similar cascaded errors in subprogram calls.
45         (Valid_Tagged_Conversion): Cleanup conversion checks when one
46         of the types involved is a class-wide subtype.
48 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
50         * sem_ch12.adb (Load_Parent_Of_Generic): When looking for the
51         subprogram declaration within a wrapper package, skip pragmas
52         that may have been generated by aspect specifications on the
53         generic instance.
55 2016-04-21  Javier Miranda  <miranda@adacore.com>
57         * exp_aggr.adb (Component_Not_OK_For_Backend): Generating C
58         code return True for array identifiers since the backend needs
59         to initialize such component by means of memcpy().
61 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
63         * a-tasatt.adb, a-tasatt.ads (Fast_Path): Rewritten to avoid reading
64         potentially uninitialized memory.
65         * sem_ch3.adb: Minor style fix in comment.
67 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
69         * gnat_rm.texi, gnat_ugn.texi,
70         doc/gnat_ugn/gnat_project_manager.rst,
71         doc/gnat_ugn/building_executable_programs_with_gnat.rst,
72         doc/gnat_ugn/gnat_and_program_execution.rst,
73         doc/gnat_ugn/gnat_utility_programs.rst,
74         doc/gnat_ugn/the_gnat_compilation_model.rst,
75         doc/gnat_rm/implementation_defined_attributes.rst,
76         doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
77         doc/gnat_rm/implementation_defined_pragmas.rst,
78         doc/gnat_rm/the_gnat_library.rst,
79         doc/gnat_rm/implementation_defined_aspects.rst: Update doc.
80         * doc/Makefile: Cleanups.
82 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
84         * exp_pakd.adb, sem_ch13.adb: Minor reformatting.
86 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
88         * exp_dbug.adb, exp_dbug.ads (Qualify_Entity_Name): Add suffixes to
89         disambiguate local variables that may be hidden from inner visibility
90         by nested block declarations or loop variables.
92 2016-04-21  Jerome Lambourg  <lambourg@adacore.com>
94         * s-soflin.adb: Initialize the Stack_Limit global variable.
96 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
98         * lib-writ.adb: Minor reformatting.
100 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
102         * exp_pakd.adb (Compute_Number_Components): New function to
103         build an expression that computes the number of a components of
104         an array that may be multidimensional.
105         (Expan_Packed_Eq): Use it.
107 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
109         * g-traceb.ads: Update list of supported platforms.
111 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
113         * sem_ch13.adb (Add_Predicates): if the type is declared in
114         an inner package it may be frozen outside of the package, and
115         the generated pragma has not been analyzed yet, the expression
116         for the predicate must be captured and added to the predicate
117         function at this point.
119 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
121         * contracts.adb (Analyze_Package_Body_Contract): Do not check
122         for a missing package refinement because 1) packages do not have
123         "refinement" and 2) the check for proper state refinement is
124         performed in a different place.
125         * einfo.adb (Has_Non_Null_Visible_Refinement): Reimplemented.
126         (Has_Null_Visible_Refinement): Reimplemented.
127         * sem_ch3.adb (Analyze_Declarations): Determine whether all
128         abstract states have received a refinement and if not, emit
129         errors.
130         * sem_ch7.adb (Analyze_Package_Declaration): Code
131         cleanup. Determine whether all abstract states of the
132         package and any nested packages have received a refinement
133         and if not, emit errors.
134         (Requires_Completion_In_Body): Add new formal parameter
135         Do_Abstract_States. Update the comment on usage. Propagate the
136         Do_Abstract_States flag to all Unit_Requires_Body calls.
137         (Unit_Requires_Body): Remove formal
138         parameter Ignore_Abstract_States. Add new formal paramter
139         Do_Abstract_States. Propagate the Do_Abstract_States flag to
140         all Requires_Completion_In calls.
141         * sem_ch7.ads (Unit_Requires_Body): Remove formal
142         parameter Ignore_Abstract_States. Add new formal paramter
143         Do_Abstract_States. Update the comment on usage.
144         * sem_ch9.adb (Analyze_Single_Protected_Declaration): Do
145         not initialize the constituent list as this is now done on a
146         need-to-add-element basis.
147         (Analyze_Single_Task_Declaration):
148         Do not initialize the constituent list as this is now done on
149         a need-to-add-element basis.
150         * sem_ch10.adb (Decorate_State): Do not initialize the constituent
151         lists as this is now done on a need-to-add-element basis.
152         * sem_prag.adb (Analyze_Constituent): Set the
153         refinement constituents when adding a new element.
154         (Analyze_Part_Of_In_Decl_Part): Set the Part_Of constituents when
155         adding a new element.
156         (Analyze_Part_Of_Option): Set the Part_Of
157         constituents when adding a new element.
158         (Analyze_Pragma): Set the Part_Of constituents when adding a new
159         element.
160         (Check_Constituent_Usage (all versions)): Reimplemented.
161         (Collect_Constituent): Set the refinement constituents when adding
162         a new element.
163         (Create_Abstract_State): Do not initialize the
164         constituent lists as this is now done on a need-to-add-element basis.
165         (Propagate_Part_Of): Set the Part_Of constituents when
166         adding a new element.
167         * sem_util.adb (Check_State_Refinements): New routine.
168         (Has_Non_Null_Refinement): Reimplemented.
169         (Has_Null_Refinement): Reimplemented.
170         (Requires_State_Refinement): Removed.
171         * sem_util.ads (Check_State_Refinements): New routine.
172         (Requires_State_Refinement): Removed.
174 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
176         * lib-writ.adb, sem_ch6.adb: Minor reformatting and code cleanup.
177         * sem.adb: Fix comment.
179 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
181         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype
182         declaration with no aspects, whose subtype_mark is a subtype
183         with predicates, inherits the list of subprograms for the type.
185 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
187         * exp_aggr.adb (Has_Per_Object_Constraint): Refine previous
188         change.
190 2016-04-21  Thomas Quinot  <quinot@adacore.com>
192         * g-socket.adb (Raise_Host_Error): Include additional Name parameter.
194 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
196         * lib-writ.adb (Write_ALI): Do not record in ali file units
197         that are present in the files table but not analyzed. These
198         units are present because they appear in the context of units
199         named in limited_with clauses, and the unit being compiled does
200         not depend semantically on them.
202 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
204         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Simplify code to
205         create the procedure body for an function returning an array type,
206         when generating C code. Reuse the subprogram body rather than
207         creating a new one, both as an efficiency measure and because
208         in an instance the body may contain global references that must
209         be preserved.
211 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
213         * sem_ch3.adb, exp_attr.adb, exp_ch6.adb, exp_aggr.adb: Minor
214         reformatting.
216 2016-04-21  Javier Miranda  <miranda@adacore.com>
218         * exp_aggr.adb (Component_Check): Extend
219         the check that verifies that the aggregate has no function
220         calls to handle transformations performed by the frontend.
221         (Ultimate_Original_Expression): New subprogram.
223 2016-04-21  Philippe Gil  <gil@adacore.com>
225         * krunch.adb (Krunch): Fix krunching of i-java.
227 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
229         * exp_ch8.adb (Evaluation_Required): Always return
230         True when Modify_Tree_For_C.
232 2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
234         * gnatlink.adb (Gnatlink): Robustify detection of Windows target.
235         * alloc.ads: Minor comment fixes.
236         * einfo.ads: Fix typo.
238 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
240         * exp_aggr.adb (Component_Not_OK_For_Backend): Redo previous
241         changes to handle all cases of components depending on the
242         discriminant, not just string literals.
244 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
246         * sem_ch3.adb (Analyze_Subtype_Declaration): If the subtype
247         declaration is the generated declaration for a generic actual,
248         inherit predicates from the actual if it is a predicated subtype.
250 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
252         * exp_ch6.adb (Rewrite_Function_Call_For_C): If the function is
253         inherited and its result is controlling,  introduce a conversion
254         on the actual for the corresponding procedure call, to avoid
255         spurious type errors.
257 2016-04-21  Jerome Lambourg  <lambourg@adacore.com>
259         * krunch.adb (Krunch): Fix krunching of i-vxworks.
261 2016-04-21  Gary Dismukes  <dismukes@adacore.com>
263         * exp_aggr.adb: Minor reformatting and code cleanup.
265 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
267         * sem_ch13.adb (Resolve_Name): Omit quantified expressions from
268         resolution, because they introduce local names. Full resolution
269         will take place when predicate function is constructed.
271 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
273         * exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous
274         change to take into account Per_Object_Constraint field rather
275         than special casing strings.
276         * exp_ch6.adb: Fix typo in Replace_Returns.
278 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
280         * sem_ch5.adb: Minor reformatting.
282 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
284         * exp_aggr.adb (Backend_Processing_Possible): Return False
285         when generating C and aggregate contains function calls.
287 2016-04-21  Tristan Gingold  <gingold@adacore.com>
289         * krunch.adb (Krunch): Only partially krunch children of
290         Interfaces that aren't known.
292 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
294         * sem_prag.adb (Make_Inline): Handle properly the instantiation
295         of a generic subpprogram that carries an Inline aspect. Place
296         inline info on the anonymous subprogram that is constructed in
297         the wrapper package.
298         (Analyze_Pragma, case Pure): Do not check placement if pragma
299         appears within an instantiation, which can be nested at any level.
300         * sem_ch12.adb (Analyze_Instance_And_Renamings): Do not copy Freeze
301         node from anonymous subprogram to its visible renaming. The
302         freeze node will be constructed if the subprogram carries
303         delayed aspects.
304         (Set_Global): Preserve dimension information if present (from
305         code reading).
307 2016-04-21  Vasiliy Fofanov  <fofanov@adacore.com>
309         * gnatlink.adb: Change wording of the warning message on
310         problematic filenames to be more neutral. Add a new substring
311         "patch" introduced on Windows 10.
313 2016-04-21  Philippe Gil  <gil@adacore.com>
315         * tracebak.c (__gnat_backtrace): handle bad RIP values (win64 only)
317 2016-04-21  Javier Miranda  <miranda@adacore.com>
319         * exp_aggr.adb (Component_Not_OK_For_Backend): Return true for string
320         literals.
322 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
324         * einfo.adb (Has_Non_Null_Abstract_State): New routine.
325         * einfo.ads New synthesized attribute
326         Has_Non_Null_Abstract_State along with occurrences in entities.
327         (Has_Non_Null_Abstract_State): New routine.
328         * sem_ch7.adb (Unit_Requires_Body): Add local variable
329         Requires_Body. A package declaring an abstract state requires
330         a body only when the state is non-null and the package contains
331         at least one other construct that requires completion in a body.
332         * sem_util.adb (Mode_Is_Off): Removed.
333         (Requires_State_Refinement): Remove an obsolete check. Code
334         cleanup.
336 2016-04-21  Bob Duff  <duff@adacore.com>
338         * sem_attr.adb (Analyze_Attribute): In processing
339         the 'Old attribute, a warning is given for infinite recursion. Fix
340         the code to not crash when the prefix of 'Old denotes a protected
341         function.
342         * sem_ch5.adb (Analyze_Iterator_Specification):
343         Avoid calling Is_Dependent_Component_Of_Mutable_Object in cases
344         where the parameter would not be an object.
346 2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
348         * sem_eval.adb (Compile_Time_Compare): Be prepared for an empty
349         Etype or Underlying_Type of the operands.
351 2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
353         * atree.adb (Print_Statistics): Protect against overflows and
354         print the memory consumption in bytes.
355         * table.adb (Reallocate): Do the intermediate calculation of the new
356         size using the Memory.size_t type.
358 2016-04-21  Gary Dismukes  <dismukes@adacore.com>
360         * exp_attr.adb (Is_Inline_Floating_Point_Attribute): Suppress
361         expansion of Attribute_Machine and Attribute_Model for AAMP.
363 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
365         * freeze.adb: Disable previous change for now.
367 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
369         * sem_ch8.adb (Find_Selected_Component): If prefix has an
370         access type and designated type is a limited view, introduce
371         an explicit dereference before continuing the analysis, and
372         set its type to the non-limited view of the designated type,
373         if we are in context where it is available.
375 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
377         * freeze.adb: Freeze profile in ASIS mode.
379 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
381         * sem_aux.ads, sem_aux.adb (Has_Rep_Item): New variant.
382         * sem_util.adb (Inherit_Rep_Item_Chain): Reimplemented.
384 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
386         * exp_ch6.adb: Minor reformatting.
388 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
390         * sem_ch13.adb: Minor comment update.
392 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
394         * freeze.ads, freeze.adb (Freeze_Entity, Freeze_Before): Add
395         boolean parameter to determine whether freezing an overloadable
396         entity freezes its profile as well. This is required by
397         AI05-019. The call to Freeze_Profile within Freeze_Entity is
398         conditioned by the value of this flag, whose default is True.
399         * sem_attr.adb (Resolve_Attribute, case 'Access): The attribute
400         reference freezes the prefix, but it the prefix is a subprogram
401         it does not freeze its profile.
403 2016-04-21  Javier Miranda  <miranda@adacore.com>
405         * exp_util.adb (Build_Procedure_Form): No action needed for
406         subprogram renamings since the backend can generate the call
407         using the renamed subprogram. This leaves the tree more clean
408         to the backend.
409         * exp_ch6.adb (Expand_Call): Extend previous patch for
410         rewritten-for-c entities to handle subprogram renamings.
411         (Rewrite_Function_Call_For_C): Handle subprogram renamings.
413 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
415         * sem_ch13.adb: Code cleanup.
417 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
419         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
420         created for SPARK_To_C, the entity must remain invisible so it
421         does not overload subsequent references to the original function.
422         * exp_ch6.adb (Build_Procedure_Body_Form, Replace_Returns):
423         Handle Extended_Return_Statements by replacing it with a block
424         with assignments and a simple return statement.
425         * exp_util.adb (Build_Procedure_Form): Make procedure entity
426         invisible after analyzing declaration, to prevent improper
427         overloading.
429 2016-04-21  Javier Miranda  <miranda@adacore.com>
431         * sem_ch6.adb (Build_Subprogram_Declaration): Propagate the
432         attribute Rewritten_For_C to the body since since the expander
433         may generate calls using that entity.
434         * exp_ch6.adb (Expand_Call): For internally generated
435         calls ensure that they reference the entity of the spec
436         of the called function.
437         (Rewritten_For_C_Func_Id): New subprogram.
438         (Rewritten_For_C_Proc_Id): New subprogram.
439         (Rewrite_Function_Call_For_C): Invoke the new subprogram to
440         ensure that we skip freezing entities.
441         * exp_util.adb (Build_Procedure_Form): No action needed if the
442         procedure was already built.
444 2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
446         * sem_ch3.adb, exp_util.adb, sem_ch13.adb, exp_unst.adb: Minor
447         reformatting.
449 2016-04-21  Ed Schonberg  <schonberg@adacore.com>
451         * sem_util.adb (Denotes_Iterator): Use root type to determine
452         whether the ultimate ancestor is the predefined iterator
453         interface pakage.
454         * exp_ch5.adb (Expand_Iterator_Over_Container): simplify code
455         and avoid reuse of Pack local variable.
457 2016-04-21  Olivier Hainque  <hainque@adacore.com>
459         * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
460         system-vxworks-ppc.ads, system-vxworks-m68k.ads,
461         system-vxworks-mips.ads, system-vxworks-x86.ads: Define
462         Executable_Extension to ".out".
464 2016-04-21  Javier Miranda  <miranda@adacore.com>
466         * frontend.adb: Update call to Unnest_Subprograms.
467         * exp_ch6.ads, exp_ch6.adb, exp_unst.ads, exp_unst.adb
468         (Unnest_Subprograms): Moved to package exp_unst.
469         * exp_unst.ads (Unnest_Subprogram): Moved to the body of the
470         package.
471         * exp_dbug.adb (Qualify_Entity_Name): Enable qualification of
472         enumeration literals when generating C code.
474 2016-04-21  Javier Miranda  <miranda@adacore.com>
476         * frontend.adb: Remove call to initialize Exp_Ch6.
477         * exp_ch6.ads, exp_ch6.adb (Initialize): removed.
478         (Unest_Entry/Unest_Bodies): Removed.
479         (Unnest_Subprograms): Code cleanup.
481 2016-04-21  Arnaud Charlet  <charlet@adacore.com>
483         * set_targ.adb (Read_Target_Dependent_Values):
484         close target description file once its contents is read.
485         * s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File
486         and Stderr_File): Close local file descriptors before spawning
487         child process.
488         * exp_util.adb (Containing_Package_With_Ext_Axioms): Limit scope of
489         local variables to make the code easier to understand and avoid
490         duplicated calls to Parent and Generic_Parent.
492 2016-04-20  Bob Duff  <duff@adacore.com>
494         * s-os_lib.ads: Minor comment fix.
496 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
498         * exp_ch5.adb (Expand_N_Assignment_Statement): Do no generate
499         a discriminant check for a type whose partial view has unknown
500         discriminants when the full view has discriminants with defaults.
502 2016-04-20  Javier Miranda  <miranda@adacore.com>
504         * exp_util.adb (Remove_Side_Effects): When generating C code
505         remove side effect of type conversion of access to unconstrained
506         array type.
507         (Side_Effect_Free): Return false for the type
508         conversion of access to unconstrained array type when generating
509         C code.
510         * sem_res.adb (Resolved_Type_Conversion): Remove side effects
511         of access to unconstrained array type conversion when generating
512         C code.
514 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
516         * sem_ch13.adb (Build_Predicate_Function_Declaration): New
517         function, to construct the declaration of a predicate function
518         at the end of the current declarative part rather than at the
519         (possibly later) freeze point of the type. This also allows uses
520         of a type with predicates in instantiations elsewhere.
521         (Resolve_Aspect_Expression): New procedure to detect visiblity
522         errors in aspect expressions, at the end of the declarative part
523         that includes the type declaration.
524         * sem_ch3.adb (Complete_Private_Subtype): Propagate properly the
525         predicate function from private to full view.
526         * einfo.adb (Predicate_Function): Refine search for predicate
527         function when type has a full view and predicate function may
528         be defined on either view.
530 2016-04-20  Javier Miranda  <miranda@adacore.com>
532         * frontend.adb: Passing the root of the tree to
533         Unnest_Subprograms().
534         * exp_ch6.adb (Expand_N_Subprogram_Body): Remove code that
535         took care of adding subprograms to the Unest_Bodies table since
536         performing such action too early disables the ability to process
537         generic instantiations.
538         (Unnest_Subprograms): Adding parameter.
539         (Search_Unnesting_Subprograms): New subprogram.
540         * exp_ch6.ads (Unnest_Subrograms): Update documentation.
542 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
544         * exp_util.adb, freeze.adb, sem_util.adb: Minor reformatting.
546 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
548         * exp_unst.adb (Check_Static_Type): For a private type, check
549         full view.
551 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
553         * sem_attr.adb (Check_Type): Reject an attribute reference in
554         an aspect expression, when the prefix of the reference is the
555         current instance of the type to which the aspect applies.
557 2016-04-20  Bob Duff  <duff@adacore.com>
559         * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about
560         hiding unless we're actually hiding something. The previous
561         code would (for example) warn about a "<" on a record type
562         because it incorrectly thought it was hiding the "<" on Boolean
563         in Standard. We need to check that the homonym S is in fact a
564         homograph of a predefined operator.
566 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
568         * exp_util.ads, exp_util.adb (Build_Procedure_Form): Moved here
569         from exp_ch6.adb, for use in SPARK_To_C mode when creating the
570         procedure equivalent to a function returning an array, when this
571         construction is deferred to the freeze point of the function.
572         * sem_util.adb (Is_Unchecked_Conversion_Instance): Include a
573         function that renames an instance of Unchecked_Conversion.
574         * freeze.adb (Freeze_Subprogram): Generate the proper procedure
575         declaration for a function returning an array.
576         * exp_ch6.adb (Build_Procedure_Form): Moved to exp_util.
578 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
580         * sem_util.ads, sem_util.adb (Is_Expanded_Priority_Attribute):
581         New predicate to determine that in a context with full run-time,
582         a function call is an expansion of a reference to attribute
583         Priority.
584         * sem_ch5.adb (Analyze_Function_Call): use it.
585         * exp_ch5.adb (Expand_N_Subprogram_Call): use it.
587 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
589         * einfo.adb Flag286 is now used as Is_Exception_Handler.
590         (Is_Exception_Handler): New routine.
591         (Set_Is_Exception_Handler): New routine.
592         (Write_Entity_Flags): Output the status of Is_Exception_Handler.
593         * einfo.ads New attribute Is_Exception_Handler along with
594         occurrences in entities.
595         (Is_Exception_Handler): New routine along with pragma Inline.
596         (Set_Is_Exception_Handler): New routine along with pragma Inline.
597         * exp_ch7.adb (Make_Transient_Block): Ignore blocks generated
598         for exception handlers with a choice parameter.
599         * sem_ch11.adb (Analyze_Exception_Handlers): Mark the scope
600         generated for a choice parameter as an exception handler.
602 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
604         * sem_ch3.adb (Build_Derived_Access_Type): Remove dead code.
605         (Constrain_Discriminated_Type): In an instance, if the type has
606         unknown discriminants, use its full view.
607         (Process_Subtype): Check that the base type is private before
608         adding subtype to Private_Dependents list.
610 2016-04-20  Bob Duff  <duff@adacore.com>
612         * sem_ch13.adb: Minor comment fix.
614 2016-04-20  Yannick Moy  <moy@adacore.com>
616         * sem_ch4.adb: Fix typos in comments.
617         * sem_res.adb (Resolve_Case_Expression): Fix type of case alternatives.
619 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
621         * sem_ch4.adb (Analyze_Selected_Component): A reference to the
622         current instance of a task type is legal if the prefix is an
623         expression of that task type and the selector is an entry or
624         entry family.
626 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
628         * a-cfdlli.ads (List): Type is no longer tagged, not needed. Move
629         varsize field at the end for efficiency.
631 2016-04-20  Vincent Celier  <celier@adacore.com>
633         * gnatcmd.adb: Do not invoke gprls when the invocation of "gnat
634         ls" includes the switch -V.
635         * clean.adb: "<target>-gnatclean -P" now calls "gprclean
636         --target=<target>"
637         * make.adb: "<target>-gnatmake -P" now calls "gprbuild
638         --target=<target>"
640 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
642         * sem_ch12.adb (Qualify_Type): Do not perform
643         partial qualification when the immediate scope is a generic unit.
645 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
647         * exp_unst.adb: Minor reformatting.
649 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
651         * exp_ch4.adb (Expand_Allocator_Expression): Ensure that the
652         tag assignment and adjustment preceed the accessibility check.
653         * exp_ch7.adb (Is_Subprogram_Call): Reimplemented.
655 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
657         * exp_prag.adb (Expand_Attributes): Ensure that
658         the temporary used to capture the value of attribute 'Old's
659         prefix is properly initialized.
661 2016-04-20  Javier Miranda  <miranda@adacore.com>
663         * exp_unst.ads, exp_unst.adb (Get_Level, Subp_Index): Moved to library
664         level.
666 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
668         * sem_ch9.adb (Analyze_Task_Type_Declaration): Shut down warning
669         in codepeer mode.
671 2016-04-20  Vincent Celier  <celier@adacore.com>
673         * make.adb: Code cleanup.
675 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
677         * exp_ch4.adb (Expand_Allocator_Expression): Help C code
678         generation.
680 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
682         * sem_ch12.adb (Copy_Generic_Node): Handle the special
683         qualification installed for universal literals that act as
684         operands in binary or unary operators.  (Qualify_Operand): Mark
685         the qualification to signal the instantiation mechanism how to
686         handle global reference propagation.
687         * sinfo.adb (Is_Qualified_Universal_Literal): New routine.
688         (Set_Is_Qualified_Universal_Literal): New routine.
689         * sinfo.ads New attribute Is_Qualified_Universal_Literal along
690         with occurrences in nodes.
691         (Is_Qualified_Universal_Literal):
692         New routine along with pragma Inline.
693         (Set_Is_Qualified_Universal_Literal): New routine along with
694         pragma Inline.
696 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
698         * sem.adb (Do_Analyze): Save and restore Style_Max_Line_Length
699         so that the corresponding checks are preserved across compilations
700         that include System.Constants in their context.
702 2016-04-20  Gary Dismukes  <dismukes@adacore.com>
704         * sem_type.adb: Minor typo fix and reformatting.
705         * a-conhel.ads: Update comment.
707 2016-04-20  Bob Duff  <duff@adacore.com>
709         * a-cihama.adb, a-cihase.adb, a-coinve.adb (Copy): Rewrite the
710         code so it doesn't trigger an "uninit var" warning.
712 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
714         * sem_attr.ads Add new table Universal_Type_Attribute.
715         * sem_util.adb (Yields_Universal_Type): Use a table lookup when
716         checking attributes.
718 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
720         * exp_aggr.adb (Init_Stored_Discriminants,
721         Init_Visible_Discriminants): New procedures, subsidiary of
722         Build_Record_Aggr_Code, to handle properly the construction
723         of aggregates for a derived type that constrains some parent
724         discriminants and renames others.
726 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
728         * sem_ch12.adb (Qualify_Universal_Operands): New routine.
729         (Save_References_In_Operator): Add explicit qualifications in
730         the generic template for all operands of universal type.
731         * sem_type.adb (Disambiguate): Update the call to Matches.
732         (Matches): Reimplemented.
733         * sem_util.ads, sem_util.adb (Yields_Universal_Type): New routine.
735 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
737         * sem_ch13.adb (Rep_Item_Too_Late): Better error message for
738         an illegal aspect that freezes the entity to which it applies.
740 2016-04-20  Bob Duff  <duff@adacore.com>
742         * a-stwibo.ads, a-stzbou.ads
743         ("="): Add overriding keyword before function to avoid crash when
744         compiler is called with -gnatyO (check overriding indicators).
746 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
748         * sem_prag.adb (Analyze_Pragma, case Check_Policy):  If this
749         is a configuration pragma and it uses the ARG syntax, insert
750         the rewritten pragma after the current one rather than using
751         Insert_Actions.
753 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
755         * exp_aggr.adb (Backend_Processing_Possible): Add handling of
756         C back-end.
758 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
760         * s-imgllu.adb, sem_util.adb, s-imgint.adb, s-imguns.adb,
761         s-imglli.adb: Minor reformatting.
763 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
765         * sem_res.adb (Rewrite_Renamed_Operator): Do not rewrite the
766         renamed operator when the associated node appears within a
767         pre/postcondition.
768         * sem_util.ads, sem_util.adb (In_Pre_Post_Condition): New routine.
770 2016-04-20  Yannick Moy  <moy@adacore.com>
772         * osint.adb (Relocate_Path): Fix test when Path is shorter than Prefix.
773         * einfo.adb (Set_Overridden_Operation): Add assertion.
774         * sem_util.adb (Unique_Entity): for renaming-as-body return the spec
775         entity.
777 2016-04-20  Javier Miranda  <miranda@adacore.com>
779         * exp_unst.adb (Append_Unique_Call): New subprogram.
780         (Unnest_Subprogram): Replace the unique occurrence
781         of Call.Append() by Append_Unique_Call() which protects us from
782         adding to the Calls table duplicated entries.
784 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
786         * exp_attr.adb (Is_GCC_Target): Fix for C backend.
787         * xref_lib.ads (Dependencies_Tables): instantiate
788         Table package with types that guarantee its safe use.
789         * s-imgllu.adb, s-imgint.adb, s-imguns.adb, s-imglli.adb: Avoid nested
790         procedures.
792 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
794         * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]):
795         Disable expansion when generating C code.
796         * sinfo.ads, inline.ads: Minor editing.
798 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
800         * sem_util.adb, contracts.adb, ghost.adb, exp_ch6.adb: Minor
801         reformatting.
803 2016-04-20  Javier Miranda  <miranda@adacore.com>
805         * contracts.adb (Build_Postconditions_Procedure): Code cleanup.
806         * ghost.adb (Os_OK_Ghost_Context.Is_OK_Declaration): Handle the
807         declaration of the internally built _postcondition procedure.
809 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
811         * snames.ads-tmpl (Internal_Attribute_Id, Attribute_Class_Array): Fix
812         indentation.
813         * sem_util.adb (Is_Unchecked_Conversion_Instance):
814         defense against library-level renamings of other functions,
815         which are never instances of Unchecked_Conversion.
816         * einfo.ads: minor fix of casing in comment
818 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
820         * exp_ch6.adb (Expand_N_Subprogram_Stub): Do not expand a body
821         that has been analyzed and expanded already. Qualify the names
822         in the proper body for use in the generation of C code.
824 2016-04-20  Javier Miranda  <miranda@adacore.com>
826         * contracts.adb (Build_Postconditions_Procedure): Force its
827         inlining when generating C code.
828         * sem_attr.adb (Analyze_Attribute_Old_Result): Handle inlined
829         _postconditions when generating C code.
830         * exp_ch6.adb (Inlined_Subprogram): Inline calls to
831         _postconditions when generating C code.
832         * sinfo.ads, sinfo.adb (Corresponding_Spec, Set_Corresponding_Spec):
833         types of return value and argument changed from Node_Id to
834         Entity_Id.
836 2016-04-20  Vincent Celier  <celier@adacore.com>
838         * make.adb, clean.adb, gnatname.adb: Revert previous change for now.
840 2016-04-20  Eric Botcazou  <ebotcazou@adacore.com>
842         * sem_ch12.adb (Analyze_Instance_And_Renamings): Do not reset
843         the Has_Delayed_Freeze flag on the anonymous instance node.
845 2016-04-20  Javier Miranda  <miranda@adacore.com>
847         * sem_ch5.adb (Analyze_Iterator_Specification): Remove transient
848         scope associated with the renaming object declaration.
849         * exp_util.adb (Insert_Actions): Remove handling of iterator
850         loop marked as requiring the secondary stack.
852 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
854         * sem_attr.adb (Analyze_Attribute, case 'Image): Implement
855         AI12-0124, which extends the functionality of the attribute so it
856         reflects the semantics of GNAT 'Img when applied to scalar types.
857         * lib-xref.adb: minor whitespace layout fix.
859 2016-04-20  Vincent Celier  <celier@adacore.com>
861         * clean.adb (Gnatclean): Fail if project file specified and
862         gprclean is not available.
863         * gnatname.adb: Fail is -P is used and gprname is not available.
864         * make.adb (Initialize): Fail if project file specified and
865         gprbuild is not available.
867 2016-04-20  Bob Duff  <duff@adacore.com>
869         * sem_ch5.adb (Analyze_Iterator_Specification): Do not use secondary
870         stack when possible.
872 2016-04-20  Gary Dismukes  <dismukes@adacore.com>
874         * par_sco.adb, sem_util.adb, sem_ch13.adb: Minor typo corrections and
875         reformatting.
877 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
879         * sem_prag.adb (Analyze_Pragma, case Default_Storage_Pool):
880         If the pragma comes from an aspect specification, verify that
881         the aspect applies to an entity with a declarative part.
882         * exp_ch5.adb: Code cleanup.
884 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
886         * sem_res.adb (Resolve_If_Expression): If first expression is
887         universal, resolve subsequent ones with the corresponding class
888         type (Any_Integer or Any_Real).
890 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
892         * sem_ch5.adb (Analyze_Iterator_Specification): If expansion is
893         disabled, complete the analysis of the iterator name to ensure
894         that reference for entities within are properly generated.
896 2016-04-20  Arnaud Charlet  <charlet@adacore.com>
898         * a-dispat.ads (Yield): add Global contract.
899         * a-calend.ads, a-reatim.ads: Added Initializes => Clock_Time.
900         * a-taside.adb: Added Initializes => Tasking_State.
902 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
904         * sem_ch13.adb (Build_Invariant_Procedure):
905         Reimplement the invariant procedure spec and body insertion.
907 2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
909         * sem_ch13.adb (Add_Invariant): Do not replace
910         the saved expression of an invariatn aspect when inheriting
911         a class-wide type invariant as this clobbers the existing
912         expression. Do not use New_Copy_List as it is unnecessary
913         and leaves the parent pointers referencing the wrong part of
914         the tree. Do not replace the type references for ASIS when
915         inheriting a class-wide type invariant as this clobbers the
916         existing replacement.
918 2016-04-20  Ed Schonberg  <schonberg@adacore.com>
920         * sem_util.adb (Build_Explicit_Dereference): If the designated
921         expression is an entity name, generate reference to the entity
922         because it will not be resolved again.
924 2016-04-19  Arnaud Charlet  <charlet@adacore.com>
926         * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
927         gnat_rm.texi: Update documentation.
929 2016-04-19  Olivier Hainque  <hainque@adacore.com>
931         * par_sco.adb (Traverse_One, case N_Case_Statement):
932         Skip pragmas before the first alternative.
933         (Traverse_Handled_Statement_Sequence, Exception_Handlers): Likewise.
935 2016-04-19  Tristan Gingold  <gingold@adacore.com>
937         * adaint.c (__gnat_lwp_self): New function (for darwin).
938         * s-osinte-darwin.ads, s-osinte-darwin.adb (lwp_self): Import
939         of __gnat_lwp_self.
941 2016-04-19  Olivier Hainque  <hainque@adacore.com>
943         * sem_util.adb (Build_Elaboration_Entity): Always request an
944         elab counter when preserving control-flow.
946 2016-04-19  Olivier Hainque  <hainque@adacore.com>
948         * sem_ch13.adb (Build_Invariant_Procedure_Declaration): Set
949         Needs_Debug_Info when producing SCOs.
950         * par_sco.adb (Traverse_Aspects): Fix categorization of
951         Type_Invariant to match actual processing as activated depending
952         on pragma Assertion_Policy.
953         * sem_prag.adb (Analyze_Pragma): Remove special case for
954         Name_Invariant regarding SCO generation, which completely disabled
955         the production of SCOs for Invariant pragmas and aspects.
957 2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
959         * checks.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
960         reformatting.
962 2016-04-19  Ed Schonberg  <schonberg@adacore.com>
964         * freeze.adb (Freeze_Profile): Refine predicate that checks
965         whether a function that returns a limited view is declared in
966         another unit and cannot be frozen at this point.
968 2016-04-19  Ed Schonberg  <schonberg@adacore.com>
970         * exp_aggr.adb (Component_Count): Handle properly superflat
971         arrays, i.e. empty arrays where Hi < Lo - 1, to ensure that the
972         return value of the function is Natural, rather than leaving
973         the handling of such arrays to the caller of this function.
975 2016-04-19  Arnaud Charlet  <charlet@adacore.com>
977         * sem_prag.adb, sem_attr.adb, par-prag.adb, exp_aggr.adb, sem_type.adb
978         sem_ch12.adb, sem_ch3.adb, exp_ch7.adb, exp_ch9.adb: Code cleanup.
979         * sem_res.adb, sem_util.ads, sem_util.adb (Is_OK_Volatile_Context):
980         Promoted from being a nested subprogram in Sem_Res.Resolve_Entity_Name
981         to publicly visible routine in Sem_Util.
983 2016-04-19  Ed Schonberg  <schonberg@adacore.com>
985         * checks.adb (Apply_Parameter_Aliasing_Checks): Do not apply
986         the check if the type of the actual is By_Reference.
988 2016-04-19  Arnaud Charlet  <charlet@adacore.com>
990         * sem_res.adb (Within_Subprogram_Call): Detect
991         also nodes that appear in entry calls.
992         (Resolve_Actuals, Insert_Default): Propagate
993         dimension information if any, from default expression to the
994         copy that appears in the list of actuals.
995         * uintp.ads: minor whitespace fix in comment.
996         * sem_prag.adb, stringt.adb, inline.adb, lib-xref-spark_specific.adb:
997         Minor code cleanup.
998         * set_targ.adb (Set_Targ): convert directly from
999         Natural to Pos, without intermediate conversion to Int.
1001 2016-04-19  Arnaud Charlet  <charlet@adacore.com>
1003         * sem_ch6.adb (Process_Formals): Mark suspicious reference to
1004         SPARK RM in comment.
1005         * sem_prag.adb (Analyze_Global_Item): Fix reference to SPARK RM
1006         in comment.
1007         * sem_res.adb (Property_Error, Resolve_Actuals): Fix reference
1008         to SPARK RM in both comment and error message.
1010 2016-04-19  Eric Botcazou  <ebotcazou@adacore.com>
1012         * sem_ch6.adb (Possible_Freeze): If the type is an incomplete
1013         CW type, then the subprogram must have a delayed freeze. This
1014         ensures that the backend can properly recover the full view when
1015         elaborating the access subprogram declaration.
1017 2016-04-19  Ed Schonberg  <schonberg@adacore.com>
1019         * sem_attr.adb (Resolve_Attribute, case 'Access): Freeze
1020         overloadable entity if originally overloaded.
1022 2016-04-19  Arnaud Charlet  <charlet@adacore.com>
1024         * exp_aggr.adb, exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_code.adb,
1025         exp_fixd.adb, namet.adb, osint.adb, osint.ads, par-ch2.adb,
1026         sem_ch10.adb, sem_ch12.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb
1027         sem_util.adb, styleg.adb, styleg.ads, stylesw.ads: Minor code
1028         clean up.
1030 2016-04-19  Arnaud Charlet  <charlet@adacore.com>
1032         * sem_util.adb (Copy_Node_With_Replacement):
1033         use Set_Comes_From_Source instead of directly manipulating
1034         internals of the node table.
1035         * sem_util.adb (Within_Scope): refactored to remove duplicated code.
1036         * sem_aux.adb (Get_Rep_Pragma,
1037         Subprogram_Body_Entity, Subprogram_Spec): declare variables that
1038         do not change as constants and initialize them in the declaration.
1039         (Get_Rep_Pragma, Subprogram_Body_Entity, Subprogram_Spec): declare
1040         variables that do not change as constants and initialize them
1041         in the declaration.
1043 2016-04-19  Ed Schonberg  <schonberg@adacore.com>
1045         * sem_res.adb (Resolve_Entry_Call): If the entry has
1046         preconditions it is rewritten by means of a wrapper that
1047         incorporates the original call. Before rewriting generate a
1048         reference to the entry being called to prevent spurious warnings
1049         and provide correct cross-reference information.
1051 2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
1053         * sem_disp.adb (Check_Dispatching_Context): Code cleanup. Add
1054         local constant Scop. Ignore any internally generated loops when
1055         performing the check concerning an abstract subprogram call
1056         without a controlling argument.
1057         * sem_util.ads, sem_util.adb (Current_Scope_No_Loops): New routine.
1059 2016-04-19  Bob Duff  <duff@adacore.com>
1061         * sem_elab.adb (Check_A_Call): There are cases where we have No
1062         (Ent) after the Alias loop, even when there was no previous error,
1063         so we can't assert that there was an error.
1065 2016-04-19  Ed Schonberg  <schonberg@adacore.com>
1067         * sem_attr.adb (Analyze_Access_Attribute, OK_Self_Reference):
1068         Reject use of type name as a prefix to 'access within an aggregate
1069         in a context that is not the declarative region of a type.
1071 2016-04-19  Vincent Celier  <celier@adacore.com>
1073         * gnatcmd.adb: Make "gnat ls -P" invoke gprls Make "gnat bind
1074         -P" invoke "gprbuild -b" Make "gnat link -P" invoke "gprbuild
1075         -l" Fail if the invocation is "gnat find -P" or "gnat xref -P"
1076         Remove anything related to project files
1077         * g-mbdira.adb: minor whitespace cleanup
1078         * g-spipat.adb: minor removal of extra spaces after closing paren
1080 2016-04-19  Ed Schonberg  <schonberg@adacore.com>
1082         * exp_ch6.adb (Expand_Actuals):  If post-statements are present
1083         and the enclosing context is a function call or indexing, build
1084         an Expression_With_Actions for the call.
1086 2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
1088         * lib-writ.adb (Write_With_Lines): Code cleanup. Do not generate
1089         a with line for an ignored Ghost unit.
1090         * sem_ch7.adb (Analyze_Package_Declaration): Add local constant
1091         Par. A child package is Ghost when its parent is Ghost.
1092         * sem_prag.adb (Analyze_Pragma): Pragma Ghost can now apply to
1093         a subprogram declaration that acts as a compilation unit.
1095 2016-04-18  Michael Matz  <matz@suse.de>
1097         * gcc-interface/decl.c (gnat_to_gnu_entity): Use SET_TYPE_ALIGN.
1098         (gnat_to_gnu_field): Ditto.
1099         (components_to_record): Ditto.
1100         (create_variant_part_from): Ditto.
1101         (copy_and_substitute_in_size): Ditto.
1102         (substitute_in_type): Ditto.
1103         * gcc-interface/utils.c (make_aligning_type): Use SET_TYPE_ALIGN.
1104         (make_packable_type): Ditto.
1105         (maybe_pad_type): Ditto.
1106         (finish_fat_pointer_type): Ditto.
1107         (finish_record_type): Ditto and use SET_DECL_ALIGN.
1108         (rest_of_record_type_compilation): Use SET_TYPE_ALIGN.
1109         (create_field_decl): Use SET_DECL_ALIGN.
1111 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1113         * einfo.adb (Overridden_Operation): assert that
1114         function is called for valid arguments.
1115         * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_type.adb,
1116         s-osinte-vxworks.ads, a-ngcefu.adb, sem_ch10.adb, einfo.ads,
1117         sem_prag.adb, sem_ch12.adb, sem.adb, i-cobol.ads, freeze.adb,
1118         sem_util.adb, a-chtgop.ads, s-rannum.adb, exp_ch6.adb, s-bignum.adb,
1119         s-osinte-freebsd.ads, par-ch5.adb, a-chtgbo.ads, a-cofove.adb:
1120         No space after closing parenthesis except where required for
1121         layout.
1122         * sem_res.adb: Minor reformatting.
1124 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1126         * exp_ch4.adb (Expand_N_Case_Expression): Convert into a case
1127         statement when relevant.
1129 2016-04-18  Bob Duff  <duff@adacore.com>
1131         * a-cuprqu.adb (Enqueue): Properly handle the
1132         case where the new element has a unique priority.
1134 2016-04-18  Tristan Gingold  <gingold@adacore.com>
1136         * adaint.h: Define stat structures and functions for iOS
1137         simulator.
1139 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1141         * sem_res.adb (Resolve_Entry_Call): reset
1142         Is_Overloaded flag after resolving calls to overloaded protected
1143         operations.
1144         * exp_spark.adb (Expand_SPARK): call
1145         Qualify_Entity_Names for tasking nodes, i.e. protected types,
1146         task types and entries.
1147         * exp_ch4.adb (Expand_N_If_Expression): Refine previous change
1148         in case of an unconstrained type.
1150 2016-04-18  Yannick Moy  <moy@adacore.com>
1152         * sem_eval.adb, sem_eval.ads (Check_Non_Static_Context): Add
1153         comment to document usage of subprogram in GNATprove.
1155 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1157         * sem_prag.adb (Analyze_Pragma, case Test_Case): Improve error
1158         message for wrong placement of aspect Test_Case.
1160 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1162         * einfo.ads: Update the documentation of attribute Renamed_Object.
1163         * exp_spark.adb (Expand_Potential_Renaming): Reimplemented.
1165 2016-04-18  Gary Dismukes  <dismukes@adacore.com>
1167         * exp_ch4.adb (Optimize_Length_Comparison): Return immediately
1168         in the case of AAMP (same as for use of the -gnatd.P switch) to
1169         suppress this optimization, which avoids creating a dependence
1170         on the 64-bit arithmetic package.
1172 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1174         * exp_ch4.adb: Update comment.
1176 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1178         * exp_ch6.adb (Expand_Call): Make sure instantiations are
1179         registered only once as pending here.
1181 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1183         * exp_ch4.adb, gnat1drv.adb, opt.ads, sem_res.adb
1184         (Minimize_Expression_With_Actions): New flag.
1185         (Adjust_Global_Switches): Set Minimize_Expression_With_Actions
1186         when generating C.
1187         (Resolve_Short_Circuit): Redo previous change
1188         using Minimize_Expression_With_Actions.
1189         (Expand_N_If_Expression,
1190         Expand_Short_Circuit_Operator): Restore old code to avoid
1191         Expression_With_Actions when Minimize_Expression_With_Actions
1192         is set.
1194 2016-04-18  Vincent Celier  <celier@adacore.com>
1196         * s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File and
1197         Stderr_File): Close local file descriptors when no longer needed.
1199 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1201         * sem_ch5.adb (Analyze_Iterator_Specification): Remove SPARK
1202         mode check that the type of the cursor in an iteration over
1203         a formal container is not volatile. The proper check on the
1204         element type is done elsewhere.
1206 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1208         * sem_ch6.adb (Process_Formals): Do not set a delay freeze on
1209         a subprogram that returns a class-wide type, if the subprogram
1210         is a compilation unit, because otherwise gigi will treat the
1211         subprogram as external, leading to link errors.
1213 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1215         * sem_res.adb (Resolve_Short_Circuit): Do not use
1216         expression-with-actions when generating C.
1218 2016-04-18  Yannick Moy  <moy@adacore.com>
1220         * sem_util.adb (Apply_Compile_Time_Constraint_Error): Do not generate
1221         raise node in GNATprove mode.
1223 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1225         * s-fileio.adb: Minor reformatting.
1226         * sem_prag.adb (Analyze_Input_Item): Add local
1227         variable Input_OK. Do not consider mappings of generic formal
1228         parameters to actuals.
1230 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1232         * sem_ch5.adb (Get_Cursor_Type): If iterator type is a derived
1233         type, the cursor is declared in the scope of the parent type.
1234         (Analyze_Parameter_Specification): A qualified expression with an
1235         iterator type indicates an iteration over a container (explicit
1236         or implicit).
1238 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1240         * osint-c.ads, osint-c.adb (Delete_C_File, Delete_H_File): New.
1241         * gnat1drv.adb (Gnat1drv): Delete old C files before regenerating them.
1242         * debug.adb: Reserve -gnatd.4 to force generation of C files.
1244 2016-04-18  Yannick Moy  <moy@adacore.com>
1246         * sem_eval.adb (Eval_Arithmetic_Op): Do not issue error on static
1247         division by zero, instead possibly issue a warning.
1248         * sem_res.adb (Resolve_Arithmetic_Op): Do not issue error on
1249         static division by zero, instead add check flag on original
1250         expression.
1251         * sem_util.adb, sem_util.ads (Compile_Time_Constraint_Error):
1252         Only issue error when both SPARK_Mode is On and Warn is False.
1254 2016-04-18  Yannick Moy  <moy@adacore.com>
1256         * checks.adb (Apply_Scalar_Range_Check): Force
1257         warning instead of error when SPARK_Mode is On, on index out of
1258         bounds, and set check flag for GNATprove.
1260 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1262         * sem_prag.adb (Check_In_Out_States.Check_Constituent_Usage):
1263         Update the comment on usage.  Reimplemented.
1264         (Check_Input_States.Check_Constituent_Usage): Update the comment
1265         on usage. A Proof_In constituent can now refine an Input state
1266         as long as there is at least one Input constituent present.
1268 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1270         * sem_ch6.adb (Check_Inline_Pragma): Use the Sloc of the
1271         body id as the sloc of the entity in the generated subprogram
1272         declaration, to avoid spurious conformance errors when style
1273         checks are enabled.
1275 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1277         * sem_ch4.adb (Analyze_Selected_Component, Has_Dereference):
1278         Refine check on illegal calls to entities within a task body,
1279         when the entity is declared in an object of the same type. In
1280         a generic context there might be no explicit dereference but if
1281         the prefix includes an access type the construct is legal.
1283 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1285         * rtsfind.ads, rtsfind.adb (RE_Id, RE_Unit_Table): add
1286         RE_Default_Priority.
1288 2016-04-18  Bob Duff  <duff@adacore.com>
1290         * sem_prag.adb (Check_Arg_Is_Local_Name): Don't do the check
1291         if the pragma came from an aspect specification.
1293 2016-04-18  Gary Dismukes  <dismukes@adacore.com>
1295         * gnat1drv.adb, contracts.adb: Minor reformatting and wording fixes.
1297 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1299         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): To suppress
1300         superfluous conformance check on an inlined body with a previous
1301         spec, use the fact that the generated declaration does not come
1302         from source. We must treat the entity as coming from source to
1303         enable some back-end inlining when pragma appears after the body.
1305 2016-04-18  Gary Dismukes  <dismukes@adacore.com>
1307         * lib-xref-spark_specific.adb, par-ch2.adb, errout.ads,
1308         exp_intr.adb: Minor reformatting and typo corrections.
1310 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1312         * sem_ch6.adb: Code cleanup.
1314 2016-04-18  Thomas Quinot  <quinot@adacore.com>
1316         * sem_ch13.adb: Minor reformatting and error message tweaking
1317         (remove extraneous spaces).
1319 2016-04-18  Johannes Kanig  <kanig@adacore.com>
1321         * gnat1drv.adb (Gnat1drv): Force loading of System unit for SPARK.
1323 2016-04-18  Bob Duff  <duff@adacore.com>
1325         * s-fileio.adb (Fopen_Mode): If Mode = Out_File, and the file
1326         exists, and it's a fifo, we use "w" as the open string instead of
1327         "r+". This is necessary to make a write to the fifo block until
1328         a reader is ready.
1330 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1332         * sem_attr.adb (Denote_Same_Function): Account
1333         for a special case where a primitive of a tagged type inherits
1334         a class-wide postcondition from a parent type.
1336 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1338         * par-ch2.adb (P_Expression_Or_Reserved_Word): New routine.
1339         (P_Pragma): Signal Scan_Pragma_Argument_Association when the use
1340         of reserved words is OK.
1341         (Scan_Pragma_Argument_Association):
1342         Add new formal Reserved_Words_OK and update the comment on
1343         usage. Code cleanup. Parse an expression or a reserved word in
1344         identifier form for pragmas Restriction_Warnings and Restrictions
1345         No_Use_Of_Attribute.
1346         * restrict.adb (Check_Restriction_No_Use_Of_Attribute):
1347         Reimplemented.  (Check_Restriction_No_Use_Of_Pragma): Code cleanup.
1348         (Set_Restriction_No_Specification_Of_Aspect): Properly set the warning
1349         flag for an aspect.
1350         (Set_Restriction_No_Use_Of_Attribute): Properly set the warning
1351         flag for an attribute.  (Set_Restriction_No_Use_Of_Entity):
1352         Update the parameter profile.
1353         (Set_Restriction_No_Use_Of_Pragma): Properly set the warning flag for
1354         a pragma.
1355         * restrict.ads (Check_Restriction_No_Use_Of_Attribute): Update
1356         the comment on usage.
1357         (Set_Restriction_No_Use_Of_Entity): Update the parameter profile.
1358         * sem_attr.adb (Analyze_Attribute): Check restriction
1359         No_Use_Of_Attribute.
1360         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
1361         restriction No_Use_Of_Attribute before any rewritings have
1362         taken place.
1363         * sem_prag.adb (Analyze_Pragma): Check restriction
1364         No_Use_Of_Pragma before any rewritings have taken place.
1366 2016-04-18  Bob Duff  <duff@adacore.com>
1368         * sem_ch6.adb (Is_Inline_Pragma): The pragma
1369         argument can be a selected component, which has no Chars field,
1370         so we need to deal with that case (use the Selector_Name).
1371         (Check_Inline_Pragma): We need to test Is_List_Member before
1372         calling In_Same_List, because in case of a library unit, they're
1373         not in lists, so In_Same_List fails an assertion.
1375 2016-04-18  Bob Duff  <duff@adacore.com>
1377         * namet.ads, namet.adb: Add an Append that appends a
1378         Bounded_String onto a Bounded_String. Probably a little more
1379         efficient than "Append(X, +Y);". Also minor cleanup.
1380         (Append_Decoded, Append_Decoded_With_Brackets, Append_Unqualified,
1381         Append_Unqualified_Decoded): Make sure these work with non-empty
1382         buffers.
1383         * casing.ads, casing.adb (Set_Casing): Pass a Bounded_String
1384         parameter, defaulting to Global_Name_Buffer.
1385         * errout.ads, errout.adb (Adjust_Name_Case): Pass a
1386         Bounded_String parameter, no default.
1387         * exp_ch11.adb (Expand_N_Raise_Statement): Use local
1388         Bounded_String instead of Global_Name_Buffer.
1389         * exp_intr.ads, exp_intr.adb (Write_Entity_Name): Rename it
1390         to Append_Entity_Name, and pass a Bounded_String parameter,
1391         instead of using globals.
1392         (Add_Source_Info): Pass a Bounded_String parameter, instead of
1393         using globals.
1394         (Expand_Source_Info): Use local instead of globals.
1395         * stringt.ads, stringt.adb (Append): Add an Append procedure
1396         for appending a String_Id onto a Bounded_String.
1397         (String_To_Name_Buffer, Add_String_To_Name_Buffer): Rewrite in
1398         terms of Append.
1399         * sem_prag.adb (Set_Error_Msg_To_Profile_Name): Adjust for new
1400         Adjust_Name_Case parameter.
1401         * erroutc.adb, uname.adb: Don't pass D => Mixed_Case to
1402         Set_Casing; that's the default.
1403         * lib-xref-spark_specific.adb (Add_SPARK_Scope): Pretend that calls to
1404         protected subprograms are entry calls; otherwise it is not possible to
1405         distinguish them from regular subprogram calls.
1407 2016-04-18  Gary Dismukes  <dismukes@adacore.com>
1409         * sem_ch13.adb (Has_Good_Profile): Improvement
1410         of error message. Now indicates subtype_mark of formal parameter
1411         rather than the formal's name, plus minor rewording.
1413 2016-04-18  Pascal Obry  <obry@adacore.com>
1415         * adaint.c, adaint.h, s-os_lib.ads: Add new routine Current_Process_Id.
1417 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1419         * stringt.adb, exp_ch6.adb, sem_ch13.adb: Minor reformatting.
1421 2016-04-18  Gary Dismukes  <dismukes@adacore.com>
1423         * par-ch4.adb, sem_prag.adb: Minor reformatting.
1425 2016-04-18  Bob Duff  <duff@adacore.com>
1427         * sinput.ads, sinput.adb (Build_Location_String): Take a
1428         parameter instead of using a global variable.  The function
1429         version no longer destroys the Name_Buffer.
1430         * stringt.ads, stringt.adb (String_From_Name_Buffer): Take a
1431         parameter, which defaults to the Global_Name_Buffer, so some
1432         calls can avoid the global.
1433         * exp_ch11.adb, exp_intr.adb: Use new interfaces above
1434         to avoid using globals. All but one call to Build_Location_String
1435         avoids the global. Only one call to String_From_Name_Buffer
1436         avoids it.
1438 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1440         * namet.adb, namet.ads, exp_unst.adb: Minor reformatting.
1442 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1444         * sem_eval.adb (Choice_Matches): Check the expression
1445         against the predicate values when the choice denotes a
1446         subtype with a static predicate.
1447         (Eval_Membership_Op): Code cleanup. Remove the suspicious guard which
1448         tests for predicates.
1449         (Is_OK_Static_Subtype): A subtype with a dynamic predicate
1450         is not static.  (Is_Static_Subtype): A subtype with a dynamic
1451         predicate is not static.
1452         * sem_eval.ads (Is_OK_Static_Subtype): Update the comment on usage.
1453         (Is_Static_Subtype): Update the comment on usage.
1455 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1457         * sem_prag.adb (Analyze_Input_Item): Allow
1458         generic formals to appear as initialization items.
1460 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1462         * sem_ch13.adb (Analyze_Stream_TSS_Definition,
1463         Has_Good_Profile): Additional error message to indicate that
1464         the second parameter of the subprogram must be a first subtype.
1466 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1468         * sem_ch6.adb (Analyze_Subprogram_Body_Helper, Is_Inline_Pragma):
1469         Use the pragma lookahead that determines whether a subprogram
1470         is to be inlined, when some level of backend optimization is
1471         required.
1472         * sem_ch12.ads, sem_ch12.adb (Add_Pending_Instantiation): Factorize
1473         code used to create an instance body when needed for inlining.
1474         * exp_ch6.adb (Expand_Call): When a call is to be inlined, and the
1475         call appears within an instantiation that is not a compilation
1476         unit, add a pending instantiation for the enclosing instance,
1477         so the backend can inline in turn the calls contained in the
1478         inlined body.
1480 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1482         * sem_prag.adb (Build_Pragma_Check_Equivalent): The mapping
1483         that relates operations of the parent type to the operations of
1484         the derived type has three distinct sources:
1485         a) explicit operations of the derived type carry an
1486         Overridden_Operation that designates the operation in the
1487         ancestor.
1488         b) Implicit operations that are inherited by the derived type
1489         carry an alias that may be an explicit subprogram (in which case
1490         it may have an Overridden_ Operation indicator) or may also be
1491         inherited and carry its own alias.
1492         c) If the parent type is an interface, the operation of the
1493         derived type does not override, but the interface operation
1494         indicates the operation that implements it.
1495         * sem_prag.adb: Minor reformatting.
1496         * sem_prag.adb (Check_External_Property): Update
1497         the comment on usage. Reimplement.
1499 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1501         * exp_ch5.adb (Expand_Assignment_Statement): In restricted
1502         profiles such as ZFP, ceiling priority is not available.
1504 2016-04-18  Bob Duff  <duff@adacore.com>
1506         * namet-sp.ads: Minor typo fix, ironically in 'Spelling_Checker'.
1508 2016-04-18  Bob Duff  <duff@adacore.com>
1510         * sem_elab.adb (Output_Calls): Use
1511         Get_Name_String, to clearly indicate that the global Name_Buffer
1512         is being used. The previous code used Is_Internal_Name, which
1513         returns a Boolean, but also has a side effect of setting the
1514         Name_Buffer. Then it called the other Is_Internal_Name, which uses
1515         the Name_Buffer for its input. And then it called Error_Msg_N,
1516         again using the Name_Buffer. We haven't eliminated the global
1517         usage here, but we've made it a bit clearer.
1518         This also allows us to have a side-effect-free version of
1519         Is_Internal_Name.
1520         * namet.ads, namet.adb: Provide a type Bounded_String, along with
1521         routines that can be used without using global variables. Provide
1522         Global_Name_Buffer so existing code can continue to use the
1523         global. Mark the routines that use globals as obsolete.  New code
1524         shouldn't call the obsolete ones, and we should clean up existing
1525         code from time to time.
1526         Name_Find_Str is renamed as Name_Find.
1527         * namet.h: Changed as necessary to interface to the new version
1528         of Namet.
1529         * bindgen.adb, exp_unst.adb: Name_Find_Str is renamed as
1530         Name_Find.
1532 2016-04-18  Yannick Moy  <moy@adacore.com>
1534         * sem_util.adb, sem_util.ads (Has_Full_Default_Initialization): used
1535         outside of GNATprove, hence it should not be removed.
1537 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1539         * sem_prag.adb (Analyze_Refinement_Clause):
1540         The refinement of an external abstract state can now mention
1541         non-external constituents.
1542         (Check_External_Property): Update all SPARK RM references.
1544 2016-04-18  Bob Duff  <duff@adacore.com>
1546         * exp_intr.adb: Remove some duplicated code.
1548 2016-04-18  Yannick Moy  <moy@adacore.com>
1550         * a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads: Mark
1551         package spec and body out of SPARK.
1553 2016-04-18  Johannes Kanig  <kanig@adacore.com>
1555         * spark_xrefs.ads: Minor comment update.
1557 2016-04-18  Johannes Kanig  <kanig@adacore.com>
1559         * gnat1drv.adb (Gnat1drv): Force loading of System
1560         unit for SPARK.
1562 2016-04-18  Bob Duff  <duff@adacore.com>
1564         * a-cuprqu.adb: Correction to previous change. If a new node
1565         is inserted at the front of the queue (because it is higher
1566         priority than the previous front node), we need to update
1567         Header.Next_Unequal -- not just in the case where the queue was
1568         previously empty.
1570 2016-04-18  Bob Duff  <duff@adacore.com>
1572         * a-cuprqu.ads: Change the representation of List_Type from a
1573         singly-linked list to a doubly-linked list. In addition, add a
1574         pointer Next_Unequal, which points past a possibly-long chain
1575         of equal-priority items. This increases efficiency, especially
1576         in the case of many equal-priority items.
1577         * a-cuprqu.adb (Dequeue, Enqueue): Rewrite algorithms to take
1578         advantage of new data structure.
1579         (Finalize): Rewrite in terms of Dequeue, for simplicity.
1581 2016-04-18  Yannick Moy  <moy@adacore.com>
1583         * contracts.adb (Analyze_Object_Contract,
1584         Analyze_Protected_Contract): Remove tests performed in GNATprove.
1585         * sem_util.adb, sem_util.ads (Has_Full_Default_Initialization):
1586         Remove query for tests performed in GNATprove.
1588 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1590         * sem_aggr.adb (Resolve_Record_Aggregate): If
1591         Warn_On_Redundant_Constructs is enabled, report a redundant box
1592         association that does not cover any components, as it done for
1593         redundant others associations in case statements.
1595 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1597         * sem_prag.adb (Collect_Inherited_Class_Wide_Conditions):
1598         Analyze the generated Check pragma for an inherited condition so
1599         that it does not freeze the dispatching type of the primitive
1600         operation, because it is pre-analyzed at the point of the
1601         subprogram declaration (and not in the subprogram body, as is
1602         done during regular expansion).
1604 2016-04-18  Vincent Celier  <celier@adacore.com>
1606         * ali.ads: Increase the range of all _Id types to 100 millions.
1608 2016-04-18  Gary Dismukes  <dismukes@adacore.com>
1610         * sem_warn.adb (Check_References): Change warning to suggest
1611         using pragma Export rather than saying "volatile has no effect".
1613 2016-04-18  Bob Duff  <duff@adacore.com>
1615         * g-souinf.ads (Compilation_ISO_Date): New function to return
1616         the current date in ISO form.
1617         * exp_intr.adb (Expand_Source_Info, Add_Source_Info): Expand
1618         a call to Compilation_ISO_Date into a string literal containing
1619         the current date in ISO form.
1620         * exp_intr.ads (Add_Source_Info): Improve documentation.
1621         * sem_intr.adb (Check_Intrinsic_Subprogram): Recognize
1622         Compilation_ISO_Date.
1623         * snames.ads-tmpl (Name_Compilation_ISO_Date): New Name_Id.
1625 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1627         * layout.adb (Set_Elem_Alignment): Extend setting of alignment
1628         to subtypes that are not first subtypes.
1630 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1632         * sem_prag.ads (Collect_Inherited_Class_Wide_Conditions):
1633         Simplify interface.
1634         * sem_prag.adb (Collect_Inherited_Class_Wide_Conditions): Insert
1635         generated pragmas after subprogram declaration, rather than in
1636         the corresponding subprogram body.
1637         * sem_ch6.adb (New_Overloaded_Entity): In GNATProve
1638         mode, if the operation is overridding, call
1639         Collect_Inherited_Class_Wide_Conditions to generate the
1640         corresponding pragmas immediately after the corresponding
1641         subprogram declaration.
1643 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1645         * spark_xrefs.ads (Xref_Index, Scope_Index, File_Index): restrict
1646         type to natural numbers.
1647         (Stype): document code characters for concurrent entities.
1649 2016-04-18  Olivier Hainque  <hainque@adacore.com>
1651         * targparm.ads: Update the Frontend_Exceptions default internal
1652         value.
1653         (Frontend_Exceptions_On_Target): Change default value to True.
1655 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1657         * sem_ch4.adb (Analyze_Selected_Component): Refine error
1658         detection when a selected component in the body of a synchronized
1659         type is a reference to an object of the same type declared
1660         elsewhere. The construct is legal if the prefix of the selected
1661         component includes an explicit dereference at any point.
1663 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1665         * sem_ch3.adb (Analyze_Object_Declaration): Do not consider
1666         internally generated expressions when trying to determine whether
1667         a formal parameter of a tagged type subject to Extensions_Visible
1668         False is used to initialize an object.
1669         * sem_ch4.adb (Analyze_Type_Conversion): Do not consider
1670         internally generated expressions when trying to determine whether
1671         a formal parameter of a tagged type subject to Extensions_Visible
1672         False is used in a type conversion.
1674 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1676         * sem_res.adb (Is_Protected_Operation_Call):
1677         Add guards to account for a non-decorated selected component.
1679 2016-04-18  Yannick Moy  <moy@adacore.com>
1681         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Improve
1682         implementation of Body_Has_SPARK_Mode_On.
1683         * sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_From_Annotation):
1684         New function replacing previous Get_SPARK_Mode_From_Pragma, that
1685         deals also with aspects.
1686         (Get_SPARK_Mode_Type): Make function internal again.
1687         * inline.adb, sem_ch7.adb, sem_util.adb: Use new
1688         Get_SPARK_Mode_From_Annotation.
1690 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1692         * contracts.adb (Analyze_Object_Contract): Update references to
1693         SPARK RM.
1694         * freeze.adb (Freeze_Entity): Update references to SPARK RM.
1695         * ghost.adb Add with and use clauses for Sem_Disp.
1696         (Check_Ghost_Derivation): Removed.
1697         (Check_Ghost_Overriding):
1698         Reimplemented.  (Check_Ghost_Policy): Update references to SPARK RM.
1699         (Check_Ghost_Primitive): New routine.
1700         (Check_Ghost_Refinement): New routine.  (Is_OK_Ghost_Context):
1701         Update references to SPARK RM.  (Is_OK_Pragma): Update references
1702         to SPARK RM. Predicates are now a valid context for references
1703         to Ghost entities.
1704         * ghost.ads (Check_Ghost_Derivation): Removed.
1705         (Check_Ghost_Overriding): Update the comment on usage.
1706         (Check_Ghost_Primitive): New routine.
1707         (Check_Ghost_Refinement): New routine.
1708         (Remove_Ignored_Ghost_Code): Update references to SPARK RM.
1709         * sem_ch3.adb (Process_Full_View): Remove the now obsolete check
1710         related to Ghost derivations
1711         * sem_ch6.adb (Check_Conformance): Remove now obsolete check
1712         related to the convention-like behavior of pragma Ghost.
1713         (Check_For_Primitive_Subprogram): Verify that the Ghost policy
1714         of a tagged type and its primitive agree.
1715         * sem_prag.adb (Analyze_Pragma): Update references to SPARK
1716         RM. Move the verification of pragma Assertion_Policy Ghost
1717         to the proper place. Remove the now obsolete check related
1718         to Ghost derivations.
1719         (Collect_Constituent): Add a call to Check_Ghost_Refinement.
1720         * sem_res.adb (Resolve_Actuals): Update references to SPARK RM.
1722 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1724         * layout.adb: Fix more minor typos in comments.
1726 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1728         * a-calend.ads, sem_prag.adb, sem_ch6.adb: Minor reformatting.
1730 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1732         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): In GNATprove
1733         mode, collect inherited class-wide conditions to generate the
1734         corresponding pragmas.
1735         * sem_prag.ads (Build_Pragma_Check_Equivalent): Moved from contracts
1736         * contracts.adb (Collect_Inherited_Class_Wide_Conditions): New
1737         procedure for overriding subprograms, used to generate the pragmas
1738         corresponding to an inherited class- wide pre- or postcondition.
1739         * sem_prag.adb (Build_Pragma_Check_Equivalent): moved here
1740         from contracts.adb (Replace_Condition_Entities): Subsidiary
1741         Build_Pragma_Check_Equivalent, to implement the proper semantics
1742         of inherited class-wide conditions, as given in AI12-0113.
1743         (Process_Class_Wide_Condition): Removed.
1744         (Collect_Inherited_Class_Wide_Conditions): Iterate over pragmas
1745         in contract of subprogram, to collect inherited class-wide
1746         conditions.
1747         (Build_Pragma_Check_Equivalent): Moved to sem_prag.adb
1749 2016-04-18  Yannick Moy  <moy@adacore.com>
1751         * a-calend.adb (Ada.Calendar): Mark package body as SPARK_Mode Off.
1752         * a-calend.ads (Ada.Calendar): Mark package spec as
1753         SPARK_Mode and add synchronous external abstract state Clock_Time.
1755 2016-04-18  Yannick Moy  <moy@adacore.com>
1757         * sem_res.adb (Resolve_Call): Prevent inlining of
1758         calls inside expression functions.  Factor previous code issuing
1759         errors to call Cannot_Inline instead, which does appropriate
1760         processing of message for GNATprove.
1762 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1764         * einfo.ads, sem_ch3.adb, sem_ch8.adb, osint-l.adb, rtsfind.adb,
1765         osint-b.adb: Cleanups.
1767 2016-04-18  Yannick Moy  <moy@adacore.com>
1769         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Only create
1770         body to inline in GNATprove mode when SPARK_Mode On applies to
1771         subprogram body.
1772         * sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_Type): Make function
1773         public.
1775 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1777         * layout.adb: Fix minor typo in comment.
1778         * inline.adb: Fix minor pasto.
1779         * sem_ch12.ads: Fix minor typos in comments.
1781 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1783         * sem_disp.adb (Check_Dispatching_Call): Major rewriting to
1784         handle some complex cases of tag indeterminate calls that are
1785         actuals in other dispatching calls that are themselves tag
1786         indeterminate.
1787         (Check_Dispatching_Context): Add parameter to support recursive
1788         check for an enclosing construct that may provide a tag for a
1789         tag-indeterminate call.
1791 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1793         * sem_prag.adb (Analyze_Depends_In_Decl_Part):
1794         Add global variables Task_Input_Seen and Task_Output_Seen.
1795         (Analyze_Global_Item): Detect an illegal use of the current
1796         instance of a single protected/task type in a global annotation.
1797         (Analyze_Input_Output): Inputs and output related to the current
1798         instance of a task unit are now tracked.
1799         (Check_Usage): Require
1800         the presence of the current instance of a task unit only when
1801         one input/output is available.  (Current_Task_Instance_Seen):
1802         New routine.
1803         (Is_CCT_Instance): New parameter profile. Update
1804         the comment on usage. The routine now properly recognizes several
1805         cases related to single protected/task types.
1807 2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
1809         * freeze.adb (Freeze_Entity): Use New_Freeze_Node
1810         to create a brand new freeze node. This handles a case where an
1811         ignored Ghost context is freezing something which is not ignored
1812         Ghost and whose freeze node should not be removed from the tree.
1813         (New_Freeze_Node): New routine.
1815 2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
1817         * sigtramp.h (__gnat_set_is_vxsim) New function to
1818         tell sigtramp-vxworks to handle vxsim signal contexts.  *
1819         sigtramp-vxworks.c (__gnat_sigtramp) Take into account the
1820         differences in the sigcontext structure between the expected
1821         regular x86 or x86_64 ones and the ones received in case of
1822         exexution on the vxworks simulator.
1823         * init.c: also compute is_vxsim in case of x86_64-vx7 target. Provide
1824         this information to sigtramp-vxworks.c. Remove the old mechanism for
1825         vxsim.
1826         * init-vxsim.c, sigtramp-vxworks-vxsim.c: remove, now obsolete.
1828 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1830         * exp_ch3.adb (Inline_Init_Proc): New function returning
1831         whether the initialization procedure of a type should be
1832         inlined.  Return again True for controlled type themselves.
1833         (Build_Array_Init_Proc): Call it to set Set_Is_Inlined on Init_Proc.
1834         (Build_Record_Init_Proc): Likewise.
1836 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1838         * gnatvsn.ads (Library_Version): Bump to 7.
1840 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1842         * sem_ch6.adb (Analyze_Expression_Function): Set Inlined flag
1843         on the entity of a subprogram declaration that is completed by
1844         an expression function.
1846 2016-04-18  Ed Schonberg  <schonberg@adacore.com>
1848         * sem_util.adb (Is_Current_Instance): A entity given by a subtype
1849         declaration can appear in an aspect specification for a dynamic
1850         predicate, and a pragma for aspect Predicate_Failure.
1851         * exp_util.adb (Replace_Subtype_References): Replace current
1852         occurrences of the subtype to which a dynamic predicate applies,
1853         byt the expression that triggers a predicate check. Needed to
1854         implement new aspect Predicate_Failure.
1856 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1858         * a-intsig.ads, a-intsig.adb: Removed, no longer used.
1859         * Makefile.rtl: update accordingly.
1861 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1863         * sem_type.adb (Disambiguate): Call Covers only when necessary
1864         for standard operators.
1866 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1868         * atree.ads (Num_Extension_Nodes): Add couple of figures
1869         to comment.
1870         * atree.adb: Add GNAT.Heap_Sort_G dependency.
1871         (Print_Statistics): New exported procedure to print statistics.
1873 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1875         * exp_ch3.adb (Build_Record_Init_Proc): Do not mark the procedure
1876         as to be inlined if the type needs finalization.
1878 2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
1880         * sigtramp-vxworks-target.inc: sigtramp-vxworks: force the stack
1881         alignment for x86_64.
1882         * init.c: Better fix for guard page reset on x86_64-vx7.
1883         Do not try to retrieve the page that actually raised
1884         the signal as the probing mechanism used on x86_64 do not allow
1885         such retrieval. We thus just test if the guard page is active,
1886         and re-activate it if not.
1888 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1890         * a-sytaco.adb (Suspension_Object): Aspect Default_Initial_Condition
1891         added.
1893 2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
1895         * affinity.c: Use the proper type for task id.
1896         * init.c (__gnat_inum_to_ivec): ivec is a pointer.
1898 2016-04-18  Arnaud Charlet  <charlet@adacore.com>
1900         * sem_prag.adb (Process_Convention): Relax rule on exporting
1901         Intrinsic types if Relaxed_RM_Semantics is True.
1903 2016-04-18  Vincent Celier  <celier@adacore.com>
1905         * sem_ch3.adb, lib.ads, sinfo.ads, sem_ch10.adb, einfo.adb, einfo.ads,
1906         checks.ads, sem_ch12.adb, sem.adb, sem_util.adb, sem_util.ads,
1907         sem_res.adb, sem_attr.adb, par.adb, exp_ch4.adb, errout.ads,
1908         sem_ch4.adb, atree.adb, atree.ads, sem_warn.adb, treepr.adb,
1909         exp_ch3.ads, exp_unst.adb: Change "descendent" to
1910         "descendant" in comments, error messages and identifiers.
1911         * gcc-interface/decl.c: Ditto.
1913 2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1915         * sem_type.adb (Operator_Matches_Spec): Call First_Formal on
1916         New_S only once at the beginning of the function.
1918 2016-04-02  Eric Botcazou  <ebotcazou@adacore.com>
1920         * gcc-interface/decl.c (components_to_record): Restrict the previous
1921         change to fields with variable size.
1923 2016-03-27  Eric Botcazou  <ebotcazou@adacore.com>
1925         * gcc-interface/decl.c (components_to_record): Add special case for
1926         single field with representation clause at offset 0.
1928 2016-03-16  Svante Signell  <svante.signell@gmail.com>
1930         * gcc-interface/Makefile.in: Add support for x86 GNU/Hurd.
1931         * s-osinte-gnu.ads: New file.
1933 2016-03-13  Eric Botcazou  <ebotcazou@adacore.com>
1935         * system-vxworks-m68k.ads (Stack_Check_Probes): Set to True.
1936         (Stack_Check_Limits): Set to False.
1937         * system-vxworks-mips.ads (Stack_Check_Probes): Set to True.
1938         (Stack_Check_Limits): Set to False.
1939         * system-vxworks-ppc.ads (Stack_Check_Probes): Set to True.
1940         (Stack_Check_Limits): Set to False.
1941         * system-vxworks-sparcv9.ads (Stack_Check_Probes): Set to True.
1942         (Stack_Check_Limits): Set to False.
1943         * system-vxworks-x86.ads (Stack_Check_Probes): Set to True.
1944         (Stack_Check_Limits): Set to False.
1946 2016-03-07  Eric Botcazou  <ebotcazou@adacore.com>
1948         * gcc-interface/trans.c (statement_node_p): New predicate.
1949         (gnat_to_gnu): Invoke it to detect statement nodes.  In ASIS mode, do
1950         not return dummy results for expressions attached to packed array
1951         implementation types.
1953 2016-03-07  Eric Botcazou  <ebotcazou@adacore.com>
1955         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Always mark
1956         the expression of a renaming manually in case #3.
1958 2016-03-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>
1960         * system-linux-s390.ads: Enable Stack_Check_Probes.
1961         * system-linux-s390.ads: Likewise.
1963 2016-02-29  Martin Liska  <mliska@suse.cz>
1965         * gcc-interface/utils.c (set_reverse_storage_order_on_pad_type):
1966         Replace ENABLE_CHECKING macro with flag_checking.
1968 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
1970         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Retrofit
1971         handling of unconstrained array types as designated types into common
1972         processing.  Also handle array types as incomplete designated types.
1974 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
1976         * gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
1977         ASIS mode, fully lay out the minimal record type.
1979 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
1981         * gcc-interface/trans.c (finalize_nrv_r): Remove obsolete code.
1982         (build_return_expr): Likewise.
1983         (Call_to_gnu): If this is a function call and there is no target,
1984         create a temporary for the return value for all aggregate types,
1985         but never create it for a return statement.  Push a binding level
1986         around the call in more cases.  Remove obsolete code.
1988 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
1990         * gcc-interface/ada-tree.h (DECL_RETURN_VALUE_P): New macro.
1991         * gcc-interface/gigi.h (gigi): Remove useless attribute.
1992         (gnat_gimplify_expr): Likewise.
1993         (gnat_to_gnu_external): Declare.
1994         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Factor out
1995         code dealing with the expression of external constants into...
1996         Invoke gnat_to_gnu_external instead.
1997         <E_Variable>: Invoke gnat_to_gnu_external to translate renamed objects
1998         when not for a definition.  Deal with COMPOUND_EXPR and variables with
1999         DECL_RETURN_VALUE_P set for renamings and with the case of a dangling
2000         'reference to a function call in a renaming.  Remove obsolete test and
2001         adjust associated comment.
2002         * gcc-interface/trans.c (Call_to_gnu): Set DECL_RETURN_VALUE_P on the
2003         temporaries created to hold the return value, if any.
2004         (gnat_to_gnu_external): ...this.  New function.
2005         * gcc-interface/utils.c (create_var_decl): Detect a constant created
2006         to hold 'reference to function call.
2007         * gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Add folding
2008         for COMPOUND_EXPR in the DECL_RETURN_VALUE_P case.
2010 2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
2012         * exp_ch4.adb (Expand_N_Indexed_Component): Activate synchronization if
2013         the prefix denotes an entity which Has_Atomic_Components.
2014         * gcc-interface/trans.c (node_is_atomic): Return true if the prefix
2015         denotes an entity which Has_Atomic_Components.
2017 2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
2019         * gcc-interface/utils2.c (gnat_protect_expr): Make a SAVE_EXPR only
2020         for fat pointer or scalar types.
2022 2016-02-16  Eric Botcazou  <ebotcazou@adacore.com>
2024         * gcc-interface/gigi.h (maybe_debug_type): New inline function.
2025         * gcc-interface/misc.c (gnat_get_array_descr_info): Use it.
2026         Call maybe_character_value on the array bounds.  Get to the base type
2027         of the index type and call maybe_debug_type on it.
2028         * gcc-interface/utils.c (finish_character_type): Add special treatment
2029         for char_type_node.
2031 2016-02-16  Eric Botcazou  <ebotcazou@adacore.com>
2033         * gcc-interface/misc.c (gnat_enum_underlying_base_type): New function.
2034         (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define to above.
2036 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
2038         * prj-tree.ads: Spelling fixes - behaviour -> behavior and
2039         neighbour -> neighbor.
2040         * prep.adb: Likewise.
2041         * prj.ads: Likewise.
2042         * prepcomp.adb: Likewise.
2043         * g-socket.ads: Likewise.
2044         * s-imgrea.adb: Likewise.
2045         * a-calend.adb: Likewise.
2046         * exp_disp.adb: Likewise.
2047         * doc/gnat_ugn/gnat_utility_programs.rst: Likewise.
2048         * g-socket.adb: Likewise.
2049         * sem_ch12.adb: Likewise.
2050         * terminals.c: Likewise.
2052 2016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
2054         * gcc-interface/misc.c (gnat_init): Remove second argument in call to
2055         build_common_tree_nodes.
2057 2016-02-08  Eric Botcazou  <ebotcazou@adacore.com>
2059         * gcc-interface/utils.c (create_var_decl): Set again DECL_COMMON and
2060         DECL_IGNORED_P last.
2062 2016-01-28  Eric Botcazou  <ebotcazou@adacore.com>
2064         * gcc-interface/gigi.h (enum attr_type): Rename into...
2065         (enum attrib_type): ...this.
2066         (struct attrib): Adjust.
2067         * gcc-interface/decl.c (prepend_one_attribute): Likewise.
2069 2016-01-20  Eric Botcazou  <ebotcazou@adacore.com>
2071         * exp_ch2.adb (Expand_Current_Value): Make an appropriate character
2072         literal if the entity is of a character type.
2073         * gcc-interface/lang.opt (fsigned-char): New option.
2074         * gcc-interface/misc.c (gnat_handle_option): Accept it.
2075         (gnat_init): Adjust comment.
2076         * gcc-interface/gigi.h (finish_character_type): New prototype.
2077         (maybe_character_type): New inline function.
2078         (maybe_character_value): Likewise.
2079         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: For
2080         a character of CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
2081         Set TYPE_ARTIFICIAL early and call finish_character_type on the type.
2082         <E_Enumeration_Subtype>: For a subtype of character with RM_Size and
2083         Esize equal to CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
2084         Copy TYPE_STRING_FLAG from type to subtype.
2085         <E_Array_Type>: Deal with character index types.
2086         <E_Array_Subtype>: Likewise.
2087         * gcc-interface/trans.c (gigi): Replace unsigned_char_type_node with
2088         char_type_node throughout.
2089         (build_raise_check): Likewise.
2090         (get_type_length): Deal with character types.
2091         (Attribute_to_gnu) <Attr_Pos>: Likewise.  Remove obsolete range check
2092         code.  Minor tweak.
2093         <Attr_Pred>: Likewise.
2094         (Loop_Statement_to_gnu): Likewise.
2095         (Raise_Error_to_gnu): Likewise.
2096         <N_Indexed_Component>: Deal with character index types.  Remove
2097         obsolete code.
2098         <N_Slice>: Likewise.
2099         <N_Type_Conversion>: Deal with character types.  Minor tweak.
2100         <N_Unchecked_Type_Conversion>: Likewise.
2101         <N_In>: Likewise.
2102         <N_Op_Eq>: Likewise.
2103         (emit_index_check): Delete.
2104         * gcc-interface/utils.c (finish_character_type): New function.
2105         (gnat_signed_or_unsigned_type_for): Deal with built-in character types.
2106         * gcc-interface/utils2.c (expand_sloc): Replace unsigned_char_type_node
2107         with char_type_node.
2108         (build_call_raise): Likewise.
2109         (build_call_raise_column): Likewise.
2110         (build_call_raise_range): Likewise.
2112 2016-01-18  Eric Botcazou  <ebotcazou@adacore.com>
2114         * gcc-interface/gigi.h (build_call_raise_column): Adjust prototype.
2115         (build_call_raise_range): Likewise.
2116         (gnat_unsigned_type): Delete.
2117         (gnat_signed_type): Likewise.
2118         (gnat_signed_or_unsigned_type_for): New prototype.
2119         (gnat_unsigned_type_for): New inline function.
2120         (gnat_signed_type_for): Likewise.
2121         * gcc-interface/cuintp.c (build_cst_from_int): Call build_int_cst.
2122         * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
2123         (gnat_to_gnu_entity) <E_Array_Type>: Always translate the index types
2124         and compute their base type from that.
2125         <E_Array_Subtype>: Remove duplicate declaration.
2126         * gcc-interface/misc.c (get_array_bit_stride): Call build_int_cst.
2127         * gcc-interface/trans.c (get_type_length): Likewise.
2128         (Attribute_to_gnu): Likewise.
2129         (Loop_Statement_to_gnu): Likewise.
2130         (Call_to_gnu): Likewise.
2131         (gnat_to_gnu): Call build_real, build_int_cst, gnat_unsigned_type_for
2132         and gnat_signed_type_for.  Minor tweaks.
2133         (build_binary_op_trapv): Likewise.
2134         (emit_check): Likewise.
2135         (convert_with_check): Likewise.
2136         (Raise_Error_to_gnu): Adjust calls to the build_call_raise family of
2137         functions.  Minor tweaks.
2138         (Case_Statement_to_gnu): Remove dead code.
2139         (gnat_to_gnu): Call gnat_unsigned_type_for and gnat_signed_type_for.
2140         (init_code_table): Minor reordering.
2141         * gcc-interface/utils.c (gnat_unsigned_type): Delete.
2142         (gnat_signed_type): Likewise.
2143         (gnat_signed_or_unsigned_type_for): New function.
2144         (unchecked_convert): Use directly the size in the test for precision
2145         vs size adjustments.
2146         (install_builtin_elementary_types): Call gnat_signed_type_for.
2147         * gcc-interface/utils2.c (nonbinary_modular_operation): Call
2148         build_int_cst.
2149         (build_goto_raise): New function taken from...
2150         (build_call_raise): ...here.  Call it.
2151         (build_call_raise_column): Add KIND parameter and call it.
2152         (build_call_raise_range): Likewise.
2154 2016-01-18  Eric Botcazou  <ebotcazou@adacore.com>
2156         * gcc-interface/ada-tree.h (TYPE_IMPLEMENTS_PACKED_ARRAY_P): Rename to
2157         (TYPE_IMPL_PACKED_ARRAY_P): ...this.
2158         (TYPE_CAN_HAVE_DEBUG_TYPE_P): Do not test TYPE_DEBUG_TYPE.
2159         * gcc-interface/decl.c (gnat_to_gnu_entity): Simplify NULL_TREE tests
2160         and tweak gnat_encodings tests throughout.
2161         (initial_value_needs_conversion): Likewise.
2162         (intrin_arglists_compatible_p): Likewise.
2163         * gcc-interface/misc.c (gnat_print_type): Likewise.
2164         (gnat_get_debug_type): Likewise.
2165         (gnat_get_fixed_point_type_info): Likewise.
2166         (gnat_get_array_descr_info): Likewise.
2167         (get_array_bit_stride): Likewise.
2168         (gnat_get_type_bias): Fix formatting.
2169         (enumerate_modes): Likewise.
2170         * gcc-interface/trans.c (gnat_to_gnu): Likewise.
2171         (add_decl_expr): Simplify NULL_TREE test.
2172         (end_stmt_group): Likewise.
2173         (build_binary_op_trapv): Fix formatting.
2174         (get_exception_label): Use switch statement.
2175         (init_code_table): Move around.
2176         * gcc-interface/utils.c (global_bindings_p): Simplify NULL_TREE test.
2177         (gnat_poplevel): Likewise.
2178         (gnat_set_type_context): Likewise.
2179         (defer_or_set_type_context): Fix formatting.
2180         (gnat_pushdecl): Simplify NULL_TREE test.
2181         (maybe_pad_type): Likewise.
2182         (add_parallel_type): Likewise.
2183         (create_range_type): Likewise.
2184         (process_deferred_decl_context): Likewise.
2185         (convert): Likewise.
2186         (def_builtin_1): Likewise.
2187         * gcc-interface/utils2.c (find_common_type): Likewise.
2188         (build_binary_op): Likewise.
2189         (gnat_rewrite_reference): Likewise.
2190         (get_inner_constant_reference): Likewise.
2192 2016-01-18  Eric Botcazou  <ebotcazou@adacore.com>
2194         PR ada/69219
2195         * gcc-interface/trans.c (check_inlining_for_nested_subprog): Consider
2196         the parent function instead of the current function in order to issue
2197         the warning or the error.  Add guard for ignored functions.
2199 2016-01-17  Jakub Jelinek  <jakub@redhat.com>
2201         * adaint.c (__gnat_killprocesstree): Avoid -Wparentheses warning.
2203 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
2205         * adaint.c (__gnat_locate_exec_on_path): Use const char * instead
2206         of char * for path_val to avoid warnings.
2208 2016-01-06  Pierre-Marie de Rodat  <derodat@adacore.com>
2210         * gcc-interface/utils.c: Bump copyright year.
2211         (rest_of_record_type_compilation): Add XVE/XVU parallel types to
2212         the current lexical scope.
2214 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
2216         * gnat_ugn.texi: Bump @copying's copyright year.
2217         * gnat_rm.texi: Likewise.
2219 2016-01-02  Eric Botcazou  <ebotcazou@adacore.com>
2221         * gnatvsn.ads: Bump copyright year.
2224 Copyright (C) 2016 Free Software Foundation, Inc.
2226 Copying and distribution of this file, with or without modification,
2227 are permitted in any medium without royalty provided the copyright
2228 notice and this notice are preserved.