From 3ff1b91e772925caadea2c4a2e40f8cbfb6989d7 Mon Sep 17 00:00:00 2001 From: GCC Administrator Date: Sat, 24 Aug 2024 00:18:13 +0000 Subject: [PATCH] Daily bump. --- gcc/ChangeLog | 81 ++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 181 ++++++++++++++++++++++++++++++++++++++++ gcc/fortran/ChangeLog | 45 ++++++++++ gcc/testsuite/ChangeLog | 59 +++++++++++++ libcpp/ChangeLog | 6 ++ libstdc++-v3/ChangeLog | 108 ++++++++++++++++++++++++ lto-plugin/ChangeLog | 6 ++ 8 files changed, 487 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 49d360ca4af..286120d3c21 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,84 @@ +2024-08-23 Patrick O'Neill + + * config/riscv/riscv-v.cc (rvv_builder::can_duplicate_repeating_sequence_p): + Use encoded_nelts when calling repeating_sequence_p. + (rvv_builder::is_repeating_sequence): Ditto. + (rvv_builder::repeating_sequence_use_merge_profitable_p): Ditto. + +2024-08-23 Manolis Tsamis + + PR rtl-optimization/116372 + PR rtl-optimization/116405 + * ifcvt.cc (noce_convert_multiple_sets): Iterate backwards and track + target registers. + +2024-08-23 Manolis Tsamis + + PR middle-end/116358 + * ifcvt.cc (noce_convert_multiple_sets): Disallow call insns. + +2024-08-23 Peter Bergner + + PR target/116415 + * config/rs6000/rs6000.h (TI_OR_PTI_MODE): New define. + * config/rs6000/rs6000-p8swap.cc (rs6000_analyze_swaps): Use it to + handle PTImode identically to TImode. + +2024-08-23 Richard Biener + + PR tree-optimization/116463 + * tree-complex.cc: Include tree-ssa-dce.h. + (dce_worklist): New global. + (update_complex_assignment): Add SSA def to the DCE worklist. + (tree_lower_complex): Perform DCE. + +2024-08-23 Pan Li + + * match.pd: Add form 4 for unsigned .SAT_TRUNC matching. + +2024-08-23 Robin Dapp + + PR middle-end/115495 + * cfgexpand.cc (expand_debug_expr): Require mode. + * combine.cc (make_extraction): Ditto. + * config/aarch64/aarch64.cc (aarch64_expand_cpymem): Ditto. + (aarch64_expand_setmem): Ditto. + * config/arc/arc.cc (arc_expand_cpymem): Ditto. + * config/arm/arm.cc (arm_expand_divmod_libfunc): Ditto. + * config/i386/i386.cc (ix86_get_mask_mode): Ditto. + * config/rs6000/predicates.md: Ditto. + * config/rs6000/rs6000.cc (vspltis_constant): Ditto. + * config/s390/s390.cc (s390_expand_insv): Ditto. + * config/sparc/sparc.cc (assign_int_registers): Ditto. + * coverage.cc (get_gcov_type): Ditto. + (get_gcov_unsigned_t): Ditto. + * dse.cc (find_shift_sequence): Ditto. + * expmed.cc (store_integral_bit_field): Ditto. + * expr.cc (convert_mode_scalar): Ditto. + (op_by_pieces_d::smallest_fixed_size_mode_for_size): Ditto. + (emit_block_move_via_oriented_loop): Ditto. + (copy_blkmode_to_reg): Ditto. + (store_field): Ditto. + * internal-fn.cc (expand_arith_overflow): Ditto. + * machmode.h (HAVE_MACHINE_MODES): Ditto. + (smallest_mode_for_size): Use opt_machine_mode. + (smallest_int_mode_for_size): Use opt_scalar_int_mode. + * optabs-query.cc (get_best_extraction_insn): Require mode. + * optabs.cc (expand_twoval_binop_libfunc): Ditto. + * stor-layout.cc (smallest_mode_for_size): Return + opt_machine_mode. + (layout_type): Require mode. + (initialize_sizetypes): Ditto. + * tree-ssa-loop-manip.cc (canonicalize_loop_ivs): Ditto. + +2024-08-23 Robin Dapp + + * config/riscv/autovec.md (abs2): Expand via max (a, -a). + +2024-08-23 Gerald Pfeifer + + * doc/gm2.texi (License): Specifically link to GPL v3.0 + 2024-08-22 Jeff Law PR rtl-optimization/116420 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index cd765ecede6..8df515083dd 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20240823 +20240824 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 2269b2fd6df..b9a6f0d33a8 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,184 @@ +2024-08-23 Robin Dapp + + PR middle-end/115495 + * gcc-interface/utils2.cc (fast_modulo_reduction): Require mode. + (nonbinary_modular_operation): Ditto. + +2024-08-23 Eric Botcazou + + * gcc-interface/misc.cc (gnat_get_array_descr_info): Test the + BIT_PACKED_ARRAY_TYPE_P flag only once on the final debug type. In + the case of records containing a template, replay the entire + processing for the array type contained therein. + +2024-08-23 Javier Miranda + + * scng.adb (Scan): Call Error_Msg_GNAT_Extension() to report an + error, when the sources are compiled without Core_Extensions_ + Allowed, and the scanner detects the beginning of an interpolated + string. + +2024-08-23 Sebastian Poeplau + + * libgnat/s-dwalin.adb (Symbolic_Address): Ignore symbol size in + address-to-symbol translation for PECOFF files. + +2024-08-23 Javier Miranda + + * exp_attr.adb (Expand_N_Attribute_Reference: [Put_Image]): Add + support for custom string types. + * exp_ch2.adb (Expand_N_Interpolated_String_Literal): Add a type + conversion to the result object declaration of custom string + types. + * exp_put_image.adb (Build_String_Put_Image_Call): Handle custom + string types. + +2024-08-23 Steve Baird + + * sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Generate + error if an aspect specification specifies the + Implicit_Dereference aspect of a non-first subtype. + +2024-08-23 Steve Baird + + * checks.adb (Is_Signed_Integer_Arithmetic_Op): Return True in the + case of relational operator whose operands are of a signed integer + type. + +2024-08-23 Viljar Indus + + * libgnat/a-coinho__shared.ads: add limited keyword. + * libgnat/g-awk.adb: add limited keyword. + * libgnat/g-comlin.ads: add limited keyword. + * libgnat/s-excmac__arm.ads: add limited keyword. + * libgnat/s-excmac__gcc.ads: add limited keyword. + * libgnat/s-soflin.ads: add limited keyword. + +2024-08-23 Viljar Indus + + * sem_ch3.adb: Add method Check_Inherited_Limted_Record for + emitting the warning for an inherited limited type. + * warnsw.adb: Add processing for the -gnatw_l switch that + triggeres the inheritly limited type warning. + * warnsw.ads: same as above. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add + entry for -gnatw_l switch. + * gnat_ugn.texi: Regenerate. + +2024-08-23 Javier Miranda + + * sem_ch6.adb (Check_Private_Overriding): Improve code detecting + error on private function with controlling result. Fixes the + regression of ACATS bde0003. + +2024-08-23 Piotr Trojanek + + * checks.ads, cstand.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb, + exp_dbug.adb, exp_util.adb, gnatlink.adb, lib-util.adb, + libgnat/a-except.adb, libgnat/a-exexpr.adb, libgnat/a-ngcoar.adb, + libgnat/s-rannum.adb, libgnat/s-trasym__dwarf.adb, osint.adb, + rtsfind.adb, sem_case.adb, sem_ch12.adb, sem_ch13.adb, + sem_ch3.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb, + sem_util.adb: Fix style. + +2024-08-23 Piotr Trojanek + + * checks.adb (Ensure_Valid): Remove detection of boolean and + short-circuit operators. + (Expr_Known_Valid): Detect short-circuit operators; detection of + boolean operators was already done in this routine. + +2024-08-23 Piotr Trojanek + + * checks.adb (Ensure_Valid): Use Find_Actual. + +2024-08-23 Piotr Trojanek + + * checks.adb (Ensure_Valid): Use First_Actual/Next_Actual. + * exp_ch6.adb (Is_Direct_Deep_Call): Likewise. + * exp_util.adb (Type_Of_Formal): Likewise. + * sem_util.adb (Is_Container_Element): Likewise; cleanup + membership test by using a subtype. + +2024-08-23 Javier Miranda + + * sem_ch13.adb (Analyze_One_Aspect): Temporarily remove reporting + an error when the new aspect is set to True and the extensions are + not enabled. + +2024-08-23 Javier Miranda + + * exp_util.ads (Is_Expanded_Class_Wide_Interface_Object_Decl): New + subprogram. + * exp_util.adb (Is_Expanded_Class_Wide_Interface_Object_Decl): + ditto. + * sem_util.adb (Is_Aliased_View): Handle expanded class-wide type + object declaration. + * checks.adb (Is_Aliased_Unconstrained_Component): Protect the + frontend against calling Is_Aliased_View with Empty. Found working + on this issue. + +2024-08-23 Javier Miranda + + * aspects.ads (Aspect_First_Controlling_Parameter): New aspect. + Defined as implementation defined aspect that has a static boolean + value and it is converted to pragma when the value is True. + * einfo.ads (Has_First_Controlling_Parameter): New attribute. + * exp_ch9.adb (Build_Corresponding_Record): Propagate the aspect + to the corresponding record type. + (Expand_N_Protected_Type_Declaration): Analyze the inherited + aspect to add the pragma. + (Expand_N_Task_Type_Declaration): ditto. + * freeze.adb (Warn_If_Implicitly_Inherited_Aspects): New + subprogram. + (Has_First_Ctrl_Param_Aspect): New subprogram. + (Freeze_Record_Type): Call Warn_If_Implicitly_Inherited_Aspects. + (Freeze_Subprogram): Check illegal subprograms of tagged types and + interface types that have this new aspect. + * gen_il-fields.ads (Has_First_Controlling_Parameter): New entity + field. + * gen_il-gen-gen_entities.adb (Has_First_Controlling_Parameter): + The new field is a semantic flag. + * gen_il-internals.adb (Image): Add + Has_First_Controlling_Parameter. + * par-prag.adb (Prag): No action for + Pragma_First_Controlling_Parameter since processing is handled + entirely in Sem_Prag. + * sem_ch12.adb (Validate_Private_Type_Instance): When the generic + formal has this new aspect, check that the actual type also has + this aspect. + * sem_ch13.adb (Analyze_One_Aspect): Check that the aspect is + applied to a tagged type or a concurrent type. + * sem_ch3.adb (Analyze_Full_Type_Declaration): Derived tagged + types inherit this new aspect, and also from their implemented + interface types. + (Process_Full_View): Propagate the aspect to the full view. + * sem_ch6.adb (Is_A_Primitive): New subprogram; used to factor + code and also clarify detection of primitives. + * sem_ch9.adb (Check_Interfaces): Propagate this new aspect to the + type implementing interface types. + * sem_disp.adb (Check_Controlling_Formals): Handle tagged type + that has the aspect and has subprograms overriding primitives of + tagged types that lack this aspect. + (Check_Dispatching_Operation): Warn on dispatching primitives + disallowed by this new aspect. + (Has_Predefined_Dispatching_Operation_Name): New subprogram. + (Find_Dispatching_Type): Handle dispatching functions of tagged + types that have the new aspect. + (Find_Primitive_Covering_Interface): For primitives of tagged + types that have the aspect and override a primitive of a parent + type that does not have the aspect, we must temporarily unset + attribute First_Controlling_ Parameter to properly check + conformance. + * sem_prag.ads (Aspect_Specifying_Pragma): Add new pragma. + * sem_prag.adb (Pragma_First_Controlling_Parameter): Handle new + pragma. + * snames.ads-tmpl (Name_First_Controlling_Parameter): New name. + * warnsw.ads (Warn_On_Non_Dispatching_Primitives): New warning. + * warnsw.adb (Warn_On_Non_Dispatching_Primitives): New warning; + not set by default when GNAT_Mode warnings are enabled, nor when + all warnings are enabled (-gnatwa). + 2024-08-19 Arsen Arsenović PR ada/115917 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index cbc17e9a59d..c3335b9d339 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,48 @@ +2024-08-23 Paul Thomas + + Revert: + 2024-08-06 Paul Thomas + + PR fortran/102689 + * trans-array.cc (get_array_ref_dim_for_loop_dim): Use the arg1 + class container carried in ss->info as the seed for a lhs in + class valued transformational intrinsic calls that are not the + rhs of an assignment. Otherwise, the lhs variable expression is + taken from the loop chain. For this latter case, the _vptr and + _len fields are set. + (gfc_trans_create_temp_array): Use either the lhs expression + seeds to build a class variable that will take the returned + descriptor as its _data field. In the case that the arg1 expr. + is used, a class typespec must be built with the correct rank + and the _vptr and _len fields set. The element size is provided + for the temporary allocation and to set the descriptor span. + (gfc_array_init_size): When an intrinsic type scalar expr3 is + used in allocation of a class array, use its element size in + the descriptor dtype. + * trans-expr.cc (gfc_conv_class_to_class): Class valued + transformational intrinsics return the pointer to the array + descriptor as the _data field of a class temporary. Extract + directly and return the address of the class temporary. + (gfc_conv_procedure_call): store the expression for the first + argument of a class valued transformational intrinsic function + in the ss info class_container field. Later, use its type as + the element type in the call to gfc_trans_create_temp_array. + (fcncall_realloc_result): Add a dtype argument and use it in + the descriptor, when available. + (gfc_trans_arrayfunc_assign): For class lhs, build a dtype with + the lhs rank and the rhs element size and use it in the call to + fcncall_realloc_result. + +2024-08-23 Gerald Pfeifer + + * invoke.texi (Code Gen Options): Add a missing word. + +2024-08-23 Andre Vehreschild + + PR fortran/86468 + * trans-stmt.cc (trans_associate_var): Remove superfluous + view_convert. + 2024-08-21 Andre Vehreschild PR fortran/86468 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index aafde131efc..a74c9c80853 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,62 @@ +2024-08-23 Manolis Tsamis + + PR rtl-optimization/116372 + PR rtl-optimization/116405 + * gcc.dg/pr116372.c: New test. + * gcc.dg/pr116405.c: New test. + +2024-08-23 Manolis Tsamis + + PR middle-end/116358 + * gcc.target/aarch64/pr116358.c: New test. + +2024-08-23 Peter Bergner + + PR target/116415 + * gcc.target/powerpc/pr116415.c: New test. + +2024-08-23 Paul Thomas + + Revert: + 2024-08-23 Paul Thomas + + PR fortran/102689 + * gfortran.dg/class_transformational_1.f90: New test for class- + valued reshape. + * gfortran.dg/class_transformational_2.f90: New test for other + class_valued transformational intrinsics. + +2024-08-23 Robin Dapp + + PR middle-end/115495 + * gcc.target/riscv/rvv/autovec/pr115495.c: New test. + +2024-08-23 Robin Dapp + + * gcc.target/riscv/rvv/autovec/unop/abs-rv32gcv.c: Adjust test + expectation. + * gcc.target/riscv/rvv/autovec/unop/abs-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/abs-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-8.c: Ditto. + +2024-08-23 Bernd Edlinger + + PR other/116462 + * gcc.dg/debug/dwarf2/inline7.c: Reduce test expectations. + +2024-08-23 Andrew Pinski + + PR testsuite/116461 + * gcc.dg/vect/vect-mod-var.c: Change the initialization loop so that + `b[i]` is never 0. Use 1 in those places. + 2024-08-22 Andrew Pinski PR testsuite/116464 diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 963cdb72eaa..a0f450d64c2 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,9 @@ +2024-08-23 Alexander Monakov + + PR preprocessor/116458 + * charset.cc (_cpp_convert_input): Bump padding to 64 if + HAVE_SSSE3. + 2024-08-22 Marc Poulhiès * lex.cc(search_line_ssse3): fix static_assert to use 2 arguments. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 851827d014f..48309c25e80 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,111 @@ +2024-08-23 Jonathan Wakely + + * doc/xml/manual/documentation_hacking.xml: Update minimum + Doxygen version. + * doc/html/*: Regenerate. + +2024-08-23 Jonathan Wakely + + * include/std/tuple: Do not include implementation details in + Doxygen documentation. + +2024-08-23 Jonathan Wakely + + * include/bits/alloc_traits.h: Improve doxygen docs for + allocator_traits specializations. + * include/bits/memory_resource.h: Likewise. + +2024-08-23 Jonathan Wakely + + * include/std/optional (__is_derived_from_optional): New + concept. + (operator<=>): Use __is_derived_from_optional. + * testsuite/20_util/optional/relops/lwg3746.cc: New test. + +2024-08-23 Jonathan Wakely + + * include/bits/locale_classes.tcc (__try_use_facet): Also avoid + dynamic_cast for const-qualified facet types. + +2024-08-23 Jonathan Wakely + + PR libstdc++/108619 + * include/bits/alloc_traits.h (__allocator_traits_base): Add + variable templates for detecting which allocator operations are + supported. + (allocator_traits): Use 'if constexpr' instead of dispatching to + overloads constrained with enable_if. + (allocator_traits>::construct): Use Construct if + construct_at is not supported. Use + __is_nothrow_new_constructible for noexcept-specifier. + (allocator_traits>::construct): Use + __is_nothrow_new_constructible for noexcept-specifier. + * include/bits/new_allocator.h (construct): Likewise. + * include/ext/malloc_allocator.h (construct): Likewise. + * include/std/type_traits (__is_nothrow_new_constructible): New + variable template. + * testsuite/20_util/allocator/89510.cc: Adjust expected results. + * testsuite/ext/malloc_allocator/89510.cc: Likewise. + * testsuite/ext/new_allocator/89510.cc: Likewise. + * testsuite/20_util/allocator_traits/members/108619.cc: New test. + +2024-08-23 Jonathan Wakely + + * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): + Ignore modifiers unless the formatting locale is not the C + locale. + (__formatter_chrono::_M_d_e): Likewise. + (__formatter_chrono::_M_H_I): Likewise. + (__formatter_chrono::_M_m): Likewise. + (__formatter_chrono::_M_M): Likewise. + (__formatter_chrono::_M_S): Likewise. + (__formatter_chrono::_M_u_w): Likewise. + (__formatter_chrono::_M_U_V_W): Likewise. + +2024-08-23 Jonathan Wakely + + PR libstdc++/115939 + * include/bits/hashtable_policy.h (_Node_iterator): Add + operator== and operator!=. + (_Node_const_iterator): Likewise. + * testsuite/23_containers/unordered_map/115939.cc: New test. + +2024-08-23 Giovanni Bajo + Jonathan Wakely + + PR libstdc++/88935 + * include/bits/stl_algo.h (random_shuffle) [RAND_MAX < INT_MAX]: + Use xorshift instead of rand(). + * testsuite/25_algorithms/random_shuffle/88935.cc: New test. + +2024-08-23 Jonathan Wakely + + PR c++/116369 + * include/debug/safe_base.h (_Safe_sequence_base::_M_iterators): + Add mutable specifier. + (_Safe_sequence_base::_M_const_iterators): Likewise. + +2024-08-23 Jonathan Wakely + + * src/c++11/debug.cc: Replace throw() with noexcept. + +2024-08-23 Jonathan Wakely + + * include/std/variant [C++20] (_Uninitialized): Always use the + primary template. + [C++20] (__get_n): Access the _M_storage member directly. + +2024-08-23 Jonathan Wakely + + PR libstdc++/115098 + * include/bits/stl_bvector.h (_Bit_reference): Make default + constructor private. Declare vector and bit iterators as + friends. + * include/std/bitset (bitset::reference): Make constructor and + data members private. + * testsuite/20_util/bitset/115098.cc: New test. + * testsuite/23_containers/vector/bool/115098.cc: New test. + 2024-08-22 Patrick Palka * testsuite/25_algorithms/contains/1.cc: Verify value of diff --git a/lto-plugin/ChangeLog b/lto-plugin/ChangeLog index 061fe536249..6280597a93e 100644 --- a/lto-plugin/ChangeLog +++ b/lto-plugin/ChangeLog @@ -1,3 +1,9 @@ +2024-08-23 H.J. Lu + + PR lto/116361 + * lto-plugin.c (claim_file_handler_v2): Don't check obj.found + for the offload section. + 2024-08-22 H.J. Lu PR lto/116361