blob: 3b6906482f080b8bc1675689597119f93972a0d3 [file] [log] [blame]
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* doc/gnat_ugn/building_executable_programs_with_gnat.rst
(Warning Message Control): Update description of switch -gnatwj.
* gnat_ugn.texi: Regenerate.
* sem_ch10.adb (Analyze_With_Clause): Warn on WITH clauses for
obsolete renamed units; in Ada 83 mode do not consider
predefined renamings to be obsolete.
2022-07-05 Eric Botcazou <ebotcazou@adacore.com>
* exp_util.adb (Make_Subtype_From_Expr): Do not set field to Empty.
* sem_util.adb (Visit_Itype): Remove ??? comment.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* sem_attr.adb (Note_Possible_Modification): Revert a
special-case for validity checks on Long_Float type.
* snames.ads-tmpl (Name_Attr_Long_Float): Remove name added
exclusively for the mentioned fix.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* sem_ch6.adb (Set_Formal_Mode): Remove unnecessary setting of
Never_Set_In_Source.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* sem_ch6.adb (Process_Formals): Avoid repeated calls to
Expression.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* exp_code.adb (Setup_Asm_IO_Args): Remove guard against No_List.
* par_sco.adb (Process_Decisions): Likewise.
* sem_ch13.adb (Check_Component_List): Likewise.
* sem_ch6.adb (FCL): Likewise.
2022-07-05 Doug Rupp <rupp@adacore.com>
* cstreams.c (__gnat_full_name) [QNX]: Remove block.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* osint.adb (Locate_File): Use Name_Find with a parameter and
not with a global buffer.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* exp_ch3.adb (Build_Init_Statements): Reuse Get_Pragma_Arg.
* exp_prag.adb (Arg_N): Likewise.
2022-07-05 Yannick Moy <moy@adacore.com>
* ghost.adb (Is_OK_Ghost_Context): Detect ghost type inside object
renaming.
2022-07-05 Bob Duff <duff@adacore.com>
* exp_ch7.adb: Change two constants Is_Protected_Body and
Is_Prot_Body to be Is_Protected_Subp_Body; these are not true
for protected bodies, but for protected subprogram bodies.
(Expand_Cleanup_Actions): No need to search for
Activation_Chain_Entity; just use Activation_Chain_Entity.
* sem_ch8.adb (Find_Direct_Name): Use Entyp constant.
* atree.adb, atree.ads, atree.h, nlists.adb, nlists.ads
(Parent): Provide nonoverloaded versions of Parent, so that they
can be easily found in the debugger.
* debug_a.adb, debug_a.ads: Clarify that we're talking about the
-gnatda switch; switches are case sensitive. Print out the
Chars field if appropriate, which makes it easier to find things
in the output.
(Debug_Output_Astring): Simplify. Also fix an off-by-one
bug ("for I in Vbars'Length .." should have been "for I in
Vbars'Length + 1 .."). Before, it was printing Debug_A_Depth +
1 '|' characters if Debug_A_Depth > Vbars'Length.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* sem_prag.adb (Analyze_Pragma): Remove unnecessary call to
Analyze.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* libgnat/g-socket.adb (Raise_Host_Error): Add No_Return aspect.
(Raise_GAI_Error): Likewise.
* libgnat/g-socket.ads (Raise_Socket_Error): Likewise.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* sem_util.adb (Aggregate_Constraint_Checks): Fix whitespace;
refactor repeated code; replace a ??? comment with an
explanation based on the comment for the routine spec.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* sem_util.ads (Note_Possible_Modification): Fix occurrence of
May_Be_Modified in comment.
* sem_warn.ads (Check_Unset_Reference): Fix occurrence of
Not_Assigned in comment.
2022-07-05 Yannick Moy <moy@adacore.com>
* sem_attr.adb (Analyze_Attribute): Take into account the
possibility of homonyms.
2022-07-05 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as a renaming
for any nonaliased local object with nominal unconstrained subtype
originally initialized with the result of a function call that has
been rewritten as the dereference of a reference to the result.
* sem_ch3.adb (Analyze_Object_Declaration): Do not do it here
2022-07-05 Arnaud Charlet <charlet@adacore.com>
* exp_imgv.adb (Build_Enumeration_Image_Tables): Also disable
perfect hash in GNAT_Mode.
* raise-gcc.c (__gnat_Unwind_RaiseException): Add support for
disabling exception propagation.
* sem_eval.adb (Compile_Time_Known_Value): Update comment and
remove wrong call to Check_Error_Detected.
* sem_prag.adb (Check_Loop_Pragma_Grouping, Analyze_Pragma):
Remove exception propagation during bootstrap.
2022-07-05 Eric Botcazou <ebotcazou@adacore.com>
* exp_aggr.adb (Expand_Array_Aggregate): Remove obsolete code.
Delay the expansion of aggregates initializing return objects of
build-in-place functions.
* exp_ch3.ads (Ensure_Activation_Chain_And_Master): Delete.
* exp_ch3.adb (Ensure_Activation_Chain_And_Master): Fold back to...
(Expand_N_Object_Declaration): ...here.
Perform the expansion of return objects of build-in-place functions
here instead of...
* exp_ch6.ads (Is_Build_In_Place_Return_Object): Declare.
* exp_ch6.adb (Expand_N_Extended_Return_Statement): ...here.
(Is_Build_In_Place_Result_Type): Alphabetize.
(Is_Build_In_Place_Return_Object): New predicate.
* exp_ch7.adb (Enclosing_Function): Delete.
(Process_Object_Declaration): Tidy up handling of return objects.
* sem_ch3.adb (Analyze_Object_Declaration): Do not decorate and
freeze the actual type if it is the same as the nominal type.
* sem_ch6.adb: Remove use and with clauses for Exp_Ch3.
(Analyze_Function_Return): Analyze again all return objects.
(Create_Extra_Formals): Do not force the definition of an Itype
if the subprogram is a compilation unit.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* gnatls.adb (Corresponding_Sdep_Entry): Remove dead return
statement in defensive path; there is another return statement
for a normal execution of this routine, so rule Ada RM 6.5(5),
which requires function to have at least one return statement is
still satisfied.
(Gnatls): Remove dead, call to nonreturning Exit_Program after
Output_License_Information which itself does not return.
* libgnat/a-exstat.adb (Bad_EO): Remove raise statement that was
meant to please some ancient version of GNAT.
* libgnat/g-awk.adb (Raise_With_Info): Likewise.
* sem_attr.adb (Check_Reference): Remove dead return statement;
rule Ada RM 6.5(5), which requires function to have at least one
return statement is still satisfied.
(Analyze_Attribute): Remove dead exit statement.
(Check_Reference): Same as above.
* sem_ch12.adb (Instantiate_Formal_Package): Remove dead raise
statement; it was inconsistent with other calls to
Abandon_Instantiation, which are not followed by a raise
statement.
* sem_prag.adb (Process_Convention): Remove dead defensive
assignment.
(Interrupt_State): Remove dead defensive exit statement.
(Do_SPARK_Mode): Likewise.
* sfn_scan.adb (Scan_String): Remove dead defensive assignment.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* sem_attr.adb, sem_prag.adb: Remove dead return statements
after calls to Error_Attr, Error_Pragma, Error_Pragma_Arg and
Placement_Error. All these calls raise exceptions that are
handled to gently recover from errors.
2022-07-05 Doug Rupp <rupp@adacore.com>
* libgnat/system-vxworks-ppc-kernel.ads (Word_Size): Compute
based on Standard'Word_Size.
(Memory_Size): Compute based on Word_Size.
* libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
* libgnat/system-vxworks-ppc-rtp.ads: Likewise.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* sem_attr.adb (Analyze_Attribute): Move call to
Set_Address_Taken so that it is executed when the prefix
attribute is legal.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* sem_ch5.adb (Check_Unreachable_Code): Avoid explicit use of
Sloc; this should also help when we finally use Source_Span for
prettier error messages.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* sem_ch5.adb (Check_Unreachable_Code): Remove redundant guard;
the call to Present wasn't needed either.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* sem_ch5.adb (Analyze_Block_Statement): Call to List_Length with
No_List is safe and will return zero.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* sem_ch6.adb (Check_Missing_Return): Add reference to an RM rule.
2022-07-05 Piotr Trojanek <trojanek@adacore.com>
* sem_ch6.adb (Check_Missing_Return): Remove outdated comment.
2022-07-05 Dmitriy Anisimkov <anisimko@adacore.com>
* adaint.h (convert_addresses): Remove function declaration.
2022-07-05 Doug Rupp <rupp@adacore.com>
* Makefile.rtl (*vxworks*): Remove most pre-vxworks7 code.
* vxworks-arm-link.spec: Remove.
* vxworks-e500-link.spec: Likewise.
* vxworks-smp-arm-link.spec: Likewise.
* vxworks-smp-e500-link.spec: Likewise.
* vxworks-smp-x86-link.spec: Likewise.
* libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
* libgnat/system-vxworks-arm-rtp.ads: Likewise.
* libgnat/system-vxworks-arm.ads: Likewise.
* libgnat/system-vxworks-e500-kernel.ads: Likewise.
* libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
* libgnat/system-vxworks-e500-rtp.ads: Likewise.
* libgnat/system-vxworks-x86-kernel.ads: Likewise.
* libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
* libgnat/system-vxworks-x86-rtp.ads: Likewise.
2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
* sem_disp.adb (Check_Dispatching_Call): Merge the two special cases
where there are no controlling actuals but tag-indeternminate ones.
2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
* exp_disp.adb (Expand_Dispatching_Call): Fix detection of calls
that are dispatching on tagged result.
2022-07-04 Doug Rupp <rupp@adacore.com>
* Makefile.rtl (ADA_EXCLUDE_SRCS): Add s-qnx.ads.
2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration) <OK_To_Rename_Ref>: New
local function.
<Rewrite_As_Renaming>: Change to a local variable whose value is
computed once and generate a call to Finalize after this is done.
Simplify the code creating the renaming at the end.
2022-07-04 Doug Rupp <rupp@adacore.com>
* Makefile.rtl (GCC_SPEC_FILES): Remove vxworks cert files.
2022-07-04 Piotr Trojanek <trojanek@adacore.com>
* sem_attr.adb (Resolve_Attribute): Refactor duplicated code for
Count and Index attributes.
2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
* checks.adb (Apply_Length_Check_On_Assignment): Return early if
the Suppress_Assignment_Checks flag is set.
(Selected_Range_Checks): Deal with conditional expressions.
* exp_ch4.adb (Too_Large_Length_For_Array): New constant.
(Expand_Concatenate): Use it in lieu of Too_Large_Max_Length.
(Expand_N_If_Expression): If the result has a unidimensional array
type but the dependent expressions have constrained subtypes with
known bounds, create a static temporary on the stack with a subtype
covering the result.
(Get_First_Index_Bounds): Deal with string literals.
* uintp.ads (Uint_256): New deferred constant.
* sinfo.ads (Suppress_Assignment_Checks): Document new usage.
2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration.Rewrite_As_Renaming):
Do not rewrite if the declaration has got constraints.
* sinfo.ads (Case Expression Alternative): Fix typo.
2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration.Rewrite_As_Renaming):
Be prepared for slices.
* exp_ch4.adb (Get_First_Index_Bounds): New procedure.
(Expand_Array_Comparison.Length_Less_Than_4): Call it.
(Expand_Concatenate): Try to compute a maximum length for
operands with variable length and a maximum total length at the
end. If the concatenation is dynamic, but a sensible maximum
total length has been computed, use this length to create a
static array subtype for the temporary and return a slice of it.
2022-07-04 Steve Baird <baird@adacore.com>
* sem_ch3.adb (Check_Possible_Deferred_Completion): Delete
Prev_Obj_Def formal parameter. Reorganize code so that
statically matching check is also performed in the case where
the subtype given in the initial declaration is constrained and
the subtype given in the completion is not.
2022-07-04 Bob Duff <duff@adacore.com>
* einfo-utils.ads, einfo-utils.adb: Add predicates on subtypes E
and N. Change some parameters to use the unpredicated subtypes,
because they sometimes return e.g. Empty. Note that N_Entity_Id
has a predicate; Entity_Id does not.
* exp_tss.adb (Base_Init_Proc): Use Entity_Id instead of E,
because otherwise we fail the predicate. We shouldn't be
referring to single-letter names from far away anyway.
* sem_aux.adb (Is_Derived_Type): Likewise.
* sem_res.adb (Is_Definite_Access_Type): Use N_Entity_Id for
predicate.
* types.ads (Entity_Id): Add comment explaining the difference
between Entity_Id and N_Entity_Id.
2022-07-04 Justin Squirek <squirek@adacore.com>
* exp_util.adb (Remove_Side_Effects): Combine identical
branches.
* sem_attr.adb (Analyze_Attribute): Combine identical cases
Attribute_Has_Same_Storage and Attribute_Overlaps_Storage.
* sem_prag.adb (Check_Role): Combine E_Out_Parameter case with
general case for parameters.
* sem_util.adb (Accessibility_Level): Combine identical
branches.
* sprint.adb (Sprint_Node_Actual): Combine cases for
N_Real_Range_Specification and N_Signed_Integer_Type_Definition.
2022-07-04 Justin Squirek <squirek@adacore.com>
* libgnat/s-os_lib.adb (Quote_Argument): Modify the result
buffer size calculation to handle the case where Arg'Length is
1.
2022-07-04 Bob Duff <duff@adacore.com>
* exp_util.adb (Expand_Subtype_From_Expr): Generate a new
subtype when Is_Constr_Subt_For_UN_Aliased is True, so the
Is_Constr_Subt_For_U_Nominal flag will not be set on the
preexisting subtype.
* sem_attr.adb, sem_ch3.adb: Minor.
2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
* debug.adb (d.9): Remove usage.
* exp_ch6.adb (Expand_Simple_Function_Return): Remove redundant
test on Debug_Flag_Dot_L.
(Is_Build_In_Place_Result_Type): Return false for nonlimited types.
(Is_Build_In_Place_Function): Tidy up and remove redundant test on
Debug_Flag_Dot_L.
2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration): Don't adjust the object
if the expression is a function call.
<Rewrite_As_Renaming>: Return true if the object needs finalization
and is initialized with the result of a function call returned on
the secondary stack.
* exp_ch6.adb (Expand_Ctrl_Function_Call): Add Use_Sec_Stack boolean
parameter. Early return if the parent is an object declaration and
Use_Sec_Stack is false.
(Expand_Call_Helper): Adjust call to Expand_Ctrl_Function_Call.
* exp_ch7.adb (Find_Last_Init): Be prepared for initialization still
present in the object declaration.
* sem_ch3.adb (Analyze_Object_Declaration): Call the predicates
Needs_Secondary_Stack and Needs_Finalization to guard the renaming
optimization.
2022-07-04 Bob Duff <duff@adacore.com>
* libgnat/a-cbhase.ads, libgnat/a-cborse.ads,
libgnat/a-cihase.ads, libgnat/a-ciorse.ads,
libgnat/a-cohase.ads, libgnat/a-coorse.ads (Key): New function
that takes a Container parameter, implemented as an expression
function, so it is self explanatory (doesn't need a comment).
2022-07-04 Vasiliy Fofanov <fofanov@adacore.com>
* doc/gnat_rm/the_gnat_library.rst: Fix length of title
underlines.
2022-07-04 Steve Baird <baird@adacore.com>
* sem_ch4.adb (Analyze_Allocator): After calling Insert_Action
to insert a subtype declaration associated with an allocator,
the subtype declaration will usually be analyzed. But not
always. Add an explicit call to Preanalyze to cope with the
unusual case. The subtype declaration must be at least
preanalyzed before the call to Sem_Ch3.Process_Subtype a little
while later, during which we analyze an identifier that refers
to the subtype.
2022-07-04 Steve Baird <baird@adacore.com>
* sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not
generate a warning if the expression in question is an assertion
expression, or a subexpression thereof. But do call
Test_Comparison so that it can generate warnings for the cases
that it generates warnings for.
* sem_prag.ads: Modify Assertion_Expression_Pragma constant so
that the predicate Sem_Util.In_Assertion_Expression_Pragma
returns True for the expression of a Compile_Time_Error pragma.
2022-07-04 Julien Bortolussi <bortolussi@adacore.com>
* doc/gnat_rm/the_gnat_library.rst: Add the new entry.
* gnat_rm.texi: Regenerate.
2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
* sem_res.adb (Resolve_Comparison_Op): Deal with ambiguous operands
in all cases.
(Resolve_Equality_Op): Likewise, except for the case of the implicit
inequality operator created for a user-defined operator that is not
an intrinsic subprogram.
2022-07-04 Bob Duff <duff@adacore.com>
* libgnat/a-cbhase.adb, libgnat/a-cbhase.ads,
libgnat/a-cborse.adb, libgnat/a-cborse.ads,
libgnat/a-cihase.adb, libgnat/a-cihase.ads,
libgnat/a-ciorse.adb, libgnat/a-ciorse.ads,
libgnat/a-cohase.adb, libgnat/a-cohase.ads,
libgnat/a-conhel.adb, libgnat/a-conhel.ads,
libgnat/a-coorse.adb, libgnat/a-coorse.ads: Add Has_Element,
Element, Query_Element, and Next subprograms that take a Set
parameter. Add Tampering_With_Cursors_Prohibited function. These
are all new in Ada 2022.
2022-07-04 Claire Dross <dross@adacore.com>
* doc/gnat_rm/the_gnat_library.rst: Functional vectors, sets,
and maps are now controlled.
* gnat_rm.texi: Regenerate.
2022-07-04 Claire Dross <dross@adacore.com>
* doc/gnat_ugn/building_executable_programs_with_gnat.rst
(Debugging and Assertion Control): Add GNAT specific assertion
pragmas to the equivalent Assertion_Policy for the -gnata
option.
* gnat_ugn.texi: Regenerate.
2022-07-04 Justin Squirek <squirek@adacore.com>
* sem_disp.adb (Most_Descendant_Use_Clause): Remove call to
deprecated Is_Internal.
* sem_util.adb (Innermost_Master_Scope_Depth): Use
Find_Enclosing_Scope instead of Nearest_Dynamic_Scope to avoid
cases where relevant scopes get skipped leading to an incorrect
scope depth calculation.
2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch6.adb (Build_In_Place_Formal): Also compute Returns_By_Ref
for the function if the extra formals were not built initially.
2022-07-04 Piotr Trojanek <trojanek@adacore.com>
* sem_ch13.adb (Resolve_Iterable_Operation): Add guard to
prevent crash when the examined function has no formal
parameters and Etype is called on Empty entity.
2022-07-04 Julien Bortolussi <bortolussi@adacore.com>
* libgnat/a-cfinse.adb, libgnat/a-cfinse.ads: Implementation
files of the sequence.
* Makefile.rtl, impunit.adb: Take into account the add of the
new files
2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
* doc/gnat_rm/implementation_defined_pragmas.rst (Pure_Function):
Fix ambiguous wording about context dependence.
* gnat_rm.texi: Regenerate.
2022-06-02 David Malcolm <dmalcolm@redhat.com>
* gcc-interface/misc.cc (gnat_get_sarif_source_language): New.
(LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.
2022-06-02 Pierre-Marie de Rodat <derodat@adacore.com>
* gcc-interface/gigi.h: Update copyright notice.
* gcc-interface/lang-specs.h: Likewise.
* gcc-interface/utils.cc: Likewise.
2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/gigi.h (enum standard_datatypes): Remove values
for the SJLJ exception mechanism.
(jmpbuf_type): Delete.
(jmpbuf_ptr_type): Likewise.
(get_jmpbuf_decl): Likewise.
(set_jmpbuf_decl): Likewise.
(get_excptr_decl): Likewise.
(not_handled_by_others_decl): Likewise.
(setjmp_decl): Likewise.
(update_setjmp_buf_decl): Likewise.
(raise_nodefer_decl): Likewise.
(set_block_jmpbuf_decl): Likewise.
(get_block_jmpbuf_decl): Likewise.
* gcc-interface/trans.cc (gigi): Delete dead code.
* gcc-interface/utils.cc (gnat_binding_level): Remove JMPBUF_DECL.
(gnat_pushlevel): Do not clear it.
(set_block_jmpbuf_decl): Delete.
(get_block_jmpbuf_decl): Likewise.
2022-06-02 Ghjuvan Lacambre <lacambre@adacore.com>
* gcc-interface/decl.cc (warn_on_field_placement): Add insertion
character '.q' to warning string.
2022-06-02 Arnaud Charlet <charlet@adacore.com>
* gcc-interface/Makefile.in (gnatlib-shared-default): Add
-fno-lto.
2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.cc (gnat_to_gnu_entity): Do not check the
scope of anonymous access Itypes.
* gcc-interface/trans.cc (Identifier_to_gnu): Do not translate
the return type of a subprogram here.
2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch7.adb (Expand_N_Package_Body): Build static dispatch
tables only for units that are not compilation units, unless
they are generic instances. Do not push a scope for this.
(Expand_N_Package_Declaration): Build static dispatch tables
only for units that are both not compilation units and generic
instances.
* exp_disp.adb (Build_Static_Dispatch_Tables): Remove redundant
early return. Push a scope for package bodies.
* sem_ch10.adb: Add with and use clauses for Exp_Disp.
(Analyze_Compilation_Unit): Build static dispatch tables here.
2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Clear the Is_Public
flag on thunks.
2022-06-02 Piotr Trojanek <trojanek@adacore.com>
* exp_ch13.adb, exp_ch5.adb, exp_ch9.adb, exp_strm.adb,
sem_ch10.adb, sem_ch13.adb, sem_ch5.adb, sem_ch6.adb,
sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb,
sem_util.adb: Remove checks for the missing list before
iterating with First/Next; reindent code and refill comments.
2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
* einfo.ads (Has_Controlling_Result): Document new usage.
(Is_Thunk): Document secondary stack thunks.
(Returns_By_Ref): Adjust.
* exp_ch6.adb (Caller_Known_Size): Return true for tagged types.
(Expand_N_Extended_Return_Statement): Do not call Set_By_Ref.
(Expand_Simple_Function_Return): For a BIP return with an Alloc_Form
parameter, mark the node as returning on the secondary stack.
Replace call to Is_Limited_Interface with Is_Limited_View. Deal wit
secondary stack thunks. Do not call Set_By_Ref. Optimize the case
of a call to a function whose type also needs finalization.
(Needs_BIP_Task_Actuals): Replace Thunk_Entity with Thunk_Target.
(Needs_BIP_Finalization_Master): Cosmetic fixes.
(Needs_BIP_Alloc_Form): Check No_Secondary_Stack restriction and
return true for tagged types.
* exp_ch7.adb (Transient Scope Management): Update description.
* exp_disp.adb (Expand_Dispatching_Call): Always set Returns_By_Ref
on designated type if the call is dispatching on result. Tidy up.
(Expand_Interface_Thunk): Change type of Thunk_Code from Node_Id to
List_Id. Change type of local variables from Node_Id to Entity_Id.
Propagate Aliased_Present flag to create the formals and explicitly
set Has_Controlling_Result to False. Build a secondary stack thunk
if necessary in the function case.
(Expand_Secondary_Stack_Thunk): New function.
(Make_Secondary_DT): Build secondary stack thunks if necessary.
(Make_DT): Likewise.
(Register_Predefined_Primitive): Likewise.
(Register_Primitive): Likewise.
* exp_util.ads (Is_Secondary_Stack_Thunk): Declare.
(Thunk_Target): Likewise.
* exp_util.adb (Is_Secondary_Stack_Thunk): New function.
(Thunk_Target): Likewise.
* fe.h (Is_Secondary_Stack_Thunk): Declare.
(Thunk_Target): Likewise.
* gen_il-fields.ads (Opt_Field_Enum): Remove By_Ref.
* gen_il-gen-gen_nodes.adb (N_Simple_Return_Statement): Likewise.
(N_Extended_Return_Statement): Likewise.
* sem_ch6.adb (Analyze_Subprogram_Specification): Skip check for
abstract return type in the thunk case.
(Create_Extra_Formals): Replace Thunk_Entity with Thunk_Target.
* sem_disp.adb (Check_Controlling_Formals): Skip in the thunk case.
* sem_util.adb: Add use and with clauses for Exp_Ch6.
(Compute_Returns_By_Ref): Do not process procedures and only set
the flag for direct return by reference.
(Needs_Secondary_Stack): Do not return true for specific tagged
types and adjust comments accordingly.
* sinfo.ads (By_Ref): Delete.
(N_Simple_Return_Statement): Remove By_Ref.
(N_Extended_Return_Statement): Likewise.
* gcc-interface/ada-tree.h (TYPE_RETURN_UNCONSTRAINED_P): Delete.
* gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Do not use it.
Return by direct reference if the return type needs the secondary
stack as well as for secondary stack thunks.
* gcc-interface/gigi.h (fntype_same_flags_p): Remove parameter.
* gcc-interface/misc.cc (gnat_type_hash_eq): Adjust to above change.
* gcc-interface/trans.cc (finalize_nrv): Replace test on
TYPE_RETURN_UNCONSTRAINED_P with TYPE_RETURN_BY_DIRECT_REF_P.
(Subprogram_Body_to_gnu): Do not call maybe_make_gnu_thunk for
secondary stack thunks.
(Call_to_gnu): Do not test TYPE_RETURN_UNCONSTRAINED_P.
(gnat_to_gnu) <N_Simple_Return_Statement>: In the return by direct
reference case, test for the presence of Storage_Pool on the node
to build an allocator.
(maybe_make_gnu_thunk): Deal with Thunk_Entity and Thunk_Target.
* gcc-interface/utils.cc (fntype_same_flags_p): Remove parameter.
2022-06-02 Marc Poulhiès <poulhies@adacore.com>
* einfo.ads: Fix reference to Global_Entity_Suppress and
Local_Entity_Suppress variable in the comments.
* sem.ads: Likewise.
* sem_prag.adb: Likewise.
2022-06-02 Claire Dross <dross@adacore.com>
* libgnat/s-aridou.adb: Use Always_Return instead of Terminating
to annotate termination for GNATprove.
* libgnat/s-arit32.adb: Idem.
* libgnat/s-spcuop.ads: Idem.
2022-06-02 Julien Bortolussi <bortolussi@adacore.com>
* libgnat/a-cofuse.ads, libgnat/a-cofuse.adb,
libgnat/a-cofuma.ads, libgnat/a-cofuma.adb: Make Length and
Num_Overlaps return Big_Natural.
* libgnat/a-cforse.ads, libgnat/a-cforse.adb,
libgnat/a-cforma.adb, libgnat/a-cfhase.ads,
libgnat/a-cfhase.adb, libgnat/a-cfhama.adb,
libgnat/a-cfdlli.adb: Adapt code to handle Big_Integers instead
of Count_Type.
2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch3.adb (Init_Secondary_Tags.Initialize_Tag): Initialize the
Offset_Func component by means of 'Unrestricted_Access.
2022-06-02 Ghjuvan Lacambre <lacambre@adacore.com>
* errout.adb (Write_JSON_Span): Add subprogram name to emitted
JSON.
2022-06-02 Arnaud Charlet <charlet@adacore.com>
* sem_ch7.adb (Set_Referencer_Of_Non_Subprograms): New local
procedure, used for code refactoring. Also take into account
Inline_Always pragma when deciding to make a symbol public for
C generation.
2022-06-02 Yannick Moy <moy@adacore.com>
* atree.adb (New_Copy): Reset flags related to ghost entities
before marking the new node.
2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Move
procedure to...
* exp_disp.ads (Expand_Interface_Thunk): Move declaration to...
(Register_Predefined_Primitive): Declare.
* exp_disp.adb (Expand_Interface_Thunk): ...here.
(Register_Predefined_Primitive): ...here and change into a function
returning List_Id.
2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch3.adb (Expand_Freeze_Record_Type): Adjust comment.
(Expand_N_Object_Declaration): Do not build static dispatch tables.
* exp_disp.adb (Make_And_Insert_Dispatch_Table): New procedure.
(Build_Static_Dispatch_Tables): Call it to build the dispatch tables
and wrap them in the Actions list of a freeze node.
2022-06-02 Doug Rupp <rupp@adacore.com>
* libgnat/system-vxworks7-arm.ads (Support_Atomic_Primitives):
Set True.
* libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-aarch64.ads: Likewise.
* libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise:
2022-06-02 Javier Miranda <miranda@adacore.com>
* libgnat/g-dyntab.ads (Table_Type): Update documentation.
2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
* freeze.adb (Check_Expression_Function.Find_Constant): Make test
for deferred constants more robust.
2022-06-02 Joffrey Huguet <huguet@adacore.com>
* libgnat/i-cstrin.ads (Update): Update precondition.
2022-06-02 Yannick Moy <moy@adacore.com>
* sem_ch2.adb (Analyze_Identifier): Add checking for ghost
context.
* sem_ch5.adb (Analyze_Implicit_Label_Declaration): Treat
implicit labels like other entities by setting their ghost
status according to context.
* ghost.adb (Check_Ghost_Context): Adapt checking.
2022-06-02 Joffrey Huguet <huguet@adacore.com>
* libgnat/i-cstrin.ads (Update): Add precondition.
2022-06-02 Yannick Moy <moy@adacore.com>
* sem_ch5.adb (Analyze_Label_Entity): Remove body.
* sem_ch5.ads (Analyze_Label_Entity): Remove spec.
2022-06-02 Eric Botcazou <ebotcazou@adacore.com>
* sem_util.adb (Propagate_DIC_Attributes): Add ??? comment.
(Propagate_Invariant_Attributes): Likewise. Propagate the
Has_Inheritable_Invariants and Has_Inherited_Invariants to
the base type of the target type.
2022-06-02 Doug Rupp <rupp@adacore.com>
* libgnat/system-linux-arm.ads (Memory_Size): Compute based on
Word_Size.
2022-06-02 Doug Rupp <rupp@adacore.com>
* libgnat/system-vxworks7-aarch64-rtp-smp.ads (Word_Size):
Compute based on Standard'Word_Size. (Memory_Size): Compute
based on Word_Size.
* libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-e500-rtp.ads: Likewise.
* libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
* libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-x86-rtp.ads: Likewise.
2022-06-02 Justin Squirek <squirek@adacore.com>
* gnatbind.adb (Gnatbind): Add initialize call for Uintp
* gnatls.adb (Gnatls): Likewise.
* gprep.adb (Gnatprep): Likewise.
* make.adb (Initialize): Likewise.
2022-06-02 Claire Dross <dross@adacore.com>
* libgnat/a-cfinve.ads (Element): Change the type of the
Position parameter to Extended_Index.
* libgnat/a-cfinve.adb (Element): Idem.
* libgnat/a-cofove.ads (Element): Idem.
* libgnat/a-cofove.adb (Element): Idem.
2022-06-02 Joffrey Huguet <huguet@adacore.com>
* libgnat/s-atacco.ads (To_Pointer): Add Global => null.
(To_Address): Add SPARK_Mode => Off.
2022-06-02 Joffrey Huguet <huguet@adacore.com>
* libgnat/i-cstrin.ads (To_Chars_Ptr): Add SPARK_Mode => Off.
(Free): Likewise.
(New_Char_Array): Add global contracts and Volatile attribute.
(New_String): Likewise.
(Value, Strlen, Update): Add global contracts and preconditions.
* libgnat/i-cstrin.adb: Add SPARK_Mode => Off to the package
body.
2022-06-01 Yannick Moy <moy@adacore.com>
* contracts.adb (Check_Type_Or_Object_External_Properties): Check
the validity of combinations only when No_Caching is not used.
* sem_prag.adb (Analyze_External_Property_In_Decl_Part): Check
valid combinations with No_Caching.
2022-06-01 Doug Rupp <rupp@adacore.com>
* libgnat/system-vxworks7-aarch64.ads (Word_Size): Compute
based on Standard'Word_Size. (Memory_Size): Compute based
on Word_Size.
* libgnat/system-vxworks7-arm.ads: Likewise.
* libgnat/system-vxworks7-e500-kernel.ads: Likewise.
* libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
* libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
* libgnat/system-vxworks7-x86-kernel.ads: Likewise.
* libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
2022-06-01 Doug Rupp <rupp@adacore.com>
* libgnat/system-qnx-arm.ads (Memory_Size): Compute based on
Word_Size.
2022-06-01 Piotr Trojanek <trojanek@adacore.com>
* par-util.adb (Ignore): Add missing space to message string.
2022-06-01 Yannick Moy <moy@adacore.com>
* sem_prag.ads (Assertion_Expression_Pragmas): Fix value for
pragma Subprogram_Variant.
2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch6.adb (Caller_Known_Size): Invoke Needs_Secondary_Stack in
lieu of Returns_On_Secondary_Stack.
(Expand_Call_Helper): Likewise.
(Expand_Simple_Function_Return): Likewise.
(Needs_BIP_Alloc_Form): Likewise.
* exp_ch7.adb (Wrap_Transient_Declaration): Likewise.
* sem_res.adb (Resolve_Call): Likewise.
(Resolve_Entry_Call): Likewise.
* sem_util.ads (Returns_On_Secondary_Stack): Rename into...
(Needs_Secondary_Stack): ...this.
* sem_util.adb (Returns_On_Secondary_Stack): Rename into...
(Needs_Secondary_Stack): ...this.
* fe.h (Returns_On_Secondary_Stack): Delete.
(Needs_Secondary_Stack): New function.
* gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call
to Returns_On_Secondary_Stack with Needs_Secondary_Stack.
2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): For the case where
there is no previous declaration, freeze the body entity only after
it has been processed as a new overloaded name.
Use Was_Expression_Function to recognize expression functions.
* sem_disp.adb (Check_Dispatching_Operation): Do not require a body
which is the last primitive to be frozen here.
2022-06-01 Julien Bortolussi <bortolussi@adacore.com>
* libgnat/a-cfdlli.adb ("="): Make the function properly loop
over the right list.
2022-06-01 Marc Poulhiès <poulhies@adacore.com>
* checks.adb (Apply_Predicate_Check): Refine condition for
applying optimization.
* sem_ch3.adb (Analyze_Component_Declaration): Adjust calls to
Should_Build_Subtype.
(Analyze_Object_Declaration): Likewise.
(Should_Build_Subtype): Rename/move to ...
* sem_util.ads (Build_Default_Subtype_OK): ... this.
* sem_util.adb (Build_Default_Subtype_OK): Moved from
sem_ch3.adb.
2022-06-01 Doug Rupp <rupp@adacore.com>
* init.c (__gnat_adjust_context_for_raise) [QNX][__thumb2__]: Bump
the pc an extra byte.
2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com>
* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
Document new behavior.
* errout.adb (Write_JSON_Location): Output absolute paths when
needed.
* switch-c.adb (Scan_Front_End_Switches): Update -gnatef
comment.
* usage.adb (Usage): Update description of -gnatef.
* gnat_ugn.texi: Regenerate.
2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
* contracts.adb (Build_Postconditions_Procedure): Set Is_Inlined
unconditionnally on the procedure entity.
2022-06-01 Piotr Trojanek <trojanek@adacore.com>
* sem_ch3.adb (Constrain_Access): Propagate null-exclusion flag
from parent type.
2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch5.adb (Analyze_Loop_Statement): Add a comment about
a finalization issue.
2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch6.adb (Caller_Known_Size): Call Returns_On_Secondary_Stack
instead of Requires_Transient_Scope and tidy up.
(Needs_BIP_Alloc_Form): Likewise.
* exp_util.adb (Initialized_By_Aliased_BIP_Func_Call): Also return
true if the build-in-place function call has no BIPalloc parameter.
(Is_Finalizable_Transient): Remove redundant test.
2022-06-01 Alexandre Oliva <oliva@adacore.com>
* doc/gnat_rm/security_hardening_features.rst: Note that hardening
features are experimental.
* gnat_rm.texi: Regenerate.
2022-06-01 Steve Baird <baird@adacore.com>
* exp_ch3.adb (Make_Controlling_Function_Wrappers): Set the
Corresponding_Spec field of a wrapper subprogram body before
analyzing the subprogram body; the field will be set (again)
during analysis, but we need it to be set earlier.
* exp_ch13.adb (Expand_N_Freeze_Entity): Add wrapper subprogram
bodies to the list of declarations for which we do not want to
suppress checks.
2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
* sem_util.adb (Indirect_Temp_Needed): Adjust reference in comment.
2022-06-01 Doug Rupp <rupp@adacore.com>
* Makefile.rtl (GNATLIB_SHARED): Revert disablement for arm-qnx.
2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
* sem_util.adb
(Returns_On_Secondary_Stack.Caller_Known_Size_Record): Directly
check the dependence on discriminants for the variant part, if
any, instead of calling the Is_Definite_Subtype predicate.
2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com>
* sem_warn.adb (Warn_On_Unreferenced_Entity): Fix warning tag.
2022-06-01 Ghjuvan Lacambre <lacambre@adacore.com>
* sem_warn.adb (Check_References): Adjust conditions under which
warning messages should be emitted and their tags as well.
2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
* exp_disp.ads (Expand_Interface_Thunk): Change type of Prim.
* exp_disp.adb (Expand_Interface_Thunk): Declare Is_Predef_Op
earlier, do not initialize Iface_Formal, use No idiom and tweaks
comments.
(Register_Primitive): Declare L earlier and tweak comments.
* sem_disp.adb (Check_Dispatching_Operation): Move tests out of
loop.
2022-06-01 Steve Baird <baird@adacore.com>
* exp_ch3.ads: Replace visible Build_Discr_Checking_Funcs (which
did not need to be visible - it was not referenced outside this
package) with Build_Or_Copy_Discr_Checking_Funcs.
* exp_ch3.adb: Refactor existing code into 3 procedures -
Build_Discr_Checking_Funcs, Copy_Discr_Checking_Funcs, and
Build_Or_Copy_Discr_Checking_Funcs. This refactoring is intended
to be semantics-preserving.
* exp_ch4.adb (Expand_N_Selected_Component): Detect case where a
call should be generated to the Discriminant_Checking_Func for
the component in question, but that subprogram does not yet
exist.
* sem_ch13.adb (Freeze_Entity_Checks): Immediately before
calling Build_Predicate_Function, add a call to
Exp_Ch3.Build_Or_Copy_Discr_Checking_Funcs in order to ensure
that Discriminant_Checking_Func attributes are already set when
Build_Predicate_Function is called.
* sem_ch6.adb (Analyze_Expression_Function): If the expression
of a static expression function has been transformed into an
N_Raise_xxx_Error node, then we need to copy the original
expression in order to check the requirement that the expression
must be a potentially static expression. We also want to set
aside a copy the untransformed expression for later use in
checking calls to the expression function via
Inline_Static_Function_Call. So introduce a new function,
Make_Expr_Copy, for use in these situations.
* sem_res.adb (Preanalyze_And_Resolve): When analyzing certain
expressions (e.g., a default parameter expression in a
subprogram declaration) we want to suppress checks. However, we
do not want to suppress checks for the expression of an
expression function.
2022-06-01 Bob Duff <duff@adacore.com>
* exp_ch5.adb (Expand_Iterator_Loop_Over_Container): For each
subprogram found, assert that the variable is Empty, so we can
detect bugs where we find two or more things with the same name.
Without this patch, that bug would happen when we add the new
Next procedure. For Step, make sure we pick the right one, by
checking name and number of parameters. For Get_Element_Access,
check that we're picking a function. That's not really
necessary, because there is no procedure with that name, but it
seems cleaner this way.
* rtsfind.ads: Minor comment improvement. It seems kind of odd
to say "under no circumstances", and then immediately contradict
that with "The one exception is...".
2022-06-01 Doug Rupp <rupp@adacore.com>
* init.c (QNX): __gnat_adjust_context_for_raise: New
implementation for arm-qnx.
2022-06-01 Julien Bortolussi <bortolussi@adacore.com>
* libgnat/a-cofuba.ads, libgnat/a-cofuba.adb: Add reference
counting.
2022-06-01 Yannick Moy <moy@adacore.com>
* sem_ch8.adb (Use_One_Package): Possibly warn.
* sem_util.adb (Enter_Name): Factor out warning on hidden entity.
(Warn_On_Hiding_Entity): Extract warning logic from Enter_Name and
generalize it to be applied also on use_clause.
* sem_util.ads (Warn_On_Hiding_Entity): Add new procedure.
2022-06-01 Yannick Moy <moy@adacore.com>
* par-ch3.adb (P_Known_Discriminant_Part_Opt): Reword error
message to benefit from existing codefix.
(P_Record_Definition): Detect out-of-order keywords in record
definition and issue appropriate messages. Other cases are
already caught at appropriate places.
2022-06-01 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch6.adb (Freeze_Subprogram.Register_Predefined_DT_Entry): Put
the actions into the Actions field of the freeze node instead of
inserting them after it.
2022-06-01 Marc Poulhiès <poulhies@adacore.com>
* sinfo.ads: Add inline documention for Is_Parenthesis_Aggregate
and Is_Enum_Array_Aggregate.
2022-06-01 Bob Duff <duff@adacore.com>
* einfo-utils.adb (Set_Convention): Call Set_Convention
recursively, so that Set_Can_Use_Internal_Rep is called (if
appropriate) on the anonymous access type of the object, and its
designated subprogram type.
* sem_ch3.adb (Access_Definition): Remove redundant call to
Set_Can_Use_Internal_Rep.
2022-06-01 Bob Duff <duff@adacore.com>
* exp_ch4.adb (Expand_N_In): Do not warn in the above-mentioned
cases.
* fe.h (Assume_No_Invalid_Values): Remove from fe.h, because
this is not used in gigi.
* opt.ads (Assume_No_Invalid_Values): Improve the comment. We
don't need to "clearly prove"; we can just "prove". Remove the
comment about fe.h, which is no longer true.
2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
* erroutc.adb (Get_Warning_Option): Don't consider `?` as a
valid option switch.
2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
* erroutc.ads (Get_Warning_Option): New function returning the
option responsible for a warning if it exists.
* erroutc.adb (Get_Warning_Option): Likewise.
(Get_Warning_Tag): Rely on Get_Warning_Option when possible.
* errout.adb (Output_JSON_Message): Emit option field.
2022-05-30 Julien Bortolussi <bortolussi@adacore.com>
* libgnat/a-cfdlli.ads (Insert): Remove the duplication.
2022-05-30 Piotr Trojanek <trojanek@adacore.com>
* exp_ch6.adb (Check_Subprogram_Variant): Ignore structural
variants.
2022-05-30 Piotr Trojanek <trojanek@adacore.com>
* osint.adb (Locate_File): Change variable to constant and
initialize it by concatenation of directory, file name and NUL.
2022-05-30 Piotr Trojanek <trojanek@adacore.com>
* doc/gnat_rm/implementation_advice.rst (Packed Types): Remove
duplicated and wrongly placed paragraph.
* gnat_rm.texi: Regenerate.
2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
* inline.adb (Check_Package_Body_For_Inlining): Add insertion
character.
2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
* freeze.adb (Warn_Overlay): Add 'o' insertion character.
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Likewise.
* sem_util.adb (Note_Possible_Modifications): Likewise.
2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
* sem_warn.adb (Warn_On_Useless_Assignment): Fix insertion
character.
2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
* sem_disp.adb (Warn_On_Late_Primitive_After_Private_Extension):
Fix insertion character.
2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
* sem_elab.adb (Process_Conditional_ABE_Access_Taken): Add '.f'
insertion characters.
2022-05-30 Piotr Trojanek <trojanek@adacore.com>
* lib-xref.ads (Deferred_Reference_Entry, Defer_Reference,
Process_Deferred_References, Has_Deferred_Reference): Remove
client API.
* lib-xref.adb (Deferred_References, Defer_Reference,
Has_Deferred_Reference, Process_Deferred_References): Remove
implementation.
* frontend.adb, sem_ch11.adb, sem_ch5.adb, sem_res.adb,
sem_util.adb, sem_warn.adb: Remove uses of Deferred_References.
2022-05-30 Bob Duff <duff@adacore.com>
* exp_ch7.adb (Wrap_HSS_In_Block): Do not create a new block in
the case of function bodies. We include all subprogram bodies,
because it's harmless for procedures. We cannot easily avoid
creating this block in ALL cases, because some transformations
of (e.g.) task bodies end up moving some code such that the
wrong exception handlers apply to that code.
(Build_Finalizer_Call): Remove code for creating a new block.
This was unreachable code, given that Wrap_HSS_In_Block has
already done that, but with the above change to
Wrap_HSS_In_Block, this code becomes reachable, and triggers
essentially the same bug.
* exp_ch7.ads: Adjust comment.
2022-05-30 Justin Squirek <squirek@adacore.com>
* par-ch6.adb (P_Formal_Part): Set Aspect_Specifications on all
formals instead of just the last in a formal id list.
* sem_ch6.adb (Analyze_Null_Procedure): Mark expanded null
generic procedures as trivial in order to avoid spurious
unreferenced warnings.
2022-05-30 Romain Beguet <beguet@adacore.com>
* libgnat/s-dwalin.adb: Add a subtype declaration to fix the
ambiguity.
2022-05-30 Steve Baird <baird@adacore.com>
* sem_ch13.adb (Is_Predicate_Static): Do not generate warnings
about subexpressions of enclosing expressions. Generate warnings
for predicates that are known to be always true or always false,
except in the case where the predicate is expressed as a Boolean
literal. Deal with non-predicate-static expressions that have
been transformed into predicate-static expressions. Add missing
Is_Type_Ref call to N_Membership_Test case.
2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
* exp_aggr.adb (Expand_Record_Aggregate.Build_Back_End_Aggregate):
Skip the discriminants at the start of the component list before
looking for the components inherited from the parent in the case
of a tagged extension.
2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
* exp_disp.adb (Make_DT): Remove remaining freezing code.
2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
* sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Don't analyze
the body of an expression function in the case of a dispatch table.
2022-05-30 Arnaud Charlet <charlet@adacore.com>
* gnat1drv.adb, opt.ads, sem_ch7.adb: Introduce CCG_Mode.
2022-05-30 Yannick Moy <moy@adacore.com>
* Makefile.rtl: Add new units.
* libgnat/s-aridou.adb (Scaled_Divide): Add ghost code for provers.
* libgnat/s-spcuop.adb: New unit for ghost cut operations.
* libgnat/s-spcuop.ads: New unit for ghost cut operations.
* libgnat/s-spark.ads: New unit.
2022-05-30 Alexandre Oliva <oliva@adacore.com>
* doc/gnat_rm/security_hardening_features.rst: Mention
availability in other languages when applicable.
(Stack Scrubbing): Associate the attribute with types, expand
some comments, fix the example involving access to variables.
* gnat_rm.texi: Regenerate.
2022-05-30 Piotr Trojanek <trojanek@adacore.com>
* libgnat/a-cofuse.ads (Empty_Set): Fix typo in comment.
2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch6.adb (New_Overloaded_Entity): Deal specifically with the
overriding of the "=" operator for tagged types.
2022-05-30 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration): Adjust call to Make_DT.
* exp_disp.ads (Building_Static_DT): Remove pragma Inline.
(Building_Static_Secondary_DT): Likewise.
(Convert_Tag_To_Interface): Likewise.
(Make_DT): Remove second parameter.
* exp_disp.adb (Make_DT): Likewise.
(Check_Premature_Freezing): Delete.
Pass Do_Freeze_Profile as False in call to Freeze_Entity.
* freeze.ads (Freezing_Library_Level_Tagged_Type): Delete.
* freeze.adb (Freeze_Profile): Remove obsolete code.
(Freeze_Entity): Tweak comment.
2022-05-30 Yannick Moy <moy@adacore.com>
* libgnat/s-arit32.adb (Scaled_Divide32): Move assertion up.
2022-05-30 Yannick Moy <moy@adacore.com>
PR ada/105303
* libgnat/s-gearop.adb: Add pragma Assertion_Policy in generic
bodies making use of additional assertions or ghost code.
* libgnat/s-gearop.ads: Remove confusing Assertion_Policy.
2022-05-30 Steve Baird <baird@adacore.com>
* exp_ch11.adb (Expand_N_Raise_Expression): Remove
Convert_To_Return_False test.
* gen_il-fields.ads: Remove Convert_To_Return_False field.
* gen_il-gen-gen_nodes.adb: Remove use of
Convert_To_Return_False field.
* sinfo.ads: Remove comment describing Convert_To_Return_False
flag.
2022-05-30 Julien Bortolussi <bortolussi@adacore.com>
* libgnat/a-cofuma.ads, libgnat/a-cofuma.adb,
libgnat/a-cofuse.ads, libgnat/a-cofuse.adb,
libgnat/a-cofuve.ads, libgnat/a-cofuve.adb: Add empty
constructors.
2022-05-30 Ghjuvan Lacambre <lacambre@adacore.com>
* bindgen.adb (Gen_CUDA_Init): Remove code generating CUDA
definitions.
(Gen_CUDA_Defs): New function, generating definitions
initialized by Gen_CUDA_Init.
(Gen_Output_File_Ada): Call Gen_CUDA_Defs instead of
Gen_CUDA_Init.
(Gen_Adainit): Call Gen_CUDA_Init.
2022-05-28 Alexandre Oliva <oliva@adacore.com>
* gcc-interface/Makefile.in (OSCONS_CC): Rename to...
(GCC_FOR_ADA_RTS): ... this. Adjust users.
(gnatlib): Pass it down as CC.
(gnatlib-shared-default): Likewise.
(gnatlib-shared-win32, gnatlib-shared-darwin): Likewise.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Constant>: Deal with
a constant related to a return in a function specially.
* gcc-interface/trans.cc (Call_to_gnu): Use return slot optimization
if the target is a return object.
(gnat_to_gnu) <N_Object_Declaration>: Deal with a constant related
to a return in a function specially.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/utils.cc (gnat_pushdecl): Also set TREE_NO_WARNING
on the decl if Comes_From_Source is false for the associated node.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/trans.cc (gnat_gimplify_expr): Tidy up.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Function>: Also call
process_attributes for built-in functions.
(prepend_one_attribute_pragma): Deal with "simd" attribute.
* gcc-interface/utils.cc (handle_simd_attribute): New function.
(gnat_internal_attribute_table): Add entry for "simd" attribute.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.cc (components_to_record): Use NULL recursively
as P_GNU_REP_LIST for the innermost variant level in the unchecked
union case with a fixed part.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/trans.cc (gnat_to_gnu): Do not set Current_Error_Node
to a node without location.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Access_Subtype>: And
skip the elaboration of the designated subtype when that of its base
type has been delayed.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Record_Subtype>: If
it is a special subtype designated by an access subtype, then defer
the completion of incomplete types.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/ada-tree.h, gcc-interface/ada.h,
gcc-interface/gadaint.h, gcc-interface/targtyps.cc: Adjust
copyright line.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/utils.cc (unchecked_convert): Do not fold a string
constant if the target type is pointer to character.
2022-05-19 Piotr Trojanek <trojanek@adacore.com>
* sem_prag.adb (Analyze_Pragma): Remove redundant call to
Set_Error_Posted.
2022-05-19 Piotr Trojanek <trojanek@adacore.com>
* sem_ch8.adb (Find_Expanded_Name): Emit a main error message
before adding a continuation with the call to
Error_Missing_With_Of_Known_Unit.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* sem_util.ads (Requires_Transient_Scope): Add pragma Inline.
2022-05-19 Steve Baird <baird@adacore.com>
* sem_ch13.adb (Build_Predicate_Functions): If a semantic error
has been detected then ignore Predicate_Failure aspect
specifications in the same way as is done for CodePeer and
SPARK. This avoids an internal compiler error if
Ancestor_Predicate_Function_Called is True but Result_Expr is
not an N_And_Then node (and is therefore unsuitable as an
argument in a call to Left_Opnd).
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch7.adb (Wrap_Transient_Declaration): Propagate Uses_Sec_Stack
to enclosing function if it does not return on the secondary stack.
* exp_ch6.adb (Expand_Call_Helper): Call Establish_Transient_Scope
with Manage_Sec_Stack set to True only when necessary.
* sem_res.adb (Resolve_Call): Likewise.
(Resolve_Entry_Call): Likewise.
2022-05-19 Daniel Mercier <mercier@adacore.com>
* sem_ch13.adb (Build_Predicate_Function): Ignore predicate
failure in CodePeer mode.
2022-05-19 Arnaud Charlet <charlet@adacore.com>
* raise-gcc.c: Fix compilation with -DSTANDALONE under windows.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch4.adb (Narrow_Large_Operation): Preserve and reuse Etype.
2022-05-19 Javier Miranda <miranda@adacore.com>
* exp_attr.adb (Add_Implicit_Interface_Type_Conversion): New
subprogram which factorizes code.
(Expand_N_Attribute_Reference): Call the new subprogram to add
the missing implicit interface type conversion.
2022-05-19 Piotr Trojanek <trojanek@adacore.com>
* sem_ch13.adb (Build_Predicate_Function): Ignore predicate
failure in GNATprove mode.
2022-05-19 Steve Baird <baird@adacore.com>
* einfo-utils.ads, einfo-utils.adb: Delete Predicate_Function_M
function and Set_Predicate_Function_M procedure.
* einfo.ads: Delete comments for Is_Predicate_Function_M and
Predicate_Function_M functions. Add comment for new
Predicate_Expression function. Update comment describing
predicate functions.
* exp_util.ads, exp_util.adb (Make_Predicate_Call): Replace Mem
formal parameter with Static_Mem and Dynamic_Mem formals.
(Make_Predicate_Check): Delete Add_Failure_Expression and call
to it.
* exp_ch4.adb (Expand_N_In.Predicate_Check): Update
Make_Predicate_Call call to match profile change.
* gen_il-fields.ads: Delete Is_Predicate_Function_M field, add
Predicate_Expression field.
* gen_il-gen-gen_entities.adb: Delete Is_Predicate_Function_M
use, add Predicate_Expression use.
* sem_ch13.adb (Build_Predicate_Functions): Rename as singular,
not plural; we no longer build a Predicate_M function. Delete
Predicate_M references. Add new Boolean parameter for predicate
functions when needed. Restructure body of generated predicate
functions to implement required Predicate_Failure behavior and
to set new Predicate_Expression attribute. Remove special
treatment of raise expressions within predicate expressions.
* sem_util.ads (Predicate_Failure_Expression,
Predicate_Function_Needs_Membership_Parameter): New functions.
* sem_util.adb (Is_Current_Instance): Fix bugs which caused
wrong result.
(Is_Current_Instance_Reference_In_Type_Aspect): Delete
Is_Predicate_Function_M reference.
(Predicate_Failure_Expression): New function.
(Propagate_Predicate_Attributes): Delete Is_Predicate_Function_M
references.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch6.adb (Expand_Call_Helper): Adjust comment.
(Expand_Simple_Function_Return): For the case of a type which needs
finalization and is returned on the primary stack, do not create a
copy if the expression originates from a function call.
* exp_ch7.adb (Transient Scope Management): Adjust comment.
* exp_util.ads (Is_Related_To_Func_Return): Add WARNING line.
* fe.h (Is_Related_To_Func_Return): Declare.
2022-05-19 Piotr Trojanek <trojanek@adacore.com>
* exp_ch9.adb (Build_Find_Body_Index): Remove empty Elsif_Parts
from the constructed IF statement.
2022-05-19 Piotr Trojanek <trojanek@adacore.com>
* exp_ch9.adb (Build_Find_Body_Index): Remove IF statement whose
condition was true-by-construction; remove excessive assertion
(since the call to Elsif_Parts will check that Nod is present
and it is an if-statement).
2022-05-19 Arnaud Charlet <charlet@adacore.com>
* gnat1drv.adb, gnatcmd.adb: Remove references to gnatfind/xref.
* doc/gnat_ugn/building_executable_programs_with_gnat.rst,
doc/gnat_ugn/the_gnat_compilation_model.rst: Ditto.
* gnat_ugn.texi: Regenerate.
* gnatfind.adb, gnatxref.adb, xr_tabls.adb, xr_tabls.ads,
xref_lib.adb, xref_lib.ads: Removed, no longer used.
2022-05-19 Claire Dross <dross@adacore.com>
* libgnat/a-strfix.adb: Add assertions.
* libgnat/a-strsup.adb: Idem.
2022-05-19 Ed Schonberg <schonberg@adacore.com>
* erroutc.ads: Fix a single-character typo in a comment.
* exp_aggr.adb: Fix a single-character typo in a comment.
Replace several pairs of calls to Low_Bound and
High_Bound (which do not handle an identifier that denotes a
scalar subtype) with corresponding calls to Get_Index_Bounds
(which does handle that case).
* par-ch4.adb (P_Aggregate_Or_Paren_Expr): Set the
Component_Associations attribute of a null array aggregate to
New_List.
* sem_aggr.ads: New visible function
Is_Null_Array_Aggregate_High_Bound.
* sem_aggr.adb (Is_Null_Array_Aggregate_High_Bound,
Is_Null_Aggregate, Resolve_Null_Array_Aggregate): New functions.
(Resolve_Aggregate): Recognize null array aggregates (using
Is_Null_Aggregate) and, when one is recognized, resolve
it (using Resolve_Null_Array_Aggregate). Avoid calling
Array_Aggr_Subtype for a null array aggregate; the needed
subtype is built in Resolve_Null_Array_Aggregate. Do not
incorrectly flag a null aggregate (after it is transformed by
expansion) as being both positional and named.
* sem_attr.adb (Eval_Attribute): Special treatment for null
array aggregate high bounds to avoid incorrectly flagging
something like Integer'Pred (Integer'First) as an illegal static
expression.
* sem_eval.adb (Out_Of_Range): Special treatment for null array
aggregate high bounds to avoid incorrectly flagging something
like Integer'Pred (Integer'First) as an illegal static
expression.
2022-05-19 Yannick Moy <moy@adacore.com>
* libgnat/s-aridou.adb (Lemma_Abs_Range,
Lemma_Double_Shift_Left, Lemma_Shift_Left): New lemmas.
(Double_Divide): Add ghost code.
(Lemma_Concat_Definition, Lemma_Double_Shift_Left,
Lemma_Shift_Left, Lemma_Shift_Right): Define or complete lemmas.
(Scaled_Divide): Add ghost code.
2022-05-19 Bob Duff <duff@adacore.com>
* exp_pakd.adb (Expand_Packed_Eq): Replace the check for *same*
modular type, with a check for any modular type, and assert that
the two types have the same modulus and so on.
* exp_pakd.ads: Minor comment improvements.
2022-05-19 Bob Duff <duff@adacore.com>
* style.adb (Check_Identifier): Deal with the case where a
record component definition has been transformed; we want to
warn if the original came from source.
* libgnat/s-objrea.ads, libgnat/s-objrea.adb: Fix casing of MF
to be consistent.
* uname.adb: Fix casing of Chars to be consistent.
* sem_util.ads: Minor comment fix.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-retsta.
* debug.adb (d_r): Document usage.
* exp_ch4.adb (Expand_N_Allocato): Deal with the return stack pool.
* exp_ch6.adb (Expand_Simple_Function_Return): Replace calls to
Requires_Transient_Scope with Returns_On_Secondary_Stack. Deal
with types that need finalization returned on the primary stack,
use CW_Or_Needs_Finalization for those returned on the secondary.
* exp_util.adb (Build_Allocate_Deallocate_Proc): Return early
for the return stack pool.
(Remove_Side_Effects): Call CW_Or_Needs_Finalization.
* fe.h (Requires_Transient_Scope): Delete.
(Returns_On_Secondary_Stack): Declare.
* gnat1drv.adb (Adjust_Global_Switches): Set Back_End_Return_Slot
to False when generating C code or if -gnatd_r is specified.
* opt.ads (Back_End_Return_Slot): New boolean variable.
* rtsfind.ads (RTU_Id): Add System_Return_Stack.
(RE_Id): Add RE_RS_Allocate and RE_RS_Pool.
(RE_Unit_Table): Add entries for RE_RS_Allocate and RE_RS_Pool.
* sem_util.ads (CW_Or_Has_Controlled_Part): Delete.
(CW_Or_Needs_Finalization): Declare.
(Requires_Transient_Scope): Adjust description.
(Returns_On_Secondary_Stack): Declare.
* sem_util.adb (Compute_Returns_By_Ref): Set Returns_By_Ref on types
which need finalization if they are returned on the secondary stack.
(CW_Or_Has_Controlled_Part): Rename to...
(CW_Or_Needs_Finalization): ...this.
(Requires_Transient_Scope): Move bulk of implementation to...
(Returns_On_Secondary_Stack): ...here. Return true for types which
need finalization only if the back-end return slot is not supported.
* libgnat/s-retsta.ads: New file.
* gcc-interface/ada-builtin-types.def (BT_FN_PTR_SSIZE): Define.
* gcc-interface/ada-builtins.def (return_slot): Likewise.
* gcc-interface/ada-tree.h (BUILT_IN_RETURN_SLOT): Likewise.
* gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call to
Requires_Transient_Scope with Returns_On_Secondary_Stack.
* gcc-interface/trans.cc (gnat_to_gnu) <N_Simple_Return_Statement>:
In the return by invisible reference, skip the copy if the source
is the same as the destination.
* gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Deal with
the return stack pool.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/trans.cc: Fix formatting issues in comments.
(Subprogram_Body_to_gnu): Tidy up.
(Exception_Handler_to_gnu_gcc): Rename into...
(Exception_Handler_to_gnu): ...this.
(gnat_to_gnu) <N_Exception_Handler>: Adjust to above renaming.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/trans.cc (Subprogram_Body_to_gnu): Rename a couple
of local variables and use Is_Generic_Subprogram predicate.
(process_decls): Likewise.
2022-05-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/trans.cc (Subprogram_Body_to_gnu): Do not deal with
inlining heuristics for expression functions here but...
* gcc-interface/decl.cc (inline_status_for_subprog): ...here instead
and do not override them at -Os.
2022-05-19 Piotr Trojanek <trojanek@adacore.com>
* gcc-interface/decl.cc (gnat_to_gnu_entity): Remove dead code
which expected Scope to return E_Subprogram_Body entity.
2022-05-18 Claire Dross <dross@adacore.com>
* libgnat/s-imageu.adb (Set_Image_Unsigned): Change assertion.
2022-05-18 Doug Rupp <rupp@adacore.com>
* sigtramp-qnx.c: Change struct sigcontext * to mcontext_t *.
2022-05-18 Doug Rupp <rupp@adacore.com>
* sigtramp-arm-qnx.c: Rewrite.
2022-05-18 Yannick Moy <moy@adacore.com>
* libgnat/s-aridou.adb (Big3): Change return type.
(Lemma_Mult_Non_Negative, Lemma_Mult_Non_Positive): Reorder
alphabetically.
(Lemma_Concat_Definition, Lemma_Double_Big_2xxsingle): New
lemmas.
(Double_Divide, Scaled_Divide): Add assertions.
2022-05-18 Claire Dross <dross@adacore.com>
* libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertions.
2022-05-18 Kévin Le Gouguec <legouguec@adacore.com>
* libgnat/s-dwalin.adb (Read_Aranges_Header): Initialize output
parameter in case we return early.
2022-05-18 Bob Duff <duff@adacore.com>
* libgnat/a-crbtgo.ads, libgnat/a-rbtgbo.ads,
libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
libgnat/a-cbhase.adb, libgnat/a-cdlili.adb,
libgnat/a-cfdlli.adb, libgnat/a-cfhama.adb,
libgnat/a-cfhase.adb, libgnat/a-cidlli.adb,
libgnat/a-cihama.adb, libgnat/a-cihase.adb,
libgnat/a-cohama.adb, libgnat/a-cohase.adb,
libgnat/a-crbtgo.adb, libgnat/a-crdlli.adb, libgnat/a-rbtgbo.adb
(Vet): Make the Vet functions do nothing when
Container_Checks'Enabled is False, and inline them, so the calls
disappear when optimizing.
2022-05-18 Doug Rupp <rupp@adacore.com>
* Makefile.rtl (arm-qnx): Use default (non-fma) target pair.
2022-05-18 Kévin Le Gouguec <legouguec@adacore.com>
* libgnat/s-dwalin.adb (Aranges_Lookup, Enable_Cache): Adapt to
changes in the signature of Read_Aranges_*.
(Debug_Info_Lookup): Do not control address size read from
DWARF.
(Read_Aranges_Header): Do not control address size read from
DWARF; return this size.
(Read_Aranges_Entry): Use the size returned by
Read_Aranges_Header.
2022-05-18 Gary Dismukes <dismukes@adacore.com>
* errout.ads (Error_Msg_GNAT_Extension): Add formal Loc and
revise comment.
* errout.adb (Error_Msg_GNAT_Extension): Condition message on
the flag Ada_Version_Pragma, and add suggestion to use of pragma
Extensions_Allowed in messages.
* par-ch3.adb, par-ch5.adb, par-ch6.adb, par-ch11.adb,
par-ch12.adb: Add actual Token_Ptr on calls to
Error_Msg_GNAT_Extension.
* par-ch4.adb: Change Error_Msg to Error_Msg_GNAT_Extension for
error calls related to use of extension features.
* sem_ch13.adb: Likewise.
2022-05-18 Johannes Kliemann <kliemann@adacore.com>
* libgnarl/s-osinte__qnx.adb (To_Target_Priority): Perform
arithmetic in int.
2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch7.adb (Build_BIP_Cleanup_Stmts): Use Needs_BIP_Alloc_Form.
2022-05-18 Javier Miranda <miranda@adacore.com>
* sem_ch6.adb (Find_Corresponding_Spec): Avoid calling
Is_Null_Extension with a class-wide type entity.
(Overrides_Visible_Function): Handle alias entities.
* sem_res.adb (Has_Applicable_User_Defined_Literal): Conversion
not needed if the result type of the call is class-wide or if
the result type matches the context type.
* sem_util.ads (Is_Null_Extension): Adding documentation.
(Is_Null_Extension_Of): Adding documentation.
* sem_util.adb (Is_Null_Extension): Adding assertion.
(Is_Null_Extension_Of): Adding assertions.
2022-05-18 Javier Miranda <miranda@adacore.com>
* snames.ads-tmpl (Name_Index): New attribute name.
(Attribute_Id): Adding Attribute_Index as regular attribute.
* sem_attr.adb (Attribute_22): Adding Attribute_Index as Ada
2022 attribute.
(Analyze_Index_Attribute): Check that 'Index appears in a
pre-/postcondition aspect or pragma associated with an entry
family.
(Analyze_Attribute): Adding semantic analysis for 'Index.
(Eval_Attribute): Register 'Index as can never be folded.
(Resolve_Attribute): Resolve attribute 'Index.
* sem_ch9.adb (Check_Wrong_Attribute_In_Postconditions): New
subprogram.
(Analyze_Requeue): Check that the requeue target shall not have
an applicable specific or class-wide postcondition which
includes an Index attribute reference.
* exp_attr.adb (Expand_N_Attribute_Reference): Transform
attribute Index into a renaming of the second formal of the
wrapper built for an entry family that has contract cases.
* einfo.ads (Is_Entry_Wrapper): Complete documentation.
2022-05-18 Yannick Moy <moy@adacore.com>
* libgnat/s-imagei.adb (Set_Digits): Add assertion.
* libgnat/s-imgboo.adb (Image_Boolean): Add assertions.
* libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion.
2022-05-18 Arnaud Charlet <charlet@adacore.com>
* sem_aux.adb (Is_Immutably_Limited_Type): Do not look through
private types as per RM 7.5(8.1).
* sem_ch6.adb (Analyze_Function_Return): Use
Is_Immutably_Limited_Type as per RM 6.5(5.10).
2022-05-18 Marc Poulhiès <poulhies@adacore.com>
* gen_il-gen-gen_nodes.adb (Gen_IL.Gen.Gen_Nodes): Add
Is_Homogeneous_Aggregate field for N_Delta_Aggregate nodes.
* par-ch4.adb (P_Aggregate_Or_Paren_Expr): Minor reformatting.
* sem_aggr.adb (Resolve_Delta_Aggregate): Reject square brackets
for record aggregate.
(Resolve_Record_Aggregate): Uniformise error message.
2022-05-18 Arnaud Charlet <charlet@adacore.com>
* ali.adb (Scan_ALI): Special case a-tags.ali when setting
Sec_Stack_Used.
* bindgen.adb (Gen_Adainit): Simplify handling of secondary
stack related code, and only import __gnat_binder_ss_count when
needed.
* libgnat/s-secsta.adb (Binder_SS_Count): Default initialize to
0.
2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
* libgnat/s-dourea.adb ("/"): Add guard for zero and infinite
divisor.
* libgnat/s-valuer.adb (Scan_Raw_Real): Add guard for very large
exponent values.
2022-05-18 Yannick Moy <moy@adacore.com>
* sem_elab.adb (Is_Suitable_Construct): Fix for generated
constructs.
2022-05-18 Marc Poulhiès <poulhies@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): Skip predicate check
for type conversion if object's subtype and expression's subtype
statically match.
* exp_prag.adb (Expand_Pragma_Check): Typo fix in comment.
2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
* exp_dbug.ads (Build_Subprogram_Instance_Renamings): Fix typo.
* exp_dbug.adb (Build_Subprogram_Instance_Renamings): Build the
renaming only for actuals of formal objects.
2022-05-18 Gary Dismukes <dismukes@adacore.com>
* sem_ch3.adb (Check_Abstract_Overriding): If the type is
derived from an untagged type, then don't perform any of the
abstract overriding error checks.
2022-05-18 Piotr Trojanek <trojanek@adacore.com>
* exp_aggr.adb (Component_Count): Calculate size as an Uint and
only then check if it is in the range of Int, as otherwise the
multiplication of Int values can overflow.
2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add g-gfmafu$(objext).
(SIMD_PATH_TARGET_PAIRS): New variable.
(TRASYM_DWARF_COMMON_OBJS): Minor tweak.
(x86-64/Linux): Use SIMD_PATH_TARGET_PAIRS.
(x32/Linux): Likewise.
* doc/gnat_rm/the_gnat_library.rst (Generic_Fast_Math_Functions):
New entry.
* gnat_rm.texi: Regenerate.
* impunit.adb (Non_Imp_File_Names_95): Add g-gfmafu.
* sem_ch7.adb (Has_Referencer): Do not set In_Nested_Instance for
instances of generic packages that do not have a body.
* libgnat/a-nalofl__simd.ads: New SIMD-enabled version.
* libgnat/a-nuaufl__simd.ads: Likewise.
* libgnat/g-gfmafu.ads: New package renaming unit.
2022-05-18 Arnaud Charlet <charlet@adacore.com>
* freeze.adb (Should_Freeze_Type): Fix handling of freezing in
instances.
2022-05-18 Marc Poulhiès <poulhies@adacore.com>
* sem_ch12.adb (Check_Generic_Parent): Use
Get_Unit_Instantiation_Node instead of Next.
2022-05-18 Alexandre Oliva <oliva@adacore.com>
* libgnat/a-nagefl.ads: Replace mentions of C/unix math library
with intrinsics.
* libgnat/a-nallfl.ads: Likewise. State compatibility
requirements.
* libgnat/a-nalofl.ads: Likewise.
* libgnat/a-nuaufl.ads: Likewise.
2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): Move final test on
In_Instance to outer condition.
2022-05-18 Doug Rupp <rupp@adacore.com>
* Makefile.rtl: Rename system-qnx-aarch64.ads to
system-qnx-arm.ads.
(AARCH64 QNX section): Modify to handle both arm and arch64.
* tracebak.c (__QNX__): Add new __ARMEL__ section.
* sigtramp-arm-qnx.c: New file.
* libgnat/system-qnx-aarch64.ads: Renamed to ...
* libgnat/system-qnx-arm.ads: this.
2022-05-17 Piotr Trojanek <trojanek@adacore.com>
* sem_res.adb (Flag_Effectively_Volatile_Objects): Restore
redundant guard.
2022-05-17 Gary Dismukes <dismukes@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): Add error check for
the case of a renamed subprogram given by an expanded name whose
outermost prefix names a unit that is hidden by the name of the
renaming.
(Ult_Expanded_Prefix): New local expression function to return
the ultimate prefix of an expanded name.
2022-05-17 Ghjuvan Lacambre <lacambre@adacore.com>
* gnat_cuda.ads: Update package-level comments.
(Build_And_Insert_CUDA_Initialization): Remove function.
* gnat_cuda.adb (Build_And_Insert_CUDA_Initialization): Remove
function.
(Expand_CUDA_Package): Remove call to
Build_And_Insert_CUDA_Initialization.
2022-05-17 Etienne Servais <servais@adacore.com>
* freeze.adb (Freeze_Enumeration_Type): Fix comment, enhance
message and silence warning for size > 32.
2022-05-17 Yannick Moy <moy@adacore.com>
* exp_spark.adb (Expand_SPARK_Potential_Renaming): Deal with no
entity case.
* inline.ads (Check_Object_Renaming_In_GNATprove_Mode): New
procedure.
* inline.adb (Check_Object_Renaming_In_GNATprove_Mode): New
procedure.
(Can_Be_Inlined_In_GNATprove_Mode): Remove case forbidding
inlining for subprograms inside generics.
* sem_ch12.adb (Copy_Generic_Node): Preserve global entities
when inlining in GNATprove mode.
* sem_ch6.adb (Analyse_Subprogram_Body_Helper): Remove body to
inline if renaming is detected in GNATprove mode.
2022-05-17 Gary Dismukes <dismukes@adacore.com>
* exp_ch4.adb (Expand_N_Allocator): For an allocator with an
unconstrained discriminated designated type, and whose
allocation subtype is constrained, set the
Actual_Designated_Subtype of the dereference passed to the init
proc of the designated type to be the allocation subtype.
* sinfo.ads: Add documentation of new setting of
Actual_Designated_Subtype on a dereference used as an actual
parameter of call to an init proc associated with an allocator.
Also add missing syntax and documentation for the GNAT language
extension that allows an expression as a default for a concrete
generic formal function.
2022-05-17 Bob Duff <duff@adacore.com>
* sinfo.ads: Remove From_At_End. Update comments.
* gen_il-fields.ads, gen_il-gen-gen_nodes.adb, sem_ch11.adb:
Remove From_At_End.
* exp_ch11.adb (Expand_At_End_Handler): Remove assertion.
* fe.h (Exception_Mechanism, Exception_Mechanism_Type, Has_DIC,
Has_Invariants, Is_List_Member, List_Containing): Remove
declarations that are not used in gigi.
* opt.ads (Exception_Mechanism): This is not used in gigi.
* exp_util.ads: Minor comment fix.
2022-05-17 Dmitriy Anisimkov <anisimko@adacore.com>
* impunit.adb: Add "g-binsea" to Non_Imp_File_Names_95 list.
2022-05-17 Yannick Moy <moy@adacore.com>
* sem_ch5.adb (Analyze_Iterator_Specification): Use
Insert_Action when possibly inside an expression.
2022-05-17 Marc Poulhiès <poulhies@adacore.com>
* libgnat/g-forstr.adb (Is_Number): Add scientific notation and
shortest representation.
2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch3.adb (Expand_N_Full_Type_Declaration): Look into N.
2022-05-17 Bob Duff <duff@adacore.com>
* exp_util.adb (Requires_Cleanup_Actions): Remove
N_Protected_Body from the case statement, so that case will be
covered by "raise Program_Error".
2022-05-17 Bob Duff <duff@adacore.com>
* output.adb (Pop_Output, Set_Output): Unconditionally flush
output when switching from one output destination to another.
Otherwise buffering can cause garbled output.
(w): Push/pop the current settings, and temporarily
Set_Standard_Error during these procedures.
2022-05-17 Dmitriy Anisimkov <anisimko@adacore.com>
* libgnat/g-binsea.ads, libgnat/g-binsea.adb
(GNAT.Binary_Search): New package.
* Makefile.rtl (GNATRTL_NONTASKING_OBJS): New item in list.
* doc/gnat_rm/the_gnat_library.rst (GNAT.Binary_Search): New
package record.
* gnat_rm.texi: Regenerate.
2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch12.ads (Is_Abbreviated_Instance): Declare.
* sem_ch12.adb (Check_Abbreviated_Instance): Declare.
(Requires_Conformance_Checking): Declare.
(Analyze_Association.Process_Default): Fix subtype of parameter.
(Analyze_Formal_Object_Declaration): Check whether it is in the
visible part of abbreviated instance.
(Analyze_Formal_Subprogram_Declaration): Likewise.
(Analyze_Formal_Type_Declaration): Likewise.
(Analyze_Package_Instantiation): Do not check for a generic child
unit in the case of an abbreviated instance.
(Check_Abbreviated_Instance): New procedure.
(Check_Formal_Packages): Tidy up.
(Copy_Generic_Elist): Fix comment.
(Instantiate_Formal_Package): Tidy up. If the generic unit is a
child unit, copy the qualified name onto the abbreviated instance.
(Is_Abbreviated_Instance): New function.
(Collect_Previous_Instances): Call Is_Abbreviated_Instance.
(Requires_Conformance_Checking): New function.
* sem_ch7.adb (Analyze_Package_Specification): Do not install the
private declarations of the parent for an abbreviated instance.
2022-05-17 Etienne Servais <servais@adacore.com>
* sem_ch3.adb (Analyze_Subtype_Declaration): Use underlying type
of Indic_Typ.
(Constrain_Array): Ditto for T.
2022-05-17 Arnaud Charlet <charlet@adacore.com>
* sem_attr.adb (Analyze_Attribute [Attribute_Reduce]): Allow
'Reduce for Ada 2022 and above.
* sem_attr.ads (Attribute_Impl_Def): 'Reduce is no longer
implementation defined.
2022-05-17 Ghjuvan Lacambre <lacambre@adacore.com>
* exp_ch9.adb (Expand_N_Asynchronous_Select): Don't generate
Abort_Undefers when not Abort_Allowed.
2022-05-17 Marc Poulhiès <poulhies@adacore.com>
* exp_ch7.adb: Fix typo.
2022-05-17 Etienne Servais <servais@adacore.com>
* lib.ads: initialize `Compiler_State` to `Parsing`.
2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch13.adb (Has_Compatible_Representation): Return true for
derived untagged record types without representation clause.
2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch13.ads (Has_Compatible_Representation): Minor tweaks.
* sem_ch13.adb (Has_Compatible_Representation): Look directly into
the (implementation) base types and simplifiy accordingly.
* exp_ch5.adb (Change_Of_Representation): Adjust.
* exp_ch6.adb (Expand_Actuals): Likewise.
2022-05-17 Etienne Servais <servais@adacore.com>
* sem_ch5.adb (Analyze_Assignment): Remove superfluous call to
Original_Node.
2022-05-17 Javier Miranda <miranda@adacore.com>
* freeze.adb (Freeze_Entity): Protect the call to
Declaration_Node against entities of expressions replaced by the
frontend with an N_Raise_CE node.
2022-05-17 Javier Miranda <miranda@adacore.com>
* freeze.adb (Build_DTW_Spec): Do not inherit the not-overriding
indicator because the DTW wrapper overrides its wrapped
subprogram.
* contracts.ads (Make_Class_Precondition_Subps): Adding
documentation.
2022-05-17 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch13.adb (Expand_N_Freeze_Entity): Delete freeze nodes for
subprograms only if they have no actions.
* exp_ch6.adb (Freeze_Subprogram): Put the actions into the Actions
field of the freeze node instead of inserting them after it.
* sem_elab.adb (Is_SPARK_Semantic_Target): Fix typo in comment.
* gcc-interface/trans.cc (process_freeze_entity): Return early for
freeze nodes of subprograms with Interface_Alias set.
2022-05-17 Javier Miranda <miranda@adacore.com>
* contracts.adb (Build_Call_Helper_Body): Improve handling of
the case of a (legal) non-dispatching call to an abstract
subprogram.
2022-05-17 Piotr Trojanek <trojanek@adacore.com>
* doc/gnat_rm/implementation_defined_attributes.rst
(Loop_Entry): Mention pragmas Assert, Assert_And_Cut and Assume;
refill.
* gnat_rm.texi: Regenerate.
2022-05-17 Etienne Servais <servais@adacore.com>
* par-ch3.adb (P_Access_Type_Definition): Outputs an error if
token is not "access".
2022-05-17 Piotr Trojanek <trojanek@adacore.com>
* exp_ch2.adb (Expand_Current_Value): Remove special case for
references immediately within pragma argument associations.
* exp_prag.adb (Expand_Pragma_Inspection_Point): Remove special
case for privals.
2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch7.adb (Inspect_Untagged_Record_Completion): Also move the
equality operator on the homonym chain if there is another equality
operator in the private part.
2022-05-16 Piotr Trojanek <trojanek@adacore.com>
* exp_attr.adb (Expand_Loop_Entry_Attribute): Disable value
propagation when analysing the constant that holds the
Loop_Entry prefix value.
2022-05-16 Piotr Trojanek <trojanek@adacore.com>
* sem_attr.adb (Address_Checks): Remove call to
Kill_Current_Values for subprogram entities, because this
routine only does something for object entities.
2022-05-16 Justin Squirek <squirek@adacore.com>
* exp_ch7.adb (Build_Finalizer): Disable late evaluation of
postconditions for functions returning types which where
Has_Unconstrained_Elements is true or are unconstrained arrays.
2022-05-16 Etienne Servais <servais@adacore.com>
* exp_ch4.adb (Expand_N_Qualified_Expression): Freeze
Target_Type.
2022-05-16 Yannick Moy <moy@adacore.com>
* libgnat/s-aridou.adb (Double_Divide): Add intermediate
assertions.
2022-05-16 Ghjuvan Lacambre <lacambre@adacore.com>
* lib-writ.adb (Output_CUDA_Symbols): Check for null packages.
2022-05-16 Joel Brobecker <brobecker@adacore.com>
* libgnat/g-debpoo.ads: Improve documentation of the
Stack_Trace_Depth parameter.
2022-05-16 Joel Brobecker <brobecker@adacore.com>
* init.c (__gnat_install_handler) [__QNX__]: Save sigaction's
return value in err before checking err's value. Fix incorrect
signal names in perror messages.
2022-05-16 Joel Brobecker <brobecker@adacore.com>
* init.c (__gnat_install_handler) [__QNX__]: Set
act.sa_sigaction rather than act.sa_handler.
2022-05-16 Joel Brobecker <brobecker@adacore.com>
* cstreams.c: Add <stdlib.h> #include.
2022-05-16 Joel Brobecker <brobecker@adacore.com>
* terminals.c: Remove bzero #define on HP/UX or Solaris
platforms.
(child_setup_tty): Replace bzero call by equivalent call to
memset.
2022-05-16 Gary Dismukes <dismukes@adacore.com>
* sem_util.ads (Storage_Model_Support): Revise comments on most
operations within this nested package to reflect that they can
now be passed either a type that has aspect Storage_Model_Type
or an object of such a type. Change the names of the relevant
formals to SM_Obj_Or_Type. Also, add more precise semantic
descriptions in some cases, and declare the subprograms in a
more logical order.
* sem_util.adb (Storage_Model_Support.Storage_Model_Object): Add
an assertion that the type must specify aspect
Designated_Storage_Model, rather than returning Empty when it
doesn't specify that aspect.
(Storage_Model_Support.Storage_Model_Type): Add an assertion
that formal must be an object whose type specifies aspect
Storage_Model_Type, rather than returning Empty for when it
doesn't have such a type (and test Has_Storage_Model_Type_Aspect
rather than Find_Value_Of_Aspect).
(Storage_Model_Support.Get_Storage_Model_Type_Entity): Allow
both objects and types, and add an assertion that the type (or
the type of the object) has a value for aspect
Storage_Model_Type.
2022-05-16 Etienne Servais <servais@adacore.com>
* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
Fix condition to return.
2022-05-16 Yannick Moy <moy@adacore.com>
* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Update comment.
2022-05-16 Marc Poulhiès <poulhies@adacore.com>
* sem_aggr.adb (Resolve_Iterated_Association): Create scope
around N_Iterated_Element_Association handling. Analyze a copy
of the Loop_Parameter_Specification. Call Analyze instead
Analyze_* to be more homogeneous.
(Sem_Ch5): Remove now unused package.
2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
* exp_util.adb (Insert_Actions) <N_Iterated_Component_Association>:
Climb up out of the node if the actions come from Discrete_Choices.
2022-05-16 Javier Miranda <miranda@adacore.com>
* sem_disp.adb (Check_Dispatching_Context): When checking to see
whether an expression occurs in a class-wide pre/post-condition,
also check for the possibility that it occurs in a class-wide
preconditions subprogram that was introduced as part of
expansion. Without this fix, some legal calls occuring in
class-wide preconditions may be incorrectly flagged as violating
the "a call to an abstract subprogram must be dispatching" rule.
2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
* inline.adb (Cleanup_Scopes): Test the underlying type.
2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
* sem_util.ads (Is_Entity_Of_Quantified_Expression): Declare.
* sem_util.adb (Is_Entity_Of_Quantified_Expression): New
predicate.
(New_Copy_Tree): Deal with all entities of quantified
expressions.
* sem_ch13.adb (Build_Predicate_Functions): Get rid of
superfluous tree copying and remove obsolete code.
* sem_ch6.adb (Fully_Conformant_Expressions): Deal with all
entities of quantified expressions.
2022-05-16 Steve Baird <baird@adacore.com>
* exp_ch7.adb (Build_Finalize_Statements): Add Last_POC_Call
variable to keep track of the last "early finalization" call
generated for type extension's finalization procedure. If
non-empty, then this will indicate the point at which to insert
the call to the parent type's finalization procedure. Modify
nested function Process_Component_List_For_Finalize to set this
variable (and avoid setting it during a recursive call). If
Last_POC_Call is empty, then insert the parent finalization call
before, rather than after, the finalization code for the
extension components.
2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
* einfo-utils.adb (Remove_Entity): Fix couple of oversights.
* exp_ch3.adb (Is_User_Defined_Equality): Delete.
(User_Defined_Eq): Call Get_User_Defined_Equality.
(Make_Eq_Body): Likewise.
(Predefined_Primitive_Eq_Body): Call Is_User_Defined_Equality.
* exp_ch4.adb (Build_Eq_Call): Call Get_User_Defined_Equality.
(Is_Equality): Delete.
(User_Defined_Primitive_Equality_Op): Likewise.
(Find_Aliased_Equality): Call Is_User_Defined_Equality.
(Expand_N_Op_Eq): Call Underlying_Type unconditionally.
Do not implement AI12-0101 + AI05-0123 here.
(Expand_Set_Membership): Call Resolve_Membership_Equality.
* exp_ch6.adb (Expand_Call_Helper): Remove obsolete code.
* sem_aux.ads (Is_Record_Or_Limited_Type): Delete.
* sem_aux.adb (Is_Record_Or_Limited_Type): Likewise.
* sem_ch4.ads (Nondispatching_Call_To_Abstract_Operation): Declare.
* sem_ch4.adb (Analyze_Call): Call Call_Abstract_Operation.
(Analyze_Membership_Op): Call Resolve_Membership_Equality.
(Nondispatching_Call_To_Abstract_Operation): New procedure.
(Remove_Abstract_Operations): Call it.
* sem_ch6.adb (Check_Untagged_Equality): Remove obsolete error and
call Is_User_Defined_Equality.
* sem_ch7.adb (Inspect_Untagged_Record_Completion): New procedure
implementing AI12-0101 + AI05-0123.
(Analyze_Package_Specification): Call it.
(Declare_Inherited_Private_Subprograms): Minor tweak.
(Uninstall_Declarations): Likewise.
* sem_disp.adb (Check_Direct_Call): Adjust to new implementation
of Is_User_Defined_Equality.
* sem_res.ads (Resolve_Membership_Equality): Declare.
* sem_res.adb (Resolve): Replace direct error handling with call to
Nondispatching_Call_To_Abstract_Operation
(Resolve_Call): Likewise.
(Resolve_Equality_Op): Likewise. mplement AI12-0413.
(Resolve_Membership_Equality): New procedure.
(Resolve_Membership_Op): Call Get_User_Defined_Equality.
* sem_util.ads (Get_User_Defined_Eq): Rename into...
(Get_User_Defined_Equality): ...this.
* sem_util.adb (Get_User_Defined_Eq): Rename into...
(Get_User_Defined_Equality): ...this. Call Is_User_Defined_Equality.
(Is_User_Defined_Equality): Also check the profile but remove tests
on Comes_From_Source and Parent.
* sinfo.ads (Generic_Parent_Type): Adjust field description.
* uintp.ads (Ubool): Invoke user-defined equality in predicate.
2022-05-16 Piotr Trojanek <trojanek@adacore.com>
* exp_ch3.adb (User_Defined_Eq): Replace duplicated code with a
call to Get_User_Defined_Eq.
2022-05-16 Piotr Trojanek <trojanek@adacore.com>
* exp_ch3.adb (Build_Untagged_Equality): Exit early when the
outcome of a loop is already known.
2022-05-16 Olivier Hainque <hainque@adacore.com>
* Makefile.rtl: Add aarch64 to the list of CPUs for which
GNATLIB_SHARED maps to gnatlib-shared-dual for vxworks7r2.
2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch4.adb (Analyze_Negation): Minor tweak.
(Analyze_Unary_Op): Likewise.
2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch3.adb (Build_Assignment): Adjust to the new definition of
Incomplete_View field.
* sem_ch10.ads (Decorate_Type): Declare.
* sem_ch10.adb (Decorate_Type): Move to library level.
(Install_Limited_With_Clause): In the already analyzed case, also
deal with incomplete type declarations present in the sources and
simplify the replacement code.
(Build_Shadow_Entity): Deal with swapped views in package body.
(Restore_Chain_For_Shadow): Deal with incomplete type declarations
present in the sources.
* sem_ch3.adb (Analyze_Full_Type_Declaration): Adjust to the new
definition of Incomplete_View field.
(Build_Incomplete_Type_Declaration): Small consistency tweak.
Set the incomplete type as the Incomplete_View of the full type.
If the scope is a package with a limited view, build a shadow
entity for the incomplete type.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): When replacing
the limited view of a CW type as designated type of an anonymous
access return type, get to the CW type of the incomplete view of
the tagged type, if any.
(Collect_Primitive_Operations): Adjust to the new definition of
Incomplete_View field.
* sinfo.ads (Incomplete_View): Denote the entity itself instead
of its declaration.
* sem_util.adb: Remove call to Defining_Entity.
2022-05-16 Piotr Trojanek <trojanek@adacore.com>
* sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Given a
subtype recurse into its base type.
2022-05-16 Piotr Trojanek <trojanek@adacore.com>
* sem_util.adb (Type_Or_Variable_Has_Enabled_Property): Clarify.
2022-05-16 Piotr Trojanek <trojanek@adacore.com>
* sem_util.adb (Is_Enabled): Remove; use Is_Enabled_Pragma
instead.
2022-05-16 Martin Liska <mliska@suse.cz>
* locales.c (iso_639_1_to_639_3): Use ARRAY_SIZE.
(language_name_to_639_3): Likewise.
(country_name_to_3166): Likewise.
2022-05-13 Alexandre Oliva <oliva@adacore.com>
* gcc-interface/decl.cc (is_cplusplus_method): Build proper
String for Get_External_Name.
2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch3.adb (Derive_Subprogram): For a function, also copy the
Returns_By_Ref flag from the parent.
2022-05-13 Gary Dismukes <dismukes@adacore.com>
* sem_ch13.adb (Check_Aspect_At_Freeze_Point): Analyze the
expression of the aspect at this point, like other aspects that
denote simple entities. Ensures that function
Storage_Model_Object will have an entity to retrieve from the
aspect expression. Also, move comment about aspects that don't
require delay analysis in front of last alternative of the case
statement, where it's supposed to be.
2022-05-13 Javier Miranda <miranda@adacore.com>
* contracts.adb (Build_Unique_Name): New subprogram.
(Make_Class_Precondition_Subps): Use Build_Unique_Name to
generate the names of the call helpers and the name of indirect
call wrappers.
* freeze.adb (Needs_Wrapper): Remove dead code.
(Check_Inherited_Conditions): Defer building helpers and ICW
until all the dispatch table wrappers have been built and
analyzed. Required to ensure uniqueness in their names because
when building these wrappers for overlapped subprograms their
homonym number is not definite until they have been analyzed.
2022-05-13 Arnaud Charlet <charlet@adacore.com>
* libgnarl/s-taprop__linux.adb (Initialize): Do not use an
alternate stack if no handler for SEGV is installed.
2022-05-13 Alexandre Oliva <oliva@adacore.com>
* doc/gnat_rm/security_hardening_features.rst (Control Flow
Redundancy): Drop mentions of noreturn and tail calls.
* gnat_rm.texi: Regenerate.
2022-05-13 Ghjuvan Lacambre <lacambre@adacore.com>
* ali.adb: Introduce new 'K' line in ALI files, used to
represent CUDA kernel entries.
* ali.ads: Create new CUDA_Kernels table, which contains entries
of type CUDA_Kernel_Record. Each CUDA_Kernel_Record corresponds
to a K line in an ali file.
* bindgen.adb: Introduce new Gen_CUDA_Init procedure in the
binder, which generates CUDA kernel registration code.
* gnat_cuda.adb: Move Get_CUDA_Kernels spec to package spec to
make it available to bindgen.adb.
* gnat_cuda.ads: Likewise.
* lib-writ.adb: Introduce new Output_CUDA_Symbols procedure,
which generates one 'K' line in the ALI file per visible CUDA
kernel.
* opt.ads: Introduce Enable_CUDA_Expansion option, triggered by
using the -gnatd_c flag.
* switch-b.adb: Likewise.
* switch-c.adb: Likewise.
2022-05-13 Marc Poulhiès <poulhies@adacore.com>
* exp_aggr.adb (Gen_Loop): Create scope for loop variable of
iterated components.
2022-05-13 Yannick Moy <moy@adacore.com>
* libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index):
Remove useless functions.
(Delete_Key_Sans_Free, Find, Generic_Conditional_Insert): Adapt
to removal of wrapper functions.
* libgnat/a-chtgfk.ads (Checked_Equivalent_Keys, Checked_Index):
Remove useless functions.
* libgnat/a-chtgfo.adb (Checked_Index): Remove useless function.
(Clear): Delete code commented out regarding Busy and Lock
management.
(Delete_Node_At_Index): Delete unused procedure.
(Delete_Node_Sans_Free, Free, Generic_Read, Next): Adapt to
removal of wrapper functions.
* libgnat/a-chtgfo.ads (Checked_Index): Remove useless function.
(Delete_Node_At_Index): Delete unused procedure.
2022-05-13 Yannick Moy <moy@adacore.com>
* libgnat/a-cfhama.adb (Generic_Allocate): Retype to avoid
aliasing.
(Assign, Move): Remove address comparison.
(Include): Insert constants for subtype constraints.
(Insert): Rewrite to avoid aliasing and function with side-effects.
* libgnat/a-cfhase.adb (Generic_Allocate): Retype to avoid
aliasing.
(Assign, Move): Remove address comparison.
(Difference, Intersection, Is_Subset, Overlap,
Symmetric_Difference, Union): Remove address comparison. Insert
constants for subtype constraints.
(Insert): Rewrite to avoid aliasing and function with
side-effects.
* libgnat/a-chtgfk.adb (Checked_Equivalent_Keys, Checked_Index,
Delete_Key_Sans_Free, Find, Generic_Replace_Element, Index):
Type for hash tables not tagged anymore.
(Generic_Conditional_Insert): New_Node generic formal is a
procedure taking the hash table as first parameter now, to avoid
aliasing in the caller.
* libgnat/a-chtgfk.ads: Same.
* libgnat/a-chtgfo.adb (Checked_Index, Clear,
Delete_Node_At_Index, Delete_Node_Sans_Free, First, Free,
Generic_Allocate, Generic_Iteration, Generic_Read,
Generic_Write, Index, Next): Type for hash tables not tagged
anymore.
(Generic_Equal): Removed tagged. Remove address comparison.
* libgnat/a-chtgfo.ads: Same.
* libgnat/a-cohata.ads (Hash_Table_Type): Remove tagged.
2022-05-13 Yannick Moy <moy@adacore.com>
* Makefile.rtl: Add new files.
* libgnat/a-cfhama.adb: Use formal version of hash tables.
* libgnat/a-cfhama.ads: Same.
* libgnat/a-cfhase.adb: Same.
* libgnat/a-cfhase.ads: Same.
* libgnat/a-chtgfk.adb: New unit for formal containers, modified
version of Generic_Bounded_Keys.
* libgnat/a-chtgfk.ads: Same.
* libgnat/a-chtgfo.adb: New unit for formal containers, modified
version of Generic_Bounded_Operations.
* libgnat/a-chtgfo.ads: Same.
* libgnat/a-cohata.ads (Generic_Formal_Hash_Table_Types): Third
version of the type for hash tables, equivalent to the bounded
version without tampering checks.
2022-05-13 Javier Miranda <miranda@adacore.com>
* freeze.adb (Check_Inherited_Conditions): Dispatch table
wrappers must be placed in the list of entities of their scope
at the same place of their wrapped primitive. This is required
for private types since these wrappers are built when their full
tagged type declaration is frozen but they may override a
primitive defined in the public part of the package (and it is
important to maintain the wrapper in the list of public entities
of the package to ensure their correct visibility).
2022-05-13 Johannes Kanig <kanig@adacore.com>
* osint.ads, osint.adb (Relocate_Path): If the GNSA_ROOT
environment variable is set, we use that as the prefix, instead
of computing the prefix from the executable location.
2022-05-13 Steve Baird <baird@adacore.com>
* exp_ch3.ads (Build_Intialization_Call): Add new formal
parameter, Init_Control_Actual, with default value. Clients
outside of package Exp_Ch3 are unaffected.
* exp_ch3.adb (Initialization_Control): new package; support for
this 4-valued parameter. The existing Requires_Late_Init
function is moved into this new package.
(Build_Initialization_Call): Add new formal parameter for
subprogram body, use this new formal parameter in generating an
init proc call.
(Build_Record_Init_Proc): Replace Set_Tag Boolean formal
parameter with 4-valued Init_Control_Formal. Wrap if-statements
with appropriate conditions around tag initialization, early
initialization, and late initialization statements.
* exp_util.adb (Build_Task_Image_Decl): Avoid problem with
duplicate declarations when an init proc for a type extension
calls the parent type's init proc twice.
2022-05-13 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Iterator_Specification): Fix Typ in the
case of a class-wide derived iterator.
2022-05-13 Yannick Moy <moy@adacore.com>
* libgnat/a-strbou.ads (Overwrite): Switch to >= operator in
contracts.
* libgnat/a-strsup.adb (Super_Overwrite): Switch to >= operator
in code of procedure (function already uses it).
* libgnat/a-strsup.ads (Super_Overwrite): Switch to >= operator
in contracts.
2022-05-13 Etienne Servais <servais@adacore.com>
* doc/gnat_rm/representation_clauses_and_pragmas.rst: Fix code
snippet.
* gnat_rm.texi: Regenerate.
2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
* aspects.adb (Find_Value_Of_Aspect): Add guard.
* sem_ch4.adb (Complete_Object_Operation): Remove obsolete code.
* sem_ch5.adb (Has_Sec_Stack_Default_Iterator): Add guard.
2022-05-13 Javier Miranda <miranda@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference): The expansion of
'Address in a call to an instantiation of the implicit
subprogram To_Pointer with a class-wide interface type target
requires adding an implicit type conversion to force
displacement of the "this" pointer.
2022-05-13 Javier Miranda <miranda@adacore.com>
* sem_attr.adb (Resolve_Attribute): Ensure that attribute
expressions are resolved at this stage; required for preanalyzed
references to discriminants since their resolution (and
expansion) will take care of updating their Entity attribute to
reference their discriminal.
2022-05-13 Justin Squirek <squirek@adacore.com>
* sem_util.adb (Wrong_Type): Avoid using the first subtype of
the expected type in error messages when the expected type is
not internally generated.
2022-05-13 Alexandre Oliva <oliva@adacore.com>
* doc/gnat_rm/security_hardening_features.rst: Add subsection on
Control Flow Redundancy.
* gnat_rm.texi: Regenerate.
2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
* exp_util.adb (Insert_Actions) <N_Iteration_Scheme>: Check that
it is a WHILE iteration scheme before using Condition_Actions.
2022-05-13 Piotr Trojanek <trojanek@adacore.com>
* atree.adb, gen_il-gen.adb, osint.adb, set_targ.adb,
sinput.adb, table.adb, treepr.adb, types.ads: Replace uses of
Unchecked_Conversion in the compiler itself.
* libgnarl/a-reatim.adb, libgnarl/s-osinte__gnu.ads,
libgnarl/s-osinte__kfreebsd-gnu.ads, libgnat/a-coboho.adb,
libgnat/a-stuten.ads, libgnat/s-putima.adb: Likewise in the
runtime.
* doc/gnat_ugn/gnat_and_program_execution.rst: Likewise in
documentation.
* gnat_ugn.texi: Regenerate.
2022-05-13 Piotr Trojanek <trojanek@adacore.com>
* butil.adb, sem.adb, sinput.adb, types.ads, xref_lib.adb:
Replace uses of Unchecked_Deallocation with
Ada.Unchecked_Deallocation.
* doc/gnat_ugn/gnat_and_program_execution.rst: Likewise for the
documentation; fix casing of GNAT.IO.
* gnat_ugn.texi: Regenerate.
2022-05-13 Marc Poulhiès <poulhies@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate): Fix ARM reference.
Remove useless loop.
2022-05-13 Etienne Servais <servais@adacore.com>
* sem_ch3.adb (Analyze_Subtype_Declaration): Fix typo in
comment.
2022-05-13 Justin Squirek <squirek@adacore.com>
* sem_ch6.adb (Check_Return_Construct_Accessibility): Modify
generation of run-time accessibility checks to account for cases
where Extra_Accessibility_Of_Result should be used versus the
level of the enclosing subprogram. Use original node to avoid
checking against expanded code. Disable check generation for
tagged type case.
(Is_Formal_Of_Current_Function): Added to encompass a predicate
used within Check_Return_Construct_Accessibility to test if an
associated expression is related to a relevant formal.
* sem_util.adb, sem_util.ads (Enclosing_Subprogram): Modified to
accept Node_Or_Entity_Id.
(Innermost_Master_Scope_Depth): Calculate level based on the
subprogram of a return statement instead of the one returned by
Current_Subprogram.
(Needs_Result_Accessibility_Level): Remove
Disable_Coextension_Cases constant, and disable the tagged type
case for performance reasons.
2022-05-13 Piotr Trojanek <trojanek@adacore.com>
* sem_res.adb (Flag_Effectively_Volatile_Objects): Ignore
component and discriminant identifiers.
2022-05-13 Piotr Trojanek <trojanek@adacore.com>
* sem_res.adb (Flag_Effectively_Volatile_Objects): Remove
redundant guard.
2022-05-13 Justin Squirek <squirek@adacore.com>
* sem_ch8.adb (Determine_Package_Scope): Created to centralize
the calculation of which package a given use clause belongs to.
(Most_Descendant_Use_Clause): Modified to call
Determine_Package_Scope.
* sem_util.adb, sem_util.ads (Enclosing_Package): Modified to
handle both entity and node ids.
2022-05-12 Piotr Trojanek <trojanek@adacore.com>
* gnat1drv.adb (Gnat1drv): Skip postponed checks when there are
errors.
2022-05-12 Arnaud Charlet <charlet@adacore.com>
* doc/gnat_ugn/the_gnat_compilation_model.rst: Fix URL.
* gnat_ugn.texi: Regenerate.
2022-05-12 Bob Duff <duff@adacore.com>
* namet.ads, namet.adb (Write_Name_For_Debug): Add Quote
parameter to allow conditional addition of quotes. Note that
some calls to Write_Name_For_Debug, for example for file names,
shouldn't have quotes, as in some_package.adb:123:45.
* treepr.adb (Print_Name): Add double quotes around the name
using the above Quote parameters.
2022-05-12 Piotr Trojanek <trojanek@adacore.com>
* sem_res.adb (Resolve_Actuals): Simplify with N_Op_Compare.
* sem_util.adb (Replace_Null_Operand,
Null_To_Null_Address_Convert_OK): Likewise.
2022-05-12 Piotr Trojanek <trojanek@adacore.com>
* sem_util.ads (Is_Selector_Name): Remove spec.
* sem_util.adb (Is_Selector_Name): Remove body.
2022-05-12 Arnaud Charlet <charlet@adacore.com>
* sem_warn.adb (Has_Junk_Name): Add more dummy names.
2022-05-12 Piotr Trojanek <trojanek@adacore.com>
* lib-xref.adb (Generate_Reference): Fix comment and implement
it precisely.
2022-05-12 Piotr Trojanek <trojanek@adacore.com>
* atree.adb, atree.ads: Move WITH clause from spec to body; to
prevent new warnings stopping the bootstrap.
* fmap.adb, fname-sf.adb, libgnat/a-direct.adb,
libgnat/s-bignum.adb: Remove unnecessary WITH clauses; to
prevent new warnings stopping the bootstrap.
* sem_ch12.adb (Analyze_Subprogram_Instantiation): Only set
Is_Instantiated flag when the instance is in the extended main
source unit.
2022-05-12 Yannick Moy <moy@adacore.com>
* libgnat/s-valuei.ads: Remove pragma Warnings Off.
* libgnat/s-valueu.ads: Same.
* libgnat/s-valuti.ads: Same.
2022-05-12 Yannick Moy <moy@adacore.com>
* sem_util.adb (Check_Result_And_Post_State): Exempt trivial
post.
2022-05-12 Arnaud Charlet <charlet@adacore.com>
* ali.adb, ali.ads, bcheck.adb, exp_ch11.adb, fe.h,
gnat1drv.adb, opt.adb, opt.ads, targparm.adb, targparm.ads,
lib-writ.adb: Get rid of Frontend_Exceptions processing.
* libgnat/system-aix.ads, libgnat/system-darwin-arm.ads,
libgnat/system-darwin-ppc.ads, libgnat/system-darwin-x86.ads,
libgnat/system-djgpp.ads, libgnat/system-dragonfly-x86_64.ads,
libgnat/system-freebsd.ads, libgnat/system-hpux-ia64.ads,
libgnat/system-hpux.ads, libgnat/system-linux-alpha.ads,
libgnat/system-linux-arm.ads, libgnat/system-linux-hppa.ads,
libgnat/system-linux-ia64.ads, libgnat/system-linux-m68k.ads,
libgnat/system-linux-mips.ads, libgnat/system-linux-ppc.ads,
libgnat/system-linux-riscv.ads, libgnat/system-linux-s390.ads,
libgnat/system-linux-sh4.ads, libgnat/system-linux-sparc.ads,
libgnat/system-linux-x86.ads, libgnat/system-lynxos178-ppc.ads,
libgnat/system-lynxos178-x86.ads, libgnat/system-mingw.ads,
libgnat/system-qnx-aarch64.ads, libgnat/system-rtems.ads,
libgnat/system-solaris-sparc.ads,
libgnat/system-solaris-x86.ads,
libgnat/system-vxworks-arm-rtp-smp.ads,
libgnat/system-vxworks-arm-rtp.ads,
libgnat/system-vxworks-arm.ads,
libgnat/system-vxworks-e500-kernel.ads,
libgnat/system-vxworks-e500-rtp-smp.ads,
libgnat/system-vxworks-e500-rtp.ads,
libgnat/system-vxworks-ppc-kernel.ads,
libgnat/system-vxworks-ppc-rtp-smp.ads,
libgnat/system-vxworks-ppc-rtp.ads,
libgnat/system-vxworks-x86-kernel.ads,
libgnat/system-vxworks-x86-rtp-smp.ads,
libgnat/system-vxworks-x86-rtp.ads,
libgnat/system-vxworks7-aarch64-rtp-smp.ads,
libgnat/system-vxworks7-aarch64.ads,
libgnat/system-vxworks7-arm-rtp-smp.ads,
libgnat/system-vxworks7-arm.ads,
libgnat/system-vxworks7-e500-kernel.ads,
libgnat/system-vxworks7-e500-rtp-smp.ads,
libgnat/system-vxworks7-e500-rtp.ads,
libgnat/system-vxworks7-ppc-kernel.ads,
libgnat/system-vxworks7-ppc-rtp-smp.ads,
libgnat/system-vxworks7-ppc-rtp.ads,
libgnat/system-vxworks7-ppc64-kernel.ads,
libgnat/system-vxworks7-ppc64-rtp-smp.ads,
libgnat/system-vxworks7-x86-kernel.ads,
libgnat/system-vxworks7-x86-rtp-smp.ads,
libgnat/system-vxworks7-x86-rtp.ads,
libgnat/system-vxworks7-x86_64-kernel.ads,
libgnat/system-vxworks7-x86_64-rtp-smp.ads: Remove
Frontend_Exceptions line.
* gcc-interface/decl.cc, gcc-interface/trans.cc
(gnat_to_gnu_entity, gnat_to_gnu_subprog_type, gigi,
gnat_to_gnu): Remove Front_End_SJLJ processing and always assume
Back_End_Exceptions.
2022-05-12 Bob Duff <duff@adacore.com>
* namet.ads, namet.adb (Write_Name_For_Debug): New more-robust
version of Write_Name.
(Destroy_Global_Name_Buffer): New procedure to help detect bugs
related to use of Global_Name_Buffer. Misc cleanup and comment
improvements. E.g. we don't need to document every detail of
debugging printouts, especially since they can change.
* uname.ads, uname.adb (Write_Unit_Name_For_Debug): New
more-robust version of Write_Unit_Name.
(Get_Unit_Name_String): Pass buffer in, instead of using the
global variable. Misc cleanup. Remove the "special fudge", which
is apparently not needed, and anyway the comment "the %s or %b
has already been eliminated" seems wrong.
(Write_Unit_Name): Call the new version of Get_Unit_Name_String.
* errout.adb (Set_Msg_Insertion_Unit_Name): Call the new version
of Get_Unit_Name_String. We pass the global variable here,
because it's too much trouble to disentangle such uses in
Errout.
* sem_util.ads, sem_util.adb, sem_dist.adb
(Get_Library_Unit_Name): New version of
Get_Library_Unit_Name_String that avoids usage of the global
variable.
* casing.ads, casing.adb, exp_prag.adb, exp_util.adb
(Set_All_Upper_Case): Remove. There is no need for a wrapper
here -- code is clearer without it.
* treepr.adb (Print_Name): Call Write_Name_For_Debug, which
deals with No_Name (etc), rather than duplicating that here.
Note that the call to Get_Name_String was superfluous.
(Tree_Dump): Call Write_Unit_Name_For_Debug instead of
Write_Unit_Name, which crashes if not Is_Valid_Name.
* erroutc.ads: Improve comments.
* erroutc.adb (Set_Msg_Name_Buffer): Call
Destroy_Global_Name_Buffer to detect potential bugs where it
incorrectly looks at the global variable.
* sinput.adb (Write_Location): Call Write_Name_For_Debug instead
of Write_Name, so it won't blow up on invalid data.
* sinput.ads: Improve comments; remove some verbosity.
* libgnat/s-imagef.adb: Fix typo in comment.
2022-05-12 Yannick Moy <moy@adacore.com>
* libgnat/s-imageu.adb (Set_Image_Unsigned): Add lemma.
* libgnat/s-valueu.adb (Scan_Raw_Unsigned): Add assertion.
2022-05-12 Yannick Moy <moy@adacore.com>
* libgnat/s-aridou.ads: Remove use-clause, add renames and
subtypes.
* libgnat/s-exponn.ads: Same.
* libgnat/s-expont.ads: Same.
* libgnat/s-widthu.ads: Same.
2022-05-12 Etienne Servais <servais@adacore.com>
* csets.adb (Fold_Latin_9): Fix y with diaeresis.
(Fold_IBM_PC_850): Fix o with stroke.
2022-05-12 Piotr Trojanek <trojanek@adacore.com>
* sem_type.adb (Valid_Boolean_Arg): Remove redundant guard.
2022-05-12 Piotr Trojanek <trojanek@adacore.com>
* sem_type.adb (Valid_Boolean_Arg): Operands of Raise_Type are
valid boolean arguments.
2022-05-12 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch4.adb (Possible_Type_For_Conditional_Expression): Add
test for subtype conformance in the cases of
access-to-subprogram types.
2022-05-12 Yannick Moy <moy@adacore.com>
* libgnat/s-imagef.adb: Justify false message from CodePeer.
2022-05-12 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch4.adb (Analyze_Case_Expression): Rewrite.
(Analyze_If_Expression): Likewise.
(Possible_Type_For_Conditional_Expression): New function.
* sem_type.adb (Specific_Type): Retur the base type in more
cases.
2022-05-12 Yannick Moy <moy@adacore.com>
* libgnat/s-imagef.adb: Adapt to new signature of Image_I, by
providing ghost imported subprograms. For now, no contract is
used on these subprograms, as System.Image_F is not proved.
* libgnat/s-imagef.ads: Add modular type Uns as formal
parameter, to use in defining Int_Params for instantiating
Image_I.
* libgnat/s-imagei.adb: Add contracts and ghost code.
* libgnat/s-imagei.ads: Replace Int formal parameter by package
Int_Params, which bundles type Int and Uns with ghost
subprograms. Add contracts.
* libgnat/s-imfi128.ads: Adapt to new formal of Image_F.
* libgnat/s-imfi32.ads: Adapt to new formal of Image_F.
* libgnat/s-imfi64.ads: Adapt to new formal of Image_F.
* libgnat/s-imgint.ads: Adapt to new formals of Image_I.
* libgnat/s-imglli.ads: Adapt to new formals of Image_I.
* libgnat/s-imgllli.ads: Adapt to new formals of Image_I.
* libgnat/s-valint.ads: Adapt to new formals of Value_I.
* libgnat/s-vallli.ads: Adapt to new formals of Value_I.
* libgnat/s-valllli.ads: Adapt to new formals of Value_I.
* libgnat/s-valuei.adb (Prove_Scan_Only_Decimal_Ghost): New
ghost lemma.
* libgnat/s-valuei.ads: New formal parameters to prove the new
lemma.
* libgnat/s-valuti.ads (Int_Params): Define a generic package to
be used as a trait-like formal parameter in Image_I and other
generics that need to instantiate Image_I.
* libgnat/s-widthu.ads (Big_10): Qualify the 10 literal.
2022-05-12 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch4.adb (Find_Arithmetic_Types): Use local variables.
(Find_Boolean_Types): Rewrite modeled on Find_Arithmetic_Types.
2022-05-12 Alexandre Oliva <oliva@adacore.com>
* doc/gnat_rm/security_hardening_features.rst (Hardened
Booleans): New.
* exp_util.adb (Adjust_Condition): Perform validity checking on
hardbool-annotated types even with -gnatVT.
* gnat_rm.texi: Regenerate.
* gcc-interface/utils.cc (gnat_internal_attribute_table): Ignore
hardbool.
2022-05-12 Piotr Trojanek <trojanek@adacore.com>
* exp_ch9.adb (Build_Protected_Entry): Set scope of the nested
block to spec and not the body of the procedure created for a
protected entry.
2022-05-12 Etienne Servais <servais@adacore.com>
* sem_ch3.adb (Find_Type_Of_Object): Remove duplicate "i" in
comment.
2022-05-12 Marc Poulhiès <poulhies@adacore.com>
* csets.adb (Initialize): Only treat square bracket as valid
identifier character for Ada versions prior to Ada 2022.
* style.ads (Check_Left_Paren): Rename...
(Check_Left_Paren_Square_Bracket): ...to this.
* styleg.adb (Check_Left_Bracket): Rename...
(Check_Left_Paren_Square_Bracket): ...to this.
* styleg.ads (Check_Left_Paren): Rename...
(Check_Left_Paren_Square_Bracket): ...to this.
* scng.adb (Scan): Add check for spacing around left square
bracket and use new name for Check_Left_Paren_Square_Bracket.
* libgnat/a-szmzco.ads (Control_Ranges, Graphic_Ranges)
(Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges)
(Character_Ranges): Fix style (remove extra space).
* libgnat/a-swmwco.ads (Control_Ranges, Graphic_Ranges)
(Letter_Ranges, Decimal_Digit_Ranges, ISO_646_Ranges)
(Character_Ranges): Likewise.
* opt.adb (Set_Config_Switches): Remove [ from Identifier_Char
set.
2022-05-12 Eric Botcazou <ebotcazou@adacore.com>
* sem_type.adb (Specific_Type): Add swapped cases for interfaces.
2022-05-12 Piotr Trojanek <trojanek@adacore.com>
* doc/gnat_rm/implementation_defined_pragmas.rst:
(Export_Object, Import_Object, Short_Descriptors): Fix pragma
syntax specification.
* gnat_rm.texi: Regenerate.
2022-05-12 Piotr Trojanek <trojanek@adacore.com>
* ali.adb (Hash): Reuse GNAT.String_Hash.Hash and don't pollute
the Name_Id table.
2022-05-12 Piotr Trojanek <trojanek@adacore.com>
* doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration
Pragmas): Add Aggregate_Individually_Assign; otherwise the list
is complete except for some obsoleted pragmas, which most likely
are intentionally omitted.
* gnat_ugn.texi: Regenerate.
2022-05-11 Yannick Moy <moy@adacore.com>
* libgnat/s-imaged.ads: Remove Pure.
* libgnat/s-imagef.ads: Remove Pure.
* libgnat/s-imager.ads: Remove Pure.
* libgnat/s-imageu.adb: Add ghost code.
* libgnat/s-imageu.ads: Add contracts.
* libgnat/s-imde128.ads: Remove Pure.
* libgnat/s-imde32.ads: Remove Pure.
* libgnat/s-imde64.ads: Remove Pure.
* libgnat/s-imfi128.ads: Remove Pure.
* libgnat/s-imfi32.ads: Remove Pure.
* libgnat/s-imfi64.ads: Remove Pure.
* libgnat/s-imgflt.ads: Remove Pure.
* libgnat/s-imglfl.ads: Remove Pure.
* libgnat/s-imgllf.ads: Remove Pure.
* libgnat/s-imglllu.ads: Instantiate with ghost subprograms.
* libgnat/s-imgllu.ads: Instantiate with ghost subprograms.
* libgnat/s-imgrea.ads: Remove Pure.
* libgnat/s-imguns.ads: Instantiate with ghost subprograms.
* libgnat/s-imguti.ads: Remove Pure.
* libgnat/s-valueu.adb (Prove_Iter_Scan_Based_Number_Ghost,
Prove_Scan_Only_Decimal_Ghost): New lemmas.
* libgnat/s-valueu.ads (Uns_Option): Do not make type ghost to
be able to use it as formal in instantiations.
(Only_Decimal_Ghost): New ghost query.
(Prove_Iter_Scan_Based_Number_Ghost,
Prove_Scan_Only_Decimal_Ghost): New lemmas.
* libgnat/s-widlllu.ads: Adapt to changes in Width_U.
* libgnat/s-widllu.ads: Adapt to changes in Width_U.
* libgnat/s-widthu.adb: Change generic function in generic
package in order to complete the postcondition. Tighten the
upper bound on the result by 1.
* libgnat/s-widthu.ads: Same.
* libgnat/s-widuns.ads: Adapt to changes in Width_U.
* gcc-interface/Make-lang.in: Add dependencies on a-nubinu,
a-numeri.ads and a-widuns.ads.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* snames.ads-tmpl (Detect_Blocking): Move after
Default_Storage_Pool.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* sem_prag.adb (Analyze_Pragma): Remove custom check for
Compile_Time_Error and Compile_Time_Warning pragmas.
* snames.ads-tmpl (Compile_Time_Error, Compile_Time_Warning):
Move beyond Last_Configuration_Pragma_Name.
2022-05-11 Marc Poulhiès <poulhies@adacore.com>
* libgnat/a-direct.adb (Start_Search_Internal): Use parentheses
for record aggregate.
* libgnat/a-stbubo.adb (Get_UTF_8): Likewise.
* libgnat/a-stbuun.adb (Get_UTF_8): Likewise.
* libgnat/a-stzbou.ads (Null_Bounded_Wide_Wide_String):
Likewise.
* libgnat/a-swmwco.ads (Lower_Case_Mapping, Basic_Mapping):
Likewise.
* libgnat/a-szmzco.ads (Lower_Case_Mapping, Basic_Mapping):
Likewise.
* libgnat/s-statxd.adb (Fields): Likewise.
* libgnat/s-stausa.adb (Initialize): Likewise.
* sem_aggr.adb (Resolve_Record_Aggregate): Reject aggregates
using brackets.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* doc/gnat_rm/implementation_defined_pragmas.rst,
doc/gnat_rm/implementation_of_specific_ada_features.rst,
doc/gnat_rm/representation_clauses_and_pragmas.rst,
doc/gnat_rm/the_gnat_library.rst,
doc/gnat_rm/the_implementation_of_standard_i_o.rst,
doc/gnat_ugn/building_executable_programs_with_gnat.rst,
doc/gnat_ugn/gnat_and_program_execution.rst,
doc/gnat_ugn/platform_specific_information.rst: Fix unbalanced
parentheses and brackets.
* sem_prag.adb (pragma Obsolescent): Likewise.
* gnat_rm.texi, gnat_ugn.texi: Regenerate.
2022-05-11 Marc Poulhiès <poulhies@adacore.com>
* libgnat/s-rident.ads (Restriction_Id): Add
No_Local_Tagged_Types, update comment for adding new GNAT
specific restriction.
* restrict.ads (Implementation_Restriction): Add
No_Local_Tagged_Types.
* sem_ch3.adb (Analyze_Full_Type_Declaration): Add check for
tagged type at library level.
* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
Add No_Local_Tagged_Types description.
* gnat_rm.texi: Regenerate.
2022-05-11 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch4.adb (Analyze_User_Defined_Binary_Op): Use the base type
in the interpretation of the operator.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* sem_case.adb (Free_Value_Sets): Fix style in body header box.
* sem_ch12.adb (Build_Subprogram_Wrappers): Likewise.
* sem_util.adb (Statically_Denotes_Entity): Likewise.
2022-05-11 Etienne Servais <servais@adacore.com>
* sem_ch3.adb (Constrain_Access): Call Desig_Subtype in each if
branch to avoid calling it twice.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* sem_warn.adb (Find_Var): Detect all operators; replace
"condition" to "expression" in comments, because when this
routine is called recursively it no longer examines the
condition.
(Is_Suspicious_Function_Name): Reduce scope of a local variable
to avoid shadowing with a parameter of a nested
Substring_Present function.
2022-05-11 Yannick Moy <moy@adacore.com>
* libgnat/s-aridou.adb (Double_Divide, Scaled_Divide): Add
intermediate assertions.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* libgnat/s-rident.ads (Implementation_Restriction): Remove
No_Dynamic_Attachment, No_Implementation_Attributes,
No_Implementation_Pragmas, No_Local_Protected_Objects,
No_Protected_Type_Allocators, No_Relative_Delay,
No_Requeue_Statements, No_Select_Statements,
No_Task_Termination, Pure_Barriers and Simple_Barriers; add
No_Dynamic_Sized_Objects,
No_Implicit_Protected_Object_Allocations,
No_Implicit_Task_Allocations, No_Task_At_Interrupt_Priority and
Static_Dispatch_Tables; sort alphabetically.
* restrict.ads (Restriction_Id): Change Pure_Barriers and
No_Task_Termination from GNAT to Ada restrictions.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* exp_atag.adb, lib-util.ads, libgnat/g-decstr.adb,
libgnat/g-exptty.adb, libgnat/g-socpol.adb,
libgnat/s-strhas.adb: Fix headers.
2022-05-11 Joao Azevedo <azevedo@adacore.com>
* doc/gnat_ugn/platform_specific_information.rst: Add
glibc-locale-base-32bit as a dependency in SUSE distributions.
* gnat_ugn.texi: Regenerate.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* doc/gnat_ugn/gnat_and_program_execution.rst,
doc/gnat_ugn/gnat_utility_programs.rst,
doc/gnat_ugn/inline_assembler.rst: Fix typos and formatting
glitches.
* gnat_ugn.texi: Regenerate.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Change
blocks from plain code to Ada.
2022-05-11 Gary Dismukes <dismukes@adacore.com>
* exp_ch5.adb (Expand_Assign_With_Target_Names): Bypass the temp
object approach in the case where the type of the LHS is
controlled or has controlled subcomponents (Needs_Finalization
is True), and use the procedure approach instead.
2022-05-11 Bob Duff <duff@adacore.com>
* sem_ch3.adb (Get_Discr_Value): Copy the result. Otherwise, the
"tree" can be malformed (a DAG, not a tree) because
Get_Discr_Value could be returning some subtree already attached
to the tree.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on
proper label entities.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* doc/gnat_rm/implementation_defined_characteristics.rst: Add
tabularcolums directive, as explained in documentation of Sphinx
and tabular LaTeX package.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* doc/gnat_rm/implementation_defined_aspects.rst,
doc/gnat_rm/implementation_defined_pragmas.rst: Remove extra
whitespace.
* gnat_rm.texi: Regenerate.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* doc/gnat_rm/implementation_defined_characteristics.rst: Remove
extra indent in continuation lines; indent both descriptions of
Max_Picture_Length.
* gnat_rm.texi: Regenerate.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* doc/gnat_rm/implementation_defined_pragmas.rst (Pragma
Eliminate): Fix markup.
* gnat_rm.texi: Regenerate.
2022-05-11 Johannes Kliemann <kliemann@adacore.com>
* libgnat/g-sthcso.adb: Suppress warning about unneeded use type
clause.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* sem_ch5.adb (Analyze_Statements): Only clear Reachable flag on
proper label entities.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* doc/gnat_rm/implementation_defined_pragmas.rst (Pragma
Ada_2022): Copy description from pragma Ada 2012 and adapt.
* doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration
Pragmas): List pragma Ada 2022.
* gnat_rm.texi, gnat_ugn.texi: Regenerate.
2022-05-11 Steve Baird <baird@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Replace
the existing check for an address specification for an object of
a class-wide type with a more general check which rejects either
the class-wide case or the case where the FE would (if the
address specification were accepted) build a malformed
tree (specifically, an object renaming declaration with a
specified address). In the case where the check fails, reject
the construct at compile time instead of generating an
unconditional raise of Program_Error.
* doc/gnat_rm/representation_clauses_and_pragmas.rst: Update
documentation to reflect these changes.
* gnat_rm.texi: Regenerate.
2022-05-11 Piotr Trojanek <trojanek@adacore.com>
* gen_il-gen-gen_entities.adb (Reachable): Move from
Root_Entity_Type to E_Label.
2022-05-11 Alexandre Oliva <oliva@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration): Guard
Set_Is_Known_Valid with Safe_To_Capture_Value.
2022-05-11 Bob Duff <duff@adacore.com>
* repinfo.adb (List_Object_Info): Do not try to print values
that have not been computed (and so are No_Uint).
(Rep_Not_Constant): Reverse sense and change name to
Compile_Time_Known_Rep. This makes the code at call sites a
little more readable. Simplify code to a single return
statement.
2022-05-10 Martin Liska <mliska@suse.cz>
* gcc-interface/decl.cc (compare_field_bitpos): Use void *
instead PTR.
* gcc-interface/utils2.cc (compare_elmt_bitpos): Likewise.
2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
* fe.h (Is_Expression_Function): Declare.
* sem_util.ads (Is_Expression_Function): Add warning line.
2022-05-10 Alexandre Oliva <oliva@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Valid>:
Drop redundant range check for nonstandard booleans.
2022-05-10 Alexandre Oliva <oliva@adacore.com>
* exp_util.adb (Adjust_Result_Type): Leave result in
Standard.Boolean if it's going to be converted to another
boolean type.
* exp_ch4.adb (Expand_N_Type_Conversion): When optimizing,
convert to nonstandard booleans with an if_expression with
boolean literals.
2022-05-10 Alexandre Oliva <oliva@adacore.com>
* exp_ch4.adb (Expand_N_If_Expression): Call Adjust_Condition to
handle non-standard booleans.
2022-05-10 Justin Squirek <squirek@adacore.com>
* sem_ch8.adb (Use_One_Type): Remove code in charge of setting
Current_Use_Clause when Id is known to be redundant, and modify
the printing of errors associated with redundant use type
clauses so that line number gets included in more cases.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* sem_warn.adb (Check_Unset_Reference): Use variant of
Earlier_In_Extended_Unit that calls Sloc internally.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* par-ch10.adb, scng.adb, sem_res.adb, sinfo-utils.adb,
treepr.adb: Simplify calculations with Source_Ptr and Loc
values.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* sem_res.adb (Resolve_Expression_With_Actions): Fix style in
nested routines.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* atree.adb, exp_ch6.adb, exp_ch9.adb, ghost.adb, sem_ch3.adb,
sem_ch4.adb, sem_res.adb, sem_util.adb: Use
Is_Rewrite_Substitution where possible.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* exp_ch11.adb, exp_ch5.adb, exp_prag.adb, gnat_cuda.adb,
sem_ch12.adb, sem_ch3.adb, sem_ch6.adb, sem_util.adb,
treepr.adb: Replace /= and = operators with No and Present,
respectively.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* sem_warn.adb (Within_Postcondition): Guard against search
going too far.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* sem_warn.adb (Check_Unset_Reference): The early test was only
saving time of calls to Original_Node, Comes_From_Source and
Nkind, which are all quick and cheap.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* sem_ch5.adb (Check_Unreachable_Code): Remove inner declare
block; refill code and comments.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Replace
First_Entity/Next_Entity with First_Formal/Next_Formal; rename
E1/E2 to F1/F2.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* sem_res.adb (Resolve_Declare_Expression): Check expression for
references to unset objects.
(Resolve_Qualified_Expression): Likewise.
* sem_warn.adb (Check_Unset_Reference): Remove handling of
declare and qualified expressions; clarify comment for type
conversions.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* sem_res.adb (Resolve_Case_Expression): Check alternative
expressions for references to unset objects.
(Resolve_If_Expression): Check condition, then and else
expressions for references to unset objects.
2022-05-10 Kévin Le Gouguec <legouguec@adacore.com>
* doc/gnat_rm/implementation_defined_attributes.rst,
doc/gnat_ugn/the_gnat_compilation_model.rst: Fix typos.
* gnat_rm.texi, gnat_ugn.texi: Regenerate.
2022-05-10 Etienne Servais <servais@adacore.com>
* sem_ch13.adb (Is_Predicate_Static): Fix typo in comment.
2022-05-10 Yannick Moy <moy@adacore.com>
* libgnat/s-valuei.adb: Fix indentation.
* libgnat/s-valuei.ads: Same.
2022-05-10 Claire Dross <dross@adacore.com>
* snames.ads-tmpl: Add "Structural" as a name.
* sem_prag.adb: (Analyze_Pragma): Accept modifier "Structural"
in pragmas Loop_Variant and Subprogram_Variant. Check that items
associated to Structural occur alone in the pragma associations.
(Analyze_Subprogram_Variant_In_Decl_Part): Idem.
* exp_prag.adb (Expand_Pragma_Loop_Variant): Discard structural
variants.
(Expand_Pragma_Subprogram_Variant): Idem.
2022-05-10 Claire Dross <dross@adacore.com>
* libgnat/s-valint.ads: Add SPARK_Mode and pragma to ignore
assertions in instance and add additional ghost parameters to
the instance of Value_I.
* libgnat/s-vallli.ads: Idem.
* libgnat/s-valllli.ads: Idem.
* libgnat/s-valuei.ads, libgnat/s-valuei.adb: New generic
parameters for ghost functions from System.Valueu. Add
functional contracts.
2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
* sem_res.adb (Resolve_Eqyality_Op): Remove obsolete code.
(Resolve_Op_Not): Likewise.
* sem_type.adb (Disambiguate): Add missing test for RM 8.4(10).
* libgnat/s-dwalin.adb (Enable_Cache): Fix ambiguity.
(Symbolic_Address): Likewise.
2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
* sem_eval.adb (Eval_Integer_Literal): Fix oversight in entry test.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* exp_aggr.adb (Expand_N_Aggregate): Replace UI_To_Int with
UI_To_CC; replace magic literals with high-level routines that
recognise wide and wide wide characters; reorder if-then-elsif
condition, because we don't have a routine to detect wide wide
characters.
2022-05-10 Etienne Servais <servais@adacore.com>
* scng.adb (Nlit): Error on big UI_Scale.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* exp_util.adb (Build_Task_Array_Image): Declare expanded
objects as constants.
(Build_Task_Image_Prefix): Likewise.
(Build_Task_Record_Image): Likewise.
2022-05-10 Marc Poulhiès <poulhies@adacore.com>
* checks.adb (Determine_Range): Fix range refining.
2022-05-10 Steve Baird <baird@adacore.com>
* sem_util.adb (Get_Actual_Subtype): If a new subtype is built,
do not freeze it if Expander_Active is False. The idea here is
to avoid generating an unwanted Freeze_Node for a subtype that
has been conjured up solely for purposes of preanalysis.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* exp_util.adb (Build_Task_Array_Image): Fix style in the
structure of generated code; add Pref'Length as the component of
the Sum initialization expression.
2022-05-10 Piotr Trojanek <trojanek@adacore.com>
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Use
Get_Char_Code.
* exp_util.adb (Build_Task_Array_Image): Simplify conversion to
Char_Code.
(Build_Task_Image_Prefix): Likewise.
(Build_Task_Record_Image): Likewise.
* cstand.adb (Create_Standard): Use UI_From_Int instead of
UI_From_CC.
* exp_ch11.adb (Expand_N_Exception_Declaration): Likewise.
* sem_res.adb (Patch_Up_Value): Likewise.
* stringt.adb (Write_String_Table_Entry): Use Get_Char_Code.
2022-05-09 Yannick Moy <moy@adacore.com>
* sem_util.adb (Bad_Predicated_Subtype_Use): Add continuation
message.
2022-05-09 Piotr Trojanek <trojanek@adacore.com>
* uintp.adb (UI_To_CC): Guard against illegal inputs; reuse
UI_To_Int.
2022-05-09 Piotr Trojanek <trojanek@adacore.com>
* par-prag.adb (Prag): Simplify conversion of character codes.
* sem_case.adb (Choice_Image): Likewise.
(Lit_Of): Likewise.
2022-05-09 Justin Squirek <squirek@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Tag>:
Deal specifically wth class-wide equivalent types without a
parent.
* exp_util.adb (Build_Allocate_Deallocate_Proc): Extract
allocator node for calculation of alignment actual and modify
alignment for allocators of class-wide types with associated
expressions.
(Make_CW_Equivalent_Type): Handle interface types differently
when generating the equivalent record.
* sem_aux.adb (First_Tag_Component): Accept class-wide
equivalent types too.
2022-05-09 Etienne Servais <servais@adacore.com>
* repinfo.adb (List_Name): Rework termination condition.
2022-05-09 Piotr Trojanek <trojanek@adacore.com>
* bindgen.adb, errout.adb, exp_unst.adb, gnatchop.adb,
libgnat/a-ngcefu.adb, libgnat/a-strunb.adb,
libgnat/a-stwiun.adb, libgnat/a-stzunb.adb,
libgnat/a-wtedit.adb, libgnat/g-debpoo.adb, osint.adb,
sigtramp-vxworks.c, uintp.adb: Remove extra whitespace around +,
-, *, / and **.
2022-05-09 Piotr Trojanek <trojanek@adacore.com>
* libgnat/s-expmod.adb: Remove CodePeer annotation for pragma
Loop_Variant.
2022-05-09 Piotr Trojanek <trojanek@adacore.com>
* sem_util.ads (In_Statement_Condition_With_Actions): Renamed
from In_While_Loop_Condition; move to fit the alphabetic order.
* sem_util.adb (In_Statement_Condition_With_Actions): Detect
Elsif condition; stop search on other statements; prevent search
from going too far; move to fit the alphabetic order.
* sem_res.adb (Resolve_Call): Adapt caller.
2022-05-09 Piotr Trojanek <trojanek@adacore.com>
* inline.adb (Build_Body_To_Inline): Remove redundant guards.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
2022-05-09 Eric Botcazou <ebotcazou@adacore.com>
* sem_util.adb (Is_OK_Variable_For_Out_Formal): Remove test on
Comes_From_Source in the condition dealing with the expression
of an N_Unchecked_Type_Conversion node.
2022-05-09 Piotr Trojanek <trojanek@adacore.com>
* exp_aggr.adb, exp_ch3.adb, exp_util.adb, freeze.adb,
gnatfind.adb, gnatlink.adb, gnatxref.adb, gprep.adb,
libgnat/a-cfhama.adb, libgnat/g-alleve.adb, sem_ch12.adb,
sem_ch13.adb, xr_tabls.adb: Fix style labels.
2022-05-09 Justin Squirek <squirek@adacore.com>
* err_vars.ads: Add new error message names and nodes.
* erroutc.adb (Set_Msg_Insertion_Name,
Set_Msg_Insertion_Name_Literal): Likewise.
* errout.adb (Set_Msg_Insertion_Node): Likewise.
* errout.ads: Likewise.
* exp_disp.adb (Check_Premature_Freezing): Modify setting of
Error_Msg_Node_2 to occur directly before Error_Msg call where
applicable.
* sem_ch8.adb (Error_Missing_With_Of_Known_Unit): Added to
handle the printing of full package names of known units.
(Undefined, Find_Expanded_Name): Replace error printing with
call to Error_Missing_With_Of_Known_Unit.
2022-05-09 Yannick Moy <moy@adacore.com>
* exp_ch4.adb (Expand_Allocator_Expression): Set Error_Msg_Warn
correctly.
2022-05-09 Steve Baird <baird@adacore.com>
* sem_ch13.adb (Replace_Type_Ref): In the case of an identifier
that names a component of the type, simplify the test to decide
whether to build a prefix for it (the prefix denotes the current
instance of the enclosing type): if the identifier doesn't
already have a prefix, then give it one. This isn't quite right
in the corner case of a quantified expression or some other such
expression that declares an object with the same name as a
component, but it is still an improvement.
2022-05-09 Ed Schonberg <schonberg@adacore.com>
* exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
package if array type and element type come from the same
package, and the original array type is private.
2022-05-09 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch4.adb (Handle_Changed_Representation): Simplify and fix
thinko in the loop building the constraints for discriminants.
* exp_ch5.adb (Make_Component_List_Assign): Try also to extract
discriminant values for a derived type.
2022-05-09 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Declare_Expression): Traverse the
expression to replace references to local variables that occur
within declarations of the declare_expression; fix typos in
comments.
2022-05-09 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Operator_Check): Fix condition.
2022-05-09 Piotr Trojanek <trojanek@adacore.com>
* doc/gnat_rm/implementation_defined_pragmas.rst
(Abstract_State, Async_Readers, Async_Writers,
Constant_After_Elaboration, Effective_Reads, Effective_Writes,
Extensions_Visible, Ghost, No_Caching, Volatile_Function): Only
static Boolean expressions are allowed.
* gnat_rm.texi: Regenerate.
2022-05-09 Piotr Trojanek <trojanek@adacore.com>
* exp_prag.adb (Expand_Pragma_Loop_Variant,
Expand_Pragma_Subprogram_Variant): Adapt call via
Process_Variant to Make_Variant_Comparison.
* exp_util.adb (Make_Variant_Comparison): Compare Big_Integer
expressions with a function call and not an operator.
* exp_util.ads (Make_Variant_Comparison): Add type parameter,
which is needed because the Curr_Val and Old_Val expressions
might not be yet decorated.
* rtsfind.ads: (RTU_Id): Add support for Big_Integers and
Big_Integers_Ghost.
(RE_Id): Add support for Big_Integer and its ghost variant.
(RE_Unit_Table): Add mapping from Big_Integer to Big_Integers;
same for the ghost variants.
* rtsfind.adb (Get_Unit_Name): Add support for Big_Numbers.
* sem_prag.adb (Analyze_Pragma): Allow Big_Integer in pragma
Loop_Variant.
(Analyze_Variant): Allow Big_Integer in pragma
Subprogram_Variant.
2022-05-09 Piotr Trojanek <trojanek@adacore.com>
* sem_ch3.ads, sem_ch3.adb (Preanalyze_Assert_Expression): Add a
variant that doesn't force preanalysis to yield a specific type.
2022-05-09 Eric Botcazou <ebotcazou@adacore.com>
* einfo.ads (Access Kinds): Reorder and beef up.
* sem.adb (Analyze): Call Analyze_Comparison_Equality_Op for all
comparison and equality operators.
* sem_ch4.ads (Analyze_Comparison_Op): Delete.
(Analyze_Equality_Op): Likewise.
(Analyze_Comparison_Equality_Op): Declare.
(Ambiguous_Operands): Likewise.
* sem_ch4.adb (Ambiguous_Operands): Remove declaration.
(Defined_In_Scope): Delete.
(Find_Comparison_Types): Merge into...
(Find_Equality_Types): Merge into...
(Find_Comparison_Equality_Types): ...this. Make fully symmetrical.
(Analyze_Arithmetic_Op): Minor consistency tweaks.
(Analyze_Comparison_Op): Merge into...
(Analyze_Equality_Op): Merge into...
(Analyze_Comparison_Equality_Op): ...this. Make fully symmetrical.
(Analyze_Logical_Op): Minor consistency tweaks.
(Analyze_Membership_Op): Make fully symmetrical.
(Analyze_One_Call): Minor comment tweak.
(Analyze_Operator_Call): Call Find_Comparison_Equality_Types.
(Analyze_User_Defined_Binary_Op): Make fully symmetrical.
(Check_Arithmetic_Pair.Specific_Type): Delete.
(Diagnose_Call): Add special handling for "+" operator.
(Operator_Check): Call Analyze_Comparison_Equality_Op.
* sem_ch8.adb (Has_Implicit_Operator): Add Is_Type guard for boolean
operators, use Valid_Comparison_Arg and Valid_Equality_Arg for resp.
comparison and equality operators.
* sem_res.adb (Check_For_Visible_Operator): Call Is_Visible_Operator
(Make_Call_Into_Operator): Use Preserve_Comes_From_Source.
(Resolve_Actuals): Deal specifically with Any_Type actuals for user-
defined comparison and equality operators.
(Resolve_Call): Minor tweaks.
(Resolve_Comparison_Op): Tidy up and give error for ambiguity.
(Resolve_Equality_Op): Likewise, as well as other errors.
(Rewrite_Renamed_Operator): Simplify.
* sem_type.ads (Is_Invisible_Operator): Delete.
(Is_Visible_Operator): Declare.
(Has_Compatible_Type): Remove For_Comparison parameter.
(Specific_Type): Declare.
(Valid_Equality_Arg): Likewise.
* sem_type.adb (Specific_Type): Remove declaration.
(Add_One_Interp): Call Is_Visible_Operator for the visibility test.
(Remove_Conversions): Rename into...
(Remove_Conversions_And_Abstract_Operations): ...this. Do not apply
numeric-type treatment to Any_Type. Expand the special handling for
abstract interpretations to second operand. Remove obsolete code.
(Disambiguate): Adjust to above renaming. Tweak to hidden case and
call Remove_Conversions_And_Abstract_Operations for operators too.
(Entity_Matches_Spec): Minor tweak.
(Find_Unique_Type): Simplify and deal with user-defined literals.
(Has_Compatible_Type): Remove For_Comparison parameter and adjust.
Call the Is_User_Defined_Literal predicate and remove call to
the Is_Invisible_Operator predicate.
(Is_Invisible_Operator): Delete.
(Is_Visible_Operator): New function.
(Operator_Matches_Spec): Use Valid_Equality_Arg predicate.
(Specific_Type): Tidy up, make fully symmetrical and deal with
private views the same way as Covers.
(Valid_Comparison_Arg): Return true for Any_Composite/Any_String.
(Valid_Equality_Arg): New function.
* sem_util.ads (Is_User_Defined_Literal): Declare.
* sem_util.adb (Is_User_Defined_Literal): New function.
2022-05-09 Bob Duff <duff@adacore.com>
* lib-xref.adb, sem_util.adb: Change wording of warning messages
to use "aspect".
* sem_prag.adb: Use Fix_Error to change wording of warnings.
* doc/gnat_rm/implementation_defined_pragmas.rst: Minor: fix
cut&paste error.
* gnat_rm.texi: Regenerate.
2022-05-09 Doug Rupp <rupp@adacore.com>
* init.c [vxworks] (CLEAR_EXCEPTION_COUNT): New macro.
(__gnat_clear_exception_count): Remove.
(__gnat_map_signal): Call CLEAR_EXCEPTION_COUNT().
2022-05-09 Fedor Rybin <frybin@adacore.com>
* doc/gnat_ugn/gnat_utility_programs.rst: Remove gnattest
section.
2022-05-09 Piotr Trojanek <trojanek@adacore.com>
* sem_attr.adb (Analyze_Attribute): Remove calls to Analyze for
attributes Identity, Priority, Ref, Restriction_Set, To_Address
and for tasking-related attributes Callable, Terminated and
Storage_Size.
2022-05-09 Piotr Trojanek <trojanek@adacore.com>
* sem_attr.adb (Analyze_Attribute): Don't call Set_Etype for
Bit_Order attribute.
2022-05-09 Piotr Trojanek <trojanek@adacore.com>
* exp_ch5.adb (Update_Choice_Index): Simplify condition.
* sem_ch8.adb (Attribute_Renaming): Likewise.
2022-05-09 Dmitriy Anisimkov <anisimko@adacore.com>
* adaint.c (__gnat_kill): Remove close parameter.
(__gnat_killprocesstree): Do not provide close parameter on call
to __gnat_kill.
* libgnat/g-expect.adb (Kill): Remove Close parameter.
(Close): Do not provide Close parameter on call to Kill.
(Send_Signal): Do not provide Close parameter on call to Kill.
* libgnat/s-os_lib.adb (Kill): Do not provide close parameter on
call to __gnat_kill.
2022-05-09 Dmitriy Anisimkov <anisimko@adacore.com>
* libgnat/g-expect.adb (Close): Call Kill before Close_Input.
2022-04-29 Martin Liska <mliska@suse.cz>
* gnatvsn.ads: Bump Library_Version to 13.
2022-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
* tracebak.c: Add support for ARM RTEMS. Add support for RTEMS to PPC
ELF. Add support for RTEMS to SPARC. Merge aarch64 support of Linux
and RTEMS.
2022-04-27 Pierre-Marie de Rodat <derodat@adacore.com>
PR ada/104027
* gnat1drv.adb: Remove the goto End_Of_Program.
2022-03-24 Pascal Obry <obry@adacore.com>
PR ada/104767
* libgnat/g-sercom__mingw.adb (Close): Reset port handle to -1.
* libgnat/g-sercom__linux.adb (Close): Likewise.
2022-03-10 Richard Biener <rguenther@suse.de>
PR ada/104861
* gcc-interface/Makefile.in (target_noncanonical): Substitute.
(OSCONS_CPP): Pass target_noncanonical as TARGET.
2022-02-13 Maciej W. Rozycki <macro@orcam.me.uk>
PR ada/98724
PR ada/97504
* Makefile.rtl (LIBGNAT_TARGET_PAIRS) <alpha*-*-linux*>: Use
wraplf version of Aux_Long_Long_Float.
2022-01-31 Pierre-Marie de Rodat <derodat@adacore.com>
* doc/share/conf.py: Remove spurious call to ".decode()".
2022-01-31 Arnaud Charlet <charlet@adacore.com>
PR ada/104027
* gnat1drv.adb (Gnat1drv): Only call Exit_Program when not
generating code, otherwise instead go to End_Of_Program.
2022-01-28 Eric Botcazou <ebotcazou@adacore.com>
PR ada/104258
* exp_ch4.adb (Narrow_Large_Operation): Also copy the entity, if
any, when rewriting the operator node.
2022-01-19 H.J. Lu <hjl.tools@gmail.com>
PR ada/103538
* gcc-interface/Makefile.in (target_cpu): Set to x32 for
x86_64-linux-gnux32.
2022-01-19 H.J. Lu <hjl.tools@gmail.com>
PR ada/103538
* Makefile.rtl (LIBGNAT_TARGET_PAIRS): Add
$(TRASYM_DWARF_UNIX_PAIRS),
s-tsmona.adb<libgnat/s-tsmona__linux.adb,
$(GNATRTL_128BIT_PAIRS).
(EXTRA_GNATRTL_NONTASKING_OBJS): Add $(TRASYM_DWARF_UNIX_OBJS)
and $(GNATRTL_128BIT_OBJS).
2022-01-18 Martin Liska <mliska@suse.cz>
* adaint.c: Revert filename changes in comments.
* ctrl_c.c (dummy_handler): Likewise.
* gsocket.h: Likewise.
* init.c (__gnat_error_handler): Likewise.
* libgnarl/s-intman.ads: Likewise.
* libgnarl/s-osinte__android.ads: Likewise.
* libgnarl/s-osinte__darwin.ads: Likewise.
* libgnarl/s-osinte__hpux.ads: Likewise.
* libgnarl/s-osinte__linux.ads: Likewise.
* libgnarl/s-osinte__qnx.ads: Likewise.
* libgnarl/s-taskin.ads: Likewise.
* rtfinal.c: Likewise.
2022-01-18 Martin Liska <mliska@suse.cz>
* Make-generated.in: Revert renaming changes.
* Makefile.rtl: Likewise.
* adadecode.cc: Moved to...
* adadecode.c: ...here.
* affinity.cc: Moved to...
* affinity.c: ...here.
* argv-lynxos178-raven-cert.cc: Moved to...
* argv-lynxos178-raven-cert.c: ...here.
* argv.cc: Moved to...
* argv.c: ...here.
* aux-io.cc: Moved to...
* aux-io.c: ...here.
* cio.cc: Moved to...
* cio.c: ...here.
* cstreams.cc: Moved to...
* cstreams.c: ...here.
* env.cc: Moved to...
* env.c: ...here.
* exit.cc: Moved to...
* exit.c: ...here.
* expect.cc: Moved to...
* expect.c: ...here.
* final.cc: Moved to...
* final.c: ...here.
* gcc-interface/Makefile.in:
* init.cc: Moved to...
* init.c: ...here.
* initialize.cc: Moved to...
* initialize.c: ...here.
* libgnarl/thread.cc: Moved to...
* libgnarl/thread.c: ...here.
* link.cc: Moved to...
* link.c: ...here.
* locales.cc: Moved to...
* locales.c: ...here.
* mkdir.cc: Moved to...
* mkdir.c: ...here.
* raise.cc: Moved to...
* raise.c: ...here.
* rtfinal.cc: Moved to...
* rtfinal.c: ...here.
* rtinit.cc: Moved to...
* rtinit.c: ...here.
* s-oscons-tmplt.c (CND): Revert renaming changes.
* seh_init.cc: Moved to...
* seh_init.c: ...here.
* sigtramp-armdroid.cc: Moved to...
* sigtramp-armdroid.c: ...here.
* sigtramp-ios.cc: Moved to...
* sigtramp-ios.c: ...here.
* sigtramp-qnx.cc: Moved to...
* sigtramp-qnx.c: ...here.
* sigtramp-vxworks.cc: Moved to...
* sigtramp-vxworks.c: ...here.
* socket.cc: Moved to...
* socket.c: ...here.
* tracebak.cc: Moved to...
* tracebak.c: ...here.
* version.cc: Moved to...
* version.c: ...here.
* vx_stack_info.cc: Moved to...
* vx_stack_info.c: ...here.
2022-01-17 Martin Liska <mliska@suse.cz>
* Makefile.rtl: Rename .c names to .cc.
* gcc-interface/Make-lang.in: Likewise.
* gcc-interface/Makefile.in: Likewise.
2022-01-17 Martin Liska <mliska@suse.cz>
* Make-generated.in: Rename .c names to .cc.
* adaint.c: Likewise.
* ctrl_c.c (dummy_handler): Likewise.
* gcc-interface/Makefile.in: Likewise.
* gcc-interface/config-lang.in: Likewise.
* gcc-interface/decl.cc (concat_name): Likewise.
(init_gnat_decl): Likewise.
* gcc-interface/gigi.h (concat_name): Likewise.
(init_gnat_utils): Likewise.
(build_call_raise_range): Likewise.
(gnat_mark_addressable): Likewise.
(gnat_protect_expr): Likewise.
(gnat_rewrite_reference): Likewise.
* gcc-interface/lang-specs.h (ADA_DUMPS_OPTIONS): Likewise.
* gcc-interface/utils.cc (GTY): Likewise.
(add_deferred_type_context): Likewise.
(init_gnat_utils): Likewise.
* gcc-interface/utils2.cc (gnat_stable_expr_p): Likewise.
(gnat_protect_expr): Likewise.
(gnat_stabilize_reference_1): Likewise.
(gnat_rewrite_reference): Likewise.
* gsocket.h: Likewise.
* init.cc (__gnat_error_handler): Likewise.
* libgnarl/s-intman.ads: Likewise.
* libgnarl/s-osinte__android.ads: Likewise.
* libgnarl/s-osinte__darwin.ads: Likewise.
* libgnarl/s-osinte__hpux.ads: Likewise.
* libgnarl/s-osinte__linux.ads: Likewise.
* libgnarl/s-osinte__qnx.ads: Likewise.
* libgnarl/s-taskin.ads: Likewise.
* rtfinal.cc: Likewise.
* s-oscons-tmplt.c (CND): Likewise.
* set_targ.ads: Likewise.
2022-01-17 Martin Liska <mliska@suse.cz>
* adadecode.c: Moved to...
* adadecode.cc: ...here.
* affinity.c: Moved to...
* affinity.cc: ...here.
* argv-lynxos178-raven-cert.c: Moved to...
* argv-lynxos178-raven-cert.cc: ...here.
* argv.c: Moved to...
* argv.cc: ...here.
* aux-io.c: Moved to...
* aux-io.cc: ...here.
* cio.c: Moved to...
* cio.cc: ...here.
* cstreams.c: Moved to...
* cstreams.cc: ...here.
* env.c: Moved to...
* env.cc: ...here.
* exit.c: Moved to...
* exit.cc: ...here.
* expect.c: Moved to...
* expect.cc: ...here.
* final.c: Moved to...
* final.cc: ...here.
* gcc-interface/cuintp.c: Moved to...
* gcc-interface/cuintp.cc: ...here.
* gcc-interface/decl.c: Moved to...
* gcc-interface/decl.cc: ...here.
* gcc-interface/misc.c: Moved to...
* gcc-interface/misc.cc: ...here.
* gcc-interface/targtyps.c: Moved to...
* gcc-interface/targtyps.cc: ...here.
* gcc-interface/trans.c: Moved to...
* gcc-interface/trans.cc: ...here.
* gcc-interface/utils.c: Moved to...
* gcc-interface/utils.cc: ...here.
* gcc-interface/utils2.c: Moved to...
* gcc-interface/utils2.cc: ...here.
* init.c: Moved to...
* init.cc: ...here.
* initialize.c: Moved to...
* initialize.cc: ...here.
* libgnarl/thread.c: Moved to...
* libgnarl/thread.cc: ...here.
* link.c: Moved to...
* link.cc: ...here.
* locales.c: Moved to...
* locales.cc: ...here.
* mkdir.c: Moved to...
* mkdir.cc: ...here.
* raise.c: Moved to...
* raise.cc: ...here.
* rtfinal.c: Moved to...
* rtfinal.cc: ...here.
* rtinit.c: Moved to...
* rtinit.cc: ...here.
* seh_init.c: Moved to...
* seh_init.cc: ...here.
* sigtramp-armdroid.c: Moved to...
* sigtramp-armdroid.cc: ...here.
* sigtramp-ios.c: Moved to...
* sigtramp-ios.cc: ...here.
* sigtramp-qnx.c: Moved to...
* sigtramp-qnx.cc: ...here.
* sigtramp-vxworks.c: Moved to...
* sigtramp-vxworks.cc: ...here.
* socket.c: Moved to...
* socket.cc: ...here.
* tracebak.c: Moved to...
* tracebak.cc: ...here.
* version.c: Moved to...
* version.cc: ...here.
* vx_stack_info.c: Moved to...
* vx_stack_info.cc: ...here.
2022-01-14 Andrew Pinski <apinski@marvell.com>
PR ada/104027
* gnat1drv.adb (Gnat1drv): After Back_End.Gen_Or_Update_Object_File
goto End_Of_Program.
2022-01-11 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Relax a
little the assertion on designated types of pointer types.
2022-01-11 Justin Squirek <squirek@adacore.com>
* sem_ch8.adb (Nvis_Messages): Add generic instance name to
error message.
2022-01-11 Etienne Servais <servais@adacore.com>
* par-ch6.adb (Scan_Body_Or_Expression_Function): Accept left
bracket as token to open an expression function.
2022-01-11 Justin Squirek <squirek@adacore.com>
* sem_warn.adb (Check_References): Add call to Has_Task instead
of checking component type.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* exp_util.ads (Insert_Declaration): Remove spec.
* exp_util.adb (Insert_Declaration): Remove body.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* exp_ch4.adb (Expand_N_Expression_With_Actions): Avoid
redundant check.
* exp_ch5.adb (Expand_N_If_Statement): Likewise.
* exp_ch7.adb (Process_Declarations): Likewise.
* sem_elab.adb (Freeze_Node_Location): Likewise.
* exp_util.adb (Insert_Actions): Likewise.
(Is_OK_PF_Pragma): Likewise.
(Requires_Cleanup_Actions): Remove early exit; ordinary
processing path will similarly do nothing.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* snames.ads-tmpl: Restore Name_Rpc.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* sem_ch4.adb (Analyze_Allocator): Move DECLARE block inside IF
statement; refill code and comments.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* sem_ch4.adb (Analyze_Allocator): Fix comment.
* sem_eval.ads (Compile-Time Known Values): Likewise.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* snames.ads-tmpl: Remove unreferenced names.
2022-01-11 Yannick Moy <moy@adacore.com>
* libgnat/s-aridou.adb (Double_Divide): Adjust proof of lemma
Prove_Signs, call lemma for commutation of Big and
multiplication.
(Multiply_With_Ovflo_Check): Adjust postcondition of
Prove_Pos_Int.
(Scaled_Divide): Explicit commutation in the proof of lemma
Prove_Multiplication, add new lemma Prove_Shift_Progress for
congruence property that is not proved in a larger context, add
assertions at the end of the loop to state loop invariant
properties.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Remove spec.
* sem_eval.adb (Compile_Time_Known_Value_Or_Aggr): Remove body.
2022-01-11 Yannick Moy <moy@adacore.com>
* libgnat/a-strfix.adb (Insert, Overwrite): Add assertions.
2022-01-11 Arnaud Charlet <charlet@adacore.com>
PR ada/79724
* osint.adb (Program_Name): Fix handling of suffixes.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* exp_ch4.adb (Size_In_Storage_Elements): Remove unnecessary
DECLARE block; refill code and comments.
2022-01-11 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch3.adb (Analyze_Subtype_Declaration): In the case of an array
copy Packed_Array_Impl_Type manually here.
(Copy_Array_Subtype_Attributes): Do not copy it here.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* exp_ch7.adb (Set_Block_Elab_Proc, Unnest_Block, Unnest_Loop,
Unnest_Statement_List): Simplify with Make_Temporary.
* exp_put_image.adb (Build_Image_Call): Likewise.
* inline.adb (Generate_Subprogram_Body): Likewise.
* sem_ch13.adb (Build_Predicate_Functions): Likewise.
* sem_util.adb (New_Copy_Separate_List): Likewise.
2022-01-11 Etienne Servais <servais@adacore.com>
* sem_ch3.adb (Check_Dynamic_Object): Swap check order.
2022-01-11 Yannick Moy <moy@adacore.com>
* libgnat/s-casuti.adb: Add ghost code.
* libgnat/s-casuti.ads: Add contracts.
2022-01-11 Claire Dross <dross@adacore.com>
* libgnat/a-tiinau.ads: Use a procedure for the Scan parameter
instead of a function with side-effects.
* libgnat/a-tiinau.adb: Idem.
* libgnat/a-wtinau.ads: Idem.
* libgnat/a-wtinau.adb: Idem.
* libgnat/a-ztinau.ads: Idem.
* libgnat/a-ztinau.adb: Idem.
* libgnat/s-valint.ads: Change the function with side-effects
Scan_Integer into a procedure
* libgnat/s-vallli.ads: Idem.
* libgnat/s-valllli.ads: Idem.
* libgnat/s-vallllu.ads: Add SPARK_Mode and pragma to ignore
assertions in instance.
* libgnat/s-valllu.ads: Idem.
* libgnat/s-valuns.ads: Idem.
* libgnat/s-valuei.ads: Use a procedure for the
Scan_Raw_Unsigned parameter instead of a function with
side-effects and change the function with side-effects
Scan_Integer into a procedure.
* libgnat/s-valuei.adb: Idem.
* libgnat/s-valuti.ads: Introduce a ghost function that scans an
exponent and complete the postcondition of Scan_Exponent to also
describe the value of Ptr after the call. Fix the postcondition
of Scan_Underscore. Simplify the definition of
Scan_Natural_Ghost.
* libgnat/s-valuti.adb: Idem.
* libgnat/s-valboo.ads, libgnat/s-valboo.adb: Update calls to
First_Non_Space_Ghost.
* libgnat/s-valueu.ads: Add functional contracts.
* libgnat/s-valueu.adb: Idem.
2022-01-11 Yannick Moy <moy@adacore.com>
* libgnat/s-expmod.adb (Exp_Modular): Add assertions.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* errout.adb (Error_Msg_CRT): Build message with string
concatenation; it is slightly repetitive but much easier to
read.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* exp_ch11.adb (Expand_N_Exception_Declaration): Remove explicit
initialization of the exceptF object.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* par-ch3.adb (P_Array_Type_Definition): Use
Error_Msg_GNAT_Extension.
2022-01-11 Gary Dismukes <dismukes@adacore.com>
* sem_disp.adb (Check_Controlling_Type): Add test for the case
where Subp is a subprogram associated with a protected
subprogram and return Empty, unless Tagged_Type is the
corresponding record type of the protected type.
2022-01-11 Yannick Moy <moy@adacore.com>
* libgnat/s-veboop.adb: Add ghost code for proof.
* libgnat/s-veboop.ads: Add specification.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* exp_aggr.adb, exp_attr.adb, exp_ch3.adb, exp_ch7.adb,
exp_dist.adb, exp_util.adb, freeze.adb, frontend.adb,
inline.adb, itypes.adb, lib-load.adb, lib-xref.adb,
libgnat/a-cfhase.adb, libgnat/a-cforse.adb,
libgnat/a-chtgbo.adb, libgnat/a-crdlli.adb,
libgnat/a-except.adb, libgnat/a-strfix.adb,
libgnat/a-textio.adb, libgnat/a-tienau.adb,
libgnat/a-tigeau.adb, libgnat/a-witeio.adb,
libgnat/a-wtenau.adb, libgnat/a-wtgeau.adb,
libgnat/a-ztenau.adb, libgnat/a-ztexio.adb,
libgnat/a-ztgeau.adb, libgnat/g-comlin.adb,
libgnat/g-debpoo.adb, libgnat/g-expect.adb,
libgnat/s-fileio.adb, libgnat/s-memory.adb, libgnat/s-mmap.adb,
libgnat/s-objrea.adb, libgnat/s-pehage.adb,
libgnat/s-regpat.adb, libgnat/s-shasto.adb,
libgnat/s-valued.adb, libgnat/s-valuef.adb, par-ch11.adb,
par-ch4.adb, par-ch6.adb, par-ch9.adb, par_sco.adb,
repinfo-input.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb,
sem_ch13.adb, sem_ch4.adb, sem_eval.adb, sem_prag.adb,
sem_res.adb, sem_util.adb, sinput.adb, switch-c.adb: Fix style.
2022-01-11 Arnaud Charlet <charlet@adacore.com>
* exp_ch9.adb, gen_il-types.ads, make.adb, par-ch12.adb,
sem_ch13.adb: Use membership tests.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* erroutc.ads, erroutc.adb (Is_Runtime_Raise): Global flag to
connect status of initial messages and their continuation; we
already have several flags like this.
(Error_Msg_Object): Add field Warn_Runtime_Raise to connect
error reporting (when problematic code is found) and removal
(when problematic code is determined to be dead).
* errout.adb (Error_Msg_Internal): Handle new field when
recording a continuation message; propagate status from
continuation to the preceding messages.
(To_Be_Removed): For dead code remove both simple warnings and
warnings about constraint errors that have been escalated to
hard errors.
(Set_Msg_Text): Recognize warnings about constraint errors that
are escalated to hard errors.
* errutil.adb (Error_Msg): Handle added field when recording a
new message.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* errout.adb (Error_Msg_Internal): Propagate warnings-as-error
flag from continuation message to its preceding messages.
2022-01-11 Arnaud Charlet <charlet@adacore.com>
* gnatvsn.ads (Current_Year): Update copyright notice, bump to
2022.
* ada_get_targ.adb: Update copyright notice.
* adabkend.adb: Likewise.
* adabkend.ads: Likewise.
* adadecode.c: Likewise.
* adadecode.h: Likewise.
* adaint.c: Likewise.
* adaint.h: Likewise.
* affinity.c: Likewise.
* ali-util.adb: Likewise.
* ali-util.ads: Likewise.
* ali.adb: Likewise.
* ali.ads: Likewise.
* alloc.ads: Likewise.
* argv-lynxos178-raven-cert.c: Likewise.
* argv.c: Likewise.
* aspects.adb: Likewise.
* aspects.ads: Likewise.
* atree.adb: Likewise.
* atree.ads: Likewise.
* atree.h: Likewise.
* aux-io.c: Likewise.
* back_end.adb: Likewise.
* back_end.ads: Likewise.
* backend_utils.adb: Likewise.
* backend_utils.ads: Likewise.
* bcheck.adb: Likewise.
* bcheck.ads: Likewise.
* binde.adb: Likewise.
* binde.ads: Likewise.
* binderr.adb: Likewise.
* binderr.ads: Likewise.
* bindgen.adb: Likewise.
* bindgen.ads: Likewise.
* bindo-augmentors.adb: Likewise.
* bindo-augmentors.ads: Likewise.
* bindo-builders.adb: Likewise.
* bindo-builders.ads: Likewise.
* bindo-diagnostics.adb: Likewise.
* bindo-diagnostics.ads: Likewise.
* bindo-elaborators.adb: Likewise.
* bindo-elaborators.ads: Likewise.
* bindo-graphs.adb: Likewise.
* bindo-graphs.ads: Likewise.
* bindo-units.adb: Likewise.
* bindo-units.ads: Likewise.
* bindo-validators.adb: Likewise.
* bindo-validators.ads: Likewise.
* bindo-writers.adb: Likewise.
* bindo-writers.ads: Likewise.
* bindo.adb: Likewise.
* bindo.ads: Likewise.
* bindusg.adb: Likewise.
* bindusg.ads: Likewise.
* butil.adb: Likewise.
* butil.ads: Likewise.
* cal.c: Likewise.
* casing.adb: Likewise.
* casing.ads: Likewise.
* checks.adb: Likewise.
* checks.ads: Likewise.
* cio.c: Likewise.
* clean.adb: Likewise.
* clean.ads: Likewise.
* comperr.adb: Likewise.
* comperr.ads: Likewise.
* contracts.adb: Likewise.
* contracts.ads: Likewise.
* csets.adb: Likewise.
* csets.ads: Likewise.
* cstand.adb: Likewise.
* cstand.ads: Likewise.
* cstreams.c: Likewise.
* ctrl_c.c: Likewise.
* debug.ads: Likewise.
* debug_a.adb: Likewise.
* debug_a.ads: Likewise.
* einfo-utils.adb: Likewise.
* einfo-utils.ads: Likewise.
* einfo.adb: Likewise.
* einfo.ads: Likewise.
* elists.adb: Likewise.
* elists.ads: Likewise.
* elists.h: Likewise.
* env.c: Likewise.
* env.h: Likewise.
* err_vars.ads: Likewise.
* errno.c: Likewise.
* errout.adb: Likewise.
* errout.ads: Likewise.
* erroutc.adb: Likewise.
* erroutc.ads: Likewise.
* errutil.adb: Likewise.
* errutil.ads: Likewise.
* eval_fat.adb: Likewise.
* eval_fat.ads: Likewise.
* exit.c: Likewise.
* exp_aggr.adb: Likewise.
* exp_aggr.ads: Likewise.
* exp_atag.adb: Likewise.
* exp_atag.ads: Likewise.
* exp_attr.adb: Likewise.
* exp_attr.ads: Likewise.
* exp_cg.adb: Likewise.
* exp_cg.ads: Likewise.
* exp_ch10.ads: Likewise.
* exp_ch11.adb: Likewise.
* exp_ch11.ads: Likewise.
* exp_ch12.adb: Likewise.
* exp_ch12.ads: Likewise.
* exp_ch13.adb: Likewise.
* exp_ch13.ads: Likewise.
* exp_ch2.adb: Likewise.
* exp_ch2.ads: Likewise.
* exp_ch3.adb: Likewise.
* exp_ch3.ads: Likewise.
* exp_ch4.adb: Likewise.
* exp_ch4.ads: Likewise.
* exp_ch5.adb: Likewise.
* exp_ch5.ads: Likewise.
* exp_ch6.adb: Likewise.
* exp_ch6.ads: Likewise.
* exp_ch7.adb: Likewise.
* exp_ch7.ads: Likewise.
* exp_ch8.adb: Likewise.
* exp_ch8.ads: Likewise.
* exp_ch9.adb: Likewise.
* exp_ch9.ads: Likewise.
* exp_code.adb: Likewise.
* exp_code.ads: Likewise.
* exp_dbug.adb: Likewise.
* exp_dbug.ads: Likewise.
* exp_disp.adb: Likewise.
* exp_disp.ads: Likewise.
* exp_dist.adb: Likewise.
* exp_dist.ads: Likewise.
* exp_fixd.adb: Likewise.
* exp_fixd.ads: Likewise.
* exp_imgv.adb: Likewise.
* exp_imgv.ads: Likewise.
* exp_intr.adb: Likewise.
* exp_intr.ads: Likewise.
* exp_pakd.adb: Likewise.
* exp_pakd.ads: Likewise.
* exp_prag.adb: Likewise.
* exp_prag.ads: Likewise.
* exp_put_image.adb: Likewise.
* exp_put_image.ads: Likewise.
* exp_sel.adb: Likewise.
* exp_sel.ads: Likewise.
* exp_smem.adb: Likewise.
* exp_smem.ads: Likewise.
* exp_spark.adb: Likewise.
* exp_spark.ads: Likewise.
* exp_strm.adb: Likewise.
* exp_strm.ads: Likewise.
* exp_tss.adb: Likewise.
* exp_tss.ads: Likewise.
* exp_unst.adb: Likewise.
* exp_unst.ads: Likewise.
* exp_util.adb: Likewise.
* exp_util.ads: Likewise.
* expander.adb: Likewise.
* expander.ads: Likewise.
* expect.c: Likewise.
* fe.h: Likewise.
* final.c: Likewise.
* fmap.adb: Likewise.
* fmap.ads: Likewise.
* fname-sf.adb: Likewise.
* fname-sf.ads: Likewise.
* fname-uf.adb: Likewise.
* fname-uf.ads: Likewise.
* fname.adb: Likewise.
* fname.ads: Likewise.
* freeze.adb: Likewise.
* freeze.ads: Likewise.
* frontend.adb: Likewise.
* frontend.ads: Likewise.
* gen_il-fields.ads: Likewise.
* gen_il-gen-gen_entities.adb: Likewise.
* gen_il-gen-gen_nodes.adb: Likewise.
* gen_il-gen.adb: Likewise.
* gen_il-gen.ads: Likewise.
* gen_il-internals.adb: Likewise.
* gen_il-internals.ads: Likewise.
* gen_il-main.adb: Likewise.
* gen_il-types.ads: Likewise.
* gen_il.adb: Likewise.
* gen_il.ads: Likewise.
* get_scos.adb: Likewise.
* get_scos.ads: Likewise.
* get_targ.adb: Likewise.
* get_targ.ads: Likewise.
* ghost.adb: Likewise.
* ghost.ads: Likewise.
* gnat1drv.adb: Likewise.
* gnat1drv.ads: Likewise.
* gnat_cuda.adb: Likewise.
* gnat_cuda.ads: Likewise.
* gnatbind.adb: Likewise.
* gnatbind.ads: Likewise.
* gnatchop.adb: Likewise.
* gnatclean.adb: Likewise.
* gnatcmd.adb: Likewise.
* gnatcmd.ads: Likewise.
* gnatdll.adb: Likewise.
* gnatfind.adb: Likewise.
* gnatkr.adb: Likewise.
* gnatkr.ads: Likewise.
* gnatlink.adb: Likewise.
* gnatlink.ads: Likewise.
* gnatls.adb: Likewise.
* gnatls.ads: Likewise.
* gnatmake.adb: Likewise.
* gnatmake.ads: Likewise.
* gnatname.adb: Likewise.
* gnatname.ads: Likewise.
* gnatprep.adb: Likewise.
* gnatprep.ads: Likewise.
* gnatvsn.adb: Likewise.
* gnatxref.adb: Likewise.
* gprep.adb: Likewise.
* gprep.ads: Likewise.
* gsocket.h: Likewise.
* hostparm.ads: Likewise.
* impunit.adb: Likewise.
* impunit.ads: Likewise.
* indepsw-aix.adb: Likewise.
* indepsw-darwin.adb: Likewise.
* indepsw-gnu.adb: Likewise.
* indepsw.adb: Likewise.
* indepsw.ads: Likewise.
* init.c: Likewise.
* initialize.c: Likewise.
* inline.adb: Likewise.
* inline.ads: Likewise.
* itypes.adb: Likewise.
* itypes.ads: Likewise.
* krunch.adb: Likewise.
* krunch.ads: Likewise.
* layout.adb: Likewise.
* layout.ads: Likewise.
* lib-list.adb: Likewise.
* lib-load.adb: Likewise.
* lib-load.ads: Likewise.
* lib-sort.adb: Likewise.
* lib-util.adb: Likewise.
* lib-util.ads: Likewise.
* lib-writ.adb: Likewise.
* lib-writ.ads: Likewise.
* lib-xref-spark_specific.adb: Likewise.
* lib-xref.adb: Likewise.
* lib-xref.ads: Likewise.
* lib.adb: Likewise.
* lib.ads: Likewise.
* libgnarl/a-astaco.adb: Likewise.
* libgnarl/a-dispat.adb: Likewise.
* libgnarl/a-dynpri.adb: Likewise.
* libgnarl/a-etgrbu.ads: Likewise.
* libgnarl/a-exetim__darwin.adb: Likewise.
* libgnarl/a-exetim__default.ads: Likewise.
* libgnarl/a-exetim__mingw.adb: Likewise.
* libgnarl/a-exetim__mingw.ads: Likewise.
* libgnarl/a-exetim__posix.adb: Likewise.
* libgnarl/a-interr.adb: Likewise.
* libgnarl/a-interr.ads: Likewise.
* libgnarl/a-intnam.ads: Likewise.
* libgnarl/a-intnam__aix.ads: Likewise.
* libgnarl/a-intnam__darwin.ads: Likewise.
* libgnarl/a-intnam__dragonfly.ads: Likewise.
* libgnarl/a-intnam__dummy.ads: Likewise.
* libgnarl/a-intnam__freebsd.ads: Likewise.
* libgnarl/a-intnam__hpux.ads: Likewise.
* libgnarl/a-intnam__linux.ads: Likewise.
* libgnarl/a-intnam__lynxos.ads: Likewise.
* libgnarl/a-intnam__mingw.ads: Likewise.
* libgnarl/a-intnam__qnx.ads: Likewise.
* libgnarl/a-intnam__rtems.ads: Likewise.
* libgnarl/a-intnam__solaris.ads: Likewise.
* libgnarl/a-intnam__vxworks.ads: Likewise.
* libgnarl/a-reatim.adb: Likewise.
* libgnarl/a-reatim.ads: Likewise.
* libgnarl/a-retide.adb: Likewise.
* libgnarl/a-retide.ads: Likewise.
* libgnarl/a-rttiev.adb: Likewise.
* libgnarl/a-rttiev.ads: Likewise.
* libgnarl/a-synbar.adb: Likewise.
* libgnarl/a-synbar.ads: Likewise.
* libgnarl/a-synbar__posix.adb: Likewise.
* libgnarl/a-synbar__posix.ads: Likewise.
* libgnarl/a-sytaco.adb: Likewise.
* libgnarl/a-sytaco.ads: Likewise.
* libgnarl/a-tasatt.adb: Likewise.
* libgnarl/a-tasatt.ads: Likewise.
* libgnarl/a-taside.adb: Likewise.
* libgnarl/a-taside.ads: Likewise.
* libgnarl/a-tasini.adb: Likewise.
* libgnarl/a-tasini.ads: Likewise.
* libgnarl/a-taster.adb: Likewise.
* libgnarl/g-boubuf.adb: Likewise.
* libgnarl/g-boubuf.ads: Likewise.
* libgnarl/g-boumai.ads: Likewise.
* libgnarl/g-semaph.adb: Likewise.
* libgnarl/g-semaph.ads: Likewise.
* libgnarl/g-signal.adb: Likewise.
* libgnarl/g-signal.ads: Likewise.
* libgnarl/g-tastus.ads: Likewise.
* libgnarl/g-thread.adb: Likewise.
* libgnarl/g-thread.ads: Likewise.
* libgnarl/i-vxinco.adb: Likewise.
* libgnarl/i-vxinco.ads: Likewise.
* libgnarl/s-inmaop.ads: Likewise.
* libgnarl/s-inmaop__dummy.adb: Likewise.
* libgnarl/s-inmaop__hwint.adb: Likewise.
* libgnarl/s-inmaop__posix.adb: Likewise.
* libgnarl/s-interr.adb: Likewise.
* libgnarl/s-interr.ads: Likewise.
* libgnarl/s-interr__dummy.adb: Likewise.
* libgnarl/s-interr__hwint.adb: Likewise.
* libgnarl/s-interr__sigaction.adb: Likewise.
* libgnarl/s-interr__vxworks.adb: Likewise.
* libgnarl/s-intman.ads: Likewise.
* libgnarl/s-intman__android.adb: Likewise.
* libgnarl/s-intman__dummy.adb: Likewise.
* libgnarl/s-intman__lynxos.adb: Likewise.
* libgnarl/s-intman__mingw.adb: Likewise.
* libgnarl/s-intman__posix.adb: Likewise.
* libgnarl/s-intman__qnx.adb: Likewise.
* libgnarl/s-intman__rtems.adb: Likewise.
* libgnarl/s-intman__rtems.ads: Likewise.
* libgnarl/s-intman__solaris.adb: Likewise.
* libgnarl/s-intman__susv3.adb: Likewise.
* libgnarl/s-intman__vxworks.adb: Likewise.
* libgnarl/s-intman__vxworks.ads: Likewise.
* libgnarl/s-linux.ads: Likewise.
* libgnarl/s-linux__alpha.ads: Likewise.
* libgnarl/s-linux__android.ads: Likewise.
* libgnarl/s-linux__hppa.ads: Likewise.
* libgnarl/s-linux__mips.ads: Likewise.
* libgnarl/s-linux__riscv.ads: Likewise.
* libgnarl/s-linux__sparc.ads: Likewise.
* libgnarl/s-linux__x32.ads: Likewise.
* libgnarl/s-mudido.adb: Likewise.
* libgnarl/s-mudido__affinity.adb: Likewise.
* libgnarl/s-osinte__aix.adb: Likewise.
* libgnarl/s-osinte__aix.ads: Likewise.
* libgnarl/s-osinte__android.adb: Likewise.
* libgnarl/s-osinte__android.ads: Likewise.
* libgnarl/s-osinte__darwin.adb: Likewise.
* libgnarl/s-osinte__darwin.ads: Likewise.
* libgnarl/s-osinte__dragonfly.adb: Likewise.
* libgnarl/s-osinte__dragonfly.ads: Likewise.
* libgnarl/s-osinte__dummy.ads: Likewise.
* libgnarl/s-osinte__freebsd.adb: Likewise.
* libgnarl/s-osinte__freebsd.ads: Likewise.
* libgnarl/s-osinte__gnu.adb: Likewise.
* libgnarl/s-osinte__gnu.ads: Likewise.
* libgnarl/s-osinte__hpux-dce.adb: Likewise.
* libgnarl/s-osinte__hpux-dce.ads: Likewise.
* libgnarl/s-osinte__hpux.ads: Likewise.
* libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
* libgnarl/s-osinte__linux.ads: Likewise.
* libgnarl/s-osinte__lynxos178.adb: Likewise.
* libgnarl/s-osinte__lynxos178e.ads: Likewise.
* libgnarl/s-osinte__mingw.ads: Likewise.
* libgnarl/s-osinte__posix.adb: Likewise.
* libgnarl/s-osinte__qnx.adb: Likewise.
* libgnarl/s-osinte__qnx.ads: Likewise.
* libgnarl/s-osinte__rtems.adb: Likewise.
* libgnarl/s-osinte__rtems.ads: Likewise.
* libgnarl/s-osinte__solaris.adb: Likewise.
* libgnarl/s-osinte__solaris.ads: Likewise.
* libgnarl/s-osinte__vxworks.adb: Likewise.
* libgnarl/s-osinte__vxworks.ads: Likewise.
* libgnarl/s-osinte__x32.adb: Likewise.
* libgnarl/s-proinf.adb: Likewise.
* libgnarl/s-proinf.ads: Likewise.
* libgnarl/s-putaim.adb: Likewise.
* libgnarl/s-putaim.ads: Likewise.
* libgnarl/s-qnx.ads: Likewise.
* libgnarl/s-solita.adb: Likewise.
* libgnarl/s-solita.ads: Likewise.
* libgnarl/s-stusta.adb: Likewise.
* libgnarl/s-stusta.ads: Likewise.
* libgnarl/s-taasde.adb: Likewise.
* libgnarl/s-taasde.ads: Likewise.
* libgnarl/s-tadeca.adb: Likewise.
* libgnarl/s-tadeca.ads: Likewise.
* libgnarl/s-tadert.adb: Likewise.
* libgnarl/s-tadert.ads: Likewise.
* libgnarl/s-taenca.adb: Likewise.
* libgnarl/s-taenca.ads: Likewise.
* libgnarl/s-taprob.adb: Likewise.
* libgnarl/s-taprob.ads: Likewise.
* libgnarl/s-taprop.ads: Likewise.
* libgnarl/s-taprop__dummy.adb: Likewise.
* libgnarl/s-taprop__hpux-dce.adb: Likewise.
* libgnarl/s-taprop__linux.adb: Likewise.
* libgnarl/s-taprop__mingw.adb: Likewise.
* libgnarl/s-taprop__posix.adb: Likewise.
* libgnarl/s-taprop__qnx.adb: Likewise.
* libgnarl/s-taprop__rtems.adb: Likewise.
* libgnarl/s-taprop__solaris.adb: Likewise.
* libgnarl/s-taprop__vxworks.adb: Likewise.
* libgnarl/s-tarest.adb: Likewise.
* libgnarl/s-tarest.ads: Likewise.
* libgnarl/s-tasdeb.adb: Likewise.
* libgnarl/s-tasdeb.ads: Likewise.
* libgnarl/s-tasinf.adb: Likewise.
* libgnarl/s-tasinf.ads: Likewise.
* libgnarl/s-tasinf__linux.adb: Likewise.
* libgnarl/s-tasinf__linux.ads: Likewise.
* libgnarl/s-tasinf__mingw.adb: Likewise.
* libgnarl/s-tasinf__mingw.ads: Likewise.
* libgnarl/s-tasinf__solaris.adb: Likewise.
* libgnarl/s-tasinf__solaris.ads: Likewise.
* libgnarl/s-tasinf__vxworks.ads: Likewise.
* libgnarl/s-tasini.adb: Likewise.
* libgnarl/s-tasini.ads: Likewise.
* libgnarl/s-taskin.adb: Likewise.
* libgnarl/s-taskin.ads: Likewise.
* libgnarl/s-taspri__dummy.ads: Likewise.
* libgnarl/s-taspri__hpux-dce.ads: Likewise.
* libgnarl/s-taspri__lynxos.ads: Likewise.
* libgnarl/s-taspri__mingw.ads: Likewise.
* libgnarl/s-taspri__posix-noaltstack.ads: Likewise.
* libgnarl/s-taspri__posix.ads: Likewise.
* libgnarl/s-taspri__solaris.ads: Likewise.
* libgnarl/s-taspri__vxworks.ads: Likewise.
* libgnarl/s-tasque.adb: Likewise.
* libgnarl/s-tasque.ads: Likewise.
* libgnarl/s-tasren.adb: Likewise.
* libgnarl/s-tasren.ads: Likewise.
* libgnarl/s-tasres.ads: Likewise.
* libgnarl/s-tassta.adb: Likewise.
* libgnarl/s-tassta.ads: Likewise.
* libgnarl/s-tasuti.adb: Likewise.
* libgnarl/s-tasuti.ads: Likewise.
* libgnarl/s-tataat.adb: Likewise.
* libgnarl/s-tataat.ads: Likewise.
* libgnarl/s-tpinop.adb: Likewise.
* libgnarl/s-tpinop.ads: Likewise.
* libgnarl/s-tpoaal.adb: Likewise.
* libgnarl/s-tpoben.adb: Likewise.
* libgnarl/s-tpoben.ads: Likewise.
* libgnarl/s-tpobmu.adb: Likewise.
* libgnarl/s-tpobmu.ads: Likewise.
* libgnarl/s-tpobop.adb: Likewise.
* libgnarl/s-tpobop.ads: Likewise.
* libgnarl/s-tpopmo.adb: Likewise.
* libgnarl/s-tpopsp__posix-foreign.adb: Likewise.
* libgnarl/s-tpopsp__posix.adb: Likewise.
* libgnarl/s-tpopsp__solaris.adb: Likewise.
* libgnarl/s-tpopsp__tls.adb: Likewise.
* libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise.
* libgnarl/s-tpopsp__vxworks-tls.adb: Likewise.
* libgnarl/s-tpopsp__vxworks.adb: Likewise.
* libgnarl/s-tporft.adb: Likewise.
* libgnarl/s-tposen.adb: Likewise.
* libgnarl/s-tposen.ads: Likewise.
* libgnarl/s-vxwext.adb: Likewise.
* libgnarl/s-vxwext.ads: Likewise.
* libgnarl/s-vxwext__kernel-smp.adb: Likewise.
* libgnarl/s-vxwext__kernel.adb: Likewise.
* libgnarl/s-vxwext__kernel.ads: Likewise.
* libgnarl/s-vxwext__rtp-smp.adb: Likewise.
* libgnarl/s-vxwext__rtp.adb: Likewise.
* libgnarl/s-vxwext__rtp.ads: Likewise.
* libgnarl/s-vxwork__aarch64.ads: Likewise.
* libgnarl/s-vxwork__arm.ads: Likewise.
* libgnarl/s-vxwork__ppc.ads: Likewise.
* libgnarl/s-vxwork__x86.ads: Likewise.
* libgnarl/thread.c: Likewise.
* libgnat/a-assert.adb: Likewise.
* libgnat/a-assert.ads: Likewise.
* libgnat/a-btgbso.adb: Likewise.
* libgnat/a-btgbso.ads: Likewise.
* libgnat/a-calari.adb: Likewise.
* libgnat/a-calari.ads: Likewise.
* libgnat/a-calcon.adb: Likewise.
* libgnat/a-calcon.ads: Likewise.
* libgnat/a-caldel.adb: Likewise.
* libgnat/a-caldel.ads: Likewise.
* libgnat/a-calend.adb: Likewise.
* libgnat/a-calend.ads: Likewise.
* libgnat/a-calfor.adb: Likewise.
* libgnat/a-calfor.ads: Likewise.
* libgnat/a-catizo.adb: Likewise.
* libgnat/a-cbdlli.adb: Likewise.
* libgnat/a-cbdlli.ads: Likewise.
* libgnat/a-cbhama.adb: Likewise.
* libgnat/a-cbhama.ads: Likewise.
* libgnat/a-cbhase.adb: Likewise.
* libgnat/a-cbhase.ads: Likewise.
* libgnat/a-cbmutr.adb: Likewise.
* libgnat/a-cbmutr.ads: Likewise.
* libgnat/a-cborma.adb: Likewise.
* libgnat/a-cborma.ads: Likewise.
* libgnat/a-cborse.adb: Likewise.
* libgnat/a-cborse.ads: Likewise.
* libgnat/a-cbprqu.adb: Likewise.
* libgnat/a-cbprqu.ads: Likewise.
* libgnat/a-cbsyqu.adb: Likewise.
* libgnat/a-cbsyqu.ads: Likewise.
* libgnat/a-cdlili.adb: Likewise.
* libgnat/a-cdlili.ads: Likewise.
* libgnat/a-cfdlli.adb: Likewise.
* libgnat/a-cfdlli.ads: Likewise.
* libgnat/a-cfhama.adb: Likewise.
* libgnat/a-cfhama.ads: Likewise.
* libgnat/a-cfhase.adb: Likewise.
* libgnat/a-cfhase.ads: Likewise.
* libgnat/a-cfinve.adb: Likewise.
* libgnat/a-cfinve.ads: Likewise.
* libgnat/a-cforma.adb: Likewise.
* libgnat/a-cforma.ads: Likewise.
* libgnat/a-cforse.adb: Likewise.
* libgnat/a-cforse.ads: Likewise.
* libgnat/a-cgaaso.adb: Likewise.
* libgnat/a-cgaaso.ads: Likewise.
* libgnat/a-cgarso.adb: Likewise.
* libgnat/a-cgcaso.adb: Likewise.
* libgnat/a-chacon.adb: Likewise.
* libgnat/a-chacon.ads: Likewise.
* libgnat/a-chahan.adb: Likewise.
* libgnat/a-chahan.ads: Likewise.
* libgnat/a-chlat9.ads: Likewise.
* libgnat/a-chtgbk.adb: Likewise.
* libgnat/a-chtgbk.ads: Likewise.
* libgnat/a-chtgbo.adb: Likewise.
* libgnat/a-chtgbo.ads: Likewise.
* libgnat/a-chtgke.adb: Likewise.
* libgnat/a-chtgke.ads: Likewise.
* libgnat/a-chtgop.adb: Likewise.
* libgnat/a-chtgop.ads: Likewise.
* libgnat/a-chzla1.ads: Likewise.
* libgnat/a-chzla9.ads: Likewise.
* libgnat/a-cidlli.adb: Likewise.
* libgnat/a-cidlli.ads: Likewise.
* libgnat/a-cihama.adb: Likewise.
* libgnat/a-cihama.ads: Likewise.
* libgnat/a-cihase.adb: Likewise.
* libgnat/a-cihase.ads: Likewise.
* libgnat/a-cimutr.adb: Likewise.
* libgnat/a-cimutr.ads: Likewise.
* libgnat/a-ciorma.adb: Likewise.
* libgnat/a-ciorma.ads: Likewise.
* libgnat/a-ciormu.adb: Likewise.
* libgnat/a-ciormu.ads: Likewise.
* libgnat/a-ciorse.adb: Likewise.
* libgnat/a-ciorse.ads: Likewise.
* libgnat/a-clrefi.adb: Likewise.
* libgnat/a-clrefi.ads: Likewise.
* libgnat/a-coboho.adb: Likewise.
* libgnat/a-coboho.ads: Likewise.
* libgnat/a-cobove.adb: Likewise.
* libgnat/a-cobove.ads: Likewise.
* libgnat/a-cofove.adb: Likewise.
* libgnat/a-cofove.ads: Likewise.
* libgnat/a-cofuba.adb: Likewise.
* libgnat/a-cofuba.ads: Likewise.
* libgnat/a-cofuma.adb: Likewise.
* libgnat/a-cofuma.ads: Likewise.
* libgnat/a-cofuse.adb: Likewise.
* libgnat/a-cofuse.ads: Likewise.
* libgnat/a-cofuve.adb: Likewise.
* libgnat/a-cofuve.ads: Likewise.
* libgnat/a-cogeso.adb: Likewise.
* libgnat/a-cogeso.ads: Likewise.
* libgnat/a-cohama.adb: Likewise.
* libgnat/a-cohama.ads: Likewise.
* libgnat/a-cohase.adb: Likewise.
* libgnat/a-cohase.ads: Likewise.
* libgnat/a-cohata.ads: Likewise.
* libgnat/a-coinho.adb: Likewise.
* libgnat/a-coinho.ads: Likewise.
* libgnat/a-coinho__shared.adb: Likewise.
* libgnat/a-coinho__shared.ads: Likewise.
* libgnat/a-coinve.adb: Likewise.
* libgnat/a-coinve.ads: Likewise.
* libgnat/a-colien.adb: Likewise.
* libgnat/a-colien.ads: Likewise.
* libgnat/a-colire.adb: Likewise.
* libgnat/a-colire.ads: Likewise.
* libgnat/a-comlin.adb: Likewise.
* libgnat/a-comlin.ads: Likewise.
* libgnat/a-comutr.adb: Likewise.
* libgnat/a-comutr.ads: Likewise.
* libgnat/a-conhel.adb: Likewise.
* libgnat/a-conhel.ads: Likewise.
* libgnat/a-convec.adb: Likewise.
* libgnat/a-convec.ads: Likewise.
* libgnat/a-coorma.adb: Likewise.
* libgnat/a-coorma.ads: Likewise.
* libgnat/a-coormu.adb: Likewise.
* libgnat/a-coormu.ads: Likewise.
* libgnat/a-coorse.adb: Likewise.
* libgnat/a-coorse.ads: Likewise.
* libgnat/a-coprnu.adb: Likewise.
* libgnat/a-coprnu.ads: Likewise.
* libgnat/a-costso.adb: Likewise.
* libgnat/a-costso.ads: Likewise.
* libgnat/a-crbltr.ads: Likewise.
* libgnat/a-crbtgk.adb: Likewise.
* libgnat/a-crbtgk.ads: Likewise.
* libgnat/a-crbtgo.adb: Likewise.
* libgnat/a-crbtgo.ads: Likewise.
* libgnat/a-crdlli.adb: Likewise.
* libgnat/a-crdlli.ads: Likewise.
* libgnat/a-csquin.ads: Likewise.
* libgnat/a-cuprqu.adb: Likewise.
* libgnat/a-cuprqu.ads: Likewise.
* libgnat/a-cusyqu.adb: Likewise.
* libgnat/a-cusyqu.ads: Likewise.
* libgnat/a-cwila1.ads: Likewise.
* libgnat/a-cwila9.ads: Likewise.
* libgnat/a-decima.adb: Likewise.
* libgnat/a-decima.ads: Likewise.
* libgnat/a-decima__128.ads: Likewise.
* libgnat/a-dhfina.adb: Likewise.
* libgnat/a-dhfina.ads: Likewise.
* libgnat/a-diocst.adb: Likewise.
* libgnat/a-diocst.ads: Likewise.
* libgnat/a-direct.adb: Likewise.
* libgnat/a-direct.ads: Likewise.
* libgnat/a-direio.adb: Likewise.
* libgnat/a-direio.ads: Likewise.
* libgnat/a-dirval.adb: Likewise.
* libgnat/a-dirval.ads: Likewise.
* libgnat/a-dirval__mingw.adb: Likewise.
* libgnat/a-einuoc.adb: Likewise.
* libgnat/a-einuoc.ads: Likewise.
* libgnat/a-elchha.adb: Likewise.
* libgnat/a-elchha.ads: Likewise.
* libgnat/a-envvar.adb: Likewise.
* libgnat/a-excach.adb: Likewise.
* libgnat/a-except.adb: Likewise.
* libgnat/a-except.ads: Likewise.
* libgnat/a-exctra.adb: Likewise.
* libgnat/a-exctra.ads: Likewise.
* libgnat/a-exexda.adb: Likewise.
* libgnat/a-exexpr.adb: Likewise.
* libgnat/a-exextr.adb: Likewise.
* libgnat/a-exstat.adb: Likewise.
* libgnat/a-finali.adb: Likewise.
* libgnat/a-finali.ads: Likewise.
* libgnat/a-locale.adb: Likewise.
* libgnat/a-locale.ads: Likewise.
* libgnat/a-nagefl.ads: Likewise.
* libgnat/a-naliop.ads: Likewise.
* libgnat/a-naliop__nolibm.ads: Likewise.
* libgnat/a-nallfl.ads: Likewise.
* libgnat/a-nallfl__wraplf.ads: Likewise.
* libgnat/a-nalofl.ads: Likewise.
* libgnat/a-nashfl.ads: Likewise.
* libgnat/a-nashfl__wraplf.ads: Likewise.
* libgnat/a-nbnbig.adb: Likewise.
* libgnat/a-nbnbin.adb: Likewise.
* libgnat/a-nbnbin__gmp.adb: Likewise.
* libgnat/a-nbnbre.adb: Likewise.
* libgnat/a-ngcefu.adb: Likewise.
* libgnat/a-ngcoar.adb: Likewise.
* libgnat/a-ngcoty.adb: Likewise.
* libgnat/a-ngcoty.ads: Likewise.
* libgnat/a-ngelfu.adb: Likewise.
* libgnat/a-ngelfu.ads: Likewise.
* libgnat/a-ngrear.adb: Likewise.
* libgnat/a-ngrear.ads: Likewise.
* libgnat/a-nuauco.ads: Likewise.
* libgnat/a-nuauco__x86.ads: Likewise.
* libgnat/a-nuaufl.ads: Likewise.
* libgnat/a-nuaufl__wraplf.ads: Likewise.
* libgnat/a-nudira.adb: Likewise.
* libgnat/a-nudira.ads: Likewise.
* libgnat/a-nuflra.adb: Likewise.
* libgnat/a-nuflra.ads: Likewise.
* libgnat/a-numaux.ads: Likewise.
* libgnat/a-rbtgbk.adb: Likewise.
* libgnat/a-rbtgbk.ads: Likewise.
* libgnat/a-rbtgbo.adb: Likewise.
* libgnat/a-rbtgbo.ads: Likewise.
* libgnat/a-rbtgso.adb: Likewise.
* libgnat/a-rbtgso.ads: Likewise.
* libgnat/a-sbecin.adb: Likewise.
* libgnat/a-sbecin.ads: Likewise.
* libgnat/a-sbhcin.adb: Likewise.
* libgnat/a-sbhcin.ads: Likewise.
* libgnat/a-sblcin.adb: Likewise.
* libgnat/a-sblcin.ads: Likewise.
* libgnat/a-secain.adb: Likewise.
* libgnat/a-secain.ads: Likewise.
* libgnat/a-sequio.adb: Likewise.
* libgnat/a-sequio.ads: Likewise.
* libgnat/a-sfecin.ads: Likewise.
* libgnat/a-sfhcin.ads: Likewise.
* libgnat/a-sflcin.ads: Likewise.
* libgnat/a-shcain.adb: Likewise.
* libgnat/a-shcain.ads: Likewise.
* libgnat/a-siocst.adb: Likewise.
* libgnat/a-siocst.ads: Likewise.
* libgnat/a-slcain.adb: Likewise.
* libgnat/a-slcain.ads: Likewise.
* libgnat/a-ssicst.adb: Likewise.
* libgnat/a-ssicst.ads: Likewise.
* libgnat/a-stboha.adb: Likewise.
* libgnat/a-stbubo.adb: Likewise.
* libgnat/a-stbubo.ads: Likewise.
* libgnat/a-stbufi.adb: Likewise.
* libgnat/a-stbufi.ads: Likewise.
* libgnat/a-stbufo.adb: Likewise.
* libgnat/a-stbufo.ads: Likewise.
* libgnat/a-stbuun.adb: Likewise.
* libgnat/a-stbuut.adb: Likewise.
* libgnat/a-stbuut.ads: Likewise.
* libgnat/a-stmaco.ads: Likewise.
* libgnat/a-storio.adb: Likewise.
* libgnat/a-strbou.adb: Likewise.
* libgnat/a-strbou.ads: Likewise.
* libgnat/a-stream.adb: Likewise.
* libgnat/a-stream.ads: Likewise.
* libgnat/a-strfix.adb: Likewise.
* libgnat/a-strhas.adb: Likewise.
* libgnat/a-strmap.adb: Likewise.
* libgnat/a-strmap.ads: Likewise.
* libgnat/a-strsea.adb: Likewise.
* libgnat/a-strsea.ads: Likewise.
* libgnat/a-strsto.ads: Likewise.
* libgnat/a-strsup.adb: Likewise.
* libgnat/a-strsup.ads: Likewise.
* libgnat/a-strunb.adb: Likewise.
* libgnat/a-strunb.ads: Likewise.
* libgnat/a-strunb__shared.adb: Likewise.
* libgnat/a-strunb__shared.ads: Likewise.
* libgnat/a-ststbo.adb: Likewise.
* libgnat/a-ststbo.ads: Likewise.
* libgnat/a-ststio.adb: Likewise.
* libgnat/a-ststio.ads: Likewise.
* libgnat/a-ststun.adb: Likewise.
* libgnat/a-ststun.ads: Likewise.
* libgnat/a-sttebu.adb: Likewise.
* libgnat/a-stunau.adb: Likewise.
* libgnat/a-stunau.ads: Likewise.
* libgnat/a-stunau__shared.adb: Likewise.
* libgnat/a-stunha.adb: Likewise.
* libgnat/a-stuten.adb: Likewise.
* libgnat/a-stwibo.adb: Likewise.
* libgnat/a-stwibo.ads: Likewise.
* libgnat/a-stwifi.adb: Likewise.
* libgnat/a-stwiha.adb: Likewise.
* libgnat/a-stwima.adb: Likewise.
* libgnat/a-stwima.ads: Likewise.
* libgnat/a-stwise.adb: Likewise.
* libgnat/a-stwise.ads: Likewise.
* libgnat/a-stwisu.adb: Likewise.
* libgnat/a-stwisu.ads: Likewise.
* libgnat/a-stwiun.adb: Likewise.
* libgnat/a-stwiun.ads: Likewise.
* libgnat/a-stwiun__shared.adb: Likewise.
* libgnat/a-stwiun__shared.ads: Likewise.
* libgnat/a-stzbou.adb: Likewise.
* libgnat/a-stzbou.ads: Likewise.
* libgnat/a-stzfix.adb: Likewise.
* libgnat/a-stzhas.adb: Likewise.
* libgnat/a-stzmap.adb: Likewise.
* libgnat/a-stzmap.ads: Likewise.
* libgnat/a-stzsea.adb: Likewise.
* libgnat/a-stzsea.ads: Likewise.
* libgnat/a-stzsup.adb: Likewise.
* libgnat/a-stzsup.ads: Likewise.
* libgnat/a-stzunb.adb: Likewise.
* libgnat/a-stzunb.ads: Likewise.
* libgnat/a-stzunb__shared.adb: Likewise.
* libgnat/a-stzunb__shared.ads: Likewise.
* libgnat/a-suecin.adb: Likewise.
* libgnat/a-suecin.ads: Likewise.
* libgnat/a-suenco.adb: Likewise.
* libgnat/a-suenst.adb: Likewise.
* libgnat/a-suewst.adb: Likewise.
* libgnat/a-suezst.adb: Likewise.
* libgnat/a-suhcin.adb: Likewise.
* libgnat/a-suhcin.ads: Likewise.
* libgnat/a-sulcin.adb: Likewise.
* libgnat/a-sulcin.ads: Likewise.
* libgnat/a-suteio.adb: Likewise.
* libgnat/a-suteio.ads: Likewise.
* libgnat/a-suteio__shared.adb: Likewise.
* libgnat/a-swbwha.adb: Likewise.
* libgnat/a-swmwco.ads: Likewise.
* libgnat/a-swunau.adb: Likewise.
* libgnat/a-swunau.ads: Likewise.
* libgnat/a-swunau__shared.adb: Likewise.
* libgnat/a-swuwha.adb: Likewise.
* libgnat/a-swuwti.adb: Likewise.
* libgnat/a-swuwti.ads: Likewise.
* libgnat/a-swuwti__shared.adb: Likewise.
* libgnat/a-szbzha.adb: Likewise.
* libgnat/a-szmzco.ads: Likewise.
* libgnat/a-szunau.adb: Likewise.
* libgnat/a-szunau.ads: Likewise.
* libgnat/a-szunau__shared.adb: Likewise.
* libgnat/a-szuzha.adb: Likewise.
* libgnat/a-szuzti.adb: Likewise.
* libgnat/a-szuzti.ads: Likewise.
* libgnat/a-szuzti__shared.adb: Likewise.
* libgnat/a-tags.adb: Likewise.
* libgnat/a-tags.ads: Likewise.
* libgnat/a-teioed.adb: Likewise.
* libgnat/a-teioed.ads: Likewise.
* libgnat/a-textio.adb: Likewise.
* libgnat/a-textio.ads: Likewise.
* libgnat/a-tiboio.adb: Likewise.
* libgnat/a-ticoau.adb: Likewise.
* libgnat/a-ticoau.ads: Likewise.
* libgnat/a-ticoio.adb: Likewise.
* libgnat/a-ticoio.ads: Likewise.
* libgnat/a-tideau.adb: Likewise.
* libgnat/a-tideau.ads: Likewise.
* libgnat/a-tideio.adb: Likewise.
* libgnat/a-tideio.ads: Likewise.
* libgnat/a-tideio__128.adb: Likewise.
* libgnat/a-tienau.adb: Likewise.
* libgnat/a-tienau.ads: Likewise.
* libgnat/a-tienio.adb: Likewise.
* libgnat/a-tifiau.adb: Likewise.
* libgnat/a-tifiau.ads: Likewise.
* libgnat/a-tifiio.adb: Likewise.
* libgnat/a-tifiio__128.adb: Likewise.
* libgnat/a-tiflau.adb: Likewise.
* libgnat/a-tiflau.ads: Likewise.
* libgnat/a-tiflio.adb: Likewise.
* libgnat/a-tiflio.ads: Likewise.
* libgnat/a-tigeau.adb: Likewise.
* libgnat/a-tigeau.ads: Likewise.
* libgnat/a-tigeli.adb: Likewise.
* libgnat/a-tiinau.adb: Likewise.
* libgnat/a-tiinau.ads: Likewise.
* libgnat/a-tiinio.adb: Likewise.
* libgnat/a-tiinio.ads: Likewise.
* libgnat/a-tiinio__128.adb: Likewise.
* libgnat/a-timoio.adb: Likewise.
* libgnat/a-timoio.ads: Likewise.
* libgnat/a-timoio__128.adb: Likewise.
* libgnat/a-tiocst.adb: Likewise.
* libgnat/a-tiocst.ads: Likewise.
* libgnat/a-tirsfi.adb: Likewise.
* libgnat/a-tirsfi.ads: Likewise.
* libgnat/a-titest.adb: Likewise.
* libgnat/a-undesu.adb: Likewise.
* libgnat/a-wichha.adb: Likewise.
* libgnat/a-wichun.adb: Likewise.
* libgnat/a-wichun.ads: Likewise.
* libgnat/a-witeio.adb: Likewise.
* libgnat/a-witeio.ads: Likewise.
* libgnat/a-wrstfi.adb: Likewise.
* libgnat/a-wrstfi.ads: Likewise.
* libgnat/a-wtcoau.adb: Likewise.
* libgnat/a-wtcoau.ads: Likewise.
* libgnat/a-wtcoio.adb: Likewise.
* libgnat/a-wtcstr.adb: Likewise.
* libgnat/a-wtcstr.ads: Likewise.
* libgnat/a-wtdeau.adb: Likewise.
* libgnat/a-wtdeau.ads: Likewise.
* libgnat/a-wtdeio.adb: Likewise.
* libgnat/a-wtdeio__128.adb: Likewise.
* libgnat/a-wtedit.adb: Likewise.
* libgnat/a-wtedit.ads: Likewise.
* libgnat/a-wtenau.adb: Likewise.
* libgnat/a-wtenau.ads: Likewise.
* libgnat/a-wtenio.adb: Likewise.
* libgnat/a-wtfiau.adb: Likewise.
* libgnat/a-wtfiau.ads: Likewise.
* libgnat/a-wtfiio.adb: Likewise.
* libgnat/a-wtfiio__128.adb: Likewise.
* libgnat/a-wtflau.adb: Likewise.
* libgnat/a-wtflau.ads: Likewise.
* libgnat/a-wtflio.adb: Likewise.
* libgnat/a-wtgeau.adb: Likewise.
* libgnat/a-wtgeau.ads: Likewise.
* libgnat/a-wtinau.adb: Likewise.
* libgnat/a-wtinau.ads: Likewise.
* libgnat/a-wtinio.adb: Likewise.
* libgnat/a-wtinio__128.adb: Likewise.
* libgnat/a-wtmoio.adb: Likewise.
* libgnat/a-wtmoio.ads: Likewise.
* libgnat/a-wtmoio__128.adb: Likewise.
* libgnat/a-wttest.adb: Likewise.
* libgnat/a-wwboio.adb: Likewise.
* libgnat/a-zchhan.adb: Likewise.
* libgnat/a-zchuni.adb: Likewise.
* libgnat/a-zchuni.ads: Likewise.
* libgnat/a-zrstfi.adb: Likewise.
* libgnat/a-zrstfi.ads: Likewise.
* libgnat/a-ztcoau.adb: Likewise.
* libgnat/a-ztcoio.adb: Likewise.
* libgnat/a-ztcstr.adb: Likewise.
* libgnat/a-ztcstr.ads: Likewise.
* libgnat/a-ztdeau.adb: Likewise.
* libgnat/a-ztdeau.ads: Likewise.
* libgnat/a-ztdeio.adb: Likewise.
* libgnat/a-ztdeio__128.adb: Likewise.
* libgnat/a-ztedit.adb: Likewise.
* libgnat/a-ztedit.ads: Likewise.
* libgnat/a-ztenau.adb: Likewise.
* libgnat/a-ztenau.ads: Likewise.
* libgnat/a-ztenio.adb: Likewise.
* libgnat/a-ztexio.adb: Likewise.
* libgnat/a-ztexio.ads: Likewise.
* libgnat/a-ztfiau.adb: Likewise.
* libgnat/a-ztfiau.ads: Likewise.
* libgnat/a-ztfiio.adb: Likewise.
* libgnat/a-ztfiio__128.adb: Likewise.
* libgnat/a-ztflau.adb: Likewise.
* libgnat/a-ztflau.ads: Likewise.
* libgnat/a-ztflio.adb: Likewise.
* libgnat/a-ztgeau.adb: Likewise.
* libgnat/a-ztgeau.ads: Likewise.
* libgnat/a-ztinau.adb: Likewise.
* libgnat/a-ztinau.ads: Likewise.
* libgnat/a-ztinio.adb: Likewise.
* libgnat/a-ztinio__128.adb: Likewise.
* libgnat/a-ztmoio.adb: Likewise.
* libgnat/a-ztmoio__128.adb: Likewise.
* libgnat/a-zttest.adb: Likewise.
* libgnat/a-zzboio.adb: Likewise.
* libgnat/g-allein.ads: Likewise.
* libgnat/g-alleve.adb: Likewise.
* libgnat/g-alleve.ads: Likewise.
* libgnat/g-alleve__hard.adb: Likewise.
* libgnat/g-alleve__hard.ads: Likewise.
* libgnat/g-altcon.adb: Likewise.
* libgnat/g-altcon.ads: Likewise.
* libgnat/g-altive.ads: Likewise.
* libgnat/g-alveop.adb: Likewise.
* libgnat/g-alveop.ads: Likewise.
* libgnat/g-alvety.ads: Likewise.
* libgnat/g-alvevi.ads: Likewise.
* libgnat/g-arrspl.adb: Likewise.
* libgnat/g-arrspl.ads: Likewise.
* libgnat/g-awk.adb: Likewise.
* libgnat/g-awk.ads: Likewise.
* libgnat/g-binenv.adb: Likewise.
* libgnat/g-binenv.ads: Likewise.
* libgnat/g-brapre.ads: Likewise.
* libgnat/g-bubsor.adb: Likewise.
* libgnat/g-bubsor.ads: Likewise.
* libgnat/g-busora.adb: Likewise.
* libgnat/g-busora.ads: Likewise.
* libgnat/g-busorg.adb: Likewise.
* libgnat/g-busorg.ads: Likewise.
* libgnat/g-byorma.adb: Likewise.
* libgnat/g-byorma.ads: Likewise.
* libgnat/g-bytswa.adb: Likewise.
* libgnat/g-bytswa.ads: Likewise.
* libgnat/g-calend.adb: Likewise.
* libgnat/g-calend.ads: Likewise.
* libgnat/g-casuti.adb: Likewise.
* libgnat/g-casuti.ads: Likewise.
* libgnat/g-catiio.adb: Likewise.
* libgnat/g-catiio.ads: Likewise.
* libgnat/g-cgi.adb: Likewise.
* libgnat/g-cgi.ads: Likewise.
* libgnat/g-cgicoo.adb: Likewise.
* libgnat/g-cgicoo.ads: Likewise.
* libgnat/g-cgideb.adb: Likewise.
* libgnat/g-cgideb.ads: Likewise.
* libgnat/g-comlin.adb: Likewise.
* libgnat/g-comlin.ads: Likewise.
* libgnat/g-comver.adb: Likewise.
* libgnat/g-comver.ads: Likewise.
* libgnat/g-cppexc.adb: Likewise.
* libgnat/g-cppexc.ads: Likewise.
* libgnat/g-crc32.adb: Likewise.
* libgnat/g-crc32.ads: Likewise.
* libgnat/g-ctrl_c.adb: Likewise.
* libgnat/g-ctrl_c.ads: Likewise.
* libgnat/g-curexc.ads: Likewise.
* libgnat/g-debpoo.adb: Likewise.
* libgnat/g-debpoo.ads: Likewise.
* libgnat/g-debuti.adb: Likewise.
* libgnat/g-debuti.ads: Likewise.
* libgnat/g-decstr.adb: Likewise.
* libgnat/g-decstr.ads: Likewise.
* libgnat/g-deutst.ads: Likewise.
* libgnat/g-diopit.adb: Likewise.
* libgnat/g-diopit.ads: Likewise.
* libgnat/g-dirope.adb: Likewise.
* libgnat/g-dirope.ads: Likewise.
* libgnat/g-dynhta.adb: Likewise.
* libgnat/g-dynhta.ads: Likewise.
* libgnat/g-dyntab.adb: Likewise.
* libgnat/g-dyntab.ads: Likewise.
* libgnat/g-eacodu.adb: Likewise.
* libgnat/g-encstr.adb: Likewise.
* libgnat/g-encstr.ads: Likewise.
* libgnat/g-enutst.ads: Likewise.
* libgnat/g-excact.adb: Likewise.
* libgnat/g-excact.ads: Likewise.
* libgnat/g-except.ads: Likewise.
* libgnat/g-exctra.adb: Likewise.
* libgnat/g-exctra.ads: Likewise.
* libgnat/g-expect.adb: Likewise.
* libgnat/g-expect.ads: Likewise.
* libgnat/g-exptty.adb: Likewise.
* libgnat/g-exptty.ads: Likewise.
* libgnat/g-flocon.ads: Likewise.
* libgnat/g-forstr.adb: Likewise.
* libgnat/g-forstr.ads: Likewise.
* libgnat/g-graphs.adb: Likewise.
* libgnat/g-graphs.ads: Likewise.
* libgnat/g-heasor.adb: Likewise.
* libgnat/g-heasor.ads: Likewise.
* libgnat/g-hesora.adb: Likewise.
* libgnat/g-hesora.ads: Likewise.
* libgnat/g-hesorg.adb: Likewise.
* libgnat/g-hesorg.ads: Likewise.
* libgnat/g-htable.adb: Likewise.
* libgnat/g-htable.ads: Likewise.
* libgnat/g-io.adb: Likewise.
* libgnat/g-io.ads: Likewise.
* libgnat/g-io_aux.adb: Likewise.
* libgnat/g-io_aux.ads: Likewise.
* libgnat/g-lists.adb: Likewise.
* libgnat/g-lists.ads: Likewise.
* libgnat/g-locfil.adb: Likewise.
* libgnat/g-locfil.ads: Likewise.
* libgnat/g-mbdira.adb: Likewise.
* libgnat/g-mbdira.ads: Likewise.
* libgnat/g-mbflra.adb: Likewise.
* libgnat/g-mbflra.ads: Likewise.
* libgnat/g-md5.adb: Likewise.
* libgnat/g-md5.ads: Likewise.
* libgnat/g-memdum.adb: Likewise.
* libgnat/g-memdum.ads: Likewise.
* libgnat/g-moreex.adb: Likewise.
* libgnat/g-moreex.ads: Likewise.
* libgnat/g-os_lib.adb: Likewise.
* libgnat/g-os_lib.ads: Likewise.
* libgnat/g-pehage.adb: Likewise.
* libgnat/g-pehage.ads: Likewise.
* libgnat/g-rannum.adb: Likewise.
* libgnat/g-rannum.ads: Likewise.
* libgnat/g-regexp.adb: Likewise.
* libgnat/g-regexp.ads: Likewise.
* libgnat/g-regist.adb: Likewise.
* libgnat/g-regist.ads: Likewise.
* libgnat/g-regpat.adb: Likewise.
* libgnat/g-regpat.ads: Likewise.
* libgnat/g-rewdat.adb: Likewise.
* libgnat/g-rewdat.ads: Likewise.
* libgnat/g-sechas.adb: Likewise.
* libgnat/g-sechas.ads: Likewise.
* libgnat/g-sehamd.adb: Likewise.
* libgnat/g-sehamd.ads: Likewise.
* libgnat/g-sehash.adb: Likewise.
* libgnat/g-sehash.ads: Likewise.
* libgnat/g-sercom.adb: Likewise.
* libgnat/g-sercom.ads: Likewise.
* libgnat/g-sercom__linux.adb: Likewise.
* libgnat/g-sercom__mingw.adb: Likewise.
* libgnat/g-sestin.ads: Likewise.
* libgnat/g-sets.adb: Likewise.
* libgnat/g-sets.ads: Likewise.
* libgnat/g-sha1.adb: Likewise.
* libgnat/g-sha1.ads: Likewise.
* libgnat/g-sha224.ads: Likewise.
* libgnat/g-sha256.ads: Likewise.
* libgnat/g-sha384.ads: Likewise.
* libgnat/g-sha512.ads: Likewise.
* libgnat/g-shsh32.adb: Likewise.
* libgnat/g-shsh32.ads: Likewise.
* libgnat/g-shsh64.adb: Likewise.
* libgnat/g-shsh64.ads: Likewise.
* libgnat/g-shshco.adb: Likewise.
* libgnat/g-shshco.ads: Likewise.
* libgnat/g-soccon.ads: Likewise.
* libgnat/g-socket.adb: Likewise.
* libgnat/g-socket.ads: Likewise.
* libgnat/g-socket__dummy.adb: Likewise.
* libgnat/g-socket__dummy.ads: Likewise.
* libgnat/g-socpol.adb: Likewise.
* libgnat/g-socpol.ads: Likewise.
* libgnat/g-socpol__dummy.adb: Likewise.
* libgnat/g-socpol__dummy.ads: Likewise.
* libgnat/g-socthi.adb: Likewise.
* libgnat/g-socthi.ads: Likewise.
* libgnat/g-socthi__dummy.adb: Likewise.
* libgnat/g-socthi__dummy.ads: Likewise.
* libgnat/g-socthi__mingw.adb: Likewise.
* libgnat/g-socthi__mingw.ads: Likewise.
* libgnat/g-socthi__vxworks.adb: Likewise.
* libgnat/g-socthi__vxworks.ads: Likewise.
* libgnat/g-soliop.ads: Likewise.
* libgnat/g-soliop__lynxos.ads: Likewise.
* libgnat/g-soliop__mingw.ads: Likewise.
* libgnat/g-soliop__qnx.ads: Likewise.
* libgnat/g-soliop__solaris.ads: Likewise.
* libgnat/g-sopowa.adb: Likewise.
* libgnat/g-sopowa__mingw.adb: Likewise.
* libgnat/g-sopowa__posix.adb: Likewise.
* libgnat/g-sothco.adb: Likewise.
* libgnat/g-sothco.ads: Likewise.
* libgnat/g-sothco__dummy.adb: Likewise.
* libgnat/g-sothco__dummy.ads: Likewise.
* libgnat/g-souinf.ads: Likewise.
* libgnat/g-spchge.adb: Likewise.
* libgnat/g-spchge.ads: Likewise.
* libgnat/g-speche.adb: Likewise.
* libgnat/g-speche.ads: Likewise.
* libgnat/g-spipat.adb: Likewise.
* libgnat/g-spipat.ads: Likewise.
* libgnat/g-spitbo.adb: Likewise.
* libgnat/g-spitbo.ads: Likewise.
* libgnat/g-spogwa.adb: Likewise.
* libgnat/g-spogwa.ads: Likewise.
* libgnat/g-sptabo.ads: Likewise.
* libgnat/g-sptain.ads: Likewise.
* libgnat/g-sptavs.ads: Likewise.
* libgnat/g-sse.ads: Likewise.
* libgnat/g-ssvety.ads: Likewise.
* libgnat/g-sthcso.adb: Likewise.
* libgnat/g-stheme.adb: Likewise.
* libgnat/g-strhas.ads: Likewise.
* libgnat/g-string.adb: Likewise.
* libgnat/g-string.ads: Likewise.
* libgnat/g-strspl.ads: Likewise.
* libgnat/g-stseme.adb: Likewise.
* libgnat/g-stsifd__sockets.adb: Likewise.
* libgnat/g-table.adb: Likewise.
* libgnat/g-table.ads: Likewise.
* libgnat/g-tasloc.adb: Likewise.
* libgnat/g-tasloc.ads: Likewise.
* libgnat/g-timsta.adb: Likewise.
* libgnat/g-timsta.ads: Likewise.
* libgnat/g-traceb.adb: Likewise.
* libgnat/g-traceb.ads: Likewise.
* libgnat/g-trasym.adb: Likewise.
* libgnat/g-trasym.ads: Likewise.
* libgnat/g-tty.adb: Likewise.
* libgnat/g-tty.ads: Likewise.
* libgnat/g-u3spch.adb: Likewise.
* libgnat/g-u3spch.ads: Likewise.
* libgnat/g-utf_32.adb: Likewise.
* libgnat/g-utf_32.ads: Likewise.
* libgnat/g-wispch.adb: Likewise.
* libgnat/g-wispch.ads: Likewise.
* libgnat/g-wistsp.ads: Likewise.
* libgnat/g-zspche.adb: Likewise.
* libgnat/g-zspche.ads: Likewise.
* libgnat/g-zstspl.ads: Likewise.
* libgnat/gnat.ads: Likewise.
* libgnat/i-c.adb: Likewise.
* libgnat/i-cexten.ads: Likewise.
* libgnat/i-cexten__128.ads: Likewise.
* libgnat/i-cobol.adb: Likewise.
* libgnat/i-cobol.ads: Likewise.
* libgnat/i-cpoint.adb: Likewise.
* libgnat/i-cpoint.ads: Likewise.
* libgnat/i-cstrea.adb: Likewise.
* libgnat/i-cstrea.ads: Likewise.
* libgnat/i-cstrin.adb: Likewise.
* libgnat/i-cstrin.ads: Likewise.
* libgnat/i-fortra.adb: Likewise.
* libgnat/i-pacdec.adb: Likewise.
* libgnat/i-pacdec.ads: Likewise.
* libgnat/i-vxwoio.adb: Likewise.
* libgnat/i-vxwoio.ads: Likewise.
* libgnat/i-vxwork.ads: Likewise.
* libgnat/i-vxwork__x86.ads: Likewise.
* libgnat/interfac.ads: Likewise.
* libgnat/interfac__2020.ads: Likewise.
* libgnat/memtrack.adb: Likewise.
* libgnat/s-addima.adb: Likewise.
* libgnat/s-addima.ads: Likewise.
* libgnat/s-addope.adb: Likewise.
* libgnat/s-addope.ads: Likewise.
* libgnat/s-aoinar.adb: Likewise.
* libgnat/s-aoinar.ads: Likewise.
* libgnat/s-aomoar.adb: Likewise.
* libgnat/s-aomoar.ads: Likewise.
* libgnat/s-aotase.adb: Likewise.
* libgnat/s-aotase.ads: Likewise.
* libgnat/s-aridou.adb: Likewise.
* libgnat/s-aridou.ads: Likewise.
* libgnat/s-arit128.adb: Likewise.
* libgnat/s-arit128.ads: Likewise.
* libgnat/s-arit32.adb: Likewise.
* libgnat/s-arit32.ads: Likewise.
* libgnat/s-arit64.adb: Likewise.
* libgnat/s-arit64.ads: Likewise.
* libgnat/s-assert.adb: Likewise.
* libgnat/s-assert.ads: Likewise.
* libgnat/s-atacco.adb: Likewise.
* libgnat/s-atacco.ads: Likewise.
* libgnat/s-atocou.adb: Likewise.
* libgnat/s-atocou.ads: Likewise.
* libgnat/s-atocou__builtin.adb: Likewise.
* libgnat/s-atoope.ads: Likewise.
* libgnat/s-atopex.adb: Likewise.
* libgnat/s-atopex.ads: Likewise.
* libgnat/s-atopri.adb: Likewise.
* libgnat/s-atopri.ads: Likewise.
* libgnat/s-auxdec.adb: Likewise.
* libgnat/s-auxdec.ads: Likewise.
* libgnat/s-bignum.adb: Likewise.
* libgnat/s-bignum.ads: Likewise.
* libgnat/s-bitfie.ads: Likewise.
* libgnat/s-bitops.adb: Likewise.
* libgnat/s-bitops.ads: Likewise.
* libgnat/s-bituti.adb: Likewise.
* libgnat/s-bituti.ads: Likewise.
* libgnat/s-boarop.ads: Likewise.
* libgnat/s-boustr.adb: Likewise.
* libgnat/s-boustr.ads: Likewise.
* libgnat/s-bytswa.ads: Likewise.
* libgnat/s-carsi8.adb: Likewise.
* libgnat/s-carsi8.ads: Likewise.
* libgnat/s-carun8.adb: Likewise.
* libgnat/s-carun8.ads: Likewise.
* libgnat/s-casi128.adb: Likewise.
* libgnat/s-casi128.ads: Likewise.
* libgnat/s-casi16.adb: Likewise.
* libgnat/s-casi16.ads: Likewise.
* libgnat/s-casi32.adb: Likewise.
* libgnat/s-casi32.ads: Likewise.
* libgnat/s-casi64.adb: Likewise.
* libgnat/s-casi64.ads: Likewise.
* libgnat/s-casuti.adb: Likewise.
* libgnat/s-casuti.ads: Likewise.
* libgnat/s-caun128.adb: Likewise.
* libgnat/s-caun128.ads: Likewise.
* libgnat/s-caun16.adb: Likewise.
* libgnat/s-caun16.ads: Likewise.
* libgnat/s-caun32.adb: Likewise.
* libgnat/s-caun32.ads: Likewise.
* libgnat/s-caun64.adb: Likewise.
* libgnat/s-caun64.ads: Likewise.
* libgnat/s-chepoo.ads: Likewise.
* libgnat/s-commun.adb: Likewise.
* libgnat/s-commun.ads: Likewise.
* libgnat/s-conca2.adb: Likewise.
* libgnat/s-conca2.ads: Likewise.
* libgnat/s-conca3.adb: Likewise.
* libgnat/s-conca3.ads: Likewise.
* libgnat/s-conca4.adb: Likewise.
* libgnat/s-conca4.ads: Likewise.
* libgnat/s-conca5.adb: Likewise.
* libgnat/s-conca5.ads: Likewise.
* libgnat/s-conca6.adb: Likewise.
* libgnat/s-conca6.ads: Likewise.
* libgnat/s-conca7.adb: Likewise.
* libgnat/s-conca7.ads: Likewise.
* libgnat/s-conca8.adb: Likewise.
* libgnat/s-conca8.ads: Likewise.
* libgnat/s-conca9.adb: Likewise.
* libgnat/s-conca9.ads: Likewise.
* libgnat/s-crc32.adb: Likewise.
* libgnat/s-crc32.ads: Likewise.
* libgnat/s-crtl.ads: Likewise.
* libgnat/s-dfmkio.ads: Likewise.
* libgnat/s-dfmopr.ads: Likewise.
* libgnat/s-dgmgop.ads: Likewise.
* libgnat/s-diflio.adb: Likewise.
* libgnat/s-diflio.ads: Likewise.
* libgnat/s-diflmk.ads: Likewise.
* libgnat/s-digemk.ads: Likewise.
* libgnat/s-diinio.adb: Likewise.
* libgnat/s-diinio.ads: Likewise.
* libgnat/s-dilomk.ads: Likewise.
* libgnat/s-dim.ads: Likewise.
* libgnat/s-dimkio.ads: Likewise.
* libgnat/s-dimmks.ads: Likewise.
* libgnat/s-direio.adb: Likewise.
* libgnat/s-direio.ads: Likewise.
* libgnat/s-dlmkio.ads: Likewise.
* libgnat/s-dlmopr.ads: Likewise.
* libgnat/s-dmotpr.ads: Likewise.
* libgnat/s-dorepr.adb: Likewise.
* libgnat/s-dorepr__fma.adb: Likewise.
* libgnat/s-dourea.adb: Likewise.
* libgnat/s-dourea.ads: Likewise.
* libgnat/s-dsaser.ads: Likewise.
* libgnat/s-dwalin.adb: Likewise.
* libgnat/s-dwalin.ads: Likewise.
* libgnat/s-elaall.adb: Likewise.
* libgnat/s-elaall.ads: Likewise.
* libgnat/s-excdeb.adb: Likewise.
* libgnat/s-excdeb.ads: Likewise.
* libgnat/s-except.adb: Likewise.
* libgnat/s-except.ads: Likewise.
* libgnat/s-excmac__arm.adb: Likewise.
* libgnat/s-excmac__arm.ads: Likewise.
* libgnat/s-excmac__gcc.adb: Likewise.
* libgnat/s-excmac__gcc.ads: Likewise.
* libgnat/s-exctab.adb: Likewise.
* libgnat/s-exctab.ads: Likewise.
* libgnat/s-exctra.adb: Likewise.
* libgnat/s-exctra.ads: Likewise.
* libgnat/s-exnflt.ads: Likewise.
* libgnat/s-exnint.adb: Likewise.
* libgnat/s-exnint.ads: Likewise.
* libgnat/s-exnlfl.ads: Likewise.
* libgnat/s-exnllf.adb: Likewise.
* libgnat/s-exnllf.ads: Likewise.
* libgnat/s-exnlli.adb: Likewise.
* libgnat/s-exnlli.ads: Likewise.
* libgnat/s-exnllli.ads: Likewise.
* libgnat/s-expint.adb: Likewise.
* libgnat/s-expint.ads: Likewise.
* libgnat/s-explli.adb: Likewise.
* libgnat/s-explli.ads: Likewise.
* libgnat/s-expllli.ads: Likewise.
* libgnat/s-explllu.ads: Likewise.
* libgnat/s-expllu.adb: Likewise.
* libgnat/s-expllu.ads: Likewise.
* libgnat/s-expmod.adb: Likewise.
* libgnat/s-expmod.ads: Likewise.
* libgnat/s-exponn.adb: Likewise.
* libgnat/s-exponn.ads: Likewise.
* libgnat/s-exponr.adb: Likewise.
* libgnat/s-exponr.ads: Likewise.
* libgnat/s-expont.adb: Likewise.
* libgnat/s-expont.ads: Likewise.
* libgnat/s-exponu.adb: Likewise.
* libgnat/s-exponu.ads: Likewise.
* libgnat/s-expuns.adb: Likewise.
* libgnat/s-expuns.ads: Likewise.
* libgnat/s-fatflt.ads: Likewise.
* libgnat/s-fatgen.adb: Likewise.
* libgnat/s-fatgen.ads: Likewise.
* libgnat/s-fatlfl.ads: Likewise.
* libgnat/s-fatllf.ads: Likewise.
* libgnat/s-ficobl.ads: Likewise.
* libgnat/s-filatt.ads: Likewise.
* libgnat/s-fileio.adb: Likewise.
* libgnat/s-fileio.ads: Likewise.
* libgnat/s-finmas.adb: Likewise.
* libgnat/s-finmas.ads: Likewise.
* libgnat/s-finroo.adb: Likewise.
* libgnat/s-finroo.ads: Likewise.
* libgnat/s-flocon.adb: Likewise.
* libgnat/s-flocon.ads: Likewise.
* libgnat/s-flocon__none.adb: Likewise.
* libgnat/s-fode128.ads: Likewise.
* libgnat/s-fode32.ads: Likewise.
* libgnat/s-fode64.ads: Likewise.
* libgnat/s-fofi128.ads: Likewise.
* libgnat/s-fofi32.ads: Likewise.
* libgnat/s-fofi64.ads: Likewise.
* libgnat/s-fore_d.adb: Likewise.
* libgnat/s-fore_d.ads: Likewise.
* libgnat/s-fore_f.adb: Likewise.
* libgnat/s-fore_f.ads: Likewise.
* libgnat/s-forrea.adb: Likewise.
* libgnat/s-forrea.ads: Likewise.
* libgnat/s-gearop.adb: Likewise.
* libgnat/s-gearop.ads: Likewise.
* libgnat/s-genbig.adb: Likewise.
* libgnat/s-genbig.ads: Likewise.
* libgnat/s-geveop.adb: Likewise.
* libgnat/s-geveop.ads: Likewise.
* libgnat/s-gloloc.adb: Likewise.
* libgnat/s-gloloc.ads: Likewise.
* libgnat/s-gloloc__mingw.adb: Likewise.
* libgnat/s-htable.adb: Likewise.
* libgnat/s-htable.ads: Likewise.
* libgnat/s-imageb.adb: Likewise.
* libgnat/s-imageb.ads: Likewise.
* libgnat/s-imaged.adb: Likewise.
* libgnat/s-imaged.ads: Likewise.
* libgnat/s-imagef.adb: Likewise.
* libgnat/s-imagef.ads: Likewise.
* libgnat/s-imagei.adb: Likewise.
* libgnat/s-imagei.ads: Likewise.
* libgnat/s-imagen.adb: Likewise.
* libgnat/s-imagen.ads: Likewise.
* libgnat/s-imager.adb: Likewise.
* libgnat/s-imager.ads: Likewise.
* libgnat/s-imageu.adb: Likewise.
* libgnat/s-imageu.ads: Likewise.
* libgnat/s-imagew.adb: Likewise.
* libgnat/s-imagew.ads: Likewise.
* libgnat/s-imde128.ads: Likewise.
* libgnat/s-imde32.ads: Likewise.
* libgnat/s-imde64.ads: Likewise.
* libgnat/s-imen16.ads: Likewise.
* libgnat/s-imen32.ads: Likewise.
* libgnat/s-imenu8.ads: Likewise.
* libgnat/s-imfi128.ads: Likewise.
* libgnat/s-imfi32.ads: Likewise.
* libgnat/s-imfi64.ads: Likewise.
* libgnat/s-imgbiu.adb: Likewise.
* libgnat/s-imgbiu.ads: Likewise.
* libgnat/s-imgboo.adb: Likewise.
* libgnat/s-imgboo.ads: Likewise.
* libgnat/s-imgcha.adb: Likewise.
* libgnat/s-imgcha.ads: Likewise.
* libgnat/s-imgflt.ads: Likewise.
* libgnat/s-imgint.adb: Likewise.
* libgnat/s-imgint.ads: Likewise.
* libgnat/s-imglfl.ads: Likewise.
* libgnat/s-imgllb.adb: Likewise.
* libgnat/s-imgllb.ads: Likewise.
* libgnat/s-imgllf.ads: Likewise.
* libgnat/s-imglli.adb: Likewise.
* libgnat/s-imglli.ads: Likewise.
* libgnat/s-imglllb.ads: Likewise.
* libgnat/s-imgllli.ads: Likewise.
* libgnat/s-imglllu.ads: Likewise.
* libgnat/s-imglllw.ads: Likewise.
* libgnat/s-imgllu.adb: Likewise.
* libgnat/s-imgllu.ads: Likewise.
* libgnat/s-imgllw.adb: Likewise.
* libgnat/s-imgllw.ads: Likewise.
* libgnat/s-imgrea.adb: Likewise.
* libgnat/s-imgrea.ads: Likewise.
* libgnat/s-imguns.adb: Likewise.
* libgnat/s-imguns.ads: Likewise.
* libgnat/s-imguti.adb: Likewise.
* libgnat/s-imguti.ads: Likewise.
* libgnat/s-imgwch.adb: Likewise.
* libgnat/s-imgwch.ads: Likewise.
* libgnat/s-imgwiu.adb: Likewise.
* libgnat/s-imgwiu.ads: Likewise.
* libgnat/s-io.adb: Likewise.
* libgnat/s-io.ads: Likewise.
* libgnat/s-llflex.ads: Likewise.
* libgnat/s-maccod.ads: Likewise.
* libgnat/s-mantis.adb: Likewise.
* libgnat/s-mantis.ads: Likewise.
* libgnat/s-mastop.adb: Likewise.
* libgnat/s-mastop.ads: Likewise.
* libgnat/s-memcop.ads: Likewise.
* libgnat/s-memory.adb: Likewise.
* libgnat/s-memory.ads: Likewise.
* libgnat/s-mmap.adb: Likewise.
* libgnat/s-mmap.ads: Likewise.
* libgnat/s-mmauni__long.ads: Likewise.
* libgnat/s-mmosin__mingw.adb: Likewise.
* libgnat/s-mmosin__mingw.ads: Likewise.
* libgnat/s-mmosin__unix.adb: Likewise.
* libgnat/s-mmosin__unix.ads: Likewise.
* libgnat/s-multip.adb: Likewise.
* libgnat/s-objrea.adb: Likewise.
* libgnat/s-objrea.ads: Likewise.
* libgnat/s-optide.adb: Likewise.
* libgnat/s-os_lib.adb: Likewise.
* libgnat/s-os_lib.ads: Likewise.
* libgnat/s-osprim.ads: Likewise.
* libgnat/s-osprim__darwin.adb: Likewise.
* libgnat/s-osprim__lynxos.ads: Likewise.
* libgnat/s-osprim__mingw.adb: Likewise.
* libgnat/s-osprim__posix.adb: Likewise.
* libgnat/s-osprim__posix2008.adb: Likewise.
* libgnat/s-osprim__rtems.adb: Likewise.
* libgnat/s-osprim__solaris.adb: Likewise.
* libgnat/s-osprim__unix.adb: Likewise.
* libgnat/s-osprim__x32.adb: Likewise.
* libgnat/s-pack03.adb: Likewise.
* libgnat/s-pack03.ads: Likewise.
* libgnat/s-pack05.adb: Likewise.
* libgnat/s-pack05.ads: Likewise.
* libgnat/s-pack06.adb: Likewise.
* libgnat/s-pack06.ads: Likewise.
* libgnat/s-pack07.adb: Likewise.
* libgnat/s-pack07.ads: Likewise.
* libgnat/s-pack09.adb: Likewise.
* libgnat/s-pack09.ads: Likewise.
* libgnat/s-pack10.adb: Likewise.
* libgnat/s-pack10.ads: Likewise.
* libgnat/s-pack100.adb: Likewise.
* libgnat/s-pack100.ads: Likewise.
* libgnat/s-pack101.adb: Likewise.
* libgnat/s-pack101.ads: Likewise.
* libgnat/s-pack102.adb: Likewise.
* libgnat/s-pack102.ads: Likewise.
* libgnat/s-pack103.adb: Likewise.
* libgnat/s-pack103.ads: Likewise.
* libgnat/s-pack104.adb: Likewise.
* libgnat/s-pack104.ads: Likewise.
* libgnat/s-pack105.adb: Likewise.
* libgnat/s-pack105.ads: Likewise.
* libgnat/s-pack106.adb: Likewise.
* libgnat/s-pack106.ads: Likewise.
* libgnat/s-pack107.adb: Likewise.
* libgnat/s-pack107.ads: Likewise.
* libgnat/s-pack108.adb: Likewise.
* libgnat/s-pack108.ads: Likewise.
* libgnat/s-pack109.adb: Likewise.
* libgnat/s-pack109.ads: Likewise.
* libgnat/s-pack11.adb: Likewise.
* libgnat/s-pack11.ads: Likewise.
* libgnat/s-pack110.adb: Likewise.
* libgnat/s-pack110.ads: Likewise.
* libgnat/s-pack111.adb: Likewise.
* libgnat/s-pack111.ads: Likewise.
* libgnat/s-pack112.adb: Likewise.
* libgnat/s-pack112.ads: Likewise.
* libgnat/s-pack113.adb: Likewise.
* libgnat/s-pack113.ads: Likewise.
* libgnat/s-pack114.adb: Likewise.
* libgnat/s-pack114.ads: Likewise.
* libgnat/s-pack115.adb: Likewise.
* libgnat/s-pack115.ads: Likewise.
* libgnat/s-pack116.adb: Likewise.
* libgnat/s-pack116.ads: Likewise.
* libgnat/s-pack117.adb: Likewise.
* libgnat/s-pack117.ads: Likewise.
* libgnat/s-pack118.adb: Likewise.
* libgnat/s-pack118.ads: Likewise.
* libgnat/s-pack119.adb: Likewise.
* libgnat/s-pack119.ads: Likewise.
* libgnat/s-pack12.adb: Likewise.
* libgnat/s-pack12.ads: Likewise.
* libgnat/s-pack120.adb: Likewise.
* libgnat/s-pack120.ads: Likewise.
* libgnat/s-pack121.adb: Likewise.
* libgnat/s-pack121.ads: Likewise.
* libgnat/s-pack122.adb: Likewise.
* libgnat/s-pack122.ads: Likewise.
* libgnat/s-pack123.adb: Likewise.
* libgnat/s-pack123.ads: Likewise.
* libgnat/s-pack124.adb: Likewise.
* libgnat/s-pack124.ads: Likewise.
* libgnat/s-pack125.adb: Likewise.
* libgnat/s-pack125.ads: Likewise.
* libgnat/s-pack126.adb: Likewise.
* libgnat/s-pack126.ads: Likewise.
* libgnat/s-pack127.adb: Likewise.
* libgnat/s-pack127.ads: Likewise.
* libgnat/s-pack13.adb: Likewise.
* libgnat/s-pack13.ads: Likewise.
* libgnat/s-pack14.adb: Likewise.
* libgnat/s-pack14.ads: Likewise.
* libgnat/s-pack15.adb: Likewise.
* libgnat/s-pack15.ads: Likewise.
* libgnat/s-pack17.adb: Likewise.
* libgnat/s-pack17.ads: Likewise.
* libgnat/s-pack18.adb: Likewise.
* libgnat/s-pack18.ads: Likewise.
* libgnat/s-pack19.adb: Likewise.
* libgnat/s-pack19.ads: Likewise.
* libgnat/s-pack20.adb: Likewise.
* libgnat/s-pack20.ads: Likewise.
* libgnat/s-pack21.adb: Likewise.
* libgnat/s-pack21.ads: Likewise.
* libgnat/s-pack22.adb: Likewise.
* libgnat/s-pack22.ads: Likewise.
* libgnat/s-pack23.adb: Likewise.
* libgnat/s-pack23.ads: Likewise.
* libgnat/s-pack24.adb: Likewise.
* libgnat/s-pack24.ads: Likewise.
* libgnat/s-pack25.adb: Likewise.
* libgnat/s-pack25.ads: Likewise.
* libgnat/s-pack26.adb: Likewise.
* libgnat/s-pack26.ads: Likewise.
* libgnat/s-pack27.adb: Likewise.
* libgnat/s-pack27.ads: Likewise.
* libgnat/s-pack28.adb: Likewise.
* libgnat/s-pack28.ads: Likewise.
* libgnat/s-pack29.adb: Likewise.
* libgnat/s-pack29.ads: Likewise.
* libgnat/s-pack30.adb: Likewise.
* libgnat/s-pack30.ads: Likewise.
* libgnat/s-pack31.adb: Likewise.
* libgnat/s-pack31.ads: Likewise.
* libgnat/s-pack33.adb: Likewise.
* libgnat/s-pack33.ads: Likewise.
* libgnat/s-pack34.adb: Likewise.
* libgnat/s-pack34.ads: Likewise.
* libgnat/s-pack35.adb: Likewise.
* libgnat/s-pack35.ads: Likewise.
* libgnat/s-pack36.adb: Likewise.
* libgnat/s-pack36.ads: Likewise.
* libgnat/s-pack37.adb: Likewise.
* libgnat/s-pack37.ads: Likewise.
* libgnat/s-pack38.adb: Likewise.
* libgnat/s-pack38.ads: Likewise.
* libgnat/s-pack39.adb: Likewise.
* libgnat/s-pack39.ads: Likewise.
* libgnat/s-pack40.adb: Likewise.
* libgnat/s-pack40.ads: Likewise.
* libgnat/s-pack41.adb: Likewise.
* libgnat/s-pack41.ads: Likewise.
* libgnat/s-pack42.adb: Likewise.
* libgnat/s-pack42.ads: Likewise.
* libgnat/s-pack43.adb: Likewise.
* libgnat/s-pack43.ads: Likewise.
* libgnat/s-pack44.adb: Likewise.
* libgnat/s-pack44.ads: Likewise.
* libgnat/s-pack45.adb: Likewise.
* libgnat/s-pack45.ads: Likewise.
* libgnat/s-pack46.adb: Likewise.
* libgnat/s-pack46.ads: Likewise.
* libgnat/s-pack47.adb: Likewise.
* libgnat/s-pack47.ads: Likewise.
* libgnat/s-pack48.adb: Likewise.
* libgnat/s-pack48.ads: Likewise.
* libgnat/s-pack49.adb: Likewise.
* libgnat/s-pack49.ads: Likewise.
* libgnat/s-pack50.adb: Likewise.
* libgnat/s-pack50.ads: Likewise.
* libgnat/s-pack51.adb: Likewise.
* libgnat/s-pack51.ads: Likewise.
* libgnat/s-pack52.adb: Likewise.
* libgnat/s-pack52.ads: Likewise.
* libgnat/s-pack53.adb: Likewise.
* libgnat/s-pack53.ads: Likewise.
* libgnat/s-pack54.adb: Likewise.
* libgnat/s-pack54.ads: Likewise.
* libgnat/s-pack55.adb: Likewise.
* libgnat/s-pack55.ads: Likewise.
* libgnat/s-pack56.adb: Likewise.
* libgnat/s-pack56.ads: Likewise.
* libgnat/s-pack57.adb: Likewise.
* libgnat/s-pack57.ads: Likewise.
* libgnat/s-pack58.adb: Likewise.
* libgnat/s-pack58.ads: Likewise.
* libgnat/s-pack59.adb: Likewise.
* libgnat/s-pack59.ads: Likewise.
* libgnat/s-pack60.adb: Likewise.
* libgnat/s-pack60.ads: Likewise.
* libgnat/s-pack61.adb: Likewise.
* libgnat/s-pack61.ads: Likewise.
* libgnat/s-pack62.adb: Likewise.
* libgnat/s-pack62.ads: Likewise.
* libgnat/s-pack63.adb: Likewise.
* libgnat/s-pack63.ads: Likewise.
* libgnat/s-pack65.adb: Likewise.
* libgnat/s-pack65.ads: Likewise.
* libgnat/s-pack66.adb: Likewise.
* libgnat/s-pack66.ads: Likewise.
* libgnat/s-pack67.adb: Likewise.
* libgnat/s-pack67.ads: Likewise.
* libgnat/s-pack68.adb: Likewise.
* libgnat/s-pack68.ads: Likewise.
* libgnat/s-pack69.adb: Likewise.
* libgnat/s-pack69.ads: Likewise.
* libgnat/s-pack70.adb: Likewise.
* libgnat/s-pack70.ads: Likewise.
* libgnat/s-pack71.adb: Likewise.
* libgnat/s-pack71.ads: Likewise.
* libgnat/s-pack72.adb: Likewise.
* libgnat/s-pack72.ads: Likewise.
* libgnat/s-pack73.adb: Likewise.
* libgnat/s-pack73.ads: Likewise.
* libgnat/s-pack74.adb: Likewise.
* libgnat/s-pack74.ads: Likewise.
* libgnat/s-pack75.adb: Likewise.
* libgnat/s-pack75.ads: Likewise.
* libgnat/s-pack76.adb: Likewise.
* libgnat/s-pack76.ads: Likewise.
* libgnat/s-pack77.adb: Likewise.
* libgnat/s-pack77.ads: Likewise.
* libgnat/s-pack78.adb: Likewise.
* libgnat/s-pack78.ads: Likewise.
* libgnat/s-pack79.adb: Likewise.
* libgnat/s-pack79.ads: Likewise.
* libgnat/s-pack80.adb: Likewise.
* libgnat/s-pack80.ads: Likewise.
* libgnat/s-pack81.adb: Likewise.
* libgnat/s-pack81.ads: Likewise.
* libgnat/s-pack82.adb: Likewise.
* libgnat/s-pack82.ads: Likewise.
* libgnat/s-pack83.adb: Likewise.
* libgnat/s-pack83.ads: Likewise.
* libgnat/s-pack84.adb: Likewise.
* libgnat/s-pack84.ads: Likewise.
* libgnat/s-pack85.adb: Likewise.
* libgnat/s-pack85.ads: Likewise.
* libgnat/s-pack86.adb: Likewise.
* libgnat/s-pack86.ads: Likewise.
* libgnat/s-pack87.adb: Likewise.
* libgnat/s-pack87.ads: Likewise.
* libgnat/s-pack88.adb: Likewise.
* libgnat/s-pack88.ads: Likewise.
* libgnat/s-pack89.adb: Likewise.
* libgnat/s-pack89.ads: Likewise.
* libgnat/s-pack90.adb: Likewise.
* libgnat/s-pack90.ads: Likewise.
* libgnat/s-pack91.adb: Likewise.
* libgnat/s-pack91.ads: Likewise.
* libgnat/s-pack92.adb: Likewise.
* libgnat/s-pack92.ads: Likewise.
* libgnat/s-pack93.adb: Likewise.
* libgnat/s-pack93.ads: Likewise.
* libgnat/s-pack94.adb: Likewise.
* libgnat/s-pack94.ads: Likewise.
* libgnat/s-pack95.adb: Likewise.
* libgnat/s-pack95.ads: Likewise.
* libgnat/s-pack96.adb: Likewise.
* libgnat/s-pack96.ads: Likewise.
* libgnat/s-pack97.adb: Likewise.
* libgnat/s-pack97.ads: Likewise.
* libgnat/s-pack98.adb: Likewise.
* libgnat/s-pack98.ads: Likewise.
* libgnat/s-pack99.adb: Likewise.
* libgnat/s-pack99.ads: Likewise.
* libgnat/s-parame.adb: Likewise.
* libgnat/s-parame.ads: Likewise.
* libgnat/s-parame__hpux.ads: Likewise.
* libgnat/s-parame__posix2008.ads: Likewise.
* libgnat/s-parame__rtems.adb: Likewise.
* libgnat/s-parame__vxworks.adb: Likewise.
* libgnat/s-parame__vxworks.ads: Likewise.
* libgnat/s-parint.adb: Likewise.
* libgnat/s-parint.ads: Likewise.
* libgnat/s-pehage.adb: Likewise.
* libgnat/s-pehage.ads: Likewise.
* libgnat/s-pooglo.adb: Likewise.
* libgnat/s-pooglo.ads: Likewise.
* libgnat/s-pooloc.adb: Likewise.
* libgnat/s-pooloc.ads: Likewise.
* libgnat/s-poosiz.adb: Likewise.
* libgnat/s-poosiz.ads: Likewise.
* libgnat/s-powflt.ads: Likewise.
* libgnat/s-powlfl.ads: Likewise.
* libgnat/s-powllf.ads: Likewise.
* libgnat/s-purexc.ads: Likewise.
* libgnat/s-putima.adb: Likewise.
* libgnat/s-putima.ads: Likewise.
* libgnat/s-rannum.adb: Likewise.
* libgnat/s-rannum.ads: Likewise.
* libgnat/s-ransee.adb: Likewise.
* libgnat/s-ransee.ads: Likewise.
* libgnat/s-regexp.adb: Likewise.
* libgnat/s-regexp.ads: Likewise.
* libgnat/s-regpat.adb: Likewise.
* libgnat/s-regpat.ads: Likewise.
* libgnat/s-resfil.adb: Likewise.
* libgnat/s-resfil.ads: Likewise.
* libgnat/s-restri.adb: Likewise.
* libgnat/s-restri.ads: Likewise.
* libgnat/s-rident.ads: Likewise.
* libgnat/s-rpc.adb: Likewise.
* libgnat/s-rpc.ads: Likewise.
* libgnat/s-scaval.adb: Likewise.
* libgnat/s-scaval.ads: Likewise.
* libgnat/s-scaval__128.adb: Likewise.
* libgnat/s-scaval__128.ads: Likewise.
* libgnat/s-secsta.adb: Likewise.
* libgnat/s-secsta.ads: Likewise.
* libgnat/s-sequio.adb: Likewise.
* libgnat/s-sequio.ads: Likewise.
* libgnat/s-shabig.ads: Likewise.
* libgnat/s-shasto.adb: Likewise.
* libgnat/s-shasto.ads: Likewise.
* libgnat/s-soflin.adb: Likewise.
* libgnat/s-soflin.ads: Likewise.
* libgnat/s-soliin.adb: Likewise.
* libgnat/s-soliin.ads: Likewise.
* libgnat/s-spsufi.adb: Likewise.
* libgnat/s-spsufi.ads: Likewise.
* libgnat/s-stache.adb: Likewise.
* libgnat/s-stache.ads: Likewise.
* libgnat/s-stalib.adb: Likewise.
* libgnat/s-stalib.ads: Likewise.
* libgnat/s-statxd.adb: Likewise.
* libgnat/s-statxd.ads: Likewise.
* libgnat/s-stausa.adb: Likewise.
* libgnat/s-stausa.ads: Likewise.
* libgnat/s-stchop.adb: Likewise.
* libgnat/s-stchop.ads: Likewise.
* libgnat/s-stchop__limit.ads: Likewise.
* libgnat/s-stchop__vxworks.adb: Likewise.
* libgnat/s-stoele.adb: Likewise.
* libgnat/s-stoele.ads: Likewise.
* libgnat/s-stopoo.adb: Likewise.
* libgnat/s-stopoo.ads: Likewise.
* libgnat/s-stposu.adb: Likewise.
* libgnat/s-stposu.ads: Likewise.
* libgnat/s-stratt.adb: Likewise.
* libgnat/s-stratt.ads: Likewise.
* libgnat/s-strcom.adb: Likewise.
* libgnat/s-strcom.ads: Likewise.
* libgnat/s-strhas.adb: Likewise.
* libgnat/s-strhas.ads: Likewise.
* libgnat/s-string.adb: Likewise.
* libgnat/s-string.ads: Likewise.
* libgnat/s-ststop.adb: Likewise.
* libgnat/s-ststop.ads: Likewise.
* libgnat/s-tasloc.adb: Likewise.
* libgnat/s-tasloc.ads: Likewise.
* libgnat/s-traceb.adb: Likewise.
* libgnat/s-traceb.ads: Likewise.
* libgnat/s-traceb__hpux.adb: Likewise.
* libgnat/s-traceb__mastop.adb: Likewise.
* libgnat/s-traent.adb: Likewise.
* libgnat/s-traent.ads: Likewise.
* libgnat/s-trasym.adb: Likewise.
* libgnat/s-trasym.ads: Likewise.
* libgnat/s-trasym__dwarf.adb: Likewise.
* libgnat/s-tsmona.adb: Likewise.
* libgnat/s-tsmona__linux.adb: Likewise.
* libgnat/s-tsmona__mingw.adb: Likewise.
* libgnat/s-unstyp.ads: Likewise.
* libgnat/s-utf_32.adb: Likewise.
* libgnat/s-utf_32.ads: Likewise.
* libgnat/s-vade128.ads: Likewise.
* libgnat/s-vade32.ads: Likewise.
* libgnat/s-vade64.ads: Likewise.
* libgnat/s-vaen16.ads: Likewise.
* libgnat/s-vaen32.ads: Likewise.
* libgnat/s-vaenu8.ads: Likewise.
* libgnat/s-vafi128.ads: Likewise.
* libgnat/s-vafi32.ads: Likewise.
* libgnat/s-vafi64.ads: Likewise.
* libgnat/s-valboo.adb: Likewise.
* libgnat/s-valboo.ads: Likewise.
* libgnat/s-valcha.adb: Likewise.
* libgnat/s-valcha.ads: Likewise.
* libgnat/s-valflt.ads: Likewise.
* libgnat/s-valint.adb: Likewise.
* libgnat/s-valint.ads: Likewise.
* libgnat/s-vallfl.ads: Likewise.
* libgnat/s-valllf.ads: Likewise.
* libgnat/s-vallli.adb: Likewise.
* libgnat/s-vallli.ads: Likewise.
* libgnat/s-valllli.ads: Likewise.
* libgnat/s-vallllu.ads: Likewise.
* libgnat/s-valllu.adb: Likewise.
* libgnat/s-valllu.ads: Likewise.
* libgnat/s-valrea.adb: Likewise.
* libgnat/s-valrea.ads: Likewise.
* libgnat/s-valued.adb: Likewise.
* libgnat/s-valued.ads: Likewise.
* libgnat/s-valuef.adb: Likewise.
* libgnat/s-valuef.ads: Likewise.
* libgnat/s-valuei.adb: Likewise.
* libgnat/s-valuei.ads: Likewise.
* libgnat/s-valuen.adb: Likewise.
* libgnat/s-valuen.ads: Likewise.
* libgnat/s-valuer.adb: Likewise.
* libgnat/s-valuer.ads: Likewise.
* libgnat/s-valueu.adb: Likewise.
* libgnat/s-valueu.ads: Likewise.
* libgnat/s-valuns.adb: Likewise.
* libgnat/s-valuns.ads: Likewise.
* libgnat/s-valuti.adb: Likewise.
* libgnat/s-valuti.ads: Likewise.
* libgnat/s-valwch.adb: Likewise.
* libgnat/s-valwch.ads: Likewise.
* libgnat/s-veboop.adb: Likewise.
* libgnat/s-veboop.ads: Likewise.
* libgnat/s-vector.ads: Likewise.
* libgnat/s-vercon.adb: Likewise.
* libgnat/s-vercon.ads: Likewise.
* libgnat/s-wchcnv.adb: Likewise.
* libgnat/s-wchcnv.ads: Likewise.
* libgnat/s-wchcon.adb: Likewise.
* libgnat/s-wchcon.ads: Likewise.
* libgnat/s-wchjis.adb: Likewise.
* libgnat/s-wchjis.ads: Likewise.
* libgnat/s-wchstw.adb: Likewise.
* libgnat/s-wchstw.ads: Likewise.
* libgnat/s-wchwts.adb: Likewise.
* libgnat/s-wchwts.ads: Likewise.
* libgnat/s-widboo.adb: Likewise.
* libgnat/s-widboo.ads: Likewise.
* libgnat/s-widcha.adb: Likewise.
* libgnat/s-widcha.ads: Likewise.
* libgnat/s-widenu.adb: Likewise.
* libgnat/s-widenu.ads: Likewise.
* libgnat/s-widint.ads: Likewise.
* libgnat/s-widlli.adb: Likewise.
* libgnat/s-widlli.ads: Likewise.
* libgnat/s-widllli.ads: Likewise.
* libgnat/s-widlllu.ads: Likewise.
* libgnat/s-widllu.adb: Likewise.
* libgnat/s-widllu.ads: Likewise.
* libgnat/s-widthi.adb: Likewise.
* libgnat/s-widthi.ads: Likewise.
* libgnat/s-widthu.adb: Likewise.
* libgnat/s-widthu.ads: Likewise.
* libgnat/s-widuns.ads: Likewise.
* libgnat/s-widwch.adb: Likewise.
* libgnat/s-widwch.ads: Likewise.
* libgnat/s-win32.ads: Likewise.
* libgnat/s-winext.ads: Likewise.
* libgnat/s-wwdcha.adb: Likewise.
* libgnat/s-wwdcha.ads: Likewise.
* libgnat/s-wwdenu.adb: Likewise.
* libgnat/s-wwdenu.ads: Likewise.
* libgnat/s-wwdwch.adb: Likewise.
* libgnat/s-wwdwch.ads: Likewise.
* libgnat/system-aix.ads: Likewise.
* libgnat/system-darwin-arm.ads: Likewise.
* libgnat/system-darwin-ppc.ads: Likewise.
* libgnat/system-darwin-x86.ads: Likewise.
* libgnat/system-djgpp.ads: Likewise.
* libgnat/system-dragonfly-x86_64.ads: Likewise.
* libgnat/system-freebsd.ads: Likewise.
* libgnat/system-hpux-ia64.ads: Likewise.
* libgnat/system-hpux.ads: Likewise.
* libgnat/system-linux-alpha.ads: Likewise.
* libgnat/system-linux-arm.ads: Likewise.
* libgnat/system-linux-hppa.ads: Likewise.
* libgnat/system-linux-ia64.ads: Likewise.
* libgnat/system-linux-m68k.ads: Likewise.
* libgnat/system-linux-mips.ads: Likewise.
* libgnat/system-linux-ppc.ads: Likewise.
* libgnat/system-linux-riscv.ads: Likewise.
* libgnat/system-linux-s390.ads: Likewise.
* libgnat/system-linux-sh4.ads: Likewise.
* libgnat/system-linux-sparc.ads: Likewise.
* libgnat/system-linux-x86.ads: Likewise.
* libgnat/system-lynxos178-ppc.ads: Likewise.
* libgnat/system-lynxos178-x86.ads: Likewise.
* libgnat/system-mingw.ads: Likewise.
* libgnat/system-qnx-aarch64.ads: Likewise.
* libgnat/system-rtems.ads: Likewise.
* libgnat/system-solaris-sparc.ads: Likewise.
* libgnat/system-solaris-x86.ads: Likewise.
* libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
* libgnat/system-vxworks-arm-rtp.ads: Likewise.
* libgnat/system-vxworks-arm.ads: Likewise.
* libgnat/system-vxworks-e500-kernel.ads: Likewise.
* libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
* libgnat/system-vxworks-e500-rtp.ads: Likewise.
* libgnat/system-vxworks-ppc-kernel.ads: Likewise.
* libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
* libgnat/system-vxworks-ppc-rtp.ads: Likewise.
* libgnat/system-vxworks-x86-kernel.ads: Likewise.
* libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
* libgnat/system-vxworks-x86-rtp.ads: Likewise.
* libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-aarch64.ads: Likewise.
* libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-arm.ads: Likewise.
* libgnat/system-vxworks7-e500-kernel.ads: Likewise.
* libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-e500-rtp.ads: Likewise.
* libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
* libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
* libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
* libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-x86-kernel.ads: Likewise.
* libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-x86-rtp.ads: Likewise.
* libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
* libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
* link.c: Likewise.
* live.adb: Likewise.
* live.ads: Likewise.
* locales.c: Likewise.
* make.adb: Likewise.
* make.ads: Likewise.
* make_util.adb: Likewise.
* make_util.ads: Likewise.
* makeusg.adb: Likewise.
* makeusg.ads: Likewise.
* mdll-fil.adb: Likewise.
* mdll-fil.ads: Likewise.
* mdll-utl.adb: Likewise.
* mdll-utl.ads: Likewise.
* mdll.adb: Likewise.
* mdll.ads: Likewise.
* mingw32.h: Likewise.
* mkdir.c: Likewise.
* namet-sp.adb: Likewise.
* namet-sp.ads: Likewise.
* namet.adb: Likewise.
* namet.ads: Likewise.
* namet.h: Likewise.
* nlists.adb: Likewise.
* nlists.ads: Likewise.
* nlists.h: Likewise.
* opt.adb: Likewise.
* opt.ads: Likewise.
* osint-b.adb: Likewise.
* osint-b.ads: Likewise.
* osint-c.adb: Likewise.
* osint-c.ads: Likewise.
* osint-l.adb: Likewise.
* osint-l.ads: Likewise.
* osint-m.adb: Likewise.
* osint-m.ads: Likewise.
* osint.adb: Likewise.
* osint.ads: Likewise.
* output.adb: Likewise.
* output.ads: Likewise.
* par-ch10.adb: Likewise.
* par-ch11.adb: Likewise.
* par-ch12.adb: Likewise.
* par-ch13.adb: Likewise.
* par-ch2.adb: Likewise.
* par-ch3.adb: Likewise.
* par-ch4.adb: Likewise.
* par-ch5.adb: Likewise.
* par-ch6.adb: Likewise.
* par-ch7.adb: Likewise.
* par-ch8.adb: Likewise.
* par-ch9.adb: Likewise.
* par-endh.adb: Likewise.
* par-labl.adb: Likewise.
* par-load.adb: Likewise.
* par-prag.adb: Likewise.
* par-sync.adb: Likewise.
* par-tchk.adb: Likewise.
* par-util.adb: Likewise.
* par.adb: Likewise.
* par.ads: Likewise.
* par_sco.adb: Likewise.
* par_sco.ads: Likewise.
* pprint.adb: Likewise.
* pprint.ads: Likewise.
* prep.adb: Likewise.
* prep.ads: Likewise.
* prepcomp.adb: Likewise.
* prepcomp.ads: Likewise.
* put_scos.adb: Likewise.
* put_scos.ads: Likewise.
* raise-gcc.c: Likewise.
* raise.c: Likewise.
* raise.h: Likewise.
* repinfo-input.adb: Likewise.
* repinfo-input.ads: Likewise.
* repinfo.adb: Likewise.
* repinfo.ads: Likewise.
* repinfo.h: Likewise.
* restrict.adb: Likewise.
* restrict.ads: Likewise.
* rident.ads: Likewise.
* rtfinal.c: Likewise.
* rtinit.c: Likewise.
* rtsfind.adb: Likewise.
* rtsfind.ads: Likewise.
* runtime.h: Likewise.
* s-oscons-tmplt.c: Likewise.
* sa_messages.adb: Likewise.
* sa_messages.ads: Likewise.
* scans.adb: Likewise.
* scans.ads: Likewise.
* scil_ll.adb: Likewise.
* scil_ll.ads: Likewise.
* scn.adb: Likewise.
* scn.ads: Likewise.
* scng.adb: Likewise.
* scng.ads: Likewise.
* scos.adb: Likewise.
* scos.ads: Likewise.
* scos.h: Likewise.
* sdefault.ads: Likewise.
* seh_init.c: Likewise.
* sem.adb: Likewise.
* sem.ads: Likewise.
* sem_aggr.adb: Likewise.
* sem_aggr.ads: Likewise.
* sem_attr.adb: Likewise.
* sem_attr.ads: Likewise.
* sem_aux.adb: Likewise.
* sem_aux.ads: Likewise.
* sem_case.adb: Likewise.
* sem_case.ads: Likewise.
* sem_cat.adb: Likewise.
* sem_cat.ads: Likewise.
* sem_ch10.adb: Likewise.
* sem_ch10.ads: Likewise.
* sem_ch11.adb: Likewise.
* sem_ch11.ads: Likewise.
* sem_ch12.adb: Likewise.
* sem_ch12.ads: Likewise.
* sem_ch13.adb: Likewise.
* sem_ch13.ads: Likewise.
* sem_ch2.adb: Likewise.
* sem_ch2.ads: Likewise.
* sem_ch3.adb: Likewise.
* sem_ch3.ads: Likewise.
* sem_ch4.adb: Likewise.
* sem_ch4.ads: Likewise.
* sem_ch5.adb: Likewise.
* sem_ch5.ads: Likewise.
* sem_ch6.adb: Likewise.
* sem_ch6.ads: Likewise.
* sem_ch7.adb: Likewise.
* sem_ch7.ads: Likewise.
* sem_ch8.adb: Likewise.
* sem_ch8.ads: Likewise.
* sem_ch9.adb: Likewise.
* sem_ch9.ads: Likewise.
* sem_dim.adb: Likewise.
* sem_dim.ads: Likewise.
* sem_disp.adb: Likewise.
* sem_disp.ads: Likewise.
* sem_dist.adb: Likewise.
* sem_dist.ads: Likewise.
* sem_elab.adb: Likewise.
* sem_elab.ads: Likewise.
* sem_elim.adb: Likewise.
* sem_elim.ads: Likewise.
* sem_eval.adb: Likewise.
* sem_eval.ads: Likewise.
* sem_intr.adb: Likewise.
* sem_intr.ads: Likewise.
* sem_mech.adb: Likewise.
* sem_mech.ads: Likewise.
* sem_prag.adb: Likewise.
* sem_prag.ads: Likewise.
* sem_res.adb: Likewise.
* sem_res.ads: Likewise.
* sem_scil.adb: Likewise.
* sem_scil.ads: Likewise.
* sem_smem.adb: Likewise.
* sem_smem.ads: Likewise.
* sem_type.adb: Likewise.
* sem_type.ads: Likewise.
* sem_util.adb: Likewise.
* sem_util.ads: Likewise.
* sem_warn.adb: Likewise.
* sem_warn.ads: Likewise.
* set_targ.adb: Likewise.
* set_targ.ads: Likewise.
* sfn_scan.adb: Likewise.
* sfn_scan.ads: Likewise.
* sigtramp-armdroid.c: Likewise.
* sigtramp-ios.c: Likewise.
* sigtramp-qnx.c: Likewise.
* sigtramp-vxworks-target.h: Likewise.
* sigtramp-vxworks.c: Likewise.
* sigtramp.h: Likewise.
* sinfo-cn.adb: Likewise.
* sinfo-cn.ads: Likewise.
* sinfo-utils.adb: Likewise.
* sinfo-utils.ads: Likewise.
* sinfo.adb: Likewise.
* sinfo.ads: Likewise.
* sinput-c.adb: Likewise.
* sinput-c.ads: Likewise.
* sinput-d.adb: Likewise.
* sinput-d.ads: Likewise.
* sinput-l.adb: Likewise.
* sinput-l.ads: Likewise.
* sinput.adb: Likewise.
* sinput.ads: Likewise.
* socket.c: Likewise.
* spark_xrefs.adb: Likewise.
* spark_xrefs.ads: Likewise.
* sprint.adb: Likewise.
* sprint.ads: Likewise.
* stand.ads: Likewise.
* stringt.adb: Likewise.
* stringt.ads: Likewise.
* stringt.h: Likewise.
* strub.adb: Likewise.
* strub.ads: Likewise.
* style.adb: Likewise.
* style.ads: Likewise.
* styleg.adb: Likewise.
* styleg.ads: Likewise.
* stylesw.adb: Likewise.
* stylesw.ads: Likewise.
* switch-b.adb: Likewise.
* switch-b.ads: Likewise.
* switch-c.adb: Likewise.
* switch-c.ads: Likewise.
* switch-m.adb: Likewise.
* switch-m.ads: Likewise.
* switch.adb: Likewise.
* switch.ads: Likewise.
* sysdep.c: Likewise.
* table.adb: Likewise.
* table.ads: Likewise.
* targext.c: Likewise.
* targparm.adb: Likewise.
* targparm.ads: Likewise.
* tbuild.adb: Likewise.
* tbuild.ads: Likewise.
* tempdir.adb: Likewise.
* tempdir.ads: Likewise.
* terminals.c: Likewise.
* tracebak.c: Likewise.
* treepr.adb: Likewise.
* treepr.ads: Likewise.
* ttypes.ads: Likewise.
* types.adb: Likewise.
* types.ads: Likewise.
* types.h: Likewise.
* uintp.adb: Likewise.
* uintp.ads: Likewise.
* uintp.h: Likewise.
* uname.adb: Likewise.
* uname.ads: Likewise.
* urealp.adb: Likewise.
* urealp.ads: Likewise.
* urealp.h: Likewise.
* usage.adb: Likewise.
* usage.ads: Likewise.
* validsw.adb: Likewise.
* validsw.ads: Likewise.
* vast.adb: Likewise.
* vast.ads: Likewise.
* warnsw.adb: Likewise.
* warnsw.ads: Likewise.
* widechar.adb: Likewise.
* widechar.ads: Likewise.
* xoscons.adb: Likewise.
* xr_tabls.adb: Likewise.
* xr_tabls.ads: Likewise.
* xref_lib.adb: Likewise.
* xref_lib.ads: Likewise.
* xsnamest.adb: Likewise.
* xutil.adb: Likewise.
* xutil.ads: Likewise.
2022-01-11 Richard Kenner <kenner@adacore.com>
* debug.adb: Add documentation for new -gnatd_u and old -gnatd_R
flags used for GNAT LLVM and its CCG.
2022-01-11 Piotr Trojanek <trojanek@adacore.com>
* Makefile.rtl (X86_TARGET_PAIRS): Use __builtin variant of
System.Atomic_Counters.
* libgnat/s-atocou__x86.adb: Remove.
2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/trans.c (Identifier_to_gnu): Use correct subtype.
(elaborate_profile): New function.
(Call_to_gnu): Call it on the formals and the result type before
retrieving the translated result type from the subprogram type.
2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Fix
computation of boolean result in the unchecked union case.
(components_to_record): Rename MAYBE_UNUSED parameter to IN_VARIANT
and remove local variable of the same name. Pass NULL recursively
as P_GNU_REP_LIST for nested variants in the unchecked union case.
2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/trans.c (lvalue_required_p) <N_Pragma>: New case.
<N_Pragma_Argument_Association>: Likewise.
(Pragma_to_gnu) <Pragma_Inspection_Point>: Fetch the corresponding
variable of a constant before marking it as addressable.
2022-01-10 Arnaud Charlet <charlet@adacore.com>
* gcc-interface/Make-lang.in (ADA_GENERATED_FILES): Remove
s-casuti.ad?, s-crtl.ad?, s-os_lib.ad?. Update list of object
files accordingly.
2022-01-10 Piotr Trojanek <trojanek@adacore.com>
* libgnat/s-atopri.ads (Atomic_Compare_Exchange): Replaces
deprecated Sync_Compare_And_Swap.
* libgnat/s-atopri.adb (Lock_Free_Try_Write): Switch from __sync
to __atomic builtins.
2022-01-10 Piotr Trojanek <trojanek@adacore.com>
* libgnat/s-exponn.adb, libgnat/s-expont.adb,
libgnat/s-exponu.adb, libgnat/s-widthi.adb,
libgnat/s-widthu.adb: Remove CodePeer annotations for pragma
Loop_Variant.
2022-01-10 Piotr Trojanek <trojanek@adacore.com>
* exp_prag.adb (Expand_Pragma_Loop_Variant): Disable expansion
in CodePeer mode.
2022-01-10 Piotr Trojanek <trojanek@adacore.com>
* sem_util.adb (Is_Child_Or_Sibling): Fix typo in comment.
2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
* exp_pakd.adb (Install_PAT): If the PAT is a scalar type, apply
the canonical adjustment to its alignment.
2022-01-10 Piotr Trojanek <trojanek@adacore.com>
* libgnat/s-atocou__builtin.adb (Decrement, Increment): Switch
from __sync to __atomic builtins; use 'Address to be consistent
with System.Atomic_Primitives.
2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
* exp_pakd.adb (Install_PAT): Do not reset the alignment here.
* layout.adb (Layout_Type): Call Adjust_Esize_Alignment after having
copied the RM_Size onto the Esize when the latter is too small.
2022-01-10 Justin Squirek <squirek@adacore.com>
* sem_warn.adb (Check_References): Handle arrays of tasks
similar to task objects.
2022-01-07 Patrick Bernardi <bernardi@adacore.com>
* libgnat/a-direct.adb (Search_Data): Remove type.
(Directory_Vectors): New package instantiation.
(Search_State): New type.
(Fetch_Next_Entry): Remove.
(Close): Remove.
(Finalize): Rewritten.
(Full_Name): Ditto.
(Get_Next_Entry): Return next entry from Search results vector
rather than querying the directory directly using readdir.
(Kind): Rewritten.
(Modification_Time): Rewritten.
(More_Entries): Use Search state cursor to determine if more
entries are available for users to read.
(Simple_Name): Rewritten.
(Size): Rewritten.
(Start_Search_Internal): Rewritten to load the contents of the
directory that matches the pattern and filter into the search
object.
* libgnat/a-direct.ads (Search_Type): New type.
(Search_Ptr): Ditto.
(Directory_Entry_Type): Rewritten to support new Start_Search
procedure.
* libgnat/s-filatt.ads (File_Length_Attr): New function.
2022-01-07 Etienne Servais <servais@adacore.com>
* sem_attr.adb (Check_Reference): Fix condition.
2022-01-07 Ghjuvan Lacambre <lacambre@adacore.com>
* libgnarl/s-taprop__mingw.adb (Timed_Sleep): Remove "pragma
Unreferenced" for Result.
(Timed_Delay): Likewise.
2022-01-07 Piotr Trojanek <trojanek@adacore.com>
* gen_il-gen.adb (Put_Make_Decls): Put pragma Inline in a
dedicated line, so that the current indentation is taken into
account.
2022-01-07 Piotr Trojanek <trojanek@adacore.com>
* exp_aggr.adb (Build_Array_Aggr_Code): Fix inconsistent style
in comments and code.
2022-01-07 Piotr Trojanek <trojanek@adacore.com>
* exp_aggr.adb (Gen_Assign): Remove explicit initialization for
components of access types.
(Get_Assoc_Expr): Enable initialization for components of all
types that require simple initialization.
2022-01-07 Javier Miranda <miranda@adacore.com>
* atree.ads (Traverse_Func_With_Parent): New generic subprogram.
(Traverse_Proc_With_Parent): Likewise.
* atree.adb (Parents_Stack): New table used to traverse trees
passing the parent field of each node.
(Internal_Traverse_With_Parent): New generic subprogram.
(Traverse_Func_With_Parent): Likewise.
(Traverse_Proc_With_Parent): Likewise.
* contracts.adb (Fix_Parents): New subprogram.
(Restore_Original_Selected_Component): Enhanced to fix the
parent field of restored nodes.
(Inherit_Condition): Adding assertions to check the parent field
of inherited conditions and to ensure that the built inherited
condition has no reference to the formals of the parent
subprogram.
* sem_util.ads, sem_util.adb (Check_Parents): New subprogram.
2022-01-07 Etienne Servais <servais@adacore.com>
* sem_attr.adb (Check_Placement_In_Test_Case): Fix typo.
2022-01-07 Justin Squirek <squirek@adacore.com>
* comperr.adb (Delete_SCIL_Files): Replace unnecessary
Unreferenced pragma with specific pragma Warnings.
* doc/gnat_rm/implementation_defined_pragmas.rst (Unreferenced):
Add documentation for new behavior.
* gnat_rm.texi: Regenerate.
* erroutc.adb (Set_At): Remove useless assignment.
* exp_ch2.adb (In_Assignment_Context): Deleted.
(Is_Object_Renaming_Name): Replace calls to Is_LHS with calls to
Known_To_Be_Assigned.
(Expand_Current_Value): Replace calls to May_Be_Lvalue with
calls to Known_To_Be_Assigned.
(Expand_Entry_Paramter): Replace calls to In_Assignment_Context
with calls to Known_To_Be_Assigned.
* exp_ch4.adb (Expand_N_Op_Rem): Remove unnecessary Unreferenced
pragma.
* exp_imgv.adb (Build_Enumeration_Image_Tables): Default
initialize S_N.
* ghost.adb (Check_Ghost_Policy): Replace call to May_Be_Lvalue
with call to Known_To_Be_Assigned.
* lib-xref.adb (Is_On_LHS): Deleted.
(OK_To_Set_Referenced): Rewrite subprogram to encompass the new
pragma Unreferenced behavior.
(Process_Deferred_References): Replace call to Is_LHS with call
to Known_To_Be_Assigned.
* libgnarl/s-taasde.adb, libgnarl/s-tasren.adb,
libgnarl/s-tpobop.adb, libgnat/a-calend.adb,
libgnat/a-calfor.adb, libgnat/a-cbdlli.adb,
libgnat/a-cbhama.adb, libgnat/a-cbhase.adb,
libgnat/a-cbmutr.adb, libgnat/a-cborma.adb,
libgnat/a-cborse.adb, libgnat/a-cdlili.adb,
libgnat/a-cfhama.adb, libgnat/a-cforse.adb,
libgnat/a-cidlli.adb, libgnat/a-cihama.adb,
libgnat/a-cihase.adb, libgnat/a-cimutr.adb,
libgnat/a-ciorma.adb, libgnat/a-ciormu.adb,
libgnat/a-ciorse.adb, libgnat/a-cohama.adb,
libgnat/a-cohase.adb, libgnat/a-comutr.adb,
libgnat/a-convec.adb, libgnat/a-coorma.adb,
libgnat/a-coormu.adb, libgnat/a-coorse.adb,
libgnat/a-crdlli.adb, libgnat/a-tigeau.adb,
libgnat/a-wtgeau.adb, libgnat/a-ztgeau.adb,
libgnat/g-calend.adb, libgnat/g-comlin.adb,
libgnat/g-expect.adb, libgnat/g-mbflra.adb,
libgnat/g-spipat.adb, libgnat/s-fatgen.adb,
libgnat/s-fileio.adb, libgnat/s-os_lib.adb,
libgnat/s-regpat.adb, libgnat/s-valued.adb,
libgnat/s-valuer.adb: Remove unnecessary Unreferenced pragmas
* sem_ch10.adb (Process_Spec_Clauses): Remove useless
assignments.
* sem_ch13.adb (Validate_Literal_Aspect): Default initialize I.
* sem_ch3.adb (Build_Derived_Concurrent_Type): Default
initialize Corr_Decl.
* sem_ch8.adb (Undefined): Replace calls to Is_LHS with calls to
Known_To_Be_Assigned.
(In_Abstract_View_Pragma): Likewise.
* sem_eval.adb (Eval_Selected_Component): Replace calls to
Is_LHS with calls to Known_To_Be_Assigned.
* sem_res.adb (Init_Component): Replace calls to May_Be_Lvalue
with calls to Known_To_Be_Assigned.
* sem_util.adb, sem_util.ads (End_Label_Loc): Default initialize
Owner.
(Explain_Limited_Type): Default initialize Expr_Func.
(Find_Actual): Modified to handle entry families.
(Is_LHS): Deleted.
(May_Be_Lvalue): Deleted.
(Known_To_Be_Assigned): Modified and improved to handle all
cases.
* sem_warn.adb (Traverse_Result): Replace calls to May_Be_Lvalue
with calls to Known_To_Be_Assigned.
(Check_Ref): Modify error on unreferenced out parameters to take
into account different warning flags.
2022-01-07 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Reorder_Interfaces): When the conflicting
interface is identified we just replace the interface in the
list of interfaces of the tagged type (instead of adding a
duplicate to the list of interfaces).
2022-01-07 Dmitriy Anisimkov <anisimko@adacore.com>
* adaint.c (__gnat_kill): Terminate process only in case of
SIGKILL, SIGINT, SIGBREAK, SIGTERM, SIGABRT. Do not call
OpenProcess if not going to terminate process.
2022-01-07 Eric Botcazou <ebotcazou@adacore.com>
* exp_prag.adb (Expand_Pragma_Inspection_Point): Do a single pass
over the arguments of the pragma. Set the Address_Taken flag on
them and use the Has_Delayed_Freeze flag to spot those which have
their elaboration delayed. Reuse the location variable Loc.
2022-01-07 Piotr Trojanek <trojanek@adacore.com>
* osint.adb (To_Lower): Clarify that only To_Lower function
causes bootstrap issues; fix style.
* treepr.adb (Print_Str_Mixed_Case): Reuse existing case
conversion routine.
(To_Mixed): Rename from Capitalize; reuse System.Case_Util
procedure and explain the bootstrap issue.
2022-01-07 Piotr Trojanek <trojanek@adacore.com>
* exp_ch7.adb (Process_Transients_In_Scope): Remove unnecessary
initialization of Must_Hook; change Detect_Subprogram_Call from
function to procedure; adapt caller.
2022-01-07 Piotr Trojanek <trojanek@adacore.com>
* exp_ch5.adb, exp_disp.adb, exp_util.adb, par-ch4.adb,
sem_ch13.adb: Remove extra space before THEN that occurs at the
end of a line.
2022-01-07 Dmitriy Anisimkov <anisimko@adacore.com>
* expect.c (__gnat_waitpid): Use macros WIFEXITED, WEXITSTATUS,
WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG to get exit status
or signal that caused the child process to terminate/stop. Do
not process exit status in case of error in waitpid call.
* adaint.c (__gnat_kill): Use of GenerateConsoleCtrlEvent is
removed in Windows variant as it actually is not working and was
terminating the calling process. Set signal number into exit
code parameter of TerminateProcess to work the same like in
Linux.
2022-01-07 Piotr Trojanek <trojanek@adacore.com>
* exp_ch5.adb (Expand_N_Case_Statement): Remove explicit
expansion.
2022-01-07 Etienne Servais <servais@adacore.com>
* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
Update -gnatwr documentation.
* gnat_ugn.texi: Regenerate.
2022-01-07 Piotr Trojanek <trojanek@adacore.com>
* exp_unst.adb (Unnest_Subprogram): Sync comment with the
current code.
2022-01-07 Piotr Trojanek <trojanek@adacore.com>
* exp_ch4.adb (Raise_Accessibility_Error): Move exception name
to the message string; move << control characters to the end,
for consistency.
* sem_ch6.adb (Analyze_Function_Return): Likewise.
* sem_util.adb (Compile_Time_Constraint_Error): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity): Remove quotes
around Storage_Error.
* gcc-interface/trans.c (gnat_to_gnu): Remove quotes around
Constraint_Error.
2022-01-07 Piotr Trojanek <trojanek@adacore.com>
* errout.adb (Error_Msg): Move warning suppression code from
Error_Msg_NLE
(Error_Msg_NLE): Warning suppression is now done by the internal
call to Error_Msg.
2022-01-07 Piotr Trojanek <trojanek@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration): Remove unnecessary
guards.
* exp_ch4.adb (Expand_N_If_Expression): Likewise; clarify comment.
* exp_ch5.adb (Expand_N_If_Statement,
Expand_Iterator_Loop_Over_Container): Likewise.
* exp_ch9.adb (Expand_N_Task_Type_Declaration): Remove redundant
guard.
* freeze.adb (Freeze_All_Ent): Reduce scope of a local variable.
2022-01-07 Piotr Trojanek <trojanek@adacore.com>
* exp_ch3.adb (Build_Init_Procedure): Remove unnecessary guard.
* exp_disp.adb (Make_DT): Likewise.
* sem_ch12.adb (Analyze_Associations): Likewise.
2022-01-07 Etienne Servais <servais@adacore.com>
* sem_res.adb (Resolve_Op_Concat_Arg): Check range when
concatenating scalars.
2022-01-07 Bob Duff <duff@adacore.com>
* treepr.adb (Print_Node_Ref): Change "not Is_Array_Type" to
"Is_Discrete_Type".
2022-01-07 Richard Kenner <kenner@adacore.com>
* libgnat/g-spipat.ads (Boolean_Func, Natural_Func,
VString_Func): Mark as Favor_Top_Level.
* sem_ch13.adb (Validate_Unchecked_Conversion): Avoid using
internal representation if Unchecked_Conversion between
an access to subprogram and System.Address within the same unit.
2022-01-07 Bob Duff <duff@adacore.com>
* treepr.adb (Print_Node_Ref): Print the value if available.
2022-01-07 Richard Kenner <kenner@adacore.com>
* sem_util.ads, sem_util.adb (Get_Fullest_View): Add option to
not recurse and return the next-most-fullest view.
2022-01-07 Bob Duff <duff@adacore.com>
* sem_ch10.adb (Check_Redundant_Withs): Add a warning if a
library unit with's its own ancestor. Note that this warning is
not triggered for something like "with P.R;" in P.Q, because
there the "with P;" is considered implicit.
* fname-sf.adb, libgnarl/s-stusta.adb, libgnarl/s-tasdeb.ads,
libgnat/a-calfor.adb, libgnat/a-tiboio.adb,
libgnat/a-wwboio.adb, libgnat/a-zzboio.adb, libgnat/i-cobol.adb,
libgnat/s-bitops.adb, libgnat/s-bitops.ads,
libgnat/s-direio.adb, libgnat/s-dwalin.adb,
libgnat/s-geveop.adb, libgnat/s-mmosin__unix.adb,
libgnat/s-os_lib.adb, libgnat/s-os_lib.ads,
libgnat/s-pooglo.ads, libgnat/s-secsta.adb,
libgnat/s-shasto.adb, libgnat/s-stausa.ads,
libgnat/s-stratt.ads, libgnat/s-ststop.adb: Remove with of
parent.
* sinfo.ads: Minor comment fix.
2022-01-07 Bob Duff <duff@adacore.com>
* osint-m.adb: Remove with_clause and pragma.
2022-01-06 Bob Duff <duff@adacore.com>
* sem_res.adb (Resolve_Range): Warn on null range, unless we are
inside a generic unit or an instance thereof.
* sem_ch3.adb (Analyze_Subtype_Indication): Minor: avoid double
negative.
2022-01-06 Piotr Trojanek <trojanek@adacore.com>
* errout.adb (Adjust_Name_Case): Remove unnecessary declare
block.
2022-01-06 Yannick Moy <moy@adacore.com>
* libgnat/a-ngcoar.adb: Add pragma to ignore assertions in
instance.
* libgnat/a-ngrear.adb: Likewise.
* libgnat/s-gearop.adb: Prove implementation is free of runtime
errors.
* libgnat/s-gearop.ads: Add contracts to protect against runtime
errors in the generic part.
2022-01-06 Piotr Trojanek <trojanek@adacore.com>
* errout.adb (Remove_Warning_Messages): Use traversal procedure
instead of traversal function, since we discard status of each
step anyway.
2022-01-06 Piotr Trojanek <trojanek@adacore.com>
* exp_ch4.adb (Expand_Concatenate): There is no reason for using
declaring, raising and catching an exception; a simple return
statement is enough.
2022-01-06 Piotr Trojanek <trojanek@adacore.com>
* sem_eval.adb (Eval_Arithmetic_Op): Add Loc parameter to all
calls to Apply_Compile_Time_Constraint_Error related to division
by zero.
2022-01-06 Piotr Trojanek <trojanek@adacore.com>
* errout.adb (Remove_Warning_Messages): Remove unnecessary guard.
* exp_util.adb (Kill_Dead_Code): Likewise.
* par_sco.adb (Traverse_Declarations_Or_Statements): Likewise.
* sem_ch3.adb (Build_Derived_Record_Type): Likewise.
* sem_ch4.adb (Traverse_Interfaces): Likewise.
* sem_eval.adb (Traverse_Interfaces): Likewise.
* sem_util.adb (Collect_Interfaces): Likewise.
(Has_Non_Null_Statements, Side_Effect_Free_Statements):
Likewise; turn into WHILE loops, for consistency.
2022-01-06 Etienne Servais <servais@adacore.com>
* sem_type.adb (Full_View_Covers): Fix typo.
2022-01-06 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch12.adb (Insert_Freeze_Node_For_Instance): When going to
the outer level, do not jump over following instantiations in
the list.
2022-01-06 Piotr Trojanek <trojanek@adacore.com>
* err_vars.ads (Warn_On_Instance): Remove; it was a relic from
the previous handling of warning in instances that was removed
decades ago.
2022-01-06 Piotr Trojanek <trojanek@adacore.com>
* errout.adb (Error_Msg_Internal): Reorder words.
* erroutc.ads (Is_Warning_Msg): Add closing paren.
* sem_util.adb (Compile_Time_Constraint_Error): Fix casing.
2022-01-06 Piotr Trojanek <trojanek@adacore.com>
* sem_res.adb (Resolve_String_Literal): Simplify pointer
arithmetic.
2022-01-06 Piotr Trojanek <trojanek@adacore.com>
* sem_res.adb (Resolve_String_Literal): Avoid unnecessary
conversions inside "<" and ">" bodies.
2022-01-06 Piotr Trojanek <trojanek@adacore.com>
* checks.adb (Null_Exclusion_Static_Checks,
Selected_Range_Checks): Fix style.
2022-01-06 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch8.adb (Analyze_Package_Renaming): Do not check for Text_IO
special units when the name of the renaming is a generic instance,
which is the case for package instantiations in the GNAT model.
2022-01-06 Steve Baird <baird@adacore.com>
* sem_util.adb (Build_Discriminant_Reference): In the unexpected
case where we previously would fail an assertion, we instead
revert to the old behavior.
2022-01-06 Steve Baird <baird@adacore.com>
* sem_util.adb (Build_Actual_Subtype_Of_Component): Define a new
local function, Build_Discriminant_Reference, and call it in
each of the three cases where Make_Selected_Component was
previously being called to construct a discriminant reference (2
in Build_Actual_Array_Constraint and 1 in
Build_Actual_Record_Constraint). Instead of unconditionally
using the passed-in object name as the prefix for the new
selected component node, this new function checks to see if
perhaps a prefix of that name should be used instead.
2022-01-06 Etienne Servais <servais@adacore.com>
* atree.adb: Fix typo.
* einfo.ads: Likewise.
* exp_aggr.adb: Likewise.
* exp_ch6.adb: Likewise.
* exp_ch7.adb: Likewise.
* exp_ch9.adb: Likewise.
* exp_prag.adb: Likewise.
* exp_unst.adb: Likewise.
* exp_unst.ads: Likewise.
* exp_util.adb: Likewise.
* par-endh.adb: Likewise.
* par.adb: Likewise.
* restrict.adb: Likewise.
* sem.ads: Likewise.
* sem_ch4.adb: Likewise.
* sem_ch5.adb: Likewise.
* sem_ch6.adb: Likewise.
* sem_ch8.adb: Likewise.
* sem_ch12.adb: Likewise.
* sem_ch13.adb: Likewise.
* sem_dim.adb: Likewise.
* sem_elab.adb: Likewise.
* sem_prag.adb: Likewise.
* sem_res.adb: Likewise.
* sem_util.adb: Likewise.
* sem_util.ads: Likewise.
* sinfo.ads: Likewise.
* sprint.adb: Likewise.
* urealp.adb: Likewise.
2022-01-06 Justin Squirek <squirek@adacore.com>
* exp_ch3.adb (Build_Assignment): Replace current instance of
type with Init_Proc formal.
* sem_attr.adb (OK_Self_Reference): Handle recognition of
Current_Instance to detect certain expansion.
* sem_ch4.adb (Analyze_One_Call): Set actual's type when the
actual in question is a current instance and its corresponding
formal is an incomplete type.
* sem_util.adb (Is_Current_Instance): Add check for incomplete
views and add comment.
2022-01-06 Bob Duff <duff@adacore.com>
* libgnat/s-rident.ads (No_Tagged_Type_Registration): New
restriction identifier.
* restrict.ads (Implementation_Restriction): Add restriction.
* exp_ch7.adb (Process_Declarations): Suppress
tagged-type-related finalization actions if the restriction is
active. Call RTE_Available last.
* exp_disp.adb (Make_DT): Likewise.
* exp_util.adb (Requires_Cleanup_Actions): Return False for a
tagged type declaration if No_Tagged_Type_Registration is
active.
* sem_attr.adb (Check_Stream_Attribute): Check restriction
No_Tagged_Type_Registration.
* libgnat/a-except.ads (Null_Occurrence): Minor: Initialize, to
avoid stopping at a warning in gdb.
* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
Document new restriction.
* gnat_rm.texi: Regenerate.
2022-01-06 Piotr Trojanek <trojanek@adacore.com>
* par-ch4.adb (P_Simple_Expression): Reuse Null_String_Id.
* prep.adb (Parse_Def_File): Likewise; remove Empty_String.
2022-01-06 Eric Botcazou <ebotcazou@adacore.com>
* stand.ads (Any_Access): Delete.
(Universal_Access): New entity.
* einfo.ads: Remove obsolete reference to Any_Access.
* gen_il-gen-gen_entities.adb: Likewise.
* cstand.adb (Create_Standard): Do not create Any_Access and create
Universal_Access as a full type instead.
* errout.adb (Set_Msg_Insertion_Type_Reference): Do not deal with
Any_Access and deal with Universal_Access instead.
* sem_ch3.adb (Analyze_Object_Declaration): Replace Any_Access with
Universal_Access.
* sem_ch4.adb (Analyze_Null): Likewise.
(Find_Non_Universal_Interpretations): Likewise.
(Find_Equality_Types.Try_One_Interp): Likewise and avoid shadowing
by renaming a local variable of the same name.
* sem_res.adb (Make_Call_Into_Operato): Likewise.
(Resolve_Equality_Op): Likewise.
* sem_type.adb (Covers): Likewise.
(Specific_Type): Likewise.
2022-01-06 Piotr Trojanek <trojanek@adacore.com>
* treepr.adb (Destroy): Prevent spurious check from CodePeer.
2022-01-06 Yannick Moy <moy@adacore.com>
* libgnat/s-exponu.adb (Exponu): Add annotation.
2022-01-06 Justin Squirek <squirek@adacore.com>
* exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Add comments
regarding special handling of components which depend on
discriminants.
* exp_dist.adb (Build_From_Any_Function): Add Real_Rep actual
for calls to Has_Stream_Attribute_Definition.
(Build_To_Any_Function): Likewise.
(Build_TypeCode_Function): Likewise.
* freeze.adb (Freeze_Entity): Add missing comment for Test_E.
* libgnat/s-utf_32.adb: Remove disabled warning comments and
temporarily inserted pragma warnings. Remove very old (2006 and
2012) comments about bootstrapping older versions.
* par.adb (P_Identifier): Add new parameter Force_Msg.
* par-ch2.adb (P_Identifier): Restructure and clean up function.
* par-ch3.adb (P_Defining_Identifier): Remove code duplication
for parsing identifiers.
* sem_attr.adb (Stream_Attribute_Available): Add missing
comments and add Real_Rep actual for calls to
Has_Stream_Attribute_Definition.
* sem_cat.adb (Has_Read_Write_Attribute): Add Real_Rep actual
for calls to Has_Stream_Attribute_Definition.
(Has_Stream_Attribute_Definition): Remove local Real_Rep and fix
recursive calls. Add default value for Real_Rep.
* sem_cat.ads (Has_Stream_Attribute_Definition): Add new out
parameter "Real_Rep".
* sem_type.adb (Add_Entry): Add condition to avoid passing
non-function calls to Function_Interp_Has_Abstract_Op.
(Function_Interp_Has_Abstract_Op): Add missing comments and
remove check for Is_Overloadable.
* sem_util.adb (Derivation_Too_Early_To_Inherit): Remove
duplicated code.
2022-01-06 Javier Miranda <miranda@adacore.com>
* contracts.adb (Restore_Original_Selected_Component): New
subprogram that traverses a preanalyzed expression searching for
dispatching calls to functions whose original node was a
selected component, and replacing them with their original node.
This functionality is required because the preanalyis of
dispatching calls using the Object.Operation notation transforms
such calls, and we need the original condition to properly
inherit and extend the condition expression on tagged type
derivations. This functionality was previously provided by the
routine Install_Original_Selected_Component (as part of
inheriting conditions); now it is performed as part of the
preanalysis of the condition, thus avoiding repeatedly
installing and restoring such nodes.
(Install_Original_Selected_Component): Removed.
(Restore_Dispatching_Calls): Removed.
2022-01-06 Piotr Trojanek <trojanek@adacore.com>
* treepr.adb (Visit_Node): Simplify repeated call to
Next_Entity.
2022-01-06 Piotr Trojanek <trojanek@adacore.com>
* treepr.ads (Treepr, Print_Tree_List, Print_Tree_Elist): Fix
style in comments.
* treepr.adb (Serial_Numbers): Hash table instance.
(Hash): Hashing routine.
(Print_Field): Fix style.
(Print_Init): Adapt to simple hash table.
(Print_Term): Likewise.
(Serial_Numbers): Likewise.
(Set_Serial_Number): Likewise.
2022-01-06 Yannick Moy <moy@adacore.com>
* libgnat/s-expmod.adb: Mark in SPARK. Add ghost code for proof.
* libgnat/s-expmod.ads: Mark in SPARK. Add ghost specifications.
2022-01-06 Yannick Moy <moy@adacore.com>
* libgnat/s-explllu.ads: Mark in SPARK.
* libgnat/s-expllu.ads: Mark in SPARK.
* libgnat/s-exponu.adb: Add loop invariants and needed
assertions.
* libgnat/s-exponu.ads: Add functional contract.
* libgnat/s-expuns.ads: Mark in SPARK.
2022-01-05 Steve Baird <baird@adacore.com>
* exp_ch5.adb (Finish_Binding_Object_Declaration): Fix a bug
that was introduced in the previous commit. The previous
version initialized a Boolean constant Declare_Copy before the
variable Decl had been initialized properly.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* sem_prag.adb (Adjust_External_Name_Case): Use membership test.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* exp_ch3.adb (Make_Controlling_Function_Wrappers): For
GNATprove build the wrapper as an expression function.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* exp_ch3.ads (Make_Controlling_Function_Wrappers): Move
declaration from body to spec, so it can be called by
SPARK-specific expansion.
* exp_ch3.adb (Make_Controlling_Function_Wrappers): Likewise.
* exp_spark.adb (SPARK_Freeze_Type): Enable expansion of
wrappers for function with controlling result types.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* exp_dbug.adb, sem_dim.adb: Replace Add_Str_To_Name_Buffer with
Add_Char_To_Name_Buffer.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* gnatls.adb (Gnatls): Use Name_Find function.
* targparm.adb (Get_Target_Parameters): Likewise.
2022-01-05 Bob Duff <duff@adacore.com>
* repinfo.adb (List_Entities): The code was assuming that if we
encounter a package in the current scope, then it must be
a (physically) nested package. That was wrong, because it could
be a child package. Avoid recursing into child packages; they
have not been annotated with representation information, and
-gnatR2 queries that information.
2022-01-05 Marc Poulhiès <poulhies@adacore.com>
* libgnat/s-sopco3.ads, libgnat/s-sopco3.adb: Remove.
* libgnat/s-sopco4.ads, libgnat/s-sopco4.adb: Remove.
* libgnat/s-sopco5.ads, libgnat/s-sopco5.adb: Remove.
* libgnat/s-strops.ads, libgnat/s-strops.adb: Remove.
* Makefile.rtl (ADA_EXCLUDE_SRCS): Remove occurences of removed
units.
* gcc-interface/Make-lang.in (ada/sdefault.o): Remove
dependencies on removed units.
(GNATBIND_OBJS): Remove occurences of removed units.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* exp_ch3.adb (Build_Dcheck_Function): Remove extra whitespace.
* libgnarl/s-taskin.adb (Initialize_ATCB): Likewise.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* exp_attr.adb (Build_Array_VS_Func): Remove explicit "IN" in
spec of the generated array validation function; it was
redundant, just like it would be in a user-written code.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* exp_ch4.adb (Expand_N_Op_Ne): Fix whitespace.
* sem_dim.adb (Expand_Put_Call_With_Symbol): Likewise.
(Reduce): Likewise.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* exp_aggr.adb (Two_Pass_Aggregate_Expansion): Fix whitespace.
* libgnat/a-cofuve.ads (Add): Likewise.
* sem_ch3.adb (Build_Access_Subprogram_Wrapper): Likewise.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* exp_ch3.adb (Make_Eq_Body, Make_Neq_Body,
Make_Predefined_Primitive_Eq_Spec,
Make_Predefined_Primitive_Specs): Fix whitespace.
2022-01-05 Etienne Servais <servais@adacore.com>
* sem_ch3.adb (Analyze_Component_Declaration): Rework condition
to build subtypes.
(Analyze_Object_Declaration): Likewise.
(Should_Build_Subtype): New.
2022-01-05 Yannick Moy <moy@adacore.com>
* libgnat/s-arit128.adb: Mark in SPARK.
* libgnat/s-arit128.ads: Add functional contracts.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* sem_util.adb (String_From_Numeric_Literal): Simplify using
membership tests and ranges; fix whitespace.
2022-01-05 Yannick Moy <moy@adacore.com>
* libgnat/s-expint.ads: Mark in SPARK. Adapt to change to
package.
* libgnat/s-explli.ads: Likewise.
* libgnat/s-expllli.ads: Likewise.
* libgnat/s-expont.adb: Add lemmas and ghost code.
* libgnat/s-expont.ads: Add functional contract.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* exp_disp.adb (Gen_Parameters_Profile): Remove redundant guard.
2022-01-05 Claire Dross <dross@adacore.com>
* libgnat/s-valuti.ads (Starts_As_Exponent_Format_Ghost): Ghost
function to determine if a string is recognized as something
which might be an exponent.
(Is_Opt_Exponent_Format_Ghost): Ghost function to determine if a
string has the correct format for an optional exponent.
(Scan_Exponent): Use ghost functions to factorize contracts.
2022-01-05 Bob Duff <duff@adacore.com>
* exp_util.ads (Get_Current_Value_Condition): Belt: Add a
postcondition that Val /= Var.
* sem_util.adb (Known_Null): Suspenders: Raise Program_Error if
Get_Current_Value_Condition returned the same value. This will
be enabled even without assertions, because infinite recursion
is a nuisance -- better to crash if this bug ever occurs.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* exp_ch3.adb (Make_Null_Procedure_Specs): Simplify by reusing
Copy_Subprogram_Spec.
* sem_util.ads (Copy_Subprogram_Spec): Add New_Sloc parameter.
* sem_util.adb (Copy_Subprogram_Spec): Pass New_Sloc to
New_Copy_Tree.
2022-01-05 Yannick Moy <moy@adacore.com>
* libgnat/s-exnint.ads: Mark in SPARK. Adapt to change to
package.
* libgnat/s-exnlli.ads: Likewise.
* libgnat/s-exnllli.ads: Likewise.
* libgnat/s-exponn.adb: Add lemmas and ghost code. Secial case
value zero as Left or Right to simplify proof.
* libgnat/s-exponn.ads: Transform the generic function into a
generic package with a function inside. Add a functional
contract.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* sem_ch12.adb (Instantiate_Formal_Subprogram): Remove redundant
call to Set_Defining_Unit_Name; a similar call is done few lines
below.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* exp_ch3.adb (Make_Controlling_Function_Wrappers): Create
distinct copies of parameter lists for spec and body with
Copy_Parameter_List; cleanup.
(Make_Null_Procedure_Specs): Fix style in comments; remove a
potentially unnecessary initialization of a local variable.
2022-01-05 Bob Duff <duff@adacore.com>
* einfo-utils.ads, einfo-utils.adb (Renamed_Entity Alias):
Change Node_Id to Entity_Id.
2022-01-05 Piotr Trojanek <trojanek@adacore.com>
* sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wrapper):
Remove unreferenced spec.
* sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wrapper):
Remove dead bodies.
2022-01-05 Yannick Moy <moy@adacore.com>
* libgnat/s-aridou.adb: Apply replacement.
2022-01-05 Yannick Moy <moy@adacore.com>
* libgnat/s-aridou.adb (Lemma_Word_Commutation): Fix for
instances with other values of Single_Size.
2022-01-05 Marc Poulhiès <poulhies@adacore.com>
* doc/gnat_rm/implementation_defined_pragmas.rst (Compiler_Unit)
(Compiler_Unit_Warning): Remove.
* gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate.
* libgnat/g-dynhta.ads: Add comment indicating this unit is
built during stage1.
* libgnat/g-dyntab.ads: Likewise.
* libgnat/g-graphs.ads: Likewise.
* libgnat/g-lists.ads: Likewise.
* libgnat/g-sets.ads: Likewise.
* libgnat/gnat.ads: Likewise.
* libgnat/s-pehage.ads: Likewise.
* libgnat/s-resfil.ads: Likewise.
* libgnat/s-rident.ads: Likewise.
* libgnat/s-utf_32.ads: Likewise.
* errout.ads: Update comment.
* opt.ads (Opt): Remove Compiler_Unit.
* par-ch5.adb (All_Pragmas): Remove call to Check_Compiler_Unit.
* sem_prag.adb (Analyze_Pragma): Likewise.
* sem_ch4.adb (Non_Static_Choice_Error, Analyze_If_Expression)
(Analyze_Set_Membership, Record_Interp): Likewise.
* sem_ch11.adb (Analyze_Raise_Expression): Likewise.
* sem_ch6.adb: Remove Restric package reference.
(Analyze_Extended_Return_Statement): Remove call to
Check_Compiler_Unit.
* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
Remove handling of Pragma_Compiler_Unit[_Warning}.
* restrict.adb (Check_Compiler_Unit): Remove both.
* restrict.ads: Likewise.
* snames.ads-tmpl (Pragma_Id): Remove
Pragma_Compiler_Unit[_Warning].
* libgnat/a-assert.ads: Remove pragma Compiler_Unit_Warning.
* libgnat/a-chlat1.ads: Likewise.
* libgnat/a-elchha.adb: Likewise.
* libgnat/a-elchha.ads: Likewise.
* libgnat/a-ioexce.ads: Likewise.
* libgnat/a-strhas.ads: Likewise.
* libgnat/g-byorma.adb: Likewise.
* libgnat/g-byorma.ads: Likewise.
* libgnat/g-dyntab.adb: Likewise.
* libgnat/g-heasor.ads: Likewise.
* libgnat/g-hesora.adb: Likewise.
* libgnat/g-hesora.ads: Likewise.
* libgnat/g-htable.adb: Likewise.
* libgnat/g-htable.ads: Likewise.
* libgnat/g-spchge.adb: Likewise.
* libgnat/g-spchge.ads: Likewise.
* libgnat/g-speche.adb: Likewise.
* libgnat/g-speche.ads: Likewise.
* libgnat/g-table.ads: Likewise.
* libgnat/g-u3spch.adb: Likewise.
* libgnat/g-u3spch.ads: Likewise.
* libgnat/interfac.ads: Likewise.
* libgnat/s-addope.adb: Likewise.
* libgnat/s-addope.ads: Likewise.
* libgnat/s-assert.adb: Likewise.
* libgnat/s-assert.ads: Likewise.
* libgnat/s-bitops.adb: Likewise.
* libgnat/s-bitops.ads: Likewise.
* libgnat/s-carun8.adb: Likewise.
* libgnat/s-carun8.ads: Likewise.
* libgnat/s-casuti.adb: Likewise.
* libgnat/s-casuti.ads: Likewise.
* libgnat/s-conca2.adb: Likewise.
* libgnat/s-conca2.ads: Likewise.
* libgnat/s-conca3.adb: Likewise.
* libgnat/s-conca3.ads: Likewise.
* libgnat/s-conca4.adb: Likewise.
* libgnat/s-conca4.ads: Likewise.
* libgnat/s-conca5.adb: Likewise.
* libgnat/s-conca5.ads: Likewise.
* libgnat/s-conca6.adb: Likewise.
* libgnat/s-conca6.ads: Likewise.
* libgnat/s-conca7.adb: Likewise.
* libgnat/s-conca7.ads: Likewise.
* libgnat/s-conca8.adb: Likewise.
* libgnat/s-conca8.ads: Likewise.
* libgnat/s-conca9.adb: Likewise.
* libgnat/s-conca9.ads: Likewise.
* libgnat/s-crc32.adb: Likewise.
* libgnat/s-crc32.ads: Likewise.
* libgnat/s-crtl.ads: Likewise.
* libgnat/s-excdeb.adb: Likewise.
* libgnat/s-excdeb.ads: Likewise.
* libgnat/s-except.ads: Likewise.
* libgnat/s-exctab.adb: Likewise.
* libgnat/s-exctab.ads: Likewise.
* libgnat/s-finmas.ads: Likewise.
* libgnat/s-htable.adb: Likewise.
* libgnat/s-htable.ads: Likewise.
* libgnat/s-mastop.adb: Likewise.
* libgnat/s-mastop.ads: Likewise.
* libgnat/s-memory.adb: Likewise.
* libgnat/s-memory.ads: Likewise.
* libgnat/s-os_lib.ads: Likewise.
* libgnat/s-parame.adb: Likewise.
* libgnat/s-parame.ads: Likewise.
* libgnat/s-parame__posix2008.ads: Likewise.
* libgnat/s-purexc.ads: Likewise.
* libgnat/s-resfil.adb: Likewise.
* libgnat/s-restri.adb: Likewise.
* libgnat/s-restri.ads: Likewise.
* libgnat/s-secsta.adb: Likewise.
* libgnat/s-secsta.ads: Likewise.
* libgnat/s-soflin.adb: Likewise.
* libgnat/s-soflin.ads: Likewise.
* libgnat/s-sopco3.adb: Likewise.
* libgnat/s-sopco3.ads: Likewise.
* libgnat/s-sopco4.adb: Likewise.
* libgnat/s-sopco4.ads: Likewise.
* libgnat/s-sopco5.adb: Likewise.
* libgnat/s-sopco5.ads: Likewise.
* libgnat/s-spsufi.ads: Likewise.
* libgnat/s-stache.adb: Likewise.
* libgnat/s-stache.ads: Likewise.
* libgnat/s-stalib.adb: Likewise.
* libgnat/s-stalib.ads: Likewise.
* libgnat/s-stoele.adb: Likewise.
* libgnat/s-stoele.ads: Likewise.
* libgnat/s-strcom.adb: Likewise.
* libgnat/s-strcom.ads: Likewise.
* libgnat/s-strhas.adb: Likewise.
* libgnat/s-string.adb: Likewise.
* libgnat/s-string.ads: Likewise.
* libgnat/s-strops.adb: Likewise.
* libgnat/s-strops.ads: Likewise.
* libgnat/s-ststop.adb: Likewise.
* libgnat/s-ststop.ads: Likewise.
* libgnat/s-traceb.adb: Likewise.
* libgnat/s-traceb.ads: Likewise.
* libgnat/s-traent.adb: Likewise.
* libgnat/s-traent.ads: Likewise.
* libgnat/s-utf_32.adb: Likewise.
* libgnat/s-unstyp.ads: Likewise.
* libgnat/s-wchcnv.adb: Likewise.
* libgnat/s-wchcnv.ads: Likewise.
* libgnat/s-wchcon.adb: Likewise.
* libgnat/s-wchcon.ads: Likewise.
* libgnat/s-wchjis.adb: Likewise.
* libgnat/s-wchjis.ads: Likewise.
2022-01-05 Arnaud Charlet <charlet@adacore.com>
* osint.adb (File_Names_Equal): Declare To_Lower locally.
* osint.ads (Null_FD): New.
* fmap.adb, sinput-l.adb, targparm.adb: Adapt to changes above.
* switch-b.adb (Scan_Debug_Switches): Use Is_Regular_File to
simplify the bootstrap dependencies.
2022-01-03 Jakub Jelinek <jakub@redhat.com>
* gnat_ugn.texi: Bump @copying's copyright year.
* gnat_rm.texi: Likewise.
Copyright (C) 2022 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.