diff options
author | GCC Administrator <gccadmin@gcc.gnu.org> | 2020-06-16 00:16:28 +0000 |
---|---|---|
committer | GCC Administrator <gccadmin@gcc.gnu.org> | 2020-06-16 00:16:28 +0000 |
commit | 6fb94d67f1a3e77462a922341dc75c05e00524d6 (patch) | |
tree | 48a30e56442bf9422aaf4c9a58ef93ffa1fa5042 /gcc/ada/ChangeLog | |
parent | f8d6596c791562442c5bdb9656b6ba7c830c3e62 (diff) | |
download | gcc-6fb94d67f1a3e77462a922341dc75c05e00524d6.zip gcc-6fb94d67f1a3e77462a922341dc75c05e00524d6.tar.gz gcc-6fb94d67f1a3e77462a922341dc75c05e00524d6.tar.bz2 |
Daily bump.
Diffstat (limited to 'gcc/ada/ChangeLog')
-rw-r--r-- | gcc/ada/ChangeLog | 351 |
1 files changed, 351 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index decf23f9..3b6735a 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,354 @@ +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 |