https://gcc.gnu.org/g:6fb94d67f1a3e77462a922341dc75c05e00524d6 commit 6fb94d67f1a3e77462a922341dc75c05e00524d6 Author: GCC Administrator Date: Tue Jun 16 00:16:28 2020 +0000 Daily bump. Diff: --- gcc/ChangeLog | 83 ++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 351 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/jit/ChangeLog | 6 + gcc/testsuite/ChangeLog | 25 ++++ libgcc/ChangeLog | 6 + libstdc++-v3/ChangeLog | 17 +++ 7 files changed, 489 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7a13b05e117..fa6f22d8b6b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,86 @@ +2020-06-15 Eric Botcazou + + * gimplify.c (gimplify_init_constructor) : Declare + new ENSURE_SINGLE_ACCESS constant and move variables down. If it is + true and all elements are zero, then always clear. Return GS_ERROR + if a temporary would be created for it and NOTIFY_TEMP_CREATION set. + (gimplify_modify_expr_rhs) : If the target is volatile but + the type is aggregate non-addressable, ask gimplify_init_constructor + whether it can generate a single access to the target. + +2020-06-15 Eric Botcazou + + * tree-sra.c (propagate_subaccesses_from_rhs): When a non-scalar + access on the LHS is replaced with a scalar access, propagate the + TYPE_REVERSE_STORAGE_ORDER flag of the type of the original access. + +2020-06-15 Max Filippov + + * config/xtensa/xtensa.c (TARGET_HAVE_TLS): Remove + TARGET_THREADPTR reference. + (xtensa_tls_symbol_p, xtensa_tls_referenced_p): Use + targetm.have_tls instead of TARGET_HAVE_TLS. + (xtensa_option_override): Set targetm.have_tls to false in + configurations without THREADPTR. + +2020-06-15 Max Filippov + + * config/xtensa/elf.h (ASM_SPEC, LINK_SPEC): Pass ABI switch to + assembler/linker. + * config/xtensa/linux.h (ASM_SPEC, LINK_SPEC): Ditto. + * config/xtensa/uclinux.h (ASM_SPEC, LINK_SPEC): Ditto. + * config/xtensa/xtensa.c (xtensa_option_override): Initialize + xtensa_windowed_abi if needed. + * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI_DEFAULT): New + macro. + (TARGET_WINDOWED_ABI): Redefine to xtensa_windowed_abi. + * config/xtensa/xtensa.opt (xtensa_windowed_abi): New target + option variable. + (mabi=call0, mabi=windowed): New options. + * doc/invoke.texi: Document new -mabi= Xtensa-specific options. + +2020-06-15 Max Filippov + + * config/xtensa/xtensa.c (xtensa_can_eliminate): New function. + (TARGET_CAN_ELIMINATE): New macro. + * config/xtensa/xtensa.h + (XTENSA_WINDOWED_HARD_FRAME_POINTER_REGNUM) + (XTENSA_CALL0_HARD_FRAME_POINTER_REGNUM): New macros. + (HARD_FRAME_POINTER_REGNUM): Define using + XTENSA_*_HARD_FRAME_POINTER_REGNUM. + (ELIMINABLE_REGS): Replace lines with HARD_FRAME_POINTER_REGNUM + by lines with XTENSA_WINDOWED_HARD_FRAME_POINTER_REGNUM and + XTENSA_CALL0_HARD_FRAME_POINTER_REGNUM. + +2020-06-15 Felix Yang + + * tree-vect-data-refs.c (vect_verify_datarefs_alignment): Rename + parameter to loop_vinfo and update uses. Use LOOP_VINFO_DATAREFS + when possible. + (vect_analyze_data_refs_alignment): Likewise, and use LOOP_VINFO_DDRS + when possible. + * tree-vect-loop.c (vect_dissolve_slp_only_groups): Use + LOOP_VINFO_DATAREFS when possible. + (update_epilogue_loop_vinfo): Likewise. + +2020-06-15 Kito Cheng + + * config/riscv/riscv.c (riscv_gen_gpr_save_insn): Change type to + unsigned for i. + (riscv_gpr_save_operation_p): Change type to unsigned for i and + len. + +2020-06-15 Hongtao Liu + + PR target/95488 + * config/i386/i386-expand.c (ix86_expand_vecmul_qihi): New + function. + * config/i386/i386-protos.h (ix86_expand_vecmul_qihi): Declare. + * config/i386/sse.md (mul3): Drop mask_name since + there's no real simd int8 multiplication instruction with + mask. Also optimize it under TARGET_AVX512BW. + (mulv8qi3): New expander. + 2020-06-12 Marco Elver * gimplify.c (gimplify_function_tree): Optimize and do not emit diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 0dab8e8132f..3ca7808b314 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20200615 +20200616 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index decf23f9155..3b6735aa1e7 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,354 @@ +2020-06-15 Eric Botcazou + + * sem_eval.ads (Predicates_Match): Fix description. + * sem_eval.adb (Predicates_Match): Rewrite. + +2020-06-15 Ed Falis + + * Makefile.rtl: Change name of hie/g-io__vxworks-ppc-cert.adb. + +2020-06-15 Arnaud Charlet + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * libgnat/a-nbnbin.ads (Big_Positive, Big_Natural): Fix + predicate. + +2020-06-15 Piotr Trojanek + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * contracts.adb (Analyze_Object_Contract): Do not expect + Global/Depends on single protected units. + +2020-06-15 Justin Squirek + + * 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 + + * exp_ch6.adb (Expand_Call_Helper): Replace repeated Ekind with + Ekind_In. + +2020-06-15 Piotr Trojanek + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * sem_util.ads, sem_util.adb (Is_Renaming_Declaration): Remove. + +2020-06-15 Ed Schonberg + + * 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 + + * exp_attr.adb (Expand_N_Attribute_Reference) : + 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 + + * 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 + + * 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 * sem_res.adb (Valid_Conversion): The simpler cases of diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog index 85edad17e98..fc624d7668b 100644 --- a/gcc/jit/ChangeLog +++ b/gcc/jit/ChangeLog @@ -1,3 +1,9 @@ +2020-06-16 Nicolas BĂ©rtolo + + * Make-lang.in: Always define version, minor and release + numbers. Create the Windows shared library as + libgccjit-$(LIBGCCJIT_VERSION_NUM).dll. + 2020-06-03 David Malcolm PR jit/95306 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9da8f3c4835..641b65dbfc7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,28 @@ +2020-06-15 Eric Botcazou + + * gnat.dg/aggr30.ads, gnat.dg/aggr30.adb: New test. + +2020-06-15 Eric Botcazou + + * gnat.dg/opt85.ads, gnat.dg/opt85.adb: New test. + +2020-06-15 Max Filippov + + * gcc.target/xtensa/mabi-call0.c: New test. + * gcc.target/xtensa/mabi-windowed.c: New test. + +2020-06-15 Martin Jambor + + * lib/brig.exp (brig_target_compile): Strip hsail extension when + gnerating the name of the binary brig file. + +2020-06-15 Hongtao Liu + + * gcc.target/i386/avx512bw-pr95488-1.c: New test. + * gcc.target/i386/avx512bw-pr95488-2.c: Ditto. + * gcc.target/i386/avx512vl-pr95488-1.c: Ditto. + * gcc.target/i386/avx512vl-pr95488-2.c: Ditto. + 2020-06-14 Harald Anlauf PR fortran/95088 diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index e3456b657ae..63167c353bf 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,9 @@ +2020-06-15 Max Filippov + + * configure: Regenerate. + * configure.ac: Use AC_COMPILE_IFELSE instead of manual + preprocessor invocation to check for __XTENSA_CALL0_ABI__. + 2020-06-09 Martin Liska PR gcov-profile/95494 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 355747f414c..0ca1b1b39b9 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,20 @@ +2020-06-15 Jonathan Wakely + + * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): + Update value for C++20. + * include/std/version (__cpp_lib_constexpr_char_traits): Likewise. + * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: + Update expected value. + * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: + Likewise. + +2020-06-15 Paul Keir + + * include/bits/char_traits.h (char_traits::move): constexpr move with + overlap was using copy_backward incorrectly. + * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: + New test. + 2020-06-12 Jonathan Wakely * testsuite/29_atomics/atomic_flag/clear/1.cc: Also test clear()