From 624980241ec69afc7b354f81cc64a1fd77131f3e Mon Sep 17 00:00:00 2001 From: GCC Administrator Date: Tue, 21 Sep 2021 00:16:31 +0000 Subject: [PATCH] Daily bump. --- ChangeLog | 4 + contrib/ChangeLog | 5 + gcc/ChangeLog | 78 +++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 336 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/c-family/ChangeLog | 7 + gcc/fortran/ChangeLog | 11 ++ gcc/testsuite/ChangeLog | 42 ++++++ 8 files changed, 484 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a10bf6c..810b906 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2021-09-20 Harald Anlauf + + * MAINTAINERS (Reviewers): Add myself as Fortran reviewer. + 2021-09-17 Iain Sandoe * Makefile.def: Add a jit check target for the jit diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 464611e..6521f96 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,8 @@ +2021-09-20 Richard Biener + + * config-list.mk: --enable-obsolete for hppa2.0-hpux10.1 and + hppa2.0-hpux11.9. + 2021-09-15 Martin Liska * gcc-changelog/git_commit.py: Add FIXME note. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6d5c381..acbbb71 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,81 @@ +2021-09-20 Andrew MacLeod + + * gimple-range-fold.cc (fold_using_range::range_of_phi): Ignore + undefined edges, apply an equivalence if appropriate. + * gimple-range-gori.cc (gori_compute::outgoing_edge_range_p): Return + UNDEFINED if EDGE_EXECUTABLE is not set. + * gimple-range.cc (gimple_ranger::gimple_ranger): Set all edges + as EXECUTABLE upon startup. + (gimple_ranger::range_on_edge): Return UNDEFINED for edges without + EDGE_EXECUTABLE set. + * vr-values.c (set_and_propagate_unexecutable): New. + (simplify_using_ranges::fold_cond): Call set_and_propagate. + (simplify_using_ranges::simplify_switch_using_ranges): Ditto. + * vr-values.h: Add prototype. + +2021-09-20 Andrew MacLeod + + * value-relation.cc (equiv_oracle::register_initial_def): New. + (equiv_oracle::register_relation): Call register_initial_def. + (equiv_oracle::add_equiv_to_block): New. Split register_relation. + (relation_oracle::register_stmt): Check def block of PHI arguments. + * value-relation.h (equiv_oracle): Add new prototypes. + +2021-09-20 Matthias Kretz + + * cppbuiltin.c (define_builtin_macros_for_compilation_flags): + Define __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__, + __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and + __ROUNDING_MATH__ according to their corresponding flags. + * doc/cpp.texi: Document __RECIPROCAL_MATH__, + __NO_SIGNED_ZEROS__, __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, + and __ROUNDING_MATH__. + +2021-09-20 Richard Biener + + * tree-vect-stmts.c (vectorizable_load): Use the vectype + from the SLP node. + +2021-09-20 Richard Biener + + * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): + Do not compute alignment of the vectorized access here. + +2021-09-20 Richard Biener + + * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): + Store -1 for runtime alias peeling iterations. + +2021-09-20 Richard Biener + + * config.gcc: Obsolete hppa[12]*-*-hpux10* and hppa[12]*-*-hpux11*. + +2021-09-20 Thomas Schwinge + + * input.c (string_concat_db::record_string_concatenation) + (string_concat_db::get_string_concatenation): Skip for + 'RESERVED_LOCATION_P'. + +2021-09-20 Richard Biener + + PR tree-optimization/65206 + * tree-data-ref.h (struct data_reference): Add alt_indices, + order it last. + * tree-data-ref.c (free_data_ref): Release alt_indices. + (dr_analyze_indices): Work on struct indices and get DR_REF as tree. + (create_data_ref): Adjust. + (initialize_data_dependence_relation): Split into head + and tail. When the base objects fail to match up try + again with pointer-based analysis of indices. + * tree-vectorizer.c (vec_info_shared::check_datarefs): Do + not compare the lazily computed alternate set of indices. + +2021-09-20 Iain Sandoe + + * gcc.c: Test for execute OK when we find the + programs for assembler linker and dsymutil and those + were specified at configure-time. + 2021-09-19 Martin Sebor PR middle-end/102403 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index c1155ef..ed865cb 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20210920 +20210921 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 70aaabf..56d9baf 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,339 @@ +2021-09-20 Piotr Trojanek + + * inline.adb (Has_Excluded_Declaration): Remove redundant guard; + the guarded code will call First on a No_List, which is + well-defined and gives Empty. + +2021-09-20 Piotr Trojanek + + * inline.adb (Has_Excluded_Declaration): Rename and reduce scope + of a local variable. + +2021-09-20 Bob Duff + + * uintp.ads, uintp.adb (Present, No): New functions for + comparing with No_Uint. + * checks.adb, einfo-utils.adb, exp_aggr.adb, exp_attr.adb, + exp_ch3.adb, exp_ch4.adb, exp_dbug.adb, exp_disp.adb, + exp_util.adb, repinfo.adb, repinfo-input.adb, scn.adb, + sem_attr.adb, sem_ch13.adb, sem_eval.adb, sem_util.adb, + sinfo-utils.adb, treepr.adb: Use Present (...) instead of "... + /= No_Uint", and No (...) instead of "... = No_Uint". + +2021-09-20 Claire Dross + + * libgnat/s-ficobl.ads: The entire package has a SPARK_Mode => + Off aspect. + +2021-09-20 Doug Rupp + + * libgnat/a-calend.adb: Remove time_t, replace with OS_Time. + * libgnat/s-os_lib.ads: Fix comments regarding time_t conversion + functions to reflect the use of To_Ada in in Ada.Calendar + package body. + * sysdep.c (__gnat_localtime_tzoff): Use OS_Time instead of + time_t. + +2021-09-20 Piotr Trojanek + + * sem_res.adb (Resolve_Actual): Remove + +2021-09-20 Bob Duff + + * einfo-utils.ads, einfo-utils.adb, fe.h, einfo.ads, + gen_il-fields.ads: Remove unused and no-longer-used routines. + Move related routines together. Rewrite incorrect + documentation, and documentation that will be incorrect when + e.g. Esize-related routines are fixed. Remove unused field + Normalized_Position_Max. + * cstand.adb, exp_pakd.adb, freeze.adb, + gen_il-gen-gen_entities.adb, itypes.adb, layout.adb, + sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, + sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.adb, + sem_util.adb, ttypes.ads: Update calls to routines removed from + or renamed in Einfo.Utils. + * uintp.ads (Upos): Fix this subtype, which was unintentionally + declared to include Uint_0. + +2021-09-20 Piotr Trojanek + + * exp_ch7.adb (Expand_N_Package_Declaration): Fix wording in + comment. + * exp_disp.adb (Mark_DT): Remove unnecessary initialization of + I_Depth. + +2021-09-20 Piotr Trojanek + + * contracts.adb (Add_Contract_Item): Accept volatile-related + properties on constants. + (Analyze_Object_Contract): Check external properties on + constants; accept volatile constants. + (Check_Type_Or_Object_External_Properties): Replace "variable" + with "object" in error messages; replace Decl_Kind with a local + constant. + * sem_prag.adb (Analyze_Pragma): Accept volatile-related + properties on constants. + +2021-09-20 Pierre-Alexandre Bazin + + * libgnat/a-strfix.adb ("*"): Added loop invariants and lemmas + for proof. + (Delete): Added assertions for proof, and conditions to avoid + overflow. + (Head): Added loop invariant. + (Insert): Same as Delete. + (Move): Declared with SPARK_Mode Off. + (Overwrite): Added assertions for proof, and conditions to avoid + overflow. + (Replace_Slice): Added assertions for proof, and conditions to + avoid overflow. + (Tail): Added loop invariant and avoided overflows. + (Translate): Added loop invariants. + (Trim): Ensured empty strings returned start at 1. + * libgnat/a-strfix.ads (Index): Rewrote contract cases for + easier proof. + (Index_Non_Blank): Separated the null string case. + (Count): Specified Mapping shouldn't be null. + (Find_Token): Specified Source'First should be Positive when no + From is given. + (Translate): Specified Mapping shouldn't be null. + ("*"): Rewrote postcondition for easier proof. + * libgnat/a-strsea.adb (Belongs): Added postcondition. + (Count): Rewrote loops and added loop invariants to avoid + overflows. + (Find_Token): Added loop invariants. + (Index): Rewrote loops to avoid overflows and added loop + invariants for proof. + (Index_Non_Blank): Added loop invariants. + (Is_Identity): New function isolated without SPARK_Mode. + * libgnat/a-strsea.ads: Fix starting comment as package is no + longer private. + (Match): Declared ghost expression function Match. + (Is_Identity): Described identity in the postcondition. + (Index, Index_Non_Blank, Count, Find_Token): Added contract from + a-strfix.ads. + +2021-09-20 Piotr Trojanek + + * sem_ch13.adb (Resolve_Aspect_Aggregate): Move comments after + specs; fix typo in header box; cleanup whitespace. + +2021-09-20 Eric Botcazou + + * libgnat/s-objrea.adb (Get_Load_Address): Return 0 for ELF. + +2021-09-20 Eric Botcazou + + * adaint.c (__gnat_get_executable_load_address): Add Win32 support. + * libgnat/s-objrea.ads (Get_Xcode_Bounds): Fix typo in comment. + (Object_File): Minor reformatting. + (ELF_Object_File): Uncomment predicate. + (PECOFF_Object_File): Likewise. + (XCOFF32_Object_File): Likewise. + * libgnat/s-objrea.adb: Minor reformatting throughout. + (Get_Load_Address): Implement for PE-COFF. + * libgnat/s-dwalin.ads: Remove clause for System.Storage_Elements + and use consistent wording in comments. + (Dwarf_Context): Set type of Low, High and Load_Address to Address. + * libgnat/s-dwalin.adb (Get_Load_Displacement): New function. + (Is_Inside): Call Get_Load_Displacement. + (Low_Address): Likewise. + (Open): Adjust to type change. + (Aranges_Lookup): Change type of Addr to Address. + (Read_Aranges_Entry): Likewise for Start and adjust. + (Enable_Cach): Adjust to type change. + (Symbolic_Address): Change type of Addr to Address. + (Symbolic_Traceback): Call Get_Load_Displacement. + +2021-09-20 Piotr Trojanek + + * exp_disp.adb (Make_DT): Move call to Set_Has_Dispatch_Table, + so it is executed regardless of the Generate_SCIL mode. + +2021-09-20 Ed Schonberg + + * exp_util.ads (Force_Evaluation): Add formal parameter + Discr_Number, to indicate discriminant expression for which an + external name must be created. + (Remove_Side_Effects): Ditto. + * exp_util.adb (Force_Evaluation): Call Remove_Side_Effects with + added parameter. + (Remove_Side_Effects, Build_Temporary): If Discr_Number is + positive, create an external name with suffix DISCR and the + given discriminant number, analogous to what is done for + temporaries for array type bounds. + * sem_ch3.adb (Process_Discriminant_Expressions): If the + constraint is for an object or component declaration and the + corresponding entity may be visible in another unit, invoke + Force_Evaluation with the new parameter. + +2021-09-20 Arnaud Charlet + + * gen_il-internals.ads (Invalid_Val): Remove, unused and + generates warnings. + +2021-09-20 Piotr Trojanek + + * exp_aggr.adb, exp_ch4.adb, exp_ch5.adb, sprint.adb: Refine + types of local constants. + +2021-09-20 Gary Dismukes + + * exp_attr.adb (Expand_N_Attribute_Reference): Fold + Preelaborable_Initialization attribute in cases where it hasn't + been folded by the analyzer. + * exp_disp.adb (Original_View_In_Visible_Part): This function is + removed and moved to sem_util.adb. + * sem_attr.adb (Attribute_22): Add + Attribute_Preelaborable_Initialization as an Ada 2022 attribute. + (Analyze_Attribute, Attribute_Preelaborable_Initialization): + Check that the prefix of the attribute is either a formal + private or derived type, or a composite type declared within the + visible part of a package or generic package. + (Eval_Attribute): Perform folding of + Preelaborable_Initialization attribute based on + Has_Preelaborable_Initialization applied to the prefix type. + * sem_ch3.adb (Resolve_Aspects): Add specialized code for + Preelaborable_Initialization used at the end of a package + visible part for setting Known_To_Have_Preelab_Init on types + that are specified with True or that have a conjunction of one + or more P_I attributes applied to formal types. + * sem_ch7.adb (Analyze_Package_Specification): On call to + Has_Preelaborable_Initialization, pass True for new formal + Formal_Types_Have_Preelab_Init, so that error checking treats + subcomponents that are declared within types in generics as + having preelaborable initialization when the subcomponents are + of formal types. + * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Add test for + P_I to prevent calling Make_Pragma_From_Boolean_Aspect, since + this aspect is handled specially and the + Known_To_Have_Preelab_Init flag will get set on types that have + the aspect by other means. + (Analyze_Aspect_Specifications.Analyze_One_Aspect): Add test for + Aspect_Preelaborable_Initialization for allowing the aspect to + be specified on formal type declarations. + (Is_Operational_Item): Treat Attribute_Put_Image as an + operational attribute. The need for this was encountered while + working on these changes. + * sem_util.ads (Has_Preelaborable_Initialization): Add + Formal_Types_Have_Preelab_Init as a new formal parameter that + defaults to False. + (Is_Conjunction_Of_Formal_Preelab_Init_Attributes): New + function. + (Original_View_In_Visible_Part): Moved here from exp_disp.adb, + so it can be called by Analyze_Attribute. + * sem_util.adb (Has_Preelaborable_Initialization): Return True + for formal private and derived types when new formal + Formal_Types_Have_Preelab_Init is True, and pass along the + Formal_Types_Have_Preelab_Init flag in the array component case. + (Check_Components): Pass along Formal_Types_Have_Preelab_Init + flag on call to Has_Preelaborable_Initialization. + (Is_Conjunction_Of_Formal_Preelab_Init_Attributes): New function + that returns True when passed an expression that includes one or + more attributes for Preelaborable_Initialization applied to + prefixes that denote formal types. + (Is_Formal_Preelab_Init_Attribute): New utility function nested + within Is_Conjunction_Of_Formal_Preelab_Init_Attributes that + determines whether a node is a P_I attribute applied to a + generic formal type. + (Original_View_In_Visible_Part): Moved here from exp_util.adb, + so it can be called by Analyze_Attribute. + * snames.ads-tmpl: Add note near the start of spec giving + details about what needs to be done when adding a name that + corresponds to both an attribute and a pragma. Delete existing + occurrence of Name_Preelaborable_Initialization, and add a note + comment in the list of Name_* constants at that place, + indicating that it's included in type Pragma_Id, etc., echoing + other such comments for names that are both an attribute and a + pragma. Insert Name_Preelaborable_Initialization in the + alphabetized set of Name_* constants corresponding to + attributes (between First_Attribute_Name and + Last_Attribute_Name). + (type Attribute_Id): Add new literal + Attribute_Preelaborable_Initialization. + (type Pragma_Id): Move Pragma_Preelaborable_Initialization from + its current position to the end of the type, in the special set + of pragma literals that have corresponding atttributes. Add to + accompanying comment, indicating that functions Get_Pragma_Id + and Is_Pragma_Name need to be updated when adding a pragma + literal to the special set. + * snames.adb-tmpl (Get_Pragma_Id): Add case alternative for + Pragma_Preelaborable_Initialization. + (Is_Pragma_Name): Add test for + Name_Preelaborable_Initialization. + +2021-09-20 Ghjuvan Lacambre + + * sem_ch4.adb (Finc_Non_Universal_Interpretations): Fix check. + +2021-09-20 Piotr Trojanek + + * sem_ch3.adb (Build_Discriminant_Constraints): Exit once a + first discriminant is found and the Discrim_Present flag is set. + +2021-09-20 Bob Duff + + * gnat1drv.adb (Gnat1drv): Avoid calling List_Rep_Info in + Generate_SCIL and GNATprove_Mode. + * repinfo.adb (List_Common_Type_Info): Fix comment. + +2021-09-20 Eric Botcazou + + * libgnat/s-dwalin.ads: Remove clause for Ada.Exceptions.Traceback, + add clause for System.Traceback_Entries and alphabetize. + (AET): Delete. + (STE): New package renaming. + (Symbolic_Traceback): Adjust. + * libgnat/s-dwalin.adb: Remove clauses for Ada.Exceptions.Traceback + and System.Traceback_Entries. + (Symbolic_Traceback): Adjust. + +2021-09-20 Ghjuvan Lacambre + + * sem_ch4.adb (Find_Non_Universal_Interpretations): Check if + types are compatible before adding interpretation. + +2021-09-20 Justin Squirek + + * exp_ch4.adb (Expand_N_Type_Conversion): Add guard to protect + against calculating accessibility levels against internal + compiler-generated types. + +2021-09-20 Ghjuvan Lacambre + + * sem_dim.adb (Dimensions_Msg_Of): Capitalize comment. + +2021-09-20 Ghjuvan Lacambre + + * adabkend.adb (Scan_Back_End_Switches): Replace switch-scanning + logic with call to Backend_Utils.Scan_Common_Back_End_Switches. + * back_end.adb (Scan_Back_End_Switches): Replace switch-scanning + logic with call to Backend_Utils.Scan_Common_Back_End_Switches. + * backend_utils.adb: New file. + * backend_utils.ads: New file. + * gcc-interface/Make-lang.in: Add ada/backend_utils.o. + +2021-09-20 Ghjuvan Lacambre + + * atree.adb (Get_32_Bit_Field): Declare result before returning. + +2021-09-20 Ghjuvan Lacambre + + * exp_ch7.adb (Expand_N_Package_Body): Replace + Build_And_Insert_Cuda_Initialization with Expand_CUDA_Package. + * gnat_cuda.adb (Expand_CUDA_Package): New procedure. + (Build_And_Insert_Cuda_Initialization): Make internal. + * gnat_cuda.ads (Expand_CUDA_Package): New procedure. + (Build_And_Insert_Cuda_Initialization): Remove from spec. + +2021-09-20 Ghjuvan Lacambre + + * usage.adb (Usage): Update -gnatw.c messages. + +2021-09-20 Eric Botcazou + + * sem_aux.adb (Is_By_Reference_Type): Do not test Error_Posted. + 2021-09-15 Alexandre Oliva * gcc-interface/utils.c: Include opts.h. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 73a3180..9c59035 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,10 @@ +2021-09-20 Matthias Kretz + + * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define or + undefine __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__, + __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and + __ROUNDING_MATH__ according to the new optimization flags. + 2021-09-18 Jakub Jelinek * c-omp.c (c_omp_split_clauses): Split order clause also to diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 1f0f005..08e7d4c 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,14 @@ +2021-09-20 Tobias Burnus + + * gfortran.h (gfc_omp_clauses): Add order_unconstrained. + * dump-parse-tree.c (show_omp_clauses): Dump it. + * openmp.c (gfc_match_omp_clauses): Match unconstrained/reproducible + modifiers to ordered(concurrent). + (OMP_DISTRIBUTE_CLAUSES): Accept ordered clause. + (resolve_omp_clauses): Reject ordered + order on same directive. + * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses): Pass + on unconstrained modifier of ordered(concurrent). + 2021-09-17 Harald Anlauf PR fortran/102366 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 231055e..aca4514 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,45 @@ +2021-09-20 Andrew MacLeod + + * gcc.dg/tree-ssa/evrp-ignore.c: New. + +2021-09-20 Matthias Kretz + + * gcc.dg/associative-math-1.c: New test. + * gcc.dg/associative-math-2.c: New test. + * gcc.dg/no-signed-zeros-1.c: New test. + * gcc.dg/no-signed-zeros-2.c: New test. + * gcc.dg/no-trapping-math-1.c: New test. + * gcc.dg/no-trapping-math-2.c: New test. + * gcc.dg/reciprocal-math-1.c: New test. + * gcc.dg/reciprocal-math-2.c: New test. + * gcc.dg/rounding-math-1.c: New test. + * gcc.dg/rounding-math-2.c: New test. + +2021-09-20 Tobias Burnus + + * gfortran.dg/gomp/order-5.f90: New test. + * gfortran.dg/gomp/order-6.f90: New test. + * gfortran.dg/gomp/order-7.f90: New test. + * gfortran.dg/gomp/order-8.f90: New test. + * gfortran.dg/gomp/order-9.f90: New test. + +2021-09-20 Christophe Lyon + Torbjörn SVENSSON + + * lib/prune.exp (prune_gcc_output): Remove .exe suffix from + toolchain executables names. + +2021-09-20 Thomas Schwinge + + * gcc.dg/plugin/diagnostic-test-string-literals-1.c: Adjust + expected error diagnostics. + +2021-09-20 Richard Biener + + PR tree-optimization/65206 + * gcc.dg/torture/20210916.c: New testcase. + * gcc.dg/vect/pr65206.c: Likewise. + 2021-09-19 Martin Sebor PR middle-end/102403 -- 2.7.4