diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b4f56beddad..15067e97be5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,77 @@ +2024-08-02 Marek Polacek + + * doc/invoke.texi: Document that -Wdangling-reference is + enabled by -Wextra. + +2024-08-02 Andrew Pinski + + PR middle-end/116058 + * genemit.cc (struct clobber_pat): Change pattern to be rtvec. + Add code field. + (gen_insn): Look through an explicit parallel if there was one. + Update store to new clobber_pat. + (output_add_clobbers): Update call to gen_exp for the changed + clobber_pat. + +2024-08-02 Patrick O'Neill + + * config/riscv/sync-rvwmo.md: Add conditional length attributes. + * config/riscv/sync-ztso.md: Ditto. + * config/riscv/sync.md: Fix incorrect insn length attributes and + reformat existing conditional checks. + +2024-08-02 Jennifer Schmitz + + * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement + fusion logic. + * config/aarch64/aarch64-fusion-pairs.def (cmp+csel): New entry. + (cmp+cset): Likewise. + * config/aarch64/tuning_models/neoversev2.h: Enable logic in + field fusible_ops. + +2024-08-02 Richard Sandiford + + PR rtl-optimization/116145 + * rtlanal.cc (may_trap_p_1): Trust MEM_NOTRAP_P even for code + movement if MEM_READONLY_P is also true. + +2024-08-02 Andrew Pinski + + PR tree-optimization/116156 + * tree-ssa-forwprop.cc (pass_forwprop::execute): Don't add + uses if the statement was a debug statement. + +2024-08-02 Lingling Kong + + * config/i386/constraints.md: Fixed the comment/naming for je/jM/jO. + * config/i386/predicates.md (apx_ndd_memory_operand): Renamed and + fixed the comment. + (apx_evex_memory_operand): New name. + (apx_ndd_add_memory_operand): Ditto. + (apx_evex_add_memory_operand): Ditto. + +2024-08-02 Lingling Kong + + * config/i386/i386.md (nf_mem_constraint): Fixed the constraint + for the define_subst_attr. + (nf_mem_constraint): Added new define_subst_attr. + (*add_1): Fixed the constraint. + +2024-08-02 Yang Yujie + + * config/loongarch/genopts/gen-evolution.awk: Do not use + "length()" to compute the size of an array. + +2024-08-02 Pengxuan Zheng + + PR target/113860 + * config/aarch64/aarch64-simd.md (popcount2): Add TARGET_SVE + support. + * config/aarch64/aarch64-sve.md (@aarch64_pred_): Use new + iterator SVE_VDQ_I. + * config/aarch64/iterators.md (SVE_VDQ_I): New mode iterator. + (VPRED): Add V8QI, V16QI, V4HI, V8HI and V2SI. + 2024-08-01 Robin Dapp PR target/116149 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index ba6415cbd75..613753ee8b5 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20240802 +20240803 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 524d324092c..00738119ba7 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,291 @@ +2024-08-02 Yannick Moy + + * aspects.adb (Find_Aspect): Take into account the case of a node + of kind N_Defining_Program_Unit_Name. + * sem_ch10.adb (Analyze_Compilation_Unit): Copy the SPARK aspect + from the spec to the body. Delay semantic analysis after that + point to ensure that SPARK_Mode is properly analyzed. + +2024-08-02 Piotr Trojanek + + * exp_aggr.adb (Add_Loop_Actions): Actions are now attached to + iterated component association just like they are attached to + ordinary component association. + (Build_Array_Aggr_Code): If resolution of the array aggregate + generated some actions, e.g. for run-time checks, then we must + keep them; same for the Other_Clause. + * sem_aggr.adb (Resolve_Iterated_Component_Association): Unset + references to iterator variable in loop actions (which might come + from run-time check), just these references are unset in the + expression itself. + +2024-08-02 Piotr Trojanek + + * exp_util.adb (Insert_Actions): Remove null ELSE branch. + +2024-08-02 Piotr Trojanek + + * exp_aggr.adb (Add_Loop_Actions): Change manipulation of list + to avoid unnecessary calls to Parent and Loop_Actions. + +2024-08-02 Piotr Trojanek + + * exp_util.adb (Insert_Actions): Move negation in front of + complex conjunctions. + +2024-08-02 Piotr Trojanek + + * exp_aggr.adb (Gen_Assign): Fix layout. + * sem_aggr.adb (Empty_Range): Reuse Choice_List. + +2024-08-02 Gary Dismukes + + * exp_aggr.adb + (Expand_Container_Aggregate.Expand_Iterated_Component): Set the + Reverse_Present flag when creating the loop's iteration_scheme. + * gen_il-gen-gen_nodes.adb: Add flag Reverse_Present to + N_Iterated_Component_Association nodes. + * par-ch3.adb (P_Constraint_Op): Remove testing for and ignoring + of Tok_In following a constraint. It's allowed for "in" to follow + a constraint of loop_parameter_subtype_indication of an + iterator_specification, so it shouldn't be ignored. + * par-ch4.adb (P_Iterated_Component_Association): Account for + "reverse" following the "in" in an iterated_component_association, + and set the Reverse_Present flag on the + N_Iterated_Component_Association node. Add handling for a ":" + following the identifier in an iterator_specification of an + iterated_element_association, sharing the code with the "of" case + (which backs up to the identifier at the beginning of the + iterator_specification). Fix incorrect trailing comment following + the call to Scan. + (Build_Iterated_Element_Association): Set the Reverse_Present flag + on an N_Loop_Parameter_Specification node of an + N_Iterated_Element_Association. + * par-ch5.adb (P_Iterator_Specification): Remove error-recovery + and error code that reports "subtype indication is only legal on + an element iterator", as that error can no longer be emitted (and + was formerly only reported on one fixedbugs test). + * sem_aggr.adb + (Resolve_Container_Aggregate.Resolve_Iterated_Association): When + creating an N_Iterator_Specification for an + N_Iterated_Component_Association, set the Reverse_Present flag of + the N_Iterated_Specification from the flag on the latter. + * sinfo.ads: Add comments for the Reverse_Present flag, which is + now allowed on nodes of kind N_Iterated_Component_Association. + +2024-08-02 Eric Botcazou + + * sem_ch12.adb (Analyze_Subprogram_Instantiation): Propagate the + No_Raise flag like the No_Return flag. + +2024-08-02 Ronan Desplanques + + * exp_aggr.adb (Expand_Container_Aggregate): Remove variables. + (To_Int): New function. + (Add_Range_Size): Use newly introduced function. + +2024-08-02 Yannick Moy + + * libgnat/a-strunb.adb (Sum, Saturated_Sum, Saturated_Mul): Adapt + function signatures to more precise types that allow proof. + (function "&"): Conditionally assign a slice to avoid possible + overflow which only occurs when the assignment is a noop (because + the slice is empty in that case). + (Append): Same. + (function "*"): Retype K to avoid a possible overflow. Add early + return on null length for proof. + (Delete): Fix implementation to return the correct result in all + cases allowed by the Ada standard. + (Insert): Same. Also avoid possible overflows. + (Length): Rewrite as expression function for proof. + (Overwrite): Avoid possible overflows. + (Slice): Same. + (To_String): Rewrite as expression function for proof. + * libgnat/a-strunb.ads: Extend Assertion_Policy to new contracts + used. Add complete functional contracts to all subprograms of the + public API except Count. + * libgnat/a-strunb__shared.adb (Sum): Adapt function signature to + more precise types that allow proof. + (function "&"): Conditionally assign a slice to avoid possible + overflow. + (function "*"): Retype K to avoid a possible overflow. + (Delete): Fix implementation to return the correct result in all + cases allowed by the Ada standard. + (Insert): Avoid possible overflows. + (Overwrite): Avoid possible overflows. + (Replace_Slice): Same. + (Slice): Same. + (To_String): Rewrite as expression function for proof. + * libgnat/a-strunb__shared.ads: Extend Assertion_Policy to new + contracts used. Add complete functional contracts to all + subprograms of the public API except Count. Mark public part of + spec as in SPARK. + +2024-08-02 Ronan Desplanques + + * scng.adb (Slit): Initialize object in uncommon path. + +2024-08-02 Richard Kenner + + * exp_ch4.adb (Generate_Temporary): Remove unused procedure. + +2024-08-02 Richard Kenner + + * einfo-utils.ads (Is_Finalizer): Delete. + * einfo-utils.adb (Is_Finalizer): Delete. + * einfo.ads: Adjust comment. + * gen_il-fields.ads, gen_il-gen-gen_entities.adb: Add Is_Finalizer + flag. + * exp_ch3.adb (Build_Init_Procedure): Set it. + * exp_ch7.adb (Create_Finalizer): Likewise. + * exp_util.adb (Try_Inline_Always): New function. + * exp_util.ads (Try_Inline_Always): New function. + * sem_elab.adb (Is_Finalizer_Proc): Replace with Is_Finalizer. + +2024-08-02 Tonu Naks + + * libgnat/a-calend.adb: Modify unix time handling. + +2024-08-02 Tonu Naks + + * doc/gnat_rm/implementation_defined_pragmas.rst: Add examples. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-08-02 Javier Miranda + + * gen_il-fields.ads (Is_Interpolated_String_Literal): New field. + * gen_il-gen-gen_nodes.adb (Is_Interpolated_String_Literal): The + new field is a flag handled by the parser (syntax flag). + * par-ch2.adb (P_Interpolated_String_Literal): Decorate the new + flag. + * sem_ch2.adb (Analyze_Interpolated_String_Literal): Improve code + detecting and reporting ambiguous function calls. + * sem_res.adb (Resolve_Interpolated_String_Literal): Restrict + resolution imposed by the context type to string literals that + have the new flag. + * sinfo.ads (Is_Interpolated_String_Literal): New field defined in + string literals. Fix documentation of the syntax rule of + interpolated string literal. + +2024-08-02 Steve Baird + + * sem_ch5.adb (Analyze_Assignment): Delete code that was + incorrectly implementing a preference rule. + +2024-08-02 Eric Botcazou + + * exp_ch7.adb (Relaxed Finalization): New paragraph in head + comment. + * sem_ch13.adb (Validate_Finalizable_Aspect): Give an error + message if strict finalization is required but not supported by + the runtime. + +2024-08-02 Viljar Indus + + * sem_util.adb (Set_Referenced_Modified): Set referenced as LHS + for the prefixes of array slices. + +2024-08-02 Steve Baird + + * sem_ch8.adb (Find_Type): If Is_Current_Instance returns True for + N (and Comes_From_Source (N) is also True) then flag an error. + Call Is_Current_Instance (twice) instead of duplicating (twice) + N_Access_Definition-related code in Is_Current_Instance. + * sem_util.adb (Is_Current_Instance): Implement + access-type-related clauses of the RM 8.6 current instance rule. + For pragmas Predicate and Predicate_Failure, distinguish between + the first and subsequent pragma arguments. + +2024-08-02 Steve Baird + + * sem_res.adb (Valid_Conversion): Test In_Instance instead of + In_Instance_Body. + +2024-08-02 Eric Botcazou + + * aspects.ads (Aspect_Id): Add Aspect_No_Raise identifier. + (Implementation_Defined_Aspect): Add True for Aspect_No_Raise. + (Is_Representation_Aspect): Add False for Aspect_No_Raise. + (Aspect_Names): Add Name_No_Raise for Aspect_No_Raise. + (Aspect_Delay): Add Always_Delay for Aspect_No_Raise. + * checks.ads (Raise_Checks_Suppressed): New function. + (Apply_Raise_Check): New procedure. + * checks.adb (Apply_Raise_Check): New procedure. + (Raise_Checks_Suppressed): New function. + * doc/gnat_rm/gnat_language_extensions.rst (Generalized + Finalization): Update. + * doc/gnat_rm/implementation_defined_aspects.rst (No_Raise): New. + * doc/gnat_rm/implementation_defined_characteristics.rst (Check + names): Document Raise_Check and alphabetize others. + * doc/gnat_rm/implementation_defined_pragmas.rst (No_Raise): New. + * einfo.ads (No_Raise): New flag defined in subprograms and + generic subprograms. + * exp_ch6.adb (Expand_N_Subprogram_Body): Call Apply_Raise_Check + at the end of the processing. + * exp_ch11.adb (Get_RT_Exception_Name): Add alternative for + PE_Raise_Check_Failed to case statement. + * gen_il-fields.ads (Opt_Field_Enum): Add No_Raise identifier. + * gen_il-gen-gen_entities.adb (Subprogram_Kind): Add No_Raise as + semantical flag. + (Generic_Subprogram_Kind): Likewise. + * par-prag.adb (Prag): Add alternative for Pragma_No_Raise to case + statement. + * sem_ch13.adb (Validate_Finalizable_Aspect): Set No_Raise on the + Adjust and Finalize primitives if Relaxed_Finalization is set. + * sem_prag.adb (Analyze_Pragma): Add alternative for + Pragma_No_Raise to case statement. + (Sig_Flag): Add 0 for Pragma_No_Raise. + * snames.ads-tmpl (Remaining pragma names): Add Name_No_Raise. + (Names of recognized checks): Add Name_Raise_Check. + (Pragma_Id): Add Pragma_No_Raise identifier. + * types.ads (Raise_Check): New named number. + (All_Checks): Adjust. + (RT_Exception_Code): Add PE_Raise_Check_Failed identifier. + (Rkind): Add PE_Reason for PE_Raise_Check_Failed and alphabetize. + * types.h (RT_Exception_Code): Add PE_Raise_Check_Failed as 38. + (LAST_REASON_CODE): Adjust. + * libgnat/a-except.adb (Rcheck_PE_Raise_Check): New procedure with + pragmas Export, No_Return and Machine_Attributes. + (Rmsg_38): New string constant. + * gnat_rm.texi: Regenerate. + +2024-08-02 Johannes Kliemann + + * doc/gnat_rm/standard_library_routines.rst: Add note to section + of Ada.Numerics.Discrete_Random and Ada.Numerics.Float_Random. + * doc/gnat_rm/the_gnat_library.rst: Add note to section about + GNAT.Random_Numbers. + * libgnat/a-nudira.ads: Add note about cryptographic properties. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-08-02 Ronan Desplanques + + * doc/gnat_rm/gnat_language_extensions.rst: Fix layout of section. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-08-02 Eric Botcazou + + * exp_util.ads (Is_Conversion_Or_Reference_To_Formal): New + function declaration. + * exp_util.adb (Is_Conversion_Or_Reference_To_Formal): New + function body. + * exp_ch6.adb (Expand_Simple_Function_Return): Call the predicate + Is_Conversion_Or_Reference_To_Formal in order to decide whether a + tag check or reassignment is needed. + * freeze.adb (Should_Freeze_Type): Move declaration and body to + the appropriate places. Also return True for tagged results + subject to the expansion done in Expand_Simple_Function_Return + that is guarded by the predicate + Is_Conversion_Or_Reference_To_Formal. + +2024-08-02 Ronan Desplanques + + * sem_ch5.adb (Analyze_Loop_Statement): Fix loop pattern detection + code. Fix typo. + 2024-08-01 Yannick Moy * libgnat/a-strunb.adb (Realloc_For_Chunk): Fix computation of new diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index f91f1bb6379..8c6838efef3 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,7 @@ +2024-08-02 Marek Polacek + + * c.opt (Wdangling-reference): Move from -Wall to -Wextra. + 2024-07-30 Paul-Antoine Arras * c-format.cc (gcc_gfc_char_table): Add formats for tree objects. diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index a05fbecfa50..a14c0593e77 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,8 @@ +2024-08-02 Martin Uecker + + * c-decl.cc (grokdeclarator, finish_struct): Set and + propagate TYPE_TYPELESS_STORAGE. + 2024-07-23 Andi Kleen PR c/83324 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 70406b6f373..694ab820e25 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,47 @@ +2024-08-02 Arsen Arsenović + + PR c++/105475 + * coroutines.cc (struct coroutine_info): Add from_address. + Carries the from_address member we looked up earlier. + (coro_resume_identifier): Remove. Unused. + (coro_init_identifiers): Do not initialize the above. + (void_coro_handle_address): New variable. Contains the baselink + for the std::coroutine_handle::address() instance method. + (get_handle_type_address): New function. Looks up and validates + handle_type::address in a given handle_type. + (get_handle_type_from_address): New function. Looks up and + validates handle_type::from_address in a given handle_type. + (coro_promise_type_found_p): Remove reliance on + coroutine_handle<> defaulting the promise type to void. Store + get_handle_type_* results where appropriate. + (get_coroutine_from_address): New helper. Gets the + handle_type::from_address BASELINK from a coroutine_info. + (build_actor_fn): Use the get_coroutine_from_address helper and + void_coro_handle_address. + +2024-08-02 Marek Polacek + + PR c++/116169 + * decl.cc (cp_finish_decl): Disallow deleting ::main. + +2024-08-02 Iain Sandoe + + * coroutines.cc (struct local_vars_frame_data): Add a + CTOR. + (morph_fn_to_coro): Use CTOR for local_vars_frame_data + instead of brace init. + +2024-08-02 Iain Sandoe + + * coroutines.cc (struct susp_frame_data): Remove unused members, + provide a CTOR. + (morph_fn_to_coro): Use susp_frame_data CTOR, and make the suspend + state hash map local to the morph function. + +2024-08-02 Iain Sandoe + + * coroutines.cc (replace_continue): Look up expression type. + 2024-08-01 Jakub Jelinek PR c++/116113 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index f45c89f3b6c..ed673f85d4d 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,17 @@ +2024-08-03 Steve Kargl + + PR fortran/104626 + * symbol.cc (gfc_add_save): Add checks for SAVE attribute + conflicts and duplicate SAVE attribute. + +2024-08-02 Mikael Morin + + * trans-intrinsic.cc (maybe_absent_optional_variable): New function. + (gfc_conv_intrinsic_minmaxloc): Remove BACK from scalarization and + evaluate it before. Add a check that BACK is not null if the + expression is an optional dummy. Save the resulting expression to a + variable. Use the variable in the generated inline code. + 2024-08-01 Jakub Jelinek * trans-types.cc (gfc_get_array_descr_info): Don't test if diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog index 3207c169976..f2429f24a43 100644 --- a/gcc/po/ChangeLog +++ b/gcc/po/ChangeLog @@ -1,3 +1,9 @@ +2024-08-02 Joseph Myers + + * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po, + ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po, + zh_TW.po: Update. + 2024-05-16 Joseph Myers * sv.po: Update. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1518681948a..dc82c235a5f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,77 @@ +2024-08-03 Steve Kargl + + PR fortran/104626 + * gfortran.dg/pr104626.f90: New test. + +2024-08-02 Arsen Arsenović + + PR c++/105475 + * g++.dg/coroutines/pr103868.C: Add std::coroutine_handle + members we check for now. + * g++.dg/coroutines/pr105287.C: Ditto. + * g++.dg/coroutines/pr105301.C: Ditto. + * g++.dg/coroutines/pr94528.C: Ditto. + * g++.dg/coroutines/pr94879-folly-1.C: Ditto. + * g++.dg/coroutines/pr94883-folly-2.C: Ditto. + * g++.dg/coroutines/pr98118.C: Ditto. + * g++.dg/coroutines/pr105475.C: New test. + * g++.dg/coroutines/pr105475-1.C: New test. + * g++.dg/coroutines/pr105475-2.C: New test. + * g++.dg/coroutines/pr105475-3.C: New test. + * g++.dg/coroutines/pr105475-4.C: New test. + * g++.dg/coroutines/pr105475-5.C: New test. + * g++.dg/coroutines/pr105475-6.C: New test. + * g++.dg/coroutines/pr105475-broken-spec.C: New test. + * g++.dg/coroutines/pr105475-broken-spec-2.C: New test. + +2024-08-02 Mikael Morin + + * gfortran.dg/maxloc_6.f90: New test. + * gfortran.dg/minloc_7.f90: New test. + +2024-08-02 Andre Vieira + + * gcc.target/arm/mve/ivopts-3.c: Add require target and options. + +2024-08-02 Jennifer Schmitz + + * gcc.target/aarch64/fuse_cmp_csel.c: New test. + * gcc.target/aarch64/fuse_cmp_cset.c: Likewise. + +2024-08-02 Richard Sandiford + + PR rtl-optimization/116145 + * gcc.target/aarch64/sve/acle/general/pr116145.c: New test. + +2024-08-02 Marek Polacek + + PR c++/116169 + * g++.dg/DRs/dr882.C: New test. + +2024-08-02 Andrew Pinski + + PR tree-optimization/116156 + * c-c++-common/torture/pr116156-1.c: New test. + +2024-08-02 Martin Uecker + + * gcc.dg/c2y-byte-alias-1.c: New test. + * gcc.dg/c2y-byte-alias-2.c: New test. + * gcc.dg/c2y-byte-alias-3.c: New test. + +2024-08-02 Pengxuan Zheng + + PR target/113860 + * gcc.target/aarch64/popcnt-sve.c: New test. + +2024-08-02 Kewen Lin + + PR testsuite/116148 + * c-c++-common/fam-in-union-alone-in-struct-2.c: Define macros + WITH_FAM_2_V_B[03] and WITH_FAM_3_V_A[07] as endianness, update the + checking with these macros and initialize with_fam_3_v.b[1] with + 0x5f6f7f8f instead of 0x5f6f7f7f. + 2024-08-01 Robin Dapp * gcc.target/riscv/rvv/autovec/pr116149.c: New test. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a563233197c..fe4386d4a6d 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2024-08-02 Jonathan Wakely + + * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Include + . + 2024-08-01 Jonathan Wakely * include/bits/utility.h (__is_in_place_type): Remove.