diff options
author | GCC Administrator <gccadmin@gcc.gnu.org> | 2022-12-07 00:18:44 +0000 |
---|---|---|
committer | GCC Administrator <gccadmin@gcc.gnu.org> | 2022-12-07 00:18:44 +0000 |
commit | 3fe66f7f9f0940cbaf5a21366ecdc6c57360b2f1 (patch) | |
tree | 480d0fd10a1e32769ffe9c419faa7b0badb4f727 /gcc | |
parent | dfe2ef7f2b6cac7017f32a0a04f74e1b6d9f1311 (diff) | |
download | gcc-3fe66f7f9f0940cbaf5a21366ecdc6c57360b2f1.zip gcc-3fe66f7f9f0940cbaf5a21366ecdc6c57360b2f1.tar.gz gcc-3fe66f7f9f0940cbaf5a21366ecdc6c57360b2f1.tar.bz2 |
Daily bump.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 102 | ||||
-rw-r--r-- | gcc/DATESTAMP | 2 | ||||
-rw-r--r-- | gcc/ada/ChangeLog | 182 | ||||
-rw-r--r-- | gcc/analyzer/ChangeLog | 64 | ||||
-rw-r--r-- | gcc/c/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 78 |
6 files changed, 432 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 77a72e4..2e6869f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,105 @@ +2022-12-06 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64.cc (aarch64_bitmask_imm): Use unsigned type. + (aarch64_is_mov_xn_imm): New function. + (aarch64_move_imm): Refactor, assert mode is SImode or DImode. + (aarch64_internal_mov_immediate): Assert mode is SImode or DImode. + Simplify special cases. + (aarch64_uimm12_shift): Simplify code. + (aarch64_clamp_to_uimm12_shift): Likewise. + (aarch64_movw_imm): Rename to aarch64_is_movz. + (aarch64_float_const_rtx_p): Pass either SImode or DImode to + aarch64_internal_mov_immediate. + (aarch64_rtx_costs): Likewise. + * config/aarch64/aarch64.md (movdi_aarch64): Merge 'N' and 'M' + constraints into single 'O'. + (mov<mode>_aarch64): Likewise. + * config/aarch64/aarch64-protos.h (aarch64_move_imm): Use unsigned. + (aarch64_bitmask_imm): Likewise. + (aarch64_uimm12_shift): Likewise. + (aarch64_is_mov_xn_imm): New prototype. + * config/aarch64/constraints.md: Add 'O' for 32/64-bit immediates, + limit 'N' to 64-bit only moves. + +2022-12-06 Qing Zhao <qing.zhao@oracle.com> + + * attribs.cc (strict_flex_array_level_of): New function. + * attribs.h (strict_flex_array_level_of): Prototype for new function. + * doc/invoke.texi: Update -Warray-bounds by specifying the impact from + -fstrict-flex-arrays. Also update -Warray-bounds=2 by eliminating its + impact on treating trailing arrays as flexible array members. + * gimple-array-bounds.cc (get_up_bounds_for_array_ref): New function. + (check_out_of_bounds_and_warn): New function. + (array_bounds_checker::check_array_ref): Update with call to the above + new functions. + * tree.cc (array_ref_flexible_size_p): Add one new argument. + (component_ref_sam_type): New function. + (component_ref_size): Control with level of strict-flex-array. + * tree.h (array_ref_flexible_size_p): Update prototype. + (enum struct special_array_member): Add two new enum values. + (component_ref_sam_type): New prototype. + +2022-12-06 David Malcolm <dmalcolm@redhat.com> + + * doc/analyzer.texi: Drop out-of-date ideas for other checkers. + +2022-12-06 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (ANALYZER_OBJS): Add analyzer/call-details.o, + analyzer/kf-analyzer.o, and kf-lang-cp.o. + +2022-12-06 Marcel Vollweiler <marcel@codesourcery.com> + + * gimplify.cc (optimize_target_teams): Set initial num_teams_upper + to "-2" instead of "1" for non-existing num_teams clause in order to + disambiguate from the case of an existing num_teams clause with value 1. + +2022-12-06 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR target/107987 + * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>, + @mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar + operand. + +2022-12-06 Jakub Jelinek <jakub@redhat.com> + + PR target/107969 + * config/i386/i386.md (cbranchbf4, cstorebf4): Guard expanders + with the same condition as cbranchsf4 or cstoresf4 expanders. + +2022-12-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104475 + * pointer-query.h (access_ref::ref_nullptr_p): New flag. + * pointer-query.cc (access_ref::access_ref): Initialize + ref_nullptr_p. + (compute_objsize_r): Set ref_nullptr_p if we treat it that way. + (access_ref::inform_access): If ref was treated as nullptr + based, indicate that. + +2022-12-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107972 + * range-op-float.cc (frange_drop_infs): New function. + (float_binary_op_range_finish): Add DIV_OP2 argument. If DIV_OP2 is + false and lhs is finite or if DIV_OP2 is true and lhs is non-zero and + not NAN, r must be finite too. + (foperator_div::op2_range): Pass true to DIV_OP2 of + float_binary_op_range_finish. + +2022-12-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107975 + * range-op-float.cc (foperator_mult::op1_range, + foperator_div::op1_range, foperator_div::op2_range): Just + return float_binary_op_range_finish result if lhs is known + NAN, or the other operand is known NAN or UNDEFINED. + +2022-12-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Use dup + and zip1 for interleaving elements in vector initializer. + 2022-12-05 Richard Biener <rguenther@suse.de> PR middle-end/40635 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index b55757e..ec18fda0 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20221206 +20221207 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index e9c804b..7ecefd8 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,185 @@ +2022-12-06 Yannick Moy <moy@adacore.com> + + * contracts.adb (Add_Contract_Item): Allow No_Caching on types. + (Check_Type_Or_Object_External_Properties): Check No_Caching. + Check that non-effectively volatile types does not contain an + effectively volatile component (instead of just a volatile + component). + (Analyze_Object_Contract): Remove shared checking of No_Caching. + * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Adapt checking + of No_Caching for types. + (Analyze_Pragma): Allow No_Caching on types. + * sem_util.adb (Has_Effectively_Volatile_Component): New query function. + (Is_Effectively_Volatile): Type with Volatile and No_Caching is not + effectively volatile. + (No_Caching_Enabled): Remove assertion to apply to all entities. + * sem_util.ads: Same. + +2022-12-06 Javier Miranda <miranda@adacore.com> + + * exp_ch6.adb + (Build_Static_Check_Helper_Call): Perform implicit type conversion + to ensure matching types and avoid reporting spurious errors. + +2022-12-06 Eric Botcazou <ebotcazou@adacore.com> + + * sem_warn.adb (Warn_On_Constant_Valid_Condition): Bail out for a + membership test with a mark for a subtype that is predicated. + +2022-12-06 Eric Botcazou <ebotcazou@adacore.com> + + * sem_elab.adb (Processing_In_State): Add Within_Freezing_Actions + component. + (Process_Conditional_ABE_Call): Compute its value. + (Process_Conditional_ABE_Call_SPARK): For a call and a target in + the main unit, do not emit any ABE diagnostics if the call occurs + in a freezing actions context. + +2022-12-06 Eric Botcazou <ebotcazou@adacore.com> + + * einfo.ads (Actual_Subtype): Document additional usage. + * exp_aggr.adb (Expand_Array_Aggregate): Replace test on + Is_Build_In_Place_Return_Object with Is_Special_Return_Object. + * exp_ch3.adb (Expand_N_Object_Declaration): Factor out parts of the + processing done for build-in-place return objects and reuse them to + implement a similar processing for specific return objects. + * exp_ch4.adb (Expand_Allocator_Expression): Do not generate a tag + assignment or an adjustment if the allocator was made for a special + return object. + (Expand_Concatenate): If the result is allocated on the secondary + stack, use an unconstrained allocation. + * exp_ch6.ads (Apply_CW_Accessibility_Check): New declaration. + (Is_By_Reference_Return_Object): Likewise. + (Is_Secondary_Stack_Return_Object): Likewise. + (Is_Special_Return_Object): Likewise. + * exp_ch6.adb (Expand_Ctrl_Function_Call): Do not bail out for the + expression in the declaration of a special return object. + (Expand_N_Extended_Return_Statement): Add missing guard and move + the class-wide accessibility check to Expand_N_Object_Declaration. + (Expand_Simple_Function_Return): Delete obsolete commentary. + Skip the special processing for types that require finalization or + are returned on the secondary stack if the return originally comes + from an extended return statement. Add missing Constant_Present. + (Is_By_Reference_Return_Object): New predicate. + (Is_Secondary_Stack_Return_Object): Likewise. + (Is_Special_Return_Object): Likewise. + * exp_util.adb (Is_Related_To_Func_Return): Also return true if the + parent of the expression is the renaming declaration generated for + the expansion of a return object. + * gen_il-fields.ads (Opt_Field_Enum): Replace Alloc_For_BIP_Return + with For_Special_Return_Object. + * gen_il-gen-gen_nodes.adb (N_Allocator): Likewise. + * gen_il-internals.adb (Image): Remove Alloc_For_BIP_Return. + * sem_ch3.adb (Check_Return_Subtype_Indication): New procedure + moved from sem_ch6.adb. + (Analyze_Object_Declaration): Call it on a return object. + * sem_ch4.adb: Add with and use clauses for Rtsfind. + (Analyze_Allocator): Test For_Special_Return_Object to skip checks + for allocators made for special return objects. + Do not report restriction violations for the return stack pool. + * sem_ch5.adb (Analyze_Assignment.Set_Assignment_Type): Return the + Actual_Subtype for return objects that live on the secondary stack. + * sem_ch6.adb (Check_Return_Subtype_Indication): Move procedure to + sem_ch3.adb. + (Analyze_Function_Return): Do not call above procedure. + * sem_res.adb (Resolve_Allocator): Replace Alloc_For_BIP_Return + with For_Special_Return_Object. + * sinfo.ads: Likewise. + * treepr.adb (Image): Remove Alloc_For_BIP_Return. + * gcc-interface/trans.cc (gnat_to_gnu): Do not convert to the result + type in the unconstrained array type case if the parent is a simple + return statement. + +2022-12-06 Eric Botcazou <ebotcazou@adacore.com> + + * sem_res.adb (Resolve_Membership_Op): Adjust latest change. + +2022-12-06 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch4.adb (Expand_N_In) <Substitute_Valid_Check>: Rename to... + <Substitute_Valid_Test>: ...this. + Use Is_Entity_Name to test for the presence of entity references. + Do not warn or substitute a valid test for a test with a mark for + a subtype that is predicated. + Apply the same transformation for a test with a mark for a subtype + that is predicated as for a subtype that is not. + Remove useless return statement. + * sem_res.adb (Resolve_Membership_Op): Perform a special resolution + if the left operand is of a universal numeric type. + +2022-12-06 Justin Squirek <squirek@adacore.com> + + * accessibility.adb, accessibility.ads + (Accessibility_Message): Moved from sem_attr. + (Apply_Accessibility_Check): Moved from checks. + (Apply_Accessibility_Check_For_Allocator): Moved from exp_ch4 and + renamed + (Check_Return_Construct_Accessibility): Moved from sem_ch6. + (Innermost_Master_Scope_Depth): Moved from sem_util. Add condition + to detect expanded iterators. + (Prefix_With_Safe_Accessibility_Level): Moved from sem_attr. + (Static_Accessibility_Level): Moved from sem_util. + (Has_Unconstrained_Access_Discriminants): Likewise. + (Has_Anonymous_Access_Discriminant): Likewise. + (Is_Anonymous_Access_Actual): Likewise. + (Is_Special_Aliased_Formal_Access): Likewise. + (Needs_Result_Accessibility_Level): Likewise. + (Subprogram_Access_Level): Likewise. + (Type_Access_Level): Likewise. + (Deepest_Type_Access_Level): Likewise. + (Effective_Extra_Accessibility): Likewise. + (Get_Dynamic_Accessibility): Likewise. + (Has_Access_Values): Likewise. + (Accessibility_Level): Likewise. + * exp_attr.adb (Access_Cases): Obtain the proper enclosing object + which applies to a given 'Access by looking through type + conversions. + * exp_ch4.adb (Apply_Accessibility_Check): Moved to accessibility. + * exp_ch5.adb: Likewise. + * exp_ch6.adb: Likewise. + * exp_ch9.adb: Likewise. + * exp_disp.adb: Likewise. + * gen_il-fields.ads: Add new flag Comes_From_Iterator. + * gen_il-gen-gen_nodes.adb: Add new flag Comes_From_Iterator for + N_Object_Renaming_Declaration. + * sem_ch5.adb (Analyze_Iterator_Specification): Mark object + renamings resulting from iterator expansion with the new flag + Comes_From_Iterator. + * sem_aggr.adb (Resolve_Container_Aggregate): Refine test. + * sem_ch13.adb: Add dependence on the accessibility package. + * sem_ch3.adb: Likewise. + * sem_ch4.adb: Likewise. + * sem_ch9.adb: Likewise. + * sem_res.adb: Likewise. + * sem_warn.adb: Likewise. + * exp_ch3.adb: Likewise. + * sem_attr.adb (Accessibility_Message): Moved to accessibility. + (Prefix_With_Safe_Accessibility_Level): Likewise. + * checks.adb, checks.ads (Apply_Accessibility_Check): Likewise. + * sem_ch6.adb (Check_Return_Construct_Accessibility): Likewise. + * sem_util.adb, sem_util.ads + (Accessibility_Level): Likewise. + (Deepest_Type_Access_Level): Likewise. + (Effective_Extra_Accessibility): Likewise. + (Get_Dynamic_Accessibility): Likewise. + (Has_Access_Values): Likewise. + (Has_Anonymous_Access_Discriminant): Likewise. + (Static_Accessibility_Level): Likewise. + (Has_Unconstrained_Access_Discriminants): Likewise. + (Is_Anonymous_Access_Actual): Likewise. + (Is_Special_Aliased_Formal_Access): Likewise. + (Needs_Result_Accessibility_Level): Likewise. + (Subprogram_Access_Level): Likewise. + (Type_Access_Level): Likewise. + * sinfo.ads: Document new flag Comes_From_Iterator. + * gcc-interface/Make-lang.in: Add entry for new Accessibility package. + +2022-12-06 Liaiss Merzougue <merzougue@adacore.com> + + * libgnat/i-c.adb (To_C): Simplify code for having a single + exception raise. Add pragma annotate about uninitialized value + which happen only on exception raising. + 2022-12-01 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/trans.cc (get_storage_model_access): Strip any type diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index 7ea99c1..9a4bb25 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,67 @@ +2022-12-06 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107882 + * region-model.cc (region_model::get_store_value): Return an + unknown value for empty regions. + (region_model::set_value): Bail on empty regions. + * region.cc (region::empty_p): New. + * region.h (region::empty_p): New decl. + * state-purge.cc (same_binding_p): Bail if either region is empty. + * store.cc (binding_key::make): Assert that a concrete binding's + bit_size must be > 0. + (binding_cluster::mark_region_as_unknown): Bail on empty regions. + (binding_cluster::get_binding): Likewise. + (binding_cluster::remove_overlapping_bindings): Likewise. + (binding_cluster::on_unknown_fncall): Don't conjure values for + empty regions. + (store::fill_region): Bail on empty regions. + * store.h (class concrete_binding): Update comment to reflect that + the range of bits must be non-empty. + (concrete_binding::concrete_binding): Assert that bit range is + non-empty. + +2022-12-06 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106325 + * region-model-manager.cc + (region_model_manager::get_or_create_null_ptr): New. + * region-model-manager.h + (region_model_manager::get_or_create_null_ptr): New decl. + * region-model.cc (region_model::on_top_level_param): Add + "nonnull" param and make use of it. + (region_model::push_frame): When handling a top-level entrypoint + to the analysis, determine which params __attribute__((nonnull)) + applies to, and pass to on_top_level_param. + * region-model.h (region_model::on_top_level_param): Add "nonnull" + param. + +2022-12-06 David Malcolm <dmalcolm@redhat.com> + + * analyzer.h (register_known_analyzer_functions): New decl. + (register_known_functions_lang_cp): New decl. + * call-details.cc: New file, split out from + region-model-impl-calls.cc. + * call-details.h: New file, split out from region-model.h. + * call-info.cc: Include "analyzer/call-details.h". + * call-summary.h: Likewise. + * kf-analyzer.cc: New file, split out from + region-model-impl-calls.cc. + * kf-lang-cp.cc: Likewise. + * known-function-manager.cc: Include "analyzer/call-details.h". + * region-model-impl-calls.cc: Move definitions of call_details's + member functions to call-details.cc. Move class kf_analyzer_* to + kf-analyzer.cc. Move kf_operator_new and kf_operator_delete to + kf-lang-cp.cc. Refresh #includes accordingly. + (register_known_functions): Replace registration of __analyzer_* + functions with a call to register_known_analyzer_functions. + Replace registration of C++ support functions with a call to + register_known_functions_lang_cp. + * region-model.h (class call_details): Move to new call-details.h. + * sm-fd.cc: Include "analyzer/call-details.h". + * sm-file.cc: Likewise. + * sm-malloc.cc: Likewise. + * varargs.cc: Likewise. + 2022-12-02 David Malcolm <dmalcolm@redhat.com> * analyzer.h (struct event_loc_info): New forward decl. diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 956e47c..758b130 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,8 @@ +2022-12-06 Qing Zhao <qing.zhao@oracle.com> + + * c-decl.cc (is_flexible_array_member_p): Call new function + strict_flex_array_level_of. + 2022-11-24 Florian Weimer <fweimer@redhat.com> PR c/107805 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1ba793d..5058218 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,81 @@ +2022-12-06 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/107882 + * gcc.dg/analyzer/memcpy-pr107882.c: New test. + +2022-12-06 Qing Zhao <qing.zhao@oracle.com> + + * gcc.dg/Warray-bounds-11.c: Update warnings for -Warray-bounds=2. + * gcc.dg/Warray-bounds-flex-arrays-1.c: New test. + * gcc.dg/Warray-bounds-flex-arrays-2.c: New test. + * gcc.dg/Warray-bounds-flex-arrays-3.c: New test. + * gcc.dg/Warray-bounds-flex-arrays-4.c: New test. + * gcc.dg/Warray-bounds-flex-arrays-5.c: New test. + * gcc.dg/Warray-bounds-flex-arrays-6.c: New test. + +2022-12-06 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106325 + * gcc.dg/analyzer/attr-nonnull-pr106325.c: New test. + * gcc.dg/analyzer/attribute-nonnull.c (test_6): New. + (test_7): New. + +2022-12-06 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/analyzer_kernel_plugin.c: Include + "analyzer/call-details.h". + * gcc.dg/plugin/analyzer_known_fns_plugin.c: Likewise. + +2022-12-06 Marcel Vollweiler <marcel@codesourcery.com> + + * c-c++-common/gomp/target-teams-1.c: Adapt expected values for + num_teams from "1" to "-2" in cases without num_teams clause. + * g++.dg/gomp/target-teams-1.C: Likewise. + * gfortran.dg/gomp/defaultmap-4.f90: Likewise. + * gfortran.dg/gomp/defaultmap-5.f90: Likewise. + * gfortran.dg/gomp/defaultmap-6.f90: Likewise. + +2022-12-06 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.target/arm/mve/pr107987.c: New test. + +2022-12-06 Jakub Jelinek <jakub@redhat.com> + + PR target/107969 + * gcc.target/i386/pr107969.c: New test. + +2022-12-06 Jakub Jelinek <jakub@redhat.com> + + PR testsuite/107046 + * gcc.c-torture/execute/ieee/ieee.exp: For rx-*-* append + -mnofpu. + +2022-12-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107975 + * gcc.dg/pr107975.c: New test. + +2022-12-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104165 + * g++.dg/warn/Warray-bounds-pr104165-1.C: New testcase. + +2022-12-06 Iain Sandoe <iain@sandoe.co.uk> + + * gcc.target/x86_64/abi/bf16/abi-bf16.exp: Use separate asm for Darwin. + * gcc.target/x86_64/abi/bf16/m256bf16/abi-bf16-ymm.exp: Likewise. + * gcc.target/x86_64/abi/bf16/m512bf16/abi-bf16-zmm.exp: Likewise. + * gcc.target/x86_64/abi/bf16/args.h: Make xmm_regs, x87_regs extern. + * gcc.target/x86_64/abi/bf16/m256bf16/args.h: Likewise. + * gcc.target/x86_64/abi/bf16/m512bf16/args.h: Likewise. + * gcc.target/x86_64/abi/bf16/asm-support-darwin.S: New file. + * gcc.target/x86_64/abi/bf16/m256bf16/asm-support-darwin.S: New file. + * gcc.target/x86_64/abi/bf16/m512bf16/asm-support-darwin.S: New file. + +2022-12-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + * gcc.target/aarch64/interleave-init-1.c: New test. + 2022-12-05 Richard Biener <rguenther@suse.de> PR middle-end/40635 |