| 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. |