mirror of
https://github.com/autc04/Retro68.git
synced 2024-06-13 08:29:53 +00:00
13979 lines
534 KiB
Plaintext
13979 lines
534 KiB
Plaintext
2020-12-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-tags.ads, libgnat/a-tags.adb (CW_Membership): Move
|
||
to spec to allow inlining.
|
||
|
||
2020-12-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* checks.adb: Remove, not used.
|
||
* checks.ads: Likewise.
|
||
* exp_ch6.adb: Likewise.
|
||
* exp_ch7.adb: Likewise.
|
||
* exp_ch7.ads: Likewise.
|
||
* exp_fixd.adb: Likewise.
|
||
* exp_tss.adb: Likewise.
|
||
* exp_tss.ads: Likewise.
|
||
* exp_util.adb: Likewise.
|
||
* exp_util.ads: Likewise.
|
||
* gnat1drv.adb: Likewise.
|
||
* libgnat/s-finmas.adb: Likewise.
|
||
* libgnat/s-finmas.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-e500-vthread.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-kernel.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-rtp.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-vthread.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc.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-vxworks-x86-vthread.ads: Likewise.
|
||
* libgnat/system-vxworks-x86.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.
|
||
* repinfo.adb: Likewise.
|
||
* repinfo.ads: Likewise.
|
||
* rtsfind.ads: Likewise.
|
||
* sem_aux.adb: Likewise.
|
||
* sem_aux.ads: Likewise.
|
||
* sem_ch13.adb: Likewise.
|
||
* sem_ch13.ads: Likewise.
|
||
* sem_util.adb (Validity_Checks_Suppressed, TSS,
|
||
Is_All_Null_Statements, Known_Non_Negative,
|
||
Non_Limited_Designated_Type, Get_Binary_Nkind, Get_Unary_Nkind,
|
||
Is_Protected_Operation, Number_Components, Package_Body,
|
||
Validate_Independence, Independence_Checks): Likewise; update
|
||
comments.
|
||
* targparm.adb: Likewise.
|
||
* targparm.ads (AAM, AAM_Str, Fractional_Fixed_Ops,
|
||
Frontend_Layout, Make_Detach_Call, Target_Has_Fixed_Ops, Detach,
|
||
Back_End_Layout, Create_Dynamic_SO_Ref, Get_Dynamic_SO_Entity,
|
||
Is_Dynamic_SO_Ref, Is_Static_SO_Ref,
|
||
Fractional_Fixed_Ops_On_Target): Likewise.
|
||
* validsw.adb (Save_Validity_Check_Options,
|
||
Set_Default_Validity_Check_Options): Likewise.
|
||
* validsw.ads: Likewise.
|
||
|
||
2020-12-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* symbols.ads, symbols.adb: Removed no longer used.
|
||
|
||
2020-12-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_util.adb (New_Requires_Transient_Scope): Renamed
|
||
Requires_Transient_Scope.
|
||
(Requires_Transient_Scope, Old_Requires_Transient_Scope,
|
||
Results_Differ): Removed.
|
||
* debug.adb: Remove -gnatdQ.
|
||
|
||
2020-12-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-valrea.adb (Need_Extra): Fix comment.
|
||
|
||
2020-12-17 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Case_Statement): Move modification of
|
||
Unblocked_Exit_Count after early return statements; fix typo in
|
||
comment.
|
||
|
||
2020-12-17 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Case_Statement): Change local variable
|
||
Exp to constant; remove unreferenced Last_Choice variable;
|
||
reduce scope of other variables.
|
||
(Analyze_If_Statement): Reduce scope of a local variable; add
|
||
comment.
|
||
|
||
2020-12-17 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* opt.ads (Multiple_Unit_Index): Refine type from Int to Nat.
|
||
|
||
2020-12-17 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_util.adb (In_Check_Node): Add guard and rename Node to
|
||
Par, just like it is done in surrounding routines, e.g.
|
||
In_Assertion_Expression_Pragma and In_Generic_Formal_Package.
|
||
|
||
2020-12-17 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads,
|
||
libgnat/a-cdlili.adb, libgnat/a-cdlili.ads,
|
||
libgnat/a-cidlli.adb, libgnat/a-cidlli.ads,
|
||
libgnat/a-cobove.adb, libgnat/a-cobove.ads,
|
||
libgnat/a-coinve.adb, libgnat/a-coinve.ads,
|
||
libgnat/a-convec.adb, libgnat/a-convec.ads: Add *_Vector
|
||
operations, remove default for Count, rename Append_One to be
|
||
Append.
|
||
|
||
2020-12-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Declare_Expression): Need to establish a
|
||
transient scope in case Expression (N) requires actions to be
|
||
wrapped. Code cleanup.
|
||
* exp_ch7.adb, exp_ch11.adb: Code cleanup.
|
||
|
||
2020-12-17 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* par-ch3.adb (P_Identifier_Declarations): Reuse
|
||
Error_Msg_Ada_2020_Feature for object renaming without subtype.
|
||
* par-ch4.adb (P_Primary): Likewise for target name.
|
||
(P_Iterated_Component_Association): Likewise for iterated
|
||
component.
|
||
(P_Declare_Expression): Likewise for declare expression.
|
||
* par-ch6.adb (P_Formal_Part): Likewise for aspect on formal
|
||
parameter.
|
||
* sem_aggr.adb (Resolve_Delta_Aggregate): Ditto.
|
||
* sem_ch8.adb (Analyze_Object_Renaming): Reuse
|
||
Error_Msg_Ada_2020_Feature.
|
||
* sem_ch13.adb (Validate_Aspect_Aggregate): Reuse
|
||
Error_Msg_Ada_2020_Feature; use lower case for "aspect" and
|
||
don't use underscore for "Ada_2020"; don't give up on analysis
|
||
in Ada 2012 mode.
|
||
(Validate_Aspect_Stable_Properties): Reuse
|
||
Error_Msg_Ada_2020_Feature; use lower case for "aspect"; minor
|
||
style fixes.
|
||
|
||
2020-12-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Selected_Component): Request a compile
|
||
time error replacement in Apply_Compile_Time_Constraint_Error
|
||
in case of an invalid field.
|
||
* sem_ch3.adb (Create_Constrained_Components): Take advantage of
|
||
Gather_Components also in the case of a record extension and
|
||
also constrain records in the case of compile time known discriminant
|
||
values, as already done in gigi.
|
||
* sem_util.ads, sem_util.adb (Gather_Components): New parameter
|
||
Allow_Compile_Time to allow compile time known (but non static)
|
||
discriminant values, needed by Create_Constrained_Components,
|
||
and new parameter Include_Interface_Tag.
|
||
(Is_Dependent_Component_Of_Mutable_Object): Use Original_Node to
|
||
perform check on the original tree.
|
||
(Is_Object_Reference): Likewise. Only call Original_Node when
|
||
relevant via a new function Safe_Prefix.
|
||
(Is_Static_Discriminant_Component, In_Check_Node): New.
|
||
(Is_Actual_Out_Or_In_Out_Parameter): New.
|
||
* exp_ch4.adb (Expand_N_Selected_Component): Remove no longer needed
|
||
code preventing evaluating statically discriminants in more cases.
|
||
* exp_ch5.adb (Expand_N_Loop_Statement): Simplify expansion of loops
|
||
with an N_Raise_xxx_Error node to avoid confusing the code generator.
|
||
(Make_Component_List_Assign): Try to find a constrained type to
|
||
extract discriminant values from, so that the case statement
|
||
built gets an opportunity to be folded by
|
||
Expand_N_Case_Statement.
|
||
(Expand_Assign_Record): Update comments, code cleanups.
|
||
* sem_attr.adb (Analyze_Attribute): Perform most of the analysis
|
||
on the original prefix node to deal properly with a prefix rewritten
|
||
as a N_Raise_xxx_Error.
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Handle properly
|
||
a discrete subtype definition being rewritten as N_Raise_xxx_Error.
|
||
* sem_ch8.adb (Analyze_Object_Renaming): Handle N_Raise_xxx_Error
|
||
nodes as part of the expression being renamed.
|
||
* sem_eval.ads, sem_eval.adb (Fold, Eval_Selected_Component): New.
|
||
(Compile_Time_Known_Value, Expr_Value, Expr_Rep_Value): Evaluate
|
||
static discriminant component values.
|
||
* sem_res.adb (Resolve_Selected_Component): Call
|
||
Eval_Selected_Component.
|
||
|
||
2020-12-17 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): Remove
|
||
folding of discrete values.
|
||
* exp_intr.adb (Expand_Unc_Conversion): Analyze, resolve and
|
||
evaluate (if possible) calls to instances of
|
||
Ada.Unchecked_Conversion after they have been expanded into
|
||
N_Unchecked_Type_Conversion.
|
||
* sem_eval.adb (Eval_Unchecked_Conversion): Add folding of
|
||
discrete values.
|
||
|
||
2020-12-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Likewise.
|
||
* exp_imgv.adb (Expand_Value_Attribute): Use RE_Value_Long_Float in
|
||
lieu of RE_Value_Long_Long_Float as fallback for fixed-point types.
|
||
Also use it for Long_Long_Float if it has same size as Long_Float.
|
||
* libgnat/s-imgrea.adb: Replace Powten_Table with Powen_LLF.
|
||
* libgnat/s-powflt.ads: New file.
|
||
* libgnat/s-powlfl.ads: Likewise.
|
||
* libgnat/s-powtab.ads: Rename to...
|
||
* libgnat/s-powllf.ads: ...this.
|
||
* libgnat/s-valflt.ads: Add with clause for System.Powten_Flt and
|
||
pass its table as actual parameter to System.Val_Real.
|
||
* libgnat/s-vallfl.ads: Likewise for System.Powten_LFlt.
|
||
* libgnat/s-valllf.ads: Likewise for System.Powten_LLF.
|
||
* libgnat/s-valrea.ads: Add Maxpow and Powten_Address parameters.
|
||
* libgnat/s-valrea.adb: Add pragma Warnings (Off).
|
||
(Need_Extra): New boolean constant.
|
||
(Precision_Limit): Set it according to Need_Extra.
|
||
(Impl): Adjust actual parameter.
|
||
(Integer_to_Rea): Add assertion on the machine radix. Take into
|
||
account the extra digit only if Need_Extra is true. Reimplement
|
||
the computation of the final value for bases 2, 4, 8, 10 and 16.
|
||
* libgnat/s-valued.adb (Impl): Adjust actual parameter.
|
||
(Scan_Decimal): Add pragma Unreferenced.
|
||
(Value_Decimal): Likewise.
|
||
* libgnat/s-valuef.adb (Impl): Adjust actual parameter.
|
||
* libgnat/s-valuer.ads (Floating): Remove.
|
||
(Round): New formal parameter.
|
||
* libgnat/s-valuer.adb (Round_Extra): New procedure.
|
||
(Scan_Decimal_Digits): Use it to round the extra digit if Round
|
||
is set to True in the instantiation.
|
||
(Scan_Integral_Digits): Likewise.
|
||
|
||
2020-12-17 Erwan Le Guillou <leguillou@adacore.com>
|
||
|
||
* libgnat/system-lynxos178-ppc.ads,
|
||
libgnat/system-lynxos178-x86.ads: Fix small typo in comments.
|
||
|
||
2020-12-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_dbug.adb (Get_Encoded_Name): Generate encodings for fixed
|
||
point types only if -fgnat-encodings=all is specified.
|
||
|
||
2020-12-17 Justin Squirek <squirek@adacore.com>
|
||
|
||
* checks.adb (Build_Discriminant_Checks): Add condition to
|
||
replace references to the current instance of the type when we
|
||
are within an Init_Proc.
|
||
(Replace_Current_Instance): Examine a given node and replace the
|
||
current instance of the type with the corresponding _init
|
||
formal.
|
||
(Search_And_Replace_Current_Instance): Traverse proc which calls
|
||
Replace_Current_Instance in order to replace all references
|
||
within a given expression.
|
||
|
||
2020-12-17 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* par-ch12.adb (P_Formal_Derived_Type_Definition): Complain
|
||
about formal type with aspect specification, which only become
|
||
legal in Ada 2020.
|
||
* par-ch9.adb (P_Protected_Operation_Declaration_Opt): Reuse
|
||
Error_Msg_Ada_2005_Extension.
|
||
(P_Entry_Declaration): Likewise.
|
||
* scng.adb (Scan): Improve diagnostics for target_name; emit
|
||
error, but otherwise continue in earlier than Ada 2020 modes.
|
||
|
||
2020-12-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* libgnat/a-cbsyqu.ads (Implementation): Provide a box
|
||
initialization for the element array used internally to
|
||
represent the queue, so that its components are properly
|
||
initialized if the given element type has default
|
||
initialization. Suppress warnings on the rest of the package in
|
||
case the element type has no default or discriminant, because it
|
||
is bound to be confusing to the user.
|
||
|
||
2020-12-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_util.adb (Inherit_Predicate_Flags): No-op before Ada 2012.
|
||
|
||
2020-12-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch7.adb (Make_Final_Call, Make_Init_Call): Take protected
|
||
types into account.
|
||
* sem_util.ads: Fix typo.
|
||
|
||
2020-12-17 Yannick Moy <moy@adacore.com>
|
||
|
||
* checks.adb: Rework error messages.
|
||
* exp_ch3.adb: Likewise.
|
||
* freeze.adb: Likewise.
|
||
* lib-load.adb: Likewise.
|
||
* par-ch12.adb: Likewise.
|
||
* par-ch3.adb: Likewise.
|
||
* par-ch4.adb: Likewise.
|
||
* par-ch9.adb: Likewise.
|
||
* sem_aggr.adb: Likewise.
|
||
* sem_attr.adb: Likewise.
|
||
* sem_cat.adb: Likewise.
|
||
* sem_ch10.adb: Likewise.
|
||
* sem_ch12.adb: Likewise.
|
||
(Instantiate_Type): Fix CODEFIX comment, applicable only on
|
||
continuation message, and identify the second message as a
|
||
continuation.
|
||
* sem_ch13.adb: Rework error messages.
|
||
* sem_ch3.adb: Likewise.
|
||
* sem_ch4.adb: Likewise.
|
||
* sem_ch5.adb: Likewise.
|
||
* sem_ch6.adb: Likewise.
|
||
* sem_ch8.adb: Likewise.
|
||
* sem_ch9.adb: Likewise.
|
||
* sem_prag.adb: Likewise.
|
||
* sem_res.adb: Likewise.
|
||
* sem_util.adb: Likewise.
|
||
(Wrong_Type): Fix CODEFIX comment, applicable only on
|
||
continuation message, and identify the second message as a
|
||
continuation.
|
||
* symbols.adb: Rework error messages.
|
||
|
||
2020-12-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_attr.adb (OK_Self_Reference): Return True if node does not
|
||
come from source (e.g. a rewritten aggregate).
|
||
|
||
2020-12-17 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch13.adb (Parse_Aspect_Stable_Properties): Fix style;
|
||
limit the scope of local variables; remove extra assignment in
|
||
Extract_Entity.
|
||
(Validate_Aspect_Stable_Properties): Simplify with procedural
|
||
Next.
|
||
|
||
2020-12-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* ali.ads, ali.adb, bindo-writers.adb, lib-writ.adb (Scope):
|
||
Renamed to IS_Scope.
|
||
|
||
2020-12-16 Joffrey Huguet <huguet@adacore.com>
|
||
|
||
* libgnat/a-strfix.ads: Add postconditions and contract cases to
|
||
subprograms.
|
||
|
||
2020-12-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): If iterator
|
||
filter is present, preanalyze filter without expansion.
|
||
(Analyze_Loop_Parameter_Specification): When
|
||
loop_Parameter_Specification is rewritten as
|
||
Iterator_Specification, transfer Iterator_Filter if present.
|
||
|
||
2020-12-16 Doug Rupp <rupp@adacore.com>
|
||
|
||
* libgnat/s-objrea.ads (Object_Arch): Add ARM enum
|
||
* libgnat/s-objrea.adb (Initialize): Add EM_ARM case.
|
||
(Read_Address): Add ARM case to 32bit read.
|
||
* Makefile.rtl: Add trasym units to the runtime for armhf-linux.
|
||
|
||
2020-12-16 Dmitriy Anisimkov <anisimko@adacore.com>
|
||
|
||
* libgnat/g-expect.adb (Non_Blocking_Spawn): Deallocate elements
|
||
on Arg_List after calling Set_Up_Child_Communications.
|
||
|
||
2020-12-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* par-ch3.adb (P_Modular_Type_Definition): Remove colon from
|
||
error message.
|
||
* sem_ch11.adb (Check_Duplication): Likewise.
|
||
* sem_ch3.adb (Derived_Type_Declaration): Likewise.
|
||
|
||
2020-12-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* par-ch12.adb (P_Formal_Object_Declarations): Refine types to
|
||
Pos.
|
||
|
||
2020-12-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* impunit.adb (Not_Impl_Defined_Unit): Fix typo in iteration
|
||
over Non_Imp_File_Names_12 array.
|
||
|
||
2020-12-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch9.adb, sem_warn.adb: Simplify membership test.
|
||
|
||
2020-12-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch6.adb, exp_util.adb, sem_ch4.adb, sem_disp.adb,
|
||
sem_elab.adb: Simplify membership test.
|
||
|
||
2020-12-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-powtab.ads (Maxpow): Use explicit formula in comment.
|
||
|
||
2020-12-16 Philippe Gil <gil@adacore.com>
|
||
|
||
* libgnarl/s-tporft.adb (Register_Foreign_Thread): Set
|
||
Global_Task_Lock_Nesting before using allocator.
|
||
|
||
2020-12-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-valrea.adb (Maxexp32): New constant array.
|
||
(Maxexp64): Likewise.
|
||
(Maxexp80): Likewise.
|
||
(Integer_to_Real): New local constants Maxexp and B.
|
||
When the exponent is too negative, do the divison in two steps.
|
||
|
||
2020-12-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_pragmas.rst
|
||
(Test_Case): Change integer to float literals.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-12-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Add a codefix
|
||
for extra parentheses around aspect Annotate expression; reject
|
||
"(null record)" aggregate and extra parentheses around aspect
|
||
Test_Case expression.
|
||
* sem_prag.adb (Analyze_Pragma): Reject "null", "(null record)"
|
||
and extra parentheses around pragma Contract_Cases; likewise for
|
||
pragma Subprogram_Variant.
|
||
|
||
2020-12-16 Dmitriy Anisimkov <anisimko@adacore.com>
|
||
|
||
* adaint.h (__gnat_in_child_after_fork): New flag to express
|
||
child process side after fork call.
|
||
* adaint.c (__gnat_portable_spawn): Set flag
|
||
__gnat_in_child_after_fork.
|
||
* expect.c (__gnat_expect_fork): Set __gnat_in_child_after_fork
|
||
to one on child side.
|
||
* libgnat/memtrack.adb
|
||
(In_Child_After_Fork): Flag to disable memory tracking.
|
||
(Allow_Trace): New routine defining if memory should be tracked.
|
||
(Alloc, Realloc, Free): Use Allow_Trace in "if" condition
|
||
instead of First_Call.
|
||
|
||
2020-12-16 Yannick Moy <moy@adacore.com>
|
||
|
||
* libgnat/a-tifiio.adb: Mark body not in SPARK.
|
||
* libgnat/a-tifiio.ads: Mark spec in SPARK.
|
||
* libgnat/a-tifiio__128.adb: Mark body not in SPARK.
|
||
|
||
2020-12-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-valuer.adb (Scan_Decimal_Digits): Tweak overflow test.
|
||
(Scan_Integral_Digits): Likewise.
|
||
|
||
2020-12-16 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-oscons-tmplt.c: Add some OS constants.
|
||
|
||
2020-12-15 Pascal Obry <obry@adacore.com>
|
||
|
||
* libgnat/g-sercom__linux.adb (Set): Use cfsetospeed and
|
||
cfsetispeed to set the baud rate. Clear non-blocking serial port
|
||
status when blocking is requested.
|
||
|
||
2020-12-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-valrea.adb (Integer_to_Real): Always use Extra.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* par-ch5.adb (P_Condition): Simplify condition for warning
|
||
about extra parens and make it easier to understand.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* errout.ads (Error_Msg_Ada_2005_Extension): New routine (spec).
|
||
* errout.adb (Error_Msg_Ada_2005_Extension): New routine (body).
|
||
* par-ch10.adb: Reuse new routine; correct casing for "LIMITED
|
||
WITH".
|
||
* par-ch11.adb: Likewise.
|
||
* par-ch12.adb: Likewise.
|
||
* par-ch3.adb: Likewise.
|
||
* par-ch4.adb: Likewise; replace "box" with "<>".
|
||
* par-ch6.adb: Likewise.
|
||
* par-ch9.adb: Likewise; correct casing for "THEN ABORT".
|
||
|
||
2020-12-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/gnat_ugn/gnat_and_program_execution.rst: Minor fix.
|
||
* gnat_ugn.texi: Regenerate.
|
||
* libgnat/s-valuer.ads (Precision_Limit): New formal parameter.
|
||
* libgnat/s-valuer.adb (Precision_Limit): Remove.
|
||
(Scan_Decimal_Digits): Robustify overflow check.
|
||
(Scan_Integral_Digits): Likewise.
|
||
* libgnat/s-valrea.adb: Add assertion on the size of the unsigned
|
||
type and instantiate System.Value_R with the mantissa limit.
|
||
(Integer_to_Real): Add Extra parameter and take it into account.
|
||
(Scan_Real): Pass Extra to Integer_to_Real.
|
||
(Value_Real): Likewise.
|
||
* libgnat/s-valued.adb: Add assertion on the size of the unsigned
|
||
type and instantiate System.Value_R with the mantissa limit.
|
||
* libgnat/s-valuef.adb: Likewise.
|
||
|
||
2020-12-15 Justin Squirek <squirek@adacore.com>
|
||
|
||
* contracts.adb, contracts.ads (Build_Postconditions_Procedure):
|
||
Add declarations for Postcond_Enabled,
|
||
Result_Object_For_Postcondition, and
|
||
Return_Success_For_Postcond, and place all postconditions within
|
||
an if statement to control their execution for interactions when
|
||
cleanup actions get generated.
|
||
(Get_Postcond_Enabled): Created to fetch object declared to
|
||
handle new expansion of postconditions.
|
||
(Get_Result_Object_For_Postcond): Created to fetch object
|
||
declared to handle new expansion of postconditions.
|
||
(Get_Return_Success_For_Postcond): Created to fetch object
|
||
declared to handle new expansion of postconditions.
|
||
* einfo.adb, einfo.ads: Modify flag Stores_Attribute_Old_Prefix
|
||
to apply to constants, variables, and types.
|
||
* exp_ch6.adb (Add_Return): Add assignment to
|
||
Return_Success_For_Postcond.
|
||
(Expand_Non_Function_Return): Add assignment to
|
||
Return_Success_For_Postcond
|
||
(Expand_Simple_Function_Return): Add assignment to
|
||
Result_Object_For_Postcond and Return_Success_For_Postcond.
|
||
* exp_ch7.adb (Build_Finalization_Master): Mark finalization
|
||
masters which finalize types created store 'Old objects as
|
||
storing 'Old objects.
|
||
(Build_Finalizer): Created to generated a unified and special
|
||
expansion for finalization when postconditions are present.
|
||
(Build_Finalizer_Helper): Renamed Build_Finalizer and added
|
||
parameter to facilitate the creation of separate finalization
|
||
routines for 'Old objects and general objects.
|
||
(Create_Finalizer): Add condition for the insertion of the
|
||
finalizer spec to avoid malformed trees.
|
||
(Expand_Cleanup_Actions): Move _postconditions and related
|
||
declarations to the new declarative section. Fix the loop to
|
||
properly stop at the subprogram declaration for the
|
||
postconditions procedure and exclude its body from being moved
|
||
to the new list of declarations to avoid freezing issues.
|
||
* exp_prag.adb (Expand_Attributes): Mark temporary created to
|
||
store 'Old objects as storing a 'Old attribute.
|
||
* sem_ch6.adb (Find_What_Applies_To): Remove strange exception
|
||
to postconditions when traversing the scope stack.
|
||
* sem_prag.adb (Find_Related_Declaration_Or_Body): Use the newly
|
||
created Enclosing_HSS function to find the HSS for a potentially
|
||
nested statement.
|
||
* sem_util.adb, sem_util.ads (Declare_Indirect_Temp): Mark types
|
||
created to store 'Old objects as storing 'Old attributes.
|
||
(Enclosing_HSS): Created to find the enclosing handled sequence
|
||
of statements for a given statement.
|
||
* snames.ads-tmpl: Add multiple names to aid in the expansion of
|
||
finalization and to control the evaluation of postconditions.
|
||
Including _finalization_controller, a new routine to centralize
|
||
finalization actions and postcondition evaluation.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* par-ch5.adb (P_Loop_Parameter_Specification): Complain about
|
||
missing -gnat2020 switch.
|
||
(P_Iterator_Specification): Likewise.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* par-ch4.adb (P_Aggregate_Or_Paren_Expr): Simplify with
|
||
Append_New.
|
||
|
||
2020-12-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Remove s-fatsfl$(objext)
|
||
and add s-valflt$(objext), s-vallfl$(objext), s-valllf$(objext).
|
||
* exp_attr.adb (Find_Fat_Info): Merge Short_Float and Float cases.
|
||
* exp_imgv.adb (Expand_Value_Attribute): Replace RE_Value_Real with
|
||
RE_Value_Long_Long_Float for fixed-point types and use appropriate
|
||
base type for floating-point types.
|
||
* rtsfind.ads (RTU_Id): Remove System_Fat_IEEE_Long_Float,
|
||
System_Fat_IEEE_Short_Float and System_Val_Real, add System_Val_Flt,
|
||
System_Val_LFlt and System_Val_LLF.
|
||
(RE_Id): Remove RE_Attr_IEEE_Long, RE_Fat_IEEE_Long,
|
||
RE_Attr_IEEE_Short, RE_Fat_IEEE_Short, RE_Attr_Short_Float, add
|
||
RE_Value_Float, RE_Value_Long_Float, RE_Value_Long_Long_Float,
|
||
(RE_Unit_Table): Likewise.
|
||
* libgnat/a-ticoau.ads: Add with clause for Float_Aux and make the
|
||
package generic.
|
||
(Get): Change parameter types to Num.
|
||
(Put): Likewise.
|
||
(Gets): Likewise.
|
||
(Puts): Likewise.
|
||
* libgnat/a-ticoau.adb: Remove clause and renaming for Float_Aux.
|
||
(Get): Change parameter types to Num.
|
||
(Gets): Likewise.
|
||
(Put): Likewise.
|
||
(Puts): Likewise. Add conversion to Long_Long_Float.
|
||
* libgnat/a-ticoio.adb: Remove with clause for Ada.Text_IO, add with
|
||
clause for Float_Aux, add with and use clauses for System.Val_Flt,
|
||
System.Val_LFlt and System.Val_LLF. Instantiate Float_Aux and
|
||
Complex_Aux on Float, Long_Float, and Long_Long_Float.
|
||
(OK_Float): New boolean constant.
|
||
(OK_Long_Float): Likewise.
|
||
(Get): Call appropriate Get routine from auxiliary package.
|
||
(Get): Call appropriate Gets routine from auxiliary package.
|
||
(Put): Call appropriate Put routine from auxiliary package.
|
||
(Put): Call appropriate Puts routine from auxiliary package.
|
||
* libgnat/a-tideau.adb: Remove with and use clause for Float_Aux.
|
||
* libgnat/a-tifiau.adb: Likewise.
|
||
* libgnat/a-tifiio.adb: Add with and use clause for System.Val_LLF.
|
||
Instantiate Float_Aux on Long_Long_Float.
|
||
(Get): Adjust call to Get routine from auxiliary package.
|
||
(Get): Adjust call to Gets routine from auxiliary package.
|
||
(Put): Adjust call to Put routine from auxiliary package.
|
||
(Put): Adjust call to Puts routine from auxiliary package.
|
||
* libgnat/a-tifiio__128.adb: Likewise.
|
||
(Get): Likewise.
|
||
(Get): Likewise.
|
||
(Put): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-tiflau.ads: Make the package generic.
|
||
(Get): Change parameter type to Num.
|
||
(Put): Likewise.
|
||
(Gets): Likewise.
|
||
(Puts): Likewise.
|
||
* libgnat/a-tiflau.adb: Remove clauses for System.Val_Real.
|
||
(Get): Change parameter type to Num and call Scan routine.
|
||
(Gets): Likewise.
|
||
(Load_Real): Move to...
|
||
(Put): Change parameter type and add conversion to Long_Long_Float.
|
||
(Puts): Likewise.
|
||
* libgnat/a-tiflio.adb: Add with and use clauses for System.Val_Flt,
|
||
System.Val_LFlt and System.Val_LLF. Instantiate Float_Aux on Float,
|
||
Long_Float and Long_Long_Float.
|
||
(OK_Float): New boolean constant.
|
||
(OK_Long_Float): Likewise.
|
||
(Get): Call appropriate Get routine from auxiliary package.
|
||
(Get): Call previous variant.
|
||
(Get): Call appropriate Gets routine from auxiliary package.
|
||
(Put): Call appropriate Put routine from auxiliary package.
|
||
(Put): Call previous variant.
|
||
(Put): Call appropriate Puts routine from auxiliary package.
|
||
* libgnat/a-tigeau.ads (Load_Real): New procedure.
|
||
* libgnat/a-tigeau.adb (Load_Real): ...here.
|
||
* libgnat/a-wtcoau.ads: Add with clause for Float_Aux and make the
|
||
package generic.
|
||
(Get): Change parameter types to Num.
|
||
(Put): Likewise.
|
||
(Gets): Likewise.
|
||
(Puts): Likewise.
|
||
* libgnat/a-wtcoau.adb: Remove clause and renaming for Float_Aux.
|
||
(Get): Change parameter types to Num.
|
||
(Gets): Likewise.
|
||
(Put): Likewise.
|
||
(Puts): Likewise. Add conversion to Long_Long_Float.
|
||
* libgnat/a-wtcoio.ads: Remove use clause for Complex_Types and use
|
||
qualified names throughout accordingly.
|
||
* libgnat/a-wtcoio.adb: Remove clause for Ada.Unchecked_Conversion,
|
||
add with clause for Float_Aux, add clauses for System.Val_Flt,
|
||
System.Val_LFlt and System.Val_LLF. Add clause for Complex_Types.
|
||
Instantiate Float_Aux and Complex_Aux on Float, Long_Float, and
|
||
Long_Long_Float. Remove LLF subtype and TFT instantiation.
|
||
(OK_Float): New boolean constant.
|
||
(OK_Long_Float): Likewise.
|
||
(Get): Call appropriate Get routine from auxiliary package.
|
||
(Get): Call appropriate Gets routine from auxiliary package.
|
||
(Put): Call appropriate Put routine from auxiliary package.
|
||
(Put): Call appropriate Puts routine from auxiliary package.
|
||
* libgnat/a-wtdeau.adb: Remove with and use clause for Float_Aux.
|
||
* libgnat/a-wtfiau.adb: Likewise.
|
||
* libgnat/a-wtfiio.adb: Add with and use clause for System.Val_LLF.
|
||
Instantiate Float_Aux on Long_Long_Float.
|
||
(Get): Adjust call to Get routine from auxiliary package.
|
||
(Get): Adjust call to Gets routine from auxiliary package.
|
||
(Put): Adjust call to Put routine from auxiliary package.
|
||
(Put): Adjust call to Puts routine from auxiliary package.
|
||
* libgnat/a-wtfiio__128.adb: Likewise.
|
||
(Get): Likewise.
|
||
(Get): Likewise.
|
||
(Put): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-wtflau.ads: Make the package generic.
|
||
(Get): Change parameter type to Num.
|
||
(Put): Likewise.
|
||
(Gets): Likewise.
|
||
(Puts): Likewise.
|
||
* libgnat/a-wtflau.adb: Remove clauses for System.Val_Real.
|
||
(Get): Change parameter type to Num and call Scan routine. Set
|
||
Ptr parameter lazily.
|
||
(Gets): Likewise.
|
||
(Load_Real): Move to...
|
||
(Put): Change parameter type and add conversion to Long_Long_Float.
|
||
Bump buffer length to Max_Real_Image_Length.
|
||
(Puts): Likewise.
|
||
* libgnat/a-wtflio.adb: Add with and use clauses for System.Val_Flt,
|
||
System.Val_LFlt and System.Val_LLF. Instantiate Float_Aux on Float,
|
||
Long_Float and Long_Long_Float.
|
||
(OK_Float): New boolean constant.
|
||
(OK_Long_Float): Likewise.
|
||
(Get): Call appropriate Get routine from auxiliary package. Add
|
||
pragma Unsuppress (Range_Check) and manual validity check.
|
||
(Get): Call appropriate Gets routine from auxiliary package. Add
|
||
pragma Unsuppress (Range_Check) and manual validity check.
|
||
(Put): Call appropriate Put routine from auxiliary package.
|
||
(Put): Call appropriate Puts routine from auxiliary package.
|
||
* libgnat/a-wtgeau.ads (Load_Real): New procedure.
|
||
* libgnat/a-wtgeau.adb (Load_Real): ...here.
|
||
* libgnat/a-ztcoau.ads: Add with clause for Float_Aux and make the
|
||
package generic.
|
||
(Get): Change parameter types to Num.
|
||
(Put): Likewise.
|
||
(Gets): Likewise.
|
||
(Puts): Likewise.
|
||
* libgnat/a-ztcoau.adb: Remove clause and renaming for Float_Aux.
|
||
(Get): Change parameter types to Num.
|
||
(Gets): Likewise.
|
||
(Put): Likewise.
|
||
(Puts): Likewise. Add conversion to Long_Long_Float.
|
||
* libgnat/a-ztcoio.ads: Remove use clause for Complex_Types and use
|
||
qualified names throughout accordingly.
|
||
* libgnat/a-ztcoio.adb: Remove clause for Ada.Unchecked_Conversion,
|
||
add with clause for Float_Aux, add clauses for System.Val_Flt,
|
||
System.Val_LFlt and System.Val_LLF. Add clause for Complex_Types.
|
||
Instantiate Float_Aux and Complex_Aux on Float, Long_Float, and
|
||
Long_Long_Float. Remove LLF subtype and TFT instantiation.
|
||
(OK_Float): New boolean constant.
|
||
(OK_Long_Float): Likewise.
|
||
(Get): Call appropriate Get routine from auxiliary package.
|
||
(Get): Call appropriate Gets routine from auxiliary package.
|
||
(Put): Call appropriate Put routine from auxiliary package.
|
||
(Put): Call appropriate Puts routine from auxiliary package.
|
||
* libgnat/a-ztdeau.adb: Remove with and use clause for Float_Aux.
|
||
* libgnat/a-ztfiau.adb: Likewise.
|
||
* libgnat/a-ztfiio.adb: Add with and use clause for System.Val_LLF.
|
||
Instantiate Float_Aux on Long_Long_Float.
|
||
(Get): Adjust call to Get routine from auxiliary package.
|
||
(Get): Adjust call to Gets routine from auxiliary package.
|
||
(Put): Adjust call to Put routine from auxiliary package.
|
||
(Put): Adjust call to Puts routine from auxiliary package.
|
||
* libgnat/a-ztfiio__128.adb: Likewise.
|
||
(Get): Likewise.
|
||
(Get): Likewise.
|
||
(Put): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-ztflau.ads: Make the package generic.
|
||
(Get): Change parameter type to Num.
|
||
(Put): Likewise.
|
||
(Gets): Likewise.
|
||
(Puts): Likewise.
|
||
* libgnat/a-ztflau.adb: Remove clauses for System.Val_Real.
|
||
(Get): Change parameter type to Num and call Scan routine. Set
|
||
Ptr parameter lazily.
|
||
(Gets): Likewise.
|
||
(Load_Real): Move to...
|
||
(Put): Change parameter type and add conversion to Long_Long_Float.
|
||
Bump buffer length to Max_Real_Image_Length.
|
||
(Puts): Likewise.
|
||
* libgnat/a-ztflio.adb: Add with and use clauses for System.Val_Flt,
|
||
System.Val_LFlt and System.Val_LLF. Instantiate Float_Aux on Float,
|
||
Long_Float and Long_Long_Float.
|
||
(OK_Float): New boolean constant.
|
||
(OK_Long_Float): Likewise.
|
||
(Get): Call appropriate Get routine from auxiliary package. Add
|
||
pragma Unsuppress (Range_Check) and manual validity check.
|
||
(Get): Call appropriate Gets routine from auxiliary package. Add
|
||
pragma Unsuppress (Range_Check) and manual validity check.
|
||
(Put): Call appropriate Put routine from auxiliary package.
|
||
(Put): Call appropriate Puts routine from auxiliary package.
|
||
* libgnat/a-ztgeau.ads (Load_Real): New procedure.
|
||
* libgnat/a-ztgeau.adb (Load_Real): ...here.
|
||
* libgnat/s-fatsfl.ads: Delete.
|
||
* libgnat/s-valflt.ads: New package.
|
||
* libgnat/s-vallfl.ads: Likewise.
|
||
* libgnat/s-valllf.ads: Likewise.
|
||
* libgnat/s-valrea.ads: Make generic. Add assertions, defensive
|
||
code and clarify intent.
|
||
(Scan_Real): Change parameter type to Num.
|
||
(Value_Real): Likewise.
|
||
* libgnat/s-valrea.adb: Instantiate Value_R on Uns.
|
||
(Integer_to_Real): Change parameter and result to Num.
|
||
Call Float_Control.Reset only if the mantissa is 64 bits. Use
|
||
a divide to compute the final value if the scale is negative.
|
||
(Scan_Real): Change result to Num.
|
||
(Value_Real): Likewise.
|
||
* libgnat/s-valuer.adb: Add assertions, defensive code and
|
||
clarify intent.
|
||
(F_Limit): Delete.
|
||
(I_Limit): Likewise.
|
||
(Precision_Limit): Always use the integer limit.
|
||
* libgnat/s-fatgen.adb: Add pragma Annotate.
|
||
|
||
2020-12-15 Yannick Moy <moy@adacore.com>
|
||
|
||
* libgnat/a-tiflio.adb: Mark body not in SPARK.
|
||
* libgnat/a-tiflio.ads: Mark spec in SPARK.
|
||
|
||
2020-12-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch6.adb (Build_Procedure_Body_Form): Adjust, the
|
||
declaration of the procedure form is now insert before the
|
||
original function body rather than after.
|
||
(Expand_N_Subprogram_Declaration): Deal with private types whose
|
||
full views are arrays.
|
||
* exp_unst.adb (Unnest_Subprogram): Deal with private types.
|
||
(Needs_Fat_Pointer): Code cleanup.
|
||
* freeze.adb (Freeze_Subprogram): Ditto.
|
||
* exp_util.adb (Build_Procedure_Form): Insert the procedure form
|
||
decl before and not after.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build missing
|
||
spec when needed for Transform_Function_Array.
|
||
* sem_util.adb (Get_Fullest_View): Deal with null entity.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Simplify code
|
||
for aspect Priority.
|
||
* sem_prag.adb (Analyze_Pragma): Simplify code for pragma
|
||
Priority.
|
||
|
||
2020-12-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch7.adb (Reset_Scopes_To_Block_Elab_Proc): Do not crash on
|
||
a block with no Identifier. Code cleanups.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Reuse existing code for
|
||
attribute Value when analyzing attributes Wide_Value and
|
||
Wide_Wide_Value.
|
||
|
||
2020-12-15 Pascal Obry <obry@adacore.com>
|
||
|
||
* libgnat/g-diopit.adb (Find): Fix possible infinite recursion
|
||
in Find iterator.
|
||
* libgnat/g-diopit.ads (Find): Update comments accordingly.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
Callable and Terminated attributes; refactor calls to Set_Etype
|
||
occurring in both THEN and ELSE branches of an IF statement for
|
||
attribute Storage_Size.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
Wide_Wide_Width, Wide_Width and Width attributes.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
Pred and Succ attributes.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
Size, Object_Size and Value_Size attributes.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Consistently call
|
||
Check_Fixed_Point_Type before checking the number of attribute
|
||
expressions (like it is done for floating point types); reuse
|
||
Check_Fixed_Point_Type_0.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_disp.adb (Make_Tags): Remove call to UI_To_Int.
|
||
* sem_attr.adb (Check_Array_Type): Likewise; also, refine type
|
||
of a local variable.
|
||
(Analyze_Attribute): Likewise.
|
||
(Get_Enclosing_Object): Likewise.
|
||
* sem_util.adb (Get_Enum_Lit_From_Pos): Likewise.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
First_Bit/Last_Bit and Position attributes.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
Machine_Radix and Mantissa attributes.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
Machine_Overflows and Machine_Rounds attributes.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
Large, Small, Safe_Large and Safe_Small attributes.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
Epsilon, Model_Epsilon, Model_Small, Safe_First and Safe_Las
|
||
attributes.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
Emax, Machine_Emax, Machine_Emin, Machine_Mantissa, Model_Emin,
|
||
Model_Mantissa and Safe_Emax attributes.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
Denorm and Signed_Zeros attributes.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
Adjacent, Copy_Sign and Remainder attributes.
|
||
(Check_Floating_Point_Type_2): Fix style in comment.
|
||
|
||
2020-12-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
Compose, Leading_Part and Scaling attributes.
|
||
|
||
2020-12-14 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Resolve second parameter of
|
||
attribute Scaling just like it is resolved for a similar
|
||
attribute Compose.
|
||
|
||
2020-12-14 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
First/Last, First_Bit/Last_Bit and First_Valid/Last_Valid
|
||
attributes.
|
||
|
||
2020-12-14 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge similar code for
|
||
Truncation and other floating point attributes.
|
||
|
||
2020-12-14 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Merge identical code for
|
||
Ceiling, Floor, Fraction, Machine, Machine_Rounding, Model,
|
||
Rounding and Unbiased_Rounding.
|
||
|
||
2020-12-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/a-tifiio.adb: Adjust documentation.
|
||
(OK_Get_32): Compare the object size of the base type.
|
||
(OK_Put_32): Likewise.
|
||
(OK_Get_64): Likewise.
|
||
(OK_Put_64): Likewise.
|
||
* libgnat/a-tifiio__128.adb: Adjust documentation.
|
||
(OK_Get_32): Compare the object size of the base type.
|
||
(OK_Put_32): Likewise.
|
||
(OK_Get_64): Likewise.
|
||
(OK_Put_64): Likewise.
|
||
(OK_Get_128): Likewise.
|
||
(OK_Put_128): Likewise.
|
||
* libgnat/a-wtfiio.adb (OK_Get_32): Likewise.
|
||
(OK_Put_32): Likewise.
|
||
(OK_Get_64): Likewise.
|
||
(OK_Put_64): Likewise
|
||
* libgnat/a-wtfiio__128.adb (OK_Get_32): Likewise.
|
||
(OK_Put_32): Likewise.
|
||
(OK_Get_64): Likewise.
|
||
(OK_Put_64): Likewise.
|
||
(OK_Get_128): Likewise.
|
||
(OK_Put_128): Likewise.
|
||
* libgnat/a-ztfiio.adb (OK_Get_32): Likewise.
|
||
(OK_Put_32): Likewise.
|
||
(OK_Get_64): Likewise.
|
||
(OK_Put_64): Likewise
|
||
* libgnat/a-ztfiio__128.adb (OK_Get_32): Likewise.
|
||
(OK_Put_32): Likewise.
|
||
(OK_Get_64): Likewise.
|
||
(OK_Put_64): Likewise.
|
||
(OK_Get_128): Likewise.
|
||
(OK_Put_128): Likewise.
|
||
|
||
2020-12-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/a-tifiio.adb (Get): Replace Current_Input with Current_In.
|
||
* libgnat/a-tifiio__128.adb: (Get): Likewise.
|
||
* libgnat/a-wtcoio.adb (Get): Likewise.
|
||
(Put): Replace Current_Output with Current_Out.
|
||
* libgnat/a-wtdeio.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-wtdeio__128.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-wtenio.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-wtfiio.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-wtfiio__128.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-wtflio.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-wtinio.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-wtinio__128.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-wtmoio.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-wtmoio__128.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-ztcoio.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-ztdeio.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-ztdeio__128.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-ztenio.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-ztfiio.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-ztfiio__128.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-ztflio.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-ztinio.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-ztinio__128.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-ztmoio.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
* libgnat/a-ztmoio__128.adb (Get): Likewise.
|
||
(Put): Likewise.
|
||
|
||
2020-12-14 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_util.adb, sem_util.ads (In_Generic_Formal_Package):
|
||
Created to identify type declarations occurring within generic
|
||
formal packages.
|
||
* sem_res.adb (Resolve_Allocator): Add condition to avoid
|
||
emitting an error for allocators when the type being allocated
|
||
is class-wide and from a generic formal package.
|
||
|
||
2020-12-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-fatgen.adb (Tiny80): Add alignment clause.
|
||
|
||
2020-12-14 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_util.adb (Process_Current_Value_Condition): Add assertion.
|
||
* libgnat/s-fatgen.adb (Scaling): Add annotation.
|
||
|
||
2020-12-14 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_eval.adb (Fold_Shift): Compute values using the base type.
|
||
|
||
2020-12-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-fatgen.adb: Add with clause for Interfaces and use
|
||
type clause for Interfaces.Unsigned_64.
|
||
(Small): Comment out.
|
||
(Tiny): Likewise.
|
||
(Tiny16): New integer constant.
|
||
(Tiny32): Likewise.
|
||
(Tiny64): Likewise.
|
||
(Tiny80): New integer array constant.
|
||
(Pred): Declare a local overlay for Tiny.
|
||
(Succ): Likewise.
|
||
|
||
2020-12-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix again packed
|
||
array type in complex cases where array is Volatile.
|
||
* exp_util.adb (Remove_Side_Effects): Do not force a renaming to
|
||
be handled by the back-end.
|
||
|
||
2020-12-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-fatgen.adb: Remove use clause for
|
||
System.Unsigned_Types.
|
||
(Scaling): Add renaming of System.Unsigned_Types and use type
|
||
clause for Long_Long_Unsigned.
|
||
|
||
2020-12-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-fatgen.ads (Compose): Add pragma Inline.
|
||
(Copy_Sign): Likewise.
|
||
(Exponent): Likewise.
|
||
(Fraction): Likewise.
|
||
* libgnat/s-fatgen.adb: Remove with clause for System, add
|
||
with and use clauses for System.Unsigned_Types.
|
||
Add pragma Warnings (Off) for non-static constants.
|
||
Remove precomputed tables of powers of radix and add a few
|
||
constants describing the floating-point format.
|
||
(Gradual_Scaling): Delete.
|
||
(Copy_Sign): Reimplement directly.
|
||
(Decompose): Likewise.
|
||
(Scaling): Likewise.
|
||
(Pred): Speed up.
|
||
(Succ): Likewise.
|
||
(Truncation): Tidy up.
|
||
(Valid): Move constants to library level.
|
||
|
||
2020-12-14 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_eval.adb (CV_Cache): Remove initialization at elaboration.
|
||
|
||
2020-12-14 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
|
||
Correct documentation of the -gnatw.K switch to say that it
|
||
disables rather than activates the warning.
|
||
* gnat_ugn.texi: Regenerate.
|
||
|
||
2020-12-14 Doug Rupp <rupp@adacore.com>
|
||
|
||
* tracebak.c: Add a section for ARM Linux.
|
||
|
||
2020-12-14 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* par-ch3.adb (P_Discriminant_Part_Opt): Parse aspects, update
|
||
documentation.
|
||
* par-ch6.adb (P_Return_Statement): Likewise.
|
||
* par-ch9.adb (P_Entry_Index_Specification): Likewise.
|
||
|
||
2020-12-14 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_aggr.adb (Build_Array_Aggr_Code.Gen_Assign): Move
|
||
generation of the call for DIC check past the optional
|
||
generation of calls to controlled Initialize procedures.
|
||
* exp_ch3.adb
|
||
(Build_Array_Init_Proc.Init_One_Dimension.Possible_DIC_Call):
|
||
Suppress generation of a DIC call when the array component type
|
||
is controlled. The call will now be generated later inside the
|
||
array's DI (Deep_Initialize) procedure.
|
||
* exp_ch7.adb
|
||
(Make_Deep_Array_Body.Build_Initialize_Statements): Generate a
|
||
DIC call (when needed by the array component type) after any
|
||
call to the component type's controlled Initialize procedure, or
|
||
generate the DIC call by itself if there's no Initialize to
|
||
call.
|
||
* sem_aggr.adb (Resolve_Record_Aggregate.Add_Association):
|
||
Simplify condition to only test Is_Box_Init_By_Default (previous
|
||
condition was overkill, as well as incorrect in some cases).
|
||
* sem_elab.adb (Active_Scenarios.Output_Call): For
|
||
Default_Initial_Condition, suppress call to
|
||
Output_Verification_Call when the subprogram is a partial DIC
|
||
procedure.
|
||
|
||
2020-12-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Round>:
|
||
Adjust commentary and set the Rounded_Result flag on the type
|
||
conversion node when the node is needed.
|
||
* exp_ch4.adb (Expand_N_Type_Conversion): Minor tweak.
|
||
(Fixup_Universal_Fixed_Operation): Look through the type conversion
|
||
only when it is to Universal_Real.
|
||
* exp_fixd.adb: Remove with and use clauses for Snames.
|
||
(Build_Divide): Remove redundant test.
|
||
(Expand_Convert_Float_To_Fixed): Use Rounded_Result flag on the
|
||
node to set the truncation parameter.
|
||
|
||
2020-12-14 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Refinement_Clause): Simplify recently
|
||
added code for preventing cascaded errors.
|
||
|
||
2020-12-14 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch6.adb (Is_Build_In_Place_Result_Type): Further narrow
|
||
the conditions under which we enable build-in-place for
|
||
controlled types.
|
||
|
||
2020-12-14 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_warn.adb (Output_Non_Modified_In_Out_Warnings): Use right
|
||
warning control character 'k' in both comment and call to
|
||
Errout_Msg_N.
|
||
|
||
2020-12-14 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Refined_State_In_Decl_Part): Refine the
|
||
error message for missing Part_Of on constituent. Avoid
|
||
cascading error.
|
||
|
||
2020-12-14 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Depends_In_Decl_Part): Replace early
|
||
returns with goto Leave.
|
||
(Collect_Subprogram_Inputs_Outputs): Fix style in comment.
|
||
|
||
2020-12-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-fatgen.ads (Valid): Add again pragma Inline.
|
||
* libgnat/s-fatgen.adb (Valid): Improve commentary, tidy up left
|
||
and right, and remove superfluous trick for denormalized numbers.
|
||
|
||
2020-12-14 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Find_Role): Constant object of
|
||
access-to-constant and access-to-subprogram types are not
|
||
writable.
|
||
(Collect_Subprogram_Inputs_Outputs): In-parameters of
|
||
access-to-variable type can act as outputs of the Depends
|
||
contracts.
|
||
|
||
2020-12-14 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sa_messages.ads: Reference Subprogram_Variant in the comment
|
||
for Assertion_Check.
|
||
* sem_prag.adb (Analyze_Pragma): Add Subprogram_Variant as an
|
||
ID_ASSERTION_KIND; move Default_Initial_Condition as an
|
||
RM_ASSERTION_KIND.
|
||
|
||
2020-12-14 Yannick Moy <moy@adacore.com>
|
||
|
||
* inline.adb (Cannot_Inline): Add No_Info parameter to disable
|
||
info message.
|
||
* inline.ads (Cannot_Inline): When No_Info is set to True, do
|
||
not issue info message in GNATprove mode, but still mark the
|
||
subprogram as not always inlined.
|
||
* sem_res.adb (Resolve_Call): Always call Cannot_Inline inside
|
||
an assertion expression.
|
||
|
||
2020-12-14 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-imguti.ads (Set_Decimal_Digits): Adjust documentation.
|
||
|
||
2020-12-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
PR ada/98230
|
||
* exp_attr.adb (Expand_N_Attribute_Reference, case Mod): Use base
|
||
type of argument to obtain static bound and required size.
|
||
|
||
2020-12-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Remove ^L characters.
|
||
* gcc-interface/decl.c (create_concat_name): Add cast.
|
||
|
||
2020-12-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (maybe_make_gnu_thunk): Return false if the
|
||
target is local and thunk and target do not have the same context.
|
||
|
||
2020-12-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (lvalue_for_aggregate_p): Also return true
|
||
for return statements.
|
||
* gcc-interface/utils.c (gnat_write_global_declarations): Use the
|
||
maximum index for the dummy object to avoid a name collision.
|
||
|
||
2020-12-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <Fixed_Point_Type>: Put
|
||
back the "else" unduly removed.
|
||
|
||
2020-12-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Call_to_gnu): Also create a temporary for
|
||
the return value if the LHS is a bit-field and the return type is
|
||
a type padding a self-referential type.
|
||
(gnat_to_gnu): Do not remove the padding on the result if it is too
|
||
small with regard to the natural padding size.
|
||
|
||
2020-12-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (convert) <INTEGER_TYPE>: Call fold_convert
|
||
in the cases where convert_to_integer is not called.
|
||
<BOOLEAN_TYPE>: Call fold_convert instead of convert_to_integer.
|
||
|
||
2020-12-07 Matthias Klose <doko@ubuntu.com>
|
||
|
||
PR ada/97504
|
||
* Makefile.rtl (LIBGNAT_TARGET_PAIRS) <mips*-*-linux*>: Use wraplf
|
||
version of Aux_Long_Long_Float.
|
||
|
||
2020-11-30 Pierre-Marie de Rodat <derodat@adacore.com>
|
||
|
||
* libgnat/s-trasym.ads: Update the list of supported platforms.
|
||
|
||
2020-11-30 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in, gcc-interface/trans.c: Remove ^L
|
||
characters.
|
||
|
||
2020-11-30 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (GNATLIBFLAGS): Enable checks by
|
||
default.
|
||
* libgnat/s-bitfie.ads: Suppress alignment checks.
|
||
* libgnat/s-bituti.adb: Minor reformatting.
|
||
* libgnat/s-secsta.adb (SS_Allocate): Support Size = 0.
|
||
|
||
2020-11-30 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch3.adb (Replace_Discr_Ref): Removed, no longer needed.
|
||
|
||
2020-11-30 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch5.adb (Process_Statements): Replace low-level membership
|
||
test with a high-level wrapper.
|
||
|
||
2020-11-30 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch5.adb (Set_Assignment_Type): Combine calls to Ekind
|
||
using membership test.
|
||
(Should_Transform_BIP_Assignment): Replace assignment to a
|
||
"Result" variable with simple return statements; avoid repeated
|
||
calls to Unqual_Conv by declaring a local constant.
|
||
|
||
2020-11-30 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* lib-xref.adb (Generate_Reference): Fix reference to
|
||
Analyze_Assignment.
|
||
* sem_ch5.adb (Diagnose_Non_Variable_Lhs): Reuse existing
|
||
utility function.
|
||
|
||
2020-11-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* contracts.adb (Check_Type_Or_Object_External_Properties): Make
|
||
sure to exclude all return objects from the SPARK legality rule
|
||
on effectively volatile variables.
|
||
* exp_ch6.adb (Expand_N_Extended_Return_Statement): Use the fast
|
||
track only when the declaration of the return object can be
|
||
dropped.
|
||
|
||
2020-11-30 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* einfo.ads (Is_Partial_DIC_Procedure): New function.
|
||
(Partial_DIC_Procedure): New procedure.
|
||
* einfo.adb (Is_Partial_DIC_Procedure): New function to return
|
||
whether a subprogram is a partial Default_Initial_Condition
|
||
procedure by checking the name (to avoid adding a new field).
|
||
(DIC_Procedure): Add a test that excludes partial DIC procedures
|
||
from being returned.
|
||
(Partial_DIC_Procedure): New procedure to return the partial DIC
|
||
procedure of a type, if it has one (otherwise returns Empty).
|
||
(Set_DIC_Procedure): Remove check for duplicate DIC procedures.
|
||
* exp_aggr.adb (Gen_Assign): Generate a call to the type's DIC
|
||
procedure in the case where an array component is default
|
||
initialized (due to an association with a box).
|
||
(Build_Record_Aggr_Code): For an extension aggregate, generate a
|
||
call to the ancestor type's DIC procedure (if any) when the
|
||
ancestor part is a subtype mark. For a record component
|
||
association that was specified with a box (tested for by
|
||
checking the new flag Was_Default_Init_Box_Association),
|
||
generate a call to the component type's DIC procedure (if it has
|
||
one).
|
||
* exp_ch4.adb (Expand_N_Allocator): When the allocated object is
|
||
default initialized and the designated type has a DIC aspect,
|
||
generate a call to the DIC procedure.
|
||
* exp_util.ads (Build_DIC_Call): Change the formal Obj_Id to
|
||
name Obj_Name, and change its type from Entity_Id to Node_Id
|
||
(and update comment).
|
||
(Build_DIC_Procedure_Body): Add formal Partial_DIC, remove
|
||
formal For_Freeze, and update comment accordingly.
|
||
(Build_DIC_Procedure_Declaration): Add formal Partial_DIC and
|
||
update comment.
|
||
* exp_util.adb
|
||
(Build_DIC_Call): Revised to use its Obj_Name (formerly Obj_Id)
|
||
formal directly rather than calling New_Occurrence_Of on it, to
|
||
allow arbitrary names to be passed rather than being limited to
|
||
Entity_Ids.
|
||
(Build_DIC_Procedure_Body): Call Add_Parent_DICs to generate
|
||
checks for DICs associated with any parent types, implementing
|
||
the required "additive" semantics for DICs. When building a DIC
|
||
procedure body for a partial view (when Partial_DIC is True),
|
||
call Add_Own_DIC when the type has its own DIC. In the case of
|
||
"full" DIC procedures, a call is generated to any partial DIC
|
||
procedure of the type (unless the procedure has a null body),
|
||
along with checks for any DICs inherited by the full view.
|
||
(Build_DIC_Procedure_Declaration): Add handling for partial DIC
|
||
procedures. For the suffix of a regular DIC procedure's name,
|
||
use "DIC" (instead of "Default_Initial_Condition"), and for the
|
||
suffix of a partial DIC procedure's name, use "Partial_DIC".
|
||
(Add_DIC_Check): Add the DIC pragma to the list of seen pragmas
|
||
(Pragmas_Seen).
|
||
(Add_Inherited_Tagged_DIC): Remove the formals Par_Typ,
|
||
Deriv_Typ, and Obj_Id, and add formal Expr, which denotes DIC's
|
||
expression. Remove the call to Replace_References (which is now
|
||
done in Add_Inherited_DICs).
|
||
(Add_Inherited_DICs): New procedure to locate a DIC pragma
|
||
associated with a parent type, replace its references
|
||
appropriately (such as any current instance references), and add
|
||
a check for the DIC.
|
||
(Add_Own_DIC): Add an Obj_Id formal to allow caller to pass the
|
||
_init formal of the generated DIC procedure.
|
||
(Add_Parent_DICs): New procedure to traverse a type's parents,
|
||
looking for DICs associated with those and calling
|
||
Add_Inherited_DICs to apply the appropriate DIC checks.
|
||
(Is_Verifiable_DIC_Pragma): Treat pragmas that have an Empty
|
||
first argument the same as a pragma without any arguments
|
||
(returning False for that case).
|
||
* exp_ch3.adb (Init_One_Dimension): Generate calls to the
|
||
component's DIC procedure when needed.
|
||
(Possible_DIC_Call): New function nested in Init_One_Dimension
|
||
to build a call to the array component type's DIC-checking
|
||
function when appropriate.
|
||
(Build_Array_Init_Proc): The presence of a DIC on the component
|
||
type is an additional condition for generating an init proc for
|
||
an array type.
|
||
(Build_Init_Statements): When the record component's type has a
|
||
DIC, and the component declaration does not have an
|
||
initialization expression, generate a call to the component
|
||
type's DIC procedure.
|
||
(Expand_N_Object_Declaration): Modify the call to Build_DIC_Call
|
||
to pass a new occurrence of the object's defining id rather than
|
||
the id itself.
|
||
(Freeze_Type): Only build a type's DIC procedure (if it has one)
|
||
for types that are not interfaces.
|
||
* exp_spark.adb (Expand_SPARK_N_Freeze_Type): Remove From_Freeze
|
||
actual and add a ??? comment.
|
||
(Expand_SPARK_N_Object_Declaration): Modify call to
|
||
Build_DIC_Call to pass a new occurrence of the object id rather
|
||
than the object id itself.
|
||
* sem_aggr.adb (Resolve_Record_Aggregate): Declare local flag
|
||
Is_Box_Init_By_Default and set it in cases where the component
|
||
association has a box and the component is being initialized by
|
||
default (as opposed to initialized by an initialization
|
||
expression associated with the component's declaration).
|
||
(Add_Association): If the association has a box for a component
|
||
initialized by default, the flag
|
||
Was_Default_Init_Box_Association is set on the new component
|
||
association (for later testing during expansion).
|
||
(Get_Value): Reset Is_Box_Init_By_Default to False.
|
||
* sem_ch3.adb (Build_Assertion_Bodies_For_Type): Rearrange code
|
||
to build DIC procedure bodies for a (noninterface) type that
|
||
Has_Own_DIC (for partial type views) or Has_DIC (for full type
|
||
views) as appropriate.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications,
|
||
Aspect_Default_Initial_Condition): Add an extra argument to the
|
||
DIC pragma to denote the type associated with the pragma (for
|
||
use in Build_DIC_Procedure_Body).
|
||
* sem_prag.adb (Analyze_Pragma): Allow two arguments for pragma
|
||
Default_Initial_Condition. If not already present, add an extra
|
||
argument denoting the type that the pragma is associated with.
|
||
* sem_util.adb (Propagate_DIC_Attributes): Retrieve any partial
|
||
DIC procedure associated with the type and add it to the type's
|
||
list of subprograms (Subprograms_For_Type).
|
||
* sinfo.ads (Was_Default_Init_Box_Association): New flag on
|
||
N_Component_Association nodes. Add subprograms to get and set
|
||
flag, as well as updating the documentation.
|
||
* sinfo.adb (Was_Default_Init_Box_Association): New function to
|
||
retrieve the corresponding flag (Flag14).
|
||
(Set_Was_Default_Init_Box_Association): New procedure to set the
|
||
corresponding flag (Flag14).
|
||
|
||
2020-11-30 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* par-ch6.adb (P_Formal_Part): Remove extra call to Scan.
|
||
* par-tchk.adb: Minor reformatting.
|
||
|
||
2020-11-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/a-nbnbre.adb (Float_Conversions): Instantiate Conv
|
||
package only once in the body.
|
||
(Fixed_Conversions.Float_Aux): New instance.
|
||
(Fixed_Conversions.Conv_I): Likewise.
|
||
(Fixed_Conversions.Conv_U): Likewise.
|
||
(Fixed_Conversions.LLLI): New subtype.
|
||
(Fixed_Conversions.LLLU): Likewise.
|
||
(Fixed_Conversions.Too_Large): New constant.
|
||
(Fixed_Conversions.To_Big_Real): Reimplement.
|
||
(Fixed_Conversions.From_Big_Real): Likewise.
|
||
|
||
2020-11-30 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Avoid crash in case
|
||
of conditional expression.
|
||
|
||
2020-11-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_attributes.rst (Pool_Address):
|
||
Fix pasto.
|
||
(Small_Denominator): New entry.
|
||
(Small_Numerator): Likewise.
|
||
* doc/gnat_rm/implementation_defined_characteristics.rst (3.5.9):
|
||
Relax conditions on 128-bit smalls and integer-only implementation.
|
||
* gnat_rm.texi: Regenerate.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Fore>:
|
||
Relax conditions on integer implementation for ordinary fixed-point
|
||
types and pass a third parameter to the routine.
|
||
<Attribute_Small_Denominator>: Raise Program_Error.
|
||
<Attribute_Small_Numerator>: Likewise.
|
||
* exp_fixd.adb (Expand_Convert_Fixed_To_Fixed): Use a scaled divide
|
||
if the numerator and denominator of the small ratio are sufficiently
|
||
small integers.
|
||
(Expand_Convert_Fixed_To_Integer): Use a scaled divide if numerator
|
||
and denominator of the small value are sufficiently small integers.
|
||
(Expand_Convert_Integer_To_Fixed): Likewise.
|
||
* exp_imgv.adb (Expand_Image_Attribute): Relax the conditions on the
|
||
integer implementation for ordinary fixed-point types.
|
||
(Expand_Value_Attribute): Likewise.
|
||
* freeze.adb (Freeze_Fixed_Point_Type): Relax conditions on 128-bit
|
||
smalls.
|
||
* sem_attr.adb (Analyze_Attribute) <Attribute_Small_Denominator>:
|
||
Check no arguments, fixed-point and set type to Universal_Integer.
|
||
<Attribute_Small_Numerator>: Likewise.
|
||
(Eval_Attribute) <Attribute_Small_Denominator>: Fold statically.
|
||
<Attribute_Small_Numerator>: Likewise.
|
||
* snames.ads-tmpl (Name_Small_Denominator): New attribute name.
|
||
(Name_Small_Numerator): Likewise.
|
||
(Attribute_Id): Add Attribute_Small_{Denominator,Numerator}.
|
||
* libgnat/a-tifiio.adb (Exact): Delete.
|
||
(Need_64): Likewise.
|
||
(OK_Get_32): New boolean constant.
|
||
(OK_Put_32): Likewise.
|
||
(OK_Get_64): Likewise.
|
||
(OK_Put_64): Likewise.
|
||
(E): Adjust.
|
||
(Get procedures): Likewise.
|
||
(Put procedures): Likewise.
|
||
* libgnat/a-tifiio__128.adb (Exact): Delete.
|
||
(Need_64): Likewise.
|
||
(Need_128): Likewise.
|
||
(OK_Get_32): New boolean constant.
|
||
(OK_Put_32): Likewise.
|
||
(OK_Get_64): Likewise.
|
||
(OK_Put_64): Likewise.
|
||
(OK_Get_128): Likewise.
|
||
(OK_Put_128): Likewise.
|
||
(E): Adjust.
|
||
(Get procedures): Likewise.
|
||
(Put procedures): Likewise.
|
||
* libgnat/a-wtfiio.adb (Exact): Delete.
|
||
(Need_64): Likewise.
|
||
(OK_Get_32): New boolean constant.
|
||
(OK_Put_32): Likewise.
|
||
(OK_Get_64): Likewise.
|
||
(OK_Put_64): Likewise.
|
||
(E): Adjust.
|
||
(Get procedures): Likewise.
|
||
(Put procedures): Likewise.
|
||
* libgnat/a-wtfiio__128.adb (Exact): Delete.
|
||
(Need_64): Likewise.
|
||
(Need_128): Likewise.
|
||
(OK_Get_32): New boolean constant.
|
||
(OK_Put_32): Likewise.
|
||
(OK_Get_64): Likewise.
|
||
(OK_Put_64): Likewise.
|
||
(OK_Get_128): Likewise.
|
||
(OK_Put_128): Likewise.
|
||
(E): Adjust.
|
||
(Get procedures): Likewise.
|
||
(Put procedures): Likewise.
|
||
* libgnat/a-ztfiio.adb (Exact): Delete.
|
||
(Need_64): Likewise.
|
||
(OK_Get_32): New boolean constant.
|
||
(OK_Put_32): Likewise.
|
||
(OK_Get_64): Likewise.
|
||
(OK_Put_64): Likewise.
|
||
(E): Adjust.
|
||
(Get procedures): Likewise.
|
||
(Put procedures): Likewise.
|
||
* libgnat/a-ztfiio__128.adb (Exact): Delete.
|
||
(Need_64): Likewise.
|
||
(Need_128): Likewise.
|
||
(OK_Get_32): New boolean constant.
|
||
(OK_Put_32): Likewise.
|
||
(OK_Get_64): Likewise.
|
||
(OK_Put_64): Likewise.
|
||
(OK_Get_128): Likewise.
|
||
(OK_Put_128): Likewise.
|
||
(E): Adjust.
|
||
(Get procedures): Likewise.
|
||
(Put procedures): Likewise.
|
||
* libgnat/s-fore_f.ads (Fore_Fixed): Adjust signature.
|
||
* libgnat/s-fore_f.adb (Fore_Fixed): Reimplement.
|
||
* libgnat/s-fofi32.ads (Fore_Fixed32): Adjust signature.
|
||
* libgnat/s-fofi64.ads (Fore_Fixed64): Likewise.
|
||
* libgnat/s-fofi128.ads (Fore_Fixed128): Likewise.
|
||
* libgnat/s-imagef.ads: Adjust description.
|
||
* libgnat/s-imagef.adb (Maxdigs): Move around.
|
||
(Set_Image_Integer): Remove assertion.
|
||
* libgnat/s-valuef.ads: Adjust description.
|
||
* libgnat/s-valuef.adb (Integer_To_Fixed): Minor tweak.
|
||
|
||
2020-11-30 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
|
||
Describe -gnateb switch.
|
||
* doc/gnat_ugn/the_gnat_compilation_model.rst: Mention -gnateb
|
||
switch in configuration pragma files section.
|
||
* gnat_ugn.texi: Regenerate.
|
||
* lib-writ.adb (Write_ALI): Strip directories from configuration
|
||
files path if needed.
|
||
* opt.ads: Declare Config_Files_Store_Basename option.
|
||
* par.adb (Par): Save configuration file checksum.
|
||
* switch-c.adb (Scan_Front_End_Switches): Set
|
||
Config_Files_Store_Basename true if -gnateb is present.
|
||
|
||
2020-11-30 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_dist.adb (RCI_Cache): Initialize.
|
||
|
||
2020-11-30 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* terminals.c (allocate_pty_desc): Copy one less byte since the
|
||
last byte will always be set to 0.
|
||
|
||
2020-11-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/gnat_ugn/building_executable_programs_with_gnat.rst (-xdr):
|
||
Document that XDR is not supported for 128-bit integer types.
|
||
* gnat_ugn.texi: Regenerate.
|
||
* exp_strm.adb (Build_Elementary_Input_Call): Deal with types
|
||
larger than Long_Long_Integer.
|
||
(Build_Elementary_Write_Call): Likewise.
|
||
* rtsfind.ads (RE_Id): Add RE_I_LLL{I,U] and RE_W_LLL{I,U}.
|
||
(RE_Unit_Table): Add entries for them.
|
||
* libgnat/s-stratt.ads (I_LLLI): New inline function.
|
||
(I_LLLU): Likewise.
|
||
(W_LLLI): New inline procedure.
|
||
(W_LLLU): Likewise.
|
||
* libgnat/s-stratt.adb (S_LLLI): New subtype of SEA.
|
||
(S_LLLU): Likewise.
|
||
(From_LLLI): New instance of Unchecked_Conversion.
|
||
(From_LLLU): Likewise.
|
||
(To_LLLI): Likewise.
|
||
(To_LLLU): Likewise.
|
||
(I_LLLI): Implement.
|
||
(I_LLLU): Likewise.
|
||
(W_LLLI): Likewise.
|
||
(W_LLLU): Likewise.
|
||
|
||
2020-11-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Check the
|
||
signature of the private operation Get_Element_Access to prevent
|
||
accidental use of a user-defined homonym subprogram.
|
||
|
||
2020-11-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* spark_xrefs.ads: Add comment for Heap that it may remain
|
||
Empty.
|
||
|
||
2020-11-30 Pascal Obry <obry@adacore.com>
|
||
|
||
* libgnat/g-sercom__linux.adb (Set): Fix control flags of the
|
||
serial port setting.
|
||
|
||
2020-11-30 Pascal Obry <obry@adacore.com>
|
||
|
||
* libgnat/g-sercom__linux.adb: Minor style fixes.
|
||
|
||
2020-11-30 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_util.adb (Get_Current_Value_Condition): Don't use current
|
||
value tracking in GNATprove mode.
|
||
* sem_res.adb (Resolve_Comparison_Op): Remove incomplete
|
||
special-casing for folding in GNATprove mode.
|
||
|
||
2020-11-30 Bob Duff <duff@adacore.com>
|
||
|
||
* errout.adb (Error_Msg_NEL): Do not call Set_Posted if errors
|
||
are being ignored.
|
||
(Error_Msg): Change Errors_Must_Be_Ignored to use the getter.
|
||
* sem_ch8.adb (Find_Direct_Name): Do not skip all the error
|
||
checks when ignoring errors, but instead do not add an entry to
|
||
the Urefs table if errors are being ignored.
|
||
* exp_ch5.adb: Minor comment fix.
|
||
|
||
2020-11-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Array_Aggregate): Improve error message.
|
||
|
||
2020-11-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-valuef.adb (Integer_To_Fixed): Do not modify numerator
|
||
or denominator in order to reduce the exponent.
|
||
|
||
2020-11-30 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* ali-util.adb (Get_File_Checksum): Remove dead code.
|
||
* exp_ch4.adb (Expand_Boolean_Operator, Expand_N_Op_Not,
|
||
Make_Boolean_Array_Op): Take Transform_Function_Array into
|
||
account.
|
||
* exp_ch6.adb (Expand_Call_Helper): Update comment. Code
|
||
cleanup.
|
||
* exp_util.adb (Build_Procedure_Form): Use new predefined name
|
||
Name_UP_RESULT.
|
||
* snames.ads-tmpl (Name_UP_RESULT): New predefined name. Code
|
||
cleanup: remove unused names from the project parser, moved to
|
||
gprbuild sources.
|
||
* xsnamest.adb: Add support for uppercase names.
|
||
|
||
2020-11-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Enter_Name): When an inherited operation for a
|
||
local derived type is hidden by an explicit declaration of a
|
||
non-overloadable entity in the same scope, make the inherited
|
||
operation non-visible to prevent its accidental use elsewhere.
|
||
|
||
2020-11-29 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR ada/97504
|
||
* Makefile.rtl (LIBGNAT_TARGET_PAIRS) <hppa*-*-hpux*>: Use wraplf
|
||
version of Aux_Long_Long_Float.
|
||
|
||
2020-11-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-valuef.adb (Integer_To_Fixed): Take into account the
|
||
extra digit when scaling up the input.
|
||
* libgnat/s-valuer.adb (Scan_Decimal_Digits): Restrict previous
|
||
change to fixed-point types.
|
||
(Scan_Integral_Digits): Likewise.
|
||
|
||
2020-11-27 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_res.adb (Parent_Is_Boolean): Simplify.
|
||
(Resolve_Op_Not): Reduce scope of a local variable.
|
||
|
||
2020-11-27 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* cstand.adb: Simplify with Append_New_Elmt.
|
||
* sem_util.adb: Likewise.
|
||
|
||
2020-11-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_eval.adb (Fold_Shift): Fix evaluation of Shift_Right on
|
||
negative values.
|
||
|
||
2020-11-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call): Properly split
|
||
Transform_Function_Array and Modify_Tree_For_C.
|
||
|
||
2020-11-27 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_eval.ads (Compile_Time_Compare): Restore parameter Diff to
|
||
be of an access type.
|
||
* sem_eval.adb (Compile_Time_Compare): Adapt body and callers.
|
||
* sem_attr.adb (Eval_Attribute): Adapt callers.
|
||
|
||
2020-11-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-valuer.adb (Scan_Decimal_Digits): Round Extra.
|
||
(Scan_Integral_Digits): Likewise.
|
||
|
||
2020-11-27 Yannick Moy <moy@adacore.com>
|
||
|
||
* checks.adb (Selected_Range_Checks): Adapt the condition for
|
||
applying range checks so that it is not done inside generics.
|
||
|
||
2020-11-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_fixd.adb (Build_Double_Divide): Only use a 128-bit
|
||
division if one of the operands is larger than 64 bits.
|
||
(Build_Double_Divide_Code): Likewise.
|
||
(Build_Scaled_Divide): Likewise.
|
||
(Build_Scaled_Divide_Code): Likewise.
|
||
|
||
2020-11-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-os_lib.adb (To_GM_Time): Return valid and consistent
|
||
values for Invalid_Time.
|
||
|
||
2020-11-27 Steve Baird <baird@adacore.com>
|
||
|
||
* snames.ads-tmpl: Define new Name_Stable_Properties Name_Id
|
||
value.
|
||
* aspects.ads, aspects.adb: Add new Aspect_Stable_Properties
|
||
enumeration literal to Aspect_Id type. Add Class_Present
|
||
parameter to Find_Aspect and related
|
||
functions (Find_Value_Of_Aspect and Has_Aspect).
|
||
* sem_util.adb (Has_Nontrivial_Precondition): Fix
|
||
previously-latent bug uncovered by adding Class_Present
|
||
parameter to Aspect.Find_Aspect. The code was wrong before, but
|
||
with the change the bug was more likely to make a user-visible
|
||
difference.
|
||
* sem_ch6.adb (Analyze_Operator_Symbol): If a string literal
|
||
like "abs" or "-" occurs in a Stable_Properties aspect
|
||
specification, then it is to be interpreted as an operator
|
||
symbol and not as a string literal.
|
||
* sem_ch13.ads: Export new Parse_Aspect_Stable_Properties
|
||
function, analogous to the existing Parse_Aspect_Aggregate
|
||
exported procedure.
|
||
* sem_ch13.adb: (Parse_Aspect_Stable_Properties): New function;
|
||
analogous to existing Parse_Aspect_Aggregate.
|
||
(Validate_Aspect_Stable_Properties): New procedure; analogous to
|
||
existing Validate_Aspect_Aggregate. Called from the same case
|
||
statement (casing on an Aspect_Id value) where
|
||
Validate_Aspect_Aggregate is called.
|
||
(Resolve_Aspect_Stable_Properties): New procedure; analogous to
|
||
existing Resolve_Aspect_Aggregate. Called from the same two case
|
||
statements (each casing on an Aspect_Id value) where
|
||
Resolve_Aspect_Aggregate is called.
|
||
(Analyze_Aspect_Specifications): Set Has_Delayed_Aspects and
|
||
Is_Delayed_Aspect attributes for Aspect_Stable_Properties aspect
|
||
specifications.
|
||
(Check_Aspect_At_End_Of_Declarations): The syntactic
|
||
"expression" for a Stable_Properties aspect specification is not
|
||
semantically an expression; it doesn't have a type. Thus, force
|
||
T to be empty in this case.
|
||
* contracts.adb (Expand_Subprogram_Contract): Add call to new
|
||
local procedure,
|
||
Expand_Subprogram_Contract.Add_Stable_Property_Contracts, which
|
||
generates Postcondition pragmas corresponding to stable property
|
||
checks.
|
||
|
||
2020-11-27 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_pragmas.rst:
|
||
(Assertion_Policy): Move "Default_Initial_Condition" from
|
||
ID_ASSERTION_KIND to RM_ASSERTION_KIND section.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-11-27 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_pragmas.rst
|
||
(Assertion_Policy): Add "Default_Initial_Condition",
|
||
"Initial_Condition" and "Subprogram_Variant".
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-11-27 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Is_Valid_Assertion_Kind): Return False on
|
||
"Assertion_Policy"
|
||
|
||
2020-11-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* make.adb (GNAT_Flag): Change to "-gnatg".
|
||
(Compile): Adjust comments accordingly.
|
||
|
||
2020-11-27 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch4.adb (Rewrite_Comparison): Add assertion to confirm
|
||
that evaluation folds comparisons with static operands; when
|
||
folding comparison with non-static operands, the resulting
|
||
literal is non-static.
|
||
* sem_eval.adb (Eval_Relational_Op): Refactor nested IF
|
||
statement for the special case in the THEN branch; move code for
|
||
the "general case" out of the ELSE branch.
|
||
* sem_res.adb (Resolve_Comparison_Op): Only apply a dubious
|
||
special-case for GNATprove in the GNATprove_Mode.
|
||
|
||
2020-11-27 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_eval.ads (Compile_Time_Compare): Change parameter Diff
|
||
from access to mode out.
|
||
* sem_eval.adb (Compile_Time_Compare): Adapt body and callers.
|
||
* sem_attr.adb (Eval_Attribute): Adapt callers.
|
||
|
||
2020-11-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Multiply): Move down block calling
|
||
Narrow_Large_Operation if the type is Universal_Integer.
|
||
|
||
2020-11-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/a-nbnbre.adb: Remove clauses for System.Img_Real and
|
||
add them for System.Unsigned_Types.
|
||
(Float_Conversions.To_Big_Real): Reimplement.
|
||
(Float_Conversions.From_Big_Real): Likewise.
|
||
|
||
2020-11-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.ads (Determine_Range_To_Discrete): New procedure.
|
||
* checks.adb (Apply_Scalar_Range_Check): Call it to determine
|
||
a range for the expression when the target type is discrete.
|
||
And also apply the tests for discrete types to fixed-point
|
||
types when they are treated as integers.
|
||
(Apply_Type_Conversion_Checks): Apply checks to conversions
|
||
involving fixed-point types when they are treated as integers.
|
||
(Determine_Range) <N_Type_Conversion>: Factor out code into...
|
||
(Determine_Range_To_Discrete): ...this new procedure and add
|
||
support for fixed-point types when they are treated as integers.
|
||
* einfo.ads (Type_High_Bound): Remove obsolete sentence.
|
||
(Type_Low_Bound): Likewise.
|
||
* exp_ch4.adb (Discrete_Range_Check): Remove obsolete code.
|
||
(Real_Range_Check): Likewise.
|
||
(Expand_N_Type_Conversion): In case of a no-op conversion, clear
|
||
the Do_Range_Check flag on the operand before substituting it.
|
||
Remove calls to Real_Range_Check and Discrete_Range_Check that
|
||
are not guarded by the Do_Range_Check flag, and an assertion.
|
||
* sem_res.adb (Resolve_Type_Conversion): Always apply range
|
||
checks in GNATprove mode; in normal mode, use the updated type
|
||
of the operand in the test against Universal_Fixed. Remove
|
||
obsolete code setting the Do_Range_Check flag at the end.
|
||
|
||
2020-11-27 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Change "Ref Manual" to RM;
|
||
replace uses of an unnecessary "Ok" variable with RETURN
|
||
statements; replace nested IF with ELSIF.
|
||
|
||
2020-11-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnarl/s-tasren.adb (Local_Complete_Rendezvous): Always call
|
||
Defer_Abort.
|
||
* libgnat/a-except.adb: Abort does not need to be deferred.
|
||
* libgnarl/s-tpobop.adb (Exceptional_Complete_Entry_Body): Abort
|
||
never needs to be undeferred here.
|
||
* exp_ch11.adb (Expand_Exception_Handlers): Remove difference
|
||
between ZCX and SJLJ.
|
||
* exp_ch9.adb (Expand_N_Asynchronous_Select): Remove different
|
||
handling for sjlj.
|
||
* exp_sel.ads, exp_sel.adb (Build_Abort_Block,
|
||
Build_Abort_Block_Handler): Ditto.
|
||
|
||
2020-11-27 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): declare new Check_No_Return
|
||
function and call it.
|
||
|
||
2020-11-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch12.adb (Instantiate_Object): Consistently use
|
||
New_Copy_Tree instead of New_Copy.
|
||
|
||
2020-11-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_fixd.adb (Build_Conversion): Adjust head comment.
|
||
(Build_Divide): Likewise.
|
||
(Build_Double_Divide): Likewise.
|
||
(Build_Multiply): Likewise.
|
||
(Build_Rem): Likewise.
|
||
(Build_Scaled_Divide): Likewise.
|
||
|
||
2020-11-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-genbig.ads, libgnat/s-genbig.adb (To_Bignum): New
|
||
variant taking an Unsigned_128.
|
||
* libgnat/a-nbnbin.adb (To_Big_Integer): Add support for 128
|
||
bits signed and unsigned types.
|
||
|
||
2020-11-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-imagef.adb (Set_Image_Fixed): Pass the full value
|
||
of the quotient to Set_Image_Integer during the first round and
|
||
adjust the handling of the minus sign.
|
||
|
||
2020-11-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-nbnbre.adb ("=", "<"): Fix.
|
||
|
||
2020-11-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-valuer.adb (Scan_Raw_Real): Move pragma Annotate around
|
||
and adjust its parameters.
|
||
|
||
2020-11-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_fixd.adb (Build_Double_Divide): Use the RM size of types and
|
||
a more precise estimate for the size of the denominator.
|
||
(Build_Double_Divide_Code): Likewise.
|
||
(Build_Multiply): Use a more precise estimate for the size of the
|
||
result.
|
||
(Build_Scaled_Divide): Use the RM size of types and a more precise
|
||
estimate for the size of the numerator.
|
||
(Build_Scaled_Divide_Code): Likewise.
|
||
|
||
2020-11-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* Makefile.rtl <sparc*-sun-solaris*> (THREADSLIB): Remove.
|
||
(MISCLIB): Remove -lposix4.
|
||
<*86-*-solaris2*>: Likewise.
|
||
* libgnarl/s-osinte__solaris.ads (System.OS_Interface): Remove
|
||
-lposix4 -lthread.
|
||
|
||
2020-11-26 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-nbnbre.adb (To_Big_Real): Do not loose precision.
|
||
|
||
2020-11-26 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Object_Renaming): Check for AI12-0401.
|
||
|
||
2020-11-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Likewise.
|
||
(GNATRTL_128BIT_OBJS): Likewise.
|
||
(GNATRTL_128BIT_PAIRS): Add new 128-bit variants.
|
||
* cstand.adb (Create_Standard): Create Standard_Integer_128.
|
||
* doc/gnat_rm/implementation_defined_characteristics.rst: Document
|
||
new limits on 64-bit platforms in entry for 3.5.9(10).
|
||
* gnat_rm.texi: Regenerate.
|
||
* exp_attr.adb: Add with and use clauses for Urealp.
|
||
(Expand_N_Attribute_Reference) <Attribute_Fore>: Call new routines
|
||
for decimal fixed-point types and common ordinary fixed-point types.
|
||
* exp_ch4.adb (Real_Range_Check): Extend conversion trick to all
|
||
ordinary fixed-point types and use Small_Integer_Type_For.
|
||
* exp_fixd.adb: Add with and use clauses for Ttypes.
|
||
(Build_Divide): Add special case for 32-bit values and deal with
|
||
128-bit types.
|
||
(Build_Double_Divide): Deal with 128-bit types.
|
||
(Build_Double_Divide_Code): Likewise. Do not apply conversions
|
||
before calling Build_Multiply.
|
||
(Build_Multiply): Likewise. Add special case for 32-bit values.
|
||
(Build_Scaled_Divide): Deal with 128-bit types.
|
||
(Build_Scaled_Divide_Code): Likewise. Fix size computation. Do not
|
||
apply conversions before calling Build_Multiply.
|
||
(Do_Multiply_Fixed_Fixed): Minor tweak.
|
||
(Integer_Literal): Deal with 128-bit values.
|
||
* exp_imgv.adb (Has_Decimal_Small): Delete.
|
||
(Expand_Image_Attribute): Call new routines for common ordinary
|
||
fixed-point types.
|
||
(Expand_Value_Attribute): Likewise.
|
||
(Expand_Width_Attribute): Add new expansion for fixed-point types.
|
||
* freeze.adb (Freeze_Entity): Move error checks for ordinary
|
||
fixed-point types to...
|
||
(Freeze_Fixed_Point_Type): ...here. Deal with 128-bit types and
|
||
adjust limitations for 32-bnt and 64-bit types.
|
||
* rtsfind.ads (RTU_Id): Add entries for new System_Fore, System_Img,
|
||
and System_Val units and remove them for obsolete units.
|
||
(RE_Id): Add entries for Double_Divide128, Scaled_Divide128, the new
|
||
Fore, Image, Value routines and remove them for obsolete units.
|
||
(RE_Unit_Table): Likewise.
|
||
* sem_ch3.adb (Decimal_Fixed_Point_Type_Declaration): Deal with
|
||
128-bit types.
|
||
* stand.ads (Standard_Entity_Type): Add Standard_Integer_128.
|
||
* uintp.ads (Uint_31): New deferred constant.
|
||
(Uint_Minus_18): Likewise.
|
||
(Uint_Minus_31): Likewise.
|
||
(Uint_Minus_76): Likewise.
|
||
(Uint_Minus_127): Likewise.
|
||
* urealp.ads (Ureal_2_31): New function.
|
||
(Ureal_2_63): Likewise.
|
||
(Ureal_2_127): Likewise.
|
||
(Ureal_2_M_127): Likewise.
|
||
(Ureal_2_10_18): Likewise.
|
||
(Ureal_M_2_10_18): Likewise.
|
||
(Ureal_9_10_36): Likewise.
|
||
(Ureal_M_9_10_36): Likewise.
|
||
(Ureal_10_76): Likewise.
|
||
(Ureal_M_10_76): Likewise.
|
||
(Ureal_10_36): Delete.
|
||
(Ureal_M_10_36): Likewise.
|
||
* urealp.adb (UR_2_10_18): New variable.
|
||
(UR_9_10_36): Likewise.
|
||
(UR_10_76): Likewise.
|
||
(UR_M_2_10_18): Likewise.
|
||
(UR_M_9_10_36): Likewise.
|
||
(UR_M_10_76): Likewise.
|
||
(UR_2_31): Likewise.
|
||
(UR_2_63): Likewise.
|
||
(UR_2_127): Likewise.
|
||
(UR_2_M_127): Likewise.
|
||
(UR_10_36): Delete.
|
||
(UR_M_10_36): Likewise.
|
||
(Initialize): Initialize them.
|
||
(UR_Write): Do not use awkward Ada literal style.
|
||
(Ureal_2_10_18): New function.
|
||
(Ureal_9_10_36): Likewise.
|
||
(Ureal_10_76): Likewise.
|
||
(Ureal_2_31): Likewise.
|
||
(Ureal_2_63): Likewise.
|
||
(Ureal_2_127): Likewise.
|
||
(Ureal_2_M_127): Likewise.
|
||
(Ureal_M_2_10_18): Likewise.
|
||
(Ureal_M_9_10_36): Likewise.
|
||
(Ureal_10_76): Likewise.
|
||
(Ureal_M_10_76): Likewise.
|
||
(Ureal_10_36): Delete.
|
||
(Ureal_M_10_36): Likewise.
|
||
* libgnat/a-decima__128.ads: New file.
|
||
* libgnat/a-tideau.ads, libgnat/a-tideau.adb: Reimplement as
|
||
generic unit.
|
||
* libgnat/a-tideio.adb: Reimplement.
|
||
* libgnat/a-tideio__128.adb: New file.
|
||
* libgnat/a-tifiau.ads, libgnat/a-tifiau.adb: New generic unit.
|
||
* libgnat/a-tifiio.adb: Move bulk of implementation to s-imagef
|
||
and reimplement.
|
||
* libgnat/a-tifiio__128.adb: New file.
|
||
* libgnat/a-tiflau.adb (Get): Minor consistency fix.
|
||
(Gets): Likewise.
|
||
* libgnat/a-wtdeau.ads, libgnat/a-wtdeau.adb: Reimplement as
|
||
generic unit.
|
||
* libgnat/a-wtdeio.adb: Reimplement.
|
||
* libgnat/a-wtdeio__128.adb: New file.
|
||
* libgnat/a-wtfiau.ads, libgnat/a-wtfiau.adb: New generic unit.
|
||
* libgnat/a-wtfiio.adb: Reimplement.
|
||
* libgnat/a-wtfiio__128.adb: New file.
|
||
* libgnat/a-ztdeau.ads, libgnat/a-ztdeau.adb: Reimplement as
|
||
generic unit.
|
||
* libgnat/a-ztdeio.adb: Reimplement.
|
||
* libgnat/a-ztdeio__128.adb: New file.
|
||
* libgnat/a-ztfiau.ads, libgnat/a-ztfiau.adb: New generic unit.
|
||
* libgnat/a-ztfiio.adb: Reimplement.
|
||
* libgnat/a-ztfiio__128.adb: New file.
|
||
* libgnat/g-rannum.adb (Random_Decimal_Fixed): Use a subtype of the
|
||
appropiate size for the instantiation.
|
||
(Random_Ordinary_Fixed): Likewise.
|
||
* libgnat/s-arit32.ads, libgnat/s-arit32.adb: New support unit.
|
||
* libgnat/s-fode128.ads: New instantiation.
|
||
* 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.ads, libgnat/s-fore_d.adb: New generic unit.
|
||
* libgnat/s-fore_f.ads, libgnat/s-fore_f.adb: Likewise.
|
||
* libgnat/s-fore.ads, libgnat/s-fore.adb: Rename into...
|
||
* libgnat/s-forrea.ads, libgnat/s-forrea.adb: ...this.
|
||
* libgnat/s-imaged.ads, libgnat/s-imaged.adb: New generic unit.
|
||
* libgnat/s-imagef.ads, libgnat/s-imagef.adb: Likewise, taken
|
||
from a-tifiio.adb.
|
||
* libgnat/s-imde128.ads: New instantiation.
|
||
* libgnat/s-imde32.ads: Likewise.
|
||
* libgnat/s-imde64.ads: Likewise.
|
||
* libgnat/s-imfi128.ads: Likewise.
|
||
* libgnat/s-imfi32.ads: Likewise.
|
||
* libgnat/s-imfi64.ads: Likewise.
|
||
* libgnat/s-imgdec.ads, libgnat/s-imgdec.adb: Delete.
|
||
* libgnat/s-imglld.ads, libgnat/s-imglld.adb: Likewise.
|
||
* libgnat/s-imgrea.adb (Set_Image_Real): Replace Sign local variable
|
||
with Minus local variable for the sake of consistency.
|
||
* libgnat/s-imguti.ads, libgnat/s-imguti.adb: New support unit.
|
||
* libgnat/s-vade128.ads: New instantiation.
|
||
* libgnat/s-vade32.ads: Likewise.
|
||
* libgnat/s-vade64.ads: Likewise.
|
||
* libgnat/s-vafi128.ads: Likewise.
|
||
* libgnat/s-vafi32.ads: Likewise.
|
||
* libgnat/s-vafi64.ads: Likewise.
|
||
* libgnat/s-valdec.ads, libgnat/s-valdec.adb: Delete.
|
||
* libgnat/s-vallld.ads, libgnat/s-vallld.adb: Likewise.
|
||
* libgnat/s-valued.ads, libgnat/s-valued.adb: New generic unit.
|
||
* libgnat/s-valuef.ads, libgnat/s-valuef.adb: Likewise.
|
||
* libgnat/s-valuei.adb: Minor rewording.
|
||
* libgnat/s-valrea.adb: Move bulk of implementation to...
|
||
* libgnat/s-valuer.ads, libgnat/s-valuer.adb: ...here. New
|
||
generic unit.
|
||
* libgnat/system-aix.ads (Max_Mantissa): Adjust.
|
||
* libgnat/system-darwin-arm.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-darwin-ppc.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-darwin-x86.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-djgpp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-dragonfly-x86_64.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-freebsd.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-hpux-ia64.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-hpux.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-linux-alpha.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-linux-arm.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-linux-hppa.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-linux-ia64.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-linux-m68k.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-linux-mips.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-linux-ppc.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-linux-riscv.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-linux-s390.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-linux-sh4.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-linux-sparc.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-linux-x86.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-lynxos178-ppc.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-lynxos178-x86.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-mingw.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-qnx-aarch64.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-rtems.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-solaris-sparc.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-solaris-x86.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-arm-rtp-smp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-arm-rtp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-arm.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-e500-kernel.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-e500-rtp-smp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-e500-rtp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-e500-vthread.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-ppc-kernel.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-ppc-ravenscar.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-ppc-rtp-smp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-ppc-rtp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-ppc-vthread.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-ppc.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-x86-kernel.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-x86-rtp-smp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-x86-rtp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-x86-vthread.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks-x86.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-aarch64-rtp-smp.ads (Max_Mantissa):
|
||
Likewise.
|
||
* libgnat/system-vxworks7-aarch64.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-arm-rtp-smp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-arm.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-e500-kernel.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-e500-rtp-smp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-e500-rtp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-ppc-kernel.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-ppc-rtp-smp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-ppc-rtp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-ppc64-kernel.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-ppc64-rtp-smp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-x86-kernel.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-x86-rtp-smp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-x86-rtp.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-x86_64-kernel.ads (Max_Mantissa): Likewise.
|
||
* libgnat/system-vxworks7-x86_64-rtp-smp.ads (Max_Mantissa): Likewise.
|
||
|
||
2020-11-26 Liaiss Merzougue <merzougue@adacore.com>
|
||
|
||
* libgnat/s-imgrea.ads (Image_Ordinary_Fixed_Point): Add a
|
||
remark concerning the irrelevant use of Inf and -0.0
|
||
|
||
2020-11-26 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* osint-c.adb (Set_Output_Object_File_Name): Add support for
|
||
.c output file.
|
||
|
||
2020-11-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* lib-writ.adb, sem_ch8.adb, sem_prag.adb: Use
|
||
Is_Generic_Subprogram instead of low-level membership tests.
|
||
|
||
2020-11-26 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Call_And_Resolve): Reformatted a comment.
|
||
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
|
||
Fixed a typo.
|
||
|
||
2020-11-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Membership_Op): Replace pragma Warnings
|
||
with pragma Assert.
|
||
|
||
2020-11-26 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Call_And_Resolve): Add information to the
|
||
error message on an illegal procedure call, when the illegality
|
||
is due to the presence of a component of the full view of the
|
||
target object, as well as a procedure with the same name (See RM
|
||
4.1.3 (9.2/3)).
|
||
|
||
2020-11-26 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
|
||
when the restriction is a configuration pragma and specifies
|
||
No_Tasking, a global flag is set to reject task declarations,
|
||
and to prevent the construction of Master entities. The flag
|
||
must not be set if the pragma is a Restriction_Warning, in which
|
||
case task declarationns are allowed.
|
||
|
||
2020-11-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* libgnat/a-stzhas.adb (Wide_Wide_Hash): Instantiate inside a
|
||
wrapper function.
|
||
* libgnat/a-stzhas.ads (Wide_Wide_Hash): Likewise; remove wrong
|
||
comment, because this is indeed a RM unit, as described in Ada
|
||
RM A.4.8 (1/3).
|
||
|
||
2020-11-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_eval.adb (Eval_Slice): Refactor repeated calls to Prefix
|
||
with a local constant (named just like in Resolve_Slice).
|
||
|
||
2020-11-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_eval.adb (Eval_Slice): Emit warning not just for
|
||
constants, but for any objects.
|
||
|
||
2020-11-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch4.adb (Indicate_Name_And_Type): Fix whitespace in
|
||
comment.
|
||
* sem_res.adb (Resolve_Call): Remove redundant parens.
|
||
* sem_util.adb (Set_Entity_With_Checks): Remove extra call to
|
||
Set_Entity.
|
||
|
||
2020-11-26 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Concatenate): Call Set_No_Initialization
|
||
on the N_Allocator node that is supposed to allocate on the
|
||
secondary stack.
|
||
|
||
2020-11-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch13.adb, exp_ch9.adb, sem_ch8.adb, sem_util.adb: Replace
|
||
a combination of Is_Protected_Type and Is_Task_Type by
|
||
Is_Concurrent_Type.
|
||
|
||
2020-11-26 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnarl/s-tassta.adb (Task_Wrapper): Fix computation of
|
||
Pattern_Size.
|
||
|
||
2020-11-26 Bob Duff <duff@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Array_Type): Remove propagation of
|
||
Has_Own_Invariants to the first subtype. This is a no-op,
|
||
because the current (incorrect) version of Has_Own_Invariants
|
||
calls Base_Type.
|
||
* sem_prag.adb, sem_util.adb: Pass the base type to
|
||
Set_Has_Own_Invariants.
|
||
|
||
2020-11-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (Aft_Value): Adjust documentation.
|
||
(Scale_Value): Likewise.
|
||
|
||
2020-11-26 Justin Squirek <squirek@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Type_Conversion): Use the unexpanded
|
||
operand when generating accessibility checks.
|
||
|
||
2020-11-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* libgnat/a-cbhase.adb (Read): Remove extra whitespace.
|
||
* libgnat/a-cbmutr.ads (Read): Likewise.
|
||
* libgnat/a-cborse.adb (Read): Likewise.
|
||
|
||
2020-11-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch7.adb, exp_util.adb, freeze.adb: Rewrite with
|
||
Is_Access_Object_Type.
|
||
|
||
2020-11-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Valid_Library_Unit_Pragma): Raise
|
||
exception.
|
||
(Analyze_Pragma): Remove detection of rewritten pragmas.
|
||
|
||
2020-11-26 Joffrey Huguet <huguet@adacore.com>
|
||
|
||
* libgnat/a-strmap.ads: Add preconditions and postconditions to
|
||
all subprograms.
|
||
|
||
2020-11-26 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Equality_Op): Warn when -gnatwq is used
|
||
(the default) and the problematic case is encountered.
|
||
|
||
2020-11-26 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Issue a continuation message
|
||
to give proper recommendation here.
|
||
|
||
2020-11-26 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_util.adb (Expand_Subtype_From_Expr): A typo correction,
|
||
plus other minor reformatting.
|
||
|
||
2020-11-26 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Instantiate_Formal_Package): If previous matched
|
||
entity is overloadable, advance in the list of actuals of the
|
||
actual package, to prevent an erroneous match of two adjacent
|
||
overloadable homonyms with the same entity.
|
||
|
||
2020-11-26 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_ch6.adb (First_Selector): Utility routine to return the
|
||
first selector or choice in an association.
|
||
(Check_Return_Construct_Accessibility): Modify loop to handle
|
||
named associations when iterating through discriminants.
|
||
|
||
2020-11-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch12.adb: Fix casing from "Instantiation" to
|
||
"instantiation".
|
||
|
||
2020-11-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Is_Uninitialized_Aggregate): Move...
|
||
* exp_util.adb (Is_Uninitialized_Aggregate): ... here.
|
||
(Expand_Subtype_From_Expr): If the expression is an
|
||
uninitialized aggregate, capture subtype for declared object and
|
||
remove expression to suppress further superfluous expansion.
|
||
|
||
2020-11-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_eval.adb (Subtypes_Statically_Compatible): Scalar types
|
||
with compatible static bounds are statically compatible if
|
||
predicates are compatible, even if they are not static subtypes.
|
||
Same for private types without discriminants.
|
||
|
||
2020-11-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch11.adb (Expand_N_Raise_Statement): Use Is_Entity_Name
|
||
consistently in tests on the name of the statement.
|
||
* exp_prag.adb (Expand_Pragma_Check): In the local propagation
|
||
case, wrap the raise statement in a block statement.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch8.adb (Expand_N_Exception_Renaming_Declaration): Move
|
||
"Nam" constant after the body of a nested subprogram; change "T"
|
||
from variable to constant.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* make.adb (Scan_Make_Arg): Merge ELSIF branches for -u and -U.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_attributes.rst
|
||
(Has_Tagged_Values): Document based on the existing description
|
||
of Has_Access_Type and the comment for Has_Tagged_Component,
|
||
which is where frontend evaluates this attribute.
|
||
* gnat_rm.texi: Regenerate.
|
||
* sem_attr.adb (Analyze_Attribute): Merge processing of
|
||
Has_Access_Type and Has_Tagged_Component attributes.
|
||
* sem_util.adb (Has_Access_Type): Fix casing in comment.
|
||
* sem_util.ads (Has_Tagged_Component): Remove wrong (or
|
||
outdated) comment about the use of this routine to implement the
|
||
equality operator.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Size_Attribute): Remove whitespace;
|
||
simplify with a membership test, which are now allowed in the
|
||
frontend code.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_One_Aspect): Fix inconsistent calls to
|
||
Make_Aitem_Pragma.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch13.adb (Check_Expr_Constants): Simplify with
|
||
Is_Named_Number.
|
||
* sem_prag.adb (Process_Convention): Likewise.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_One_Aspect): Detect aspect identifiers
|
||
with membership tests.
|
||
(Check_Aspect_At_End_Of_Declarations): Likewise.
|
||
(Freeze_Entity_Checks): Likewise; a local constant is no longer
|
||
needed.
|
||
(Is_Operational_Item): Similar simplification for attribute
|
||
identifiers.
|
||
(Is_Type_Related_Rep_Item): Likewise.
|
||
(Resolve_Iterable_Operation): Detect names with a membership
|
||
test.
|
||
(Validate_Independence): Replace repeated Ekind with a
|
||
membership test.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_One_Aspect): Replace duplicate of
|
||
Effective_Reads.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* einfo.adb: Use composite wrappers (e.g.
|
||
Is_Subprogram_Or_Entry) and membership tests where it appears to
|
||
improve clarity.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* einfo.adb (Is_Standard_Character_Type,
|
||
Is_Standard_String_Type): Simplify.
|
||
(Last_Formal): Use procedural variant of Next_Formal.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* einfo.adb: Replace "E" with Entity_Id in local object
|
||
declarations.
|
||
|
||
2020-11-25 Steve Baird <baird@adacore.com>
|
||
|
||
* exp_ch2.adb (Expand_Entity_Reference): A new local predicate
|
||
Is_Object_Renaming_Name indicates whether a given expression
|
||
occurs (after looking through qualified expressions and type
|
||
conversions) as the name of an object renaming declaration. If
|
||
Current_Value is available but this new predicate is True, then
|
||
ignore the availability of Current_Value.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch12.adb (Instantiate_Type): Remove extra whitespace.
|
||
(Validate_Access_Type_Instance): Remove dead (and duplicated)
|
||
code.
|
||
|
||
2020-11-25 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_util.adb (Possible_Side_Effect_In_SPARK): Replace hyphen
|
||
with a space in "side-effect" (two instances).
|
||
|
||
2020-11-25 Justin Squirek <squirek@adacore.com>
|
||
|
||
* doc/gnat_rm/intrinsic_subprograms.rst (Shifts and Rotates):
|
||
Document behavior on negative numbers
|
||
* gnat_rm.texi: Regenerate.
|
||
* sem_eval.adb (Fold_Shift): Set modulus to be based on the RM
|
||
size for non-modular integer types.
|
||
|
||
2020-11-25 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* adaint.c (__gnat_copy_attribs): Reinstate code based on utime
|
||
for timestamp processing on VxWorks 6.
|
||
|
||
2020-11-25 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_util.adb (Remove_Side_Effects): Only remove side-effects
|
||
in GNATprove mode when this is useful.
|
||
* sem_res.adb (Set_Slice_Subtype): Make sure in GNATprove mode
|
||
to define the Itype when needed, so that run-time errors can be
|
||
analyzed.
|
||
* sem_util.adb (Enclosing_Declaration): Correctly take into
|
||
account renaming declarations.
|
||
|
||
2020-11-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-rannum.adb (Random_Discrete): Specifically deal with
|
||
the case where the size of the base type is larger than 64 bits.
|
||
|
||
2020-11-25 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb (Access_Type_Declaration): Set Etype before
|
||
checking for volatility compatibility.
|
||
|
||
2020-11-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/g-rannum.ads (Random): New functions returning 128-bit.
|
||
* libgnat/g-rannum.adb (Random): Implement them and alphabetize.
|
||
(To_Signed): New unchecked conversion function for 128-bit.
|
||
|
||
2020-11-25 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Finalization_Master, Build_Finalizer,
|
||
Build_Object_Declarations, Make_Deep_Array_Body,
|
||
Wrap_Transient_Expression): Call Set_Debug_Info_Needed on
|
||
temporaries when Debug_Generated_Code is True.
|
||
|
||
2020-11-25 Liaiss Merzougue <merzougue@adacore.com>
|
||
|
||
* libgnat/s-imagei.adb
|
||
(Set_Digits): Rewrite the procedure to remove recursion.
|
||
(Image_Integer, Set_Image_Integer): Update assertions and remove
|
||
redundant ones.
|
||
* libgnat/s-imageu.adb
|
||
(Set_Image_Unsigned): Rewrite the procedure to remove recursion.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_util.adb (Attribute_Constrained_Static_Value): Fix body
|
||
box.
|
||
* sem_attr.adb (Eval_Attribute): Replace repeated calls to
|
||
Attribute_Name with a captured value of the Attribute_Id; also,
|
||
remove extra parens around Is_Generic_Type.
|
||
|
||
2020-11-25 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Emit error on wrong argument
|
||
nkind.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb, sem_prag.adb: Use Is_Named_Number.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_attr.adb, exp_util.adb: Fix style and typos in comments.
|
||
|
||
2020-11-25 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): A variable that
|
||
is only incremented in the code has now type Nat; conversion is
|
||
now unnecessary.
|
||
|
||
2020-11-24 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Global_Item): Call SPARK_Msg_NE with the
|
||
entity, not with its identifier.
|
||
|
||
2020-11-24 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* opt.ads (Generate_Asm): New flag.
|
||
* osint-c.adb (Set_Output_Object_File_Name): Accept any
|
||
extension when generating assembly.
|
||
* adabkend.adb (Scan_Compiler_Args): Recognize -S.
|
||
|
||
2020-11-24 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_attr.adb, exp_ch4.adb, exp_intr.adb, sem_ch8.adb,
|
||
sem_res.adb, sem_type.adb, sem_util.adb: Reuse Is_Packed_Array.
|
||
|
||
2020-11-24 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* checks.adb (Apply_Access_Check): Remove unbalanced paren.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Fix typo in
|
||
comment.
|
||
|
||
2020-11-24 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Mark relevant pragmas as ghost
|
||
when they are within a ghost region.
|
||
|
||
2020-11-24 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* contracts.adb, freeze.adb, sem_ch12.adb, sem_prag.adb: Reuse
|
||
In_Same_List.
|
||
|
||
2020-11-24 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Is_Loop_Pragma): Avoid repeated calls to
|
||
Original_Node; remove unnecessary IF statement.
|
||
|
||
2020-11-24 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Rewrite
|
||
with a CASE statement.
|
||
|
||
2020-11-24 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Replace calls to
|
||
Sloc with a local constant Loc; remove call to
|
||
Analyze_And_Resolve and return, which is exactly what happens
|
||
anyway (and other branches in the Constrained declare block
|
||
appear to rely on analysis, resolution and returning happening
|
||
in all cases).
|
||
* sem_util.adb: Remove useless parens.
|
||
|
||
2020-11-24 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_util.adb (Is_Object_Reference): Delta and extension
|
||
aggregates are objects.
|
||
|
||
2020-11-24 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* libgnat/s-rident.ads (System.Rident): Register new restriction
|
||
IDs.
|
||
* par-ch13.adb (Get_Aspect_Specifications): Add restriction check.
|
||
* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
|
||
Register No_Unrecognized_Aspects restriction.
|
||
* sem_prag.adb (Analyze_Pragma): Add restriction check.
|
||
* snames.ads-tmpl: Create restriction names.
|
||
|
||
2020-11-24 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Declared_Within): Return True for objects
|
||
declared within the attribute Loop_Entry prefix itself.
|
||
|
||
2020-11-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch3.adb (Process_Discriminants): Correctly set right
|
||
context for analyzing default value of discriminant.
|
||
|
||
2020-11-24 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_type.adb (Add_One_Interp.Is_Universal_Operation): Account
|
||
for universal_access = operator.
|
||
(Disambiguate): Take into account preference on universal_access
|
||
= operator when relevant.
|
||
(Disambiguate.Is_User_Defined_Anonymous_Access_Equality): New.
|
||
|
||
2020-11-24 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_util.adb (Is_Finalizable_Transient): Take into account return
|
||
statements containing N_Expression_With_Actions. Also clean up a
|
||
condition to make it more readable.
|
||
* exp_ch6.adb: Fix typo.
|
||
|
||
2020-11-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/a-wtdeio.adb (TFT): Delete and adjust throughout.
|
||
* libgnat/a-wtenau.adb (TFT): Likewise.
|
||
* libgnat/a-wtfiio.adb (TFT): Likewise.
|
||
* libgnat/a-wtflio.adb (TFT): Likewise.
|
||
* libgnat/a-wtinio.adb (TFT): Likewise.
|
||
* libgnat/a-wtinio__128.adb (TFT): Likewise.
|
||
* libgnat/a-wtmoio.adb (TFT): Likewise.
|
||
* libgnat/a-wtmoio__128.adb (TFT): Likewise.
|
||
* libgnat/a-ztdeio.adb (TFT): Likewise.
|
||
* libgnat/a-ztenau.adb (TFT): Likewise.
|
||
* libgnat/a-ztfiio.adb (TFT): Likewise.
|
||
* libgnat/a-ztflio.adb (TFT): Likewise.
|
||
* libgnat/a-ztinio.adb (TFT): Likewise.
|
||
* libgnat/a-ztinio__128.adb (TFT): Likewise.
|
||
* libgnat/a-ztmoio.adb (TFT): Likewise.
|
||
* libgnat/a-ztmoio__128.adb (TFT): Likewise.
|
||
|
||
2020-11-24 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch13.adb (Validate_Literal_Aspect): Add support for named
|
||
numbers and in particular overload of the Real_Literal function.
|
||
* sem_res.adb (Resolve): Add support for named numbers in
|
||
Real_Literal and Integer_Literal resolution.
|
||
* einfo.adb, einfo.ads (Related_Expression,
|
||
Set_Related_Expression): Allow E_Function.
|
||
* uintp.ads (UI_Image_Max): Bump size of buffer to avoid loosing
|
||
precision.
|
||
* sem_eval.adb: Fix typo in comment.
|
||
* libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads (From_String):
|
||
Return a Valid_Big_Integer.
|
||
* libgnat/a-nbnbre.adb, libgnat/a-nbnbre.ads (From_String): New
|
||
variant taking two strings. Return a Valid_Big_Real.
|
||
|
||
2020-11-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Associations) <Explicit_Freeze_Check>: Test
|
||
that the instance is in a statement sequence instead of local scope.
|
||
(Freeze_Subprogram_Body): Use the special delayed placement with
|
||
regard to the parent instance only if its Sloc is strictly greater.
|
||
(Install_Body): Likewise.
|
||
|
||
2020-11-24 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_ch13.adb (Validate_Literal_Aspect): Call to Base_Type
|
||
needed in order to correctly check result type of String_Literal
|
||
function when the first named subtype differs from the base
|
||
type (e.g.:
|
||
type T is range 1 .. 10 with String_Literal => ... ;
|
||
).
|
||
|
||
2020-11-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Global_Item): Handle specially the
|
||
current instance of a PO.
|
||
* sem_util.ads (Is_Effectively_Volatile,
|
||
Is_Effectively_Volatile_For_Reading): Add parameter
|
||
Ignore_Protected.
|
||
* sem_util.adb (Is_Effectively_Volatile,
|
||
Is_Effectively_Volatile_For_Reading): Add parameter
|
||
Ignore_Protected to compute the query results ignoring protected
|
||
objects/types.
|
||
(Is_Effectively_Volatile_Object,
|
||
Is_Effectively_Volatile_Object_For_Reading): Adapt to new
|
||
signature.
|
||
|
||
2020-11-24 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
|
||
Update documentation on -gnatyk.
|
||
* gnat_ugn.texi: Regenerate.
|
||
|
||
2020-11-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch10.adb (Analyze_Compilation_Unit): Move aspects from
|
||
body to the newly created spec.
|
||
|
||
2020-11-24 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch6.adb (Add_Cond_Expression_Extra_Actual): Simplify
|
||
handling of function calls and remove bug in handling of
|
||
transient objects. Minor reformatting along the way.
|
||
|
||
2020-11-24 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-nbnbin.adb (From_String): Implement fully.
|
||
|
||
2020-11-24 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Delta_Array_Aggregate): If the choice is
|
||
a subtype_indication then call
|
||
Resolve_Discrete_Subtype_Indication; both for choices
|
||
immediately inside array delta aggregates and inside
|
||
iterated_component_association within array delta aggregates.
|
||
|
||
2020-11-24 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* lib-load.adb, lib-writ.adb, lib.adb, par-load.adb,
|
||
rtsfind.adb, sem_ch10.adb: Use Present where possible.
|
||
|
||
2020-11-24 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Depends_Global): Reject Global and
|
||
Depends on null procedure.
|
||
|
||
2020-11-24 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-nbnbre.adb (From_String): Handle properly '_'
|
||
characters.
|
||
|
||
2020-11-24 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_Array_Aggregate,
|
||
Expand_SPARK_N_Aggregate): Remove, no longer needed.
|
||
* sem_aggr.adb (Resolve_Iterated_Component_Association): Only
|
||
remove references in the analyzed expression when generating
|
||
code and the expression needs to be analyzed anew after being
|
||
rewritten into a loop.
|
||
|
||
2020-11-24 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_characteristics.rst: Complete
|
||
entry of 3.5.9(10).
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-11-20 Maciej W. Rozycki <macro@linux-mips.org>
|
||
|
||
* adaint.c (__gnat_number_of_cpus): Check for the presence of
|
||
_SC_NPROCESSORS_ONLN rather than a list of OS-specific macros
|
||
to decide whether to use `sysconf'.
|
||
|
||
2020-11-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/97911
|
||
* gcc-interface/Make-lang.in (ada.serial): Change from goal to a
|
||
variable.
|
||
(.PHONY): Drop ada.serial and ada.prev.
|
||
(gnat1$(exeext)): Depend on $(ada.serial) rather than ada.serial.
|
||
|
||
2020-11-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/97805
|
||
* adaint.c: Include climits in C++ and limits.h otherwise.
|
||
|
||
2020-11-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_dbug.adb (Is_Handled_Scale_Factor): Delete.
|
||
(Get_Encoded_Name): Do not call it.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <Fixed_Point_Type>:
|
||
Tidy up and always use a meaningful description for arbitrary
|
||
scale factors.
|
||
* gcc-interface/misc.c (gnat_get_fixed_point_type_info): Remove
|
||
obsolete block and adjust the description of the scale factor.
|
||
|
||
2020-11-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gcc-interface/Make-lang.in (ada.serial): New goal.
|
||
(.PHONY): Add ada.serial ada.prev.
|
||
(gnat1$(exeext)): Depend on ada.prev. Call LINK_PROGRESS.
|
||
|
||
2020-11-18 Matthias Klose <doko@ubuntu.com>
|
||
|
||
PR ada/97859
|
||
* Makefile.rtl (powerpc% linux%): Also match powerpc64le cpu.
|
||
|
||
2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h: Remove ^L characters throughout.
|
||
* gcc-interface/decl.c: Likewise.
|
||
* gcc-interface/utils.c: Likewise.
|
||
* gcc-interface/utils2.c: Likewise.
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Allocator>: Do not explicitly
|
||
go to the base type for the Has_Constrained_Partial_View flag.
|
||
|
||
2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (build_binary_op_trapv): Convert operands
|
||
to the result type before doing generic overflow checking.
|
||
|
||
2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (can_be_lower_p): Remove.
|
||
(Regular_Loop_to_gnu): Add ENTRY_COND unconditionally if
|
||
BOTTOM_COND is non-zero.
|
||
|
||
2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: In case
|
||
the constant is not being defined, get the expression in type
|
||
annotation mode only if its type is elementary.
|
||
|
||
2020-11-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Op_Shift>: Also convert
|
||
GNU_MAX_SHIFT if the type of the operation has been changed.
|
||
* gcc-interface/utils.c (can_materialize_object_renaming_p): Add
|
||
pair of missing parentheses.
|
||
|
||
2020-11-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Force target_cpu to powerpc if the
|
||
nominal target is powerpc64-suse-linux.
|
||
|
||
2020-11-07 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* gcc-interface/misc.c (gnat_printable_name): Change
|
||
DECL_IS_BUILTIN -> DECL_IS_UNDECLARED_BUILTIN.
|
||
|
||
2020-10-28 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
PR ada/97504
|
||
* Makefile.rtl (LIBGNAT_TARGET_PAIRS> <riscv*-*-*>: Use wraplf
|
||
version of Aux_Long_Long_Float.
|
||
|
||
2020-10-27 Doug Rupp <rupp@adacore.com>
|
||
|
||
* Makefile.rtl: Add vx7r2cert spec file to ARM, PowerPC and x86
|
||
targets.
|
||
* vxworks7-cert-rtp-link.spec: New spec file.
|
||
|
||
2020-10-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add g-spogwa object.
|
||
* libgnat/g-spogwa.adb: Fix style errors.
|
||
|
||
2020-10-27 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_Array_Aggregate): Dedicated
|
||
routine for array aggregates; mostly reuses existing code, but
|
||
calls itself recursively for multi-dimensional array aggregates.
|
||
(Expand_SPARK_N_Aggregate): Call Expand_SPARK_Array_Aggregate to
|
||
do the actual expansion, starting from the first index of the
|
||
array type.
|
||
|
||
2020-10-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Iterated_Component_Association): new
|
||
internal subprogram Remove_References, to reset semantic
|
||
information on each reference to the index variable of the
|
||
association, so that Collect_Aggregate_Bounds can work properly
|
||
on multidimensional arrays with nested associations, and
|
||
subsequent expansion into loops can verify that dimensions of
|
||
each subaggregate are compatible.
|
||
|
||
2020-10-27 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* exp_prag.adb (Append_Copies): Handle N_Parameter_Associations.
|
||
|
||
2020-10-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* ada_get_targ.adb (Digits_From_Size): Delete.
|
||
(Width_From_Size): Likewise.
|
||
* get_targ.adb (Digits_From_Size): Likewise.
|
||
(Width_From_Size): Likewise.
|
||
* get_targ.ads (Digits_From_Size): Likewise.
|
||
(Width_From_Size): Likewise.
|
||
* ttypes.ads: Remove with clause for Get_Targ.
|
||
(Standard_Short_Short_Integer_Width): Delete.
|
||
(Standard_Short_Integer_Width): Likewise.
|
||
(Standard_Integer_Width): Likewise.
|
||
(Standard_Long_Integer_Width): Likewise.
|
||
(Standard_Long_Long_Integer_Width): Likewise.
|
||
(Standard_Long_Long_Long_Integer_Width): Likewise.
|
||
(Standard_Short_Float_Digits): Likewise.
|
||
(Standard_Float_Digits): Likewise.
|
||
(Standard_Long_Float_Digits): Likewise.
|
||
(Standard_Long_Long_Float_Digits): Likewise.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Adjust.
|
||
|
||
2020-10-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch6.adb, freeze.adb, gnat1drv.adb, opt.ads, sem_ch6.adb
|
||
(Transform_Function_Array): New flag, split from Modify_Tree_For_C.
|
||
* exp_unst.adb: Minor reformatting.
|
||
|
||
2020-10-27 Dmitriy Anisimkov <anisimko@adacore.com>
|
||
|
||
* libgnat/g-socpol.adb (Wait): Do not exit from loop on EINTR
|
||
error and timeout is over.
|
||
|
||
2020-10-26 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Build_Array_Aggr_Code): If the aggregate
|
||
includes an Others_Choice in an association that is an
|
||
Iterated_Component_Association, generate a proper loop for it.
|
||
|
||
2020-10-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/a-tifiio.adb: Add missing sign in documentation.
|
||
* libgnat/s-imgrea.ads: Minor fixes in commentary.
|
||
|
||
2020-10-26 Pat Rogers <rogers@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_pragmas.rst: Include
|
||
"Jorvik" in pragma Profile description.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-10-26 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_attr.adb (Check_Image_Type): Remove "|", so the compiler
|
||
will not crash.
|
||
* errout.ads: Improve comment. This has nothing to do with
|
||
-gnatQ.
|
||
|
||
2020-10-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/a-tifiio.adb: Minor editions to documentation.
|
||
|
||
2020-10-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* contracts.adb (Causes_Contract_Freezing): Extend condition to
|
||
match the one in Analyze_Subprogram_Body_Helper. This routine is
|
||
used both as an assertion at the very start of
|
||
Freeze_Previous_Contracts and to detect previous declaration for
|
||
which Freeze_Previous_Contracts has been executed.
|
||
|
||
2020-10-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/a-tifiio.adb: Move around documentaton paragraph.
|
||
|
||
2020-10-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* inline.adb (Establish_Actual_Mapping_For_Inlined_Call): Add
|
||
guard for a call to Set_Last_Assignment with the same condition
|
||
as the assertion in that routine and explain why this guard
|
||
fails in GNATprove mode.
|
||
|
||
2020-10-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_characteristics.rst: Adjust
|
||
the entries of 3.5.9(8) and 3.5.9(10).
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-10-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/a-tifiio.adb: Change the range of supported Small
|
||
values.
|
||
(E0, E1, E2): Adjust factors.
|
||
(Exact): Return false if the Small does not fit in 64 bits.
|
||
|
||
2020-10-26 Dmitriy Anisimkov <anisimko@adacore.com>
|
||
|
||
* libgnat/g-socket.adb (Wait_On_Socket): Boolean parameter
|
||
For_Read changed to Event parameter of type
|
||
GNAT.Sockets.Poll.Wait_Event_Set. Implementation is simplified
|
||
and based on call to GNAT.Sockets.Poll.Wait now.
|
||
|
||
2020-10-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/a-tifiio.adb: Minor editions to documentation.
|
||
|
||
2020-10-26 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch12.adb (Restore_Private_Views): Do not lose the
|
||
information provided by Is_Generic_Actual_Type in GNATprove
|
||
mode.
|
||
|
||
2020-10-26 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Unreferenced_Entity): Suppress warning
|
||
on formal parameters of all dispatching operations.
|
||
|
||
2020-10-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Delta_Array_Aggregate): Fix typos in
|
||
error message.
|
||
|
||
2020-10-26 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* libgnat/s-dwalin.adb (Symbolic_Traceback): Always emit the hex
|
||
address at the beginning of an entry if suppression is not
|
||
requested. Consistently output a "???" for the subprogram name
|
||
when it is unknown.
|
||
|
||
2020-10-26 Doug Rupp <rupp@adacore.com>
|
||
|
||
* s-oscons-tmplt.c (_nfds_t): Use sizeof (unsigned long int).
|
||
|
||
2020-10-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* par-ch4.adb (P_Iterated_Component_Association): Move code for
|
||
iterated_element_association to
|
||
Build_Iterated_Element_Association.
|
||
|
||
2020-10-26 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch12.adb (Needs_Body_Instantiated): In GNATprove mode, do
|
||
not instantiate bodies outside of the main unit.
|
||
|
||
2020-10-26 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Delta_Array_Aggregate): For an
|
||
association that is an iterated component association, attach
|
||
the copy of the expression to the tree prior to analysis, in
|
||
order to preserve its context. This is needed when verifying
|
||
static semantic rules that depend on context, for example that a
|
||
use of 'Old appears only within a postcondition.
|
||
|
||
2020-10-26 Bob Duff <duff@adacore.com>
|
||
|
||
* doc/gnat_ugn/gnat_utility_programs.rst: Document that
|
||
--no-comments-fill is now the default.
|
||
|
||
2020-10-26 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Extension_Aggregate): When testing for
|
||
an aggregate that is illegal due to having an ancestor type that
|
||
has unknown discriminants, add an "or else" condition testing
|
||
whether the aggregate type has unknown discriminants and that
|
||
Partial_View_Has_Unknown_Discr is also set on the ancestor type.
|
||
Extend the comment, including adding ??? about a possible
|
||
simpler test.
|
||
|
||
2020-10-26 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/a-cihama.adb, libgnat/a-cohama.adb,
|
||
libgnat/a-cohase.adb (Delete): Set Position.Position, and
|
||
assert.
|
||
|
||
2020-10-26 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch8.adb (Find_Direct_Name.Undefined): Handle known unit
|
||
names with 3 selectors.
|
||
|
||
2020-10-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_Delta_Or_Update): Add missing call
|
||
to Enter_Name, just like it is called for
|
||
iterated_component_association in Expand_SPARK_N_Aggregate.
|
||
|
||
2020-10-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_Delta_Or_Update): Reuse local
|
||
constant Expr and the Choice_List routine.
|
||
(Expand_SPARK_N_Aggregate): Reuse local constant Expr.
|
||
|
||
2020-10-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* par-ch4.adb (P_Iterated_Component_Association): Fix typos in
|
||
comments.
|
||
|
||
2020-10-26 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* par-ch6.adb (P_Formal_Part): Ada 2020 supports scanning
|
||
aspects on formal parameters.
|
||
* doc/gnat_rm/implementation_defined_aspects.rst (Aspect
|
||
Unreferenced): Update documentation.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-10-26 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Type_Refs): When an entity in an expression
|
||
function is a type, freeze the entity and not just its type,
|
||
which would be incomplete when the type is derived and/or
|
||
tagged.
|
||
|
||
2020-10-26 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Update_Attribute): Handle
|
||
subtype_indication just like in Expand_Delta_Array_Aggregate.
|
||
|
||
2020-10-25 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* Makefile.rtl: Add GNATRTL_128BIT_PAIRS/OBJS for 64bit
|
||
PowerPC Darwin cases.
|
||
|
||
2020-10-23 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* adaint.c: On Darwin platforms, define st_atim to
|
||
st_atimespec. Likwise st_mtim to st_mtimespec.
|
||
|
||
2020-10-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* Makefile.rtl (EXTRA_GNATRTL_NONTASKING_OBJS) [IA64/Linux]: Fix typo.
|
||
|
||
2020-10-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* Makefile.rtl (EXTRA_GNATRTL_NONTASKING_OBJS) [IA64/Linux]: Fix typo.
|
||
|
||
2020-10-23 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
PR ada/97504
|
||
* Makefile.rtl (LIBGNAT_TARGET_PAIRS): Select wraplf version
|
||
of Aux_Long_Long_Float for s390 and remaining sparc and
|
||
powerpc targets.
|
||
|
||
2020-10-23 Dmitriy Anisimkov <anisimko@adacore.com>
|
||
|
||
* Makefile.rtl (GNATRTL_SOCKETS_OBJS): New object
|
||
g-socpol$(objext) New source files noted: g-socpol.adb,
|
||
g-socpol.ads, g-socpol__dummy.adb, g-socpol__dummy.ads,
|
||
g-sopowa.adb, g-sopowa__posix.adb, g-sopowa__mingw.adb,
|
||
g-spogwa.adb, g-spogwa.ads.
|
||
* impunit.adb (Non_Imp_File_Names_95): New base filename
|
||
g-socpol in "GNAT Library Units" section for GNAT.Sockets.Poll
|
||
unit.
|
||
* libgnat/g-socket.ads, libgnat/g-socket.adb:
|
||
(Raise_Socket_Error): Moved from body to private part of
|
||
specification to use in GNAT.Sockets.Poll.
|
||
* libgnat/g-socpol.ads, libgnat/g-socpol.adb: Main unit of the
|
||
implementation.
|
||
* libgnat/g-socpol__dummy.ads, libgnat/g-socpol__dummy.adb:
|
||
Empty unit for the systems without sockets support.
|
||
* libgnat/g-spogwa.ads, libgnat/g-spogwa.adb: Generic unit
|
||
implementing sockets poll on top of select system call.
|
||
* libgnat/g-sopowa.adb (Wait): Separate implementation for
|
||
operation systems with poll system call support.
|
||
* libgnat/g-sopowa__posix.adb (Wait): Separate implementation
|
||
for POSIX select system call.
|
||
* libgnat/g-sopowa__mingw.adb (Wait): Separate implementation
|
||
for Windows select system call.
|
||
* gsocket.h (_WIN32_WINNT): Increase to 0x0600 for winsock2.h to
|
||
allow WSAPoll related definitions.
|
||
* s-oscons-tmplt.c: Fix comment next to #endif for
|
||
#if defined (__linux__) || defined (__ANDROID__) line. Include
|
||
<poll.h> for all except VxWorks and Windows.
|
||
(SIZEOF_nfds_t): New definition.
|
||
(SIZEOF_fd_type): New definition.
|
||
(SIZEOF_pollfd_events): New definition.
|
||
(POLLIN, POLLPRI, POLLOUT, POLLERR, POLLHUP, POLLNVAL): New
|
||
definitions for VxWorks to be able to emulate poll on top of
|
||
select in it. Define POLLPRI as zero on Windows as it is not
|
||
supported there.
|
||
(Poll_Linkname): New definition, because the poll system call
|
||
has different name in Windows and POSIX.
|
||
|
||
2020-10-23 Justin Squirek <squirek@adacore.com>
|
||
|
||
* checks.adb (Apply_Accessibility_Check): Skip checks against
|
||
the extra accessibility of a function result when in Ada 2005
|
||
mode or earlier.
|
||
* exp_ch3.adb (Build_Initialization_Call): Modify accessibility
|
||
level calls to use Accessibility_Level.
|
||
(Expand_N_Object_Declaration): Modify accessibility level calls
|
||
to use Accessibility_Level.
|
||
* exp_ch4.adb (Expand_Allocator_Expression): Add static check
|
||
for anonymous access discriminants. Remove unneeded propagation
|
||
of accessibility actual.
|
||
(Expand_N_In): Modify accessibility level calls to use
|
||
Accessibility_Level.
|
||
(Expand_N_Type_Conversion): Modify accessibility level calls to
|
||
use Accessibility_Level.
|
||
* exp_ch5.adb (Expand_N_Assignment_Statement): Modify
|
||
accessibility level calls to use Accessibility_Level.
|
||
* exp_ch6.adb (Expand_Call_Helper): Rewrite accessibility
|
||
calculation for the extra accessibility of result actual in
|
||
function calls, and modify accessibility level calls to use
|
||
Accessibility_Level.
|
||
(Check_Against_Result_Level): Removed.
|
||
* exp_ch9.adb (Expand_N_Requeue_Statement): Add dynamic
|
||
accessibility check for requeues
|
||
* sem_attr.adb (Resolve_Attribute): Modify accessibility level
|
||
calls to use Accessibility_Level.
|
||
* sem_ch13.adb (Associate_Storage_Pool): Modify accessibility
|
||
level calls to use Accessibility_Level.
|
||
* sem_ch4.adb (Analyze_Call): Add static check for explicitly
|
||
aliased formals in function calls within return statements.
|
||
* sem_ch6.adb (Check_Return_Construct_Accessibility): Rewrite
|
||
routine to account for non-aggregate return objects.
|
||
(Generate_Minimum_Accessibility): Created.
|
||
(Analyze_Call): Modify accessibility level calls to use
|
||
Accessibility_Level.
|
||
(Analyze_Subprogram_Body_Helper): Add generation of minimum
|
||
accessibility for the extra accessibility of the function
|
||
result.
|
||
* sem_ch9.adb (Analyze_Requeue): Modify accessibility level
|
||
calls to use Accessibility_Level.
|
||
* sem_res.adb: (Check_Aliased_Parameters): Modify accessibility
|
||
level calls to use Accessibility_Level.
|
||
(Valid_Conversion): Modify accessibility level calls to use
|
||
Accessibility_Level.
|
||
* sem_util.adb, sem_util.ads (Accessibility_Level_Helper):
|
||
Renamed to Accessibility_Level, add detection for functions in
|
||
prefix notation, and add cases where to return zero when
|
||
specified. Modified to take new, more descriptive, parameters.
|
||
(Accessibility_Level): Created.
|
||
(Function_Call_Level): Removed.
|
||
(Function_Call_Or_Allocator_Level): Created to centralize the
|
||
calculation accessibility levels for function calls and
|
||
allocators.
|
||
(Static_Accessibility_Level): Removed.
|
||
(Dynamic_Accessibility_Level): Removed.
|
||
(Get_Dynamic_Accessibility): Renamed from Get_Accessibility.
|
||
(In_Return_Value): Created to determine if a given expression
|
||
contributes to the current function's return value.
|
||
(Is_Master): Created.
|
||
(Is_Explicitly_Aliased): Created
|
||
|
||
2020-10-23 Bob Duff <duff@adacore.com>
|
||
|
||
* doc/gnat_ugn/gnat_utility_programs.rst: Document
|
||
--no-comments-fill.
|
||
|
||
2020-10-23 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* contracts.adb (Analyze_Entry_Or_Subprogram_Contract,
|
||
Analyze_Subprogram_Body_Stub_Contract): Fix missing references
|
||
to Subprogram_Variant where similar references to Contract_Cases
|
||
are present.
|
||
* sem_prag.adb (Analyze_Contract_Case, Analyze_Variant): Check
|
||
that aggregate parameter has no expressions.
|
||
(Analyze_Pragma): Replace Contract_Cases with Subprogram_Variant
|
||
in a copy-pasted comment.
|
||
|
||
2020-10-23 Philippe Gil <gil@adacore.com>
|
||
|
||
* libgnat/g-socket.ads: Fix comment typo.
|
||
|
||
2020-10-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_pragmas.rst (VFA): Remove uage
|
||
restrictions in conjunction with Atomic and Aliased.
|
||
* gnat_rm.texi: Regenerate.
|
||
* aspects.ads (Aspect_Id): Add Aspect_Full_Access_Only.
|
||
(Is_Representation_Aspect): Likewise.
|
||
(Aspect_Names): Likewise.
|
||
(Aspect_Delay): Likewise.
|
||
* einfo.ads (Is_Atomic_Or_VFA): Rename into...
|
||
(Is_Full_Access): ...this.
|
||
(Is_Volatile_Full_Access): Document new usage for Full_Access_Only.
|
||
* einfo.adb (Is_Atomic_Or_VFA): Rename into...
|
||
(Is_Full_Access): ...this.
|
||
* freeze.ads (Is_Atomic_VFA_Aggregate): Rename into...
|
||
(Is_Full_Access_Aggregate): ...this.
|
||
* freeze.adb (Is_Atomic_VFA_Aggregate): Rename into...
|
||
(Is_Full_Access_Aggregate): ...this. Adjust to above renaming.
|
||
(Freeze_Array_Type): Likewise.
|
||
(Freeze_Entity): Likewise.
|
||
* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Likewise.
|
||
(Expand_Record_Aggregate): Likewise.
|
||
* exp_ch4.adb (Expand_N_Op_Eq): Likewise.
|
||
* exp_ch5.adb (Expand_Assign_Array): Likewise.
|
||
* exp_ch8.adb (Evaluation_Required): Likewise.
|
||
* layout.adb (Layout_Type): Likewise.
|
||
(Set_Composite_Alignment): Likewise.
|
||
* sem_aux.ads (Has_Rep_Item): Delete.
|
||
* sem_aux.adb (Has_Rep_Item): Likewise.
|
||
* sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Implement
|
||
new legality rules in C.6(12).
|
||
* sem_ch12.adb (Instantiate_Object): Likewise.
|
||
* sem_res.adb (Resolve_Actuals): Likewise.
|
||
* sem_ch13.adb (Inherit_Delayed_Rep_Aspects): Deal with aspect
|
||
Full_Access_Only.
|
||
(Check_False_Aspect_For_Derived_Type): Likewise.
|
||
(Make_Pragma_From_Boolean_Aspect): Test for the presence of Expr.
|
||
Deal with aspect Full_Access_Only.
|
||
(Analyze_Aspects_At_Freeze_Point): Likewise.
|
||
(Analyze_One_Aspect): Do not set Delay_Required to true even for
|
||
Always_Delay boolean aspects if they have no expression. Force
|
||
Delay_Required to true for aspect Full_Access_Only in all cases.
|
||
Reject aspect Full_Access_Only if not in Ada 2020 mode.
|
||
(Check_Aspect_At_End_Of_Declarations): Deal with empty expression.
|
||
(Check_Aspect_At_Freeze_Point): Likewise.
|
||
(Rep_Item_Entity): Delete.
|
||
(Inherit_Aspects_At_Freeze_Point): Align handling for Bit_Order
|
||
with that for Scalar_Storage_Order.
|
||
* sem_prag.adb (Check_Atomic_VFA): Delete.
|
||
(Check_VFA_Conflicts): Likewise.
|
||
(Check_Full_Access_Only): New procedure.
|
||
(Process_Atomic_Independent_Shared_Volatile): Call to implement
|
||
the new legality checks in C.6(8/2) and mark the entity last.
|
||
(Analyze_Pragma) <Pragma_Atomic_Components>: Remove obsolete check.
|
||
* sem_util.ads (Is_Atomic_Or_VFA_Object): Rename into...
|
||
(Is_Full_Access_Object): ...this.
|
||
(Is_Subcomponent_Of_Atomic_Object): Rename into...
|
||
(Is_Subcomponent_Of_Full_Access_Object): ...this.
|
||
* sem_util.adb (Inherit_Rep_Item_Chain): Use Present_In_Rep_Item.
|
||
(Is_Atomic_Or_VFA_Object): Rename into...
|
||
(Is_Full_Access_Object): ...this.
|
||
(Is_Subcomponent_Of_Atomic_Object): Rename into...
|
||
(Is_Subcomponent_Of_Full_Access_Object): ...this and adjust.
|
||
* snames.ads-tmpl (Name_Full_Access_Only): New name of aspect.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for renaming.
|
||
(promote_object_alignment): Likewise.
|
||
(gnat_to_gnu_field): Likewise. Rename local variable and use
|
||
specific qualifier in error message for Volatile_Full_Access.
|
||
* gcc-interface/trans.c (lvalue_required_p): Likewise.
|
||
|
||
2020-10-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* lib-writ.ads, lib-writ.adb (Write_ALI): No longer read
|
||
existing ALI files in -gnatc mode.
|
||
|
||
2020-10-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/g-socthi__mingw.adb (C_Select): Fix logic in code and
|
||
make it explicit that we are checking against null values before
|
||
dereferencing them.
|
||
|
||
2020-10-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_imgv.adb (Expand_Image_Attribute): For an enumeration type
|
||
subject to pragma Discard_Names, convert 'Pos to Long_Long_Integer
|
||
before applying 'Img to the result.
|
||
|
||
2020-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Type_Refs): Add guard on freezing of the
|
||
designated type of an access type appearing in the expression,
|
||
when expression includes an explicit dereference whose prefix
|
||
includes a function call.
|
||
|
||
2020-10-23 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_Delta_Or_Update): Handle
|
||
subtype_indication; do not apply range checks for ranges; add
|
||
comment saying that others_choices is not allowed.
|
||
|
||
2020-10-23 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_N_Aggregate,
|
||
Expand_SPARK_Delta_Or_Update): Expand
|
||
Iterated_Component_Association occurring within delta
|
||
aggregates.
|
||
(Expand_SPARK): Apply SPARK-specific expansion to ordinary
|
||
aggregates.
|
||
|
||
2020-10-23 Johannes Kanig <kanig@adacore.com>
|
||
|
||
* exp_util.adb, exp_util.ads
|
||
(Containing_Package_With_Ext_Axioms,
|
||
Has_Annotate_Pragma_For_External_Axiomatizations): Removed.
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): Removed code
|
||
related to external axiomatizations.
|
||
* einfo.ads
|
||
(Is_Generic_Actual_Subprogram): Removed comment about external
|
||
axiomatization.
|
||
|
||
2020-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Aggregate): Do not call
|
||
Resolve_Container_Aggregate if compilation version is earlier
|
||
than Ada_2020.
|
||
|
||
2020-10-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_pragmas.rst: Improve
|
||
documentation of pragma Abort_Defer.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-10-23 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* exp_prag.adb (Etype_Or_Dim3): New function.
|
||
(Expand_Pragma_Cuda_Execute): Use Etype_Or_Dim3 for temporary
|
||
decls.
|
||
|
||
2020-10-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-fileio.adb (Open): Fix setting of Tempfile.
|
||
|
||
2020-10-23 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* exp_prag.adb (Get_Launch_Kernel_Arg_Type): Renamed to
|
||
Get_Nth_Arg_Type and made more generic.
|
||
(Build_Dim3_Declaration): Now builds a CUDA.Internal.Dim3
|
||
instead of a CUDA.Vector_Types.Dim3.
|
||
(Build_Shared_Memory_Declaration): Now infers needed type from
|
||
Launch_Kernel instead of using a hard-coded type.
|
||
(Expand_Pragma_CUDA_Execute): Build additional temporaries to
|
||
store Grids and Blocks.
|
||
* rtsfind.ads: Move Launch_Kernel from public to internal
|
||
package.
|
||
|
||
2020-10-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch4.adb (Complete_Object_Operation): Only mark entities
|
||
referenced if we are compiling the extended main unit.
|
||
* sem_attr.adb (Analyze_Attribute [Attribute_Tag]): Record a
|
||
reference on the type and its scope.
|
||
|
||
2020-10-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Is_Uninitialized_Aggregate): Recognize an array
|
||
aggregate with box initialization, scalar components, and no
|
||
component default values.
|
||
(Freeze_Entity, Check_Address_Clause): Call it, and simplify
|
||
freeze code for entity by removing useless assignment.
|
||
|
||
2020-10-23 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Abstract_Overriding): Subprogram renamings
|
||
cannot be overridden.
|
||
(Derive_Subprogram): Enable setting attribute
|
||
Requires_Overriding on functions with controlling access results
|
||
of record extensions with a null extension part require
|
||
overriding (AI95-00391/06).
|
||
|
||
2020-10-23 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Delta_Array_Aggregate): Push scope of
|
||
the implicit loop before entering name of the index parameter,
|
||
not after; enter name no matter if the identifier has been
|
||
decorated before.
|
||
|
||
2020-10-23 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Call): In the case where the call is not
|
||
overloaded, check for a call to an abstract nondispatching
|
||
operation and flag an error.
|
||
|
||
2020-10-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Rewrite again code enabling
|
||
or disabling the support for 128-bit integer types.
|
||
|
||
2020-10-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* alloc.ads, aspects.adb, aspects.ads, atree.adb, atree.ads,
|
||
casing.adb, casing.ads, csets.adb, csets.ads, debug.adb, debug.ads,
|
||
einfo.adb, einfo.ads, elists.adb, elists.ads, fname.adb, fname.ads,
|
||
gnatvsn.adb, gnatvsn.ads, hostparm.ads, indepsw-aix.adb,
|
||
indepsw-darwin.adb, indepsw-gnu.adb, indepsw.adb, indepsw.ads,
|
||
krunch.adb, krunch.ads, lib-list.adb, lib-sort.adb, lib.adb, lib.ads,
|
||
namet-sp.adb, namet-sp.ads, namet.adb, namet.ads, nlists.adb,
|
||
nlists.ads, opt.adb, opt.ads, output.adb, output.ads, rident.ads,
|
||
scans.adb, scans.ads, scil_ll.adb, scil_ll.ads, sem_aux.ads,
|
||
sem_aux.adb, sfn_scan.adb, sinfo.adb, sinfo.ads, sinput.adb,
|
||
sinput.ads, snames.adb-tmpl, snames.ads-tmpl, stand.ads,
|
||
stringt.adb, stringt.ads, table.adb, table.ads, types.adb,
|
||
types.ads, uintp.adb, uintp.ads, uname.adb, uname.ads,
|
||
urealp.adb, urealp.ads, vast.adb, vast.ads, widechar.adb,
|
||
widechar.ads: Update header.
|
||
|
||
2020-10-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-nbnbin.adb (From_String): Take advantage of
|
||
Long_Long_Long_Integer.
|
||
* libgnat/s-genbig.ads, libgnat/s-genbig.adb (To_Bignum): New
|
||
function taking a Long_Long_Long_Integer.
|
||
|
||
2020-10-23 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_util.adb (Accessibility_Call_Helper): In the selected
|
||
component case, test if a prefix is a function call and whether
|
||
the subprogram call is not being used in its entirety and use
|
||
the Innermost_Master_Scope_Depth in that case.
|
||
(Innermost_Master_Scope_Depth): Test against the node_par
|
||
instead of its identifier to avoid misattributing unnamed blocks
|
||
as not being from source.
|
||
(Function_Call_Level): Add calculation for whether a subprogram
|
||
call is initializing an object in its entirety.
|
||
(Subprogram_Call_Level): Renamed to Function_Call_Level.
|
||
|
||
2020-10-23 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Check_External_Properties): Rewrite to match the
|
||
SPARK RM description.
|
||
|
||
2020-10-23 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* contracts.adb (Check_Type_Or_Object_External_Properties):
|
||
Cleanup.
|
||
|
||
2020-10-23 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_External_Property_In_Decl_Part): Set the
|
||
output parameter Expr_Val to the (implicit) pragma argument even
|
||
when returning early.
|
||
|
||
2020-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* Makefile.rtl (GNATRTL_128BIT_PAIRS): Add i-cexten.ads.
|
||
* debug.adb (d.H): Document new usage.
|
||
* doc/gnat_rm/representation_clauses_and_pragmas.rst (Size Clauses):
|
||
Document new limit on 64-bit platforms.
|
||
(Component_Size Clauses): Likewise.
|
||
(Pragma Pack for Arrays): Likewise.
|
||
(Pragma Pack for Records): Likewise.
|
||
(Record Representation Clauses): Likewise.
|
||
* gnat_rm.texi: Regenerate.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Rewrite code enabling or
|
||
disabling the support for 128-bit integer types.
|
||
* switch-c.adb (Scan_Front_End_Switches): Do not deal with e128.
|
||
* usage.adb (Write_Switch_Char): Do not print -gnate128 switch.
|
||
* libgnat/i-cexten__128.ads: New file.
|
||
|
||
2020-10-22 Javier Miranda <miranda@adacore.com>
|
||
|
||
* einfo.ads (Has_Limited_View): New synthesized attribute.
|
||
* einfo.adb (Has_Limited_View): New synthesized attribute.
|
||
(Set_Limited_View): Complete assertion.
|
||
* sem_ch10.ads (Is_Visible_Through_Renamings): Make this routine
|
||
public to invoke it from Find_Expanded_Name and avoid reporting
|
||
spurious errors on renamings of limited-with packages.
|
||
(Load_Needed_Body): Moved to have this spec alphabetically
|
||
ordered.
|
||
* sem_ch10.adb (Is_Visible_Through_Renamings): Moved to library
|
||
level.
|
||
(Is_Limited_Withed_Unit): New subprogram.
|
||
* sem_ch3.adb (Access_Type_Declaration): Adding protection to
|
||
avoid reading attribute Entity() when not available.
|
||
* sem_ch8.adb (Analyze_Package_Renaming): Report error on
|
||
renamed package not visible through context clauses.
|
||
(Find_Expanded_Name): Report error on renamed package not
|
||
visible through context clauses; handle special case where the
|
||
prefix is a renaming of a (now visible) shadow package.
|
||
|
||
2020-10-22 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* exp_prag.adb (Get_Launch_Kernel_Arg_Type): New function.
|
||
(Build_Shared_Memory_Declaration): Use
|
||
Get_Launch_Kernel_Arg_Type.
|
||
(Build_Stream_Declaration): Use Get_Launch_Kernel_Arg_Type.
|
||
* rtsfind.ads: Remove RO_IC_Unsigned_Long_Long.
|
||
|
||
2020-10-22 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-imenne.adb, libgnat/s-imgrea.adb: Add assertions.
|
||
|
||
2020-10-22 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-imgrea.adb (Set_Image_Real): Update annotations.
|
||
|
||
2020-10-22 Steve Baird <baird@adacore.com>
|
||
|
||
* aspects.ads: Introduce the subtype Nonoverridable_Aspect_Id,
|
||
whose Static_Predicate reflects the list of nonoverridable
|
||
aspects given in Ada RM 13.1.1(18.7).
|
||
* sem_util.ads, sem_util.adb: Add two new visible subprograms,
|
||
Check_Inherited_Nonoverridable_Aspects and Is_Confirming. The
|
||
former is used to check the consistency of inherited
|
||
nonoverridable aspects from multiple sources. The latter
|
||
indicates whether two aspect specifications for a nonoverridable
|
||
aspect are confirming. Because of compatibility concerns in
|
||
compiling QGen, Is_Confirming always returns True if
|
||
Relaxed_RM_Semantics (i.e., -gnatd.M) is specified.
|
||
* sem_ch3.adb (Derived_Type_Declaration): Call new
|
||
Check_Inherited_Nonoverridable_Aspects procedure if interface
|
||
list is non-empty.
|
||
* sem_ch9.adb (Check_Interfaces): Call new
|
||
Check_Inherited_Nonoverridable_Aspects procedure if interface
|
||
list is non-empty.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): When an explicit
|
||
aspect specification overrides an inherited nonoverridable
|
||
aspect, check that the explicit specification is confirming.
|
||
|
||
2020-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* freeze.ads (Check_Compile_Time_Size): Adjust size limit.
|
||
|
||
2020-10-22 Richard Kenner <kenner@adacore.com>
|
||
|
||
* sprint.adb (pg, po, ps): Use {Push,Pop}_Output.
|
||
* treepr.adb (pl, pn): Likewise.
|
||
|
||
2020-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_advice.rst: Minor fix.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-10-22 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_util.adb (Is_Container_Aggregate): A new local predicates
|
||
which indicates whether a given expression is a container
|
||
aggregate. The implementation of this function is incomplete; in
|
||
the unusual case of a record aggregate (i.e., not a container
|
||
aggregate) of a type whose Aggregate aspect is specified, the
|
||
function will incorrectly return True.
|
||
(Immediate_Context_Implies_Is_Potentially_Unevaluated): Improve
|
||
handling of aggregate components.
|
||
(Is_Repeatedly_Evaluated): Test for container aggregate
|
||
components along with existing test for array aggregate
|
||
components.
|
||
|
||
2020-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_fixd.adb (Fpt_Value): Fold if-then-else with identical arms.
|
||
|
||
2020-10-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch4.adb (P_Iterated_Component_Association): If the
|
||
construct includes an iterator filter it corresponds to an
|
||
Iterated_Element_Association, so build the proper node for it.
|
||
* exp_aggr.adb (Expand_Container_Aggregate, Aggregate_Size): If
|
||
the component is an Iterated_Element_Association, treat it as
|
||
having a non-static size.
|
||
|
||
2020-10-22 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* scng.adb (Scan): Check if any letter of the token is
|
||
uppercase.
|
||
|
||
2020-10-22 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_util.adb (Accessibility_Level_Helper): Conversions to
|
||
named access types get the level associated with the named
|
||
access type.
|
||
|
||
2020-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (Has_Constrained_Partial_View): Add "base type" marker.
|
||
|
||
2020-10-22 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* einfo.adb (Has_Constrained_Partial_View): Apply Base_Type to Id.
|
||
* sem_res.adb (Resolve_Actuals.Check_Aliased_Parameter): Remove
|
||
"not Is_Generic_Type" test and call
|
||
Object_Type_Has_Constrained_Partial_View instead of
|
||
Has_Constrained_Partial_View. Improve related error message to
|
||
say "does not statically match" instead of just "does not
|
||
match".
|
||
|
||
2020-10-22 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb: Declare and implement a new
|
||
predicate, Derivation_Too_Early_To_Inherit. This function
|
||
indicates whether a given derived type fails to inherit a given
|
||
streaming-related attribute from its parent type because the
|
||
declaration of the derived type precedes the corresponding
|
||
attribute_definition_clause of the parent.
|
||
* exp_tss.adb (Find_Inherited_TSS): Call
|
||
Derivation_Too_Early_To_Inherit instead of unconditionally
|
||
assuming that a parent type's streaming attribute is available
|
||
for inheritance by an immediate descendant type.
|
||
* sem_attr.adb (Stream_Attribute_Available): Call
|
||
Derivation_Too_Early_To_Inherit instead of unconditionally
|
||
assuming that a parent type's streaming attribute is available
|
||
for inheritance by an immediate descendant type.
|
||
* exp_attr.adb (Default_Streaming_Unavailable): A new predicate;
|
||
given a type, indicates whether predefined (as opposed to
|
||
user-defined) streaming operations for the type should be
|
||
implemented by raising Program_Error.
|
||
(Expand_N_Attribute_Reference): For each of the 4
|
||
streaming-related attributes (i.e., Read, Write, Input, Output),
|
||
after determining that no user-defined implementation is
|
||
available (including a Stream_Convert pragma), call
|
||
Default_Streaming_Unavailable; if that call returns True, then
|
||
implement the streaming operation as "raise Program_Error;".
|
||
|
||
2020-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.adb (Apply_Float_Conversion_Check): Saturate the bounds
|
||
of the check to those of the base type of the expression.
|
||
|
||
2020-10-22 Justin Squirek <squirek@adacore.com>
|
||
|
||
* checks.adb (Apply_Accessibility_Check): Modify condition to
|
||
avoid flawed optimization and use Get_Accessibility over
|
||
Extra_Accessibility.
|
||
* exp_attr.adb: Remove inclusion of Exp_Ch2.adb.
|
||
* exp_ch2.adb, exp_ch2.ads (Param_Entity): Moved to sem_util.
|
||
* exp_ch3.ads (Init_Proc_Level_Formal): New function.
|
||
* exp_ch3.adb (Build_Init_Procedure): Add extra accessibility
|
||
formal for init procs when the associated type is a limited
|
||
record.
|
||
(Build_Initialization_Call): Add condition to handle propagation
|
||
of the new extra accessibility paramter actual needed for init
|
||
procs.
|
||
(Init_Proc_Level_Formal): Created to fetch a the extra
|
||
accessibility parameter associated with init procs if one
|
||
exists.
|
||
* exp_ch4.adb (Build_Attribute_Reference): Modify static check
|
||
to be dynamic.
|
||
* exp_ch6.adb (Add_Cond_Expression_Extra_Actual): Move logic
|
||
used to expand conditional expressions used as actuals for
|
||
anonymous access formals.
|
||
(Expand_Call_Helper): Remove extranious accessibility
|
||
calculation logic.
|
||
* exp_util.adb: Remove inclusion of Exp_Ch2.adb.
|
||
* par-ch3.adb (P_Array_Type_Definition): Properly set
|
||
Aliased_Present on access definitions
|
||
* sem_attr.adb (Resolve_Attribute): Replace instances for
|
||
Object_Access_Level with Static_Accessibility_Level.
|
||
* sem_ch13.adb (Storage_Pool): Replace instances for
|
||
Object_Access_Level with Static_Accessibility_Level.
|
||
* sem_ch6.adb (Check_Return_Construct_Accessibility): Replace
|
||
instances for Object_Access_Level with
|
||
Static_Accessibility_Level.
|
||
* sem_ch9.adb (Analyze_Requeue): Replace instances for
|
||
Object_Access_Level with Static_Accessibility_Level.
|
||
* sem_res.adb (Check_Aliased_Parameter,
|
||
Check_Allocator_Discrim_Accessibility, Valid_Conversion):
|
||
Replace instances for Object_Access_Level with
|
||
Static_Accessibility_Level.
|
||
* sem_util.adb, sem_util.ads (Accessibility_Level_Helper):
|
||
Created to centralize calculation of accessibility levels.
|
||
(Build_Component_Subtype): Replace instances for
|
||
Object_Access_Level with Static_Accessibility_Level.
|
||
(Defining_Entity): Add extra parameter to dictate whether an
|
||
error is raised or empty is return in the case of an irrelevant
|
||
N.
|
||
(Dynamic_Accessibility_Level): Rewritten to use
|
||
Accessibility_Level_Helper.
|
||
(Is_View_Conversion): Check membership against Etype to capture
|
||
nodes like explicit dereferences which have types but are not
|
||
expanded names or identifers.
|
||
(Object_Access_LeveL): Removed.
|
||
(Param_Entity): Moved from sem_util.
|
||
(Static_Accessibility_Level): Created as a replacement to
|
||
Object_Access_Level, it also uses Accessibility_Level_Helper for
|
||
its implementation.
|
||
* snames.ads-tmpl: Added new name for extra accessibility
|
||
parameter in init procs.
|
||
|
||
2020-10-22 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Contract_Cases,
|
||
Expand_Pragma_Loop_Variant): Reuse Append_New_To.
|
||
* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Fix typo.
|
||
(Analyze_Pre_Post_Condition): Refactor repeated calls to
|
||
Defining_Entity.
|
||
|
||
2020-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_characteristics.rst: Minor
|
||
fixes.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-10-22 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_warn.adb (Check_Unused_Withs): Move local variables from
|
||
to a nested procedure; Lunit is passed as a parameter to
|
||
Check_System_Aux and its type is refined from Node_Id to
|
||
Entity_Id; Cnode is now a constant.
|
||
|
||
2020-10-22 Patrick Bernardi <bernardi@adacore.com>
|
||
|
||
* libgnat/s-rident.ads (Profile_Info): Use a common profile
|
||
definition for Jorvik and GNAT Extended Ravenscar, using the
|
||
GNAT Extended Ravenscar definition.
|
||
|
||
2020-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* Makefile.rtl (64-bit platforms): Add GNATRTL_128BIT_PAIRS to
|
||
the LIBGNAT_TARGET_PAIRS list and also GNATRTL_128BIT_OBJS to
|
||
the EXTRA_GNATRTL_NONTASKING_OBJS list.
|
||
|
||
2020-10-22 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Convention,
|
||
Process_Import_Or_Interface): Fix error message.
|
||
|
||
2020-10-22 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* sem_ch13.adb (Make_Aitem_Pragma): Turn into function. This
|
||
removes a side-effect on the Aitem variable.
|
||
(Analyze_Aspect_Specifications): Handle Suppress and Unsuppress
|
||
aspects differently from the Linker_Section aspect.
|
||
(Ceck_Aspect_At_Freeze_Point): Don't expect Suppress/Unsuppress
|
||
to be delayed anymore.
|
||
|
||
2020-10-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb: (Resolve_Container_Aggregate): For an indexed
|
||
container, verify that expressions and component associations
|
||
are not both present.
|
||
* exp_aggr.adb: Code reorganization, additional comments.
|
||
(Expand_Container_Aggregate): Use Aggregate_Size for Iterated_
|
||
Component_Associations for indexed aggregates. If present, the
|
||
default value of the formal in the constructor function is used
|
||
when the size of the aggregate cannot be determined statically.
|
||
|
||
2020-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_attr.adb (Eval_Attribute): Fix oversight for Bit_Position.
|
||
|
||
2020-10-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Check_Ambiguous_Aggregate): When a
|
||
subprogram call is found to be ambiguous, check whether
|
||
ambiguity is caused by an aggregate actual. and indicate that
|
||
it should carry a type qualification.
|
||
* sem_ch4.adb (Traverse_Hoonyms, Try_Primitive_Operation): Call
|
||
it.
|
||
* sem_res.adb (Report_Ambiguous_Argument): Call it.
|
||
|
||
2020-10-22 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_warn.adb (Check_One_Unit): Avoid repeated calls by using a
|
||
local variable Lunit; remove local constant Eitem, which was
|
||
identical to Lunit.
|
||
|
||
2020-10-22 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* Makefile.rtl (LIBGNAT_TARGET_PAIRS) <x86*-vxworks*>: Select
|
||
nolibm and wraplf variants like other vxworks ports.
|
||
|
||
2020-10-22 Martin Liska <mliska@suse.cz>
|
||
|
||
PR c/94722
|
||
* gcc-interface/utils.c (handle_no_stack_protect_attribute):
|
||
New.
|
||
(handle_stack_protect_attribute): Add error message for a
|
||
no_stack_protector function.
|
||
|
||
2020-10-22 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* Makefile.rtl (LIBGNAT_TARGET_PAIRS) <lynxos178>: Rely on
|
||
Aux_Long_Float for all real types.
|
||
|
||
2020-10-22 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* Makefile.rtl (LIBGNAT_TARGET_PAIRS): Use Long Float-based
|
||
variant of Aux_Short_Float and Aux_Float on vxworks targets.
|
||
* libgnat/a-nashfl__wraplf.ads: New.
|
||
* libgnat/a-nuaufl__wraplf.ads: New.
|
||
|
||
2020-10-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* Makefile.rtl (LIBGNAT_TARGET_PAIRS) <sparc*-sun-solaris>:
|
||
Use wraplf version of a-nallfl.
|
||
|
||
2020-10-22 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* Makefile.rtl (LIBGNAT_TARGET_PAIRS): Use
|
||
a-nallfl__wraplf.ads on aarch64-* and ppc*-linux-gnu targets.
|
||
* libgnat/a-nallfl__wraplf.ads: New.
|
||
|
||
2020-10-22 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* gcc-interface/trans.c: Include tree-nested.h
|
||
(walk_nesting_tree): Update for new nested function info.
|
||
|
||
2020-10-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add a-llltio, a-lllwti,
|
||
a-lllzti and remove a-timoau, a-wtmoau and a-ztmoau.
|
||
(GNATRTL_128BIT_PAIRS): Add a-tiinio.adb, a-timoio.adb, a-wtinio.adb,
|
||
a-wtmoio.adb, a-ztinio.adb and a-ztmoio.adb.
|
||
* impunit.adb (Non_Imp_File_Names_95): Add a-llltio, a-lllwti and
|
||
a-lllzti.
|
||
* krunch.ads: Document trick for Ada.Long_Long_Long_Integer_*_IO.
|
||
* krunch.adb (Krunch): Add trick for Ada.Long_Long_Long_Integer_*_IO.
|
||
* libgnat/a-llltio.ads: Instantiate Ada.Text_IO.Integer_IO.
|
||
* libgnat/a-lllwti.ads: Instantiate Ada.Wide_Text_IO.Integer_IO.
|
||
* libgnat/a-lllzti.ads: Instantiate Ada.Wide_Wide_Text_IO.Integer_IO.
|
||
* libgnat/a-tigeau.ads (Load_Integer): New procedure.
|
||
* libgnat/a-tigeau.adb (Load_Integer): Likewise.
|
||
* libgnat/a-tiinau.ads, libgnat/a-tiinau.adb: Change to generic
|
||
package.
|
||
* libgnat/a-tiinio.adb: Instantiate it.
|
||
* libgnat/a-tiinio__128.adb: Likewise.
|
||
* libgnat/a-timoau.ads, libgnat/a-timoau.adb: Change to generic
|
||
package.
|
||
* libgnat/a-timoio.adb: Instantiate it.
|
||
* libgnat/a-timoio__128.adb: Likewise.
|
||
* libgnat/a-wtgeau.ads (Load_Integer): New procedure.
|
||
* libgnat/a-wtgeau.adb (Load_Integer): Likewise.
|
||
* libgnat/a-wtinau.ads, libgnat/a-wtinau.adb: Change to generic
|
||
package.
|
||
* libgnat/a-wtinio.adb: Instantiate it.
|
||
* libgnat/a-wtinio__128.adb: Likewise.
|
||
* libgnat/a-wtmoau.ads, libgnat/a-wtmoau.adb: Change to generic
|
||
package.
|
||
* libgnat/a-wtmoio.adb: Instantiate it.
|
||
* libgnat/a-wtmoio__128.adb: Likewise.
|
||
* libgnat/a-ztgeau.ads (Load_Integer): New procedure.
|
||
* libgnat/a-ztgeau.adb (Load_Integer): Likewise.
|
||
* libgnat/a-ztinau.ads, libgnat/a-ztinau.adb: Change to generic
|
||
package.
|
||
* libgnat/a-ztinio.adb: Instantiate it.
|
||
* libgnat/a-ztinio__128.adb: Likewise.
|
||
* libgnat/a-ztmoau.ads, libgnat/a-ztmoau.adb: Change to generic
|
||
package.
|
||
* libgnat/a-ztmoio.adb: Instantiate it.
|
||
* libgnat/a-ztmoio__128.adb: Likewise.
|
||
|
||
2020-10-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch12.adb (Freeze_Subprogram_Body): Do not move the freeze
|
||
node of the package body enclosing the instance when its parent
|
||
is in the same declarative part as the freeze node of the parent.
|
||
|
||
2020-10-21 Steve Baird <baird@adacore.com>
|
||
|
||
* exp_ch6.adb (Insert_Post_Call_Actions): When a function's
|
||
result type requires finalization and we decide to make copy of
|
||
a call to the function and subsequently refer only to the copy,
|
||
then don't forget to finalize the original function result
|
||
object.
|
||
|
||
2020-10-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-widint,
|
||
s-widthi, s-widuns, s-widuns.
|
||
(GNATRTL_128BIT_OBJS): Add s-imglllb, s-imgllli, s-imglllu, s-imglllw,
|
||
s-valllli, s-vallllu, s-widllli, s-widlllu.
|
||
* exp_imgv.adb (Expand_Image_Attribute): Deal with 128-bit types.
|
||
(Expand_Value_Attribute): Likewise.
|
||
(Expand_Width_Attribute): Likewise.
|
||
* exp_put_image.adb (Build_Elementary_Put_Image_Call): Likewise.
|
||
* krunch.adb (Krunch): Deal with s-img, s-val and s-wid prefixes.
|
||
* rtsfind.ads (RTU_Id): Add System_Img_LLLI, System_Img_LLLU,
|
||
System_Val_LLLI, System_Val_LLL, System_Wid_Int, System_Wid_LLLI,
|
||
System_Wid_LLLU, System_Wid_Uns).
|
||
(RE_Id): Add RE_Image_Long_Long_Long_Integer,
|
||
RE_Image_Long_Long_Long_Unsigned,
|
||
RE_Put_Image_Long_Long_Long_Integer,
|
||
RE_Put_Image_Long_Long_Long_Unsigned,
|
||
RE_Long_Long_Long_Unsigned, RE_Value_Long_Long_Long_Integer,
|
||
RE_Value_Long_Long_Long_Unsigned, RE_Width_Integer,
|
||
RE_Width_Long_Long_Long_Integer, RE_Width_Long_Long_Long_Unsigned,
|
||
RE_Width_Unsigned, RE_Image_Long_Long_Long_Integer,
|
||
RE_Image_Long_Long_Long_Unsigned, RE_Put_Image_Long_Long_Long_Integer,
|
||
RE_Put_Image_Long_Long_Long_Unsigned, RE_Long_Long_Long_Unsigned,
|
||
RE_Value_Long_Long_Long_Integer, RE_Value_Long_Long_Long_Unsigned,
|
||
RE_Width_Integer, RE_Width_Long_Long_Long_Integer,
|
||
RE_Width_Long_Long_Long_Unsigned, RE_Width_Unsigned.
|
||
* libgnat/s-imageb.ads, libgnat/s-imageb.adb: New generic
|
||
package.
|
||
* libgnat/s-imagei.ads, libgnat/s-imagei.adb: Likewise.
|
||
* libgnat/s-imageu.ads, libgnat/s-imageu.adb: Likewise.
|
||
* libgnat/s-imagew.ads, libgnat/s-imagew.adb: Likewise.
|
||
* libgnat/s-imgbiu.ads: Instantiate System.Image_B.
|
||
* libgnat/s-imgbiu.adb: Add pragma No_Body.
|
||
* libgnat/s-imgint.ads: Instantiate System.Image_I.
|
||
* libgnat/s-imgint.adb: Add pragma No_Body.
|
||
* libgnat/s-imgllb.ads: Instantiate System.Image_B.
|
||
* libgnat/s-imgllb.adb: Add pragma No_Body0
|
||
* libgnat/s-imglli.ads: Instantiate System.Image_I.
|
||
* libgnat/s-imglli.adb: Add pragma No_Body.
|
||
* libgnat/s-imglllb.ads: Instantiate System.Image_B.
|
||
* libgnat/s-imgllli.ads: Instantiate System.Image_I.
|
||
* libgnat/s-imglllu.ads: Instantiate System.Image_U.
|
||
* libgnat/s-imglllw.ads: Instantiate System.Image_W.
|
||
* libgnat/s-imgllu.ads: Instantiate System.Image_U.
|
||
* libgnat/s-imgllu.adb: Add pragma No_Body.
|
||
* libgnat/s-imgllw.ads: Instantiate System.Image_W.
|
||
* libgnat/s-imgllw.adb: Add pragma No_Body.
|
||
* libgnat/s-imgrea.adb: Remove clauses for System.Unsigned_Types.
|
||
* libgnat/s-imguns.ads: Instantiate System.Image_U.
|
||
* libgnat/s-imguns.adb: Add pragma No_Body.
|
||
* libgnat/s-imgwiu.ads: Instantiate System.Image_W.
|
||
* libgnat/s-imgwiu.adb: Add pragma No_Body.
|
||
* libgnat/s-putima.ads (Long_Long_Long_Unsigned): New subtype.
|
||
(Put_Image_Long_Long_Long_Unsigned): New procedure.
|
||
* libgnat/s-putima.adb (Small): Rename to Integer_Images.
|
||
(Large): Rename to LL_Integer_Images.
|
||
(LLL_Integer_Images): New instantiation.
|
||
(Put_Image_Long_Long_Long_Integer): New renaming.
|
||
(Put_Image_Long_Long_Long_Unsigned): Likewise.
|
||
* libgnat/s-valint.ads: Instantiate System.Value_I.
|
||
* libgnat/s-valint.adb: Add pragma No_Body.
|
||
* libgnat/s-vallli.ads: Instantiate System.Value_I.
|
||
* libgnat/s-vallli.adb: Add pragma No_Body.
|
||
* libgnat/s-valllli.ads: Instantiate System.Value_I.
|
||
* libgnat/s-vallllu.ads: Instantiate System.Value_U.
|
||
* libgnat/s-valllu.ads: Instantiate System.Value_U.
|
||
* libgnat/s-valllu.adb: Add pragma No_Body.
|
||
* libgnat/s-valuei.ads, libgnat/s-valuei.adb: New generic
|
||
package.
|
||
* libgnat/s-valueu.ads, libgnat/s-valueu.adb: Likewise.
|
||
* libgnat/s-valuns.ads: Instantiate System.Value_U.
|
||
* libgnat/s-valuns.adb: Add pragma No_Body.
|
||
* libgnat/s-widint.ads: Instantiate System.Width_I.
|
||
* libgnat/s-widlli.ads: Likewise.
|
||
* libgnat/s-widlli.adb: Add pragma No_Body.
|
||
* libgnat/s-widllli.ads: Instantiate System.Width_I.
|
||
* libgnat/s-widlllu.ads: Instantiate System.Width_U.
|
||
* libgnat/s-widllu.ads: Likewise.
|
||
* libgnat/s-widllu.adb: Add pragma No_Body.
|
||
* libgnat/s-widthi.ads, libgnat/s-widthi.adb: New generic
|
||
package.
|
||
* libgnat/s-widthu.ads, libgnat/s-widthu.adb: Likewise.
|
||
* libgnat/s-widuns.ads: Instantiate System.Width_U.
|
||
|
||
2020-10-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* set_targ.adb (DTN): Fix oversight.
|
||
(Read_Target_Dependent_Values): Do not error out on missing
|
||
Long_Long_Long_Size entry and reuse Long_Long_Size for it.
|
||
|
||
2020-10-21 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_aggr.adb (Gen_Loop): Analyze copy of the expression in the
|
||
scope of the implicit loop with name of the index parameter
|
||
visible.
|
||
|
||
2020-10-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* Makefile.rtl (GNATRTL_128BIT_PAIRS): New variable.
|
||
(GNATRTL_128BIT_OBJS): Likewise.
|
||
(Windows): In 64-bit mode, add the former to LIBGNAT_TARGET_PAIRS and
|
||
the latter to EXTRA_GNATRTL_NONTASKING_OBJS.
|
||
(x86_64/linux): Likewise, but unconditionally.
|
||
(GNATRTL_NONTASKING_OBJS): Add s-aridou, s-exponn, s-expont,
|
||
s-exponu.
|
||
* ada_get_targ.adb (Get_Long_Long_Long_Size): New function.
|
||
* checks.adb (Apply_Arithmetic_Overflow_Strict): Use Integer_Type_For
|
||
to find an appropriate integer type; if it does not exist and the max
|
||
integer size is larger than 64, use the 128-bit arithmetic routines.
|
||
* cstand.adb (Create_Standard): Build Standard_Long_Long_Long_Integer
|
||
and its base type. Use it for Etype of Any_Integer, Any_Modular and
|
||
Any_Numeric. Use its size for Build Standard_Long_Long_Long_Unsigned
|
||
and Universal_Integer.
|
||
(Print_Standard): Print Long_Long_Long_Integer.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Mod>: Adjust
|
||
comment.
|
||
* exp_ch3.adb (Simple_Init_Initialize_Scalars_Type): Deal with 128-bit
|
||
types.
|
||
* exp_ch4.adb (Expand_Array_Comparison): Likewise.
|
||
(Expand_N_Op_Expon): Likewise.
|
||
(Narrow_Large_Operation): Likewise.
|
||
* exp_dbug.adb (Bounds_Match_Size): Handle 128-bit size.
|
||
* exp_fixd.adb (Build_Double_Divide_Code): Use RE_Double_Divide64.
|
||
* exp_intr.adb (Expand_Binary_Operator_Call): Handle 128-bit size.
|
||
* exp_pakd.ads (E_Array): Extend range to 127.
|
||
(Bits_Id): Fill in up to 127.
|
||
(Get_Id): Likewise.
|
||
(GetU_Id): Likewise.
|
||
(Set_Id): Likewise.
|
||
(SetU_Id): Likewise.
|
||
* exp_pakd.adb (Revert_Storage_Order): Handle 128-bit size.
|
||
* exp_util.adb (Integer_Type_For): Likewise.
|
||
(Small_Integer_Type_For): Likewise.
|
||
* fname.adb (Is_Predefined_File_Name): Do not return False for names
|
||
larger than 12 characters if they start with "s-".
|
||
* freeze.adb (Adjust_Esize_For_Alignment): Change the maximum value
|
||
to System_Max_Integer_Size.
|
||
(Check_Suspicious_Modulus): Adjust comment.
|
||
(Freeze_Entity): Likewise.
|
||
* get_targ.ads (Get_Long_Long_Long_Size): New function.
|
||
* get_targ.adb (Get_Long_Long_Long_Size): Likewise.
|
||
(Width_From_Size): Deal with 128-bit size.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Deal with 128-bit types.
|
||
* impunit.adb (Get_Kind_Of_File): Bump buffer size. Accept files with
|
||
13 characters if they start with 's'. Compare slice of Buffer.
|
||
(Not_Impl_Defined_Unit): Accept files with 13 characters if they start
|
||
with 's'.
|
||
* krunch.ads: Document length for 128-bit support units.
|
||
* krunch.adb (Krunch): Set length to 9 for 128-bit support units.
|
||
* layout.adb (Layout_Type): Use System_Max_Integer_Size as alignment
|
||
limit.
|
||
* rtsfind.ads (RTU_Id): Add System_Arith_128,
|
||
System_Compare_Array_Signed_128, System_Compare_Array_Unsigned_128,
|
||
System_Exn_LLLI, System_Exp_LLLU, System_Pack_[65..127].
|
||
(RE_Id): Add RE_Integer_128, RE_Unsigned_128, RE_Add_With_Ovflo_Check128
|
||
RE_Multiply_With_Ovflo_Check128, RE_Subtract_With_Ovflo_Check128,
|
||
RE_Bswap_128, RE_Compare_Array_S128, RE_Compare_Array_U128,
|
||
RE_Exn_Long_Long_Long_Integer, RE_Exp_Long_Long_Long_Integer,
|
||
RE_Exp_Long_Long_Long_Unsigned, RE_Bits_[65-127], RE_Get_[65-127],
|
||
RE_Set_[65-127], RE_IS_Is16, RE_IS_Iu16, RE_Integer_128 and
|
||
RE_Unsigned_128. Rename RE_Add_With_Ovflo_Check, RE_Double_Divide,
|
||
RE_Multiply_With_Ovflo_Check, RE_Scaled_Divide and
|
||
RE_Subtract_With_Ovflo_Check. Remove RE_IS_Iz1, RE_IS_Iz2, RE_IS_Iz4,
|
||
RE_IS_Iz8, RE_Long_Unsigned, RE_Short_Unsigned, RE_Short_Short_Unsigned
|
||
(RE_Unit_Table): Likewise.
|
||
* sem_aux.adb (Corresponding_Unsigned_Type): Deal with a size equal to
|
||
that of Standard_Long_Long_Long_Integer.
|
||
(First_Subtype): Deal with Standard_Long_Long_Long_Integer'Base.
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Attribute_Size>:
|
||
Check the size against powers of 2 and System_Max_Integer_Size for
|
||
objects as well.
|
||
(Set_Enum_Esize): Deal with 128-bit bounds.
|
||
* sem_ch3.adb (Set_Modular_Size): Handle 128-bit size.
|
||
(Modular_Type_Declaration): Deal with 128-bit types.
|
||
(Signed_Integer_Type_Declaration): Support derivation from
|
||
Standard_Long_Long_Long_Integer.
|
||
* sem_ch4.adb (Analyze_Mod): Handle 128-bit modulus.
|
||
* sem_intr.adb: Add with and use clauses for Ttypes.
|
||
(Check_Shift): Handle 128-bit size and modulus.
|
||
* sem_prag.adb (Analyze_Pragma) <Pragma_Initialize_Scalars>: Deal
|
||
with Signed_128 and Unsigned_128.
|
||
(Analyze_Integer_Value): Handle 128-bit size.
|
||
* sem_util.ads (Addressable): Adjust description.
|
||
* sem_util.adb (Addressable): Return true for 128 if the system
|
||
supports 128 bits.
|
||
(Set_Invalid_Binder_Values): Deal with Signed_128 and Unsigned_128.
|
||
* set_targ.ads (Long_Long_Long_Size): New variable.
|
||
* set_targ.adb (S_Long_Long_Long_Size): New constant.
|
||
(DTN): Add entry for S_Long_Long_Long_Size.
|
||
(DTV): Add entry for Long_Long_Long_Size.
|
||
(Set_Targ): Set Long_Long_Long_Size.
|
||
* snames.ads-tmpl (Name_Max_Integer_Size): New attribute name.
|
||
(Name_Signed_128): New scalar name.
|
||
(Name_Unsigned_128): Likewise.
|
||
(Scalar_Id): Adjust.
|
||
(Integer_Scalar_Id): Likewise.
|
||
(Attribute_Id): Add Attribute_Max_Integer_Size.
|
||
* stand.ads (Standard_Entity_Type): Add S_Long_Long_Long_Integer.
|
||
(Standard_Long_Long_Long_Integer): New renaming.
|
||
(Universal_Integer): Adjust description.
|
||
(Standard_Long_Long_Long_Unsigned): New variable.
|
||
* switch-c.adb (Scan_Front_End_Switches): Deal with -gnate128.
|
||
* ttypes.ads (Standard_Long_Long_Long_Integer_Size): New variable.
|
||
(Standard_Long_Long_Long_Integer_Width): Likewise.
|
||
(System_Max_Integer_Size): Turn into variable.
|
||
(System_Max_Binary_Modulus_Power): Likewise.
|
||
* uintp.ads (Uint_127): New constant.
|
||
* uintp.adb (UI_Power_2): Extednd to 128.
|
||
(UI_Power_10): Likewise.
|
||
(UI_Expon): Deal with exponent up to 128 specially.
|
||
* usage.adb (Write_Switch_Char): Print -gnate128 switch.
|
||
* libgnat/a-tifiio.adb (Put_Scaled): Call Scaled_Divide64.
|
||
* libgnat/interfac__2020.ads (Integer_128): New integer type.
|
||
(Unsigned_128): New modular type.
|
||
(Shift_Left, Shift_Right, Shift_Right_Arithmetic, Rotate_Left,
|
||
Rotate_Right): New intrinsic functions operating on it.
|
||
* libgnat/s-aridou.ads, libgnat/s-aridou.adb: New generic
|
||
package.
|
||
* libgnat/s-arit64.ads, libgnat/s-arit64.adb: Instantiate
|
||
System.Arithmetic_Double.
|
||
* libgnat/s-arit128.ads, libgnat/s-arit128.adb: Likewise.
|
||
* libgnat/s-bytswa.ads: Add with clause for Interfaces, use subtypes
|
||
of unsigned types defined in Interfaces and add Bswap_128.
|
||
* libgnat/s-casi128.ads, libgnat/s-casi128.adb: New package.
|
||
* libgnat/s-caun128.ads, libgnat/s-caun128.adb: Likewise.
|
||
* libgnat/s-exnint.ads: Instantiate System.Exponn.
|
||
* libgnat/s-exnint.adb: Add pragma No_Body.
|
||
* libgnat/s-exnlli.ads: Instantiate System.Exponn.
|
||
* libgnat/s-exnlli.adb: Add pragma No_Body.
|
||
* libgnat/s-exnllli.ads: Instantiate System.Exponn.
|
||
* libgnat/s-expint.ads: Likewise.
|
||
* libgnat/s-expint.adb: Add pragma No_Body.
|
||
* libgnat/s-explli.ads: Instantiate System.Exponn.
|
||
* libgnat/s-explli.adb: Add pragma No_Body.
|
||
* libgnat/s-expllli.ads: Instantiate System.Exponn.
|
||
* libgnat/s-explllu.ads: Instantiate System.Exponu.
|
||
* libgnat/s-expllu.ads: Likewise.
|
||
* libgnat/s-expllu.adb: Add pragma No_Body.
|
||
* libgnat/s-exponn.ads, libgnat/s-exponn.adb: New generic
|
||
function.
|
||
* libgnat/s-expont.ads, libgnat/s-expont.adb: Likewise.
|
||
* libgnat/s-exponu.ads, libgnat/s-exponu.adb: Likewise.
|
||
* libgnat/s-expuns.ads, libgnat/s-expuns.adb: Likewise.
|
||
* libgnat/s-pack65.ads, libgnat/s-pack65.adb: New package.
|
||
* libgnat/s-pack66.ads, libgnat/s-pack66.adb: New package.
|
||
* libgnat/s-pack67.ads, libgnat/s-pack67.adb: New package.
|
||
* libgnat/s-pack68.ads, libgnat/s-pack68.adb: New package.
|
||
* libgnat/s-pack69.ads, libgnat/s-pack69.adb: New package.
|
||
* libgnat/s-pack70.ads, libgnat/s-pack70.adb: New package.
|
||
* libgnat/s-pack71.ads, libgnat/s-pack71.adb: New package.
|
||
* libgnat/s-pack72.ads, libgnat/s-pack72.adb: New package.
|
||
* libgnat/s-pack73.ads, libgnat/s-pack73.adb: New package.
|
||
* libgnat/s-pack74.ads, libgnat/s-pack74.adb: New package.
|
||
* libgnat/s-pack75.ads, libgnat/s-pack75.adb: New package.
|
||
* libgnat/s-pack76.ads, libgnat/s-pack76.adb: New package.
|
||
* libgnat/s-pack77.ads, libgnat/s-pack77.adb: New package.
|
||
* libgnat/s-pack78.ads, libgnat/s-pack78.adb: New package.
|
||
* libgnat/s-pack79.ads, libgnat/s-pack79.adb: New package.
|
||
* libgnat/s-pack80.ads, libgnat/s-pack80.adb: New package.
|
||
* libgnat/s-pack81.ads, libgnat/s-pack81.adb: New package.
|
||
* libgnat/s-pack82.ads, libgnat/s-pack82.adb: New package.
|
||
* libgnat/s-pack83.ads, libgnat/s-pack83.adb: New package.
|
||
* libgnat/s-pack84.ads, libgnat/s-pack84.adb: New package.
|
||
* libgnat/s-pack85.ads, libgnat/s-pack85.adb: New package.
|
||
* libgnat/s-pack86.ads, libgnat/s-pack86.adb: New package.
|
||
* libgnat/s-pack87.ads, libgnat/s-pack87.adb: New package.
|
||
* libgnat/s-pack88.ads, libgnat/s-pack88.adb: New package.
|
||
* libgnat/s-pack89.ads, libgnat/s-pack89.adb: New package.
|
||
* libgnat/s-pack90.ads, libgnat/s-pack90.adb: New package.
|
||
* libgnat/s-pack91.ads, libgnat/s-pack91.adb: New package.
|
||
* libgnat/s-pack92.ads, libgnat/s-pack92.adb: New package.
|
||
* libgnat/s-pack93.ads, libgnat/s-pack93.adb: New package.
|
||
* libgnat/s-pack94.ads, libgnat/s-pack94.adb: New package.
|
||
* libgnat/s-pack95.ads, libgnat/s-pack95.adb: New package.
|
||
* libgnat/s-pack96.ads, libgnat/s-pack96.adb: New package.
|
||
* libgnat/s-pack97.ads, libgnat/s-pack97.adb: New package.
|
||
* libgnat/s-pack98.ads, libgnat/s-pack98.adb: New package.
|
||
* libgnat/s-pack99.ads, libgnat/s-pack99.adb: New package.
|
||
* libgnat/s-pack100.ads, libgnat/s-pack100.adb: New package.
|
||
* libgnat/s-pack101.ads, libgnat/s-pack101.adb: New package.
|
||
* libgnat/s-pack102.ads, libgnat/s-pack102.adb: New package.
|
||
* libgnat/s-pack103.ads, libgnat/s-pack103.adb: New package.
|
||
* libgnat/s-pack104.ads, libgnat/s-pack104.adb: New package.
|
||
* libgnat/s-pack105.ads, libgnat/s-pack105.adb: New package.
|
||
* libgnat/s-pack106.ads, libgnat/s-pack106.adb: New package.
|
||
* libgnat/s-pack107.ads, libgnat/s-pack107.adb: New package.
|
||
* libgnat/s-pack108.ads, libgnat/s-pack108.adb: New package.
|
||
* libgnat/s-pack109.ads, libgnat/s-pack109.adb: New package.
|
||
* libgnat/s-pack110.ads, libgnat/s-pack110.adb: New package.
|
||
* libgnat/s-pack111.ads, libgnat/s-pack111.adb: New package.
|
||
* libgnat/s-pack112.ads, libgnat/s-pack112.adb: New package.
|
||
* libgnat/s-pack113.ads, libgnat/s-pack113.adb: New package.
|
||
* libgnat/s-pack114.ads, libgnat/s-pack114.adb: New package.
|
||
* libgnat/s-pack115.ads, libgnat/s-pack115.adb: New package.
|
||
* libgnat/s-pack116.ads, libgnat/s-pack116.adb: New package.
|
||
* libgnat/s-pack117.ads, libgnat/s-pack117.adb: New package.
|
||
* libgnat/s-pack118.ads, libgnat/s-pack118.adb: New package.
|
||
* libgnat/s-pack119.ads, libgnat/s-pack119.adb: New package.
|
||
* libgnat/s-pack120.ads, libgnat/s-pack120.adb: New package.
|
||
* libgnat/s-pack121.ads, libgnat/s-pack121.adb: New package.
|
||
* libgnat/s-pack122.ads, libgnat/s-pack122.adb: New package.
|
||
* libgnat/s-pack123.ads, libgnat/s-pack123.adb: New package.
|
||
* libgnat/s-pack124.ads, libgnat/s-pack124.adb: New package.
|
||
* libgnat/s-pack125.ads, libgnat/s-pack125.adb: New package.
|
||
* libgnat/s-pack126.ads, libgnat/s-pack126.adb: New package.
|
||
* libgnat/s-pack127.ads, libgnat/s-pack127.adb: New package.
|
||
* libgnat/s-rannum.ads (Random): New function returning 128-bit.
|
||
* libgnat/s-rannum.adb (Random): Implement it.
|
||
* libgnat/s-scaval.ads: Add with clause for Interfaces, use subtypes
|
||
of unsigned types defined in Interfaces.
|
||
* libgnat/s-scaval.adb: Add use clause for Interfaces.
|
||
* libgnat/s-scaval__128.ads, libgnat/s-scaval__128.adb: New
|
||
package.
|
||
* libgnat/s-unstyp.ads (Long_Long_Long_Unsigned): New modular type.
|
||
(Shift_Left, Shift_Right, Shift_Right_Arithmetic, Rotate_Left,
|
||
Rotate_Right): New intrinsic functions operating on it.
|
||
|
||
2020-10-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_characteristics.rst: Add
|
||
Long_Long_Long_Integer to the list of predefined integer types.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-10-21 Yannick Moy <moy@adacore.com>
|
||
|
||
* ada_get_targ.adb (Width_From_Size): Add case for 128 bits.
|
||
Reorder declarations in the same order as get_targ.adb to
|
||
facilitate diffs.
|
||
|
||
2020-10-21 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_aggr.adb (Expand_N_Aggregate): Refactor repeated calls to
|
||
Etype (N).
|
||
(Build_Array_Aggr_Code): Fix whitespace.
|
||
|
||
2020-10-21 Dmitriy Anisimkov <anisimko@adacore.com>
|
||
|
||
* adaint.c (__gnat_file_time): Use regular arithmetic instead of
|
||
__builtin_*_overflow routines if GCC version 4 or less and
|
||
compiler is g++.
|
||
|
||
2020-10-21 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Array_Aggregate): Use Choice_List, which
|
||
internally calls either Choice or Discrete_Choices, depending on
|
||
the context.
|
||
|
||
2020-10-21 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Iterated_Component_Association): Use
|
||
existing defining identifier for index parameter.
|
||
|
||
2020-10-21 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Task_Activation_Call): Do not generate a
|
||
call to activate tasks if we are within the scope of a protected
|
||
type and pragma Detect_Blocking is active.
|
||
|
||
2020-10-21 Liaiss Merzougue <merzougue@adacore.com>
|
||
|
||
* libgnat/s-carsi8.adb (Compare_Array_S8): Add pragma Assert to
|
||
avoid warning concerning Left_Len and RighLen value regarding
|
||
Bytes_Compared_As_Words.
|
||
* libgnat/s-carun8.adb (Compare_Array_U8): Likewise.
|
||
* libgnat/s-geveop.adb (Binary_Operation, Unary_Operation): Add
|
||
pragma Assert concerning divide by 0 warning.
|
||
* libgnat/s-imgcha.adb (Image_Character): Code update to prevent
|
||
constant operation warning.
|
||
(Image_Character): Add pragma Assert concerning the unchecked
|
||
String size.
|
||
* libgnat/s-imgdec.adb
|
||
(Round): Upate loop code to prevent warning concerning
|
||
Digs'First access.
|
||
(Round): Add pragma assert.
|
||
(Set): Add pragma Assert for the unchecked string size.
|
||
(Set_Digits): Add pragma Assert for the input range.
|
||
(Set_Decimal_Digits): Add pragma Assert.
|
||
(Set_Blank_And_Sign): Add pragma Assert for the input range.
|
||
* libgnat/s-arit64.adb (DoubleDivide): Add pragma Assert
|
||
concerning Du /= 0.
|
||
(Multiply_With_Ovflo_Check): Add pragma Annotate to avoid
|
||
warning concerning unsigned -> signed conversion.
|
||
* libgnat/s-imguns.adb (Set_Image_Unsigned): Add pragma Assert
|
||
to prevent overflow check warning. Add pragma Assert for
|
||
controlling S'First = 1.
|
||
* libgnat/s-imgrea.adb (Image_Floating_Point, Set, Set_Digs,
|
||
Set_Special_Fill, Convert_Integer): Add pragma Annotate to
|
||
prevent overflow check warning.
|
||
(Set_Image_Real): Add pragma Annotate to avoid dead code warning
|
||
on float check. Add pragma Assert to prevent overflow check
|
||
warning.
|
||
* libgnat/s-imgwiu.adb (Set_Digits, Set_Image_Width_Unsigned):
|
||
Add pragma assert to prevent overflow check warning.
|
||
* libgnat/s-imgllu.adb (Set_Image_Long_Long_Unsigned): Add
|
||
pragma assert to prevent overflow check warning.
|
||
* libgnat/s-imgint.adb (Set_Digits): Add Assert for input
|
||
constraint and to prevent overflow check warning, create
|
||
Non_Positive subtype, and change the T parameter as Non_Positive
|
||
instead Integer.
|
||
(Set_Image_Integer): Add pragma assert to prevent overflow check
|
||
warning.
|
||
* libgnat/s-imglli.adb (Set_Digits): Add Assert for input
|
||
constraint and to prevent overflow check warning, create
|
||
Non_Positive subtype, and change the T parameter as Non_Positive
|
||
instead Integer.
|
||
(Set_Image_Long_Long_Integer): Add pragma assert to prevent
|
||
overflow check warning.
|
||
* libgnat/s-fatgen.adb (Decompose, Pred, Succ): Add pragma
|
||
Annotate to prevent dead code due to invalid float check.
|
||
* libgnat/s-imenne.adb (Image_Enumeration_8,
|
||
Image_Enumeration_16, Image_Enumeration_32): Add pragma Assert
|
||
to prevent overflow check warning. Add Names_Index subtype for
|
||
restricting Index_table content.
|
||
|
||
2020-10-21 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch6.adb (Insert_Post_Call_Actions): Test for
|
||
N_Explicit_Dereference as part of the existing test for function
|
||
calls.
|
||
|
||
2020-10-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* freeze.adb (Check_Strict_Alignment): Do not set the flag for
|
||
a bit-packed array type, even if it is a by-reference type.
|
||
|
||
2020-10-21 Dmitriy Anisimkov <anisimko@adacore.com>
|
||
|
||
* adaint.c (__gnat_file_time): New routine.
|
||
(__gnat_copy_attribs): Copy timestamps in nanoseconds.
|
||
* libgnat/a-direct.adb (C_Modification_Time): Bind to
|
||
__gnat_file_time.
|
||
(Modification_Time): Call to C_Modification_Time.
|
||
|
||
2020-10-21 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Iterated_Component_Association):
|
||
Expression's copy and now has the same parent as the original
|
||
expression.
|
||
(Resolve_Array_Aggregate): Add ??? comment about a still
|
||
existing minor issue that led to discovery of the above crash.
|
||
|
||
2020-10-21 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch12.adb (Install_Parents_Of_Generic_Context): Simplify
|
||
functionality; collect and install parents of generic child
|
||
package.
|
||
(Remove_Parents_Of_Generic_Context): Code cleanup.
|
||
(Instantiate_Package_Body): Hide parents of generic context from
|
||
visibility before installing the parent instance; restore their
|
||
visibility when the instance is analyzed
|
||
|
||
2020-10-21 Doug Rupp <rupp@adacore.com>
|
||
|
||
* libgnarl/s-osinte__lynxos178e.ads: Remove -mthreads switch.
|
||
|
||
2020-10-21 Patrick Bernardi <bernardi@adacore.com>
|
||
|
||
* env.c (__gnat_setenv): call setenv for VxWorks 7 kernel mode.
|
||
(__gnat_environ): envGet takes an int instead of a NULL pointer.
|
||
(__gnat_unsetenv): call unsetenv for VxWorks 7 kernel mode.
|
||
(__gnat_clearenv): use __gnat_unsetenv to clear environment
|
||
variables.
|
||
|
||
2020-10-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch12.adb (Freeze_Subprogram_Body): Call
|
||
Package_Freeze_Node to retrieve the freeze node for the
|
||
enclosing body of the generic.
|
||
|
||
2020-10-21 Justin Squirek <squirek@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call_Helper): Modify calls to
|
||
Add_Extra_Actual to use Extra_Accessibility instead of
|
||
Get_Accessibility for the EF parameter.
|
||
|
||
2020-10-21 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Actuals): Whitespace cleanup.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Make minimum
|
||
accessibility a constant object.
|
||
|
||
2020-10-21 Patrick Bernardi <bernardi@adacore.com>
|
||
|
||
* env.c (__gnat_environ): For VxWorks kernel simply return the
|
||
result of the envGet call. Do this for VxWorks 6 and 7 as they
|
||
both support the same API.
|
||
|
||
2020-10-21 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Finalizer): Disable warnings on referenced
|
||
entity.
|
||
|
||
2020-10-21 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* einfo.ads, sem_ch3.adb, sem_util.adb: Fix comments.
|
||
|
||
2020-10-21 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Type): Propagate convention of
|
||
class-wide parent.
|
||
|
||
2020-10-21 Claire Dross <dross@adacore.com>
|
||
|
||
* libgnat/a-cofove.adb (Copy): Add explanation in case of
|
||
Capacity_Error.
|
||
(Insert_Space): Raise Capacity_Error if the new length is
|
||
greater than the capacity.
|
||
(Reserve_Capacity): Raise Capacity_Error instead of
|
||
Constraint_Error.
|
||
|
||
2020-10-20 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Constrain_Decimal, Constrain_Enumeration,
|
||
Constrain_Float, Constrain_Integer, Constrain_Ordinary_Fixed):
|
||
Refine parameter type from Node_Id to Entity_Id.
|
||
|
||
2020-10-20 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sprint.adb (po): Set Dump_Freeze_Null to False; align colons.
|
||
(ps): Likewise.
|
||
|
||
2020-10-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sinfo.ads, sinfo.adb: The flag Box_Present can appear in
|
||
Iterated_Element_Association nodes.
|
||
* sem_aggr.adb (Resolve_Aggregate): Call
|
||
Resolve_Container_Aggregate when type of context has
|
||
corresponding aspect.
|
||
* sem_type.adb (Covers): In Ada_2020 an aggregate is compatible
|
||
with a type that carries the corresponding aspect.
|
||
* exp_ch3.adb (Make_Controlling_Function_Wrappers): Do not
|
||
create declarations and bodies for inherited primitive functions
|
||
of null extensions that dispatch on result, when current scope
|
||
includes an immediately visible non-overloadable homonym of the
|
||
function.
|
||
* libgnat/a-cborse.adb, libgnat/a-cborse.ads,
|
||
libgnat/a-cbhase.ads, libgnat/a-cbhase.adb,
|
||
libgnat/a-cborma.adb, libgnat/a-cborma.ads,
|
||
libgnat/a-cbhama.adb, libgnat/a-cbhama.ads,
|
||
libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads,
|
||
libgnat/a-convec.ads, libgnat/a-ciorse.ads,
|
||
libgnat/a-cihase.ads, libgnat/a-cihase.adb,
|
||
libgnat/a-ciorma.ads, libgnat/a-cihama.ads,
|
||
libgnat/a-cihama.adb, libgnat/a-cidlli.ads,
|
||
libgnat/a-cidlli.adb, libgnat/a-coinve.adb,
|
||
libgnat/a-cobove.adb, libgnat/a-cobove.ads,
|
||
libgnat/a-convec.adb, libgnat/a-coinve.ads,
|
||
libgnat/a-coorse.ads, libgnat/a-cohase.adb,
|
||
libgnat/a-cohase.ads, libgnat/a-coorma.ads,
|
||
libgnat/a-cohama.adb, libgnat/a-cohama.ads,
|
||
libgnat/a-cdlili.ads: Add primitive function Empty for use in
|
||
aspect Aggregate, and add corresponding body or expression
|
||
function.
|
||
|
||
2020-10-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* aspects.adb (Has_Aspect_Specifications_Flag): Add
|
||
N_Parameter_Specification.
|
||
* par-ch13.adb (Aspect_Specifications_Present): Also handle case
|
||
of an unknown aspect on the last formal parameter (terminated by
|
||
a Tok_Right_Paren). Minor reformatting.
|
||
* par-ch6.adb (P_Formal_Part): Scan aspects on formal
|
||
parameters.
|
||
* par.adb: Fix typos.
|
||
* sem_ch6.adb (Process_Formals): Add processing of aspects and
|
||
in particular Unreferenced aspect for now.
|
||
* sinfo.ads: Allow ASPECT_SPECIFICATIONS on a
|
||
PARAMETER_SPECIFICATION.
|
||
* doc/gnat_rm/implementation_defined_aspects.rst
|
||
(Aspect Unreferenced): Update documentation.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-10-20 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Get_Accessibility): Refine result
|
||
type from Node_Id to Entity_Id.
|
||
|
||
2020-10-20 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* einfo.adb, exp_attr.adb, sem_ch13.adb, sem_util.adb: Use
|
||
Is_Formal where possible.
|
||
|
||
2020-10-20 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_util.ads: Declare a new package, Old_Attr_Util, which in
|
||
turn declares two more packages, Conditional_Evaluation and
|
||
Indirect_Temps. Conditional_Evaluation provides a predicate for
|
||
deciding whether a given 'Old attribute reference is eligible
|
||
for conditional evaluation and, in the case where it is
|
||
eligible, a function that constructs the Boolean-valued
|
||
condition that is to be evaluated at run time in deciding
|
||
whether to evaluate the attribute prefix. Indirect_Temps
|
||
provides support for declaring a temporary which is only
|
||
initialized conditionally; more specifically, an access type and
|
||
a variable of that type are declared (unconditionally) and then
|
||
the variable is (conditionally) initialized with an allocator.
|
||
The existence of the access type and the pointer variable is
|
||
hidden from clients, except that a predicate,
|
||
Is_Access_Type_For_Indirect_Temp, is provided for identifying
|
||
such access types. This is needed because we want such an access
|
||
type to be treated like a "normal" access type (specifically
|
||
with respect to finalization of allocated objects). Other parts
|
||
of the compiler treat access types differently if
|
||
Comes_From_Source is False, or if the secondary stack storage
|
||
pool is used; this predicate is used to disable this special
|
||
treatment.
|
||
* sem_attr.adb (Uneval_Old_Msg): Improve message text to reflect
|
||
Ada202x changes.
|
||
(Analyze_Attribute): A previously-illegal 'Old attribute
|
||
reference is accepted in Ada2020 if it is eligible for
|
||
conditional evaluation.
|
||
* sem_res.adb (Valid_Conversion): Do not treat a rewritten 'Old
|
||
attribute like other rewrite substitutions. This makes a
|
||
difference, for example, in the case where we are generating the
|
||
expansion of a membership test of the form "Saooaaat'Old in
|
||
Named_Access_Type"; in this case Valid_Conversion needs to
|
||
return True (otherwise the expansion will be False - see the
|
||
call site in exp_ch4.adb).
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): When expanding a
|
||
'Old attribute reference, test for the case where the reference
|
||
is eligible for conditional evaluation. In that case, use the
|
||
new "indirect temporary" mechanism provided by Sem_Util.
|
||
* exp_prag.adb
|
||
(Expand_Attributes_In_Consequence.Expand_Attributes): If
|
||
Sem_Util.Indirect_Temp_Needed indicates that there could be
|
||
correctness problems associated with the old expansion scheme
|
||
for dealing with 'Old attributes in contract cases consequences,
|
||
then we use the new "indirect temporary" mechanism provided by
|
||
Sem_Util instead. We do not want to do this unconditionally.
|
||
* sem_util.adb: Provide a body for the new Old_Attr_Util
|
||
package. Further work is needed in several areas for
|
||
correctness:
|
||
- The function Is_Repeatedly_Evaluated does not deal with
|
||
container aggregates yet.
|
||
- The function Is_Known_On_Entry does not deal with interactions
|
||
with the Global aspect.
|
||
Each area where more work is needed is indicated with a "???"
|
||
comment in the code; a more detailed description can be found
|
||
there. Some optimization opportunties are similarly indicated
|
||
with a "???" comment.
|
||
* exp_ch3.adb (Freeze_Type): In deciding whether to generate
|
||
expansion for the list controller of an access type, take the
|
||
predicate Is_Access_Type_For_Indirect_Temp into account. If the
|
||
predicate yields True, then generate the expansion.
|
||
* exp_util.adb (Build_Allocate_Deallocate_Proc): We don't
|
||
normally finalize allocated objects that are allocated on the
|
||
secondary stack. Add an exception to this rule if the predicate
|
||
Is_Access_Type_For_Indirect_Temp yields True. As a result of
|
||
this exception, we have to deal with the fact that gigi expects
|
||
a different parameter profile if we are using the secondary
|
||
stack pool; the Pool and Alignment parameters must be omitted in
|
||
this case.
|
||
|
||
2020-10-20 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch12.adb (Install_Parents_Of_Generic_Context,
|
||
Remove_Parents_Of_Generic_Context): New subprograms.
|
||
(Instantiate_Package_Body): Adding assertions to ensure that
|
||
installed parents are properly removed.
|
||
|
||
2020-10-20 Claire Dross <dross@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Emit a warning on 'Update
|
||
when Warn_On_Obsolescent_Feature is set to True.
|
||
|
||
2020-10-20 Richard Kenner <kenner@adacore.com>
|
||
|
||
* gnat_cuda.adb (Build_Register_Function_Call): Make procedure
|
||
call instead of function, rename to
|
||
Build_Register_Procedure_Call.
|
||
(Build_CUDA_Init_Proc): Make procedure call instead of function.
|
||
|
||
2020-10-20 Justin Squirek <squirek@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Branch): Properly anticipate expansion of
|
||
conditional expressions producing object declarations in
|
||
addition to assignment statements, and rename formal.
|
||
|
||
2020-10-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* errout.adb (Write_Source_Code_Line): Adopt display closer to
|
||
GCC format.
|
||
(Output_Messages): Deal specially with info messages.
|
||
* erroutc.adb (Prescan_Message): Fix bug leading to check
|
||
messages being considered as error messages in pretty output
|
||
mode.
|
||
|
||
2020-10-20 Justin Squirek <squirek@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call_Helper): Properly handle the case
|
||
where the condition of a conditional expression has been
|
||
optimized out when calculating the value of an extra
|
||
accessibility parameter.
|
||
|
||
2020-10-20 Bob Duff <duff@adacore.com>
|
||
|
||
* doc/gnat_ugn/gnat_utility_programs.rst: Change "_" to "-".
|
||
|
||
2020-10-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Aggregate): Warn on not fully
|
||
initialized box aggregate.
|
||
* sem_aggr.ads: Fix typo.
|
||
* sem_res.adb (Resolve_Actuals): Fix typo in error message
|
||
format marking it incorrectly as a continuation message.
|
||
* sem_elab.adb (Check_Internal_Call_Continue): Similarly, add
|
||
missing primary message in case of a call to an actual generic
|
||
subprogram.
|
||
* sem_warn.adb (Check_References): Do not warn on read but never
|
||
assigned variables if the type is partially initialized.
|
||
* libgnat/a-except.ads, libgnat/a-ststun.ads,
|
||
libgnat/g-sechas.ads, libgnat/a-cbdlli.ads,
|
||
libgnat/a-cfdlli.ads, libgnat/a-cobove.ads,
|
||
libgnat/a-cohata.ads, libgnat/a-crbltr.ads,
|
||
libgnat/a-cbmutr.ads, libgnat/a-crdlli.ads,
|
||
libgnat/a-cbsyqu.ads: Address new warning.
|
||
* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
|
||
Update doc on -gnatwv.
|
||
* gnat_ugn.texi: Regenerate.
|
||
|
||
2020-10-20 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): Mark static
|
||
expression functions as inlined.
|
||
|
||
2020-10-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* contracts.adb (Is_Prologue_Renaming): This function was
|
||
missing support for E_Constant which can also be generated in
|
||
protected objects.
|
||
|
||
2020-10-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Bind_Env_String): Generate Ada 2012 compatible
|
||
strings. Code cleanup.
|
||
|
||
2020-10-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.adb, sem_util.ads: Comment fix.
|
||
|
||
2020-10-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch8.adb (Check_Constrained_Object): Suppress discriminant
|
||
checks when the type has default discriminants and comes from
|
||
expansion of a "for of" loop.
|
||
|
||
2020-10-20 Bob Duff <duff@adacore.com>
|
||
|
||
* atree.ads: Make Default_Node a constant. Remove the
|
||
modification of Comes_From_Source, and use a separate flag for
|
||
that. Change Sloc to 0; it always overwritten, and never left
|
||
as the No_Location value.
|
||
(Print_Statistics): Move to spec so we can call it from
|
||
gnat1drv.
|
||
(Num_Nodes): Rename to clarify that this is approximate.
|
||
Correct comment: nodes and entities are never deleted, the count
|
||
is never decremented, and this is not used by Xref.
|
||
(Initialize): Correct comment: Error_List is not created here.
|
||
Other minor naming and comment changes.
|
||
* atree.adb (Extend_Node, New_Copy, New_Entity, New_Node):
|
||
Streamline these. Simplify and improve efficiency. Move code
|
||
from Allocate_Initialize_Node to these, where it can be executed
|
||
unconditionally. Take advantage of automatic zeroing of the
|
||
Nodes table.
|
||
(Allocate_Initialize_Node): Remove this. It was an efficiency
|
||
bottleneck, and somewhat complicated, because it was called from
|
||
4 places, and had all sorts of conditionals to check where it
|
||
was called from. Better to move most of that code to the call
|
||
sites, where it can be executed (or not) unconditionally.
|
||
(Allocate_New_Node): New procedure to partly replace
|
||
Allocate_Initialize_Node (called from just 2 of those 4 places).
|
||
(Comes_From_Source_Default): New flag written/read by
|
||
Set_Comes_From_Source_Default/Get_Comes_From_Source_Default.
|
||
This allows us to make Default_Node into a constant with
|
||
all-zeros value.
|
||
(Set_Paren_Count_Of_Copy): New procedure to avoid duplicated
|
||
code.
|
||
(Report): New procedure to encapsulate the call to the reporting
|
||
procedure.
|
||
(Atree_Private_Part): We now need a body for this package, to
|
||
contain package body Nodes.
|
||
(Approx_Num_Nodes_And_Entities): Was Num_Nodes. For efficiency,
|
||
compute the answer from Nodes.Last. That way we don't need to
|
||
increment a counter on every node creation. Other minor naming
|
||
and comment changes.
|
||
* gnat1drv.adb: Call Atree.Print_Statistics if -gnatd.A switch
|
||
was given. Add comment documenting the new order dependency (we
|
||
must process the command line before calling Atree.Initialize).
|
||
* debug.adb: Document -gnatd.A.
|
||
* einfo.adb, sinfo.adb: Remove useless Style_Checks pragmas.
|
||
* nlists.ads (Allocate_List_Tables): Inline makes node creation
|
||
a little faster.
|
||
* nlists.adb (Initialize): Remove local constant E, which didn't
|
||
seem to add clarity.
|
||
* treepr.adb (Print_Init): Use renamed
|
||
Approx_Num_Nodes_And_Entities function.
|
||
* types.ads: Change the Low and High bounds as described above.
|
||
* types.h: Change Low and High bounds to match types.ads.
|
||
* sem_ch8.adb, namet.adb, namet.ads: Move the computation of
|
||
Last_Name_Id from sem_ch8 to namet, and correct it to not assume
|
||
Name_Ids are positive.
|
||
* ali.adb, ali-util.adb, bindo-writers.adb, exp_dist.adb,
|
||
fmap.adb, fname-uf.adb, osint.adb: Fix various hash functions to
|
||
avoid assuming the various ranges are positive. Note that "mod"
|
||
returns a nonnegative result when the second operand is
|
||
positive. "rem" can return negative values in that case (in
|
||
particular, if the first operand is negative, which it now is).
|
||
* switch-c.adb: Allow switch -gnaten to control the value of
|
||
Nodes_Size_In_Meg.
|
||
* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
|
||
Remove traling whitespaces.
|
||
* opt.ads (Nodes_Size_In_Meg): New Variable.
|
||
|
||
2020-10-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_util.adb (Remove_Side_Effects): Always generate a renaming
|
||
that is handled by the front-end in the case of an indexed or a
|
||
selected component whose prefix has a nonstandard representation.
|
||
|
||
2020-10-20 Pat Rogers <rogers@adacore.com>
|
||
|
||
* doc/gnat_rm/the_gnat_library.rst: Add Ada.Task_Initialization.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-10-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* errout.adb: (Error_Msg-Internal): Pass the location for a line
|
||
insertion if any in the message.
|
||
(Output_Messages: Add display of source code lines if -gnatdF is
|
||
set.
|
||
(Write_Source_Code_Line): Code clean up.
|
||
* erroutc.adb (Prescan_Message): Apply prescan for continuation
|
||
lines when -gnatdF is set, and record presence of line
|
||
insertion.
|
||
* erroutc.ads (Has_Insertion_Line): New global for prescan.
|
||
(Error_Msg_Object): Add field to record line insertion if
|
||
present.
|
||
* errutil.adb (Error_Msg): Pass no location for Insertion_Sloc.
|
||
|
||
2020-10-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Case_Statement): Do not generate
|
||
validity check when possible.
|
||
|
||
2020-10-20 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Expand_Iterated_Component): Reorganize code to
|
||
ensure that Loop_Id is properly initialized on all paths, and
|
||
remove code duplication.
|
||
|
||
2020-10-20 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration): Propagate predicate
|
||
function to full view of the created type as well, if it was
|
||
created.
|
||
|
||
2020-10-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Merge handling of
|
||
Simple_Storage_Pool and Storage_Pool.
|
||
|
||
2020-10-20 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* aspects.ads: Introduce Subprogram_Variant aspect with the
|
||
following properties: GNAT-specific, with mandatory expression,
|
||
not a representation aspect, never delayed.
|
||
* contracts.adb (Expand_Subprogram_Contract): Mention new aspect
|
||
in the comment.
|
||
(Add_Contract_Item): Support addition of pragma
|
||
Subprogram_Variant to N_Contract node.
|
||
(Analyze_Entry_Or_Subprogram_Contract): Mention new aspect in
|
||
the comment; add pragma Subprogram_Variant to N_Contract node.
|
||
(Build_Postconditions_Procedure): Adapt call to
|
||
Insert_Before_First_Source_Declaration, which is now reused in
|
||
expansion of new aspect.
|
||
(Process_Contract_Cases_For): Also process Subprogram_Variant,
|
||
which is stored in N_Contract node together with Contract_Cases.
|
||
* contracts.ads (Analyze_Entry_Or_Subprogram_Contract): Mention
|
||
new aspect in the comment.
|
||
(Analyze_Entry_Or_Subprogram_Body_Contract): Likewise.
|
||
* einfo.adb (Get_Pragma): Support retrieval of new pragma.
|
||
* einfo.ads (Get_Pragma): Likewise.
|
||
* exp_ch6.adb (Check_Subprogram_Variant): New routine for
|
||
emitting call to check Subprogram_Variant expressions at run
|
||
time.
|
||
(Expand_Call_Helper): Check Subprogram_Variant expressions at
|
||
recursive calls.
|
||
* exp_prag.adb (Make_Op): Moved from expansion of pragma
|
||
Loop_Variant to Exp_Util, so it is now reused for expansion of
|
||
pragma Subprogram_Variant.
|
||
(Process_Variant): Adapt call to Make_Op after moving it to
|
||
Exp_Util.
|
||
(Expand_Pragma_Subprogram_Variant): New routine.
|
||
* exp_prag.ads (Expand_Pragma_Subprogram_Variant): Likewise.
|
||
* exp_util.adb (Make_Variant_Comparison): Moved from Exp_Prag
|
||
(see above).
|
||
* exp_util.ads (Make_Variant_Comparison): Likewise.
|
||
* inline.adb (Remove_Aspects_And_Pragmas): Handle aspect/pragma
|
||
Subprogram_Variant just like similar contracts.
|
||
* par-prag.adb (Prag): Likewise.
|
||
* sem.adb (Insert_Before_First_Source_Declaration): Moved from
|
||
Contracts (see above).
|
||
* sem.ads (Insert_Before_First_Source_Declaration): Likewise.
|
||
* sem_ch12.adb: Mention new aspect in the comment about
|
||
"Implementation of Generic Contracts", just like similar aspects
|
||
are mentioned there.
|
||
* sem_ch13.adb (Insert_Pragma): Mention new aspect in the
|
||
comment, because this routine is now used for Subprogram_Variant
|
||
just like for other similar aspects.
|
||
(Analyze_Aspect_Specifications): Mention new aspect in comments;
|
||
it is handled just like aspect Contract_Cases.
|
||
(Check_Aspect_At_Freeze_Point): Do not expect aspect
|
||
Subprogram_Variant just like we don't expect aspect
|
||
Contract_Cases.
|
||
* sem_prag.adb (Ensure_Aggregate_Form): Now also used for pragma
|
||
Subprogram_Variant, so update comment.
|
||
(Analyze_Pragma): Add initial checks for pragma
|
||
Subprogram_Variant.
|
||
(Analyze_Subprogram_Variant_In_Decl_Part): New routine with
|
||
secondary checks on the new pragma.
|
||
(Sig_Flags): Handle references within pragma Subprogram_Variant
|
||
expression just like references in similar pragma
|
||
Contract_Cases.
|
||
(Is_Valid_Assertion_Kind): Handle Subprogram_Variant just like
|
||
other similar contracts.
|
||
* sem_prag.ads (Analyze_Subprogram_Variant_In_Decl_Part): New
|
||
routine.
|
||
* sem_res.adb (Same_Or_Aliased_Subprograms): Moved to Sem_Util,
|
||
so it can be reused for detection of recursive calls where
|
||
Subprogram_Variant needs to be verified.
|
||
* sem_util.adb (Is_Subprogram_Contract_Annotation): Handle new
|
||
Subprogram_Variant annotation just like other similar
|
||
annotations.
|
||
(Same_Or_Aliased_Subprograms): Moved from Sem_Res (see above).
|
||
* sem_util.ads (Is_Subprogram_Contract_Annotation): Mention new
|
||
aspect in the comment.
|
||
(Same_Or_Aliased_Subprograms): Moved from Sem_Res (see above).
|
||
* sinfo.ads (N_Contract): Document handling of
|
||
Subprogram_Variant.
|
||
* snames.ads-tmpl: Add name for the internally generated
|
||
procedure with checks for Subprogram_Variant expression, name
|
||
for the new aspect and new pragma corresponding to aspect
|
||
Subprogram_Variant.
|
||
|
||
2020-10-20 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_util.ads: Reorder declaration.
|
||
|
||
2020-10-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch4.adb: (P_Aggregate_Or_Paren_Expr): Recognize
|
||
Iterated_Element_Component.
|
||
(P_Iterated_Component_Association): Rebuild node as an Iterated_
|
||
Element_Association when Key_Expression is present, and attach
|
||
either the Loop_Parameter_Specification or the
|
||
Iterator_Specification to the new node.
|
||
* sem_aggr.adb: (Resolve_Container_Aggregate):
|
||
Resolve_Iterated_Association handles bota Iterated_Component_
|
||
and Iterated_Element_Associations, in which case it analyzes and
|
||
resoles the orresponding Key_Expression.
|
||
* exp_aggr.adb (Expand_Iterated_Component): If a Key_Expression
|
||
is present, use it as the required parameter in the call to the
|
||
insertion routine for the destination container aggregate. Call
|
||
this routine for both kinds of Iterated_Associations.
|
||
|
||
2020-10-19 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Concatenate): Enable needed range checks.
|
||
|
||
2020-10-19 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
|
||
Set the Warnings_Off flag on the pointer object used in the
|
||
expansion of iterators and similar.
|
||
|
||
2020-10-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* Makefile.rtl (PowerPC/Linux): Use s-taspri__posix.ads instead
|
||
of s-taspri__posix-noaltstack.ads for s-taspri.ads.
|
||
|
||
2020-10-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch13.adb (Add_Call): Remove excessive condition and
|
||
unnecessary call to Set_Has_Predicates.
|
||
|
||
2020-10-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* debug.adb: Use debug switch -gnatdF for this alternative
|
||
display of messages.
|
||
* errout.adb (Output_Messages): Alternative display when -gnatdF
|
||
is used.
|
||
* erroutc.adb (Output_Msg_Text): Likewise.
|
||
|
||
2020-10-19 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Untagged_Equality): Check for AI12-0352.
|
||
|
||
2020-10-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Add_View_Conversion_Invariants): Do not insert
|
||
generated invariant checks when the call is a function call.
|
||
These tests are properly inserted in the code in procedure
|
||
Insert_Post_Call_Actions, which takes care of finding the proper
|
||
insertion point for the checks.
|
||
(Insert_Post_Call_Actions): Add question marks to indicate
|
||
possible gap in handling function calls that appear as aggregate
|
||
components.
|
||
|
||
2020-10-19 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* contracts.adb (Process_Preconditions_For): Do not exclude
|
||
instances.
|
||
* sem_ch4.adb (Analyze_Quantified_Expression): Disable spurious
|
||
warning on internally generated variables.
|
||
|
||
2020-10-19 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* debug.adb: Document -gnatd_c flag as being used for CUDA.
|
||
* gnat_cuda.ads: New file.
|
||
* gnat_cuda.adb: New file.
|
||
* rtsfind.ads: Add Interfaces_C_Strings package and
|
||
RE_Fatbin_Wrapper, RE_Register_Fat_Binary,
|
||
RE_Register_Fat_Binary_End, RE_Register_Function, RE_Chars_Ptr,
|
||
RE_New_Char_Array entities.
|
||
* rtsfind.adb: Create new Interfaces_C_Descendant subtype,
|
||
handle it.
|
||
* sem_ch7.adb (Analyze_Package_Body_Helper): Call CUDA init
|
||
procedure.
|
||
* sem_prag.adb (Analyze_Pragma): Call Add_Cuda_Kernel procedure.
|
||
* gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add gnat_cuda.o.
|
||
|
||
2020-10-19 Bob Duff <duff@adacore.com>
|
||
|
||
* ghost.adb (Whole_Object_Ref): New function to compute the name
|
||
of the whole object.
|
||
(Mark_And_Set_Ghost_Assignment): Rewrite to use
|
||
Whole_Object_Ref. We need to partly analyze the left-hand side
|
||
in order to distinguish expanded names and record components.
|
||
* lib-xref.ads, lib-xref.adb (Deferred_References): Move table
|
||
to body, and add Defer_Reference to update the table, avoiding
|
||
duplicates.
|
||
(Generate_Reference): Avoid duplicates.
|
||
* sem_ch8.ads, sem_ch8.adb (Find_Direct_Name): Remove _OK
|
||
parameters, which are no longer needed. Ignore errors in
|
||
Ignore_Errors mode.
|
||
* sem_util.ads, sem_util.adb (Preanalyze_Without_Errors): Make
|
||
this public, so we can call it from Ghost.
|
||
* errout.ads, scng.adb, sem_prag.adb: Minor.
|
||
|
||
2020-10-19 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Check if type
|
||
depends on discriminant.
|
||
|
||
2020-10-19 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/a-coinve.adb, libgnat/a-cidlli.adb (Put_Image): Call
|
||
Iterate.
|
||
|
||
2020-10-19 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Record_Aggregate): Properly apply
|
||
subtype constraints when using a Default_Value.
|
||
* freeze.adb: Fix typo.
|
||
|
||
2020-10-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Fix bug
|
||
where a call to Error_Msg_N leads to crash due to
|
||
Error_Msg_Name_1 being removed by the call, while a subsequent
|
||
call to Error_Msg_N tries to use it. The variable
|
||
Error_Msg_Name_1 should be restored prior to the next call. Also
|
||
add checking for the new rules.
|
||
|
||
2020-10-19 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* checks.adb (Apply_Type_Conversion_Checks): Minor code clean
|
||
up.
|
||
* exp_ch4.adb (Discrete_Range_Check): Optimize range checks.
|
||
Update comments.
|
||
(Expand_N_Type_Conversion): Generate range check when rewriting
|
||
a type conversion if needed. Add assertion.
|
||
* exp_ch6.adb (Expand_Simple_Function_Return): Minor code clean
|
||
up.
|
||
* sem_res.adb (Resolve_Type_Conversion): Apply range check when
|
||
needed. Update comments.
|
||
|
||
2020-10-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* libgnat/a-textio.ads: Update top-level comment.
|
||
|
||
2020-10-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Fix typo.
|
||
|
||
2020-10-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Actuals): Simplify condition for by-copy
|
||
types.
|
||
|
||
2020-10-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* errout.ads: Add comment regarding lack of preservation of
|
||
Errout state across successive calls to the API.
|
||
|
||
2020-10-19 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_put_image.adb (Build_Elementary_Put_Image_Call): Use the
|
||
base type to recognize various cases of access types.
|
||
* libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads, libgnat/a-cbhama.adb,
|
||
libgnat/a-cbhama.ads, libgnat/a-cbhase.adb, libgnat/a-cbhase.ads,
|
||
libgnat/a-cbmutr.adb, libgnat/a-cbmutr.ads, libgnat/a-cborma.adb,
|
||
libgnat/a-cborma.ads, libgnat/a-cborse.adb, libgnat/a-cborse.ads,
|
||
libgnat/a-cdlili.adb, libgnat/a-cdlili.ads, libgnat/a-cidlli.adb,
|
||
libgnat/a-cidlli.ads, libgnat/a-cihama.adb, libgnat/a-cihama.ads,
|
||
libgnat/a-cihase.adb, libgnat/a-cihase.ads, libgnat/a-cimutr.adb,
|
||
libgnat/a-cimutr.ads, libgnat/a-ciorma.adb, libgnat/a-ciorma.ads,
|
||
libgnat/a-ciormu.adb, libgnat/a-ciormu.ads, libgnat/a-ciorse.adb,
|
||
libgnat/a-ciorse.ads, libgnat/a-coboho.adb, libgnat/a-coboho.ads,
|
||
libgnat/a-cobove.adb, libgnat/a-cobove.ads, libgnat/a-cohama.adb,
|
||
libgnat/a-cohama.ads, libgnat/a-cohase.adb, libgnat/a-cohase.ads,
|
||
libgnat/a-coinho.adb, libgnat/a-coinho.ads,
|
||
libgnat/a-coinho__shared.adb, libgnat/a-coinho__shared.ads,
|
||
libgnat/a-coinve.adb, libgnat/a-coinve.ads, libgnat/a-comutr.adb,
|
||
libgnat/a-comutr.ads, libgnat/a-coorma.adb, libgnat/a-coorma.ads,
|
||
libgnat/a-coormu.adb, libgnat/a-coormu.ads, libgnat/a-coorse.adb,
|
||
libgnat/a-coorse.ads, libgnat/a-strunb.adb, libgnat/a-strunb.ads,
|
||
libgnat/a-strunb__shared.adb, libgnat/a-strunb__shared.ads:
|
||
Implement Put_Image attibute.
|
||
* libgnat/a-stteou.ads, libgnat/s-putima.ads,
|
||
libgnat/a-stouut.ads, libgnat/a-stoubu.adb: Make
|
||
Ada.Strings.Text_Output, Ada.Strings.Text_Output.Utils, and
|
||
System.Put_Images Pure, so they can be with'ed by Pure units
|
||
that should have Put_Image defined.
|
||
* libgnat/a-stouut.adb: Add missing column adjustments, and
|
||
remove a redundant one.
|
||
* libgnat/s-putima.adb (Put_Arrow): New routine to print an
|
||
arrow. Avoids adding a with clause to some containers.
|
||
|
||
2020-10-19 Bob Duff <duff@adacore.com>
|
||
|
||
* par-ch4.adb (P_Aggregate_Or_Paren_Expr): Require matching
|
||
parens or brackets.
|
||
* par.adb, par-tchk.adb (T_Right_Bracket): New procedure to give
|
||
an error on missing ].
|
||
|
||
2020-10-19 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch8.adb (Find_Direct_Name): Do not trust in the decoration
|
||
of the Entity attribute in constants associated with
|
||
discriminals of protected types.
|
||
|
||
2020-10-19 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_disp.adb (Check_Dispatching_Context): When the enclosing
|
||
subprogram is abstract, bypass early return if the call is
|
||
tag-indeterminate, to continue with the later error checking.
|
||
|
||
2020-10-19 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch7.adb (Uninstall_Declarations): Uninstall the
|
||
declaration of a subtype declaration defined in the private part
|
||
of a package.
|
||
|
||
2020-10-19 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* par-ch4.adb (P_Aggregate_Or_Paren_Expr): Simplify code since
|
||
we are always under -gnatX if we encounter a Tok_Left_Bracket.
|
||
* scng.adb (Scan): [] is an aggregate under -gnatX and a wide
|
||
character otherwise.
|
||
|
||
2020-10-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call_Helper): Cleanup.
|
||
|
||
2020-10-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch6.adb (Is_Direct_Deep_Call): Refine type from Node_Id to
|
||
Entity_Id.
|
||
|
||
2020-10-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch6.adb (May_Fold): Detect all operators, i.e. both binary
|
||
and unary ones.
|
||
|
||
2020-10-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* inline.adb (Expand_Inlined_Call): Simplify repeated calls to
|
||
Nkind.
|
||
|
||
2020-10-18 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Compile Ada.Numerics
|
||
child units Aux_Generic_Float, Aux_Long_Long_Float, Aux_Long_Float,
|
||
Aux_Float, Aux_Short_Float, Aux_Compat, and Aux_Linker_Options.
|
||
(X86_TARGET_PAIRS): Drop dummy body for Aux. Use x86 version
|
||
of Aux_Compat.
|
||
(X86_64_TARGET_PAIRS): Likewise.
|
||
(LIBGNAT_TARGET_PAIRS): On VxWorks, select the nolibm
|
||
variants. Drop the darwin version of Aux. Drop the redundant
|
||
libc-x86 numaux variants on x86* kfreebsd variants.
|
||
* libgnat/a-nagefl.ads: New Aux_Generic_Float.
|
||
* libgnat/a-naliop.ads: New Aux_Linker_Options.
|
||
* libgnat/a-naliop__nolibm.ads: New.
|
||
* libgnat/a-nallfl.ads: New Aux_Long_Long_Float.
|
||
* libgnat/a-nalofl.ads: New Aux_Long_Float.
|
||
* libgnat/a-nuaufl.ads: New Aux_Float.
|
||
* libgnat/a-nashfl.ads: New Aux_Short_Float.
|
||
* libgnat/a-ngcefu.adb (Exp): Factor out the Im (X) passed to
|
||
Sin and Cos in the Complex variant too.
|
||
* libgnat/a-ngcoty.adb: Switch to Aux_Generic_Float. Drop
|
||
redundant conversions.
|
||
* libgnat/a-ngelfu.adb: Likewise.
|
||
* libgnat/a-nuauco.ads: New Aux_Compat.
|
||
* libgnat/a-nuauco__x86.ads: New.
|
||
* libgnat/a-numaux.ads: Replace with Compat wrapper.
|
||
* libgnat/a-numaux__darwin.adb: Remove.
|
||
* libgnat/a-numaux__darwin.ads: Remove.
|
||
* libgnat/a-numaux__dummy.adb: Remove.
|
||
* libgnat/a-numaux__libc-x86.ads: Remove.
|
||
* libgnat/a-numaux__vxworks.ads: Remove.
|
||
|
||
2020-10-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch6.adb,
|
||
freeze.adb, sem_aggr.adb, sem_attr.adb, sem_ch13.adb,
|
||
sem_ch13.ads, sem_ch6.adb, sem_eval.adb, sem_util.adb: Fix style
|
||
and typos.
|
||
|
||
2020-10-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_cat.adb (Is_Primary): Handle N_Range properly.
|
||
|
||
2020-10-16 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* elists.ads (New_Elmt_List): New functions.
|
||
* elists.adb (New_Elmt_List): New functions.
|
||
* exp_prag.adb: Add dependency on Elists.
|
||
(Expand_Pragma_CUDA_Execute): New function.
|
||
(Expand_N_Pragma): Add call to Expand_Pragma_CUDA_Execute.
|
||
* rtsfind.ads: Add CUDA.Internal, CUDA.Runtime, System.C
|
||
packages and RE_Push_Call_Configuration,
|
||
RE_Pop_Call_Configuration, RE_Launch_Kernel, RO_IC_Unsigned,
|
||
RO_IC_Unsigned_Long_Long entities.
|
||
* rtsfind.adb: Extend Interfaces_Descendant to include
|
||
Interfaces_C.
|
||
|
||
2020-10-16 Bob Duff <duff@adacore.com>
|
||
|
||
* par-ch4.adb (P_Name): Allow Tok_Left_Bracket in two places to
|
||
call P_Qualified_Expression. We don't need to modify other
|
||
places that call P_Qualified_Expression, because a
|
||
qualified_expression is a name in Ada 2012 and higher, so P_Name
|
||
is the right place. The parser already parses aggregates with
|
||
brackets; we just need to allow that in qualified expressions.
|
||
|
||
2020-10-16 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch12.adb (Check_Generic_Child_Unit): When the child unit
|
||
is a renaming of a generic child unit then traverse the scope
|
||
containing the renaming declaration to locate the instance of
|
||
its parent. Otherwise the parent is not installed and the
|
||
frontend cannot process the instantiation.
|
||
|
||
2020-10-16 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/a-numeri.ads: Remove the greek letter.
|
||
|
||
2020-10-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_imgv.adb (Expand_Image_Attribute): Refine previous patch
|
||
to use root type (and not base type) on enumeration types.
|
||
|
||
2020-10-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_imgv.adb (Expand_Image_Attribute): Use the base type
|
||
instead of the root type when type of object is private. Remove
|
||
Ada_2020 guard, because it has been checked during prior
|
||
analysis. Use Underlying_Type in all cases, as it is a no-op on
|
||
types that are not private.
|
||
|
||
2020-10-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* aspects.ads, snames.ads-tmpl: Add support for
|
||
Exclusive_Functions aspect.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Ditto.
|
||
* exp_ch9.adb (Build_Protected_Subprogram_Body): Take aspect
|
||
Exclusive_Functions into account.
|
||
|
||
2020-10-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies on system.ads,
|
||
add gnatbind switch -t to avoid timestamp inconsistencies during
|
||
build.
|
||
* libgnat/system.ads: Move...
|
||
* gcc-interface/system.ads: ... here.
|
||
|
||
2020-10-16 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_eval.adb (Subtypes_Statically_Match): Retrieve
|
||
discriminant constraints from the two types via new function
|
||
Original_Discriminant_Constraint rather than
|
||
Discriminant_Constraint.
|
||
(Original_Discriminant_Constraint): New function to locate the
|
||
nearest explicit discriminant constraint associated with a type
|
||
that may possibly have inherited a constraint from an ancestor
|
||
type.
|
||
|
||
2020-10-16 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Simple_Function_Return): Remove obsolete
|
||
comment and code.
|
||
|
||
2020-10-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
PR ada/95953
|
||
* libgnat/a-suenco.adb (Convert): Fix handling of third UTF-8
|
||
byte.
|
||
|
||
2020-10-16 Steve Baird <baird@adacore.com>
|
||
|
||
* exp_util.adb (Is_Related_To_Func_Return): Cope with the case
|
||
where the FE introduces a type conversion.
|
||
|
||
2020-10-16 Chris Martin <cmartin@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Is_Access_Variable): New function.
|
||
(Is_Synchronized_Object): Call new function when determining if
|
||
a constant can be regarded as synchronized.
|
||
|
||
2020-10-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
|
||
Call Set_BIP_Initialization_Call systematically.
|
||
* exp_ch7.adb (Process_Transient_In_Scope): Take
|
||
BIP_Initialization_Call into account to decide where to insert
|
||
the Hook.
|
||
|
||
2020-10-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_util.adb (Is_View_Conversion): Detect qualified types.
|
||
* sem_util.ads (Is_Actual_In_Out_Parameter): Fix style in
|
||
comment.
|
||
|
||
2020-10-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* scil_ll.adb, sem_scil.adb: Update assertions.
|
||
|
||
2020-10-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Min_Max): Handle the case where attribute
|
||
name (qualified by required type) appears as the reducer of a
|
||
'Reduce attribute reference.
|
||
(Resolve_Attribute) <Reduce>: Handle properly the presence of a
|
||
procedure or an attribute reference Min/Max as a reducer.
|
||
* exp_attr.adb (Expand_Attribute_Reference) <Reduce>: New
|
||
subprogram Build_Stat, to construct the combining statement
|
||
which appears in the generated loop for Reduce, and which is
|
||
either a function call when the reducer is a function or an
|
||
attribute, or a procedure call when reducer is an appropriate
|
||
procedure. BuilD_Stat is used both when the prefix of 'Reduce
|
||
is a value sequence and when it is an object
|
||
|
||
2020-10-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Concatenate): Allocate result of string
|
||
concatenation on secondary stack when relevant.
|
||
|
||
2020-10-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Declare_Expression): Retrieve the created
|
||
block entity that is the scope of the local declarations, from
|
||
either a local object declaration or an object renaming
|
||
declaration. The block entity does not have an explicit
|
||
declaration, but appears as the scope of all locally declared
|
||
objects.
|
||
|
||
2020-10-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* 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-e500-vthread.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-kernel.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-rtp.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-vthread.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc.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-vxworks-x86-vthread.ads: Likewise.
|
||
* libgnat/system-vxworks-x86.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.
|
||
|
||
2020-10-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* Makefile.rtl, gnat1drv.adb, expander.adb
|
||
doc/gnat_rm/implementation_defined_pragmas.rst,
|
||
doc/gnat_ugn/building_executable_programs_with_gnat.rst,
|
||
doc/gnat_ugn/the_gnat_compilation_model.rst, exp_ch5.ads,
|
||
exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
|
||
exp_util.ads, libgnarl/s-osinte__aix.adb,
|
||
libgnarl/s-osinte__android.adb, libgnarl/s-osinte__darwin.adb,
|
||
libgnarl/s-osinte__gnu.adb, libgnarl/s-osinte__hpux-dce.adb,
|
||
libgnarl/s-osinte__lynxos178.adb, libgnarl/s-osinte__posix.adb,
|
||
libgnarl/s-osinte__qnx.adb, libgnarl/s-osinte__rtems.adb,
|
||
libgnarl/s-osinte__solaris.adb, libgnarl/s-osinte__vxworks.adb,
|
||
libgnarl/s-osinte__x32.adb, libgnarl/s-solita.adb,
|
||
libgnarl/s-taasde.adb, libgnarl/s-taprob.adb,
|
||
libgnarl/s-taprop__dummy.adb, libgnarl/s-taprop__hpux-dce.adb,
|
||
libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb,
|
||
libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb,
|
||
libgnarl/s-taprop__solaris.adb, libgnarl/s-taprop__vxworks.adb,
|
||
libgnarl/s-tarest.adb, libgnarl/s-tasini.adb,
|
||
libgnarl/s-taskin.adb, libgnarl/s-taspri__dummy.ads,
|
||
libgnarl/s-taspri__hpux-dce.ads, libgnarl/s-taspri__lynxos.ads,
|
||
libgnarl/s-taspri__mingw.ads,
|
||
libgnarl/s-taspri__posix-noaltstack.ads,
|
||
libgnarl/s-taspri__posix.ads, libgnarl/s-taspri__solaris.ads,
|
||
libgnarl/s-taspri__vxworks.ads, libgnarl/s-tassta.adb,
|
||
libgnarl/s-tasuti.adb, libgnarl/s-tposen.adb,
|
||
libgnat/a-except.adb, libgnat/a-except.ads,
|
||
libgnat/s-dwalin.adb, libgnat/s-dwalin.ads,
|
||
libgnat/s-mastop.ads, libgnat/s-soflin.adb,
|
||
libgnat/s-stalib.adb, libgnat/s-stalib.ads,
|
||
libgnat/s-stchop.adb, libgnat/s-stchop.ads,
|
||
libgnat/s-stchop__limit.ads, libgnat/s-traceb.ads,
|
||
libgnat/s-traent.adb, libgnat/s-traent.ads,
|
||
libgnat/s-trasym.adb, libgnat/s-trasym.ads,
|
||
libgnat/s-trasym__dwarf.adb, opt.adb, opt.ads, par-prag.adb,
|
||
sem_prag.adb, snames.ads-tmpl, switch-c.adb, targparm.adb,
|
||
targparm.ads, usage.adb: Remove support for -gnatP and pragma
|
||
Polling.
|
||
* gnat_ugn.texi: Regenerate.
|
||
* libgnat/a-excpol.adb, libgnat/a-excpol__abort.adb: Removed.
|
||
|
||
2020-10-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Array_Type_Declaration): Create itype with unique
|
||
name.
|
||
|
||
2020-10-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Limit scope of a
|
||
local object by hiding it from local subprograms; simplify
|
||
nested if-then-if-then condition for an Ada 83 restriction.
|
||
(Array_Type_Declaration): Confirm with assertion when the else
|
||
branch is executed.
|
||
(Find_Type_Of_Object): Simplify membership test with a subtype
|
||
range.
|
||
|
||
2020-10-16 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Global_In_Decl_Part): Update check to
|
||
reject volatile object for reading.
|
||
* sem_res.adb (Resolve_Actuals, Resolve_Entity_Name): Update
|
||
check to reject volatile object for reading.
|
||
* sem_util.adb, sem_util.ads
|
||
(Check_Nonvolatile_Function_Profile,
|
||
Has_Effectively_Volatile_Profile): Detect use of volatile object
|
||
for reading.
|
||
(Has_Enabled_Property): Accept constants as well.
|
||
(Is_Effectively_Volatile_For_Reading): New function based on
|
||
existing Is_Effectively_Volatile.
|
||
(Is_Effectively_Volatile_Object_For_Reading): Adapted from the
|
||
existing Is_Effectively_Volatile_Object, using a shared
|
||
implementation in Is_Effectively_Volatile_Object_Shared.
|
||
|
||
2020-10-16 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch7.adb (Check_Unnesting_In_Decls_Or_Stmts): In the case
|
||
of an if-statement, call Unnest_If_Statement to determine
|
||
whether there are nested subprograms in any of the statement
|
||
lists of the "if" parts that require a wrapping procedure to
|
||
handle possible up-level refeferences.
|
||
(Unnest_Block): Call Check_Unnesting_In_Handlers to do unnesting
|
||
of subprograms in exception handlers of the block statement.
|
||
(Unnest_If_Statement): New procedure to traverse the parts of an
|
||
if-statement and create wrapper procedures as needed to
|
||
encapsulate nested subprograms that may make up-level
|
||
references.
|
||
(Check_Stmts_For_Subp_Unnesting): New support procedure in
|
||
Unnest_If_Statement to traverse a statement list looking for
|
||
top-level subprogram bodies that require wrapping inside a
|
||
procedure (via Unnest_Statement_List) as well as possibly having
|
||
other statements (block, loop, if) that may themselves require
|
||
an unnesting transformation (via
|
||
Check_Unnesting_In_Decls_Or_Stmts).
|
||
(Unnest_Statement_List): New support procedure to traverse the
|
||
statements of a statement list that contains subprogram bodies
|
||
at the top level and replace the statement list with a wrapper
|
||
procedure body encapsulating the statements and a call to the
|
||
procedure.
|
||
|
||
2020-10-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_prag.adb (Check_OK_Stream_Convert_Function): Check for
|
||
abstract subprograms.
|
||
|
||
2020-10-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst
|
||
(No_Local_Timing_Events): Package Timing_Events is a child of
|
||
Ada.Real_Time, not of Ada.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-10-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_attributes.rst: Document the
|
||
new Max_Integer_Size attribute.
|
||
* gnat_rm.texi: Regenerate.
|
||
* exp_attr.adb (Get_Integer_Type): Call Small_Integer_Type_For.
|
||
(Expand_N_Attribute_Reference) <Attribute_Pred>: Replace selection
|
||
code with call to Integer_Type_For.
|
||
<Attribute_Succ>: Likewise.
|
||
<Attribute_Val>: Likewise.
|
||
<Attribute_Valid>: Likewise.
|
||
<Attribute_Max_Integer_Size>: Raise Program_Error.
|
||
* exp_ch3.adb (Expand_Freeze_Enumeration_Type): Replace selection
|
||
code with call to Integer_Type_For.
|
||
(Simple_Init_Initialize_Scalars_Type): Use Long_Long_Unsigned and
|
||
System_Max_Integer_Size to size the largest integer type.
|
||
* exp_pakd.adb (Compute_Linear_Subscript): Minor tweak.
|
||
(Create_Packed_Array_Impl_Type): Use Small_Integer_Type_For.
|
||
* exp_util.ads (Integer_Type_For): New function.
|
||
(Small_Integer_Type_For): Likewise.
|
||
* exp_util.adb (Adjust_Condition): Use Integer_Type_For.
|
||
(Component_May_Be_Bit_Aligned): Use System_Max_Integer_Size.
|
||
(Integer_Type_For): New function.
|
||
(Small_Integer_Type_For): Likewise.
|
||
(Matching_Standard_Type): Use Small_Integer_Type_For.
|
||
(Needs_Constant_Address): Replace 64 with System_Max_Integer_Size.
|
||
* freeze.adb (Set_Small_Size): Likewise.
|
||
(Size_Known): Likewise.
|
||
(Check_Suspicious_Modulus): Likewise.
|
||
(Check_Large_Modular_Array): Likewise.
|
||
(Freeze_Entity): Likewise.
|
||
* layout.adb (Layout_Type): Likewise.
|
||
* sem_aggr.adb: Add with and use clauses for Ttypes.
|
||
(Resolve_Aggregate): Replace 64 with System_Max_Integer_Size.
|
||
* sem_attr.ads (Attribute_Impl_Def): Add Attribute_Max_Integer_Size.
|
||
* sem_attr.adb (Analyze_Attribute) <Attribute_Max_Integer_Size>: New
|
||
(Eval_Attribute): Likewise.
|
||
* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Change max
|
||
scalar size to System_Max_Integer_Size.
|
||
(Check_Array_Type): Replace 64 with System_Max_Integer_Size and
|
||
remove superfluous test.
|
||
(OK_Component): Likewise.
|
||
* sem_ch5.adb: Add with and use clauses for Ttypes.
|
||
(Analyze_Assignment): Replace 64 with System_Max_Integer_Size.
|
||
* snames.ads-tmpl (Name_Max_Integer_Size): New attribute name.
|
||
(Attribute_Id): Add Attribute_Max_Integer_Size.
|
||
* ttypes.ads (System_Max_Integer_Size): New constant.
|
||
|
||
2020-10-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch10.adb (Install_With_Clause): Fix implementation of Ada
|
||
2005 AI-262 by taking into account generic packages. Minor
|
||
reformatting.
|
||
* libgnat/a-cbhase.ads, libgnat/a-cbhase.adb: Remove use clause
|
||
on runtime unit spec.
|
||
|
||
2020-10-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* einfo.ads, einfo.adb (Scope_Depth_Value,
|
||
Set_Scope_Depth_Value): Add assertions on valid nodes and update
|
||
documentation accordingly.
|
||
(Write_Field22_Name): Sync with change in Scope_Depth_Value.
|
||
* sem_ch8.adb (Find_Direct_Name): Fix call to Scope_Depth_Value.
|
||
|
||
2020-10-15 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Adding semantic support of
|
||
Standard to Default_Storage_Pool.
|
||
* freeze.adb (Freeze_Entity): If pragma Default_Storage_Pool
|
||
applies and it is set to Standard then use the global pool as
|
||
the associated storage pool of the access type.
|
||
|
||
2020-10-15 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch6.ads (Might_Have_Tasks): Update documentation.
|
||
* exp_ch6.adb (Might_Have_Tasks): Return also true when the type
|
||
has tasks.
|
||
(Make_Build_In_Place_Call_In_Allocator): Code cleanup.
|
||
* exp_ch3.adb (Ensure_Activation_Chain_And_Master,
|
||
Expand_N_Full_Type_Declaration, Expand_N_Object_Declaration):
|
||
Code cleanup.
|
||
|
||
2020-10-15 Steve Baird <baird@adacore.com>
|
||
|
||
* checks.adb (Apply_Predicate_Check): Generate "infinite
|
||
recursion" warning message even if run-time predicate checking
|
||
is disabled.
|
||
* exp_ch6.adb (Expand_Simple_Function_Return): In testing
|
||
whether the returned expression is a function call, look for the
|
||
case where the call has been transformed into a dereference of
|
||
an access value that designates the result of a function call.
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Legality checking
|
||
for a static expression is unaffected by assertion policy (and,
|
||
in particular, enabling/disabling of subtype predicates. To get
|
||
the right legality checking, we need to call
|
||
Check_Expression_Against_Static_Predicate for a static
|
||
expression even if predicate checking is disabled for the given
|
||
predicate-bearing subtype. On the other hand, we don't want to
|
||
call Make_Predicate_Check unless predicate checking is enabled.
|
||
* sem_ch7.adb (Uninstall_Declarations.Preserve_Full_Attributes):
|
||
Preserve the Predicates_Ignored attribute.
|
||
* sem_eval.adb (Check_Expression_Against_Static_Predicate):
|
||
Previously callers ensured that this procedure was only called
|
||
if predicate checking was enabled; that is no longer the case,
|
||
so predicates-disabled case must be handled.
|
||
* sem_prag.adb (Analyze_Pragma): Fix bug in setting
|
||
Predicates_Ignored attribute in Predicate pragma case.
|
||
|
||
2020-10-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Fixed_Point_Type): Do not scale the bounds
|
||
of a declared subtype using the 'Small of the type; this is
|
||
done during resolution of the bound itself, unlike what is done
|
||
for the bounds of the base type, which are used to determine its
|
||
required size. Previous code performed this scaling twice,
|
||
leading to meaningless values for such a subtype.
|
||
|
||
2020-10-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_util.adb (Bad_Predicated_Subtype_Use): Emit an
|
||
unconditional error, not a conditional warning.
|
||
|
||
2020-10-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Process_Subtype): Combine guards for
|
||
Null_Exclusion_Present in May_Have_Null_Exclusion; use this
|
||
combined guard when checking AI-231.
|
||
|
||
2020-10-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Process_Subtype): Sync May_Have_Null_Exclusion
|
||
with assertion in Null_Exclusion_Present; clarify the scope of
|
||
local variables.
|
||
|
||
2020-10-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration): Fix style.
|
||
(Make_Index): Refactor to avoid repeated detection of subtype
|
||
indication; add comment.
|
||
|
||
2020-10-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Is_Acceptable_Dim3): Use Is_RTE to not pull CUDA
|
||
package unless necessary; rename local Tmp variable; iterate
|
||
with procedural Next.
|
||
|
||
2020-10-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Array_Type_Declaration): Refine type of a local
|
||
variable.
|
||
(Make_Index): Simplify to avoid assignment with a type entity
|
||
and then backtracking by reassigning to Empty; remove excessive
|
||
whitespace.
|
||
* sem_ch9.adb (Analyze_Entry_Body): Remove extra parens.
|
||
|
||
2020-10-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Access_Subprogram_Declaration): Remove extra
|
||
parens.
|
||
(Make_Index): Remove excessive calls to Is_Type.
|
||
|
||
2020-10-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_util.adb (Enter_Name): Remove unnecessary conditions in
|
||
Enter_Name that come from the beginning of times.
|
||
|
||
2020-10-15 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Simple_Function_Return): Remove DSP part
|
||
of comment, and reformat.
|
||
|
||
2020-10-15 Boris Yakobowski <yakobowski@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Do not expand
|
||
'Initialized in CodePeer mode.
|
||
|
||
2020-10-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch12.adb (Reset_Entity): Protect against malformed tree.
|
||
|
||
2020-10-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch13.adb (Add_Predicates): Prevent analyzing twice the
|
||
same pragma in case an inner package references the type with a
|
||
predicate (as opposed to defining the type).
|
||
|
||
2020-10-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/a-cfinve.adb (Int): Use subtype of Long_Long_Integer.
|
||
* libgnat/a-cofove.adb (Int): Likewise.
|
||
* libgnat/a-cgcaso.adb (T): Likewise.
|
||
* libgnat/a-cogeso.adb (T): Likewise.
|
||
* libgnat/g-debpoo.ads (Byte_Count): Use Long_Long_Integer'Size.
|
||
|
||
2020-10-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch12.adb: Replace list of N_Defining_... enumerations with
|
||
N_Entity.
|
||
|
||
2020-10-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.ads, sem_ch3.adb (Make_Index): Refined type of
|
||
parameter.
|
||
(Constrain_Index): Likewise.
|
||
(Array_Type_Declaration): Refine type of a local counter
|
||
variable; remove a trivially useless initialization.
|
||
|
||
2020-10-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration): Recognize both
|
||
identifiers and expanded names; use high-level Is_Scalar_Type
|
||
instead of low-level membership test.
|
||
|
||
2020-10-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_eval.adb (Eval_Intrinsic_Call, Fold_Shift): Add support
|
||
for Shift_Right_Arithmetic and for signed integers.
|
||
* exp_ch4.adb (Expand_N_Op_Rotate_Left,
|
||
Expand_N_Op_Rotate_Right, Expand_N_Op_Shift_Left,
|
||
Expand_N_Op_Shift_Right_Arithmetic): Minor reformatting and code
|
||
cleanup to ensure a consistent handling. Update comments and add
|
||
assertion.
|
||
|
||
2020-10-15 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch13.adb (Visible_Component): Enable this code for task
|
||
and protected types, as well as record and private types.
|
||
* sem_ch13.ads (Replace_Type_References_Generic): Update
|
||
comment. Move the efficiency comment into the body, because
|
||
it's about the implementation.
|
||
|
||
2020-10-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* par-ch13.adb (Get_Aspect_Specifications): Generate a warning
|
||
rather than an error on unknown aspects unless -gnatd2 is used.
|
||
(Aspect_Specifications_Present): Improve detection of unknown
|
||
aspects.
|
||
* debug.adb (Debug_Flag_2): Update document.
|
||
|
||
2020-10-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Call): Do not try to inline intrinsic
|
||
calls.
|
||
|
||
2020-10-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Expand_N_Aggregate): A record aggregate requires
|
||
a non-private type.
|
||
* sem_ch13.adb (Valid_Assign_Indexed): New subprogram local to
|
||
Resolve_Aspect_Aggregate, to handle the case when the
|
||
corresponding name appearing in the aspect specification for an
|
||
indexed aggregate is an overloaded operation.
|
||
* libgnat/a-convec.ads, libgnat/a-convec.adb,
|
||
libgnat/a-coinve.ads, libgnat/a-coinve.adb,
|
||
libgnat/a-cobove.ads, libgnat/a-cobove.adb,
|
||
libgnat/a-cdlili.ads, libgnat/a-cdlili.adb,
|
||
libgnat/a-cbdlli.ads, libgnat/a-cbdlli.adb,
|
||
libgnat/a-cohama.ads, libgnat/a-cihama.ads,
|
||
libgnat/a-cbhama.ads, libgnat/a-cborma.ads,
|
||
libgnat/a-ciorma.ads, libgnat/a-coorma.ads,
|
||
libgnat/a-cihase.ads, libgnat/a-cohase.ads,
|
||
libgnat/a-cbhase.ads, libgnat/a-cborse.ads,
|
||
libgnat/a-ciorse.ads, libgnat/a-coorse.ads: Add Ada_2020 aspect
|
||
Aggregate to types declared in standard containers, as well as
|
||
new subprograms where required.
|
||
|
||
2020-10-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/g-arrspl.ads, libgnat/g-arrspl.adb (Create,
|
||
First_Cursor, Advance, Has_Element): New.
|
||
|
||
2020-10-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* Makefile.rtl: Add target pair for interfac.ads.
|
||
* libgnat/interfac.ads: Add a comment.
|
||
* libgnat/interfac__2020.ads: New, used for bootstrap purposes.
|
||
* sem_util.adb (Is_Static_Function): Always return False for pre
|
||
Ada 2020 to e.g. ignore the Static aspect in Interfaces for
|
||
Ada < 2020.
|
||
|
||
2020-10-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_util.adb (Remove_Side_Effects): Move special-casing for
|
||
GNATprove to be applied to all object declarations.
|
||
|
||
2020-10-12 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* libgnat/a-ngelfu.ads (Sin, Cos): Make the single-argument
|
||
functions inline.
|
||
|
||
2020-10-11 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* libgnat/a-numaux.ads: Make all imports Intrinsic.
|
||
* libgnat/a-numaux__darwin.ads: Likewise.
|
||
* libgnat/a-numaux__libc-x86.ads: Likewise.
|
||
* libgnat/a-numaux__vxworks.ads: Likewise.
|
||
|
||
2020-09-28 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the end locus
|
||
of body and declaration earlier.
|
||
|
||
2020-09-28 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (maybe_saturate_size): Add ALIGN parameter
|
||
and round down the result to ALIGN.
|
||
(gnat_to_gnu_entity): Adjust calls to maybe_saturate_size.
|
||
|
||
2020-09-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gcc-interface/trans.c (gigi): Adjust build_optimization_node
|
||
caller.
|
||
|
||
2020-09-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* fe.h: Fix pilot error in previous change.
|
||
* gcc-interface/gigi.h (enum standard_datatypes): Add ADT_mulv128_decl.
|
||
(mulv128_decl): New macro.
|
||
(get_target_long_long_long_size): Declare.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Use a maximum size of
|
||
128 bits for discrete types if Enable_128bit_Types is true.
|
||
* gcc-interface/targtyps.c: Include target.h.
|
||
(get_target_long_long_long_size): New function.
|
||
* gcc-interface/trans.c (gigi): Initialize mulv128_decl if need be.
|
||
(build_binary_op_trapv): Call it for 128-bit multiplication.
|
||
* gcc-interface/utils.c (make_type_from_size): Enforce a maximum
|
||
size of 128 bits if Enable_128bit_Types is true.
|
||
|
||
2020-09-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (lvalue_for_aggr_p) <N_Object_Declaration>:
|
||
Return false unconditionally.
|
||
|
||
2020-09-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Object_Declaration>: Clear
|
||
the SLOC of the expression of a tag.
|
||
|
||
2020-09-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Only give
|
||
a warning for the overlay of an aliased array with an unconstrained
|
||
nominal subtype if the address is absolute.
|
||
|
||
2020-09-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (type_has_variable_size): New function.
|
||
(create_field_decl): In the packed case, also force byte alignment
|
||
when the type of the field has variable size.
|
||
|
||
2020-09-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/misc.c (get_array_bit_stride): Return TYPE_ADA_SIZE
|
||
for record and union types.
|
||
|
||
2020-09-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/misc.c (gnat_get_fixed_point_type): Bail out only
|
||
when the GNAT encodings are specifically used.
|
||
|
||
2020-09-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Only
|
||
create extra subtypes for discriminants if the RM size of the base
|
||
type of the index type is lower than that of the index type.
|
||
|
||
2020-09-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (set_rm_size): Do not take into account the
|
||
Value_Size clause if it is not for the entity itself.
|
||
|
||
2020-09-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (build_subst_list): For a definition, make
|
||
sure to instantiate the SAVE_EXPRs generated by the elaboration of
|
||
the constraints in front of the elaboration of the type itself.
|
||
|
||
2020-09-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/misc.c: Include tree-pass.h.
|
||
(internal_error_function): Call emergency_dump_function.
|
||
|
||
2020-09-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* fe.h, opt.ads (Enable_128bit_Types): New.
|
||
* stand.ads (Standard_Long_Long_Long_Integer,
|
||
S_Long_Long_Long_Integer): New.
|
||
|
||
2020-09-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Get_Fullest_View): New procedure.
|
||
* exp_unst.adb (Check Static_Type): Do all processing on fullest
|
||
view of specified type.
|
||
|
||
2020-08-27 Martin Liska <mliska@suse.cz>
|
||
|
||
* gcc-interface/trans.c (gigi): Set exact argument of a vector
|
||
growth function to true.
|
||
(Attribute_to_gnu): Likewise.
|
||
|
||
2020-07-27 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* switch.adb (Is_Internal_GCC_Switch): Revert accidental
|
||
reintroduction of auxbase and auxbase-strip.
|
||
|
||
2020-07-27 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): Restrict the check on matching
|
||
aliased components to view conversions of array types that are
|
||
not placed in an instance. In such case at runtime an object is
|
||
created.
|
||
* sem_util.ads (Is_Actual_In_Out_Parameter, Is_View_Conversion):
|
||
New subprograms.
|
||
* sem_util.adb (Is_Actual_In_Out_Parameter, Is_View_Conversion):
|
||
New subprograms.
|
||
|
||
2020-07-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* lib-xref.adb (Generate_Reference): Protect against malformed
|
||
tree in case of severe errors.
|
||
* sem_ch8.adb (Add_Implicit_Operator): Ditto.
|
||
|
||
2020-07-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* opt.ads (Ada_Version_Runtime): Set to Ada_2020.
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration): Propagate
|
||
Is_Independent flag to subtypes.
|
||
* libgnarl/s-taprop__linux.adb: Adapt to Ada 2020 warning.
|
||
* libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads,
|
||
libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb,
|
||
libgnat/a-nbnbre.ads, libgnat/a-stobbu.adb,
|
||
libgnat/a-stobbu.ads, libgnat/a-stobfi.adb,
|
||
libgnat/a-stobfi.ads, libgnat/a-stoubu.adb,
|
||
libgnat/a-stoubu.ads, libgnat/a-stoufi.adb,
|
||
libgnat/a-stoufi.ads, libgnat/a-stoufo.adb,
|
||
libgnat/a-stoufo.ads, libgnat/a-stouut.adb,
|
||
libgnat/a-stouut.ads, libgnat/a-strsto.ads,
|
||
libgnat/a-ststbo.adb, libgnat/a-ststbo.ads,
|
||
libgnat/a-ststun.adb, libgnat/a-ststun.ads,
|
||
libgnat/a-stteou.ads, libgnat/s-aoinar.ads,
|
||
libgnat/s-aomoar.ads, libgnat/s-atopex.ads,
|
||
libgnat/s-putaim.adb, libgnat/s-putaim.ads,
|
||
libgnat/s-putima.adb, libgnat/s-putima.ads: Remove pragma
|
||
Ada_2020, now redundant.
|
||
|
||
2020-07-27 Justin Squirek <squirek@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call_Helper): Modify addition of the extra
|
||
accessibility parameter to take into account the extra
|
||
accessibility of formals within the calling subprogram.
|
||
|
||
2020-07-27 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_imgv.adb (Expand_Image_Attribute): Add Root_Type, so
|
||
constrained subtypes work.
|
||
|
||
2020-07-27 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* exp_prag.adb (Arg1, Arg2, Arg3): Removed.
|
||
(Arg_N): New function.
|
||
|
||
2020-07-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Object_Renaming): Allow values in Ada
|
||
2020 mode.
|
||
|
||
2020-07-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): Refine 6.4.1 rules as per
|
||
AI12-0377.
|
||
|
||
2020-07-27 Bob Duff <duff@adacore.com>
|
||
|
||
* errout.ads, errout.adb (Error_Msg_Ada_2020_Feature): New
|
||
procedure analogous to Error_Msg_Ada_2012_Feature.
|
||
* sem_attr.adb (Analyze_Image_Attribute): Use
|
||
Error_Msg_Ada_2012_Feature and Error_Msg_Ada_2020_Feature to
|
||
indicate that Object'Image is allowed in Ada 2012, and that
|
||
'Image is allowed for any type in Ada 2020.
|
||
|
||
2020-07-27 Dmitriy Anisimkov <anisimko@adacore.com>
|
||
|
||
* libgnat/a-strunb.adb (Sum, Mul, Saturated_Sum, Saturated_Mul):
|
||
New routines. Use them when resulting string size more that
|
||
length of the strings in parameters.
|
||
(Unbounded_Slice): Use "- 1" instead of "+ 1" in opposite side
|
||
of condition to avoid overflow.
|
||
* libgnat/a-strunb__shared.adb (Sum, Mul): New routines.
|
||
(Allocate): New routine with 2 parameters. Use routine above
|
||
when resulting string size more that length of the strings in
|
||
parameters.
|
||
(Aligned_Max_Length): Do not try to align to more than Natural'Last.
|
||
(Unbounded_Slice): Use "- 1" instead of "+ 1" in opposite side
|
||
of condition to avoid overflow.
|
||
|
||
2020-07-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_attr.adb (Resolve_Attribute): Remove dead code.
|
||
|
||
2020-07-27 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* aspects.adb, atree.adb, atree.ads, checks.adb, contracts.adb,
|
||
einfo.adb, errout.adb, exp_aggr.adb, exp_attr.adb, exp_cg.adb,
|
||
exp_ch11.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb,
|
||
exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_ch9.adb,
|
||
exp_dbug.adb, exp_disp.adb, exp_intr.adb, exp_pakd.adb,
|
||
exp_prag.adb, exp_put_image.adb, exp_smem.adb, exp_tss.adb,
|
||
exp_unst.adb, exp_util.adb, freeze.adb, ghost.adb, gnat1drv.adb,
|
||
inline.adb, lib-writ.adb, lib-xref-spark_specific.adb,
|
||
lib-xref.adb, namet.adb, namet.ads, nlists.adb, par-ch10.adb,
|
||
par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
|
||
par-prag.adb, par-util.adb, par_sco.adb, pprint.adb,
|
||
repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, sem.adb,
|
||
sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb,
|
||
sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb,
|
||
sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb,
|
||
sem_ch8.adb, sem_ch9.adb, sem_dim.adb, sem_disp.adb,
|
||
sem_dist.adb, sem_elab.adb, sem_elim.adb, sem_eval.adb,
|
||
sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
|
||
sem_scil.adb, sem_type.adb, sem_util.adb, sem_warn.adb,
|
||
sinfo.adb, sinfo.ads, sprint.adb, styleg.adb, tbuild.adb,
|
||
treepr.adb (Nkind_In, Nam_In, Ekind_In): Removed, replaced by
|
||
membership tests.
|
||
|
||
2020-07-27 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, Pragma_Max_Entry_Queue_Length):
|
||
Refine error message to indicate that the pragma must apply to
|
||
an entry declaration, not just an entry.
|
||
|
||
2020-07-27 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch6.adb (Make_Build_In_Place_Iface_Call_In_Allocator):
|
||
Revert previous patch, and add a missing type conversion to
|
||
displace the pointer to the allocated object to reference the
|
||
target dispatch table.
|
||
|
||
2020-07-27 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): Restore restrictive check on
|
||
view conversions which required matching value of
|
||
Has_Aliased_Components of formals and actuals. Required to avoid
|
||
the regression of ACATS b460005.
|
||
|
||
2020-07-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch12.adb (Instantiate_Package_Body): Add commentary for a
|
||
nesting issue with parent handling and private view switching.
|
||
(Switch_View): Do not skip specific private-dependent subtypes.
|
||
|
||
2020-07-27 Patrick Bernardi <bernardi@adacore.com>
|
||
|
||
* Makefile.rtl: Remove X86_TARGET_PAIRS for x86-lynx178elf.
|
||
|
||
2020-07-27 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Address_Specification_Clause): Do not
|
||
emit a warning when a constant declaration in a generic unit
|
||
overlays a generic In_Parameter.
|
||
|
||
2020-07-27 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Abstract_Overriding): Remove Scope
|
||
comparison test from test related to initial implementation of
|
||
AI12-0042, plus remove the related ??? comment.
|
||
(Derive_Subprogram): Add test requiring that the type extension
|
||
appear in the visible part of its enclosing package when
|
||
checking the overriding requirement of 7.3.2(6.1/4), as
|
||
clarified by AI12-0382.
|
||
|
||
2020-07-27 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_N_Attribute_Reference) Extend
|
||
existing workaround to 'Pos.
|
||
|
||
2020-07-27 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/s-rannum.ads, libgnat/s-rannum.adb: Add Put_Image.
|
||
This will be inherited by the language-defined packages
|
||
Ada.Numerics.Discrete_Random and Ada.Numerics.Float_Random.
|
||
* libgnat/a-convec.ads, libgnat/a-convec.adb: Add Put_Image.
|
||
* libgnat/s-putima.ads: Add pragma Preelaborate, so this can be
|
||
imported into containers packages.
|
||
* libgnat/s-putima.adb: Move Digit to private part; otherwise
|
||
reference to Base is illegal in Preelaborate generic.
|
||
* exp_put_image.adb (Build_Record_Put_Image_Procedure): Use the
|
||
base type.
|
||
|
||
2020-07-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* aspects.ads: Declare CUDA_Global as aspect.
|
||
* einfo.ads: Use Flag118 for the Is_CUDA_Kernel flag.
|
||
(Set_Is_CUDA_Kernel): New function.
|
||
(Is_CUDA_Kernel): New function.
|
||
* einfo.adb (Set_Is_CUDA_Kernel): New function.
|
||
(Is_CUDA_Kernel): New function.
|
||
* par-prag.adb (Prag): Ignore Pragma_CUDA_Execute and
|
||
Pragma_CUDA_global.
|
||
* rtsfind.ads: Define CUDA.Driver_Types.Stream_T and
|
||
CUDA.Vector_Types.Dim3 entities
|
||
* rtsfind.adb: Define CUDA_Descendant subtype.
|
||
(Get_Unit_Name): Handle CUDA_Descendant packages.
|
||
* sem_prag.ads: Mark CUDA_Global as aspect-specifying pragma.
|
||
* sem_prag.adb (Analyze_Pragma): Validate Pragma_CUDA_Execute and
|
||
Pragma_CUDA_Global.
|
||
* snames.ads-tmpl: Define Name_CUDA_Execute and Name_CUDA_Global.
|
||
|
||
2020-07-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch13.ads (Same_Representation): Renamed as
|
||
Has_Compatible_Representation because now the order of the arguments
|
||
are taken into account; its formals are also renamed as Target_Type
|
||
and Operand_Type.
|
||
* sem_ch13.adb (Same_Representation): Renamed and moved to place the
|
||
routine in alphabetic order.
|
||
* sem_attr.adb (Prefix_With_Safe_Accessibility_Level): New subprogram.
|
||
(Resolve_Attribute): Check that the prefix of attribute Access
|
||
does not have a value conversion of an array type.
|
||
* sem_res.adb (Resolve_Actuals): Remove restrictive check on view
|
||
conversions which required matching value of Has_Aliased_Components of
|
||
formals and actuals.
|
||
* exp_ch4.adb (Handle_Changed_Representation): Update call to
|
||
Same_Representation.
|
||
(Expand_N_Type_Conversion): Update call to Same_Representation.
|
||
* exp_ch5.adb (Change_Of_Representation): Update call to
|
||
Same_Representation.
|
||
* exp_ch6.adb (Add_Call_By_Copy_Code): Update call to
|
||
Same_Representation.
|
||
(Expand_Actuals): Update call to Same_Representation.
|
||
(Expand_Call_Helper): Update call to Same_Representation.
|
||
|
||
2020-07-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* output.ads (Push_Output, Pop_Output): New procedures.
|
||
* output.adb (FD_Array, FD_Stack, FD_Stack_Idx): New type and vars.
|
||
(Push_Output, Pop_Output): New procedures.
|
||
|
||
2020-07-16 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Full_Type_Declaration): Ensure a _master
|
||
declaration on limited types that might have tasks.
|
||
* exp_ch9.adb (Build_Master_Renaming): For private types, if we
|
||
are processing declarations in the private part, ensure that
|
||
master is inserted before its full declaration; otherwise the
|
||
master renaming may be inserted in the public part of the
|
||
package (and hence before the declaration of its _master
|
||
variable).
|
||
|
||
2020-07-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): A renames-as-body
|
||
freezes the expression of any expression function that it
|
||
renames.
|
||
|
||
2020-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Container_Aggregate): Add semantic
|
||
checks for indexed aggregates, including component associations
|
||
and iterated component associations.
|
||
* exp_aggr.adb (Expand_Iterated_Component): New subprogram,
|
||
subsidiary of Expand_Container_Aggreggate, used for positional,
|
||
named, and indexed aggregates.
|
||
(Aggregate_Size): New subprogram to precompute the size of an
|
||
indexed aggregate prior to call to allocate it.
|
||
(Expand_Range_Component): New subprogram so generate loop for a
|
||
component association given by a range or a subtype name in an
|
||
indexed aggregate.
|
||
|
||
2020-07-16 Bob Duff <duff@adacore.com>
|
||
|
||
* bindo-diagnostics.adb (Output_Invocation_Related_Suggestions):
|
||
Use Cumulative_Restrictions.Set, because Restriction_Active only
|
||
works at compile time.
|
||
|
||
2020-07-16 Bob Duff <duff@adacore.com>
|
||
|
||
* gnatbind.adb (Gnatbind): For No_Tasks_Unassigned_To_CPU, check
|
||
that CPU has been set on the main subprogram.
|
||
(Restriction_Could_Be_Set): Don't print
|
||
No_Tasks_Unassigned_To_CPU if it would violate the
|
||
above-mentioned rule. Up to now, all restrictions were checked
|
||
by the compiler, with the binder just checking for consistency.
|
||
But the compiler can't know which subprogram is the main, so
|
||
it's impossible to check this one at compile time.
|
||
* restrict.ads, restrict.adb: Misc refactoring. Change Warning
|
||
to Warn, for consistency, since most already use Warn.
|
||
(Set_Restriction): New convenience routine.
|
||
* sem_ch13.adb (Attribute_CPU): Check
|
||
No_Tasks_Unassigned_To_CPU.
|
||
* sem_prag.adb (Pragma_CPU): Check No_Tasks_Unassigned_To_CPU.
|
||
Misc refactoring.
|
||
* tbuild.ads, tbuild.adb (Sel_Comp): New functions for building
|
||
selected components.
|
||
|
||
2020-07-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* impunit.adb (Non_Imp_File_Names_95): Remove duplicate entry.
|
||
|
||
2020-07-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* Makefile.rtl: replace a-numaux__x86.ads by
|
||
a-numaux__libc-x86.ads and a-numaux__x86.adb by
|
||
a-numaux__dummy.adb.
|
||
* libgnat/a-numaux__x86.ads, libgnat/a-numaux__x86.adb: Removed.
|
||
* libgnat/a-numaux__dummy.adb: New.
|
||
|
||
2020-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Load_Parent_Of_Generic): If an ancestor is an
|
||
instance whose source appears within a formal package of the
|
||
current unit, there is no body of the ancestor needed to
|
||
complete the current generic compilation.
|
||
|
||
2020-07-16 Doug Rupp <rupp@adacore.com>
|
||
|
||
* libgnat/s-thread__ae653.adb (taskVarAdd): Defunct, so remove.
|
||
(Current_ATSD): Make it a TLS variable.
|
||
(OK): Move to package scope.
|
||
(System.Storage_Elements): Import and Use.
|
||
|
||
2020-07-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Accept_Statement): Set Parent of the
|
||
created block entity to the created block statement.
|
||
|
||
2020-07-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* scng.adb (Scan): Detect wide characters not in NFKC.
|
||
* libgnat/a-chahan.adb, libgnat/a-chahan.ads,
|
||
libgnat/a-wichha.adb, libgnat/a-wichha.ads,
|
||
libgnat/a-wichun.adb, libgnat/a-wichun.ads,
|
||
libgnat/a-zchhan.adb, libgnat/a-zchhan.ads,
|
||
libgnat/a-zchuni.adb, libgnat/a-zchuni.ads (Is_NFKC): New.
|
||
* libgnat/s-utf_32.ads, libgnat/s-utf_32.adb (Is_UTF_32_NFKC):
|
||
New.
|
||
|
||
2020-07-16 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/s-rident.ads (Restriction_Id): Add
|
||
No_Tasks_Unassigned_To_CPU.
|
||
|
||
2020-07-16 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_aggr.adb (Max_Aggregate_Size): Use the small size of 64
|
||
when copying is needed (for example, for the initialization of a
|
||
local variable, and for assignment statements). Use the larger
|
||
size when static allocation can be done without copying.
|
||
|
||
2020-07-16 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/s-rident.ads (No_Dynamic_CPU_Assignment): New
|
||
restriction. Add it to all relevant profiles.
|
||
* sem_ch13.adb (Attribute_CPU): Check No_Dynamic_CPU_Assignment
|
||
restriction.
|
||
(Attribute_CPU, Attribute_Dispatching_Domain,
|
||
Attribute_Interrupt_Priority): Remove error checks -- these are
|
||
checked in the parser.
|
||
* sem_prag.adb (Pragma_CPU): Check No_Dynamic_CPU_Assignment
|
||
restriction. We've got a little violation of DRY here.
|
||
* sem.ads, sem_ch3.ads: Minor comment fix.
|
||
|
||
2020-07-16 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch4.adb (Try_Container_Indexing): When the prefix type is
|
||
an access type, change it to the designated type, change the
|
||
prefix to an explicit dereference, and emit a ?d? warning for
|
||
the implicit dereference. Include a ??? comment questioning
|
||
whether this is the right context in which to perform the
|
||
implicit dereferencing.
|
||
|
||
2020-07-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch13.adb (Validate_Literal_Aspect): Ensure that the
|
||
parameter is not aliased. Minor reformatting.
|
||
* sem_util.adb (Statically_Names_Object): Update comment.
|
||
|
||
2020-07-16 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* sem_case.adb (Build_Choice): Set Is_Static_Expression flag.
|
||
(Lit_Of): Update specification to mention Is_Static_Expression
|
||
flag.
|
||
* sem_ch13.adb (Membership_Entry): Check for N_Others_Choice.
|
||
|
||
2020-07-16 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch6.adb (Null_Exclusions_Match): New function to check
|
||
that the null exclusions match, including in the case addressed
|
||
by this AI.
|
||
(Check_Conformance): Remove calls to Comes_From_Source
|
||
when calling Null_Exclusions_Match. These are not
|
||
needed, as indicated by an ancient "???" comment.
|
||
|
||
2020-07-16 Justin Squirek <squirek@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Type_Conversion): Remove flawed test for
|
||
whether "statically deeper" accessibility rules apply to a given
|
||
target type and instead use the new routine
|
||
Statically_Deeper_Relation_Applies.
|
||
(Statically_Deeper_Relation_Applies): Created to centralize the
|
||
calculation of whether a target type within a conversion must
|
||
have static accessibility checks.
|
||
* sem_ch13.adb (Check_One_Function): Minor comment revision.
|
||
|
||
2020-07-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* fe.h (Is_OK_Static_Expression): Delete.
|
||
* sem_eval.ads (Is_OK_Static_Expression): Remove WARNING note.
|
||
|
||
2020-07-16 Justin Squirek <squirek@adacore.com>
|
||
|
||
* einfo.adb, einfo.ads (Is_Named_Access_Type): Created for
|
||
readability.
|
||
* sem_ch6.adb (Check_Return_Construct_Accessibility): Add
|
||
special cases for formals.
|
||
* sem_util.adb (Object_Access_Level): Add handling of access
|
||
attributes and named access types in the general case.
|
||
|
||
2020-07-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_case.adb (Build_Choice): Simplify.
|
||
|
||
2020-07-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* frontend.adb: Disable Initialize_Scalars on runtime files.
|
||
|
||
2020-07-16 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Add
|
||
Comes_From_Source call.
|
||
|
||
2020-07-16 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Access_To_Protected_Op): Initialize
|
||
variable Sub to Empty to avoid false positive reported by
|
||
Codepeer.
|
||
|
||
2020-07-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch8.adb (Note_Redundant_Use): Add missing warning tag.
|
||
Do not check for redundant use clauses in predefined units to avoid
|
||
misleading warnings that may occur as part of a rtsfind load.
|
||
|
||
2020-07-16 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_attr.adb (Has_By_Protected_Procedure_Prefixed_View): New
|
||
subprogram.
|
||
(Expand_Access_To_Protected_Op): Adding support for prefixed
|
||
class-wide view with By_Protected_Procedure convention.
|
||
* sem_attr.adb (Get_Convention): New subprogram.
|
||
(Get_Kind): Adapted to use Get_Convention.
|
||
* sem_ch4.adb (Try_By_Protected_Procedure_Prefixed_View): New
|
||
subprogram.
|
||
(Analyze_Selected_Component): Invoke
|
||
Try_By_Protected_Procedure_Prefixed_View.
|
||
* sem_util.ads (Is_By_Protected_Procedure): New subprogram.
|
||
* sem_util.adb (Is_By_Protected_Procedure): New subprogram.
|
||
|
||
2020-07-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-ststop.ads: Fix typo.
|
||
* libgnat/s-ststop.adb (Read, Write): Fix block number
|
||
computation to avoid overflows in case of large strings.
|
||
|
||
2020-07-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-genbig.adb ("**"): Remove capacity limit check.
|
||
Improve code by using an extended return.
|
||
(Normalize): Perform capacity limit check here instead which is
|
||
the centralized place where (potentially large) big integers are
|
||
allocated.
|
||
|
||
2020-07-16 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Type_Conversion): Handle the case of
|
||
applying an invariant check for a conversion to a class-wide
|
||
type whose root type has a type invariant, when the conversion
|
||
appears within the immediate scope of the type and the
|
||
expression is of a specific tagged type.
|
||
* sem_ch3.adb (Is_Private_Primitive): New function to determine
|
||
whether a primitive subprogram is a private operation.
|
||
(Check_Abstract_Overriding): Enforce the restriction imposed by
|
||
AI12-0042 of requiring overriding of an inherited nonabstract
|
||
private operation when the ancestor has a class-wide type
|
||
invariant and the ancestor's private operation is visible.
|
||
(Derive_Subprogram): Set Requires_Overriding on a subprogram
|
||
inherited from a visible private operation of an ancestor to
|
||
which a Type_Invariant'Class expression applies.
|
||
|
||
2020-07-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_util.adb (Find_Overlaid_Entity): Fix style in comment.
|
||
(Note_Possible_Modification): Simplify repeated calls to Ekind.
|
||
|
||
2020-07-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb (Flatten): Adjust description.
|
||
(Convert_To_Positional): Remove obsolete ??? comment and use
|
||
Compile_Time_Known_Value in the final test.
|
||
|
||
2020-07-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* par-ch4.adb (P_Iterated_Component_Association): Extended to
|
||
recognzize the similar Iterated_Element_Association. This node
|
||
is only generated when an explicit Key_Expression is given.
|
||
Otherwise the distinction between the two iterated forms is done
|
||
during semantic analysis.
|
||
* sinfo.ads: New node N_Iterated_Element_Association, for
|
||
Ada202x container aggregates. New field Key_Expression.
|
||
* sinfo.adb: Subprograms for new node and newn field.
|
||
* sem_aggr.adb (Resolve_Iterated_Component_Association): Handle
|
||
the case where the Iteration_Scheme is an
|
||
Iterator_Specification.
|
||
* exp_aggr.adb (Wxpand_Iterated_Component): Handle a component
|
||
with an Iterated_Component_Association, generate proper loop
|
||
using given Iterator_Specification.
|
||
* exp_util.adb (Insert_Axtions): Handle new node as other
|
||
aggregate components.
|
||
* sem.adb, sprint.adb: Handle new node.
|
||
* tbuild.adb (Make_Implicit_Loop_Statement): Handle properly a
|
||
loop with an Iterator_ specification.
|
||
|
||
2020-07-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-stposu.adb (Allocate_Any_Controlled): Fix logic in
|
||
lock/unlock.
|
||
|
||
2020-07-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_util.adb (Is_Object_Reference): Return True on
|
||
N_Target_Name.
|
||
|
||
2020-07-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Add proper
|
||
handling of Aspect_Predicate_Failure, consistent with
|
||
Check_Aspect_At_Freeze_Point.
|
||
|
||
2020-07-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch13.adb (Check_Aspect_Too_Late): Mention -gnat2020 switch
|
||
in error message.
|
||
|
||
2020-07-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (Delayed Freezing and Elaboration): Adjust description.
|
||
* freeze.adb (Freeze_Object_Declaration): Likewise.
|
||
* sem_ch3.adb (Delayed_Aspect_Present): Likewise. Do not return
|
||
true for Alignment.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Do not always delay
|
||
for Alignment. Moreover, for Alignment and various Size aspects,
|
||
do not delay if the expression is an attribute whose prefix is the
|
||
Standard package.
|
||
|
||
2020-07-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch6.adb (Requires_Atomic_Or_Volatile_Copy): Return false
|
||
inside an initialization procedure.
|
||
|
||
2020-07-15 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* sem_util.adb (Is_Renaming): Add ekind checks.
|
||
|
||
2020-07-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* doc/gnat_ugn/gnat_utility_programs.rst: Remove doc on obsolete
|
||
tools.
|
||
* gnat_ugn.texi: Regenerate.
|
||
|
||
2020-07-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Type_Conversion): Protect against null
|
||
entity. Add proper tag for -gnatwr warning.
|
||
|
||
2020-07-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Procedure_Call): Detect use of operators
|
||
in a procedure call.
|
||
* sem_util.adb: Minor edit.
|
||
|
||
2020-07-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_Delta_Or_Update): Apply scalar
|
||
range checks against the base type of an index type, not against
|
||
the index type itself.
|
||
|
||
2020-07-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (Delayed Freezing and Elaboration): Minor tweaks.
|
||
Document the discrepancy between the aspect and the non-aspect
|
||
cases for alignment settings in object declarations.
|
||
|
||
2020-07-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch3.adb (Freeze_Type): Remove warning in expander,
|
||
replaced by a corresponding error in sem_ch13.adb. Replace
|
||
RTE_Available by RTU_Loaded to avoid adding unnecessary
|
||
dependencies.
|
||
* sem_ch13.adb (Associate_Storage_Pool): New procedure.
|
||
(Analyze_Attribute_Definition_Clause
|
||
[Attribute_Simple_Storage_Pool| Attribute_Storage_Pool]): Call
|
||
Associate_Storage_Pool to add proper legality checks on
|
||
subpools.
|
||
|
||
2020-07-15 Yannick Moy <moy@adacore.com>
|
||
|
||
* libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads,
|
||
libgnat/a-cbhama.adb, libgnat/a-cbhama.ads,
|
||
libgnat/a-cbhase.adb, libgnat/a-cbhase.ads,
|
||
libgnat/a-cbmutr.adb, libgnat/a-cbmutr.ads,
|
||
libgnat/a-cborma.adb, libgnat/a-cborma.ads,
|
||
libgnat/a-cborse.adb, libgnat/a-cborse.ads,
|
||
libgnat/a-cbprqu.adb, libgnat/a-cbprqu.ads,
|
||
libgnat/a-cbsyqu.adb, libgnat/a-cbsyqu.ads,
|
||
libgnat/a-cdlili.adb, libgnat/a-cdlili.ads,
|
||
libgnat/a-cidlli.adb, libgnat/a-cidlli.ads,
|
||
libgnat/a-cihama.adb, libgnat/a-cihama.ads,
|
||
libgnat/a-cihase.adb, libgnat/a-cihase.ads,
|
||
libgnat/a-cimutr.adb, libgnat/a-cimutr.ads,
|
||
libgnat/a-ciorma.adb, libgnat/a-ciorma.ads,
|
||
libgnat/a-ciormu.adb, libgnat/a-ciormu.ads,
|
||
libgnat/a-ciorse.adb, libgnat/a-ciorse.ads,
|
||
libgnat/a-cohama.adb, libgnat/a-cohama.ads,
|
||
libgnat/a-cohase.adb, libgnat/a-cohase.ads,
|
||
libgnat/a-coinve.adb, libgnat/a-coinve.ads,
|
||
libgnat/a-comutr.adb, libgnat/a-comutr.ads,
|
||
libgnat/a-convec.adb, libgnat/a-convec.ads,
|
||
libgnat/a-coorma.adb, libgnat/a-coorma.ads,
|
||
libgnat/a-coormu.adb, libgnat/a-coormu.ads,
|
||
libgnat/a-coorse.adb, libgnat/a-coorse.ads: Add SPARK_Mode =>
|
||
Off.
|
||
|
||
2020-07-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb (Delayed_Aspect_Present): Fix oversight in loop.
|
||
* freeze.adb (Freeze_Object_Declaration): Use Declaration_Node
|
||
instead of Parent for the sake of consistency.
|
||
|
||
2020-07-15 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_attr.adb (Resolve_Attribute): Resolve overloaded
|
||
N_Selected_Component prefix of 'Access. Required to handle
|
||
overloaded prefixed view of protected subprograms.
|
||
|
||
2020-07-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* doc/gnat_ugn/about_this_guide.rst: Remove old section and
|
||
update for Ada 202x.
|
||
* doc/gnat_ugn/getting_started_with_gnat.rst: Add a system
|
||
requirements section. Remove obsolete section and minimal
|
||
rewording on the getting started section.
|
||
* gnat_ugn.texi: Regenerate.
|
||
|
||
2020-07-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Assign_Array): Use short-circuit operator
|
||
(style).
|
||
* sem_res.adb (Resolve_Indexed_Component): Fix style in comment.
|
||
* sem_util.adb (Is_Effectively_Volatile_Object): Handle slices
|
||
just like indexed components; handle qualified expressions and
|
||
type conversions lie in Is_OK_Volatile_Context.
|
||
(Is_OK_Volatile_Context): Handle qualified expressions just like
|
||
type conversions.
|
||
|
||
2020-07-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Atomic_Components): Simplify with Ekind_In.
|
||
(Complex_Representation): Fix type of E_Id, which just like when
|
||
for pragma Atomic_Components will hold an N_Identifier node, not
|
||
an entity.
|
||
* sem_util.adb (Is_Effectively_Volatile): Refactor to avoid
|
||
unnecessary computation.
|
||
|
||
2020-07-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* inline.adb, inline.ads
|
||
(Inline_Static_Expression_Function_Call): Renamed
|
||
Inline_Static_Function_Call.
|
||
* sem_ch13.adb (Analyze_Aspect_Static): Allow static intrinsic
|
||
imported functions under -gnatX.
|
||
* sem_util.ads, sem_util.adb (Is_Static_Expression_Function):
|
||
Renamed Is_Static_Function.
|
||
(Is_Static_Expression_Function_Call): Renamed
|
||
Is_Static_Function_Call.
|
||
* sem_ch6.adb, sem_elab.adb, sem_res.adb: Update calls to
|
||
Is_Static_Function*.
|
||
* sem_eval.adb (Fold_Dummy, Eval_Intrinsic_Call, Fold_Shift):
|
||
New.
|
||
(Eval_Call): Add support for intrinsic calls, code refactoring.
|
||
(Eval_Entity_Name): Code refactoring.
|
||
(Eval_Logical_Op): Update comment.
|
||
(Eval_Shift): Call Fold_Shift. Update comments.
|
||
* par-prag.adb (Par [Pragma_Extensions_Allowed]): Set
|
||
Ada_Version to Ada_Version_Type'Last to handle
|
||
Extensions_Allowed (On) consistently.
|
||
* opt.ads (Extensions_Allowed): Update documentation.
|
||
* sem_attr.adb: Update comment.
|
||
* doc/gnat_rm/implementation_defined_pragmas.rst: Update
|
||
documentation of Extensions_Allowed.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-07-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Iterated_Component_Association): Ensure
|
||
Typ is never accessed uninitialized.
|
||
|
||
2020-07-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* doc/gnat_rm/representation_clauses_and_pragmas.rst: Fix typo.
|
||
* gnat_rm.texi: Regenerate.
|
||
* libgnat/s-secsta.ads (Memory_Alignment): Likewise.
|
||
|
||
2020-07-15 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch6.adb: Add a comma and fix a typo (machinary =>
|
||
machinery) in comment.
|
||
* exp_aggr.adb: Reformat, fix capitalization, and add a couple
|
||
of commas in a comment. Adjust columns in several code
|
||
fragments.
|
||
* sem_aggr.adb: Reformat and add a comma in a comment.
|
||
|
||
2020-07-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Timed_Entry_Call): Use the Sloc of
|
||
the delay statement in the expansion.
|
||
|
||
2020-07-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Iterated_Component_Association): New
|
||
procedure, internal to Resolve_Container_Aggregate, to complete
|
||
semantic analysis of Iterated_Component_Associations.
|
||
* exp_aggr.adb (Expand_Iterated_Component): New procedure,
|
||
internal to Expand_Container_Aggregate, to expand the construct
|
||
into an implicit loop that performs individual insertions into
|
||
the target aggregate.
|
||
|
||
2020-07-15 Justin Squirek <squirek@adacore.com>
|
||
|
||
* exp_ch6.adb (Make_Build_In_Place_Call_Allocator): Normalize
|
||
the associated node for internally generated objects to be like
|
||
their SOAAT counter-parts.
|
||
|
||
2020-07-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/g-socket.adb (Wait_On_Socket): Fix potentially
|
||
uninitialized variable.
|
||
|
||
2020-07-10 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch8.adb (Find_Direct_Name): Fix code to match the comment.
|
||
|
||
2020-07-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Address>:
|
||
Issue an unconditional warning for an overlay that changes the
|
||
scalar storage order.
|
||
|
||
2020-07-10 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch8.adb (Is_Actual_Parameter): Fix processing when parent
|
||
is a procedure call statement; extend comment.
|
||
|
||
2020-07-10 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Expression_With_Actions): Check the rules
|
||
of AI12-0368, and mark the declare expression as static or known
|
||
at compile time as appropriate.
|
||
* sem_ch4.adb: Minor reformatting.
|
||
* libgnat/a-stoufo.ads, libgnat/a-stoufo.adb: Allow up to 9
|
||
replacement parameters. I'm planning to use this in the test
|
||
case for this ticket.
|
||
|
||
2020-07-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Access_Subprogram_Wrapper_Body): Create a
|
||
proper signature when the access type denotes a parameterless
|
||
subprogram.
|
||
* exp_ch6.adb (Expand_Call): Handle properly a parameterless
|
||
indirect call when the corresponding access type has contracts.
|
||
|
||
2020-07-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb
|
||
(Convert_To_Positional): Add Dims local variable
|
||
and pass it in calls to Is_Flat and Flatten.
|
||
(Check_Static_Components): Pass Dims in call to
|
||
Is_Static_Element.
|
||
(Nonflattenable_Next_Aggr): New predicate.
|
||
(Flatten): Add Dims parameter and Expr local variable. Call
|
||
Nonflattenable_Next_Aggr in a couple of places. In the case
|
||
when an Others choice is present, check that the element is
|
||
either static or a nested aggregate that can be flattened,
|
||
before disregarding the replication limit for elaboration
|
||
purposes. Check that a nested array is flattenable in the case
|
||
of a multidimensional array in any position. Remove redundant
|
||
check in the Others case and pass Dims in call to
|
||
Is_Static_Element. Use Expr variable.
|
||
(Is_Flat): Change type of Dims parameter from Int to Nat.
|
||
(Is_Static_Element): Add Dims parameter. Replace tests on
|
||
literals with call to Compile_Time_Known_Value. If everything
|
||
else failed and the dimension is 1, preanalyze the expression
|
||
before calling again Compile_Time_Known_Value on it. Return
|
||
true for null.
|
||
(Late_Expansion): Do not expand further if the assignment to the
|
||
target can be done directly by the back end.
|
||
|
||
2020-07-10 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* osint-c.adb (Set_File_Name): Preserve casing of file.
|
||
* osint.adb (File_Names_Equal): New.
|
||
(Executable_Name): Use File_Equal instead of
|
||
Canonical_Case_File_Name.
|
||
|
||
2020-07-10 Pascal Obry <obry@adacore.com>
|
||
|
||
* libgnat/g-socket.adb (Wait_On_Socket): Fix memory leaks and
|
||
file descriptor leaks. A memory leak was created each time the
|
||
routine was called without a selector (Selector = Null). Also,
|
||
in case of exception in the routine a memory leak and descriptor
|
||
leak was created as the created file selector was not closed.
|
||
|
||
2020-07-10 Pascal Obry <obry@adacore.com>
|
||
|
||
* libgnat/g-socket.adb: Minor style fixes.
|
||
|
||
2020-07-10 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_util.adb
|
||
(Immediate_Context_Implies_Is_Potentially_Unevaluated): New
|
||
subprogram.
|
||
(Is_Potentially_Unevaluated): Do not stop climbing the tree on
|
||
the first candidate subexpression; required to handle nested
|
||
expressions.
|
||
|
||
2020-07-10 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_aggr.adb, exp_spark.adb, sem_ch13.ads, sem_ch13.adb,
|
||
snames.ads-tmpl: Minor reformatting and typo fixes.
|
||
|
||
2020-07-10 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.adb (Has_Enabled_Property): Add handling of
|
||
non-variable objects.
|
||
|
||
2020-07-10 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Completion): Refactor chained
|
||
if-then-elsif-... statement to be more like a case
|
||
statement (note: we can't simply use case statement because of
|
||
Is_Intrinsic_Subprogram in the first condition).
|
||
|
||
2020-07-10 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* einfo.ads (E_Protected_Object): Enumeration literal removed.
|
||
* lib-xref.ads (Xref_Entity_Letters): Remove reference to
|
||
removed literal.
|
||
* sem_ch3.adb (Check_Completion): Likewise.
|
||
* sem_util.adb (Has_Enabled_Property): Likewise.
|
||
|
||
2020-07-10 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_aggr.adb (Max_Aggregate_Size): Use small limit for
|
||
aggregate inside subprograms.
|
||
* sprint.adb (Sprint_Node_Actual [N_Object_Declaration]): Do not
|
||
print the initialization expression if the No_Initialization
|
||
flag is set.
|
||
* sem_util.ads, sem_util.adb (Predicate_Enabled): New.
|
||
* exp_ch4.adb (Expand_N_Type_Conversion): Code cleanup and apply
|
||
predicate check consistently.
|
||
* exp_ch6.adb (Expand_Actuals.By_Ref_Predicate_Check): Ditto.
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Ditto.
|
||
* exp_ch3.adb (Build_Assignment): Revert handling of predicate
|
||
check for allocators with qualified expressions, now handled in
|
||
Freeze_Expression directly.
|
||
* sem_aggr.adb: Fix typos.
|
||
* checks.adb: Code refactoring: use Predicate_Enabled.
|
||
(Apply_Predicate_Check): Code cleanup.
|
||
* freeze.adb (Freeze_Expression): Freeze the subtype mark before
|
||
a qualified expression on an allocator.
|
||
* exp_util.ads, exp_util.adb (Within_Internal_Subprogram):
|
||
Renamed Predicate_Check_In_Scope to clarify usage, refine
|
||
handling of predicates within init procs which should be enabled
|
||
when the node comes from source.
|
||
* sem_ch13.adb (Freeze_Entity_Checks): Update call to
|
||
Predicate_Check_In_Scope.
|
||
|
||
2020-07-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Array_Comparison): Reformat.
|
||
(Expand_Concatenate): Use standard size values directly and use
|
||
Standard_Long_Long_Unsigned instead of RE_Long_Long_Unsigned.
|
||
(Expand_Modular_Op): Use Standard_Long_Long_Integer in case the
|
||
modulus is larger than Integer.
|
||
(Expand_N_Op_Expon): Use standard size value directly.
|
||
(Narrow_Large_Operation): Use Uint instead of Nat for sizes and
|
||
use a local variable for the size of the type.
|
||
(Get_Size_For_Range): Return Uint instead of Nat.
|
||
(Is_OK_For_Range): Take Uint instead of Nat.
|
||
|
||
2020-07-10 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch6.adb (Make_Build_In_Place_Iface_Call_In_Allocator):
|
||
Build the internal anonymous access type using as a reference
|
||
the designated type imposed by the context (instead of using the
|
||
return type of the called function).
|
||
|
||
2020-07-10 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): Protect call to
|
||
Is_Valued_Procedure.
|
||
|
||
2020-07-10 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Process_Discriminants): Revert recent change to
|
||
location of Set_Ekind; detect effectively volatile discriminants
|
||
by their type only.
|
||
|
||
2020-07-10 Joffrey Huguet <huguet@adacore.com>
|
||
|
||
* libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Add global
|
||
contract (Global => null) to all functions.
|
||
|
||
2020-07-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* aspects.ads: Add Aspect_Aggregate.
|
||
* exp_aggr.adb (Expand_Container_Aggregate): Expand positional
|
||
container aggregates into separate initialization and insertion
|
||
operations.
|
||
* sem_aggr.ads (Resolve_Container_Aggregate): New subprogram.
|
||
* sem_aggr.adb (Resolve_Container_Aggregate): Parse aspect
|
||
aggregate, establish element types and key types if present, and
|
||
resolve aggregate components.
|
||
* sem_ch13.ads (Parse_Aspect_Aggregate): Public subprogram used
|
||
in validation, resolution and expansion of container aggregates
|
||
* sem_ch13.adb
|
||
(Parse_Aspect_Aggregate): Retrieve names of primitives specified
|
||
in aspect specification.
|
||
(Validate_Aspect_Aggregate): Check legality of specified
|
||
operations given in aspect specification, before nane
|
||
resolution.
|
||
(Resolve_Aspect_Aggregate): At freeze point resolve operations
|
||
and verify that given operations have the required profile.
|
||
* sem_res.adb (Resolve): Call Resolve_Aspect_Aggregate if aspect
|
||
is present for type.
|
||
* snames.ads-tmpl: Add names used in aspect Aggregate: Empty,
|
||
Add_Named, Add_Unnamed, New_Indexed, Assign_Indexed.
|
||
|
||
2020-07-10 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-shabig.o.
|
||
* libgnat/s-shabig.ads: New file to share definitions.
|
||
* libgnat/s-genbig.ads, libgnat/s-genbig.adb: Reorganized to
|
||
make it more generic and flexible in terms of memory allocation
|
||
and data structure returned.
|
||
(To_String): Moved to System.Generic_Bignums to allow sharing
|
||
this code.
|
||
(Big_And, Big_Or, Big_Shift_Left, Big_Shift_Right): New.
|
||
* libgnat/s-bignum.adb, libgnat/s-bignum.ads: Adapt to new
|
||
System.Generic_Bignums spec.
|
||
* libgnat/a-nbnbin.adb: Likewise.
|
||
(To_String): Moved to System.Generic_Bignums to allow sharing
|
||
this code.
|
||
* libgnat/a-nbnbre.adb (Normalize): Fix handling of Num = 0
|
||
leading to an exception.
|
||
|
||
2020-07-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Expr_Types): Replace call to Find_Aspect
|
||
with call to Find_Value_Of_Aspect and adjust accordingly.
|
||
|
||
2020-07-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.adb (Write_Field24_Name): Handle E_Loop_Parameter.
|
||
* freeze.adb (Freeze_Expr_Types): Freeze the iterator type used as
|
||
Default_Iterator of the name of an N_Iterator_Specification node.
|
||
|
||
2020-07-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.adb (Determine_Range): Deal with Min and Max attributes.
|
||
* exp_ch6.adb (Expand_Call_Helper): When generating code to pass
|
||
the accessibility level to the caller in the case of an actual
|
||
which is an if-expression, also remove the nodes created after
|
||
the declaration of the dummy temporary.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use Natural as
|
||
the type of the minimum accessibility level object.
|
||
|
||
2020-07-10 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Process_Discriminants): Set Ekind of the
|
||
processed discriminant entity before passing to
|
||
Is_Effectively_Volatile, which was crashing on a failed
|
||
assertion.
|
||
* sem_prag.adb (Analyze_External_Property_In_Decl_Part): Prevent
|
||
call to No_Caching_Enabled with entities other than variables,
|
||
which was crashing on a failed assertion.
|
||
(Analyze_Pragma): Style cleanups.
|
||
* sem_util.adb (Is_Effectively_Volatile): Enforce comment with
|
||
an assertion; prevent call to No_Caching_Enabled with entities
|
||
other than variables.
|
||
(Is_Effectively_Volatile_Object): Only call
|
||
Is_Effectively_Volatile on objects, not on types.
|
||
(No_Caching_Enabled): Enforce comment with an assertion.
|
||
|
||
2020-07-10 Yannick Moy <moy@adacore.com>
|
||
|
||
* debug.adb: Update comments to free usage of -gnatdF.
|
||
|
||
2020-07-10 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_Delta_Or_Update): Refactored from
|
||
Expand_SPARK_N_Attribute_Reference; rewrite into N_Aggregate or
|
||
N_Delta_Aggregate depending on what is being rewritten.
|
||
(Expand_SPARK_N_Delta_Aggregate): New routine to expand
|
||
delta_aggregate.
|
||
(Expand_SPARK_N_Attribute_Reference): Call the refactored
|
||
routine.
|
||
|
||
2020-07-10 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Fix
|
||
expansion of attribute Update.
|
||
|
||
2020-07-10 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem.adb (Walk_Library_Items): Fix handling of Ghost units.
|
||
|
||
2020-07-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* tracebak.c [generic implementation]: Add pragma GCC diagnostic
|
||
to disable warning about __builtin_frame_address.
|
||
|
||
2020-07-08 Dmitriy Anisimkov <anisimko@adacore.com>
|
||
|
||
* socket.c [_WIN32] (__gnat_minus_500ms): Parentheses around &&
|
||
operations. Remove notes about TN in comment.
|
||
|
||
2020-07-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* adaint.h (__gnat_expect_portable_execvp): Fix prototype.
|
||
(__gnat_expect_poll): Likewise.
|
||
* expect.c [_WIN32]: Include adaint.h file.
|
||
(__gnat_waitpid): Remove useless variable.
|
||
(__gnat_expect_portable_execvp): Add ATTRIBUTE_UNUSED on parameter.
|
||
* raise-gcc.c [SEH] (__gnat_personality_v0): Add ATTRIBUTE_UNUSED.
|
||
* socket.c [_WIN32] (__gnat_getservbyport): Add ATTRIBUTE_UNUSED on
|
||
a couple of parameters.
|
||
(__gnat_gethostbyname): Likewise.
|
||
(__gnat_gethostbyaddr): Likewise.
|
||
(__gnat_getservbyname): Likewise.
|
||
(__gnat_last_socket_in_set): Use variables local to loops.
|
||
(__gnat_socket_ioctl): Cast 3rd parameter to proper type if _WIN32.
|
||
(__gnat_inet_pton): Cast 2nd parameter to proper type if _WIN32.
|
||
* sysdep.c (__gnat_localtime_tzoff): Remove superfluous test.
|
||
* terminals.c [_WIN32]: Include io.h file.
|
||
(is_gui_app): Remove useless variables and fix unsigned comparison.
|
||
(nt_spawnve): Add ATTRIBUTE_UNUSED on first parameter. Initialize a
|
||
local variable and remove others that are useless. Add missing cast
|
||
(__gnat_setup_child_communication): Remove useless variable and call
|
||
Use proper formatting string in call to sprintf.
|
||
(__gnat_setup_parent_communication): Cast to proper type.
|
||
(find_child_console): Fix prototype and remove useless variable.
|
||
(find_process_handle): Likewise.
|
||
(_gnat_interrupt_process): Move to after __gnat_interrupt_pid.
|
||
(__gnat_reset_tty): Add ATTRIBUTE_UNUSED on parameter, remove return
|
||
(__gnat_setup_winsize): Add ATTRIBUTE_UNUSED on all parameters.
|
||
|
||
2020-07-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Allocator): In the subtype mark case, do
|
||
not apply constraint checks if the No_Initialization flag is set.
|
||
|
||
2020-07-08 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch9.adb
|
||
(Build_Class_Wide_Master): Insert the declaration of _Master
|
||
before its use; required to avoid assertion failure in the
|
||
backend.
|
||
|
||
2020-07-08 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/i-cexten.ads (long_long, unsigned_long_long): Now
|
||
subtypes of Interfaces.C types.
|
||
* libgnat/a-calcon.ads, libgnat/a-calcon.adb
|
||
(To_Unix_Nano_Time): Use Interfaces.C.long_long instead of
|
||
Interfaces.C.Extensions.long_long.
|
||
|
||
2020-07-08 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* debug.adb: Document new switch.
|
||
* exp_ch6.adb (Warn_BIP): New function that warns if the switch
|
||
is on. Call it from Make_Build_In_Place_* functions. Warn_BIP
|
||
is not needed in Make_Build_In_Place_Iface_*, because those call
|
||
Make_Build_In_Place_Call_In_Object_Declaration or similar.
|
||
|
||
2020-07-08 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* erroutc.adb (Matches): Fix comments.
|
||
|
||
2020-07-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* freeze.adb (Has_Decl_In_List): New predicate to check that an
|
||
entity is declared in a list of nodes.
|
||
(Freeze_Expression): Use it to deal with Expression_With_Actions,
|
||
short-circuit expression, if- and case-expression and ensure that
|
||
the freeze node is put onto their Actions list if the entity is
|
||
declared locally.
|
||
|
||
2020-07-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* freeze.adb (In_Expanded_Body): Return true for the body of a
|
||
generated predicate function.
|
||
|
||
2020-07-08 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_attr.adb: Remove hyphens in comments, plus minor code
|
||
reformatting.
|
||
* sem_ch13.adb: Fix typo (that => than).
|
||
* sem_util.adb: Add hyphen in comment ("class-wide").
|
||
|
||
2020-07-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Array_Type): Add comment on implementation
|
||
choice for byte-packed array types.
|
||
|
||
2020-07-08 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Correct prefix of 'Result
|
||
this prefix is a generic function but the enclosing aspect or
|
||
pragma is attached to its instance.
|
||
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Analyze
|
||
generic subprogram formal parameters (including the implicit
|
||
result of a generic function) and only then analyse its aspects,
|
||
because with Relaxed_Initialization the aspect expression might
|
||
refer to those formal parameters.
|
||
* sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Accept
|
||
aspect on generic subprograms; install formal parameters of a
|
||
generic subprogram but not formal parameters of the generic unit
|
||
itself (the previous code was inspired by aspects Post and
|
||
Depends, where both kinds of formals are allowed).
|
||
* sem_util.ads (Enter_Name): Fix name of a subprogram referenced
|
||
in comment.
|
||
|
||
2020-07-08 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
|
||
Analyze_Aspect_Specifications after setting Ekind of the
|
||
analyzed entity.
|
||
* sem_ch13.adb (Analyze_Aspect_Yield): Remove minimal decoration
|
||
of generic subprograms.
|
||
|
||
2020-07-08 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Inline): Check for duplicate
|
||
pragma+aspect Inline. Minor code cleanup.
|
||
(Check_Duplicate_Pragma): Add warning for duplicate
|
||
pragma [No_]Inline under -gnatwr.
|
||
* sinfo.ads, sinfo.adb (Next_Rep_Item): Allow N_Null_Statement
|
||
which can appear when a pragma is rewritten.
|
||
* sem_util.ads, sem_util.adb, bindo-writers.adb: Fix bad
|
||
copy/paste now flagged.
|
||
* libgnat/s-mmap.ads: Remove redundant pragma Inline.
|
||
|
||
2020-07-08 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Build_Class_Wide_Clone_Body): Update entities to
|
||
refer to the right spec.
|
||
|
||
2020-07-08 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch13.adb (Predicate_Failure): Check that the type has
|
||
predicates. Remove the setting of Has_Delayed_Aspects and
|
||
Freeze_Node, because (if the code is legal) it should have
|
||
already been done by the predicate aspect.
|
||
|
||
2020-07-08 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* par-ch4.adb (P_Iterated_Component_Association): Typo
|
||
corrections.
|
||
|
||
2020-07-08 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par.adb (P_Iterator_Specification): Make public for use in
|
||
other parser subprograms.
|
||
* par-ch4.adb (P_Iterated_Component_Association): In Ada_2020,
|
||
recognize use of Iterator_Specification in an element iterator.
|
||
To simplify disambiguation between the two iterator forms, mark
|
||
the component association as carrying an Iterator_Specification
|
||
only when the element iterator (using "OF") is used.
|
||
* par-ch5.adb (P_Loop_Parameter_Specification): In Ada_2020,
|
||
parse iterator filter when present.
|
||
(P_Iterator_Specification): Ditto. Remove declaration of
|
||
P_Iterator_Specification, now in parent unit.
|
||
* exp_ch5.adb (Expand_N_Loop_Statement): Apply Iterator filter
|
||
when present.
|
||
(Expand_Iterator_Loop_Over_Array): Ditto.
|
||
(Expand_Iterator_Loop_Over_Container): Ditto.
|
||
* sem_aggr.adb (Resolve_Array_Aggregate): Emit error nessage if
|
||
an iterated component association includes a iterator
|
||
specificcation with an element iterator, i.e. one that uses the
|
||
OF keyword.
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): Analyze Iterator
|
||
filter when present.
|
||
(Analyze_Loop_Parameter_Specification): Ditto.
|
||
* sinfo.adb: Suprogram bodies for new syntactic element
|
||
Iterator_Filter.
|
||
* sinfo.ads: Add Iterator_Filter to relevant nodes. Structure
|
||
of Component_Association and Iteroted_Component_Association
|
||
nodes is modified to take into account the possible presence of
|
||
an iterator specification in the latter.
|
||
|
||
2020-07-08 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Is_Attribute_Loop_Entry): New
|
||
function for GNATProve.
|
||
|
||
2020-07-08 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Record_Representation_Clause,
|
||
Check_Record_Representation_Clause): Add expected and actual
|
||
size to error message.
|
||
|
||
2020-07-08 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Safe_To_Capture_Value): Return
|
||
True for in-parameters.
|
||
|
||
2020-07-08 Justin Squirek <squirek@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Attribute): Set
|
||
Stores_Attribute_Old_Prefix to generated renamings of 'Old
|
||
constants for later use in generating finalization routines.
|
||
* exp_ch7.adb (Build_Finalizer): Minor reformatting. Use "or
|
||
else" operators.
|
||
|
||
2020-07-08 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Simple_Function_Return): Remove ugly code
|
||
that was copying the return expression, resetting Analyzed
|
||
flags, etc. for the return expression of static expression
|
||
functions.
|
||
* inline.adb (Inline_Static_Expression_Function_Call): Set the
|
||
Parent of the copied expression to that of the call. This avoids
|
||
a blowup in Insert_Actions when GNATprove_Mode is set and there
|
||
are nested SEF calls. Add ??? comment.
|
||
* sem_ch6.adb (Analyze_Expression_Function): In the case of a
|
||
static expression function, create a new copy of the expression
|
||
and replace the function's expression with the copy; the
|
||
original expression is used in the expression function's body
|
||
and will be analyzed and rewritten, and we need to save a clean
|
||
copy for later use in processing static calls to the function.
|
||
This allows removing the kludgy code that was in
|
||
Expand_Simple_Function_Return.
|
||
* sem_eval.adb (Eval_Qualified_Expression): Return immediately
|
||
if any errors have been posted on the qualified expression, to
|
||
avoid blowups when GNATprove_Mode is enabled (or with -gnatd.F),
|
||
since illegal static expressions are handled differently in that
|
||
case and attempting to fold such expressions would fail.
|
||
|
||
2020-07-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* repinfo.adb (Compute_Max_Length): Skip hidden discriminants.
|
||
(List_Record_Layout): Likewise.
|
||
(List_Structural_Record_Layout): Use First_Discriminant instead
|
||
of First_Stored_Discriminant and Next_Discriminant instead of
|
||
Next_Stored_Discriminant to walk the list of discriminants.
|
||
|
||
2020-07-08 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Analyze
|
||
optional boolean expressions.
|
||
* sem_util.ads, sem_util.adb (Has_Relaxed_Initialization): Adapt
|
||
query; update comment.
|
||
|
||
2020-07-08 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* einfo.ads (Current_Value): Fix typo in comment.
|
||
* exp_ch2.adb (Expand_Current_Value): Remove unnecessary "Start
|
||
of processing ..." comment.
|
||
* exp_util.adb (Set_Entity_Current_Value): Fix unbalanced paren
|
||
in comment.
|
||
(Get_Current_Value_Condition): Fix layout in comment.
|
||
* sem_ch5.adb (Analyze_Cond_Then): Replace commented condition
|
||
with pragma Assert.
|
||
|
||
2020-07-08 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_If_Statement): Detect True/False
|
||
prefixed with Standard.
|
||
|
||
2020-07-08 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Add freeze node
|
||
for the Underlying_Full_View if it exists. The freeze node is
|
||
what triggers the generation of the predicate function.
|
||
* freeze.adb: Minor reformatting.
|
||
|
||
2020-07-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Narrow_Large_Operation): Use the base type instead
|
||
of the first subtype of standard integer types as narrower type.
|
||
|
||
2020-07-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Array_Type): Use Ctyp more consistently.
|
||
Move code setting the alignment in the non-packed case to...
|
||
* layout.adb (Layout_Type): ...here.
|
||
|
||
2020-07-07 Bob Duff <duff@adacore.com>
|
||
|
||
* treepr.adb (Print_Node): Add code to test Is_Extension.
|
||
|
||
2020-07-07 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch4.adb (Try_Container_Indexing): Add ??? comment. Protect
|
||
against malformed tree in case of errors.
|
||
|
||
2020-07-07 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* einfo.adb, sem_ch10.adb, sem_ch12.adb, sem_ch8.adb: Use
|
||
Is_Generic_Subprogram.
|
||
|
||
2020-07-07 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Use_Package): Replace low-level,
|
||
error-prone Ekind_In tests with high-level Is_Generic_Subprogram
|
||
and Is_Subprogram.
|
||
|
||
2020-07-07 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Formal_Subprogram_Conformance): New
|
||
subprogram to handle checking without systematically emitting an
|
||
error.
|
||
(Check_Conformance): Update call to
|
||
Check_Formal_Subprogram_Conformance and fix handling of Conforms
|
||
and Errmsg parameters.
|
||
|
||
2020-07-07 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch4.adb (Tagged_Membership): Generate a call to
|
||
CW_Membership instead of using Build_CW_Membership.
|
||
(Expand_N_In): Remove wrong handling of null access types and
|
||
corresponding comment.
|
||
* exp_intr.adb (Expand_Dispatching_Constructor_Call): Generate a
|
||
call to CW_Membership instead of using Build_CW_Membership.
|
||
* rtsfind.ads: Add CW_Membership.
|
||
* exp_atag.ads, exp_atag.adb (Build_CW_Membership): Removed.
|
||
* einfo.ads: Fix typo.
|
||
* libgnat/a-tags.ads, libgnat/a-tags.adb (CW_Membership): Moved
|
||
back to spec.
|
||
|
||
2020-07-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Access_Subprogram_Wrapper_Body): Create
|
||
proper subprogram specification for body, using names in the
|
||
subprogram declaration but distinct entities.
|
||
* exp_ch6.adb (Expand_Call): If this is an indirect call
|
||
involving a subprogram wrapper, insert pointer parameter in list
|
||
of actuals with a parameter association, not as a positional
|
||
parameter.
|
||
|
||
2020-07-07 Justin Squirek <squirek@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Branch): Verify the original node is a
|
||
conditional expression before recursing further.
|
||
(Insert_Level_Assign): Transform assertion into an explicit
|
||
raise.
|
||
|
||
2020-07-07 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_attr.adb (Eval_Attribute): Generalize static evaluation of
|
||
Size attribute references to also handle
|
||
Max_Size_In_Storage_Elements references.
|
||
|
||
2020-07-07 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_util.adb (Is_Potentially_Unevaluated): Code cleanup.
|
||
|
||
2020-07-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.ads (Expander Routines): Update the description of the
|
||
Do_Range_Check mechanism.
|
||
* checks.adb (Selected_Range_Checks): Fix typo.
|
||
* exp_ch9.adb: Add with and use clause for Checks.
|
||
(Actual_Index_Expression): Generate a range check if requested.
|
||
(Entry_Index_Expression): Likewise.
|
||
* sem_attr.adb (Resolve_Attribute) <Attribute_Count>: Call
|
||
Apply_Scalar_Range_Check instead of Apply_Range_Check.
|
||
* sem_ch9.adb (Analyze_Accept_Statement): Likewise.
|
||
* sem_res.adb (Resolve_Entry): Likewise, after having set the
|
||
actual index type on the prefix of the indexed component.
|
||
(Resolve_Indexed_Component): Remove useless conditional construct.
|
||
|
||
2020-07-07 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* contracts.adb (Analyze_Entry_Or_Subprogram_Contract,
|
||
Process_Preconditions_For): Freeze expression that has been
|
||
relocated to pragma Precondition, not the expression which is
|
||
still in the aspect.
|
||
|
||
2020-07-07 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Conformance): Remove unnecessary (and
|
||
wrong) code.
|
||
* sem_ch8.adb (Check_Null_Exclusion): Post error at proper
|
||
location. Introduce new helper Null_Exclusion_Mismatch and fix
|
||
implementation wrt formal subprograms used in generic bodies.
|
||
(Analyze_Subprogram_Renaming): Fix missing setting of
|
||
Error_Msg_Sloc.
|
||
(Analyze_Object_Renaming): Replace "in Anonymous_Access_Kind" by
|
||
Is_Anonymous_Access_Type.
|
||
* sem_util.adb (Has_Null_Exclusion): Fix handling of
|
||
N_Parameter_Specification.
|
||
* sem_ch12.adb (Instantiate_Object): Replace "in
|
||
Anonymous_Access_Kind" by Is_Anonymous_Access_Type.
|
||
|
||
2020-07-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Expr_Types): Freeze the designated type of
|
||
the explicit dereference.
|
||
|
||
2020-07-07 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_util.adb (Is_Potentially_Unevaluated): Protect reading
|
||
attribute Etype.
|
||
|
||
2020-07-07 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/g-catiio.adb (Value, Parse_ISO_8601): Unsuppress
|
||
checks, and don't rely on 'Valid.
|
||
|
||
2020-07-07 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* Makefile.rtl: Remove dead code.
|
||
* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
|
||
Document gnatbind -xdr switch.
|
||
* gnat_ugn.texi: Regenerate.
|
||
|
||
2020-07-07 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* doc/gnat_ugn/building_executable_programs_with_gnat.rst
|
||
(Validity Checking): Add "p" to the list of switches enabled by
|
||
-gnatVa.
|
||
* gnat_ugn.texi: Regenerate.
|
||
|
||
2020-07-07 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Add call
|
||
to Check_Restriction_No_Specification_Of_Aspect.
|
||
* sem_prag.adb (Analyze_Pragma): Likewise.
|
||
* restrict.ads (Check_Restriction_No_Specification_Of_Aspect):
|
||
Mention possible new node kinds in documentation.
|
||
* restrict.adb (Check_Restriction_No_Specification_Of_Aspect):
|
||
Retrieve aspect id from different fields if given node is an
|
||
N_Pragma or an N_Attribute_Definition_Clause.
|
||
|
||
2020-07-07 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* contracts.adb (Add_Invariant_And_Predicate_Checks): Relax the
|
||
condition for doing invariant checks so that in-mode parameters
|
||
of procedures are also checked (required by AI05-0289, and
|
||
restricted to procedures by AI12-0044). This is done in a
|
||
procedure's nested postconditions procedure.
|
||
* exp_ch6.adb (Expand_Actuals): Also perform postcall invariant
|
||
checks for in parameters of procedures (but not functions).
|
||
Moved invariant-checking code to end of Expand_Actuals
|
||
(including the nested function Is_Public_Subp).
|
||
|
||
2020-07-07 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Delta_Array_Aggregate): Make Index_Type
|
||
a constant.
|
||
|
||
2020-07-07 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_aggr.adb (Expand_N_Delta_Aggregate): Use type of the delta
|
||
base expression for the anonymous object of the delta aggregate.
|
||
|
||
2020-07-07 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_util.ads (Interval_Lists): Reordering routine.
|
||
* sem_util.adb (Interval_Lists): Reordering routines to keep
|
||
them alphabetically ordered.
|
||
|
||
2020-07-07 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Resolve_Attribute): Do not call
|
||
Check_Non_Static_Context.
|
||
|
||
2020-07-07 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_elab.adb (Is_Guaranteed_ABE): Take into account null
|
||
procedures.
|
||
|
||
2020-07-07 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Assignment): Reuse Is_Assignable.
|
||
|
||
2020-07-07 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Add scalar
|
||
range checks for 'Update on arrays just like for 'Update on
|
||
records.
|
||
* sem_attr.adb (Analyze_Array_Component_Update): Do not set
|
||
range checks for single-dimensional arrays.
|
||
(Resolve_Attribute): Do not set range checks for both single-
|
||
and multi- dimensional arrays.
|
||
|
||
2020-07-07 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem.ads (Sem): Fix description.
|
||
|
||
2020-07-07 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Relaxed_Parameter): Fix for protected
|
||
entries.
|
||
|
||
2020-07-06 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* checks.adb (Apply_Scalar_Range_Check): Use Is_RTE.
|
||
|
||
2020-07-06 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/g-catiio.ads: Document newly supported format. Add
|
||
ISO_Time constant, for convenience.
|
||
* libgnat/g-catiio.adb (Image_Helper): New helper function to do
|
||
all the formatting work, called by the two exported Image
|
||
functions. Add support for "%:::z" here. Add a Time_Zone
|
||
parameter used by the "%:::z" processing. This parameter is not
|
||
used for the actual time zone computations; local time is always
|
||
used for that, for ease of implementation reasons. It would
|
||
make sense to use Append throughout this function, but that's a
|
||
cleanup for another day.
|
||
(Image): Modify these to pass the local time zone, or the
|
||
specified time zone, as appropriate.
|
||
|
||
2020-07-06 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/g-catiio.ads: Change the regular expression that
|
||
documents the allowed format to match what ISO-8601 allows.
|
||
* libgnat/g-catiio.adb (Scan_Subsecond): Rewrite so it doesn't
|
||
assume the subsecond comes last.
|
||
(Parse_ISO_8601): Parse an optional subsecond, followed by an
|
||
optional time zone, rather than making these alternatives to
|
||
each other.
|
||
|
||
2020-07-06 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/g-catiio.adb (Parse_ISO_8601): Minor cleanups:
|
||
Give some objects clearer names.
|
||
Make some objects more local to where they are used.
|
||
Remove some validity checks that can't fail, because some of
|
||
the variables tested have been moved so they're not visible here.
|
||
Anyway, Wrong_Syntax is about errors in the input, not data
|
||
validity.
|
||
Use Time_Zone_Seen instead of Local_Sign = ' ' to determine
|
||
that a time zone indication was seen.
|
||
We don't need to distinguish two different kinds of
|
||
syntax error (End_Of_Source_Reached and Wrong_Syntax),
|
||
so use Wrong_Syntax always.
|
||
Remove comment, "Certain scanning scenarios may handle
|
||
this exception on their own."; there are no such scenarios.
|
||
|
||
2020-07-06 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/g-catiio.ads, libgnat/g-catiio.adb (Image): New
|
||
function. It might seem like the local-time Image should be
|
||
implemented in terms of the Time_Zone Image, but that would be
|
||
far harder to implement, so we do it the other way around.
|
||
|
||
2020-07-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* libgnat/g-sechas.ads, libgnat/g-sechas.adb: Refactor to use
|
||
Stream_Element_Array as the internal buffer type.
|
||
* libgnat/g-shshco.adb: Adjust to use Stream_Element_Offset
|
||
instead of Integer as the index in the internal state buffer.
|
||
|
||
2020-07-06 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_pragmas.rst, errout.ads,
|
||
erroutc.adb, exp_ch4.adb, exp_ch6.adb, freeze.adb: Comment
|
||
rewording/reformatting/typo fixes. Replace "ie." with "that is"
|
||
in comment; "can not" -> "cannot", and remove an extraneous
|
||
underscore in another comment.
|
||
* gnat_rm.texi, gnat_ugn.texi: Regenerate.
|
||
|
||
2020-07-06 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_util.ads (Interval_Lists.Aggregate_Intervals): New
|
||
subprogram.
|
||
* sem_util.adb (Has_Null_Others_Choice,
|
||
Non_Static_Or_Null_Range, Interval_Lists.Aggregate_Intervals):
|
||
New subprograms.
|
||
(Is_Potentially_Unevaluated): Adding support to detect
|
||
potentially unevaluated components of array aggregates.
|
||
|
||
2020-07-06 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/g-catiio.adb (Parse_ISO_8601): New name for
|
||
Parse_ISO_8861_UTC. 8601 is the correct ISO standard number.
|
||
Also, "UTC" was confusing. All Time values are represented in
|
||
UTC, but the ISO 8601 date strings include a time zone.
|
||
If a time zone was specified, call
|
||
Ada.Calendar.Formatting.Time_Of instead of
|
||
GNAT.Calendar.Time_Of, because the latter adjusts to the current
|
||
time zone, whereas we want to use (just) the time zone specified
|
||
in the ISO string. This allows us to pass Time_Zone instead to
|
||
Time_Of, instead of adjusting by Local_Disp by hand.
|
||
If no time zone was specified, call GNAT.Calendar.Time_Of as
|
||
before.
|
||
Use expanded names to clarify which Time_Of is being called.
|
||
Remove redundant comment, and move nonredundant part of the
|
||
commment to the spec.
|
||
(Value): Minor: use "not in" instead of "or else".
|
||
* libgnat/g-catiio.ads: Comment moved here. Correct the ISO
|
||
standard number.
|
||
* libgnat/g-calend.adb: Add ??? comments.
|
||
* libgnat/a-calend.ads, libgnat/a-calend.adb: Update obsolete
|
||
comments regarding the representation of type Time. Move the
|
||
information about the epoch (year 2150) to the spec, and avoid
|
||
uttering "2150" more than once.
|
||
* libgnat/a-catizo.ads (Time_Offset): Add comment.
|
||
|
||
2020-07-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Find_Component): If the target type is a derived
|
||
record type and the required component is a discriminant that is
|
||
renamed in the derived type declaration, use the name of the
|
||
original discriminant to locate the intended target component.
|
||
|
||
2020-07-06 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Associations): Add check for errors on
|
||
the generic formal before continuing with instantiation.
|
||
|
||
2020-07-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-nbnbin.ads, libgnat/a-nbnbin.adb,
|
||
libgnat/a-nbnbin__gmp.adb: Use more Valid_Big_Integer.
|
||
|
||
2020-07-06 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_util.ads (Get_Index_Subtype): Fix duplicate "Last".
|
||
|
||
2020-07-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sinfo.ads: Indicate that Field 1 of an N_Delta_Aggregate is
|
||
unused. Previously it was erroneously labelled as holding an
|
||
Expressions list, in analogy with other aggregate constructs,
|
||
but there are no Expressions attached to this node syntactically
|
||
or semantically.
|
||
|
||
2020-07-06 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Eval_Attribute): Check if constant has an
|
||
initialization expression.
|
||
|
||
2020-07-06 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Apply
|
||
scalar range checks.
|
||
* sem_attr.adb (Resolve_Attribute): Do not set scalar range
|
||
checks when resolving attribute Update.
|
||
|
||
2020-07-06 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, Attribute_Constrained): Issue
|
||
a warning if the attribute prefix is a current instance
|
||
reference within an aspect of a type or subtype.
|
||
(Address_Checks): Replace test of Is_Object (Ent) with
|
||
Is_Object_Reference (P) so that testing for current instances
|
||
will be done.
|
||
(Eval_Attribute): Add test for current instance reference, to
|
||
ensure that we still fold array attributes when current
|
||
instances are involved, since value prefixes are allowed for
|
||
array attributes, and will now be excluded by
|
||
Is_Object_Reference.
|
||
* sem_util.ads (Is_Current_Instance_Reference_In_Type_Aspect):
|
||
New exported query function.
|
||
* sem_util.adb (Is_Object_Reference): Return False for the case
|
||
where N is a current instance reference within an
|
||
aspect_specification of a type or subtype (basically if the
|
||
reference occurs within a predicate, invariant, or DIC aspect
|
||
expression).
|
||
(Is_Current_Instance_Reference_In_Type_Aspect): New function
|
||
that tests whether a node is a reference to a current instance
|
||
formal of a predicate, invariant, or
|
||
Default_Initial_Condition (DIC) subprogram.
|
||
|
||
2020-07-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Declare_Expression): New subprogram, to
|
||
install the scope holding local declarations of the expression,
|
||
before completing its resolution.
|
||
(Resolve): For an Expression_With_Actions that comes from a
|
||
source occurrence of a Declare_Expression, call new subprogram.
|
||
|
||
2020-07-06 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Reuse SPARK_Implicit_Load.
|
||
|
||
2020-07-06 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Propagate
|
||
exception when switch -gnatdk is used and no previous errors are
|
||
present.
|
||
* sem_eval.adb (Compile_Time_Known_Value, Is_In_Range):
|
||
Likewise.
|
||
* sem_warn.adb (Operand_Has_Warnings_Suppressed): Likewise.
|
||
|
||
2020-07-06 Richard Kenner <kenner@adacore.com>
|
||
|
||
* exp_unst.adb (Needs_Fat_Pointer): Don't check for formal.
|
||
(Unnest_Subprogram): Use 'Unchecked_Access instead of 'Access
|
||
when populating activation record.
|
||
|
||
2020-07-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Rename parameter
|
||
from Bit_Packed_Array to Force.
|
||
(Expand_Actuals): Do not apply BIP processing if the subprogram
|
||
is intrinsic. Adjust calls to Add_Simple_Call_By_Copy_Code and
|
||
add one for In parameters whose actual is a CPP constructor call.
|
||
|
||
2020-07-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_attr.adb (Eval_Attribute): Do not apply range checks in
|
||
the case of 'Pos applied to an integer type here.
|
||
|
||
2020-07-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): If the type is an
|
||
Unchecked_Union, and the expression is an aggregate. complete
|
||
the analysis and resolution of the aggregate, and treat like a
|
||
regular object declaration, instead of as a renaming
|
||
declarattion.
|
||
|
||
2020-07-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch9.adb (Is_Potentially_Large_Family): Add documentation.
|
||
(Actual_Index_Expression): Use Entry_Index_Type.
|
||
(Build_Entry_Count_Expression): Likewise.
|
||
(Build_Find_Body_Index): Likewise.
|
||
(Collect_Entry_Families): Likewise. Use directly the bounds of
|
||
the index type to find out whether the family is large.
|
||
(Entry_Index_Expression): Likewise.
|
||
|
||
2020-07-06 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Range): Resolve both low and high bounds
|
||
with the range type.
|
||
|
||
2020-07-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* aspects.ads (Is_Representation_Aspect):
|
||
Default_Component_Value is a representation aspect.
|
||
* sem_ch13.adb (Check_Aspect_Too_Late, Rep_Item_Too_Late): Relax
|
||
RM 13.1(10) rule wrt primitive operations for Ada 202x.
|
||
|
||
2020-07-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Move to library
|
||
level and use a new predicate Is_OK_Aggregate to recognize the
|
||
aggregates suitable for direct assignment by the back-end.
|
||
(Convert_Array_Aggr_In_Allocator): If neither in CodePeer mode nor
|
||
generating C code, generate a direct assignment instead of further
|
||
expanding if Aggr_Assignment_OK_For_Backend returns true.
|
||
|
||
2020-07-06 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_aux.adb: Add a with clause for Nlists.
|
||
(Nearest_Ancestor): Test for the case of concurrent
|
||
types (testing for both Is_Concurrent_Type and
|
||
Is_Concurrent_Record_Type), and return the first ancestor in the
|
||
Interfaces list if present (otherwise will return Empty if no
|
||
interfaces).
|
||
* sem_ch13.adb (Build_Predicate_Functions): Add a ??? comment
|
||
about missing handling for adding predicates when they can be
|
||
inherited from multiple progenitors.
|
||
|
||
2020-07-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* par-ch6.adb (P_Return_Object_Declaration): Set
|
||
Has_Init_Expression flag.
|
||
|
||
2020-07-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* debug.adb (d.K): Document new usage.
|
||
* fe.h (Debug_Flag_Dot_KK): Declare.
|
||
* gcc-interface/decl.c (gnat_to_gnu_field): Give an error when the
|
||
component overlaps with the parent subtype, except with -gnatd.K.
|
||
|
||
2020-06-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Set_Membership): Expand the membership test
|
||
using left associativity instead of right associativity.
|
||
|
||
2020-06-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (build_binary_op): Remove space.
|
||
|
||
2020-06-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Allocator>: Minor tweaks.
|
||
Call Has_Constrained_Partial_View on base type of designated type.
|
||
|
||
2020-06-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (gnat_write_global_declarations): Output
|
||
integral global variables first and the imported functions later.
|
||
|
||
2020-06-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (elaborate_expression_1): When GNAT encodings
|
||
are not used, do not create a variable for debug info purposes if
|
||
the expression is itself a user-declared variable.
|
||
|
||
2020-06-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (DECL_RENAMED_OBJECT): Delete.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Always use
|
||
the stabilized reference directly for renaming and create a variable
|
||
pointing to it separately if requested.
|
||
* gcc-interface/misc.c (gnat_print_decl): Adjust for deletion.
|
||
* gcc-interface/trans.c (Identifier_to_gnu): Likewise.
|
||
(gnat_to_gnu) <N_Object_Renaming_Declaration>:
|
||
Do not deal with side-effects here.
|
||
<N_Exception_Renaming_Declaration>: Likewise.
|
||
|
||
2020-06-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (elaborate_expression): Replace calls to
|
||
Is_OK_Static_Expression with Compile_Time_Known_Value.
|
||
|
||
2020-06-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Set
|
||
debug type to the base type and only if the subtype is artificial.
|
||
|
||
2020-06-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Do
|
||
not test Is_Bit_Packed_Array in the memset path.
|
||
|
||
2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (lvalue_required_for_attribute_p): Do not deal
|
||
with 'Pos or 'Val.
|
||
(Attribute_to_gnu): Likewise.
|
||
* gcc-interface/utils.c (create_field_decl): Small formatting fix.
|
||
|
||
2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (adjust_for_implicit_deref): Delete.
|
||
(maybe_implicit_deref): Likewise.
|
||
(Attribute_to_gnu): Replace calls to maybe_implicit_deref by calls
|
||
to maybe_padded_object.
|
||
(Call_to_gnu): Likewise.
|
||
(gnat_to_gnu) <N_Indexed_Component>: Likewise.
|
||
<N_Slice>: Likewise.
|
||
<N_Selected_Component>: Likewise.
|
||
<N_Free_Statement>: Remove call to adjust_for_implicit_deref and
|
||
manually make sure that the designated type is complete.
|
||
* gcc-interface/utils2.c (build_simple_component_ref): Add comment.
|
||
|
||
2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_param): Tidy up.
|
||
(gnat_to_gnu_subprog_type): For a variadic C function, do not
|
||
build unnamed parameters and do not add final void node.
|
||
* gcc-interface/misc.c: Include snames.h.
|
||
* gcc-interface/trans.c (Attribute_to_gnu): Tidy up.
|
||
(Call_to_gnu): Implement support for unnamed parameters in a
|
||
variadic C function.
|
||
* gcc-interface/utils.c: Include snames.h.
|
||
(copy_type): Tidy up.
|
||
|
||
2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Assignment_Statement): Do not apply
|
||
range checks to allocators here.
|
||
|
||
2020-06-19 Justin Squirek <squirek@adacore.com>
|
||
|
||
* lib.adb (Check_Same_Extended_Unit): Add check to determine if
|
||
the body for the subunits exist in the same file as their
|
||
specifications.
|
||
|
||
2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb (In_Place_Assign_OK): In an allocator context,
|
||
check the bounds of an array aggregate against those of the
|
||
designated type, except if the latter is unconstrained.
|
||
|
||
2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb (Is_Visible_Component): Reason only on the private
|
||
status of the original type in an instance body.
|
||
|
||
2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Qualified_Expression): Do not override the
|
||
type of the node when it is unconstrained if it is for an allocator.
|
||
|
||
2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Allocator): Call Resolve_Qualified_Expression
|
||
on the qualified expression, if any, instead of doing an incomplete
|
||
type resolution manually.
|
||
(Resolve_Qualified_Expression): Apply predicate check to operand.
|
||
|
||
2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Selected_Component): In an instance body,
|
||
also invoke Find_Component_In_Instance on the parent subtype of
|
||
a derived tagged type immediately visible. Remove obsolete case.
|
||
|
||
2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (Get_Integer_Type): Return the largest supported
|
||
unsigned integer type if need be.
|
||
|
||
2020-06-19 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Known_Condition): Add general sanity
|
||
check that asserts the original source node being checked
|
||
contains an entity. If not, it could be the result of special
|
||
case expansion for type conversions.
|
||
|
||
2020-06-19 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): Do not indicate
|
||
that the function has a completion if it appears within a Ghost
|
||
generic package.
|
||
|
||
2020-06-19 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/a-ststbo.adb (Write): Replace pragma Assert with "if
|
||
... raise Constraint_Error".
|
||
|
||
2020-06-19 Justin Squirek <squirek@adacore.com>
|
||
|
||
* widechar.adb, widechar.ads (Skip_Wide): Catch validity check
|
||
failure when skipping over characters, and update comment to
|
||
reflect Skip_Wide's usage in error printing.
|
||
|
||
2020-06-19 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.ads (Ensure_Activation_Chain_And_Master): New
|
||
subprogram.
|
||
* exp_ch3.adb (Ensure_Activation_Chain_And_Master): New
|
||
subprogram that factorizes code.
|
||
(Expand_N_Object_Declaration): Call new subprogram.
|
||
* sem_ch6.adb (Analyze_Function_Return): Returning a
|
||
build-in-place unconstrained array type defer the full analysis
|
||
of the returned object to avoid generating the corresponding
|
||
constrained subtype; otherwise the bounds would be created in
|
||
the stack and a dangling reference would be returned pointing to
|
||
the bounds.
|
||
|
||
2020-06-19 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads,
|
||
libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb,
|
||
libgnat/a-nbnbre.ads: Update spec according to AI12-0366.
|
||
|
||
2020-06-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* checks.ads: Remove excessive whitespace in declarations of
|
||
functions for check suppression.
|
||
|
||
2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch7.adb (Hide_Public_Entities): Split handling of objects
|
||
and subprograms, and do not reject the latter upfront in nested
|
||
instance specs if there are no referencer subprograms at all.
|
||
(Analyze_Package_Body_Helper): Also call Hide_Public_Entities on
|
||
nested generic instances.
|
||
|
||
2020-06-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Reject illegal positional
|
||
component associations; fix syntax in comment about named
|
||
component associations.
|
||
|
||
2020-06-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Delta_Record_Aggregate): Modify a nested
|
||
Get_Component_Type routine to return a component and not just
|
||
its type; use this routine to decorate the identifier within the
|
||
delta aggregate.
|
||
|
||
2020-06-19 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch4.adb (Find_Equality_Types.Check_Access_Attribute): New.
|
||
(Find_Equality_Types): Move universal_access related checks at
|
||
the end of the processing and add call to
|
||
Check_Access_Attribute.
|
||
|
||
2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Convention): Revert previous change.
|
||
|
||
2020-06-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.ads (Apply_Static_Length_Check): Move up.
|
||
(Apply_Range_Check): Add parameter Insert_Node.
|
||
* checks.adb (Apply_Selected_Range_Checks): Merge into...
|
||
(Apply_Range_Check): ...this. Add parameter Insert_Node,
|
||
pass it as Warn_Node to Selected_Range_Checks and use it
|
||
as insertion point for the checks.
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration): Rewrite block
|
||
dealing with the range checks for the subtype indication.
|
||
Use local variable and call Apply_Range_Check in both cases.
|
||
|
||
2020-06-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Call Ensure_Valid
|
||
on the expression of an object declaration that captures the
|
||
value of 'Old prefix.
|
||
|
||
2020-06-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Add comment.
|
||
* sem_attr.adb (Analyze_Attribute): Add ??? comment.
|
||
* sem_util.ads (Valid_Scalars): This routine is only used for
|
||
'Valid_Scalars and not for 'Valid.
|
||
|
||
2020-06-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Do not call
|
||
Scalar_Part_Present on the array component's type.
|
||
(Build_Array_VS_Func): Remove Comp_Typ parameter, because it can
|
||
be easily computed from the Array_Top parameter *and redundant
|
||
parameters are confusing and error-prone).
|
||
|
||
2020-06-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_attr.adb (Build_Record_VS_Func): Strip privacy and type
|
||
derivation from the root type when 'Valid_Scalars is applied to
|
||
a class-wide type.
|
||
|
||
2020-06-19 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* checks.adb (Apply_Parameter_Validity_Checks): Remove testing
|
||
of Check_Validity_Of_Parameters for every formal parameter and
|
||
function result.
|
||
|
||
2020-06-19 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Overlapping_Actuals): Add missing
|
||
warning tag.
|
||
|
||
2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Get_Size_For_Range): Only make sure to return a
|
||
size lower than that of the original type if possible.
|
||
* libgnat/s-rannum.adb (Random_Discrete): Back out optimization
|
||
added for 32-bit types.
|
||
|
||
2020-06-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch6.ads, sem_ch6.adb (Check_Formal_Conformance): New
|
||
subprogram.
|
||
(Check_Conformance): Move code to Check_Formal_Conformance.
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): Check for formal
|
||
conformance when needed.
|
||
|
||
2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Narrow_Large_Operation): New procedure to try
|
||
and narrow large arithmetic and comparison operations.
|
||
(Expand_N_In): Call it.
|
||
(Expand_N_Op_Abs): Likewise.
|
||
(Expand_N_Op_Add): Likewise.
|
||
(Expand_N_Op_Divide): Likewise.
|
||
(Expand_N_Op_Eq): Likewise.
|
||
(Expand_N_Op_Ge): Likewise.
|
||
(Expand_N_Op_Gt): Likewise.
|
||
(Expand_N_Op_Le): Likewise.
|
||
(Expand_N_Op_Lt): Likewise.
|
||
(Expand_N_Op_Minus): Likewise.
|
||
(Expand_N_Op_Mod): Likewise.
|
||
(Expand_N_Op_Multiply): Likewise.
|
||
(Expand_N_Op_Ne): Likewise.
|
||
(Expand_N_Op_Plus): Likewise.
|
||
(Expand_N_Op_Rem): Likewise.
|
||
(Expand_N_Op_Subtract): Likewise.
|
||
(Expand_N_Type_Conversion): Use Convert_To procedure.
|
||
* exp_ch9.adb (Is_Pure_Barrier) <N_Identifier>: Skip all
|
||
numeric types.
|
||
<N_Type_Conversion>: Use explicit criterion.
|
||
|
||
2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Allocator_Expression): Apply constraint
|
||
and predicate checks for the qualified expression on entry,
|
||
followed by constraint and predicate checks for the allocator
|
||
itself, and return early if this results in a static error.
|
||
(Expand_N_Allocator): Do not do the same here. Instead apply
|
||
constraint and predicate checks for arrays in the subtype
|
||
indication case.
|
||
* exp_ch5.adb (Expand_N_Assignment_Statement): Do not apply
|
||
range checks to allocators here.
|
||
|
||
2020-06-18 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch6.adb (BIP_Suffix_Kind, Is_Build_In_Place_Entity): Move
|
||
declarations...
|
||
* exp_ch6.ads: Here.
|
||
* exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Do not rely
|
||
on the name of the scope to locate the extra formal BIPalloc
|
||
since they are copied when the pointer type associated with
|
||
dispatching calls is built; rely on routines
|
||
Is_Build_In_Place_Entity and BIP_Suffix_Kind.
|
||
* exp_disp.adb (Expand_Dispatching_Call): Set the scope of the
|
||
first extra formal of the internally built pointer type.
|
||
* sem_ch3.adb (Derive_Subprogram): Do not inherit extra formals
|
||
from a limited interface parent since limitedness is not
|
||
inherited in such case (AI-419) and this affects the extra
|
||
formals.
|
||
* sprint.adb (Write_Itype): Output extra formals of subprogram
|
||
types.
|
||
|
||
2020-06-18 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* errout.adb (Write_Error_Summary): Display number of warnings
|
||
treated as errors.
|
||
* errutil.ads: Update comment.
|
||
|
||
2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (Analyze_Attribute) <Asm_{In,Out}put>: Alphabetize.
|
||
<Component_Size>: Add check for universal integer attribute.
|
||
<Aft>, <Bit_Order>, <Definite>, <Max_Alignment_For_Allocation>,
|
||
<Scalar_Storage_Order>: Raise Program_Error on them.
|
||
* sem_attr.adb (Eval_Attribute) <Component_Size>: Add comment on
|
||
the packed array case.
|
||
|
||
2020-06-18 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_util.adb (Object_Access_Level): Treat a 'Old attribute
|
||
reference like an aggregate in determining its static
|
||
accessibility level; after the evaluation of the relevant
|
||
post-condition, the implicitly declared constant associated with
|
||
an Old attribute reference ceases to exist. Similarly for
|
||
Loop_Entry attribute.
|
||
* exp_ch6.adb (Expand_Call_Helper): For an attribute reference
|
||
that is expanded into a reference to an implicitly declared
|
||
constant (e.g., a 'Old or 'Loop_Entry attribute), compute the
|
||
dynamic accessibility level of that constant by looking at the
|
||
declaration of the constant (as opposed to looking at the
|
||
attribute reference).
|
||
|
||
2020-06-18 Steve Baird <baird@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Do not generate a
|
||
default initial condition check for the declaration of an
|
||
imported object.
|
||
|
||
2020-06-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* Makefile.rtl: Add s-statxd.o.
|
||
* bindgen.adb (Gen_Adainit): Add support for XDR_Stream.
|
||
* bindusg.adb (Display): Add mention of -xdr.
|
||
* gnatbind.adb: Process -xdr switch.
|
||
* init.c (__gl_xdr_stream): New.
|
||
* opt.ads (XDR_Stream): New.
|
||
* libgnat/s-stratt__xdr.adb: Rename to...
|
||
* libgnat/s-statxd.adb: this and adjust.
|
||
* libgnat/s-statxd.ads: New.
|
||
* libgnat/s-stratt.ads, libgnat/s-stratt.adb: Choose between
|
||
default and XDR implementation at runtime.
|
||
* libgnat/s-ststop.ads: Update comments.
|
||
* doc/gnat_rm/implementation_advice.rst: Update doc on XDR
|
||
streaming.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute) <To_Address>: Use the address
|
||
size of the target instead of the host when checking the value of
|
||
a static expression. Also use standard idiom for exponentiation.
|
||
|
||
2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Convention): Give a warning on C_Variadic_n
|
||
being applied to a subprogram with exactly n parameters.
|
||
|
||
2020-06-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnarl/s-osinte__linux.ads, libgnat/g-io.adb,
|
||
libgnat/g-socket.adb, libgnat/g-socthi.adb,
|
||
libgnat/g-socthi.ads, libgnat/g-socthi__vxworks.adb,
|
||
libgnat/g-socthi__vxworks.ads, libgnat/g-sothco.ads,
|
||
libgnat/s-io.adb, libgnat/a-except.adb: Fix function profile
|
||
mismatch with imported C functions.
|
||
|
||
2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call_Helper): Remove superfluous calls
|
||
to Relocate_Node and merge calls to Analyze and Resolve in a
|
||
couple of places. Do not attempt to generate a range check
|
||
for an actual parameter against the formal's type of a derived
|
||
subprogram after generating a conversion to the formal's type
|
||
of the parent subprogram.
|
||
|
||
2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.adb (Compute_Range_For_Arithmetic_Op): New procedure to
|
||
compute a range for an arithmetical operation extracted from...
|
||
(Minimize_Eliminate_Overflows): ...here. Call it.
|
||
(Determine_Range_Cache_O): New cache for Original_Node nodes.
|
||
(Determine_Range): Call Compute_Range_For_Arithmetic_Op for all
|
||
arithmetic expressions. Use Attribute_Id in lieu of Attribute_Name
|
||
for attributes. Add handling for Range_Length alongside Length.
|
||
Add specific handling for Alignment, Bit, First_Bit, Last_Bit,
|
||
Max_Size_In_Storage_Elements, Position, Bit_Position,
|
||
Component_Size, Object_Size, Size, Value_Size, Descriptor_Size.
|
||
(Enable_Overflow_Check): Omit the check for Abs and Minus if the
|
||
operand cannot be the largest negative number.
|
||
(Selected_Length_Checks): Use Pos for Number_Dimensions.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Move compile-time
|
||
handling of Bit_Position, Descriptor_Size, First_Bit, Last_Bit
|
||
and Position to...
|
||
* sem_attr.adb (Eval_Attribute): ...here. Move up Alignment for
|
||
objects and use Compile_Time_Known_Attribute in this case too.
|
||
|
||
2020-06-18 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* erroutc.ads: Declare new Is_Compile_Time_Msg boolean,
|
||
add new Compile_Time_Pragma field to Error_Msg_Object type.
|
||
(Count_Compile_Time_Pragma_Warnings): New function.
|
||
* erroutc.adb (Count_Compile_Time_Pragma_Warnings): New
|
||
function.
|
||
(Compilation_Errors): Take Compile_Time warnings into account
|
||
when tallying Errors/Warnings.
|
||
* errout.ads (Error_Msg): New procedure.
|
||
* errout.adb (Error_Msg): New procedure.
|
||
(Error_Msg_Internal): Set new Compile_Time_Pragma field in
|
||
Error_Msg_Object.
|
||
* errutil.adb (Error_Msg): Set new Compile_Time_Pragma field in
|
||
Error_Msg_Object.
|
||
* sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Pass
|
||
True to new Error_Msg procedure.
|
||
* doc/gnat_rm/implementation_defined_pragmas.rst: Update doc for
|
||
the Compile_Time_Warning pragma.
|
||
* gnat_rm.texi: Regenerate.
|
||
* opt.ads: Update comment.
|
||
|
||
2020-06-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch4.adb (Check_Compatible_Profiles): Add explicit
|
||
initialization.
|
||
|
||
2020-06-18 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* checks.adb (Generate_Index_Checks): Handle
|
||
N_Subtype_Indication returned from Scalar_Range.
|
||
|
||
2020-06-18 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* checks.adb, sem_ch3.adb: Minor refactorings.
|
||
* sem_eval.adb (Eval_Qualified_Expression): Fix reference to RM
|
||
rule in comment; only set a local variable Hex in the branch
|
||
where it is used.
|
||
|
||
2020-06-18 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_eval.adb (Check_Non_Static_Context): Use Is_RTE.
|
||
|
||
2020-06-18 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch4.adb (Find_Equality_Types.Check_Access_Object_Types):
|
||
New function, used to implement RM 4.5.2 (9.6/2).
|
||
(Find_Equality_Types.Check_Compatible_Profiles): New function,
|
||
used to implement RM 4.5.2(9.7/2).
|
||
(Find_Equality_Types.Reference_Anonymous_Access_Type): New
|
||
function.
|
||
(Find_Equality_Types.Try_One_Interp): Fix handling of anonymous
|
||
access types which was accepting both too much and too little.
|
||
Remove accumulated special and incomplete cases for
|
||
instantiations, replaced by Has_Compatible_Type.
|
||
(Analyze_Overloaded_Selected_Component): Use
|
||
Is_Anonymous_Access_Type instead of Ekind_In.
|
||
* sem_res.adb: Code cleanup and bug fix: use
|
||
Is_Anonymous_Access_Type instead of Ekind_In. Relax checking of
|
||
anonymous access parameter when universal_access "=" is
|
||
involved.
|
||
* sem_type.adb: Likewise.
|
||
(Find_Unique_Type): Move code from here...
|
||
(Specific_Type): ...to here. Also add missing handling of access
|
||
to class wide types.
|
||
* einfo.ads, einfo.adb (Is_Access_Object_Type): New.
|
||
|
||
2020-06-18 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/a-strsto.ads, libgnat/a-ststbo.adb,
|
||
libgnat/a-ststbo.ads, libgnat/a-ststun.adb,
|
||
libgnat/a-ststun.ads: New files, containing packages
|
||
Ada.Streams.Storage, Ada.Streams.Storage.Bounded, and
|
||
Ada.Streams.Storage.Unbounded.
|
||
* impunit.adb, Makefile.rtl: Add new file names.
|
||
|
||
2020-06-18 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch13.adb (Has_Good_Profile): Enforce strictness in the
|
||
check. Required to detect wrong profiles for Input and Output.
|
||
(Analyze_Stream_TSS_Definition): Minor enhancement in the text
|
||
of the error for class-wide attributes.
|
||
|
||
2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (Get_Integer_Type): Pick an unsigned type based
|
||
on the Esize of the base type of the input type.
|
||
|
||
2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Array_Equality): For the optimization of
|
||
the 2-element case, build new expression lists for the indices.
|
||
|
||
2020-06-18 Richard Kenner <kenner@adacore.com>
|
||
|
||
* sem_util.adb (Enclosing_Subprogram): No longer need
|
||
Convention_Protected.
|
||
|
||
2020-06-18 Claire Dross <dross@adacore.com>
|
||
|
||
* sem_util.adb (Is_OK_Volatile_Context): Return False on
|
||
definitions of constants declared in declare expressions.
|
||
|
||
2020-06-18 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_aspects.rst
|
||
(Relaxed_Initialization): New implementation-defined aspect.
|
||
* doc/gnat_rm/implementation_defined_attributes.rst
|
||
(Initialized): New implementation-defined attribute.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-06-18 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb (Expand_Dispatching_Call): Add missing decoration
|
||
of attribute Extra_Accessibility_Of_Result.
|
||
* freeze.adb (Check_Extra_Formals): No check required if
|
||
expansion is disabled; Adding check on
|
||
Extra_Accessibilty_Of_Result.
|
||
(Freeze_Subprogram): Fix decoration of
|
||
Extra_Accessibility_Of_Result.
|
||
* sem_ch3.adb (Derive_Subprogram): Fix decoration of
|
||
Extra_Accessibility_Of_Result
|
||
|
||
2020-06-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Optimize_Length_Comparison): Accept 32-bit values
|
||
in the full unsigned range.
|
||
|
||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.adb (Apply_Universal_Integer_Attribute_Checks): Do not do
|
||
anything when the type of the node is already Universal_Integer.
|
||
|
||
2020-06-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch10.adb (Expand_With_Clause): Add missing handling of
|
||
N_Generic_Subprogram_Declaration, N_Subprogram_Declaration,
|
||
N_Subprogram_Body.
|
||
|
||
2020-06-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb: (Check_Inherited_Indexing): Check that a type
|
||
derived from an indexable container type cannot specify an
|
||
indexing aspect if the same aspect is not specified for the
|
||
parent type (RM 4.1.6 (6/5), AI12-160). Add a check that a
|
||
specified indexing aspect for a derived type is confirming.
|
||
|
||
2020-06-17 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Protected_Subp_Specification): Add ???
|
||
comment about the flag Has_Nested_Subprogram not being set here.
|
||
(Expand_N_Protected_Body): If the original body for a protected
|
||
subprogram has the flag Has_Nested_Subprogram set, then set that
|
||
flag on the new unprotected subprogram body that's created for
|
||
it, and reset the Scope fields of its top level declarations,
|
||
which have been effectively taken from the original protected
|
||
subprogram body. Add ??? comment about unclear testing of
|
||
Corresponding_Spec.
|
||
|
||
2020-06-17 Javier Miranda <miranda@adacore.com>
|
||
|
||
* aspects.ads (type Aspect_Id): Add Aspect_Yield as a Boolean
|
||
aspect, and update the Is_Representation_Aspect, Aspect_Names,
|
||
and Aspect_Delay arrays.
|
||
* einfo.ads, einfo.adb (Has_Yield_Aspect, Yield_Aspect): New
|
||
subprograms.
|
||
* exp_ch6.adb (Add_Return, Expand_Non_Function_Return,
|
||
Expand_Simple_Function_Return): Add calls to Yield.
|
||
* exp_ch9.adb (Build_Accept_Body, Expand_N_Accept_Statement):
|
||
Add calls to Yield.
|
||
* rtsfind.ads (RE_Yield): Adding support to generate calls to
|
||
the runtime service Ada.Dispatching.Yield
|
||
* sem_ch13.adb (Analyze_Aspect_Yield): New subprogram.
|
||
* sem_ch3.adb (Derive_Subprogram): Inherit attribute
|
||
Has_Yield_Aspect.
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): Check consistency
|
||
of Has_Yield in the actual subprogram of a generic
|
||
instantiation.
|
||
* sem_disp.adb (Check_Dispatching_Operation): Check that if the
|
||
Yield aspect is specified for a dispatching subprogram that
|
||
inherits the aspect, the specified value shall be confirming.
|
||
* sem_prag.adb (Analyze_Pragma [Pragma_Implemented]): Check that
|
||
the implementation kind By_Protected_Procedure cannot be applied
|
||
to a procedure that has aspect Yield.
|
||
|
||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Expon): Replace all occurrences of
|
||
the original right operand with the relocated version.
|
||
|
||
2020-06-17 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch6.adb (Has_BIP_Extra_Formal): New subprogram.
|
||
(Needs_BIP_Task_Actuals): Add support for the subprogram type
|
||
internally generated for dispatching calls.
|
||
* exp_disp.adb (Expand_Dispatching_Call): Adding code to
|
||
explicitly duplicate the extra formals of the target subprogram.
|
||
* freeze.adb (Check_Extra_Formals): New subprogram.
|
||
(Freeze_Subprogram): Fix decoration of Extra_Formals.
|
||
* sem_ch3.adb (Derive_Subprogram): Fix decoration of
|
||
Extra_Formals.
|
||
|
||
2020-06-17 Bob Duff <duff@adacore.com>
|
||
|
||
* par.adb (P_Basic_Declarative_Items): Update comment about
|
||
Declare_Expression.
|
||
* par-ch3.adb (P_Declarative_Items): Pass in Declare_Expression
|
||
flag, and if True, skip the call to Style.Check_Indentation.
|
||
* par-ch4.adb (P_Declare_Expression): Fix incorrect comment.
|
||
|
||
2020-06-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_res.adb (Valid_Conversion): Change error message to make
|
||
it more user-friendly.
|
||
|
||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.ads (Apply_Length_Check_On_Assignment): Declare.
|
||
* checks.adb (Apply_Length_Check_On_Assignment): New procedure
|
||
to apply a length check to an expression in an assignment.
|
||
* exp_ch5.adb (Expand_Assign_Array): Call it instead of calling
|
||
Apply_Length_Check to generate a length check.
|
||
* sem_ch5.adb (Analyze_Assignment): Likewise.
|
||
|
||
2020-06-17 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* einfo.adb (Is_Relaxed_Initialization_State): Add reference to
|
||
SPARK RM.
|
||
* sem_attr.adb (Analyze_Attribute_Old_Result): Likewise.
|
||
* sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Reject
|
||
aspect on completions of private types and deferred constants.
|
||
* sem_util.ads, sem_util.adb (Has_Relaxed_Initialization):
|
||
Adjust comments; support queries for constants.
|
||
|
||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* cstand.adb (Stloc): Change to a renaming.
|
||
(Staloc): Likewise.
|
||
(Build_Unsigned_Integer_Type): Remove Nam parameter, use local
|
||
constants and do not call Make_Name.
|
||
(Make_Dummy_Index): Use local constants.
|
||
(Create_Standard): Pass the name of entities as parameter in
|
||
calls to New_Standard_Entity and remove calls to Make_Name.
|
||
Adjust calls to Build_Unsigned_Integer_Type.
|
||
(Identifier_For): Use local constant.
|
||
(Make_Component): Pass the name of the component as parameter
|
||
in call to New_Standard_Entity and remove call to Make_Name.
|
||
(Make_Formal): Likewise. Rename Formal_Name parameter into
|
||
Nam and use local constant.
|
||
(Make_Name): Delete.
|
||
(New_Operator): Use local constant.
|
||
(New_Standard_Entity): Rename S parameter into Nam and build
|
||
the name here. Remove call to Make_Name.
|
||
(Register_Float_Type): Pass the name of the type as parameter
|
||
in call to New_Standard_Entity and remove call to Make_Name.
|
||
|
||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_First>:
|
||
Remove condition added for scalar types.
|
||
|
||
2020-06-17 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch3.ads (Build_Access_Subprogram_Wrapper_Body): Adjust
|
||
colon columns; reformat comment.
|
||
* exp_ch3.adb
|
||
(Build_Access_Subprogram_Wrapper_Body): Likewise.
|
||
* sem_ch3.adb (Build_Access_Subprogram_Wrapper): Reformat spec
|
||
comment and reformat comment in body.
|
||
(Analyze_Full_Type_Declaration): Reformat comment.
|
||
(Replace_Type_Name): Fixed three typos, plus reformatting of
|
||
comment.
|
||
* sem_prag.adb (Analyze_Pre_Post_Condition): Fix typos.
|
||
* sem_warn.adb (Warn_On_Overlapping_Actuals): Edit comments:
|
||
remove hyphen, add missing word.
|
||
|
||
2020-06-17 Bob Duff <duff@adacore.com>
|
||
|
||
* 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-chtgbk.adb,
|
||
libgnat/a-chtgke.adb, libgnat/a-cidlli.adb,
|
||
libgnat/a-cihama.adb, libgnat/a-cihase.adb,
|
||
libgnat/a-cimutr.adb, libgnat/a-ciorma.adb,
|
||
libgnat/a-ciorse.adb, libgnat/a-cobove.adb,
|
||
libgnat/a-cohama.adb, libgnat/a-cohase.adb,
|
||
libgnat/a-coinve.adb, libgnat/a-comutr.adb,
|
||
libgnat/a-convec.adb, libgnat/a-coorma.adb,
|
||
libgnat/a-coorse.adb, libgnat/a-crbtgk.adb,
|
||
libgnat/a-crbtgo.adb, libgnat/a-rbtgso.adb: Move tampering
|
||
checks earlier.
|
||
|
||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (Get_Integer_Type): Use standard types without
|
||
a specific size.
|
||
* sem_res.adb (Resolve_Unchecked_Type_Conversion): Remove a
|
||
redundant intermediate conversion to Universal_Integer.
|
||
|
||
2020-06-17 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Get_Iterable_Type_Primitive): Fix
|
||
comment and enforce it with an assertion in the body.
|
||
|
||
2020-06-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Full_Type_Declaration): For an
|
||
access_to_subprogram declaration that has aspect specifications,
|
||
call Build_Access_ Subprogram_Wrapper at once, so that pre- and
|
||
postcondition aspects are analyzed in the context of a
|
||
subprogram declaration.
|
||
(Build_Access_Subprogram_Wrapper): Examine aspect specifications
|
||
of an Access_To_Subprogram declaration. If pre- or
|
||
postconditions are declared for it, create declaration for
|
||
subprogram wrapper and add the corresponding aspect
|
||
specifications to it. Replace occurrences of the type name by
|
||
that of the generated subprogram, so that attributes 'Old and
|
||
'Result can appear in a postcondition.
|
||
* exp_ch3.adb (Build_Access_Subprogram_Wrapper_Body): Moved
|
||
here from sem_prag.adb.
|
||
* exp_ch3.ads (Build_Access_Subprogram_Wrapper_Body): Visible
|
||
subprogram.
|
||
* sem_prag.adb (Build_Access_Subprogram_Wrapper / _Body): Moved
|
||
to sem_ch3.adb and exp_ch3.adb.
|
||
|
||
2020-06-17 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* atree.adb (Preserve_Comes_From_Source): Rewrite using
|
||
Set_Comes_From_Source and Comes_From_Source, which enforce that
|
||
the parameters are valid.
|
||
* exp_ch4.adb, exp_ch5.adb, sem_ch12.adb, sem_ch6.adb,
|
||
sem_res.adb: Rewrite using Preserve_Comes_From_Source.
|
||
|
||
2020-06-17 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Remove obsolete
|
||
comments.
|
||
|
||
2020-06-17 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* aspects.ads (type Aspect_Id): Add Aspect_Static as a Boolean
|
||
aspect, and update the Is_Representation_Aspect, Aspect_Names,
|
||
and Aspect_Delay arrays.
|
||
* exp_ch6.adb (Expand_Simple_Function_Return): In the case of a
|
||
return for a static expression function, capture a copy of the
|
||
expression of the return statement before it's expanded and
|
||
reset its Analyzed flags. Then, just before leaving this
|
||
procedure, if the expression was rewritten, set the
|
||
Original_Node of the rewritten expression to the new copy and
|
||
also set the Expression of the associated static expression
|
||
function to designate that copy. This ensures that later copies
|
||
of the expression made via New_Copy_Tree will fully copy all
|
||
nodes of the expression tree.
|
||
* inline.ads (Inline_Static_Expression_Function_Call): New
|
||
procedure to evaluate and produce the result of a static call to
|
||
a static expression function.
|
||
* inline.adb: Add with and use for Sem_Res.
|
||
(Establish_Actual_Mapping_For_Inlined_Call): New procedure
|
||
extracted from code in Expand_Inlined_Call that traverses the
|
||
actuals and formals of an inlined call and in some cases creates
|
||
temporaries for holding the actuals, plus establishes an
|
||
association between formals and actuals (via the Renamed_Object
|
||
fields of the formals).
|
||
(Formal_Is_Used_Once): Function removed from Expand_Inlined_Call
|
||
and now nested in the above procedure.
|
||
(Expand_Inlined_Call): Code for doing the formal/actual
|
||
traversal is moved to Create_Actual_Temporaries and replaced
|
||
with a call to that new procedure.
|
||
(Inline_Static_Expression_Function_Call): New procedure to
|
||
evaluate a static call to a static expression function,
|
||
substituting actuals for their corresponding formals and
|
||
producing a fully folded and static result expression. The
|
||
function has subsidiary functions Replace_Formal and Reset_Sloc
|
||
that take care of doing the mapping of formals to actuals and
|
||
resetting the Slocs of subnodes of the mapped expression to that
|
||
of the call so errors will be flagged on the call rather than
|
||
function.
|
||
* sem_ch6.adb (Analyze_Expression_Function): In the case of a
|
||
static expression function, perform an additional preanalysis of
|
||
the function's expression to ensure that it's a potentially
|
||
static expression (according to the requirements of
|
||
6.8(3.2/5-3.4/5)), and issue an error if it's not. The global
|
||
flag Checking_Potentially_Static_Expression is set and unset
|
||
around this checking.
|
||
* sem_ch13.adb (Analyze_Aspect_Static): New procedure to enforce
|
||
selected requirements of the new aspect Static on expression
|
||
functions, including checking that the language version is
|
||
Ada_2020 and that the entity to which it applies is an
|
||
expression function whose formal parameters are of a static
|
||
subtype and have mode 'in', its result subtype is a static
|
||
subtype, and it has no pre- or postcondition aspects. A ???
|
||
comment is added to indicate the need for adding checking that
|
||
type invariants don't apply to the result type if the function
|
||
is a boundary entity.
|
||
(Analyze_One_Aspect): Call Analyze_Aspect_Static for aspect
|
||
Static.
|
||
* sem_elab.adb (Build_Call_Marker): Return without creating a
|
||
call marker when the subprogram is a static expression function,
|
||
since no ABE checking is needed for such functions.
|
||
* sem_eval.ads (Checking_Potentially_Static_Expression): New
|
||
function to return whether the checking for potentially static
|
||
expressions is enabled.
|
||
(Set_Checking_Potentially_Static_Expression): New procedure to
|
||
enable or disable checking of potentially static expressions.
|
||
* sem_eval.adb (Checking_For_Potentially_Static_Expression): New
|
||
global flag for determining whether preanalysis of potentially
|
||
static expression is being done, which affects the behavior of
|
||
certain static evaluation routines.
|
||
(Checking_Potentially_Static_Expression): New function to return
|
||
whether the checking for potentially static expressions is
|
||
enabled.
|
||
(Eval_Call): When evaluating a call within a static expression
|
||
function with checking of potentially static expression
|
||
functions enabled, substitutes a static value in place of the
|
||
call to allow folding of the expression.
|
||
(Eval_Entity_Name): When evaluating a formal parameter of a
|
||
static expression function with checking of potentially static
|
||
expression functions enabled, substitutes a static value in
|
||
place of the reference to the formal to allow folding of the
|
||
expression.
|
||
(Set_Checking_Potentially_Static_Expression): New procedure to
|
||
enable or disable checking of potentially static expressions.
|
||
* sem_res.adb (Resolve_Call): Test for a recursive call
|
||
occurring within a static expression function and issue an error
|
||
for such a call. Prevent the establishment of a transient scope
|
||
in the case this is a call to a (string-returning) static
|
||
expression function. When calling a static expression function,
|
||
if no error has been posted on the function, call
|
||
Inline_Static_Expression_Function_Call to convert the call into
|
||
its equivalent static value.
|
||
* sem_util.ads (Is_Static_Expression_Function): New function
|
||
returning whether the subprogram entity passed to it is a static
|
||
expression function.
|
||
(Is_Static_Expression_Function_Call): New function to determine
|
||
whether the call node passed to it is a static call to a static
|
||
expression function.
|
||
* sem_util.adb (Compile_Time_Constraint_Error): Suppress
|
||
compile-time Constraint_Error reporting when checking for a
|
||
potentially static expression.
|
||
(Is_Static_Expression_Function): New function returning whether
|
||
the subprogram entity passed to it is a static expression
|
||
function by testing for the presence of aspect Static.
|
||
(Has_All_Static_Actuals): New function in
|
||
Is_Static_Expression_Function_Call that traverses the actual
|
||
parameters of a function call and returns True only when all of
|
||
the actuals are given by static expressions. In the case of a
|
||
string-returning function, we call Resolve on each actual to
|
||
ensure that their Is_Static_Expression flag properly reflects
|
||
whether they're static, to allow suppressing creation of a
|
||
transient scope within Resolve_Call. A prominent ??? comment is
|
||
added to explain this rather unconventional call to Resolve.
|
||
(Is_Static_Expression_Function_Call): New function that
|
||
determines whether a node passed to it is a call to a static
|
||
expression function all of whose actual parameters are given by
|
||
static expressions.
|
||
|
||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Optimize_Length_Comparison): New local variable to
|
||
record whether this may be a dynamic superflat case.
|
||
(Is_Optimizable): Accept 0 as lower bound and set it in this case,
|
||
but return false if the operand is not a length too.
|
||
(Rewrite_For_Equal_Lengths): New procedure.
|
||
Optimize the comparison of two lengths in the superflat case when
|
||
the arrays have the same bounds.
|
||
|
||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_attributes.rst (Bit): Sharpen
|
||
the comparison with System.Storage_Unit.
|
||
(Descriptor_Size): Clear confusion about alignment and padding.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_First>:
|
||
Do not replace the bound for an array type if it is public.
|
||
|
||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Optimize_Length_Comparison): Make sure the base
|
||
types are the same when comparing Y'Last and X'Last directly.
|
||
|
||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_First>:
|
||
Replace it with a direct reference to an entity which is not a
|
||
discriminant for constrained array types. Add same condition
|
||
for scalar types.
|
||
<Attribute_Last>: Merge with above implementation.
|
||
* exp_ch4.adb (Optimize_Length_Comparison): Be prepared for a
|
||
second entity whose length is compared. Rename Prepare_64 to
|
||
Convert_To_Long_Long_Integer. If the second entity is present,
|
||
compute the difference of the 'First attributes and compare the
|
||
sum of 'Last of the second entity with this difference against
|
||
'Last of the first entity. Add a special case when the 'First
|
||
attributes are equal. Suppress overflow checks in all cases.
|
||
|
||
2020-06-17 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_pragmas.rst, lib-writ.ads,
|
||
par-prag.adb, sem_ch12.adb, sem_ch8.adb, sem_prag.adb: Fix
|
||
casing of GNATprove.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-06-17 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* checks.adb (Generate_Range_Check): Simplify redundant
|
||
condition.
|
||
* sem_ch3.adb (Check_Initialization, Process_Discriminants):
|
||
Likewise.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
|
||
|
||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_fixd.adb (Build_Conversion): Also preserve the
|
||
Conversion_OK flag of an inner conversion.
|
||
|
||
2020-06-17 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): Enable expansion
|
||
that creates a renaming that removes side effects from the
|
||
iterated object in the GNATprove mode; then analyze reference to
|
||
this renaming (it is required for GNATprove and harmless for
|
||
GNAT).
|
||
|
||
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sinfo.ads (Conversion_OK): Document use for 'Pos and 'Val.
|
||
* exp_attr.adb (Get_Integer_Type): New function returning a
|
||
small integer type appropriate for an enumeration type.
|
||
(Expand_N_Attribute_Reference) <Attribute_Enum_Rep>: Call it.
|
||
<Attribute_Pos>: For an enumeration type with a standard
|
||
representation, expand to a conversion with Conversion_OK.
|
||
<Attribute_Val>: Likewise.
|
||
* exp_ch4.adb (Expand_N_Type_Conversion): Do not expand when
|
||
the target is an enumeration type and Conversion_OK is set.
|
||
|
||
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch4.adb (Common_Type): Go to Underlying_Full_View, if any.
|
||
|
||
2020-06-16 Richard Kenner <kenner@adacore.com>
|
||
|
||
* exp_unst.adb (Subp_Index): Change way we detect internal
|
||
protected subprograms.
|
||
|
||
2020-06-16 Richard Kenner <kenner@adacore.com>
|
||
|
||
* comperr.adb (Compiler_Abort): Clarify message displayed to
|
||
customers.
|
||
|
||
2020-06-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* checks.adb, doc/gnat_ugn/the_gnat_compilation_model.rst,
|
||
einfo.ads, exp_ch5.adb, exp_ch7.adb, lib-xref.ads,
|
||
libgnat/g-spitbo.ads, make.adb, sem_aux.adb, sem_ch3.adb,
|
||
sem_ch4.adb, sem_ch5.adb, urealp.adb: Fix wrong casing.
|
||
* gnat_ugn.texi: Regenerate.
|
||
|
||
2020-06-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* einfo.adb, exp_spark.adb, exp_util.adb, sem_eval.adb: Replace
|
||
"Ekind ... in Object_Kind" with "Is_Object (...)".
|
||
|
||
2020-06-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Overlapping_Actuals): Fix typo in
|
||
comment.
|
||
|
||
2020-06-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_util.adb (Evaluate_Name): Force evaluation of aggregates;
|
||
recursively evaluate expression of a qualified expression; fix
|
||
location of the comment for an attribute referenced and an
|
||
indexed component.
|
||
|
||
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Expression): Use consistent style and
|
||
formatting in a couple of cases.
|
||
|
||
2020-06-16 Steve Baird <baird@adacore.com>
|
||
|
||
* libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Uncomment the
|
||
commented-out Integer_Literal aspect specification for type
|
||
Big_Integer.
|
||
|
||
2020-06-16 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch6.adb (BIP_Suffix_Kind, Check_BIP_Actuals,
|
||
Is_Build_In_Place_Entity): New subprograms.
|
||
(Make_Build_In_Place_Call_In_Allocator,
|
||
Make_Build_In_Place_Call_In_Anonymous_Context,
|
||
Make_Build_In_Place_Call_In_Assignment,
|
||
Make_Build_In_Place_Call_In_Object_Declaration): Add assertions.
|
||
(Needs_BIP_Task_Actuals): Add missing support for thunks.
|
||
(Expand_Actuals): Ensure that the BIP call has available an
|
||
activation chain and the _master variable.
|
||
* exp_ch9.adb (Find_Enclosing_Context): Initialize the list of
|
||
declarations of empty blocks when the _master variable must be
|
||
declared and the list was not available.
|
||
|
||
2020-06-16 Bob Duff <duff@adacore.com>
|
||
|
||
* par-ch4.adb (P_Case_Expression): Move to be local.
|
||
(P_Declare_Expression): New parsing routine.
|
||
(P_Unparen_Cond_Expr_Etc): New name for
|
||
P_Unparen_Cond_Case_Quant_Expression which was missing one case
|
||
in its name (iterated component association), and we're adding a
|
||
new case (declare expression), so lets use "Etc" instead of
|
||
trying to pack all those things into the name. Add call to
|
||
P_Declare_Expression, and check for missing parens.
|
||
(P_Expression_If_OK, P_Expression_Or_Range_Attribute_If_OK): Add
|
||
Tok_Declare.
|
||
* par.adb (P_Basic_Declarative_Items): Add parameter
|
||
Declare_Expression so we can tailor the error message about
|
||
incorrect bodies.
|
||
(P_Case_Expression): Move to body.
|
||
* par-ch3.adb (P_Basic_Declarative_Items): Tailor the error
|
||
message about incorrect bodies.
|
||
* par-ch7.adb (P_Package): Pass Declare_Expression => False to
|
||
P_Basic_Declarative_Items.
|
||
* sem.ads (In_Declare_Expr): Counter used to determine whether
|
||
we are analyzing a declare_expression. Needed to give errors
|
||
about things that are not allowed in declare_expression, such as
|
||
the 'Access attribute.
|
||
* sem.adb (Do_Analyze): Save/restore In_Declare_Expr.
|
||
* sem_ch4.adb (Analyze_Expression_With_Actions): Give this node
|
||
its own scope. That seems better in general, but it is
|
||
necessary for declare_expressions. For example, an identifier
|
||
declared in a declare_expression should not clash with the same
|
||
identifier in an outer scope. If this is a declare_expression,
|
||
indicated by Comes_From_Source, then check legality rules, and
|
||
incr/decr In_Declare_Expr.
|
||
* sem_aggr.adb (Resolve_Aggregate): Allow an applicable index
|
||
constraint for a declare_expression, so if its expression is an
|
||
array aggregate, it can have "others => ...".
|
||
* sem_attr.adb (Analyze_Access_Attribute): Disallow these
|
||
attributes in declare_expressions. Add comment to make it clear
|
||
that Unrestricted_Access is included.
|
||
* sinfo.ads, sinfo.adb, atree.ads, atree.adb: Remove the
|
||
now-incorrect comment in sinfo.ads that says
|
||
N_Expression_With_Actions has no proper scope. Add 17-parameter
|
||
versions of Nkind_In. Remove the 16-parameter versions of
|
||
Nkind_In.
|
||
|
||
2020-06-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_aux.ads, sem_aux.adb (Is_Record_Or_Limited_Type): New
|
||
function.
|
||
* exp_ch4.adb, sem_ch4.adb (Analyze_Membership_Op,
|
||
Expand_Set_Membership.Make_Cond): Choose between primitive and
|
||
predefined equality for membership tests.
|
||
|
||
2020-06-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify code and
|
||
implement AI12-0216 which clarifies the conditions under which
|
||
overlapping actuals in a call are illegal. If proper warnings
|
||
are enabled, GNAT also emits warnings in legal cases of
|
||
overlopping actuals.
|
||
|
||
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Expression): Stop climbing the parent chain
|
||
at a N_{Case,If}_Expression node for a type or an entity that
|
||
does not come from source.
|
||
|
||
2020-06-16 Steve Baird <baird@adacore.com>
|
||
|
||
* snames.ads-tmpl: Define names of the three new aspects.
|
||
* aspects.ads: Define the three new aspects.
|
||
* sem_util.ads, sem_util.adb, sem_dim.adb: Move the function
|
||
String_From_Numeric_Literal from being declared in the body of
|
||
package Sem_Dim to being declared in the visible part of package
|
||
Sem_Util.
|
||
* sem_ch13.ads, sem_ch13.adb: Declare new visible procedure
|
||
Validate_Literal_Aspect. This is where most of the legality
|
||
checking occurs for an aspect specification for one of the three
|
||
new aspects, as well as resolution of the subprogram named in
|
||
the aspect specification. Follow example of other aspects (e.g.,
|
||
Validate_Literal_Aspect is called in much the same way as
|
||
Validate_Iterable_Aspect in Analyze_Aspects_At_Freeze_Point; a
|
||
small amount of legality checking is performed in
|
||
Analyze_One_Aspect in much the same way as for Default_Value or
|
||
Default_Component_Value aspects). Most of the work is done in
|
||
Validate_Literal_Aspect.
|
||
* contracts.adb (Add_Contract_Item): Call
|
||
Validate_Literal_Aspect in much the same way that
|
||
Validate_Iterable_Aspect was already being called.
|
||
* sem_res.adb (Resolve): Rewrite a literal as a call if it is a
|
||
user-defined literal. This is where the dynamic semantics of
|
||
the 3 new aspects are implemented.
|
||
* sem_ch6.adb (Fully_Conformant_Expressions): Two numeric
|
||
literals that have different text but the same value (e.g.,
|
||
12345 and 12_345) do not conform if they are user-defined
|
||
literals. Introduce a new function
|
||
User_Defined_Numeric_Literal_Mismatch to avoid duplication in
|
||
making this check.
|
||
* sem_type.adb (Has_Compatible_Type): A numeric literal can be
|
||
compatible with a non-numeric type (and a string literal can be
|
||
compatible with a non-string type) if it can be interpreted as a
|
||
user-defined literal.
|
||
|
||
2020-06-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Extension_Aggregate): Fix implementation
|
||
of AI05-0115 by checking the correct type.
|
||
|
||
2020-06-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Specification): Generate error
|
||
message for functions returning interfaces.
|
||
|
||
2020-06-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch13.adb (Membership_Entry): Relax assertion to also
|
||
recognize qualified identifiers.
|
||
|
||
2020-06-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_util.adb (Evaluate_Name): Force evaluation of operators.
|
||
|
||
2020-06-16 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Membership_Op): Reset entity of equality
|
||
nodes for membership tests with singletons.
|
||
(Analyze_User_Defined_Binary_Op): Always perform the analysis
|
||
since nodes coming from the expander also may refer to non
|
||
standard operators as part of membership expansion.
|
||
* exp_ch4.adb (Expand_Set_Membership.Make_Cond): Reset entity of
|
||
equality node.
|
||
* sem_type.ads: Fix typo in comment.
|
||
|
||
2020-06-16 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Add
|
||
Check_Not_Incomplete_Type call.
|
||
|
||
2020-06-16 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch6.adb: Add closing paren in a comment.
|
||
* sem_util.adb: Correct comment typo (aggreate => aggregate).
|
||
|
||
2020-06-16 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
|
||
Code cleanup.
|
||
|
||
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* freeze.adb (In_Expanded_Body): Remove unreachable code.
|
||
(Freeze_Expression): Rename a couple of local variables.
|
||
In the case of an expanded body, also freeze locally the
|
||
entities declared in a nested block.
|
||
|
||
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch4.adb (Transform_Object_Operation): Document that it
|
||
may be partially destructive for the parent of the node.
|
||
(Try_Object_Operation): Undo the changes made above on failure.
|
||
|
||
2020-06-16 Javier Miranda <miranda@adacore.com>
|
||
|
||
* restrict.adb (Global_No_Tasking): Adding
|
||
Targparm.Restrictions_On_Target Fixes regressions with zfp.
|
||
|
||
2020-06-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb: (Freeze_Expression, In_Expanded_Body): Treat the
|
||
generated body of an expression function like other bodies
|
||
generated during expansion (e.g. stream subprograms) so that
|
||
those bodies are not treated as freezing points. Handle properly
|
||
other global references in such completions.
|
||
|
||
2020-06-16 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Object_Renaming): Remove trivially
|
||
useless initialization of Is_Object_Reference.
|
||
* sem_util.adb (Is_Object_Reference): Simplify detection of
|
||
binary and unary operators; literally implement rules about
|
||
aggregates and qualified expressions; recognize string literals
|
||
as object references.
|
||
|
||
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch12.adb (Validate_Derived_Type_Instance): Reword error
|
||
message for 12.5.1(8) subclause and add secondary message if
|
||
the incompatibility comes from the predicates.
|
||
* sem_ch3.adb (Check_Constraining_Discriminant): New procedure
|
||
to give the error required by the 3.7(15) subclause. Mention
|
||
"statically" in the error message and add secondary message
|
||
if the incompatibility comes from the predicates.
|
||
(Build_Derived_Concurrent_Type): Call it when a new discriminant
|
||
constrains an old one.
|
||
(Build_Derived_Record_Type): Likewise.
|
||
* sem_eval.ads (Predicates_Compatible): Declare.
|
||
* sem_eval.adb (Predicates_Compatible): New function to implement
|
||
the compatibility of predicates specified by the 4.9.1 clause.
|
||
(Subtypes_Statically_Compatible): Call it.
|
||
|
||
2020-06-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_eval.ads (Predicates_Match): Fix description.
|
||
* sem_eval.adb (Predicates_Match): Rewrite.
|
||
|
||
2020-06-15 Ed Falis <falis@adacore.com>
|
||
|
||
* Makefile.rtl: Change name of hie/g-io__vxworks-ppc-cert.adb.
|
||
|
||
2020-06-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch8.adb (Premature_Usage): Add support for subtype
|
||
references and replace set of if-then-else by a case statement.
|
||
|
||
2020-06-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Depends_In_Decl_Part,
|
||
Analyze_Global_In_Decl_Part): Bring back task discriminants for
|
||
analysis of the Global/Depends contracts; add comments.
|
||
|
||
2020-06-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (Return_Applies_To): Document special usage for E_Block.
|
||
* einfo.adb (Write_Field8_Name): Write it for E_Block too.
|
||
* exp_ch4.adb (Expand_N_Type_Conversion): Remove implementation of
|
||
the check prescribed by AI05-0073.
|
||
* exp_ch6.adb (Apply_CW_Accessibility_Check): New procedure to apply
|
||
the check prescribed by AI95-344 extracted from...
|
||
(Expand_N_Extended_Return_Statement): Apply the check prescribed by
|
||
AI95-344 to the expression, if present. Suppress only access checks
|
||
when analyzing the rewritten result.
|
||
(Expand_Simple_Function_Return): ...here. Rename local variable.
|
||
Call Apply_CW_Accessibility_Check to apply the check prescribed by
|
||
AI95-344, but do not do it for the simple return statement generated
|
||
by the expansion of an extended return statement. Apply the check
|
||
prescribed by AI05-0073 to all functions returning anonymous access
|
||
type designating a specific tagged type, but not if the expression
|
||
was null or tag checks are suppressed for the type, and use Not In
|
||
operator rather than comparing the tags explicitly.
|
||
* sem.adb (Analyze): Handle all Suppress values.
|
||
* sem_ch6.adb (Analyze_Function_Return): Do not explicitly apply
|
||
predicate checks in the case of an extended return statement.
|
||
Do not apply an implicit conversion to the anonymous access result
|
||
type in the case of the simple return statement generated by the
|
||
expansion of an extended return statement.
|
||
(New_Overloaded_Entity): Small comment tweak.
|
||
* treepr.adb (Print_Node): Fix typo in flag string.
|
||
|
||
2020-06-15 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_put_image.ads, exp_put_image.adb
|
||
(Image_Should_Call_Put_Image): New function to determine whether
|
||
the call to Put_Image should be generated.
|
||
(Build_Image_Call): New procedure to generate the call to
|
||
Put_Image.
|
||
* exp_imgv.adb (Expand_Image_Attribute): Use underlying types to
|
||
bypass privacy (only in Ada 2020). If
|
||
Image_Should_Call_Put_Image is True (which happens only in Ada
|
||
2020), then call Build_Image_Call.
|
||
* rtsfind.ads, rtsfind.adb: Add the necessary declarations in
|
||
Ada.Strings.Text_Output.Buffers.
|
||
* sem_attr.adb (Check_Image_Type): Enable the Ada 2020 case.
|
||
* libgnat/a-stoufo.ads, libgnat/a-stoufo.adb: Use the less
|
||
restrictive type that allows newline characters.
|
||
|
||
2020-06-15 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch9.ads (Build_Master_Declaration): Add commas.
|
||
* exp_ch9.adb (Build_Master_Entity): Spelling fix ("build" =>
|
||
"built").
|
||
(Build_Task_Activation_Call): Fix word order.
|
||
|
||
2020-06-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-nbnbin.ads (Big_Positive, Big_Natural): Fix
|
||
predicate.
|
||
|
||
2020-06-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Fix
|
||
dealing with scopes on subprogram bodies that act as specs.
|
||
* sem_util.adb (Has_Relaxed_Initialization): Fix trivial
|
||
mistake.
|
||
|
||
2020-06-15 Javier Miranda <miranda@adacore.com>
|
||
|
||
* restrict.ads (Set_Global_No_Tasking, Global_No_Tasking): New
|
||
subprograms.
|
||
* restrict.adb (Set_Global_No_Tasking, Global_No_Tasking): New
|
||
subprograms.
|
||
* sem_ch3.adb (Access_Definition): Do not skip building masters
|
||
since they may be required for BIP calls.
|
||
(Analyze_Subtype_Declaration): Propagate attribute
|
||
Is_Limited_Record in class-wide subtypes and subtypes with
|
||
cloned subtype attribute; propagate attribute
|
||
Is_Limited_Interface.
|
||
* sem_ch6.adb (Check_Anonymous_Return): Do not skip building
|
||
masters since they may be required for BIP calls. Use
|
||
Build_Master_Declaration to declare the _master variable.
|
||
(Create_Extra_Formals): Add decoration of Has_Master_Entity when
|
||
the _master formal is added.
|
||
* exp_ch3.adb (Init_Formals): Adding formal to decorate it with
|
||
attribute Has_Master_Entity when the _master formal is added.
|
||
(Build_Master): Do not skip building masters since they may be
|
||
required for BIP calls.
|
||
(Expand_N_Object_Declaration): Ensure activation chain and
|
||
master entity for objects initialized with BIP function calls.
|
||
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
|
||
Adding support to detect and save restriction No_Tasking when
|
||
set in the run-time package System or in a global configuration
|
||
pragmas file.
|
||
* sem_util.adb (Current_Entity_In_Scope): Overload this
|
||
subprogram to allow searching for an entity by its Name.
|
||
* sem_util.ads (Current_Entity_In_Scope): Update comment.
|
||
* exp_ch4.adb (Expand_N_Allocator): Do not skip building masters
|
||
since they may be required for BIP calls.
|
||
* exp_ch6.ads (Might_Have_Tasks): New subprogram.
|
||
* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add
|
||
support for BIP calls returning objects that may have tasks.
|
||
(Make_Build_In_Place_Call_In_Allocator): Build the activation
|
||
chain if the result might have tasks.
|
||
(Make_Build_In_Place_Iface_Call_In_Allocator): Build the class
|
||
wide master for the result type.
|
||
(Might_Have_Tasks): New subprogram.
|
||
(Needs_BIP_Task_Actuals): Returns False when restriction
|
||
No_Tasking is globally set.
|
||
* exp_ch9.ads (Build_Master_Declaration): New subprogram.
|
||
* exp_ch9.adb (Build_Activation_Chain_Entity): No action
|
||
performed when restriction No_Tasking is globally set.
|
||
(Build_Class_Wide_Master): No action performed when restriction
|
||
No_Tasking is globally set; use Build_Master_Declaration to
|
||
declare the _master variable.
|
||
(Build_Master_Declaration): New subprogram.
|
||
(Build_Master_Entity): No action performed when restriction
|
||
No_Tasking is globally set; added support to handle transient
|
||
scopes and _finalizer routines.
|
||
(Build_Master_Renaming): No action performed when restriction
|
||
No_Tasking is globally set.
|
||
(Build_Task_Activation_Call): Skip generating the call when
|
||
the chain is an ignored ghost entity.
|
||
(Find_Master_Scope): Generalize the code that detects transient
|
||
scopes with master entity.
|
||
* einfo.ads (Has_Nested_Subprogram): Minor comment reformatting.
|
||
|
||
2020-06-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_attr.adb (Eval_Attribute): Protect against previous
|
||
errors.
|
||
* sem_ch13.adb (Analyze_Aspect_Default_Value): Remove redundant
|
||
error checking, handling in Analyze_Aspect_Specifications.
|
||
(Analyze_Aspect_Specifications): Refine error messages on
|
||
Default_[Component_]Value.
|
||
(Check_Aspect_Too_Late): New procedure.
|
||
(Rep_Item_Too_Late.Is_Derived_Type_With_Constraint): Remove,
|
||
dead code.
|
||
* aspects.ads (Is_Representation_Aspect): Default_Value is a
|
||
representation aspect.
|
||
|
||
2020-06-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-wichha.ads, libgnat/a-wichha.adb,
|
||
libgnat/a-wichun.ads, libgnat/a-wichun.adb (Is_Basic, To_Basic):
|
||
New.
|
||
* libgnat/s-utf_32.ads, libgnat/s-utf_32.adb (Is_UTF_32_Basic,
|
||
To_UTF_32_Basic, Decomposition_Search): New subprograms.
|
||
(Unicode_Decomposition): New table.
|
||
|
||
2020-06-15 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch6.adb (Add_Call_By_Copy_Code): In the case of a view
|
||
conversion passed to a scalar out-mode parameter where the
|
||
formal has Default_Value set, declare the copy temp with the
|
||
base type of the formal's subtype and initialize the copy temp
|
||
with the actual's value.
|
||
|
||
2020-06-15 Justin Squirek <squirek@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Case_Expression): Set default value for
|
||
Target to silence potential warnings.
|
||
(Expand_N_If_Expression): Add calculation to check when the if
|
||
expression is used directly in the context of an actual of an
|
||
anonymous access type and add a special path to force expansion
|
||
of the if expression in this case.
|
||
* exp_ch6.adb (Expand_Branch): Generate an assignment to the
|
||
level temporary for a given branch.
|
||
(Expand_Call_Helper): Add expansion to allow for creating a
|
||
temporary to store associated accessiblity levels on each branch
|
||
of the conditional expression. Also perform expansion of
|
||
function calls into expressions with actions, and fixup
|
||
references to N with Call_Node.
|
||
(Insert_Level_Assign): Move through nested conditional
|
||
expressions to each branch.
|
||
* sem_util.ads, sem_util.adb (Is_Anonymous_Access_Actual): Added
|
||
to detect when to force expansion of if expressions.
|
||
|
||
2020-06-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Depends_In_Decl_Part,
|
||
Analyze_Global_In_Decl_Part): Do not install task discriminants
|
||
for analysis of the Global/Depends contracts.
|
||
|
||
2020-06-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* contracts.adb (Analyze_Object_Contract): Do not expect
|
||
Global/Depends on single protected units.
|
||
|
||
2020-06-15 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_res.adb (Valid_Conversion): Add missing condition to
|
||
trigger proper static accessiblity failiures when the target
|
||
type is an anonymous access.
|
||
|
||
2020-06-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call_Helper): Replace repeated Ekind with
|
||
Ekind_In.
|
||
|
||
2020-06-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch6.adb, sem_util.adb: Remove excessive parents,
|
||
especially since they don't make the code any easier to read.
|
||
|
||
2020-06-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* aspects.ads (Aspect_Id): Add Aspect_Relaxed_Initialization.
|
||
(Implementation_Defined_Aspect): Add new aspect.
|
||
(Aspect_Argument): Add new aspect with Optional_Expression
|
||
argument.
|
||
(Is_Representation_Aspect): Add new aspect as a
|
||
non-representation one.
|
||
(Aspect_Names): Add name for the new aspect.
|
||
(Aspect_Delay): Add new aspect as a non-delayed one.
|
||
* sem_ch3.adb: Minor reformatting.
|
||
* einfo.ads, einfo.adb (Is_Relaxed_Initialization_State): New
|
||
query; reuses existing code for querying abstract state options.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): For now ignore
|
||
attribute 'Initialized.
|
||
* sem_attr.adb (Analyze_Attribute_Old_Result): Allow attribute
|
||
'Result to be used in the aspect Relaxed_Initialization
|
||
expression.
|
||
(Analyze_Attribute): Analyze attribute 'Initialized; based on
|
||
existing code for attribute 'Valid_Scalars.
|
||
(Eval_Attribute): Do not expect attribute 'Initialized, just
|
||
like attribute 'Valid_Scalars is not expected.
|
||
* sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): New
|
||
routine.
|
||
(Analyze_Aspect_Specifications): Analyze new aspect in a
|
||
dedicated routine.
|
||
(Check_Aspect_At_Freeze_Point): Do not expect new aspect.
|
||
* sem_prag.adb (Analyze_Abstract_State): Support option
|
||
Relaxed_Initialization on abstract states.
|
||
* sem_util.ads, sem_util.adb (Has_Relaxed_Initialization): New
|
||
query for the GNATprove backend.
|
||
* snames.ads-tmpl (Snames): Add Name_Ids for the new aspect and
|
||
attribute; add an Attribute_Id for the new attribute.
|
||
|
||
2020-06-15 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_put_image.adb, libgnat/s-putima.adb, libgnat/s-putima.ads,
|
||
rtsfind.ads: Enable Put_Image if Is_Access_Subprogram_Type (Typ).
|
||
Remove comment saying it's disabled in that case. Rename
|
||
Put_Image_Access_Prot to be Put_Image_Access_Prot_Subp to
|
||
clarify that we're talking about access-to-subprogram, not
|
||
access-to-protected-object.
|
||
|
||
2020-06-15 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_attr.adb (Check_Image_Type): New procedure for checking
|
||
the type, depending on language version. Disable the Ada 2020
|
||
support until the corresponding expander work is done.
|
||
(Analyze_Image_Attribute): Call Check_Image_Type. Rearrange the
|
||
code to be simplier and more logical. When P_Type is modified,
|
||
modify P_Base_Type accordingly.
|
||
* sem_util.adb (Is_Object_Image): Do not return False if the
|
||
prefix is a type. X'Image should be considered an image of an
|
||
object iff X is an object (albeit illegal pre-2020 if
|
||
nonscalar).
|
||
|
||
2020-06-15 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/s-putima.ads, libgnat/s-putima.adb
|
||
(Put_Image_Access_Subp, Put_Image_Access_Prot): New procedures
|
||
for printing access-to-subprogram objects. Remove an explicit
|
||
" ", because Put_Image includes the annoying leading blank.
|
||
* rtsfind.ads: Add new procedures in s-putima.
|
||
* exp_put_image.adb: Call new procedures as appropriate.
|
||
|
||
2020-06-15 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_imgv.adb (Expand_Image_Attribute): Allow private types.
|
||
Put_Image generates Image for numeric types, and private types
|
||
whose full type is numeric. This requires the Conversion_OK flag
|
||
for integer and floating-point types. For fixed point, we need
|
||
the extra conversion.
|
||
* exp_put_image.adb (Build_Elementary_Put_Image_Call): Remove
|
||
special handling of real types.
|
||
(Enable_Put_Image): Enable for reals.
|
||
|
||
2020-06-15 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_attr.adb (Put_Image): Use underlying type for strings.
|
||
Remove unchecked union processing.
|
||
* exp_put_image.adb (Tagged_Put_Image_Enabled): Use -gnatd_z to
|
||
enable default Put_Image for tagged types. This allows testing
|
||
that feature.
|
||
(Build_String_Put_Image_Call): Set Conversion_OK flag.
|
||
(Make_Component_List_Attributes): Remove unchecked union
|
||
processing.
|
||
(Enable_Put_Image): Disable for unchecked unions. Enable for
|
||
nonscalar types (which were mistakenly disabled in earlier
|
||
changes).
|
||
* debug.adb: Document -gnatd_z switch.
|
||
* libgnat/s-putima.adb (Put_Image_String, Put_Image_Wide_String,
|
||
Put_Image_Wide_Wide_String): Double double-quote characters.
|
||
Forget about special handling of control characters for now --
|
||
that's rare enough to not be a priority, and it's not clear what
|
||
the right thing to do is anyway.
|
||
* namet.adb: Minor: Improve debugger-friendliness.
|
||
* sinfo.ads: Minor: Add "???" comment.
|
||
|
||
2020-06-15 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Is_Renaming_Declaration): Remove.
|
||
|
||
2020-06-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Expression): When traversing the tree
|
||
looking for the proper insertion point for the freeze node of an
|
||
entity that is declared in an outer scope, set the candidate
|
||
subprogram body node properly. Previous code has an off-by-one
|
||
error.
|
||
|
||
2020-06-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference) <Has_Same_Storage>:
|
||
Do not do superfluous work. Add the condition (X'Size /= 0) on
|
||
both paths and turn binary AND into short-circuit AND THEN.
|
||
|
||
2020-06-15 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): In the Loop_Entry case,
|
||
replace a call to Statically_Denotes_Object with a call to
|
||
Statically_Names_Object and clean up the preceding comment.
|
||
|
||
2020-06-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Set_Membership): Remove local variable.
|
||
In the non-overloaded case, call Intersect_Types on the left
|
||
operand and the first alternative to get the resolution type.
|
||
But test the subtype of the left operand to give the warning.
|
||
|
||
2020-06-12 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_res.adb (Valid_Conversion): The simpler cases of
|
||
violations of the aforementioned 8.6 rule are already handled
|
||
correctly. These include cases where the operand of the type
|
||
conversion is an access parameter or a stand-alone object of an
|
||
anonymous access type. Add code to detect violations where the
|
||
operand of the type conversion is an access discriminant whose
|
||
accessibility level is tied to one of the other simpler cases.
|
||
This is implemented in a new function,
|
||
Valid_Conversion.Is_Discrim_Of_Bad_Access_Conversion_Argument,
|
||
which is called in place of the previous test.
|
||
|
||
2020-06-12 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_attr.adb (Put_Image): Remove assertion. This assertion is
|
||
False in mixed-Ada-version programs.
|
||
* exp_put_image.adb (Tagged_Put_Image_Enabled): New flag to make
|
||
it easy to experiment with Put_Image on tagged types. False in
|
||
this version.
|
||
(Enable_Put_Image): Enable in pre-2020. Workarounds: Disable
|
||
for tagged types if Tagged_Put_Image_Enabled is False. Disable
|
||
for access-to-subprogram types. Disable if errors have been
|
||
detected, or Sink is unavailable.
|
||
(Preload_Sink): Move all conditionals here, from Sem_Ch10, so
|
||
they can be nearby related code in Enable_Put_Image. Load Sink
|
||
only if we have seen a tagged type. This removes the dilemma
|
||
about calling Preload_Sink when compiling the compiler, which
|
||
caused unwanted dependences.
|
||
* exp_put_image.ads (Preload_Sink): New formal Compilation_Unit,
|
||
needed to move all conditionals here, from Sem_Ch10.
|
||
* libgnat/a-stouut.adb (Put_UTF_8): Make this suitable for
|
||
inlining, so we don't get warnings about inlining in some tests.
|
||
And so it can be inlined!
|
||
* opt.ads (Tagged_Seen): New flag (see Preload_Sink).
|
||
* scng.adb (Scan): Set new Tagged_Seen flag.
|
||
* sem_ch10.adb (Analyze_Compilation_Unit): Move conditionals and
|
||
comments regarding Preload_Sink into Preload_Sink.
|
||
|
||
2020-06-12 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): Check for AI12-0074.
|
||
|
||
2020-06-12 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* libgnat/s-secsta.ads (Memory_Alignment): New constant, memory
|
||
alignment for chunks and allocated blocks. Initialize to
|
||
Standard'Maximum_Alignment * 2.
|
||
(Chunk_Memory): Use it.
|
||
* libgnat/s-secsta.adb (Round_Up): Likewise.
|
||
|
||
2020-06-12 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* par-prag.adb: Fix ordering.
|
||
* snames.ads-tmpl (Name_Test_Case, Pragma_Test_Case): Likewise.
|
||
* sem_prag.adb (Sig_Flags): Likewise.
|
||
|
||
2020-06-12 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Entity_Name): Fix handling of expressions
|
||
containing array attributes wrt Ada 83 detection.
|
||
|
||
2020-06-12 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb: Define 3 new Boolean-valued
|
||
functions - Statically_Denotes_Entity,
|
||
Statically_Denotes_Object, and Statically_Names_Object. The
|
||
first two were taken from sem_attr.adb. The term "statically
|
||
names" is defined in the Ada RM and the new function
|
||
Statically_Names_Object is intended to reflect that definition,
|
||
or more precisely, as described in a comment in the code, to
|
||
reflect the expected future definition of that term.
|
||
* sem_attr.adb: Delete functions Statically_Denotes_Object and
|
||
Statically_Denotes_Entity; these two functions have been moved
|
||
to package Sem_Util. Replace call to Statically_Denotes_Object
|
||
with a call to Statically_Names_Object as per AI12-0217 (a
|
||
binding interpretation, so no Ada_Version check).
|
||
* exp_ch9.adb (Expand_Entry_Barrier.Is_Simple_Barrier): Change
|
||
name of function (it was previously Is_Simple_Barrier_Name)
|
||
because the function should return True in the case of a static
|
||
expression; implement this requirement. Change function to
|
||
include a call to Statically_Names_Object so that, for Ada_2020
|
||
and later, it will return True for appropriate subcomponent
|
||
names.
|
||
(Expand_Entry_Barrier.Is_Pure_Barrier): Handle
|
||
N_Indexed_Component and N_Selected_Component cases by calling
|
||
Statically_Names_Object.
|
||
(Expand_Entry_Barrier): Reorganize to treat Simple_Barriers and
|
||
Pure_Barriers more uniformly. Prevent cascaded errors.
|
||
|
||
2020-06-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Find_Matching_Actual): Add guard on search loops
|
||
to detect a compilation error when using a compiler built
|
||
without assertions.
|
||
(Instantiate_Formal_Subprogram): Create a new subprogram name
|
||
for the actual only if formal has contract aspects and expansion
|
||
is enabled.
|
||
|
||
2020-06-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb: Add with and use clauses for Sem_Mech.
|
||
(Get_Base_Object): New function to get the base object of a node.
|
||
(In_Place_Assign_OK): Add Target_Object parameter. Deal with a
|
||
qualified expression on entry. Remove short-circuit for array
|
||
aggregates with a single "others" choice. Do not look into the
|
||
components of the aggregate if the parent is an allocator.
|
||
(Check_Component): Add T_OK parameter and rewrite.
|
||
(Safe_Component): Invoke Check_Component with T_OK set to False.
|
||
(Convert_To_Assignments): Try to use an in-place assignment for
|
||
any target; for that, call Get_Base_Object on the target and pass
|
||
the result to In_Place_Assign_OK.
|
||
(Expand_Array_Aggregate): Use Parent_Kind and Parent_Node more
|
||
consistently. For an assignment, call Get_Base_Object on the
|
||
target and pass the result to In_Place_Assign_OK.
|
||
|
||
2020-06-12 Dmitriy Anisimkov <anisimko@adacore.com>
|
||
|
||
* socket.c (__gnat_minus_500ms): Use GetVersionEx to detect
|
||
Windows Server version.
|
||
* libgnat/g-sothco.ads (Minus_500ms_Windows_Timeout): Remade to
|
||
Boolean constant.
|
||
* libgnat/g-socket.adb (Set_Socket_Option): Use
|
||
Minus_500ms_Windows_Timeout constant instead of function call.
|
||
|
||
2020-06-12 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-coinho.ads, libgnat/a-coinho.adb,
|
||
libgnat/a-coinho__shared.ads, libgnat/a-coinho__shared.adb
|
||
(Swap): New procedure.
|
||
|
||
2020-06-12 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_N_Subprogram_Declaration): Do nothing for
|
||
a subprogram declared in a protected body.
|
||
* exp_ch9.ads, exp_ch9.adb
|
||
(Build_Private_Protected_Declaration): Moved to sem_ch6.adb.
|
||
(Expand_N_Protected_Body): Do nothing for a subprogram declared
|
||
in a protected body.
|
||
* sem_ch6.adb (Build_Internal_Protected_Declaration): Moved from
|
||
exp_ch9.adb and renamed and fixed to ensure in particular that
|
||
such subprograms have convention Intrinsic and have no protected
|
||
version.
|
||
(Analyze_Subprogram_Body_Helper): Call
|
||
Build_Internal_Protected_Declaration.
|
||
(Move_Pragmas): Moved up and merged with the more general
|
||
version from Build_Private_Protected_Declaration. We only want
|
||
to copy selected pragmas, most pragmas are not suitable for a
|
||
copy on the spec.
|
||
|
||
2020-06-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Overriding_Indicatior): Reject an
|
||
overriding indicator on a subprogram declared within a protected
|
||
body.
|
||
|
||
2020-06-12 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* contracts.adb, einfo.adb, sem_ch4.adb, sem_ch6.adb,
|
||
sem_res.adb, sem_util.adb: Replace Ekind_In with Is_Entry.
|
||
|
||
2020-06-12 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Entry_Call): Add call to
|
||
Warn_On_Overlapping_Actuals.
|
||
|
||
2020-06-12 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* aspects.ads (Is_Representation_Aspect): New array.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Check
|
||
13.1(9.2/5) for representation aspects.
|
||
|
||
2020-06-12 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_put_image.ads, exp_put_image.adb (Preload_Sink): Procedure
|
||
for preloading type Sink. This has the side effect of loading
|
||
various dependents, including Ada.Strings.UTF_Encoding.
|
||
(Enable_Put_Image): Disable Put_Image in pre-2020 versions of
|
||
Ada. This limitation can probably be lifted later. Enable for
|
||
tagged types except in predefined units. Disable for CPP types;
|
||
Put_Image is legal, just prints the type name.
|
||
* sem_attr.adb (Check_Put_Image_Attribute): Don't complain about
|
||
Put_Image of CPP types; instead call the "unknown" version of
|
||
Put_Image.
|
||
* sem_ch10.adb (Analyze_Compilation_Unit): Call Preload_Sink.
|
||
|
||
2020-06-12 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify.
|
||
|
||
2020-06-12 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Overlapping_Actuals): Remove suppression
|
||
for internal units.
|
||
|
||
2020-06-12 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_strm.adb (Build_Elementary_Input_Call): Add support for 24
|
||
bits elementary types.
|
||
* rtsfind.ads: Add 24 bits integer streaming routines.
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause
|
||
[Attribute_Stream_Size]): Add support for 24 bits elementary
|
||
types.
|
||
* libgnat/s-stratt.ads, libgnat/s-stratt.adb,
|
||
libgnat/s-stratt__xdr.adb: Add support for signed and unsigned
|
||
24 bits integers.
|
||
|
||
2020-06-12 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Get_Discr_Value): Cleanup.
|
||
|
||
2020-06-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* rtsfind.ads (RTU_Id): Add System_Address_To_Access_Conversions.
|
||
* sem_elab.adb (Elaboration_Phase_Active): Alphabetize.
|
||
(Finalize_All_Data_Structures): Likewise.
|
||
(Error_Preelaborated_Call): New procedure.
|
||
(Build_Call_Marker): Set Is_Preelaborable_Call flag in marker.
|
||
(Build_Access_Marker): Likewise.
|
||
(Build_Subprogram_Invocation): Likewise.
|
||
(Build_Task_Activation): Likewise.
|
||
(Check_Preelaborated_Call): Return when the call is preelaborable.
|
||
Call Error_Preelaborated_Call to give the error otherwise.
|
||
(Check_Elab_Call): Likewise.
|
||
* sem_util.adb (Is_Preelaborable_Function): New predicate.
|
||
(Is_Non_Preelaborable_Construct.Visit): Recurse on the
|
||
Explicit_Actual_Parameter field of N_Parameter_Association.
|
||
(Is_Non_Preelaborable_Construct.Visit_Subexpression): In Ada 2020,
|
||
for a call to a preelaborable function, visit the parameter list;
|
||
otherwise, raise Non_Preelaborable exception.
|
||
(Is_Preelaborable_Construct): Likewise, but recursively check the
|
||
parameters instead and return false upon failure, otherwise true.
|
||
* sinfo.ads (Is_Preelaborable_Call): New flag in call marker nodes.
|
||
(Is_Preelaborable_Call): New inline function.
|
||
(Set_Is_Preelaborable_Call): New inline procedure.
|
||
* sinfo.adb (Is_Preelaborable_Call): New inline function.
|
||
(Set_Is_Preelaborable_Call): New inline procedure.
|
||
|
||
2020-06-12 Bob Duff <duff@adacore.com>
|
||
|
||
* stringt.ads: Remove "use System;".
|
||
|
||
2020-06-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch4.adb (Try_Container_Indexing): Replace call to
|
||
First_Discriminant by Get_Reference_Discriminant to get the
|
||
reference discriminant.
|
||
* sem_ch13.adb (Check_Indexing_Functions): Likewise.
|
||
* sem_ch5.adb (Preanalyze_Range): Call Get_Reference_Discriminant
|
||
to get the reference discriminant.
|
||
* sem_util.adb (Is_OK_Variable_For_Out_Formal): Treat all
|
||
Ada 2012 implicit dereferences in only one place.
|
||
(Is_Variable): Minor tweak.
|
||
|
||
2020-06-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Has_Contracts): New predicate to check whether a
|
||
formal subprogram carries an aspect specification for a pre- or
|
||
postcondition.
|
||
(Build_Subprogram_Wrappers): If actual is overloaded, create a
|
||
new name to be used in call inside wrapper body. This names
|
||
carries the interpretations of the actual, and is resolved when
|
||
the body is analyzed.
|
||
(Build_Subprogram_Body_Wrapper): Use this generated name in
|
||
call.
|
||
(Build_Subprogram_Decl_Wrapper): Build profile of wrapper from
|
||
the profile of formal, and reset type entities for subsequent
|
||
analysis.
|
||
|
||
2020-06-12 Bob Duff <duff@adacore.com>
|
||
|
||
* debug.adb: Remove usage of -gnatd_z.
|
||
* exp_attr.adb, exp_put_image.ads, exp_put_image.adb: Clean up
|
||
the enable/disable code. If Put_Image is disabled for a type,
|
||
systematically call the "unknown" version. Improve comments.
|
||
Consolidate workarounds. Remove usage of -gnatd_z.
|
||
|
||
2020-06-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_elab.adb: Fix typos in comments.
|
||
|
||
2020-06-12 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_util.adb (Object_Access_Level): Add processing of implicit
|
||
dereferences.
|
||
|
||
2020-06-12 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads,
|
||
libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb,
|
||
libgnat/a-nbnbre.ads: Update Put_Image, and uncomment the aspect
|
||
specification. Add pragmas Ada_2020.
|
||
* libgnat/a-stouut.ads, libgnat/a-stteou.ads: Add Preelaborate,
|
||
because the Big_Numbers packages have Preelaborate, and now
|
||
depend on these Text_Output packages.
|
||
|
||
2020-06-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (No_Return): Document it for all subprograms.
|
||
* einfo.adb (Set_No_Return): Adjust assertion accordingly.
|
||
* sem_ch3.adb (Check_Abstract_Overriding): Implement the
|
||
check prescribed by RM 6.5.1(6/2) here instead of...
|
||
(Derive_Subprogram): Adjust comment accordingly.
|
||
* sem_disp.adb (Override_Dispatching_Operation): ...here.
|
||
Remove superfluous return statement.
|
||
* sem_ch6.adb (Check_No_Return_Expression): New procedure.
|
||
(Analyze_Function_Return): Call it to implement the check
|
||
prescribed by AI12-0269 for simple return statements of
|
||
No_Return functions, and also checks extended statements.
|
||
(Analyze_Return_Statement): Only give an error on a return
|
||
statement in No_Return procedures. Use idiomatic form.
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): Adjust error
|
||
message for No_Return renaming subprogram.
|
||
* sem_prag.adb (Analyze_Pragma) <Pragma_No_Return>: Accept
|
||
it on functions and generic functions in Ada 2020.
|
||
|
||
2020-06-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Implicit_Dereference): In an instance,
|
||
reset the type of the prefix if it is private before building
|
||
the dereference.
|
||
|
||
2020-06-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_util.adb (Safe_Unchecked_Type_Conversion): Add missing
|
||
Is_Type guard before calling Has_Discriminants on Etype.
|
||
|
||
2020-06-11 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/a-nbnbin__gmp.adb: There's no Optional_Big_Integer
|
||
anymore. Invalid_Big_Integer is not used.
|
||
Greatest_Common_Divisor returns Big_Positive.
|
||
|
||
2020-06-11 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Get_Value): Refine type of the Compon parameter.
|
||
|
||
2020-06-11 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Record_Aggregate): Refine type of
|
||
Others_Box.
|
||
|
||
2020-06-11 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* checks.adb, exp_ch7.adb, exp_ch9.adb, exp_smem.adb, lib.adb,
|
||
nlists.adb, sem.adb, sem_aggr.adb, sem_ch3.adb, sem_ch6.adb,
|
||
sem_ch8.adb, sem_dim.adb, sem_res.adb, sem_util.adb,
|
||
sem_warn.adb: Replace uses of Next function with procedure.
|
||
|
||
2020-06-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_pakd.ads: Add paragraph about scalar storage order.
|
||
* exp_pakd.adb (Install_PAT): Do not set the scalar storage
|
||
order of the PAT here but...
|
||
(Set_PB_Type): ...here instead and...
|
||
(Create_Packed_Array_Impl_Type): ...here as well.
|
||
* rtsfind.ads (RE_Id): Add RE_Rev_Packed_Bytes{1,2,4}.
|
||
(RE_Unit_Table): Likewise.
|
||
* libgnat/s-unstyp.ads (Rev_Packed_Bytes1): New derived type.
|
||
(Rev_Packed_Bytes2): Likewise.
|
||
(Rev_Packed_Bytes4): Likewise.
|
||
|
||
2020-06-11 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch4.adb, sem_ch6.adb, sem_res.adb, sem_util.ads: Fix
|
||
references to SPARK RM 7.1.3 rule numbers.
|
||
|
||
2020-06-11 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify code,
|
||
remove inner predicate Is_Covered_Formal, preserve warning for
|
||
two overlapping composite types when only one is writable, and
|
||
for two overlapping and writable elementary types.
|
||
|
||
2020-06-11 Steve Baird <baird@adacore.com>
|
||
|
||
* contracts.adb (Add_Contract_Item): Support specifying
|
||
volatility refinement aspects for types.
|
||
(Analyze_Contracts): Add call to Analyze_Type_Contract in the
|
||
case of a contract for a type.
|
||
(Freeze_Contracts): Add call to Analyze_Type_Contract in the
|
||
case of a contract for a type.
|
||
(Check_Type_Or_Object_External_Properties): A new procedure
|
||
which performs the work that needs to be done for both object
|
||
declarations and types.
|
||
(Analyze_Object_Contract): Add a call to
|
||
Check_Type_Or_Object_External_Properties and remove the code in
|
||
this procedure which did much of the work that is now performed
|
||
by that call.
|
||
(Analyze_Type_Contract): Implement this new routine as nothing
|
||
more than a call to Check_Type_Or_Object_External_Properties.
|
||
* contracts.ads: Update comment for Add_Contract_To_Item because
|
||
types can have contracts. Follow (questionable) precedent and
|
||
declare new routine Analyze_Type_Contract as visible (following
|
||
example of Analyze_Object_Contract), despite the fact that it is
|
||
never called from outside of the package where it is declared.
|
||
* einfo.adb (Contract, Set_Contract): Id argument can be a type;
|
||
support this case.
|
||
(Write_Field34_Name): Field name is "contract" for a type.
|
||
* einfo.ads: Update comment describing Contract attribute.
|
||
* sem_ch3.adb (Build_Derived_Numeric_Type): Is_Volatile should
|
||
return same answer for all subtypes of a given type. Thus, when
|
||
building the base type for something like type Volatile_1_To_10
|
||
is range 1 .. 10 with Volatile; that basetype should be marked
|
||
as being volatile.
|
||
(Access_Type_Declaration): Add SPARK-specific legality check
|
||
that the designated type of an access type shall be compatible
|
||
with respect to volatility with the access type.
|
||
* sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Add
|
||
SPARK-specific legality check that an actual type parameter in
|
||
an instantiation shall be compatible with respect to volatility
|
||
with the corresponding formal type.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Perform checks
|
||
for aspect specs for the 4 volatility refinement aspects that
|
||
were already being performed for all language-defined aspects.
|
||
* sem_prag.adb (Analyze_External_Property_In_Decl_Part,
|
||
Analyze_Pragma): External properties (other than No_Caching) may
|
||
be specified for a type, including a generic formal type.
|
||
* sem_util.ads: Declare new subprograms - Async_Readers_Enabled,
|
||
Async_Writers_Enabled, Effective_Reads, Effective_Writes, and
|
||
Check_Volatility_Compatibility.
|
||
* sem_util.adb (Async_Readers_Enabled, Async_Writers_Enabled,
|
||
Effective_Reads, Effective_Writes): Initial implementation of
|
||
new functions for querying aspect values.
|
||
(Check_Volatility_Compatibility): New procedure intended for use
|
||
in checking all SPARK legality rules of the form "<> shall be
|
||
compatible with respect to volatility with <>".
|
||
(Has_Enabled_Property): Update comment because Item_Id can be a
|
||
type. Change name of nested Variable_Has_Enabled_Property
|
||
function to Type_Or_Variable_Has_Enabled_Property; add a
|
||
parameter to that function because recursion may be needed,
|
||
e.g., in the case of a derived typ). Cope with the case where
|
||
the argument to Has_Enabled_Property is a type.
|
||
|
||
2020-06-11 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Add_Association): Add assertion about the formal
|
||
parameters.
|
||
(Propagate_Discriminants): Always add an explicit component
|
||
association, so that an "others => <>" association is never
|
||
needed.
|
||
|
||
2020-06-11 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_put_image.adb (Build_Elementary_Put_Image_Call): If the
|
||
underlying type is real, call Put_Image_Unknown.
|
||
(Build_Unknown_Put_Image_Call): Pass the type name to
|
||
Put_Image_Unknown.
|
||
* libgnat/s-putima.ads, libgnat/s-putima.adb
|
||
(Put_Image_Unknown): Add Type_Name parameter. Remove
|
||
overly-detailed documentation of what it does; better to leave
|
||
it open.
|
||
|
||
2020-06-11 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Constrained_Array_Type,
|
||
Build_Constrained_Discriminated_Type): Skip unnecessary loop
|
||
iterations.
|
||
|
||
2020-06-11 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Build_Constrained_Itype): Move to Sem_Util.
|
||
* sem_ch3.adb (Build_Subtype, Inherit_Predicate_Flags): Move...
|
||
* sem_util.adb (Build_Subtype): Here. Add parameters for
|
||
references to objects previously declared in enclosing scopes.
|
||
(Inherit_Predicate_Flags): And here, because it is called by
|
||
Build_Subtype.
|
||
* sem_util.ads (Build_Overriding_Spec): Reorder alphabetically.
|
||
(Build_Subtype): Moved from Sem_Ch3; comments updated.
|
||
(Build_Constrained_Itype): Moved from Sem_Aggr; comments
|
||
updated.
|
||
|
||
2020-06-11 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Case_Table_Type): Change index type from Nat to
|
||
Pos.
|
||
|
||
2020-06-11 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Build_Constrained_Itype): Previously a declare
|
||
block, now a separate procedure; the only change is that now
|
||
New_Assoc_List might include components and an others clause,
|
||
which we ignore (while we deal with discriminants exactly as we
|
||
did before); extend a ??? comment about how this routine is
|
||
different from the Build_Subtype
|
||
(Resolve_Record_Aggregate): Create a constrained itype not just
|
||
for the outermost record aggregate, but for its inner record
|
||
aggregates as well.
|
||
|
||
2020-06-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.adb (Build_Discriminant_Checks): Build an explicit
|
||
dereference when the type is an access type.
|
||
* exp_atag.adb (Build_CW_Membership): Add explicit dereferences.
|
||
(Build_Get_Access_Level): Likewise.
|
||
(Build_Get_Alignment): Likewise.
|
||
(Build_Inherit_Prims): Likewise.
|
||
(Build_Get_Transportable): Likewise.
|
||
(Build_Set_Size_Function): Likewise.
|
||
* exp_ch3.adb (Build_Offset_To_Top_Function): Likewise.
|
||
* exp_ch4.adb (Expand_Allocator_Expression): Likewise.
|
||
(Expand_N_Indexed_Component ): Remove code dealing with implicit
|
||
dereferences.
|
||
(Expand_N_Selected_Component): Likewise.
|
||
(Expand_N_Slice): Likewise.
|
||
* exp_ch9.adb (Add_Formal_Renamings): Add explicit dereference.
|
||
(Expand_Accept_Declarations): Likewise.
|
||
(Build_Simple_Entry_Call): Remove code dealing with implicit
|
||
dereferences.
|
||
(Expand_N_Requeue_Statement): Likewise.
|
||
* exp_disp.adb (Expand_Dispatching_Call): Build an explicit
|
||
dereference when the controlling type is an access type.
|
||
* exp_spark.adb (Expand_SPARK_N_Selected_Component): Delete.
|
||
(Expand_SPARK_N_Slice_Or_Indexed_Component): Likewise.
|
||
(Expand_SPARK): Do not call them.
|
||
* sem_ch4.adb (Process_Implicit_Dereference_Prefix): Delete.
|
||
(Process_Indexed_Component): Call Implicitly_Designated_Type
|
||
to get the designated type for an implicit dereference.
|
||
(Analyze_Overloaded_Selected_Component): Do not insert an
|
||
explicit dereference here.
|
||
(Analyze_Selected_Component): Likewise.
|
||
(Analyze_Slice): Call Implicitly_Designated_Type to get the
|
||
designated type for an implicit dereference.
|
||
* sem_ch8.adb (Has_Components): New predicate extracted from...
|
||
(Is_Appropriate_For_Record): ...this. Delete.
|
||
(Is_Appropriate_For_Entry_Prefix): Likewise.
|
||
(Analyze_Renamed_Entry): Deal with implicit dereferences.
|
||
(Find_Selected_Component): Do not insert an explicit dereference
|
||
here. Call Implicitly_Designated_Type to get the designated type
|
||
for an implicit dereference. Call Has_Components, Is_Task_Type
|
||
and Is_Protected_Type directly. Adjust test for error.
|
||
* sem_res.adb (Resolve_Implicit_Dereference): New procedure.
|
||
(Resolve_Call): Call Resolve_Indexed_Component last.
|
||
(Resolve_Entry): Call Resolve_Implicit_Dereference on the prefix.
|
||
(Resolve_Indexed_Component): Call Implicitly_Designated_Type to
|
||
get the designated type for an implicit dereference and
|
||
Resolve_Implicit_Dereference on the prefix at the end.
|
||
(Resolve_Selected_Component): Likewise.
|
||
(Resolve_Slice): Likewise. Do not apply access checks here.
|
||
* sem_util.ads (Implicitly_Designated_Type): Declare.
|
||
* sem_util.adb (Copy_And_Maybe_Dereference): Simplify.
|
||
(Implicitly_Designated_Type): New function.
|
||
(Object_Access_Level): Fix typo.
|
||
* sem_warn.adb (Check_Unset_Reference): Test Comes_From_Source
|
||
on the original node.
|
||
|
||
2020-06-11 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_disp.adb: Minor reformatting.
|
||
* exp_aggr.adb (Is_Static_Dispatch_Table_Aggregate): Recognize
|
||
aggregates of the Ada.Tags.Object_Specific_Data type as static.
|
||
* sem_aggr.adb (Check_Static_Discriminated_Subtype): Deconstruct
|
||
and do not call it from Build_Constrained_Itype.
|
||
|
||
2020-06-11 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_disp.adb (Make_Secondary_DT): Internally generated OSD
|
||
tables are now constant.
|
||
|
||
2020-06-11 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_aggr.adb (Backend_Processing_Possible): Remove useless
|
||
call.
|
||
|
||
2020-06-11 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* opt.ads (Building_Static_Dispatch_Tables): Fix punctuation in
|
||
comment.
|
||
|
||
2020-06-11 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-stposu.ads (Root_Storage_Pool_With_Subpools,
|
||
Root_Subpool): Mark with Preelaborable_Initialization.
|
||
|
||
2020-06-11 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Conditional_Entry_Call): Replace call to
|
||
New_Copy_List by calls to the new routine
|
||
New_Copy_Separate_List.
|
||
* sem_util.ads (New_Copy_Separate_List, New_Copy_Separate_Tree):
|
||
New routines.
|
||
* sem_util.adb (New_Copy_Separate_List, New_Copy_Separate_Tree):
|
||
New routines.
|
||
(New_Copy_Tree): Extend the machinery that detects syntactic
|
||
nodes to handle lists of indentifiers with field More_Ids;
|
||
otherwise such nodes are erroneously handled as semantic nodes.
|
||
Copy aspect specifications attached to nodes.
|
||
* sem_ch12.adb (Copy_Generic_Node): Protect reading attribute
|
||
Etype.
|
||
|
||
2020-06-11 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Do not set the
|
||
Has_Predicates flag when the Predicate_Failure aspect is seen.
|
||
It is legal (but pointless) to use this aspect without a
|
||
predicate. If we set the flag, we generate a half-baked
|
||
Predicate procedure, and if that procedure is nested, it causes
|
||
unnesting to crash.
|
||
|
||
2020-06-11 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_put_image.adb (Build_Record_Put_Image_Procedure): Remove
|
||
special processing of protected types, because those are handled
|
||
by Build_Protected_Put_Image_Call.
|
||
(Enable_Put_Image): Use the switch -gnatd_z to control enabling
|
||
of Put_Image. Disable Put_Image for types in Remote_Types
|
||
packages.
|
||
* debug.adb: Document -gnatd_z switch.
|
||
* exp_imgv.adb, libgnat/a-stteou.ads, opt.ads: Minor cleanups.
|
||
|
||
2020-06-11 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Overlapping_Actuals): Add label to the
|
||
outer loop and use it in the exit statement.
|
||
|
||
2020-06-11 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Assignment): Generate predicate check if
|
||
subtype mark has predicate.
|
||
|
||
2020-06-11 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_util.adb (Expand_N_Attribute_Reference): Use original
|
||
nodes where required to avoid looking at the expanded tree.
|
||
|
||
2020-06-11 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-catizo.ads, libgnat/a-nbnbin.ads,
|
||
libgnat/a-nbnbre.ads, libgnat/a-nubinu.ads,
|
||
libgnat/s-aoinar.ads, libgnat/s-aomoar.ads,
|
||
libgnat/s-aotase.ads, libgnat/s-stopoo.ads: Remove aspects that
|
||
we will not implement.
|
||
|
||
2020-06-11 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-aoinar.adb (Atomic_Fetch_And_Add,
|
||
Atomic_Fetch_And_Subtract): Add fallback using
|
||
compare-and-exchange, in case the integer type does not map to a
|
||
machine type.
|
||
|
||
2020-06-10 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-aomoar.ads, libgnat/s-aomoar.adb: New files.
|
||
* libgnat/s-atopar.ads: Move...
|
||
* libgnat/s-aoinar.ads: Here.
|
||
* libgnat/s-atopar.adb: Move...
|
||
* libgnat/s-aoinar.adb: Here.
|
||
* impunit.adb: Update list of runtime files.
|
||
* Makefile.rtl (GNATRTL_NONTASKING_OBJS=): Adjust.
|
||
|
||
2020-06-10 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* snames.ads-tmpl (Name_Characters_Assertion_Check,
|
||
Name_Containers_Assertion_Check,
|
||
Name_Interfaces_Assertion_Check, Name_IO_Assertion_Check,
|
||
Name_Numerics_Assertion_Check, Name_Strings_Assertion_Check,
|
||
Name_System_Assertion_Check): New constants.
|
||
* types.ads (Characters_Assertion_Check,
|
||
Containers_Assertion_Check, Interfaces_Assertion_Check,
|
||
IO_Assertion_Check, Numerics_Assertion_Check,
|
||
Strings_Assertion_Check, System_Assertion_Check): New constants.
|
||
(All_Checks): Update accordingly.
|
||
|
||
2020-06-10 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Equivalent_Record_Aggregate): Return Empty
|
||
if Etype of record component has predicates.
|
||
|
||
2020-06-10 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Init_Statements): Implement the notion of
|
||
"require late initialization".
|
||
|
||
2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_util.adb (Copy_And_Maybe_Dereference): Temporarily copy
|
||
the parent node of the original tree when dereferencing.
|
||
|
||
2020-06-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Overlapping_Actuals): Add a warning when
|
||
two actuals in a call overlap, both are composite types that may
|
||
be passed by reference, and only one of them is writable.
|
||
|
||
2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_In): Use an expression with actions to
|
||
insert the PE raise statement for the Unchecked_Union case.
|
||
|
||
2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Call): Use idiomatic condition.
|
||
* sem_res.adb (Resolve_Call): Remove obsolete code.
|
||
|
||
2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_util.adb (Copy_And_Maybe_Dereference): New function.
|
||
(Build_Access_Record_Constraint): Use it to copy the prefix.
|
||
(Build_Actual_Array_Constraint): Likewise.
|
||
(Build_Actual_Record_Constraint): Likewise.
|
||
|
||
2020-06-10 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_prag.adb (Invariant): Remove the pragma removing code. It
|
||
doesn't work to remove the pragma, because various flags are set
|
||
during Build_Invariant_Procedure_Declaration and
|
||
Build_Invariant_Procedure_Body that need to be set to avoid the
|
||
spurious warnings.
|
||
* exp_util.adb (Make_Invariant_Call): Avoid calling the
|
||
invariant-checking procedure if the body is empty. This is an
|
||
optimization.
|
||
|
||
2020-06-10 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* doc/gnat_ugn/gnat_utility_programs.rst: Fix gnatmetric
|
||
switches description.
|
||
|
||
2020-06-10 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* repinfo-input.ads, repinfo-input.adb, repinfo.adb,
|
||
repinfo.ads: Update header.
|
||
|
||
2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb (In_Place_Assign_OK): Do not necessarily return
|
||
false for a type with discriminants.
|
||
(Convert_To_Assignments): Use Parent_Node and Parent_Kind more
|
||
consistently. In the in-place assignment case, first apply a
|
||
discriminant check if need be, and be prepared for a rewritten
|
||
aggregate as a result.
|
||
|
||
2020-06-10 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* atree.adb, contracts.adb, debug.adb, freeze.adb,
|
||
repinfo-input.adb, repinfo.adb, sem_attr.adb, sem_ch10.adb,
|
||
sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb,
|
||
sem_ch8.adb, sem_ch9.adb, sem_disp.adb, sem_eval.adb,
|
||
sem_prag.adb: Remove more references to ASIS.
|
||
|
||
2020-06-10 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-secsta.adb (Round_Up): Fix typo in exception
|
||
message.
|
||
|
||
2020-06-10 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* par-ch4.adb (P_Membership_Test): Fix typo in a grammar rule.
|
||
|
||
2020-06-10 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove
|
||
expansion of First and Last attributes.
|
||
|
||
2020-06-10 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Remove folding
|
||
for Enum_Rep attribute.
|
||
* exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove
|
||
duplicated code for folding Enum_Rep attribute.
|
||
* sem_attr.adb (Eval_Attribute): Relax condition for folding
|
||
Enum_Rep attribute; previously dead code is now executed when
|
||
the attribute prefix is an enumeration literal; refine type in
|
||
processing of Enum_Val.
|
||
|
||
2020-06-10 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Declarations): Adjust the machinery that
|
||
takes care of late body overriding of initialize, adjust,
|
||
finalize. Remove ASIS mode code.
|
||
|
||
2020-06-10 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.ads (Access_Subprogram_Wrapper): New attribute of
|
||
Subprogram_Type entities. Denotes subprogram constructed for
|
||
Access_To_Subprogram types that include pre- and postconditions.
|
||
* einfo.adb: Subprogram bodies for Access_Subprogram_Wrapper.
|
||
* exp_ch6.adb (Expand_Call): An indirect call through an
|
||
Access_To_subprogram that includes contracts is rewritten as a
|
||
call to the corresponding Access_ ubprogram_Wrapper. Handle
|
||
derived types that inherit contract from parent.
|
||
* sem_prag.adb (Build_Access_Subprogram_Wrapper): Build
|
||
subprogram declaration for subprogram that incorporates the
|
||
contracts of an Access_To_Subprogram type declaration. Build
|
||
corresponding body and attach it to freeze actions for type.
|
||
* sem_util.ads, sem_util.adb (Is_Access_Subprogram_Wrapper):
|
||
Utility that uses signature of the subprogram to determine
|
||
whether it is a generated wrapper for an Access_To_Subprogram
|
||
type.
|
||
|
||
2020-06-10 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* par-ch6.adb (P_Subprogram): Make sure the specification
|
||
belongs to a procedure.
|
||
|
||
2020-06-10 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch13.adb (All_Membership_Choices_Static): Assert an AST
|
||
property documented in sinfo.ads and simplify an excessive
|
||
condition.
|
||
|
||
2020-06-10 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Fix a copy-paste
|
||
mistake in comment.
|
||
* sem_res.adb (Flag_Effectively_Volatile_Objects): Fix a type in
|
||
the SPARK RM rule number.
|
||
* exp_ch4.adb, sem_util.adb: Fix style in single line comments.
|
||
|
||
2020-06-10 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aux.ads, sem_aux.adb (Get_Low_Bound): Remove.
|
||
|
||
2020-06-10 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* scn.adb (Determine_License): Remove.
|
||
|
||
2020-06-10 Justin Squirek <squirek@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Add condition to
|
||
handle processing of objects initialized by a call to a function
|
||
return an anonymous access type.
|
||
* exp_ch6.adb, exp_ch6.ads
|
||
(Has_Unconstrained_Access_Discriminants): Moved to sem_util.adb
|
||
(Needs_Result_Accessibility_Level): Moved to sem_util.adb
|
||
* sem_util.adb, sem_util.ads
|
||
(Has_Unconstrained_Access_Discriminants): Moved from exp_ch6.adb
|
||
(Needs_Result_Accessibility_Level): Moved from exp_ch6.adb
|
||
* sem_res.adb (Valid_Conversion): Add condition for the special
|
||
case where the operand of a conversion is the result of an
|
||
anonymous access type
|
||
|
||
2020-06-10 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* par-ch6.adb (P_Subprogram): Reject duplicate subprogram
|
||
declarations.
|
||
|
||
2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch6.adb (Insert_Post_Call_Actions): Deal with the context
|
||
of an if-expression and with a call written in prefixed notation.
|
||
|
||
2020-06-10 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* einfo.ads: Minor reformatting of a comment.
|
||
* exp_aggr.adb: Minor reformatting and a grammar correction.
|
||
* exp_attr.adb: Minor reformatting and a typo fix in some
|
||
comments.
|
||
* sem_ch12.adb: Fix three typos in comments.
|
||
|
||
2020-06-09 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch6.adb (New_Overloaded_Entity): Add missing call to check
|
||
subtype conformance of overriding dispatching primitive.
|
||
* sem_eval.adb (Subtypes_Statically_Match): Handle derivations
|
||
of private subtypes.
|
||
* libgnat/g-exptty.adb, libgnat/g-exptty.ads
|
||
(Set_Up_Communications): Fix the profile since null-exclusion is
|
||
missing in the access type formals.
|
||
* sem_disp.ads (Check_Operation_From_Private_View): Adding
|
||
documentation.
|
||
|
||
2020-06-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (XEINFO section): Update format description.
|
||
(Is_Subprogram_Or_Entry): Move pragma to regular section.
|
||
(Is_Subprogram_Or_Generic_Subprogram): Likewise.
|
||
* xeinfo.adb (Get_B4): Rename to...
|
||
(Get_B0): ...this.
|
||
(Translate_Expr): New procedure extracted from...
|
||
(XEinfo): ...here. Try to apply Get_B0 first and then
|
||
call Translate_Expr to translate supported constructs.
|
||
|
||
2020-06-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch6.adb (Freeze_Subprogram): Deal with convention C_Family.
|
||
* freeze.adb (Freeze_Profile): Likewise. Add missing guard.
|
||
* sem_mech.adb (Set_Mechanisms): Likewise.
|
||
* lib-xref.adb (Output_Import_Export_Info): Ditto for C_Variadic.
|
||
* repinfo.adb (List_Subprogram_Info): Likewise.
|
||
* sem_prag.adb (Set_Convention_From_Pragma): Move main checks for
|
||
Stdcall to...
|
||
(Process_Convention): ...here. Add checks for C_Variadic.
|
||
* snames.ads-tmpl: Add Name_C_Variadic_0 .. Name_C_Variadic_16.
|
||
Use consistent format for subtype declarations.
|
||
(Convention_Id): Add Convention_C_Variadic_0 .. C_Variadic_16
|
||
and move Convention_CPP up.
|
||
(Convention_C_Family): New subtype of Convention_Id.
|
||
(Convention_C_Variadic): Likewise.
|
||
(Foreign_Convention): Use explicit upper bound.
|
||
Add pragma Inline for Is_Configuration_Pragma_Name,
|
||
Is_Function_Attribute_Name, Is_Internal_Attribute_Name
|
||
and Is_Procedure_Attribute_Name.
|
||
* snames.adb-tmpl (Get_Convention_Id): Deal with Name_Variadic_n.
|
||
(Get_Convention_Name): Deal with Convention_Variadic_n.
|
||
* types.h (Convention_Id): New typedef.
|
||
* xsnamest.adb (Name2): New variable.
|
||
(Is_Conv): New pattern.
|
||
(Get_Subt1): Likewise.
|
||
(Get_Subt2): Likewise.
|
||
Output subtypes of Convention_Id into the C header file.
|
||
|
||
2020-06-09 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch9.adb,
|
||
exp_disp.adb, exp_util.adb: Add comments related to errors that
|
||
should be moved to semantic analysis. Also replace "?" with "??"
|
||
in warning messages.
|
||
|
||
2020-06-09 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-strunb__shared.ads, libgnat/a-strunb__shared.adb
|
||
(Reference, Unreference): No-op for Empty_Shared_String.
|
||
Remove unneeded calls to Reference.
|
||
|
||
2020-06-09 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Assignment): Remove kludge for
|
||
AI05-0087.
|
||
* sem_ch12.adb (Validate_Derived_Type_Instance): Implement
|
||
AI05-0087 retroactively since it's a binding interpretation.
|
||
|
||
2020-06-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (Has_Foreign_Convention): Fix description.
|
||
(Component_Alignment): Move around.
|
||
(Has_DIC): Likewise.
|
||
(Has_Interrupt_Handler): Likewise.
|
||
(Has_Invariants): Likewise.
|
||
(Is_Atomic_Or_VFA): Likewise.
|
||
(Next_Index): Likewise.
|
||
(Scope_Depth): Likewise.
|
||
(Init_Component_Size): Likewise.
|
||
(Init_Component_Location): Likewise.
|
||
(Init_Size): Likewise.
|
||
(Inline Pragmas for functions): Add Corresponding_Function,
|
||
Corresponding_Procedure, Entry_Max_Queue_Lengths_Array,
|
||
Finalize_Storage_Only, Has_DIC, Has_Invariants,
|
||
Initialization_Statements, Is_Anonymous_Access_Type,
|
||
Next_Stored_Discriminant, Address_Clause, Alignment_Clause,
|
||
Float_Rep, Has_Foreign_Convention, Has_Non_Limited_View,
|
||
Is_Constant_Object, Is_Discriminal, Is_Finalizer, Is_Null_State,
|
||
Is_Prival, Is_Protected_Component, Is_Protected_Record_Type,
|
||
Is_Subprogram_Or_Entry, Is_Task_Record_Type, Size_Clause,
|
||
Stream_Size_Clause, Type_High_Bound, Type_Low_Bound, Known_*,
|
||
Unknown_*.
|
||
(Inline Pragmas for procedures): Add Set_Corresponding_Function,
|
||
Set_Corresponding_Procedure, Set_Finalize_Storage_Only,
|
||
Set_Float_Rep, Set_Initialization_Statements,
|
||
Init_Normalized_First_Bit, Init_Normalized_Position,
|
||
Init_Normalized_Position_Max.
|
||
* einfo.adb (Was_Hidden): Move around.
|
||
(Is_Packed_Array): Likewise.
|
||
(Model_Emin_Value): Likewise.
|
||
(Model_Epsilon_Value): Likewise.
|
||
(Model_Mantissa_Value): Likewise.
|
||
(Model_Small_Value): Likewise.
|
||
|
||
2020-06-09 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Require
|
||
exact match between formal and actual for aspects Atomic and
|
||
Volatile only for formal derived types.
|
||
|
||
2020-06-09 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_util.adb (Side_Effect_Free): Improve handling of
|
||
N_Aggregate.
|
||
|
||
2020-06-09 Ghjuvan Lacambre <lacambre@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Qualified_Expression): Use Subtype_Mark
|
||
type.
|
||
|
||
2020-06-09 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_aggr.adb (Max_Aggregate_Size): New function to factorize
|
||
code.
|
||
(Convert_To_Positional, Aggr_Size_OK): Use Max_Aggregate_Size.
|
||
|
||
2020-06-09 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Set_Debug_Info_Defining_Id): New.
|
||
* exp_ch3.adb, exp_ch8.adb: Call Set_Debug_Info_Defining_Id when
|
||
relevant.
|
||
|
||
2020-06-09 Justin Squirek <squirek@adacore.com>
|
||
|
||
* einfo.ads (Returns_By_Ref): Modify documentation to reflect
|
||
that Returns_By_Ref can be applied to E_Subprogram_Type
|
||
entities.
|
||
|
||
2020-06-09 Justin Squirek <squirek@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Modify expansion
|
||
of 'Overlaps_Storage to take into account zero sized arrays.
|
||
|
||
2020-06-09 Bob Duff <duff@adacore.com>
|
||
|
||
* bindo-graphs.adb, bindo-graphs.ads: For each invocation graph,
|
||
record the corresponding library graph.
|
||
* bindo-writers.adb (Write_Invocation_Graph_Vertex): Print the
|
||
lib item name. Remove library graph parameters.
|
||
* bindo-augmentors.adb, bindo-augmentors.ads,
|
||
bindo-builders.adb, bindo-diagnostics.adb,
|
||
bindo-diagnostics.ads, bindo-elaborators.adb: Remove library
|
||
graph parameters.
|
||
|
||
2020-06-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.adb (Apply_Predicate_Check): Extend trick used for
|
||
aggregates to qualified aggregates and object declarations
|
||
* einfo.ads (Has_Own_DIC): Mention the underlying full view.
|
||
(Has_Own_Invariants): Likewise.
|
||
(Has_Predicates): Likewise.
|
||
* exp_util.adb (Build_DIC_Procedure_Declaration): Do not deal
|
||
with base types explicitly but with underlying full views.
|
||
(Build_Invariant_Procedure_Declaration): Likewise.
|
||
* sem_ch13.adb (Build_Predicate_Functions): Do not deal with
|
||
the full view manually but call Propagate_Predicate_Attributes
|
||
to propagate attributes to views.
|
||
(Build_Predicate_Function_Declaration): Likewise.
|
||
* sem_ch3.adb (Build_Assertion_Bodies_For_Type): Build bodies
|
||
for private full views with an underlying full view.
|
||
(Build_Derived_Private_Type): Small comment tweak.
|
||
(Complete_Private_Subtype): Call Propagate_Predicate_Attributes.
|
||
(Process_Full_View): Do not deal with base types explicitly for
|
||
DIC and Invariant attributes. Deal with underlying full views
|
||
for them. Call Propagate_Predicate_Attributes and deal with
|
||
underlying full views for them.
|
||
* sem_ch7.adb (Preserve_Full_Attributes): Do not cross propagate
|
||
DIC and Invariant attributes between full type and its base type.
|
||
Propagate Predicate attributes from the full to the private view.
|
||
* sem_ch9.adb (Analyze_Protected_Type_Declaration): Likewise.
|
||
(Analyze_Task_Type_Declaration): Likewise.
|
||
* sem_util.ads (Get_Views): Remove Full_Base parameter and add
|
||
UFull_Typ parameter.
|
||
(Propagate_Predicate_Attributes): New procedure.
|
||
* sem_util.adb (Get_Views): Remove Full_Base parameter and add
|
||
UFull_Typ parameter. Retrieve the Corresponding_Record_Type
|
||
from the underlying full view, if any.
|
||
(Propagate_DIC_Attributes): Remove useless tests.
|
||
(Propagate_Invariant_Attributes): Likewise.
|
||
(Propagate_Predicate_Attributes): New procedure.
|
||
|
||
2020-06-09 Justin Squirek <squirek@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Predicated_Loop): Perserve the original
|
||
loop identifier within the expansion.
|
||
|
||
2020-06-09 Bob Duff <duff@adacore.com>
|
||
|
||
* bindo-graphs.ads (Library_Graph_Edge_Kind): Reorder enumerals
|
||
to reflect the order of adding edges. Clarify comments.
|
||
* bindo-graphs.adb (Add_Edge_Kind_Check): Correct the
|
||
assertions. Reorder the "when"s to match the order of adding
|
||
edges, and therefore the order of enumerals in type
|
||
Library_Graph_Edge_Kind. Change names to "Old_" and "New_" to
|
||
clarify what's what. Combine Invocation_Edge into the "<="
|
||
test. Fix the "raise Program_Error" message, which was
|
||
backwards.
|
||
|
||
2020-06-09 Bob Duff <duff@adacore.com>
|
||
|
||
* bindo-graphs.adb (Add_Edge_Kind_Check): Add the Image of the
|
||
old and new Kinds to the raise Program_Error message.
|
||
|
||
2020-06-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb (Is_Visible_Component): Do not special-case
|
||
bodies of instances.
|
||
|
||
2020-06-09 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_In): Fix handling of null exclusion.
|
||
|
||
2020-06-09 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Require
|
||
exact match between formal and actual for aspects Atomic,
|
||
Atomic_Component, Volatile, and Volatile_Components.
|
||
|
||
2020-06-09 Bob Duff <duff@adacore.com>
|
||
|
||
* doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for
|
||
the --no-separate-return switch of gnatpp.
|
||
|
||
2020-06-09 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_warn.adb (Warn_On_Constant_Valid_Condition): Add proper
|
||
warning tag.
|
||
|
||
2020-06-09 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_type.adb (Covers): Fix implementation of AI05-0149.
|
||
* sem_res.adb: Fix typo.
|
||
|
||
2020-06-09 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Master_Renaming): Make name in renaming
|
||
declaration unique by adding a numeric suffix, to prevent
|
||
accidental name conflict when several instantiations of a
|
||
package containing an access_to_incomplete type that designate
|
||
tasks appear in the same scope.
|
||
|
||
2020-06-09 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* libgnarl/a-synbar.ads, libgnarl/a-synbar.adb,
|
||
libgnarl/a-synbar__posix.ads, libgnarl/a-synbar__posix.adb
|
||
(Ada.Synchronous_Barriers): Annotate with SPARK_Mode => Off.
|
||
|
||
2020-06-09 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_eval.adb (Eval_Relational_Op, Eval_String_Literal,
|
||
Eval_Type_Conversion): Relax rules on relational operators and
|
||
type conversions of static string types.
|
||
|
||
2020-06-09 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Is_Partially_Initialized_Type):
|
||
Take Default_Value and Default_Component_Value into account.
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Update comment.
|
||
|
||
2020-06-09 Bob Duff <duff@adacore.com>
|
||
|
||
* bindo-graphs.adb (Add_Edge_Kind_Check): Disable failing part
|
||
of the assertion.
|
||
|
||
2020-06-08 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma.Set_Ravenscar_Profile): Add
|
||
appropriate call to Set_Restriction_No_Dependence if Ada_Version
|
||
>= Ada2012 and Profile is either Ravenscar or a GNAT-defined
|
||
Ravenscar variant (i.e., not Jorvik).
|
||
|
||
2020-06-08 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch5.adb: Fix typo.
|
||
* sem_ch8.adb (Analyze_Renamed_Primitive_Operation): Check that
|
||
the prefix of a prefixed view must be renamable as an object.
|
||
|
||
2020-06-08 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_cat.ads: Fix typo.
|
||
* sem_cat.adb (Validate_Remote_Access_To_Class_Wide_Type): Add
|
||
handling of N_Attribute_Definition_Clause.
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Call
|
||
Validate_Remote_Access_To_Class_Wide_Type for Storage_Size and
|
||
Storage_Pool.
|
||
* sem_attr.adb, exp_ch4.adb: Update comments.
|
||
|
||
2020-06-08 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_One_Call): Add extra condition to the
|
||
predicate for deciding when a given controlled call is visible.
|
||
|
||
2020-06-08 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Port
|
||
changes in frontend expander.
|
||
|
||
2020-06-08 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_ch13.adb (All_Membership_Choices_Static): Fix style.
|
||
|
||
2020-06-08 Steve Baird <baird@adacore.com>
|
||
|
||
* libgnat/s-rident.ads: Add Jorvik to the Profile_Name
|
||
enumeration type. Add an element for Jorvik to the array
|
||
aggregate that is the initial value of the constant
|
||
Profile_Info.
|
||
* targparm.adb (Get_Target_Parameters): Handle "pragma Profile
|
||
(Jorvik);" similarly to "pragma Profile (Ravenscar);".
|
||
* snames.ads-tmpl: Declare Name_Jorvik Name_Id. Unlike
|
||
Ravenscar, Jorvik is not a pragma name and has no corresponding
|
||
element in the Pragma_Id enumeration type; this means that its
|
||
declaration must not occur between those of First_Pragma_Name
|
||
and Last_Pragma_Name.
|
||
* sem_prag.adb (Analyze_Pragma): Add call to
|
||
Set_Ravenscar_Profile for Jorvik, similar to the existing calls
|
||
for Ravenscar and the GNAT Ravenscar variants.
|
||
|
||
2020-06-08 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Object_Renaming): Update Get_Object_Name
|
||
to go through N_Qualified_Expression and N_Type_Conversion. Fix
|
||
another case of wrong usage of E_Anonymous_Access_Type instead
|
||
of Anonymous_Access_Kind.
|
||
* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Work
|
||
on the original node.
|
||
(Is_Aliased_View): Take into account N_Qualified_Expression.
|
||
|
||
2020-06-08 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_eval.adb (Eval_Type_Conversion): Fix handling of
|
||
enumeration to integer conversions.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference
|
||
[Attribute_Enum_Rep]): Remove special casing for first-level
|
||
renaming, best left to the general folding mechanism via
|
||
Eval_Type_Conversion.
|
||
|
||
2020-06-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* atree.adb (New_Copy): Do not clear Has_Dynamic_Range_Check.
|
||
* checks.ads (Append_Range_Checks): Remove Flag_Node parameter.
|
||
(Insert_Range_Checks): Likewise and remove default value of
|
||
Static_Loc parameter.
|
||
* checks.adb (Append_Range_Checks): Remove Flag_Node parameter.
|
||
Do not test and set Has_Dynamic_Range_Check.
|
||
(Insert_Range_Checks): Likewise and remove default value of
|
||
Static_Loc parameter.
|
||
* csinfo.adb (CSinfo): Remove 'L' from [NEUB]_Fields pattern and
|
||
do not handle Has_Dynamic_Range_Check.
|
||
* exp_ch5.adb (Expand_N_Assignment_Statement): Remove argument
|
||
in call to Insert_Range_Checks.
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration): Do not fiddle
|
||
with Has_Dynamic_Range_Check.
|
||
(Process_Range_Expr_In_Decl): Remove argument in calls to
|
||
Insert_Range_Checks and Append_Range_Checks.
|
||
* sinfo.ads (Has_Dynamic_Range_Check): Delete.
|
||
(Set_Has_Dynamic_Range_Check): Likewise.
|
||
* sinfo.adb (Has_Dynamic_Range_Check): Delete.
|
||
(Set_Has_Dynamic_Range_Check): Likewise.
|
||
* treepr.adb (Print_Node): Do not print Has_Dynamic_Range_Check.
|
||
|
||
2020-06-08 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_ch13.ads: Export new function
|
||
All_Membership_Choices_Static.
|
||
* sem_ch13.adb: Implement new function
|
||
All_Membership_Choices_Static. This involves moving the
|
||
functions Is_Static_Choice and All_Membership_Choices_Static,
|
||
which were previously declared within the function
|
||
Is_Predicate_Static, out to library level so that they can be
|
||
called by the new function. The already-exisiting code in
|
||
Is_Predicate_Static which became the body of
|
||
All_Membership_Choices_Static is replaced with a call to the new
|
||
function in order to avoid duplication.
|
||
* exp_ch9.adb (Is_Pure_Barrier): Several changes needed to
|
||
implement rules of AI12-0290 and RM D.7's definition of
|
||
"pure-barrier-eligible". These changes include adding a call to
|
||
the new function Sem_13.All_Membership_Choices_Static, as per
|
||
the "see 4.9" in RM D.7(1.6/5).
|
||
|
||
2020-06-08 Richard Kenner <kenner@adacore.com>
|
||
|
||
* exp_unst.adb (Visit_Node): When visiting array attribute
|
||
nodes, in addition to checking the type of Get_Referenced_Object
|
||
of the prefix, also check the actual type of the prefix.
|
||
|
||
2020-06-08 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* checks.adb (Apply_Predicate_Check): Refine test for being in a
|
||
subprogram body to account for no Corresponding_Body case,
|
||
avoiding blowups arising due to other changes here.
|
||
* exp_ch4.adb (Expand_N_Qualified_Expression): Apply predicate
|
||
checks, if any, after constraint checks are applied.
|
||
* sem_eval.ads (Check_Expression_Against_Static_Predicate): Add
|
||
Check_Failure_Is_Error formal for conditionalizing warning vs.
|
||
error messages.
|
||
* sem_eval.adb (Check_Expression_Against_Static_Predicate):
|
||
Issue an error message rather than a warning when the new
|
||
Check_Failure_Is_Error formal is True. In the nonstatic or
|
||
Dynamic_Predicate case where the predicate is known to fail,
|
||
emit the check to ensure that folded cases get checks applied.
|
||
* sem_res.adb (Resolve_Qualified_Expression): Call
|
||
Check_Expression_Against_Static_Predicate, passing True for
|
||
Check_Failure_Is_Error, to ensure we reject static predicate
|
||
violations. Remove code that was conditionally calling
|
||
Apply_Predicate_Check, which is no longer needed, and that check
|
||
procedure shouldn't be called from a resolution routine in any
|
||
case. Also remove associated comment about preventing infinite
|
||
recursion and consistency with Resolve_Type_Conversion, since
|
||
that handling was already similarly removed from
|
||
Resolve_Type_Convesion at some point.
|
||
(Resolve_Type_Conversion): Add passing of True for
|
||
Check_Failure_Is_Error parameter on call to
|
||
Check_Expression_Against_Static_Predicate, to ensure that static
|
||
conversion cases that violate a predicate are rejected as
|
||
errors.
|
||
|
||
2020-06-08 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* snames.ads-tmpl (Name_SPARK): Restore after being deleted.
|
||
|
||
2020-06-08 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* exp_aggr.adb, exp_ch6.adb, par-ch11.adb, par-ch6.adb,
|
||
par-ch7.adb, par-prag.adb, restrict.adb, restrict.ads,
|
||
scans.ads, scng.adb, sem_aggr.adb, sem_attr.adb, sem_ch11.adb,
|
||
sem_ch12.adb, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
|
||
sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
|
||
sem_res.adb, sem_util.adb, sem_util.ads, snames.ads-tmpl,
|
||
gnatbind.adb, libgnat/s-rident.ads,
|
||
doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
|
||
Remove processing of SPARK_05 restriction.
|
||
* gnat_rm.texi: Regenerate.
|
||
* opt.ads: Remove processing of old checksum which is now
|
||
handled by gprbuild directly.
|
||
|
||
2020-06-08 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch12.adb (Instantiate_Object): Relax rules related to null
|
||
exclusions and generic objects. Handle all anonymous types
|
||
consistently and not just E_Anonymous_Access_Type.
|
||
* sem_ch8.adb (Analyze_Object_Renaming): Change wording so that
|
||
it applies to both renamings and instantiations to avoid
|
||
confusion.
|
||
|
||
2020-06-08 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-textio.ads (File_Mode): Fix typo in comment.
|
||
|
||
2020-06-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Indexed_Component): Do not give a warning
|
||
for a nonatomic component of an atomic array which is subject to
|
||
an address clause in Ada 2020 mode.
|
||
(Resolve_Selected_Component): Likewise for an atomic record.
|
||
|
||
2020-06-08 Philippe Gil <gil@adacore.com>
|
||
|
||
* doc/gnat_ugn/the_gnat_compilation_model.rst: in "Handling
|
||
Files with Multiple Units" part documents gnatname use for
|
||
unmodified files handling and gnatchop use for files
|
||
refactoring.
|
||
* gnat_ugn.texi: Regenerate.
|
||
|
||
2020-06-08 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_attributes.rst:
|
||
Enum_Rep/Enum_Val are standard Ada 202x attributes.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-06-08 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_aggr.adb (Safe_Component): Remove code that considers as
|
||
unsafe components that are aggregates; such removal allows the
|
||
frontend to proceed and evaluate if they are safe by means of
|
||
invoking Safe_Aggregate.
|
||
|
||
2020-06-08 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Apply
|
||
standard expansion to attributes First and Last.
|
||
|
||
2020-06-08 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_attr.adb, exp_util.ads, exp_util.adb (Get_Index_Subtype):
|
||
Move from the body of Exp_Attr to Exp_Util and expose from the
|
||
spec.
|
||
* exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Replace
|
||
duplicated code with a call to Get_Index_Subtype.
|
||
|
||
2020-06-08 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_ch8.adb (Analyze_Object_Renaming): Simplify code by moving
|
||
many special cases to Is_Object_Reference and removing others by
|
||
only checking renamings coming from sources.
|
||
* sem_util.adb (Is_Object_Reference): Update for AI12-0226 and
|
||
add more regular handling of 'Priority. Remove special cases no
|
||
longer needed now that we are only checking renamings coming
|
||
from sources.
|
||
|
||
2020-06-08 Claire Dross <dross@adacore.com>
|
||
|
||
* libgnat/a-cofove.adb (Insert_Space): The computation of Index
|
||
generates a spurious compiler warning about a value not being in
|
||
range for a statically dead branch. Silence it using pragma
|
||
Warnings.
|
||
|
||
2020-06-08 Bob Duff <duff@adacore.com>
|
||
|
||
* bindo-graphs.adb (function Add_Edge): Rename
|
||
Add_Edge_With_Return to Add_Edge; we can tell it returns because
|
||
it's a function, and overloading seems appropriate in this case.
|
||
If Activates_Task=True, and we're not going to add a new edge
|
||
because an existing Pred-->Succ edge already exists, then set
|
||
Activates_Task to True on the preexisting edge. This ensures
|
||
that the message:
|
||
info: use pragma Restrictions (No_Entry_Calls_In_Elaboration_Code)
|
||
appears when appropriate, no matter in what order the edges
|
||
happened to be processed.
|
||
(procedure Add_Edge): Remove redundant assertions.
|
||
(Activates_Task): Other kinds of edges can have
|
||
Activates_Task=True. For example, if we had a With_Edge and
|
||
then an Invocation_Edge with Activates_Task=True, then the
|
||
With_Edge has Activates_Task set to True.
|
||
(Add_Edge_Kind_Check): New procedure to prevent other bugs of
|
||
this nature. For example, if we were to sometimes call Add_Edge
|
||
for a Spec_Before_Body_Edge followed by Add_Edge for a
|
||
With_Edge, and sometimes in the other order, that would cause a
|
||
similar bug to what we're fixing here.
|
||
(Set_Is_Recorded_Edge): Val parameter is not used. Get rid of
|
||
it.
|
||
(Set_Activates_Task): New procedure to set the Activates_Task flag.
|
||
* bindo-graphs.ads (Library_Graph_Edge_Kind): Reorder the
|
||
enumeration literals to facilitate Add_Edge_Kind_Check.
|
||
* ali.adb (Known_ALI_Lines): The comment about "still available"
|
||
was wrong. Fix that by erasing the comment, and encoding the
|
||
relevant information in real code. Take advantage of Ada's full
|
||
coverage rules by removing "others =>". Also DRY.
|
||
|
||
2020-06-08 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch12.adb (P_Formal_Derived_Type_Definition): Handle
|
||
properly formal derived types that include aspect
|
||
specifications, so that the "with" keyword appears twice in the
|
||
formal type declaration.
|
||
* sem_ch13.adb (Has_Generic_Parent): Return true if the type
|
||
itself is a generic formal.
|
||
|
||
2020-06-08 Dmitriy Anisimkov <anisimko@adacore.com>
|
||
|
||
* socket.c (__gnat_minus_500ms): Remove
|
||
IsWindowsVersionOrGreater from condition.
|
||
|
||
2020-06-08 Claire Dross <dross@adacore.com>
|
||
|
||
* libgnat/a-cfdlli.ads, libgnat/a-cfhama.ads,
|
||
libgnat/a-cfhase.ads, libgnat/a-cforma.ads, libgnat/a-cforse.ads
|
||
(Delete): Add Depends contract.
|
||
|
||
2020-06-08 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* snames.ads-tmpl (Name_Program_Error_Check,
|
||
Name_Tasking_Check): New constants.
|
||
* types.ads (Program_Error_Check, Tasking_Check): New constants.
|
||
(All_Checks): Update accordingly.
|
||
|
||
2020-06-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Use ??.
|
||
|
||
2020-06-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* cstand.adb (Create_Standard): Update comments.
|
||
|
||
2020-06-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* scng.adb (Scan): Fix typo to take into account all future
|
||
versions of Ada.
|
||
* sem_attr.ads (Attribute_Impl_Def): Add Attribute_Reduce for
|
||
now.
|
||
* sem_attr.adb (Analyze_Attribute): Only allow 'Reduce under
|
||
-gnatX.
|
||
* snames.ads-tmpl (Name_Reduce): Update comment.
|
||
|
||
2020-06-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_disp.adb (Expand_Interface_Thunk): Add comment about
|
||
gnatcov reliance on specific name used for thunks.
|
||
|
||
2020-06-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration): For scalar types,
|
||
and for subtype declarations without a constraint, subtype
|
||
inherits Atomic flag from base type.
|
||
|
||
2020-06-05 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_attributes.rst (Enum_Rep):
|
||
Remove extra colon.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* atree.adb (New_Copy): Clear Has_Dynamic_Range_Check on
|
||
subexpression nodes.
|
||
* checks.adb (Append_Range_Checks): Assert that the node
|
||
doesn't have the Has_Dynamic_Range_Check flag set.
|
||
(Insert_Range_Checks): Likewise.
|
||
* exp_ch3.adb (Expand_N_Subtype_Indication): Do not apply
|
||
range checks for a full type or object declaration.
|
||
* sem_ch3.ads: Move with and use clauses for Nlists to...
|
||
(Process_Range_Expr_In_Decl): Change default to No_List for
|
||
the Check_List parameter.
|
||
* sem_ch3.adb: ...here.
|
||
(Process_Range_Expr_In_Decl): Likewise. When the insertion
|
||
node is a declaration, only insert on the list if is present
|
||
when the declaration involves discriminants, and only insert
|
||
on the node when there is no list otherwise.
|
||
|
||
2020-06-05 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Record_Aggregate): Create the
|
||
N_Aggregate node with its Expressions field set to No_List and
|
||
not to an empty list.
|
||
|
||
2020-06-05 Dmitriy Anisimkov <anisimko@adacore.com>
|
||
|
||
* libgnat/s-os_lib.adb (Is_Dirsep): Moved from Build_Path to
|
||
package level to reuse.
|
||
(Normalize_Pathname.Final_Value): Reduce 2 'if' statements to
|
||
one.
|
||
(Normalize_Pathname.Fill_Directory): New procedure instead of
|
||
function Get_Directory. Remove slash to backslash conversion and
|
||
drive letter uppercasing on Windows.
|
||
|
||
2020-06-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem.adb (Assert_Done): Relax check for main unit, as it was
|
||
overzealous in the case of the main unit itself.
|
||
|
||
2020-06-05 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* exp_ch3.adb, sem_ch8.adb, sem_util.adb: Use Is_Incomplete_Type
|
||
to make the code easier to read.
|
||
|
||
2020-06-05 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* einfo.adb: Minor reformatting.
|
||
* sem_util.adb (Has_Full_Default_Initialization,
|
||
Is_Partially_Initialized_Type, Caller_Known_Size_Record,
|
||
Large_Max_Size_Mutable): Iterate with
|
||
First_Component/Next_Component; rename Ent to Comp.
|
||
|
||
2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Use
|
||
Expr_Rep_Value instead of Expr_Value to obtain the equivalent
|
||
integer value.
|
||
* sem_eval.ads (Expr_Value): Document more supported cases.
|
||
* sem_eval.adb (Expr_Rep_Value): Copy missing cases from
|
||
Exp_Value.
|
||
|
||
2020-06-05 Bob Duff <duff@adacore.com>
|
||
|
||
* rtsfind.adb, rtsfind.ads: Move subtypes of RTU_Id into package
|
||
body, because they are not needed by clients. Change "Child_" to
|
||
"Descendant", because grandchildren and great grandchildren are
|
||
involved. Replace all the repetitive comments with a single
|
||
concise one. Change the parent subtypes to be more consistent;
|
||
use the most specific parent.
|
||
|
||
2020-06-05 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* rtsfind.ads, rtsfind.adb (Is_Text_IO_Special_Package): Moved
|
||
from the GNATprove backend to the frontend.
|
||
|
||
2020-06-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.ads: Add comment about function only used in
|
||
CodePeer.
|
||
|
||
2020-06-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch9.adb, (Analyze_Task_Body): After analying the task
|
||
body, indicate that all local variables have no delayed aspects.
|
||
This prevents improper later calls to
|
||
Check_Aspect_At_End_Of_Declarations, that would happen when the
|
||
constructed task_procedure body (generated during expansion) is
|
||
analyzed. The legality of aspect specifications that may appear
|
||
on local declarations has already been established, and it is in
|
||
general not possible to recheck them properly during expansion,
|
||
when visibility may not be fully established.
|
||
|
||
2020-06-05 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* libgnat/a-cofuve.ads (First): Add Global contract.
|
||
|
||
2020-06-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_prag.adb (Set_Convention_From_Pragma): Set the convention
|
||
of anonymous access array components.
|
||
|
||
2020-06-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-calfor.ads, libgnat/a-catizo.ads,
|
||
libgnat/a-catizo.adb (Local_Time_Offset, Local_Image): New.
|
||
(UTC_Time_Offset): Now a renaming of Local_Time_Offset.
|
||
|
||
2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb (Available_Full_View): New function returning
|
||
either the full or the underlying full view.
|
||
(Build_Full_Derivation): Add guard for the full view.
|
||
(Copy_And_Build): Retrieve the underlying full view, if any,
|
||
also if deriving a completion.
|
||
(Build_Derived_Private_Type): Use Available_Full_View throughout
|
||
to decide whether a full derivation must be done.
|
||
|
||
2020-06-05 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_attr.adb, exp_ch11.adb, exp_imgv.adb, exp_tss.ads,
|
||
par-ch4.adb, sem_attr.adb, sem_util.ads: Misc cleanup.
|
||
|
||
2020-06-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-nudira.ads, libgnat/a-nudira.adb (Random): New
|
||
function.
|
||
|
||
2020-06-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_attr.ads (Attribute_Impl_Def): Remove Enum_Rep/Val.
|
||
* sem_attr.adb (Attribute_20): New, move Enum_Rep/Val here.
|
||
(Analyze_Attribute): Take Attribute_20 into account.
|
||
|
||
2020-06-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* restrict.ads (Unit_Array): Add a-direct.
|
||
|
||
2020-06-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-stopoo.ads: Mark package Pure and leave room for
|
||
Nonblocking once this aspect is supported.
|
||
|
||
2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference) <Valid_Scalars>:
|
||
Set the No_Truncation flag on the unchecked conversion built for
|
||
scalar types.
|
||
|
||
2020-06-05 Bob Duff <duff@adacore.com>
|
||
|
||
* einfo.adb, einfo.ads, exp_util.adb: Remove Invariants_Ignored
|
||
flag.
|
||
* sem_prag.adb (Invariant): Instead of setting a flag to be
|
||
checked elsewhere, remove the pragma as soon as it is analyzed
|
||
and checked for legality.
|
||
|
||
2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.ads (Apply_Length_Check): Rename Ck_Node parameter to
|
||
Expr.
|
||
(Apply_Range_Check): Likewise.
|
||
(Get_Range_Checks): Likewise.
|
||
* checks.adb (Apply_Float_Conversion_Check): Likewise.
|
||
(Apply_Selected_Length_Checks): Likewise.
|
||
(Apply_Selected_Range_Checks): Likewise.
|
||
(Guard_Access): Likewise.
|
||
(Selected_Length_Checks): Likewise. Also avoid shadowing in
|
||
child procedures.
|
||
(Selected_Range_Checks): Likewise.
|
||
|
||
2020-06-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* par-ch3.adb, par-ch4.adb, scng.adb, sem_aggr.adb,
|
||
sem_ch10.adb, sem_ch12.adb, sem_prag.adb: Update wording: change
|
||
Ada_2020 to Ada 2020 in comments and mention -gnat2020 instead
|
||
of -gnatX switch.
|
||
|
||
2020-06-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/i-c.ads (long_long, unsigned_long_long): New
|
||
definitions.
|
||
|
||
2020-06-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* Makefile.rtl: add a-tasini object
|
||
* impunit.adb (Non_Imp_File_Names_95): Add s-tasini.
|
||
* libgnarl/a-tasini.ads, libgnarl/a-tasini.adb: New files.
|
||
* libgnarl/s-taskin.ads (Global_Initialization_Handler): New.
|
||
* libgnarl/s-tassta.adb (Task_Wrapper): Call
|
||
Global_Initialization_Handler if non null.
|
||
|
||
2020-06-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Build_Suprogram_Body_Wrapper,
|
||
Build_Subprogram_Decl_Wrapper): New suprograms, to create the
|
||
wrappers needed to implement contracts on formsl subprograms at
|
||
the point of instantiation.
|
||
(Build_Subprogram_Wrappers): New subprogram within
|
||
Analyze_Associations, calls the above when the formal subprogram
|
||
has contracts, and expansion is enabled.
|
||
(Instantiate_Formal_Subprogram): If the actual is not an entity,
|
||
such as a function attribute, or a synchronized operation,
|
||
create a function with an internal name and call it within the
|
||
wrapper.
|
||
(Analyze_Generic_Formal_Part): Analyze contracts at the end of
|
||
the list of formal declarations.
|
||
* sem_prag.adb (Analyze_Pre_Post_Condtion): In Ada_2020 the
|
||
aspect and corresponding pragma can appear on a formal
|
||
subprogram declaration.
|
||
(Find_Related_Declaration_Or_Body): Ditto.
|
||
|
||
2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch7.adb (Make_Final_Call): Set the type of the object, if
|
||
it is unanalyzed, before calling Convert_View on it.
|
||
|
||
2020-06-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* adabkend.adb, back_end.ads, opt.ads, sem_ch6.adb: Get rid of
|
||
Disable_FE_Inline_Always.
|
||
|
||
2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch7.adb (Make_Final_Call): Add missing guard.
|
||
* sem_ch3.adb (Copy_And_Build): Adjust recursive call for
|
||
private types.
|
||
(Build_Derived_Private_Type): Deal with underlying full views.
|
||
|
||
2020-06-04 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/a-stobbu.adb, libgnat/a-stobbu.ads,
|
||
libgnat/a-stobfi.adb, libgnat/a-stobfi.ads,
|
||
libgnat/a-stoubu.adb, libgnat/a-stoubu.ads,
|
||
libgnat/a-stoufi.adb, libgnat/a-stoufi.ads,
|
||
libgnat/a-stoufo.adb, libgnat/a-stoufo.ads,
|
||
libgnat/a-stouut.adb, libgnat/a-stouut.ads,
|
||
libgnat/a-stteou.ads, libgnat/s-putaim.adb,
|
||
libgnat/s-putaim.ads, libgnat/s-putima.adb, libgnat/s-putima.ads
|
||
(Ada.Strings.Text_Output and children, System.Put_Images): New
|
||
runtime support for Put_Image.
|
||
* gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add
|
||
exp_put_image.o.
|
||
* exp_put_image.adb, exp_put_image.ads: New compiler package
|
||
that generates calls to runtime routines that implement
|
||
Put_Image.
|
||
* Makefile.rtl: Add object files for Ada.Strings.Text_Output and
|
||
children and System.Put_Images.
|
||
* aspects.adb: Simplify initialization of Canonical_Aspect.
|
||
* aspects.ads: Improve documentation. Add Aspect_Put_Image.
|
||
* exp_attr.adb: Add support for Put_Image, by calling routines
|
||
in Exp_Put_Image.
|
||
* sem_util.adb (Is_Predefined_Dispatching_Operation): Return
|
||
True for new TSS_Put_Image operation.
|
||
* exp_ch3.adb: For tagged types, build a dispatching
|
||
TSS_Put_Image operation by calling routines in Exp_Put_Image.
|
||
* exp_disp.adb, exp_disp.ads: Make TSS_Put_Image be number 10,
|
||
adjusting other operations' numbers after 10. We choose 10
|
||
because that's the last number shared by all runtimes.
|
||
* exp_strm.adb: Use named notation as appropriate.
|
||
* exp_cg.adb, exp_tss.ads: Add TSS_Put_Image.
|
||
* libgnat/a-tags.ads: Modify Max_Predef_Prims for the new
|
||
TSS_Put_Image.
|
||
* impunit.adb: Add new runtime packages.
|
||
* rtsfind.adb, rtsfind.ads: Add support for
|
||
Ada.Strings.Text_Output, Ada.Strings.Text_Output.Utils, and
|
||
System.Put_Images.
|
||
* sem_attr.adb: Error checking for Put_Image calls.
|
||
* sem_ch12.adb (Valid_Default_Attribute): Support for passing
|
||
Put_Image as a generic formal parameter.
|
||
* sem_ch13.adb: Analysis of Put_Image aspect. Turn it into a
|
||
Put_Image attribute definition clause.
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): Support for
|
||
renaming of the Put_Image attribute.
|
||
* snames.adb-tmpl: Fix comments.
|
||
* snames.ads-tmpl (Name_Put_Image): New Name_Id.
|
||
(Attribute_Put_Image): New Attribute_Id.
|
||
* tbuild.adb, tbuild.ads (Make_Increment): New utility.
|
||
|
||
2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (xpand_N_Attribute_Reference) <Input>: Call
|
||
Find_Inherited_TSS to look up the Stream_Read TSS.
|
||
<Output>: Likewise for the Stream_Write TSS.
|
||
* exp_ch7.adb (Make_Final_Call): Call Underlying_Type on
|
||
private types to account for underlying full views.
|
||
* exp_strm.ads (Build_Record_Or_Elementary_Input_Function):
|
||
Remove Use_Underlying parameter.
|
||
* exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
|
||
Likewise and adjust accordingly.
|
||
* exp_tss.adb (Find_Inherited_TSS): Deal with full views.
|
||
Call Find_Inherited_TSS recursively on the parent type if
|
||
the base type is a derived type.
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Take
|
||
into account underlying full views for derived types.
|
||
* sem_ch3.adb (Copy_And_Build): Look up the underlying full
|
||
view only for a completion. Be prepared for private types.
|
||
(Build_Derived_Private_Type): Build an underlying full view
|
||
for a completion in the general case too.
|
||
|
||
2020-06-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* back_end.adb, opt.ads, par-prag.adb, sem_ch5.adb,
|
||
sem_prag.adb, sinfo.adb, sinfo.ads, snames.ads-tmpl,
|
||
doc/gnat_rm/implementation_defined_pragmas.rst: Remove
|
||
experimental support for OpenACC.
|
||
* gcc-interface/misc.c, gcc-interface/trans.c,
|
||
gcc-interface/lang.opt: Ditto.
|
||
* gnat_rm.texi: Regenerate.
|
||
|
||
2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.adb (Generate_Discriminant_Check): Remove obsolete
|
||
comment.
|
||
|
||
2020-06-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* par-ch3.adb (P_Identifier_Declarations): Add parsing of object
|
||
renamings that have neither a subtype_mark nor an
|
||
access_definition. Issue an error if the version is earlier than
|
||
Ada_2020, and suggest using -gnatX.
|
||
* sem_ch8.adb (Analyze_Object_Renaming): Handle
|
||
object_renaming_declarations that don't have an explicit
|
||
subtype. Errors are issued when the name is inappropriate or
|
||
ambiguous, and otherwise the Etype of the renaming entity is set
|
||
from the Etype of the renamed object.
|
||
* sem_util.adb (Has_Null_Exclusion): Allow for the case of no
|
||
subtype given in an N_Object_Renaming_Declaration.
|
||
* sprint.adb (Sprint_Node_Actual): Handle printing of
|
||
N_Object_Renaming_Declarations that are specified without an
|
||
explicit subtype.
|
||
|
||
2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sinfo.ads (N_Delta_Aggregate): Document Etype field.
|
||
(N_Case_Expression): Likewise.
|
||
(Is_Syntactic_Field) <N_Quantified_Expression>: Adjust.
|
||
<N_Case_Expression>: Likewise.
|
||
|
||
2020-06-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* adaint.c: Avoid redefining IS_DIR_SEPARATOR macro.
|
||
|
||
2020-06-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem.adb (Walk_Library_Items): Defer processing of main spec
|
||
after all other specs and before processing bodies.
|
||
|
||
2020-06-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Adafinal): Adafinal is convention Ada, not C.
|
||
|
||
2020-06-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sinput.adb (Sloc_Range): Ignore node in the tree if it appears
|
||
in a unit different from that of the node whose Sloc range we
|
||
are computing. This is necessary when computing the source range
|
||
of a subprogram body whose declaration includes a pre- or
|
||
postcondition, because declaration and body may appear in
|
||
different units, and the expanded code for the body includes
|
||
copies of the contract code.
|
||
|
||
2020-06-04 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* switch.adb (Is_Internal_GCC_Switch): Recognize dumpdir and
|
||
dumpbase-ext. Mark auxbase and auxbase-strip for removal.
|
||
|
||
2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_attr.adb (Resolve_Attribute) <Access>: Do not generate
|
||
the secondary message about a missing pragma if the convention
|
||
of the prefix is Intrinsic.
|
||
* sem_ch12.adb (Instantiate_Formal_Subprogram): Only set the
|
||
Convention and the Is_Inlined flag on a null procedure.
|
||
|
||
2020-06-04 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Return_Obj_Accessibility): Change to
|
||
Check_Return_Construct_Accessibility to better reflect its
|
||
purpose. Add loop to properly obtain the object declaration
|
||
from an expanded extended return statement and add calls to get
|
||
the original node for associated values. Also, avoid checks when
|
||
the return statement being examined comes from an internally
|
||
generated function.
|
||
|
||
2020-06-04 Dmitriy Anisimkov <anisimko@adacore.com>
|
||
|
||
* adaint.c (__gnat_is_absolute_path): Check for directory
|
||
separator after drive and colon.
|
||
(IS_DIR_SEPARATOR): Define new inline substitution.
|
||
|
||
2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.ads: Update documentation about range checks and fix
|
||
minor other things.
|
||
|
||
2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb (Array_Type_Declaration): Apply special handling
|
||
of private index types to generic packages and restrict it to
|
||
index types defined in the current scope.
|
||
|
||
2020-06-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-exextr.adb (Global_Unhandled_Action): New global
|
||
variable.
|
||
(Notify_Exception): Take into account Global_Unhandled_Action
|
||
and fix latent race condition.
|
||
(Exception_Action): Mark Favor_Top_Level so that variables can
|
||
be atomic.
|
||
(Global_Action): Mark atomic to remove the need for a lock.
|
||
* libgnat/g-excact.ads, libgnat/g-excact.adb
|
||
(Register_Global_Unhandled_Action): New procedure.
|
||
(Register_Global_Action): Remove lock.
|
||
* libgnat/s-stalib.ads (Raise_Action): Mark Favor_Top_Level to
|
||
be compatible with Exception_Action.
|
||
* sem_warn.adb (Warn_On_Unreferenced_Entity): Fix logic wrt
|
||
Volatile entities and entities with an address clause: the code
|
||
did not match the comment/intent.
|
||
|
||
2020-06-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* comperr.adb (Compiler_Abort): Update URL and bug report
|
||
instructions.
|
||
|
||
2020-06-04 Steve Baird <baird@adacore.com>
|
||
|
||
* libgnat/s-imgrea.ads: Declare a named number
|
||
Max_Real_Image_Length with value 5200. Provide a comment
|
||
explaining why this value was chosen.
|
||
* libgnat/s-imgrea.adb (Set_Image_Real): Increase the upper
|
||
bound of the local String variable Digs to
|
||
Max_Real_Image_Length.
|
||
* libgnat/a-tiflau.adb (Put): Increase the upper bound of the
|
||
local String variable Buf to Max_Real_Image_Length.
|
||
(Puts): Increase the upper bound of the local String variable
|
||
Buf to Max_Real_Image_Length.
|
||
|
||
2020-06-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnarl/a-dynpri.adb, libgnarl/a-taside.adb,
|
||
libgnarl/a-taster.adb, libgnarl/s-interr.adb,
|
||
libgnarl/s-interr__sigaction.adb, libgnarl/s-taasde.adb,
|
||
libgnarl/s-taenca.adb, libgnarl/s-taenca.ads,
|
||
libgnarl/s-taprop.ads, libgnarl/s-taprop__hpux-dce.adb,
|
||
libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb,
|
||
libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb,
|
||
libgnarl/s-taprop__solaris.adb, libgnarl/s-taprop__vxworks.adb,
|
||
libgnarl/s-tarest.adb, libgnarl/s-tasini.adb,
|
||
libgnarl/s-tasque.adb, libgnarl/s-tasque.ads,
|
||
libgnarl/s-tasren.adb, libgnarl/s-tasren.ads,
|
||
libgnarl/s-tassta.adb, libgnarl/s-tasuti.adb,
|
||
libgnarl/s-tasuti.ads, libgnarl/s-tpoben.adb,
|
||
libgnarl/s-tpobop.adb, libgnarl/s-tpopmo.adb,
|
||
libgnarl/s-tposen.adb, libgnat/s-parame.ads,
|
||
libgnat/s-parame__ae653.ads, libgnat/s-parame__hpux.ads,
|
||
libgnat/s-parame__vxworks.ads: Remove references to Single_Lock
|
||
and Global_Lock.
|
||
|
||
2020-06-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-atopar.adb, libgnat/s-atopex.adb: Use Object_Size
|
||
instead of Size, otherwise many derived types will be rejected
|
||
(e.g. a type with a 14 bits 'Size and a 16 bits 'Object_Size).
|
||
|
||
2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch12.adb (Copy_Generic_Node): Add special handling for a
|
||
conversion between access types.
|
||
|
||
2020-06-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch12.adb (Check_Generic_Actuals): Also restore the proper
|
||
views of the actuals of the parent instances if the formals are
|
||
used as actuals of the children.
|
||
(Instantiate_Type): Add comment.
|
||
|
||
2020-06-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch12.adb: Minor editorial fixes.
|
||
|
||
2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch12.adb (Denotes_Previous_Actual): Delete.
|
||
(Check_Generic_Actuals): Do not special case array types whose
|
||
component type denotes a previous actual. Do not special case
|
||
access types whose base type is private.
|
||
(Check_Private_View): Remove code dealing with secondary types.
|
||
Do not switch the views of an array because of its component.
|
||
(Copy_Generic_Node): Add special handling for a comparison
|
||
operator on array types.
|
||
(Instantiate_Type): Do not special case access types whose
|
||
designated type is private.
|
||
(Set_Global_Type): Do not special case array types whose
|
||
component type is private.
|
||
|
||
2020-06-03 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_ch10.adb (Process_Body_Clauses): Add loop to interate
|
||
through all prefixes in a use_type clause so that all packages
|
||
in the expanded name get examined for effectiveness.
|
||
|
||
2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch12.adb (Check_Private_View): Clean up implementation of
|
||
second main case, when the generic sees the private declaration.
|
||
|
||
2020-06-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/a-nbnbin.ads: Minor reformatting.
|
||
* libgnat/a-nbnbre.ads, libgnat/a-nbnbre.adb (Is_Valid): Add
|
||
convention Intrinsic. Add detection of uninitialized big reals.
|
||
|
||
2020-06-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sem_util.ads, sem_util.adb (Side_Effect_Free_Statements,
|
||
Side_Effect_Free_Loop): New functions.
|
||
(Has_Non_Null_Statements): Consider N_Call_Marker as a null
|
||
statement.
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Call
|
||
Set_Is_Null_Loop even inside a generic instantiation.
|
||
(Analyze_Loop_Statement): Mark for removal loops with no side
|
||
effects.
|
||
|
||
2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* opt.ads (Allow_Integer_Address): Fix typo in comment.
|
||
* stand.ads (Standard_Address): New entity.
|
||
* cstand.adb (Create_Standard): Create it.
|
||
* sem_ch4.adb (Operator_Check): Convert the operands of an
|
||
operation with addresses and integers to Standard_Address
|
||
if pragma Allow_Integer_Address is in effect.
|
||
|
||
2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-atopar.adb (Atomic_Fetch_And_Add): Make use of an
|
||
equivalent static expression.
|
||
(Atomic_Fetch_And_Subtract): Likewise.
|
||
(Is_Lock_Free): Likewise.
|
||
* libgnat/s-atopex.adb (Atomic_Exchange): Likewise.
|
||
(Atomic_Compare_And_Exchange): Likewise.
|
||
(Is_Lock_Free): Likewise.
|
||
|
||
2020-06-03 Vadim Godunko <godunko@adacore.com>
|
||
|
||
* libgnat/s-parame.ads, libgnat/s-parame__ae653.ads,
|
||
libgnat/s-parame__hpux.ads: Fix typos.
|
||
|
||
2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_util.adb (Remove_Side_Effects): For a type conversion, do
|
||
not remove the side effects of the expression only if it is of
|
||
universal integer type.
|
||
|
||
2020-06-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-aotase.ads, libgnat/s-atoope.ads,
|
||
libgnat/s-atopar.ads, libgnat/s-atopex.ads: Update header.
|
||
|
||
2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): Also fold the
|
||
conversion for literals of enumeration types.
|
||
|
||
2020-06-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* rtsfind.adb (Load_RTU): Correctly set/reset global variable to
|
||
ignore SPARK_Mode in instances around loading.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Accept Off
|
||
without prior On.
|
||
* sem_ch7.adb (Analyze_Package_Body_Helper): Likewise.
|
||
* sem_prag.adb (Analyze_Pragma): Always take into account
|
||
SPARK_Mode Off.
|
||
|
||
2020-06-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* frontend.adb (Frontend): Call (dummy for now) tree checker.
|
||
* debug.adb: Reserve -gnatd_V for the tree checker.
|
||
* vast.ads, vast.adb: New files.
|
||
* gcc-interface/Make-lang.in: Add vast.o.
|
||
|
||
2020-06-03 Justin Squirek <squirek@adacore.com>
|
||
|
||
* libgnat/a-cborse.adb, libgnat/a-cihase.adb,
|
||
libgnat/a-ciorse.adb, libgnat/a-coorse.adb: Modified to use
|
||
'Unrestricted_Access in certain cases where static accessibility
|
||
errors were triggered.
|
||
* exp_ch6.adb (Expand_Simple_Return_Statement): Add generation
|
||
of dynamic accessibility checks as determined by
|
||
Is_Special_Aliased_Formal_Access.
|
||
* sem_attr.adb (Resolve_Attribute): Add call to
|
||
Is_Special_Aliased_Formal_Access to avoid performing static
|
||
checks where dynamic ones are required.
|
||
* sem_ch6.adb (Check_Return_Obj_Accessibility): Handle renamed
|
||
objects within component associations requiring special
|
||
accessibility checks.
|
||
* sem_util.adb, sem_util.ads (Is_Special_Aliased_Formal_Access):
|
||
Created to detect the special case where an aliased formal is
|
||
being compared against the level of an anonymous access return
|
||
object.
|
||
(Object_Access_Level): Remove incorrect condition leading to
|
||
overly permissive accessibility levels being returned on
|
||
explicitly aliased parameters.
|
||
|
||
2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (Enum_Pos_To_Rep): Adjust description.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference) <Pred>:
|
||
Reimplement in the case of an enumeration type with non-standard
|
||
but contiguous representation.
|
||
<Succ>: Likewise.
|
||
<Val>: Likewise.
|
||
* exp_ch3.adb (Expand_Freeze_Enumeration_Type): Count the
|
||
literals in the first loop. If the representation is
|
||
contiguous, just build the index type of the array type and set
|
||
Enum_Pos_To_Rep to it.
|
||
|
||
2020-06-03 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_Loop_Entry_Attribute): Revise loop that
|
||
resets the scopes of entities associated with Loop_Id to the
|
||
scope of the new function, so the resetting is not restricted to
|
||
itypes, but excludes loop parameters and the function entity
|
||
itself. However, this fix is believed to be incomplete and a ???
|
||
comment is added to indicate that.
|
||
|
||
2020-06-03 Bob Duff <duff@adacore.com>
|
||
|
||
* libgnat/s-regexp.ads: Fix comment
|
||
|
||
2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference) <Enum_Rep>:
|
||
In the case of an enumeration type, do an intermediate
|
||
conversion to a small integer type. Remove useless stuff.
|
||
<Finalization_Size>: Do not hardcode Universal_Integer and
|
||
fix a type mismatch in the assignment to the variable.
|
||
<Max_Size_In_Storage_Elements>: Likewise.
|
||
<From_Any>: Do not redefine the Ptyp local variable.
|
||
<To_Any>: Likewise.
|
||
<TypeCode>: Likewise.
|
||
<Pos>: Small tweaks.
|
||
<Val>: For an enumeration type with standard representation,
|
||
apply the range check to the expression of a convertion to
|
||
Universal_Integer, if any. For an integer type, expand to
|
||
a mere conversion.
|
||
|
||
2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* libgnat/s-rannum.adb (Random_Discrete): In the 32-bit case,
|
||
use the same linear implementation as in the 64-bit case when
|
||
the type has a contiguous representation.
|
||
|
||
2020-06-03 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_util.adb (Build_Class_Wide_Clone_Decl): Call
|
||
Set_Debug_Info_Needed to set the Needs_Debug_Info flag on
|
||
Clone_Id if the flag is set on Spec_Id.
|
||
|
||
2020-06-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* inline.adb (Expand_Inlined_Call): Do not suppress checks on
|
||
inlined code in GNATprove mode.
|
||
|
||
2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads (Has_Contiguous_Rep): Fix typo in comment.
|
||
|
||
2020-06-03 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* checks.adb, einfo.adb, exp_aggr.adb, exp_ch4.adb, exp_ch6.adb,
|
||
exp_unst.adb, exp_util.adb, freeze.adb, inline.adb, repinfo.adb,
|
||
sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_ch13.adb,
|
||
sem_ch3.adb, sem_ch4.adb, sem_ch8.adb, sem_elab.adb,
|
||
sem_eval.adb, sem_prag.adb, sem_res.adb, sem_smem.adb,
|
||
sem_util.adb, treepr.adb: Replace uses of Next_ functions with
|
||
corresponding procedures.
|
||
|
||
2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (Attribute_Valid): Use Standard_Long_Long_Integer
|
||
in lieu of Universal_Integer as large integer type.
|
||
* exp_ch3.adb (Expand_Freeze_Enumeration_Type): Likewise.
|
||
|
||
2020-06-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* libgnat/s-auxdec.ads (Address_Int): New.
|
||
|
||
2020-06-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* aspects.adb, aspects.ads, atree.adb, atree.ads, elists.adb,
|
||
elists.ads, fname.adb, fname.ads, gnat1drv.adb, lib.adb,
|
||
lib.ads, namet.adb, namet.ads, nlists.adb, nlists.ads, opt.adb,
|
||
opt.ads, osint-c.adb, osint-c.ads, repinfo.adb, repinfo.ads,
|
||
sem_aux.adb, sem_aux.ads, sinput.adb, sinput.ads, stand.ads,
|
||
stringt.adb, stringt.ads, switch-c.adb, table.adb, table.ads,
|
||
uintp.adb, uintp.ads, urealp.adb, urealp.ads (Tree_Read,
|
||
Tree_Write): Remove generation of ASIS trees.
|
||
* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
|
||
Remove -gnatt and -gnatct documentation.
|
||
* gnat_ugn.texi: Regenerate.
|
||
* tree_in.ads, tree_in.adb, tree_io.ads, tree_io.adb,
|
||
tree_gen.ads, tree_gen.adb, stand.adb: Remove.
|
||
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove
|
||
references to tree_gen.o tree_in.o tree_io.o.
|
||
|
||
2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* opt.ads (Disable_FE_Inline): Move around.
|
||
(Disable_FE_Inline_Always): Likewise.
|
||
|
||
2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* checks.adb (Is_Single_Attribute_Reference): New predicate.
|
||
(Generate_Range_Check): Do not force the evaluation if the
|
||
node is a single attribute reference.
|
||
* exp_util.adb (Side_Effect_Free_Attribute): New predicate.
|
||
(Side_Effect_Free) <N_Attribute_Reference>: Call it.
|
||
(Remove_Side_Effects): Remove the side effects of the prefix
|
||
for an attribute reference whose prefix is not a name.
|
||
|
||
2020-06-03 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* switch-c.adb (Scan_Front_End_Switches): Remove processing of
|
||
-gnatt.
|
||
* usage.adb (Usage): Remove mention of -gnatt.
|
||
|
||
2020-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sinfo.ads: Minor tweaks in commentary.
|
||
|
||
2020-06-02 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* lib.ads (Compilation_Switches): Remove -auxbase from
|
||
comments.
|
||
* switch.ads (Is_Internal_GCC_Switch): Likewise.
|
||
|
||
2020-06-02 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* atree.ads, checks.adb, contracts.adb, debug.adb, einfo.ads,
|
||
exp_ch3.adb, exp_util.adb, expander.ads, expander.adb,
|
||
frontend.adb, gnat1drv.adb, itypes.adb, lib.ads, namet.ads,
|
||
opt.adb, opt.ads, par-prag.adb, repinfo.ads, sem_aggr.adb,
|
||
sem_aux.ads, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
|
||
sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb,
|
||
sem_dim.adb, sem_elab.adb, sem_prag.adb, sem_prag.ads,
|
||
sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, stand.ads,
|
||
tree_io.ads: Remove references to ASIS_Mode.
|
||
|
||
2020-06-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch4.adb (Generate_Temporary): New subprogram of
|
||
Discrete_Range_Check that generates a temporary to facilitate
|
||
the C backend the code generation of the unchecked conversion
|
||
since the size of the source type may differ from the size of
|
||
the target type.
|
||
|
||
2020-06-02 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* ada_get_targ.adb: Bump copyright year.
|
||
* 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.
|
||
* 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.
|
||
* ceinfo.adb: 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.
|
||
* csinfo.adb: Likewise.
|
||
* cstand.adb: Likewise.
|
||
* cstand.ads: Likewise.
|
||
* cstreams.c: Likewise.
|
||
* ctrl_c.c: Likewise.
|
||
* debug.adb: Likewise.
|
||
* debug.ads: Likewise.
|
||
* debug_a.adb: Likewise.
|
||
* debug_a.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_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.
|
||
* 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.
|
||
* 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-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__posix.adb: Likewise.
|
||
* libgnarl/s-inmaop__vxworks.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__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-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__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__noints.adb: Likewise.
|
||
* libgnarl/s-vxwext__rtp-smp.adb: Likewise.
|
||
* libgnarl/s-vxwext__rtp.adb: Likewise.
|
||
* libgnarl/s-vxwext__rtp.ads: Likewise.
|
||
* libgnarl/s-vxwext__vthreads.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-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-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-elchha__vxworks-ppc-full.adb: Likewise.
|
||
* libgnat/a-envvar.adb: Likewise.
|
||
* libgnat/a-excach.adb: Likewise.
|
||
* libgnat/a-except.adb: Likewise.
|
||
* libgnat/a-except.ads: Likewise.
|
||
* libgnat/a-excpol.adb: Likewise.
|
||
* libgnat/a-excpol__abort.adb: 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-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-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-numaux__darwin.adb: Likewise.
|
||
* libgnat/a-numaux__darwin.ads: Likewise.
|
||
* libgnat/a-numaux__libc-x86.ads: Likewise.
|
||
* libgnat/a-numaux__vxworks.ads: Likewise.
|
||
* libgnat/a-numaux__x86.adb: Likewise.
|
||
* libgnat/a-numaux__x86.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-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-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-ststio.adb: Likewise.
|
||
* libgnat/a-ststio.ads: 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-tienau.adb: Likewise.
|
||
* libgnat/a-tienau.ads: Likewise.
|
||
* libgnat/a-tienio.adb: Likewise.
|
||
* libgnat/a-tifiio.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-timoau.adb: Likewise.
|
||
* libgnat/a-timoau.ads: Likewise.
|
||
* libgnat/a-timoio.adb: Likewise.
|
||
* libgnat/a-timoio.ads: 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-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-wtfiio.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-wtmoau.adb: Likewise.
|
||
* libgnat/a-wtmoau.ads: Likewise.
|
||
* libgnat/a-wtmoio.adb: Likewise.
|
||
* libgnat/a-wtmoio.ads: 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-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-ztfiio.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-ztmoau.adb: Likewise.
|
||
* libgnat/a-ztmoau.ads: Likewise.
|
||
* libgnat/a-ztmoio.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-put__vxworks.adb: 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-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-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-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-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/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-aotase.adb: Likewise.
|
||
* libgnat/s-aotase.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-atocou__x86.adb: Likewise.
|
||
* libgnat/s-atoope.ads: Likewise.
|
||
* libgnat/s-atopar.adb: Likewise.
|
||
* libgnat/s-atopar.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-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-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-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-exnint.adb: Likewise.
|
||
* libgnat/s-exnint.ads: Likewise.
|
||
* libgnat/s-exnllf.adb: Likewise.
|
||
* libgnat/s-exnllf.ads: Likewise.
|
||
* libgnat/s-exnlli.adb: Likewise.
|
||
* libgnat/s-exnlli.ads: Likewise.
|
||
* libgnat/s-expint.adb: Likewise.
|
||
* libgnat/s-expint.ads: Likewise.
|
||
* libgnat/s-explli.adb: Likewise.
|
||
* libgnat/s-explli.ads: Likewise.
|
||
* libgnat/s-expllu.adb: Likewise.
|
||
* libgnat/s-expllu.ads: Likewise.
|
||
* libgnat/s-expmod.adb: Likewise.
|
||
* libgnat/s-expmod.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-fatsfl.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-fore.adb: Likewise.
|
||
* libgnat/s-fore.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-imenne.adb: Likewise.
|
||
* libgnat/s-imenne.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-imgdec.adb: Likewise.
|
||
* libgnat/s-imgdec.ads: Likewise.
|
||
* libgnat/s-imgenu.adb: Likewise.
|
||
* libgnat/s-imgenu.ads: Likewise.
|
||
* libgnat/s-imgint.adb: Likewise.
|
||
* libgnat/s-imgint.ads: Likewise.
|
||
* libgnat/s-imgllb.adb: Likewise.
|
||
* libgnat/s-imgllb.ads: Likewise.
|
||
* libgnat/s-imglld.adb: Likewise.
|
||
* libgnat/s-imglld.ads: Likewise.
|
||
* libgnat/s-imglli.adb: Likewise.
|
||
* libgnat/s-imglli.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-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__vxworks.adb: Likewise.
|
||
* libgnat/s-osprim__x32.adb: Likewise.
|
||
* libgnat/s-osvers__vxworks-653.ads: 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-pack11.adb: Likewise.
|
||
* libgnat/s-pack11.ads: Likewise.
|
||
* libgnat/s-pack12.adb: Likewise.
|
||
* libgnat/s-pack12.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-parame.adb: Likewise.
|
||
* libgnat/s-parame.ads: Likewise.
|
||
* libgnat/s-parame__ae653.ads: Likewise.
|
||
* libgnat/s-parame__hpux.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-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-powtab.ads: Likewise.
|
||
* libgnat/s-purexc.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-secsta.adb: Likewise.
|
||
* libgnat/s-secsta.ads: Likewise.
|
||
* libgnat/s-sequio.adb: Likewise.
|
||
* libgnat/s-sequio.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-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.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-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__rtems.adb: 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-stratt__xdr.adb: 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-strops.adb: Likewise.
|
||
* libgnat/s-strops.ads: Likewise.
|
||
* libgnat/s-ststop.adb: Likewise.
|
||
* libgnat/s-ststop.ads: Likewise.
|
||
* libgnat/s-tasloc.adb: Likewise.
|
||
* libgnat/s-tasloc.ads: Likewise.
|
||
* libgnat/s-thread.ads: Likewise.
|
||
* libgnat/s-thread__ae653.adb: 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-valboo.adb: Likewise.
|
||
* libgnat/s-valboo.ads: Likewise.
|
||
* libgnat/s-valcha.adb: Likewise.
|
||
* libgnat/s-valcha.ads: Likewise.
|
||
* libgnat/s-valdec.adb: Likewise.
|
||
* libgnat/s-valdec.ads: Likewise.
|
||
* libgnat/s-valenu.adb: Likewise.
|
||
* libgnat/s-valenu.ads: Likewise.
|
||
* libgnat/s-valint.adb: Likewise.
|
||
* libgnat/s-valint.ads: Likewise.
|
||
* libgnat/s-vallld.adb: Likewise.
|
||
* libgnat/s-vallld.ads: Likewise.
|
||
* libgnat/s-vallli.adb: Likewise.
|
||
* libgnat/s-vallli.ads: Likewise.
|
||
* libgnat/s-valllu.adb: Likewise.
|
||
* libgnat/s-valllu.ads: Likewise.
|
||
* libgnat/s-valrea.adb: Likewise.
|
||
* libgnat/s-valrea.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-widlli.adb: Likewise.
|
||
* libgnat/s-widlli.ads: Likewise.
|
||
* libgnat/s-widllu.adb: Likewise.
|
||
* libgnat/s-widllu.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-e500-vthread.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-kernel.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-rtp.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc-vthread.ads: Likewise.
|
||
* libgnat/system-vxworks-ppc.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-vxworks-x86-vthread.ads: Likewise.
|
||
* libgnat/system-vxworks-x86.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.
|
||
* libgnat/system.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.c: Likewise.
|
||
* sigtramp.h: Likewise.
|
||
* sinfo-cn.adb: Likewise.
|
||
* sinfo-cn.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.adb: Likewise.
|
||
* stand.ads: Likewise.
|
||
* stringt.adb: Likewise.
|
||
* stringt.ads: Likewise.
|
||
* stringt.h: 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.
|
||
* symbols.adb: Likewise.
|
||
* symbols.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.
|
||
* tree_gen.adb: Likewise.
|
||
* tree_gen.ads: Likewise.
|
||
* tree_in.adb: Likewise.
|
||
* tree_in.ads: Likewise.
|
||
* tree_io.adb: Likewise.
|
||
* tree_io.ads: 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.
|
||
* warnsw.adb: Likewise.
|
||
* warnsw.ads: Likewise.
|
||
* widechar.adb: Likewise.
|
||
* widechar.ads: Likewise.
|
||
* xeinfo.adb: Likewise.
|
||
* xnmake.adb: Likewise.
|
||
* xoscons.adb: Likewise.
|
||
* xr_tabls.adb: Likewise.
|
||
* xr_tabls.ads: Likewise.
|
||
* xref_lib.adb: Likewise.
|
||
* xref_lib.ads: Likewise.
|
||
* xsinfo.adb: Likewise.
|
||
* xsnamest.adb: Likewise.
|
||
* xtreeprs.adb: Likewise.
|
||
* xutil.adb: Likewise.
|
||
* xutil.ads: Likewise.
|
||
|
||
2020-06-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Set attribute
|
||
Expansion_Delayed on aggregates that initialize an object that
|
||
has aspect alignment or address clause. Done to allow ther
|
||
initialization by means of multiple assignments.
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Resolve delayed
|
||
aggregates. This patch complements the patch applied to
|
||
sem_ch3.adb
|
||
|
||
2020-06-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_util.adb (Ensure_Minimum_Decoration): New subprogram that
|
||
ensures the minimum decoration required by
|
||
Requires_Transient_Scope() to provide its functionality when the
|
||
entity is not frozen.
|
||
|
||
2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Divide): Remove code dealing with
|
||
the Treat_Fixed_As_Integer flag.
|
||
(Expand_N_Op_Multiply): Likewise.
|
||
* exp_fixd.adb (Build_Divide): Do the division in an integer
|
||
type long enough to hold both operands and convert the result
|
||
to the type of the LHS. Do not set Treat_Fixed_As_Integer.
|
||
(Build_Multiply): Do not set Treat_Fixed_As_Integer.
|
||
(Build_Rem): Likewise.
|
||
* sem_ch4.adb (Analyze_Arithmetic_Op): Remove code dealing with
|
||
the Treat_Fixed_As_Integer flag.
|
||
(Check_Arithmetic_Pair): Likewise.
|
||
* sinfo.ads (Treat_Fixed_As_Integer): Delete.
|
||
(N_Has_Treat_Fixed_As_Integer): Likewise.
|
||
(Set_Treat_Fixed_As_Integer): Likewise.
|
||
* sinfo.adb (Treat_Fixed_As_Integer): Likewise.
|
||
(Set_Treat_Fixed_As_Integer): Likewise.
|
||
* sprint.ads (Syntax Extensions): Remove '#' special character.
|
||
* sprint.adb (Process_TFAI_RR_Flags): Delete.
|
||
(Sprint_Node_Actual) <N_Op_Divide>: Print '@' manually.
|
||
<N_Op_Multiply>: Likewise.
|
||
<N_Op_Mod>: Do not print '#'.
|
||
<N_Op_Rem>: Likewise.
|
||
|
||
2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb (Others_Check): In the positional case, use the
|
||
general expression for the comparison only when needed.
|
||
* exp_attr.adb (Expand_Fpt_Attribute;): Use a simple conversion
|
||
to the target type instead of an unchecked conversion to the
|
||
base type to do the range check, as in the other cases.
|
||
(Expand_N_Attribute_Reference) <Attribute_Storage_Size>: Do the
|
||
Max operation in the type of the storage size variable, and use
|
||
Convert_To as in the other cases.
|
||
* tbuild.adb (Convert_To): Do not get rid of an intermediate
|
||
conversion to Universal_Integer here...
|
||
* sem_res.adb (Simplify_Type_Conversion): ...but here instead.
|
||
|
||
2020-06-02 Bob Duff <duff@adacore.com>
|
||
|
||
* doc/gnat_ugn/gnat_utility_programs.rst: Update documentation
|
||
for --RM-style-spacing.
|
||
|
||
2020-06-02 Bob Duff <duff@adacore.com>
|
||
|
||
* doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for
|
||
--[no-]compact switch.
|
||
|
||
2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb (Build_Array_Aggr_Code): Set the type of the PAT
|
||
on the zero used to clear the array.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference)
|
||
<Attribute_Alignment>: In the CW case, directly convert from the
|
||
alignment's type to the target type if the parent is an
|
||
unchecked conversion.
|
||
* sem_res.adb (Set_String_Literal_Subtype): In the dynamic case,
|
||
use the general expression for the upper bound only when needed.
|
||
Set the base type of the index as the type of the low bound.
|
||
(Simplify_Type_Conversion): Do an intermediate conversion to the
|
||
root type of the target type if the operand is an integer
|
||
literal.
|
||
* tbuild.adb (Convert_To): Get rid of an intermediate conversion
|
||
to Universal_Integer if the inner expression has integer tyoe.
|
||
* libgnat/a-sequio.adb (Byte_Swap): Make use of an equivalent
|
||
static expression in the case statement.
|
||
|
||
2020-06-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb (Traverse_Degenerate_Subprogram): Set statement
|
||
code to 'X'.
|
||
* scos.ads: Update comment documenting SCO data.
|
||
|
||
2020-06-02 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_unst.adb (Register_Subprogram): Test for Address_Taken (in
|
||
addition to the existing test for In_Synchonized_Unit) when
|
||
deciding whether to reset the Reachable flag on all subprograms
|
||
enclosing the subprogram being registered.
|
||
|
||
2020-06-02 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Return_Obj_Accessibility): Avoid use of
|
||
parent node pointers so we are not relying on expansion done in
|
||
GNATprove mode.
|
||
|
||
2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference)
|
||
<Attribute_Alignment>: Adjust comment and compare against proper
|
||
type.
|
||
|
||
2020-06-02 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_unst.adb (Visit_Node): When visiting array attribute
|
||
nodes, apply Get_Referenced_Object to the attribute prefix, to
|
||
handle prefixes denoting renamed objects by picking up the Etype
|
||
of the renamed object rather than the possibly unconstrained
|
||
nominal subtype of the renaming declaration's Entity.
|
||
* sem_util.ads (Get_Referenced_Object): Update comment to
|
||
clearly indicate that any kind of node can be passed to this
|
||
function.
|
||
* sem_util.adb (Get_Referenced_Object): Add test of Is_Object to
|
||
the condition, to allow for passing names that denote types and
|
||
subtypes.
|
||
|
||
2020-06-02 Bob Duff <duff@adacore.com>
|
||
|
||
* snames.ads-tmpl: Add comments explaining that enumeration
|
||
types have to be kept in synch with subtypes of Name_Id.
|
||
|
||
2020-06-02 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_util.adb (Check_No_Hidden_State): Remove dead code.
|
||
|
||
2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_pakd.adb (Expand_Packed_Bit_Reference): Change type of
|
||
reference from Universal_Integer to Standard_Natural.
|
||
|
||
2020-06-02 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* sem_prag.adb (Collect_States_And_Objects): Call itself on
|
||
declaration of nested packages; append abstract states
|
||
one-by-one, so that in recursive call we do not overwrite the
|
||
ones that have been already collected.
|
||
|
||
2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_atag.ads (Build_Inherit_Predefined_Prims): Change type
|
||
of Num_Predef_Prim parameter from Int to Nat.
|
||
* exp_atag.adb (Build_Range): New procedure.
|
||
(Build_Val): Likewise.
|
||
(Build_CW_Membership): Call Build_Val.
|
||
(Build_Get_Predefined_Prim_Op_Address): Likewise.
|
||
(Build_Inherit_CPP_Prims): Likewise.
|
||
(Build_Get_Prim_Op_Address): Likewise.
|
||
(Build_Set_Predefined_Prim_Op_Address): Likewise.
|
||
(Build_Inherit_Prims): Call Build_Range.
|
||
(Build_Inherit_Predefined_Prims): Likewise. Change type of
|
||
Num_Predef_Prim parameter from Int to Nat.
|
||
|
||
2020-06-02 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch3.adb: Two typo fixes.
|
||
|
||
2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb (Replace_Discriminants): Preserve the Etype of the
|
||
Name of N_Variant_Part nodes when rewriting it.
|
||
|
||
2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb (Signed_Integer_Type_Declaration): Change the type
|
||
of the bounds from Universal_Integer to Implicit_Base.
|
||
|
||
2020-06-02 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* bcheck.adb, binde.adb, bindo-diagnostics.adb, checks.adb,
|
||
exp_aggr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb,
|
||
exp_ch9.adb, gnatname.adb, sem_case.adb, sem_ch13.adb,
|
||
sem_ch5.adb, sem_prag.adb, sem_util.adb, uintp.adb, urealp.adb,
|
||
xoscons.adb, xr_tabls.adb, xref_lib.adb: Initialize objects more
|
||
explicitly and add corresponding assertions. Remove dead code.
|
||
Also add a few Annotate pragmas to help static analysis.
|
||
* libgnat/a-caldel.adb, libgnat/a-calend.adb,
|
||
libgnat/a-ngcoty.adb, libgnat/a-ngelfu.adb,
|
||
libgnat/a-ngrear.adb, libgnat/a-strfix.adb,
|
||
libgnat/g-calend.adb, libgnat/g-catiio.adb,
|
||
libgnat/g-comlin.adb, libgnat/g-debpoo.adb,
|
||
libgnat/g-dirope.adb, libgnat/g-hesorg.adb,
|
||
libgnat/g-pehage.adb, libgnat/g-socket.adb, libgnat/i-cobol.adb,
|
||
libgnat/s-dwalin.adb, libgnat/s-dwalin.ads,
|
||
libgnat/s-fatgen.adb, libgnat/s-gearop.adb,
|
||
libgnat/s-genbig.adb, libgnat/s-imgrea.adb,
|
||
libgnat/s-os_lib.adb, libgnat/s-rannum.adb,
|
||
libgnat/s-regpat.adb, libgnat/s-trasym__dwarf.adb,
|
||
libgnat/s-valrea.adb: Ditto.
|
||
|
||
2020-06-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_ch3.adb (Replace_Components): Rename into...
|
||
(Replace_Discriminants): ...this. Replace girder discriminants
|
||
with non-girder ones. Do not replace components.
|
||
* sem_ch13.adb (Check_Record_Representation_Clause): Deal with
|
||
non-girder discriminants correctly.
|
||
|
||
2020-06-02 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* lib-xref-spark_specific.adb (Create_Heap): use a new variant
|
||
of Name_Enter to directly converts String to Make_Id.
|
||
|
||
2020-06-02 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_attr.adb, par-ch4.adb, par-util.adb, scans.ads, scng.adb,
|
||
sem_attr.adb, sem_ch4.adb, sinfo.ads: Typo corrections and minor
|
||
reformatting.
|
||
|
||
2020-06-02 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* snames.ads-tmpl (Name_Img, Attribute_Img): Make it an
|
||
attribute returning renamable functions.
|
||
|
||
2020-06-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb, sem_prag.ads (Set_Overflow_Mode): New procedure
|
||
to set overflow mode.
|
||
|
||
2020-06-02 Piotr Trojanek <trojanek@adacore.com>
|
||
|
||
* contracts.adb, einfo.adb, exp_ch9.adb, sem_ch12.adb,
|
||
sem_ch4.adb, sem_ch7.adb, sem_ch8.adb, sem_elab.adb,
|
||
sem_type.adb, sem_util.adb: Reuse Is_Package_Or_Generic_Package
|
||
where possible (similarly, reuse Is_Concurrent_Type if it was
|
||
possible in the same expressions).
|
||
|
||
2020-05-30 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* Makefile.rtl (ADA_INCLUDE_SRCS): Replace Makefile.adalib by
|
||
libada.gpr and associated project files.
|
||
(g-debpoo.o): Add missing rule to ensure subprograms are not reordered.
|
||
(setup-rts): Add generation of libgnat/libgnarl.lst.
|
||
(LIBGNAT_SRCS): Remove thread.c which is part of libgnarl.
|
||
* tracebak.c, tb-gcc.c: Merged the two files to simplify dependencies.
|
||
* libgnarl/libgnarl.gpr, libgnat/libada.gpr,
|
||
libgnat/libgnat.gpr, libgnat/libgnat_common.gpr: New files.
|
||
* doc/gnat_ugn/the_gnat_compilation_model.rst: Makefile.adalib
|
||
replaced by libada.gpr.
|
||
* libgnat/system-mingw.ads: Remove obsolete comment.
|
||
* gcc-interface/Makefile.in: Remove dependency on tb-gcc.c.
|
||
|
||
2020-05-27 Martin Liska <mliska@suse.cz>
|
||
|
||
* gnatvsn.ads: Bump Library_Version to 11.
|
||
|
||
2020-05-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/95333
|
||
* gcc-interface/decl.c (gnat_to_gnu_param): Never make a variant of
|
||
the type.
|
||
|
||
2020-05-26 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* gcc-interface/lang-specs.h (ADA_DUMPS_OPTIONS): Define in
|
||
terms of DUMPS_OPTIONS. Replace occurrences of %{d*} %:dumps
|
||
with it.
|
||
|
||
2020-05-26 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* gcc-interface/lang-specs.h: Drop auxbase and auxbase-strip.
|
||
Use %:dumps instead of -dumpbase. Add %w for implicit .s
|
||
primary output.
|
||
* switch.adb (Is_Internal_GCC_Switch): Recognize dumpdir and
|
||
dumpbase-ext. Drop auxbase and auxbase-strip.
|
||
|
||
2020-05-25 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_util.adb (Check_No_Hidden_State): Stop propagation at
|
||
first block/task/entry.
|
||
|
||
2020-05-25 Yannick Moy <moy@adacore.com>
|
||
|
||
* doc/gnat_rm/implementation_defined_pragmas.rst: Document
|
||
changes to pragmas Compile_Time_Error/Compile_Time_Warning.
|
||
* gnat_rm.texi: Regenerate.
|
||
* libgnat/g-bytswa.adb: Change uses of Compile_Time_Error to
|
||
Compile_Time_Warning, as the actual expression may not always be
|
||
known statically.
|
||
* sem_prag.adb (Analyze_Pragma): Handle differently pragma
|
||
Compile_Time_Error in both compilation and in GNATprove mode.
|
||
(Validate_Compile_Time_Warning_Or_Error): Issue an error or
|
||
warning when the expression is not known at compile time.
|
||
* usage.adb: Add missing documentation for warning switches _c
|
||
and _r.
|
||
* warnsw.ads: Update comment.
|
||
|
||
2020-05-25 Justin Squirek <squirek@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Return_Obj_Accessibility): Use original
|
||
node to avoid looking at expansion done in GNATprove mode.
|
||
|
||
2020-05-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Add new local variable
|
||
and use it throughout the function.
|
||
<E_Variable>: Rename local variable and adjust accordingly. In the
|
||
case of a renaming, materialize the entity if the renamed object is
|
||
an N_Expression_With_Actions node.
|
||
<E_Procedure>: Use Alias accessor function consistently.
|
||
|
||
2020-05-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/misc.c (get_array_bit_stride): Get to the debug type,
|
||
if any, before calling gnat_get_array_descr_info.
|
||
|
||
2020-05-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Tidy up.
|
||
(build_variant_list): Add GNAT_VARIANT_PART parameter and annotate its
|
||
variants if it is present. Adjust the recursive call by passing the
|
||
variant subpart of variants, if any.
|
||
(copy_and_substitute_in_layout): Rename GNU_SUBST_LIST to SUBST_LIST
|
||
and adjust throughout. For a type, pass the variant part in the
|
||
call to build_variant_list.
|
||
|
||
2020-05-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_component_type): Cap the alignment
|
||
of the component type according to the component size.
|
||
|
||
2020-05-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Add a
|
||
description of the various types associated with the unconstrained
|
||
type. Declare the fat pointer earlier. Set the current function
|
||
as context on the template type, and the fat pointer type on the
|
||
array type. Always mark the fat pointer type as artificial and set
|
||
it as the context for the pointer type to the array. Also reuse
|
||
GNU_ENTITY_NAME. Finish up the unconstrained type at the very end.
|
||
* gcc-interface/misc.c (gnat_get_array_descr_info): Do not handle
|
||
fat pointer types and tidy up accordingly.
|
||
* gcc-interface/utils.c (build_unc_object_type): Do not set the
|
||
context on the template type.
|
||
(gnat_pushdecl): Mark the canonical fat pointer types as artificial.
|
||
|
||
2020-05-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (operand_type): New static inline function.
|
||
* gcc-interface/trans.c (gnat_to_gnu): Do not suppress conversion
|
||
to the resulty type at the end for array types.
|
||
* gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not
|
||
remove conversions between array types on the LHS.
|
||
|
||
2020-05-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_aggr.ads (Is_Single_Aggregate): New function.
|
||
* sem_aggr.adb (Is_Others_Aggregate): Use local variable.
|
||
(Is_Single_Aggregate): New function to recognize an aggregate with
|
||
a single association containing a single choice.
|
||
* fe.h (Is_Others_Aggregate): Delete.
|
||
(Is_Single_Aggregate): New declaration.
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Call
|
||
Is_Single_Aggregate instead of Is_Others_Aggregate.
|
||
|
||
2020-05-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/95035
|
||
* gcc-interface/utils.c (packable_type_hasher::equal): Also compare
|
||
the scalar storage order.
|
||
(hash_packable_type): Also hash the scalar storage order.
|
||
(hash_pad_type): Likewise.
|
||
|
||
2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/*.[ch]: Update copyright year.
|
||
|
||
2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Assert that
|
||
the prefix is not a type.
|
||
|
||
2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Rename into...
|
||
(TYPE_BIT_PACKED_ARRAY_TYPE_P): ...this.
|
||
(TYPE_IS_PACKED_ARRAY_TYPE_P): Rename into...
|
||
(BIT_PACKED_ARRAY_TYPE_P): ...this.
|
||
(TYPE_IMPL_PACKED_ARRAY_P): Adjust to above renaming.
|
||
* gcc-interface/gigi.h (maybe_pad_type): Remove IS_USER_TYPE parameter.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Adjust call
|
||
to maybe_pad_type.
|
||
<E_Ordinary_Fixed_Point_Type>: Remove const qualifiers for tree.
|
||
<E_Signed_Integer_Subtype>: Remove redundant test and redundant call
|
||
to associate_original_type_to_packed_array. Turn test into assertion.
|
||
Call associate_original_type_to_packed_array and modify gnu_entity_name
|
||
accordingly. Explicitly set the parallel type for GNAT encodings.
|
||
Call create_type_decl in the misaligned case before maybe_pad_type.
|
||
<E_Array_Type>: Do not use the name of the implementation type for a
|
||
packed array when not using GNAT encodings.
|
||
<E_Array_Subtype>: Move around setting flags. Use the result of the
|
||
call to associate_original_type_to_packed_array for gnu_entity_name.
|
||
<E_Record_Subtype>: Create XVS type and XVZ variable only if debug
|
||
info is requested for the type.
|
||
Call create_type_decl if a padded type was created for a type entity.
|
||
(gnat_to_gnu_component_type): Use local variable and adjust calls to
|
||
maybe_pad_type.
|
||
(gnat_to_gnu_subprog_type): Adjust call to maybe_pad_type.
|
||
(gnat_to_gnu_field): Likewise.
|
||
(validate_size): Adjust to renaming of macro.
|
||
(set_rm_size): Likewise.
|
||
(associate_original_type_to_packed_array): Adjust return type and
|
||
return the name of the original type if GNAT encodings are not used.
|
||
* gcc-interface/misc.c (gnat_get_debug_typ): Remove obsolete stuff.
|
||
(gnat_get_fixed_point_type_info): Remove const qualifiers for tree.
|
||
(gnat_get_array_descr_info): Likewise and set variables lazily.
|
||
Remove call to maybe_debug_type. Simplify a few computations.
|
||
(enumerate_modes): Remove const qualifier for tree.
|
||
* gcc-interface/utils.c (make_type_from_size): Adjust to renaming.
|
||
(maybe_pad_type): Remove IS_USER_TYPE parameter and adjust. Remove
|
||
specific code for implementation types for packed arrays.
|
||
(compute_deferred_decl_context): Remove const qualifier for tree.
|
||
(convert): Adjust call to maybe_pad_type.
|
||
(unchecked_convert): Likewise.
|
||
* gcc-interface/utils2.c (is_simple_additive_expressio): Likewise.
|
||
|
||
2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Use
|
||
build_nonshared_array_type to build the common type and declare it.
|
||
|
||
2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/misc.c (gnat_init_gcc_eh): Do not override the user
|
||
for -fnon-call-exceptions in default mode.
|
||
|
||
2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (lvalue_required_p) <N_Selected_Component>:
|
||
Merge with N_Slice.
|
||
<N_Allocator>: Move to...
|
||
(lvalue_for_aggregate_p): ...here. New function.
|
||
(Identifier_to_gnu): For an identifier with aggregate type, also
|
||
call lvalue_for_aggregate_p if lvalue_required_p returned false
|
||
before substituting the identifier with the constant.
|
||
|
||
2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu): Do not wrap boolean values if
|
||
they appear in any kind of attribute references.
|
||
|
||
2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Deal
|
||
with qualified "others" aggregates in the memset case.
|
||
|
||
2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_param): Also back-annotate the
|
||
mechanism in the case of an Out parameter only passed by copy-out.
|
||
|
||
2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (change_qualified_type): Move around.
|
||
(maybe_vector_array): Likewise.
|
||
(maybe_padded_object): New static line function.
|
||
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Component_Size>:
|
||
Remove useless code.
|
||
<Attr_Null_Parameter>: Remove obsolete code.
|
||
(Call_to_gn): Likewise. Use maybe_padded_object to remove padding.
|
||
(gnat_to_gnu): Likewise.
|
||
<N_String_Literal>: Do not add a useless null character at the end.
|
||
<N_Indexed_Component>: Likewise and remove obsolete code.
|
||
(add_decl_expr): Likewise.
|
||
(maybe_implicit_deref): Likewise.
|
||
* gcc-interface/utils.c (maybe_unconstrained_array): Likewise.
|
||
* gcc-interface/utils2.c (gnat_invariant_expr): Likewise.
|
||
|
||
2020-05-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c: Include builtins.h.
|
||
(known_alignment) <ADDR_EXPR>: Use DECL_ALIGN for DECL_P operands
|
||
and get_object_alignment for the rest.
|
||
|
||
2020-05-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Force at
|
||
least the unit size for an aliased object of a constrained nominal
|
||
subtype whose size is variable.
|
||
|
||
2020-05-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Deal
|
||
with artificial maximally-sized types designed by access types.
|
||
* gcc-interface/utils.c (packable_type_hash): New structure.
|
||
(packable_type_hasher): Likewise.
|
||
(packable_type_hash_table): New hash table.
|
||
(init_gnat_utils): Initialize it.
|
||
(destroy_gnat_utils): Destroy it.
|
||
(packable_type_hasher::equal): New method.
|
||
(hash_packable_type): New static function.
|
||
(canonicalize_packable_type): Likewise.
|
||
(make_packable_type): Make sure not to use too small a type for the
|
||
size of the new fields. Canonicalize the type if it is named.
|
||
|
||
2020-05-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Raise_Error_to_gnu): Always compute a lower
|
||
bound and an upper bound for use by the -gnateE switch for range and
|
||
comparison operators.
|
||
|
||
2020-05-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_param): Do not make a variant of
|
||
the type in LTO mode.
|
||
|
||
2020-05-04 Mikael Pettersson <mikpelinux@gmail.com>
|
||
|
||
PR bootstrap/94918
|
||
* mingw32.h: Prevent windows.h from including emmintrin.h on Cygwin64.
|
||
* s-oscons-tmplt.c (Serial_Port_Descriptor): Use System.Win32.HANDLE
|
||
also on Cygwin.
|
||
|
||
2020-03-11 Richard Wai <richard@annexi-strayline.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Also test Is_Public on
|
||
the Alias of the entitiy, if it is present, in the main assertion.
|
||
|
||
2020-02-06 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* raise-gcc.c (personality_body) [__ARM_EABI_UNWINDER__]:
|
||
Initialize barrier_cache.sp when ending phase1.
|
||
|
||
2020-01-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnatvsn.ads: Bump copyright year.
|
||
|
||
2020-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
* gnat_ugn.texi: Bump @copying's copyright year.
|
||
* gnat_rm.texi: Likewise.
|
||
|
||
Copyright (C) 2020 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.
|