From 9d116bcc5556c7df32803f7bf8e6e238ea1c13fb Mon Sep 17 00:00:00 2001 From: GCC Administrator Date: Sat, 2 Oct 2021 00:16:31 +0000 Subject: [PATCH] Daily bump. --- gcc/ChangeLog | 102 ++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 405 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/c-family/ChangeLog | 37 +++++ gcc/c/ChangeLog | 18 +++ gcc/cp/ChangeLog | 31 ++++ gcc/fortran/ChangeLog | 16 ++ gcc/testsuite/ChangeLog | 73 +++++++++ libgomp/ChangeLog | 29 ++++ libiberty/ChangeLog | 4 + libsanitizer/ChangeLog | 4 + libstdc++-v3/ChangeLog | 292 ++++++++++++++++++++++++++++++++++ 12 files changed, 1012 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b72c0d4..e33c378 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,105 @@ +2021-10-01 Aldy Hernandez + + PR tree-optimization/102546 + * range-op.cc (operator_lshift::op1_range): Teach range-ops that + X << Y is non-zero implies X is also non-zero. + +2021-10-01 Przemyslaw Wirkus + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): New + Cortex-X2 core. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/invoke.texi: Update docs. + +2021-10-01 Przemyslaw Wirkus + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): New + Cortex-A710 core. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/invoke.texi: Update docs. + +2021-10-01 Przemyslaw Wirkus + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): New + Cortex-A510 core. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/invoke.texi: Update docs. + +2021-10-01 Martin Sebor + + PR c/102103 + * doc/invoke.texi (-Waddress): Update. + * gengtype.c (write_types): Avoid -Waddress. + * poly-int.h (POLY_SET_COEFF): Avoid using null. + +2021-10-01 John David Anglin + + PR debug/102373 + * config/pa/pa.c (pa_option_override): Default to dwarf version 4 + on hppa64-hpux. + +2021-10-01 Przemyslaw Wirkus + + * config/aarch64/aarch64.h (AARCH64_FL_V9): Update value. + +2021-10-01 Aldy Hernandez + + * gimple-range-path.cc (path_range_query::compute_ranges): Use + get_path_oracle. + * gimple-range-path.h (class path_range_query): Remove shadowed + m_oracle field. + (path_range_query::get_path_oracle): New. + +2021-10-01 Jakub Jelinek + Richard Biener + + PR sanitizer/102515 + * doc/invoke.texi (-fsanitize=integer-divide-by-zero): Remove + INT_MIN / -1 division detection from here ... + (-fsanitize=signed-integer-overflow): ... and add it here. + +2021-10-01 Przemyslaw Wirkus + + * config/aarch64/aarch64-arches.def (AARCH64_ARCH): Added + armv9-a. + * config/aarch64/aarch64.h (AARCH64_FL_V9): New. + (AARCH64_FL_FOR_ARCH9): New flags for Armv9-A. + (AARCH64_ISA_V9): New ISA flag. + * doc/invoke.texi: Update docs. + +2021-10-01 Martin Liska + + * toplev.c (toplev::main): Save decoded optimization options. + * toplev.h (save_opt_decoded_options): New. + * doc/extend.texi: Be more clear about optimize and target + attributes. + +2021-10-01 Eric Botcazou + + * explow.c: Include langhooks.h. + (set_stack_check_libfunc): Build a proper function type. + +2021-10-01 Eric Botcazou + + PR c++/64697 + * config/i386/i386.c (legitimate_pic_address_disp_p): For PE-COFF do + not return true for external weak function symbols in medium model. + +2021-10-01 Jakub Jelinek + + * tree.h (OMP_CLAUSE_ORDER_REPRODUCIBLE): Define. + * tree-pretty-print.c (dump_omp_clause) : Print + reproducible: for OMP_CLAUSE_ORDER_REPRODUCIBLE. + * omp-general.c (omp_extract_for_data): If OMP_CLAUSE_ORDER is seen + without OMP_CLAUSE_ORDER_UNCONSTRAINED, overwrite sched_kind to + OMP_CLAUSE_SCHEDULE_STATIC. + +2021-10-01 Richard Biener + + PR middle-end/102518 + * tree-inline.c (setup_one_parameter): Avoid substituting + an invariant into contexts where a GIMPLE register is not valid. + 2021-09-30 Przemyslaw Wirkus * config/arm/arm-cpus.in: Add Cortex-R52+ CPU. diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 5e33609..e3d2026 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20211001 +20211002 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 9074908..5cf2c48 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,408 @@ +2021-10-01 Bob Duff + + * exp_ch6.adb (Expand_Call_Helper): Do not call + Check_Subprogram_Variant if the subprogram is an ignored ghost + entity. Otherwise the compiler crashes (in debug builds) or + gives strange error messages (in production builds). + +2021-10-01 Ghjuvan Lacambre + + * gnat_cuda.adb (Empty_CUDA_Global_Subprograms): New procedure. + (Expand_CUDA_Package): Call Empty_CUDA_Global_Subprograms. + +2021-10-01 Steve Baird + + * checks.ads: Define a type Dimension_Set. Add an out-mode + parameter of this new type to Generate_Index_Checks so that + callers can know for which dimensions a check was generated. Add + an in-mode parameter of this new type to + Apply_Subscript_Validity_Checks so that callers can indicate + that no check is needed for certain dimensions. + * checks.adb (Generate_Index_Checks): Implement new + Checks_Generated parameter. + (Apply_Subscript_Validity_Checks): Implement new No_Check_Needed + parameter. + * exp_ch4.adb (Expand_N_Indexed_Component): Call + Apply_Subscript_Validity_Checks in more cases than before. This + includes declaring two new local functions, + (Is_Renamed_Variable_Name, + Type_Requires_Subscript_Validity_Checks_For_Reads): To help in + deciding whether to call Apply_Subscript_Validity_Checks. + Adjust to parameter profile changes in Generate_Index_Checks and + Apply_Subscript_Validity_Checks. + +2021-10-01 Eric Botcazou + + * doc/gnat_rm/implementation_defined_characteristics.rst: Document + the rounding mode assumed for dynamic computations as per 3.5.7(16). + * gnat_rm.texi: Regenerate. + +2021-10-01 Bob Duff + + * table.ads (Table_Type): Remove "aliased"; no longer needed by + Atree. Besides it contradicted the comment a few lines above, + "-- Note: We do not make the table components aliased...". + * types.ads: Move type Slot to Atree. + * atree.ads: Move type Slot fromt Types to here. Move type + Node_Header from Seinfo to here. + * atree.adb: Avoid the need for aliased components of the Slots + table. Instead of 'Access, use a getter and setter. Misc + cleanups. + (Print_Statistics): Print statistics about node and entity kind + frequencies. Give 3 digit fractions instead of percentages. + * (Get_Original_Node_Count, Set_Original_Node_Count): Statistics + for calls to Original_Node and Set_Original_Node. + (Original_Node, Set_Original_Node): Gather statistics by calling + the above. + (Print_Field_Statistics): Print Original_Node statistics. + (Update_Kind_Statistics): Remove, and put all statistics + gathering under "if Atree_Statistics_Enabled", which is a flag + generated in Seinfo by Gen_IL. + * gen_il-gen.adb (Compute_Field_Offsets): Choose offsets of + Nkind, Ekind, and Homonym first. This causes a slight efficiency + improvement. Misc cleanups. Do not generate Node_Header; it is + now hand-written in Atree. When choosing the order in which to + assign offsets, weight by the frequency of the node type, so the + more common nodes get their field offsets assigned earlier. Add + more special cases. + (Compute_Type_Sizes): Remove this and related things. + There was a comment: "At some point we can instrument Atree to + print out accurate size statistics, and remove this code." We + have Atree statistics, so we now remove this code. + (Put_Seinfo): Generate Atree_Statistics_Enabled, which is equal + to Statistics_Enabled. This allows Atree to say "if + Atree_Statistics_Enabled then " for + efficiency. When Atree_Statistics_Enabled is False, the "if ..." + will be optimized away. + * gen_il-internals.ads (Type_Frequency): New table of kind + frequencies. + * gen_il-internals.adb: Minor comment improvement. + * gen_il-fields.ads: Remove unused subtypes. Suppress style + checks in the Type_Frequency table. If we regenerate this + table (see -gnatd.A) we don't want to have to fiddle with + casing. + * impunit.adb: Minor. + * sinfo-utils.adb: Minor. + * debug.adb: Minor comment improvement. + +2021-10-01 Eric Botcazou + + * sem_type.adb (Specific_Type): Check that the type is tagged + before calling Interface_Present_In_Ancestor on it. + +2021-10-01 Eric Botcazou + + * debug.adb (d.8): Document usage. + * fe.h (Debug_Flag_Dot_8): Declare. + +2021-10-01 Gary Dismukes + + * sem_util.adb (Enter_Name): Suppress hiding warning when in an + instance. + +2021-10-01 Ed Schonberg + + * sem_attr.adb (Analyze_Attribute, case Type_Key): Attribute can + be applied to a formal type. + * sem_ch5.adb (Analyze_Case_Statement): If Extensions_Allowed is + not enabled, verify that the type of the expression is discrete. + +2021-10-01 Justin Squirek + + * exp_dbug.adb (Debug_Renaming_Declaration): Add check for + Entity present for Ren to prevent looking at unanalyzed nodes + +2021-10-01 Ghjuvan Lacambre + + * atree.adb (Print_Statistics): Help CodePeer see Total as + greater than zero. + * gen_il-gen.adb (One_Comp): Annotate Field_Table as Modified. + +2021-10-01 Richard Kenner + + * gen_il-gen-gen_entities.adb (Evaluable_Kind, + Global_Name_Kind): Add. + * gen_il-types.ads (Evaluable_Kind, Global_Name_Kind): Likewise. + +2021-10-01 Ghjuvan Lacambre + + * aspects.ads: Add CUDA_Device aspect. + * gnat_cuda.ads (Add_CUDA_Device_Entity): New subprogram. + * gnat_cuda.adb: + (Add_CUDA_Device_Entity): New subprogram. + (CUDA_Device_Entities_Table): New hashmap for CUDA_Device + entities. + (Get_CUDA_Device_Entities): New internal subprogram. + (Set_CUDA_Device_Entities): New internal subprogram. + * par-prag.adb (Prag): Handle pragma id Pragma_CUDA_Device. + * sem_prag.ads (Aspect_Specifying_Pragma): Mark CUDA_Device as + being both aspect and pragma. + * sem_prag.adb (Analyze_Pragma): Add CUDA_Device entities to + list of CUDA_Entities belonging to package N. + (Sig_Flags): Signal CUDA_Device entities as referenced. + * snames.ads-tmpl: Create CUDA_Device names and pragmas. + +2021-10-01 Gary Dismukes + + * exp_util.adb (Build_DIC_Procedure_Body): Remove inappropriate + Assert pragma. Remove unneeded and dead code related to derived + private types. + +2021-10-01 Richard Kenner + + * gen_il-gen-gen_nodes.adb (N_Alternative, N_Is_Case_Choice): + Add. + (N_Is_Exception_Choice, N_Is_Range): Likewise. + * gen_il-types.ads: Add above names. + * gen_il-gen.adb (Put_Union_Membership): Write both declarations + and definitions of union functions. + +2021-10-01 Ed Schonberg + + * exp_aggr.adb (Expand_Array_Aggregate, + Two_Pass_Aggregate_Expansion): Increment index for element + insertion within the loop, only if upper bound has not been + reached. + +2021-10-01 Javier Miranda + + * contracts.ads (Make_Class_Precondition_Subps): New subprogram. + (Merge_Class_Conditions): New subprogram. + (Process_Class_Conditions_At_Freeze_Point): New subprogram. + * contracts.adb (Check_Class_Condition): New subprogram. + (Set_Class_Condition): New subprogram. + (Analyze_Contracts): Remove code analyzing class-wide-clone + subprogram since it is no longer built. + (Process_Spec_Postconditions): Avoid processing twice seen + subprograms. + (Process_Preconditions): Simplify its functionality to + non-class-wide preconditions. + (Process_Preconditions_For): No action needed for wrappers and + helpers. + (Make_Class_Precondition_Subps): New subprogram. + (Process_Class_Conditions_At_Freeze_Point): New subprogram. + (Merge_Class_Conditions): New subprogram. + * exp_ch6.ads (Install_Class_Preconditions_Check): New + subprogram. + * exp_ch6.adb (Expand_Call_Helper): Install class-wide + preconditions check on dispatching primitives that have or + inherit class-wide preconditions. + (Freeze_Subprogram): Remove code for null procedures with + preconditions. + (Install_Class_Preconditions_Check): New subprogram. + * exp_util.ads (Build_Class_Wide_Expression): Lower the + complexity of this subprogram; out-mode formal Needs_Wrapper + since this functionality is now provided by a new subprogram. + (Get_Mapped_Entity): New subprogram. + (Map_Formals): New subprogram. + * exp_util.adb (Build_Class_Wide_Expression): Lower the + complexity of this subprogram. Its previous functionality is now + provided by subprograms Needs_Wrapper and Check_Class_Condition. + (Add_Parent_DICs): Map the overridden primitive to the + overriding one. + (Get_Mapped_Entity): New subprogram. + (Map_Formals): New subprogram. + (Update_Primitives_Mapping): Adding assertion. + * freeze.ads (Check_Inherited_Conditions): Subprogram made + public with added formal to support late overriding. + * freeze.adb (Check_Inherited_Conditions): New implementation; + builds the dispatch table wrapper required for class-wide + pre/postconditions; added support for late overriding. + (Needs_Wrapper): New subprogram. + * sem.ads (Inside_Class_Condition_Preanalysis): New global + variable. + * sem_disp.ads (Covered_Interface_Primitives): New subprogram. + * sem_disp.adb (Covered_Interface_Primitives): New subprogram. + (Check_Dispatching_Context): Skip checking context of + dispatching calls during preanalysis of class-wide conditions + since at that stage the expression is not installed yet on its + definite context. + (Check_Dispatching_Call): Skip checking 6.1.1(18.2/5) by + AI12-0412 on helpers and wrappers internally built for + supporting class-wide conditions; for late-overriding + subprograms call Check_Inherited_Conditions to build the + dispatch-table wrapper (if required). + (Propagate_Tag): Adding call to + Install_Class_Preconditions_Check. + * sem_util.ads (Build_Class_Wide_Clone_Body): Removed. + (Build_Class_Wide_Clone_Call): Removed. + (Build_Class_Wide_Clone_Decl): Removed. + (Class_Condition): New subprogram. + (Nearest_Class_Condition_Subprogram): New subprogram. + * sem_util.adb (Build_Class_Wide_Clone_Body): Removed. + (Build_Class_Wide_Clone_Call): Removed. + (Build_Class_Wide_Clone_Decl): Removed. + (Class_Condition): New subprogram. + (Nearest_Class_Condition_Subprogram): New subprogram. + (Eligible_For_Conditional_Evaluation): No need to evaluate + class-wide conditions during preanalysis since the expression is + not installed on its definite context. + * einfo.ads (Class_Wide_Clone): Removed. + (Class_Postconditions): New attribute. + (Class_Preconditions): New attribute. + (Class_Preconditions_Subprogram): New attribute. + (Dynamic_Call_Helper): New attribute. + (Ignored_Class_Postconditions): New attribute. + (Ignored_Class_Preconditions): New attribute. + (Indirect_Call_Wrapper): New attribute. + (Is_Dispatch_Table_Wrapper): New attribute. + (Static_Call_Helper): New attribute. + * exp_attr.adb (Expand_N_Attribute_Reference): When the prefix + is of an access-to-subprogram type that has class-wide + preconditions and an indirect-call wrapper of such subprogram is + available, replace the prefix by the wrapper. + * exp_ch3.adb (Build_Class_Condition_Subprograms): New + subprogram. + (Register_Dispatch_Table_Wrappers): New subprogram. + * exp_disp.adb (Build_Class_Wide_Check): Removed; class-wide + precondition checks now rely on internally built helpers. + * sem_ch13.adb (Analyze_Aspect_Specifications): Set initial + value of attributes Class_Preconditions, Class_Postconditions, + Ignored_Class_Preconditions and Ignored_Class_Postconditions. + These values are later updated with the full pre/postcondition + by Merge_Class_Conditions. + (Freeze_Entity_Checks): Call + Process_Class_Conditions_At_Freeze_Point. + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove code + building the body of the class-wide clone subprogram since it is + no longer required. + (Install_Entity): Adding assertion. + * sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): Remove + code building and analyzing the class-wide clone subprogram; no + longer required. + (Build_Pragma_Check_Equivalent): Adjust call to + Build_Class_Wide_Expression since the formal named Needs_Wrapper + has been removed. + * sem_attr.adb (Analyze_Attribute_Old_Result): Skip processing + these attributes during preanalysis of class-wide conditions + since at that stage the expression is not installed yet on its + definite context. + * sem_res.adb (Resolve_Actuals): Skip applying RM 3.9.2(9/1) and + SPARK RM 6.1.7(3) on actuals of internal helpers and wrappers + built to support class-wide preconditions. + * sem_ch5.adb (Process_Bounds): Do not generate a constant + declaration for the bounds when we are preanalyzing a class-wide + condition. + (Analyze_Loop_Parameter_Specification): Handle preanalysis of + quantified expression placed in the outermost expression of a + class-wide condition. + * ghost.adb (Check_Ghost_Context): No check required during + preanalysis of class-wide conditions. + * gen_il-fields.ads (Opt_Field_Enum): Adding + Class_Postconditions, Class_Preconditions, + Class_Preconditions_Subprogram, Dynamic_Call_Helper, + Ignored_Class_Postconditions, Ignored_Class_Preconditions, + Indirect_Call_Wrapper, Is_Dispatch_Table_Wrapper, + Static_Call_Helper. + * gen_il-gen-gen_entities.adb (Is_Dispatch_Table_Wrapper): + Adding semantic flag Is_Dispatch_Table_Wrapper; removing + semantic field Class_Wide_Clone; adding semantic fields for + Class_Postconditions, Class_Preconditions, + Class_Preconditions_Subprogram, Dynamic_Call_Helper, + Ignored_Class_Postconditions, Indirect_Call_Wrapper, + Ignored_Class_Preconditions, and Static_Call_Helper. + +2021-10-01 Piotr Trojanek + + * comperr.adb (Delete_SCIL_Files): Handle generic subprogram + declarations and renaming just like generic package declarations + and renamings, respectively; handle + N_Subprogram_Renaming_Declaration. + +2021-10-01 Steve Baird + + * bcheck.adb (Check_Versions): Add support for the case where + the .ali file contains both a primary and a secondary version + number, as in "GNAT Lib v22.20210809". + +2021-10-01 Steve Baird + + * sem_res.adb (Resolve): Two separate fixes. In the case where + Find_Aspect for a literal aspect returns the aspect for a + different (ancestor) type, call Corresponding_Primitive_Op to + get the right callee. In the case where a downward tagged type + conversion appears to be needed, generate a null extension + aggregate instead, as per Ada RM 3.4(27). + * sem_util.ads, sem_util.adb: Add new Corresponding_Primitive_Op + function. It maps a primitive op of a tagged type and a + descendant type of that tagged type to the corresponding + primitive op of the descendant type. The body of this function + was written by Javier Miranda. + +2021-10-01 Bob Duff + + * atree.adb: Gather and print statistics about frequency of + getter and setter calls. + * atree.ads (Print_Statistics): New procedure for printing + statistics. + * debug.adb: Document -gnatd.A switch. + * gen_il-gen.adb: Generate code for statistics gathering. + Choose the offset of Homonym early. Misc cleanup. Put more + comments in the generated code. + * gen_il-internals.ads (Unknown_Offset): New value to indicate + that the offset has not yet been chosen. + * gnat1drv.adb: Call Print_Statistics. + * libgnat/s-imglli.ads: Minor comment fix. + * output.ads (Write_Int_64): New procedure to write a 64-bit + value. Needed for new statistics, and could come in handy + elsewhere. + * output.adb (Write_Int_64): Likewise. + * sinfo.ads: Remove obsolete comment. The xtreeprs program no + longer exists. + * types.ads: New 64-bit types needed for new statistics. + +2021-10-01 Dmitriy Anisimkov + + * libgnat/memtrack.adb (Putc): New routine wrapped around fputc + with error check. + (Write): New routine wrapped around fwrite with error check. + Remove bound functions fopen, fwrite, fputs, fclose, OS_Exit. + Use the similar routines from System.CRTL and System.OS_Lib. + +2021-10-01 Ed Schonberg + + * exp_aggr.adb (Must_Slide): If the aggregate only contains an + others_clause no sliding id involved. Otherwise sliding is + required if any bound of the aggregate or the context subtype is + non-static. + +2021-10-01 Richard Kenner + + * gen_il-gen-gen_nodes.adb (N_Is_Decl): Add. + * gen_il-types.ads (N_Is_Decl): Likewise. + +2021-10-01 Richard Kenner + + * gen_il-gen-gen_nodes.adb (N_Entity_Name): Add. + * gen_il-types.ads (N_Entity_Name): Likewise. + +2021-10-01 Steve Baird + + * bcheck.adb (Check_Versions): In the case of an ali file + version mismatch, if distinct integer values can be extracted + from the two version strings then include those values in the + generated error message. + +2021-10-01 Steve Baird + + * sem_elab.adb (Is_Safe_Call): Return True in the case of a + (possibly rewritten) call to an expression function. + +2021-10-01 Ghjuvan Lacambre + + * sem_aggr.adb (Resolve_Iterated_Component_Association): + Initialize Id_Typ to Any_Type by default. + +2021-10-01 Eric Botcazou + + * doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Document + that it works only with fixed-position executables. + +2021-10-01 Doug Rupp + + * libgnat/s-parame__vxworks.ads (time_t_bits): Change to + Long_Long_Integer'Size. + 2021-09-23 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity): Fix comment. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index cf6a309..fed7a2b 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,40 @@ +2021-10-01 Martin Sebor + + PR c/102103 + * c-common.c (decl_with_nonnull_addr_p): Handle members. + Check and perform warning suppression. + (c_common_truthvalue_conversion): Enhance warning suppression. + +2021-10-01 Martin Liska + + PR target/102552 + * c-common.c (parse_optimize_options): decoded_options[0] is + used for program name, so merged_decoded_options should also + respect that. + +2021-10-01 Jakub Jelinek + Richard Biener + + PR sanitizer/102515 + * c-ubsan.c (ubsan_instrument_division): Check the right + flag_sanitize_recover bit, depending on which sanitization + is done. Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW + rather than SANITIZE_DIVIDE. If both SANITIZE_SI_OVERFLOW + and SANITIZE_DIVIDE is enabled, neither check is known + to be false and flag_sanitize_recover bits for those two + aren't the same, emit both __ubsan_handle_divrem_overflow + and __ubsan_handle_divrem_overflow_abort calls. + +2021-10-01 Martin Liska + + * c-common.c (parse_optimize_options): Combine optimize + options with what was provided on the command line. + +2021-10-01 Jakub Jelinek + + * c-omp.c (c_omp_split_clauses): Also copy + OMP_CLAUSE_ORDER_REPRODUCIBLE. + 2021-09-27 Martin Liska * c-opts.c (c_common_init_options_struct): Set also diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 80ef735..73f6168 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,21 @@ +2021-10-01 Martin Sebor + + PR c/102103 + * c-typeck.c (maybe_warn_for_null_address): New function. + (build_binary_op): Call it. + +2021-10-01 Jakub Jelinek + Richard Biener + + PR sanitizer/102515 + * c-typeck.c (build_binary_op): Call ubsan_instrument_division + for division even for SANITIZE_SI_OVERFLOW. + +2021-10-01 Jakub Jelinek + + * c-parser.c (c_parser_omp_clause_order): Set + OMP_CLAUSE_ORDER_REPRODUCIBLE for explicit reproducible: modifier. + 2021-09-28 Andrew Pinski PR c/32122 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 579c528..b71b84a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,34 @@ +2021-10-01 Martin Sebor + + PR c/102103 + * typeck.c (warn_for_null_address): Enhance. + (cp_build_binary_op): Call it also for member pointers. + +2021-10-01 qingzhe huang + + PR c++/101783 + * tree.c (cp_build_qualified_type_real): Exclude typedef from + error. + +2021-10-01 Jakub Jelinek + Richard Biener + + PR sanitizer/102515 + * typeck.c (cp_build_binary_op): Call ubsan_instrument_division + for division even for SANITIZE_SI_OVERFLOW. + +2021-10-01 Jakub Jelinek + + * parser.c (cp_parser_omp_clause_order): Set + OMP_CLAUSE_ORDER_REPRODUCIBLE for explicit reproducible: modifier. + +2021-10-01 Jakub Jelinek + + PR c++/102496 + * name-lookup.c (push_local_extern_decl_alias): Return early even for + tls vars with non-dependent type when processing_template_decl. For + CP_DECL_THREAD_LOCAL_P vars call set_decl_tls_model on alias. + 2021-09-30 Patrick Palka PR c++/102535 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 94af00a..c9a1293 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,19 @@ +2021-10-01 Martin Sebor + + PR c/102103 + * array.c: Remove an unnecessary test. + * trans-array.c: Same. + +2021-10-01 Jakub Jelinek + + * gfortran.h (gfc_omp_clauses): Add order_reproducible bitfield. + * dump-parse-tree.c (show_omp_clauses): Print REPRODUCIBLE: for it. + * openmp.c (gfc_match_omp_clauses): Set order_reproducible for + explicit reproducible: modifier. + * trans-openmp.c (gfc_trans_omp_clauses): Set + OMP_CLAUSE_ORDER_REPRODUCIBLE for order_reproducible. + (gfc_split_omp_clauses): Also copy order_reproducible. + 2021-09-30 Harald Anlauf PR fortran/102458 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 49a2e69..cbc1ebb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,76 @@ +2021-10-01 Aldy Hernandez + + PR tree-optimization/102546 + * gcc.dg/tree-ssa/pr102546.c: New file. + +2021-10-01 Martin Sebor + + PR c/102103 + * g++.dg/cpp0x/constexpr-array-ptr10.C: Suppress a valid warning. + * g++.dg/warn/Wreturn-local-addr-6.C: Correct a cast. + * gcc.dg/Waddress.c: Expect a warning. + * c-c++-common/Waddress-3.c: New test. + * c-c++-common/Waddress-4.c: New test. + * g++.dg/warn/Waddress-5.C: New test. + * g++.dg/warn/Waddress-6.C: New test. + * g++.dg/warn/pr101219.C: Expect a warning. + * gcc.dg/Waddress-3.c: New test. + +2021-10-01 H.J. Lu + + * c-c++-common/tsan/atomic_stack.c: Don't expect print out from + __tsan_atomic32_fetch_add. + +2021-10-01 qingzhe huang + + PR c++/101783 + * g++.dg/parse/pr101783.C: New test. + +2021-10-01 Jakub Jelinek + Richard Biener + + PR sanitizer/102515 + * c-c++-common/ubsan/div-by-zero-3.c: Use + -fsanitize=signed-integer-overflow instead of + -fsanitize=integer-divide-by-zero. + * c-c++-common/ubsan/div-by-zero-5.c: Likewise. + * c-c++-common/ubsan/div-by-zero-4.c: Likewise. Add + -fsanitize-undefined-trap-on-error. + * c-c++-common/ubsan/float-div-by-zero-2.c: New test. + * c-c++-common/ubsan/overflow-div-1.c: New test. + * c-c++-common/ubsan/overflow-div-2.c: New test. + * c-c++-common/ubsan/overflow-div-3.c: New test. + +2021-10-01 Kyrylo Tkachov + + * gcc.target/aarch64/cpymem-size.c: Adjust scan for ilp32. + +2021-10-01 Andrew Pinski + + * gcc.dg/vect/bb-slp-pr97709.c: Fix for computed goto + pointers. + +2021-10-01 Martin Liska + + * gcc.target/i386/avx512er-vrsqrt28ps-3.c: Disable fast math. + * gcc.target/i386/avx512er-vrsqrt28ps-5.c: Likewise. + * gcc.target/i386/attr-optimize.c: New test. + +2021-10-01 Jakub Jelinek + + * gfortran.dg/gomp/order-5.f90: Adjust scan-tree-dump-times regexps. + +2021-10-01 Jakub Jelinek + + PR c++/102496 + * g++.dg/tls/pr102496-1.C: New test. + * g++.dg/tls/pr102496-2.C: New test. + +2021-10-01 Richard Biener + + PR middle-end/102518 + * gcc.dg/torture/pr102518.c: New testcase. + 2021-09-30 David Edelsohn * gfortran.dg/c-interop/cf-descriptor-5-c.c: Include alloca.h. diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 3e3b9b0..2086925 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,32 @@ +2021-10-01 Tobias Burnus + + * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check. + * testsuite/libgomp.fortran/alloc-7.f90: Fix array access. + * testsuite/libgomp.fortran/alloc-8.f90: Likewise. + * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc, + based on libgomp.c-c++-common/alloc-9.c. + +2021-10-01 Jakub Jelinek + + * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test. + * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test. + +2021-10-01 Jakub Jelinek + + * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add + ialias_redirect. + * env.c (handle_omp_display_env): Use ialias_call. + * icv-device.c: Move ialias right below each function. + (omp_get_device_num): Use ialias_call. + * fortran.c (omp_fulfill_event): Add ialias_redirect. + * icv.c (omp_get_active_level): Add ialias_redirect. + +2021-10-01 Jakub Jelinek + + * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add + __alloc_align__ (1) attribute. + * testsuite/libgomp.c-c++-common/alloc-9.c: New test. + 2021-09-30 Tobias Burnus * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 6988ffd..ff9c5d7 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,7 @@ +2021-10-01 Luís Ferreira + + * testsuite/d-demangle-expected: Add missing format for new test + 2021-09-23 Luís Ferreira * d-demangle.c (dlang_Type): Validate MANGLED is nonnull. diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog index bf7c4b4..64d0194 100644 --- a/libsanitizer/ChangeLog +++ b/libsanitizer/ChangeLog @@ -1,3 +1,7 @@ +2021-10-01 H.J. Lu + + * LOCAL_PATCHES: Update to the corresponding revision. + 2021-08-11 Jakub Jelinek * sanitizer_common/sanitizer_common_interceptors.inc: Cherry-pick diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 453f4f4..a03bec8 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,295 @@ +2021-10-01 Jonathan Wakely + + PR libstdc++/102100 + * include/Makefile.am (c++config.h): Define + _GLIBCXX_VERBOSE_ASSERT based on configure output. + * include/Makefile.in: Regenerate. + * include/bits/c++config: Fix condition for verbose assertions. + +2021-10-01 Jonathan Wakely + + PR libstdc++/92546 + * include/bits/erase_if.h (__erase_nodes_if): Use __niter_base to + unwrap debug iterators. + * include/bits/refwrap.h: Do not error if included in C++03. + * include/bits/stl_algo.h (__remove_if): Move to ... + * include/bits/stl_algobase.h (__remove_if): ... here. + * include/std/deque (erase, erase_if): Use __remove_if instead of + remove and remove_if. + * include/std/string (erase, erase_if): Likewise. + * include/std/vector (erase, erase_if): Likewise. + +2021-10-01 Jonathan Wakely + + PR libstdc++/66742 + * include/bits/list.tcc (list::sort()): Use _Scratch_list + objects for splicing and merging. + (list::sort(StrictWeakOrdering)): Likewise. + * include/bits/stl_list.h (__detail::_Scratch_list): New type. + * src/c++98/list.cc (_List_node_base::_M_transfer): Add + assertion for --enable-libstdcxx-debug library. + * testsuite/23_containers/list/operations/66742.cc: New test. + +2021-10-01 Jonathan Wakely + + PR libstdc++/100612 + * include/std/thread (__pmf_expects_stop_token): New variable + template to detect a pointer to member function that needs a + stop_token to be added to the arguments. + (jthread::__S_create): Use __pmf_expects_stop_token. + (jthread::__S_create_pmf): New function. + * testsuite/30_threads/jthread/100612.cc: New test. + +2021-10-01 Jonathan Wakely + + * include/bits/stl_queue.h + (__cpp_lib_adaptor_iterator_pair_constructor): Define for C++23, as + per P1425R4. + (queue(InputIterator, InputIterator)): Likewise. + (queue(InputIterator, InputIterator, const Alloc&)): Likewise. + * include/bits/stl_stack.h + (__cpp_lib_adaptor_iterator_pair_constructor): Likewise. + (stack(InputIterator, InputIterator)): Likewise. + (stack(InputIterator, InputIterator, const Alloc&)): Likewise. + * include/std/version (__cpp_lib_adaptor_iterator_pair_constructor): + Define. + * testsuite/23_containers/queue/cons_from_iters.cc: New test. + * testsuite/23_containers/stack/cons_from_iters.cc: New test. + +2021-10-01 Jonathan Wakely + + * include/bits/stl_queue.h (priority_queue): Add + allocator-extended overloads for constructors taking iterator. + * testsuite/23_containers/priority_queue/lwg3506.cc: New test. + +2021-10-01 Jonathan Wakely + + * include/bits/stl_queue.h (priority_queue): Construct sequence + from iterators when no sequence argument is present (LWG 3529). + * testsuite/23_containers/priority_queue/lwg3529.cc: New test. + +2021-10-01 Jonathan Wakely + + * include/bits/stl_queue.h (priority_queue): Constrain + constructors with InputIterator parameters (LWG 3522). + * testsuite/23_containers/priority_queue/lwg3522.cc: New test. + +2021-10-01 Jonathan Wakely + + * include/bits/ranges_base.h (ranges::distance): Split overload + into two (LWG 3392). + * testsuite/24_iterators/range_operations/lwg3392.cc: New test. + +2021-10-01 Jonathan Wakely + + * testsuite/30_threads/thread/cons/3.cc: Remove derivation from + std::unary_function. + * testsuite/30_threads/thread/cons/4.cc: Likewise. + * testsuite/30_threads/thread/cons/5.cc: Likewise. + +2021-10-01 Jonathan Wakely + + * testsuite/ext/pb_ds/example/basic_multimap.cc: Remove + unnecesary derivation from std::unary_function. + * testsuite/ext/pb_ds/example/erase_if.cc: Likewise. + * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise. + * testsuite/ext/pb_ds/example/hash_initial_size.cc: Likewise. + * testsuite/ext/pb_ds/example/hash_load_set_change.cc: Likewise. + * testsuite/ext/pb_ds/example/hash_mod.cc: Likewise. + * testsuite/ext/pb_ds/example/hash_resize.cc: Likewise. + * testsuite/ext/pb_ds/example/hash_shift_mask.cc: Likewise. + * testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc: + Likewise. + * testsuite/ext/pb_ds/example/ranged_hash.cc: Likewise. + * testsuite/ext/pb_ds/example/store_hash.cc: Likewise. + +2021-10-01 Jonathan Wakely + + * src/c++11/functexcept.cc (__throw_out_of_range_fmt): Do not + expand the format string for freestanding, or non-vebose, or if + we're just going to abort anyway. + * src/c++11/snprintf_lite.cc: Remove unused header and + declaration. + +2021-10-01 Jonathan Wakely + + * include/std/variant (__do_visit): Use variant_npos instead of + literal -1 that requires a narrowing conversion. + +2021-10-01 Jonathan Wakely + + PR libstdc++/99327 + * src/filesystem/ops-common.h (__unsupported): New function to + return a suitable error code for missing functionality. + (posix::off_t): New typedef. + (posix::*): Set errno to ENOSYS instead of ENOTSUP for no-op + fallback implementations. + (do_copy_file): Replace uses of errc::not_supported. + * src/c++17/fs_ops.cc (fs::copy, fs::copy_file, create_dir) + (fs::create_directory, fs::create_directory_symlink) + (fs::create_hard_link, fs::create_symlink, fs::current_path) + (fs::equivalent, do_stat, fs::file_size, fs::hard_link_count) + (fs::last_write_time, fs::permissions, fs::read_symlink): + Replace uses of errc::not_supported. + (fs::resize_file): Qualify off_t. + * src/filesystem/ops.cc (fs::copy, fs::copy_file, create_dir) + (fs::create_directory, fs::create_directory_symlink) + (fs::create_hard_link, fs::create_symlink, fs::current_path) + (fs::equivalent, do_stat, fs::file_size, fs::last_write_time) + (fs::permissions, fs::read_symlink, fs::system_complete): + Replace uses of errc::not_supported. + (fs::resize_file): Qualify off_t and enable unconditionally. + * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise. + +2021-10-01 Jonathan Wakely + + * src/filesystem/ops-common.h (last_error): New helper function. + (filesystem::do_space): Use last_error(). + * src/c++17/fs_ops.cc (fs::absolute, fs::create_hard_link) + (fs::equivalent, fs::remove, fs::temp_directory_path): Use + last_error(). + * src/filesystem/ops.cc (fs::create_hard_link) + (fs::remove, fs::temp_directory_path): Likewise. + +2021-10-01 Jonathan Wakely + + * include/std/type_traits (__conditional): New class template + for internal uses of std::conditional. + (__conditional_t): New alias template to replace conditional_t. + (__and_, __or_, __result_of_memfun, __result_of_memobj): Use + __conditional_t instead of conditional::type. + * include/bits/atomic_base.h (__atomic_impl::_Diff): Likewise. + * include/bits/hashtable.h (_Hashtable): Likewise. + * include/bits/hashtable_policy.h (_Node_iterator, _Insert_base) + (_Local_iterator): Likewise. Replace typedefs with + using-declarations. + * include/bits/move.h (move_if_noexcept): Use __conditional_t. + * include/bits/parse_numbers.h (_Select_int_base): Likewise. + * include/bits/ptr_traits.h (__make_not_void): Likewise. + * include/bits/ranges_algobase.h (__copy_or_move_backward) + (__copy_or_move): Likewise. + * include/bits/ranges_base.h (borrowed_iterator_t): Likewise. + * include/bits/ranges_util.h (borrowed_subrange_t): Likewise. + * include/bits/regex_compiler.h (_BracketMatcher): Use + __conditional_t. Replace typedefs with using-declarations. + * include/bits/shared_ptr_base.h (__shared_count): Use + __conditional_t. + * include/bits/stl_algobase.h (__copy_move, __copy_move_backward): + Likewise. + * include/bits/stl_iterator.h (__detail::__clamp_iter_cat) + (reverse_iterator::iterator_concept) + (__make_move_if_noexcept_iterator) + (iterator_traits>) + (iterator_traits>): Likewise. + * include/bits/stl_pair.h (_PCC, pair::operator=): Likewise. + * include/bits/stl_tree.h (_Rb_tree::insert_return_type) + (_Rb_tree::_M_clone_node): Likewise. + * include/bits/unique_ptr.h (unique_ptr(unique_ptr&&)): + Likewise. + * include/bits/uses_allocator.h (__uses_alloc): Likewise. + (__is_uses_allocator_predicate): Likewise. + * include/debug/functions.h (__foreign_iterator_aux2): Likewise. + * include/experimental/any (any::_Manager, __any_caster): + Likewise. + * include/experimental/executor (async_completion): Likewise. + * include/experimental/functional (__boyer_moore_base_t): + Likewise. + * include/std/any (any::_Manager): Likewise. + * include/std/functional (__boyer_moore_base_t): Likewise. + * include/std/ranges (borrowed_iterator_t) + (borrowed_subrange_t, __detail::__maybe_present_t) + (__detail::__maybe_const_t, split_view): Likewise. + * include/std/tuple (__empty_not_final, tuple::operator=): + Likewise. + * include/std/variant (__detail::__variant::__get_t): Likewise. + +2021-10-01 Jonathan Wakely + + PR libstdc++/78113 + * include/std/variant (__do_visit): Use a switch when we have a + single variant with a small number of alternatives. + +2021-10-01 Jonathan Wakely + + PR libstdc++/90943 + * include/std/variant (__cpp_lib_variant): Update value. + (__detail::__variant::__as): New helpers implementing the + as-variant exposition-only function templates. + (visit, visit): Use __as to upcast the variant parameters. + * include/std/version (__cpp_lib_variant): Update value. + * testsuite/20_util/variant/visit_inherited.cc: New test. + +2021-10-01 Jonathan Wakely + + * include/bits/stl_iterator.h (__normal_iterator): Simplify + converting constructor and do not require _Container::pointer. + +2021-10-01 Jonathan Wakely + + * include/bits/cow_string.h [_GLIBCXX_FULLY_DYNAMIC_STRING] + (basic_string(basic_string&&)): Add noexcept and avoid + allocation, by sharing rep with the rvalue string. + +2021-10-01 Jonathan Wakely + + * include/bits/stl_iterator.h (common_iterator::__arrow_proxy) + (common_iterator::__postfix_proxy): Add noexcept. + +2021-10-01 Jonathan Wakely + + PR libstdc++/94418 + * include/bits/stl_iterator.h (reverse_iterator): Use + conditional noexcept on constructors and assignment operators. + * testsuite/24_iterators/reverse_iterator/noexcept.cc: New test. + +2021-10-01 Jonathan Wakely + + PR libstdc++/100153 + * include/bits/vector.tcc (vector::_M_shrink_to_fit()): + When size() is zero just deallocate and reset. + +2021-10-01 Jonathan Wakely + + PR libstdc++/96733 + * include/bits/stl_algo.h (clamp): Use std::min and std::max. + +2021-10-01 Jonathan Wakely + + * include/bits/regex.h (basic_regex::multiline): Define for + non-strict C++11 and C++14 modes. + * include/bits/regex_constants.h (regex_constants::multiline): + Add _GLIBCXX_RESOLVE_LIB_DEFECTS comment. + +2021-10-01 Jonathan Wakely + + * testsuite/25_algorithms/is_permutation/2.cc: Include . + +2021-10-01 Jonathan Wakely + + * include/bits/stream_iterator.h (istream_iterator): Add + noexcept to constructors and non-throwing member functions and + friend functions. + (ostream_iterator): Likewise. + +2021-10-01 Jonathan Wakely + + * include/bits/boost_concept_check.h (_Is_vector_bool_iterator): + New trait to identify vector iterators, including debug + ones. + (_ForwardIteratorReferenceConcept): Add default template + argument using _Is_vector_bool_iterator and use it in partial + specialization for the vector cases. + (_Mutable_ForwardIteratorReferenceConcept): Likewise. + * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error + line number. + +2021-10-01 Jonathan Wakely + + * include/bits/list.tcc (list::merge): Remove call to size() and + try-catch block. Use _Finalize_merge instead. + * include/bits/stl_list.h (list::_Finalize_merge): New + scope guard type to update _M_size members after a merge. + 2021-09-30 Jonathan Wakely * include/bits/regex.h (basic_regex::multiline): Fix #if -- 2.7.4