From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id 71A353858292; Sun, 17 Dec 2023 00:17:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 71A353858292 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1702772274; bh=XneV97fV/qkNSjK65t0EdwOmAaXX5xTvjuV+OU9JZd4=; h=From:To:Subject:Date:From; b=trZQ2CMplW7MUplHAyHhAozExcpk3zxjqzWaQ52YpaymAbFGjRv5RaQKbrTKspTIn C9+sODgGmMzvWEvHtGcYrM2cKnVgKwCqJdXi2IaZBu5m1oto9OUADOBb3KZ0y1gB+2 Cv8NyDodpYbSWQ6LFjjkq5LMwFC1W23d5opPTS4I= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: GCC Administrator To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r14-6638] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: 1f7acbf04296e4d2553570642d7290d56b99228f X-Git-Newrev: 7e6f0faa8b60c71040978775315a6f4eddfab6f3 Message-Id: <20231217001754.71A353858292@sourceware.org> Date: Sun, 17 Dec 2023 00:17:54 +0000 (GMT) List-Id: https://gcc.gnu.org/g:7e6f0faa8b60c71040978775315a6f4eddfab6f3 commit r14-6638-g7e6f0faa8b60c71040978775315a6f4eddfab6f3 Author: GCC Administrator Date: Sun Dec 17 00:17:30 2023 +0000 Daily bump. Diff: --- gcc/ChangeLog | 88 +++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 17 ++++++++ gcc/analyzer/ChangeLog | 112 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/c-family/ChangeLog | 22 ++++++++++ gcc/cp/ChangeLog | 17 ++++++++ gcc/d/ChangeLog | 6 +++ gcc/fortran/ChangeLog | 23 ++++++++++ gcc/testsuite/ChangeLog | 57 ++++++++++++++++++++++++ libgcc/ChangeLog | 14 ++++++ libstdc++-v3/ChangeLog | 69 +++++++++++++++++++++++++++++ 11 files changed, 426 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 81b4351c7d0..d26d975dd32 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,91 @@ +2023-12-16 David Malcolm + + * json.cc (print_escaped_json_string): New, taken from + string::print. + (object::print): Use it for printing keys. + (string::print): Move implementation to + print_escaped_json_string. + (selftest::test_writing_objects): Add a key containing + quote, backslash, and control characters. + +2023-12-16 Andrew Carlotti + + * config/aarch64/aarch64-feature-deps.h (fmv_deps_): + Define aarch64_feature_flags mask foreach FMV feature. + * config/aarch64/aarch64-option-extensions.def: Use new macros + to define FMV feature extensions. + * config/aarch64/aarch64.cc (aarch64_option_valid_attribute_p): + Check for target_version attribute after processing target + attribute. + (aarch64_fmv_feature_data): New. + (aarch64_parse_fmv_features): New. + (aarch64_process_target_version_attr): New. + (aarch64_option_valid_version_attribute_p): New. + (get_feature_mask_for_version): New. + (compare_feature_masks): New. + (aarch64_compare_version_priority): New. + (build_ifunc_arg_type): New. + (make_resolver_func): New. + (add_condition_to_bb): New. + (dispatch_function_versions): New. + (aarch64_generate_version_dispatcher_body): New. + (aarch64_get_function_versions_dispatcher): New. + (aarch64_common_function_versions): New. + (aarch64_mangle_decl_assembler_name): New. + (TARGET_OPTION_VALID_VERSION_ATTRIBUTE_P): New implementation. + (TARGET_OPTION_EXPANDED_CLONES_ATTRIBUTE): New implementation. + (TARGET_OPTION_FUNCTION_VERSIONS): New implementation. + (TARGET_COMPARE_VERSION_PRIORITY): New implementation. + (TARGET_GENERATE_VERSION_DISPATCHER_BODY): New implementation. + (TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): New implementation. + (TARGET_MANGLE_DECL_ASSEMBLER_NAME): New implementation. + * config/aarch64/aarch64.h (TARGET_HAS_FMV_TARGET_ATTRIBUTE): + Set target macro. + * config/arm/aarch-common.h (enum aarch_parse_opt_result): Add + new value to report duplicate FMV feature. + * common/config/aarch64/cpuinfo.h: New file. + +2023-12-16 Andrew Carlotti + + * attribs.cc (decl_attributes): Pass attribute name to target. + (is_function_default_version): Update comment to specify + incompatibility with target_version attributes. + * cgraphclones.cc (cgraph_node::create_version_clone_with_body): + Call valid_version_attribute_p for target_version attributes. + * defaults.h (TARGET_HAS_FMV_TARGET_ATTRIBUTE): New macro. + * target.def (valid_version_attribute_p): New hook. + * doc/tm.texi.in: Add new hook. + * doc/tm.texi: Regenerate. + * multiple_target.cc (create_dispatcher_calls): Remove redundant + is_function_default_version check. + (expand_target_clones): Use target macro to pick attribute name. + * targhooks.cc (default_target_option_valid_version_attribute_p): + New. + * targhooks.h (default_target_option_valid_version_attribute_p): + New. + * tree.h (DECL_FUNCTION_VERSIONED): Update comment to include + target_version attributes. + +2023-12-16 Andrew Carlotti + + * common/config/aarch64/aarch64-common.cc + (struct aarch64_option_extension): Remove unused field. + (all_extensions): Ditto. + (aarch64_get_extension_string_for_isa_flags): Remove filtering + of features without native detection. + * config/aarch64/driver-aarch64.cc (host_detect_local_cpu): + Explicitly add expected features that lack cpuinfo detection. + +2023-12-16 Andrew Carlotti + + * common/config/aarch64/aarch64-common.cc + (aarch64_get_extension_string_for_isa_flags): Fix generation of + the "+nocrypto" extension. + * config/aarch64/aarch64.h (AARCH64_ISA_CRYPTO): Remove. + (TARGET_CRYPTO): Remove. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): + Don't use TARGET_CRYPTO. + 2023-12-15 Mary Bennett * config/riscv/constraints.md: CVP2 -> CV_alu_pow2. diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 0197f68c28b..66d0586e143 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20231216 +20231217 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 22d24615ed8..0065df90a5f 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,20 @@ +2023-12-16 Andrew Carlotti + + * gcc-interface/utils.cc (attr_target_exclusions): Make + target/target_clones exclusion target-dependent. + (attr_target_clones_exclusions): Ditto. + +2023-12-16 Andrew Carlotti + + * gcc-interface/utils.cc (attr_noinline_exclusions): New. + (attr_always_inline_exclusions): Ditto. + (attr_target_exclusions): Ditto. + (attr_target_clones_exclusions): Ditto. + (gnat_internal_attribute_table): Add new exclusion lists. + (handle_noinline_attribute): Remove custom exclusion handling. + (handle_target_attribute): Ditto. + (handle_target_clones_attribute): Ditto. + 2023-12-11 Rainer Orth * terminals.c [__FreeBSD__]: Include . diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index ff3d42c1ebc..920fa910d27 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,115 @@ +2023-12-16 David Malcolm + + * analyzer.cc: Include "tree-pretty-print.h" and + "diagnostic-event-id.h". + (tree_to_json): New. + (diagnostic_event_id_to_json): New. + (bit_offset_to_json): New. + (byte_offset_to_json): New. + * analyzer.h (tree_to_json): New decl. + (diagnostic_event_id_to_json): New decl. + (bit_offset_to_json): New decl. + (byte_offset_to_json): New decl. + * bounds-checking.cc: Include "diagnostic-format-sarif.h". + (out_of_bounds::maybe_add_sarif_properties): New. + (concrete_out_of_bounds::maybe_add_sarif_properties): New. + (concrete_past_the_end::maybe_add_sarif_properties): New. + (symbolic_past_the_end::maybe_add_sarif_properties): New. + * region-model.cc (region_to_value_map::to_json): New. + (region_model::to_json): New. + * region-model.h (region_to_value_map::to_json): New decl. + (region_model::to_json): New decl. + * store.cc (bit_range::to_json): New. + (byte_range::to_json): New. + * store.h (bit_range::to_json): New decl. + (byte_range::to_json): New decl. + +2023-12-16 David Malcolm + + PR analyzer/112792 + * bounds-checking.cc + (out_of_bounds::oob_region_creation_event_capacity): Rename + "capacity" to "byte_capacity". Layout fix. + (out_of_bounds::::add_region_creation_events): Rename + "capacity" to "byte_capacity". + (class concrete_out_of_bounds): Rename m_out_of_bounds_range to + m_out_of_bounds_bits and convert from a byte_range to a bit_range. + (concrete_out_of_bounds::get_out_of_bounds_bytes): New. + (concrete_past_the_end::concrete_past_the_end): Rename param + "byte_bound" to "bit_bound". Initialize m_byte_bound. + (concrete_past_the_end::subclass_equal_p): Update for renaming + of m_byte_bound to m_bit_bound. + (concrete_past_the_end::m_bit_bound): New field. + (concrete_buffer_overflow::concrete_buffer_overflow): Convert + param "range" from byte_range to bit_range. Rename param + "byte_bound" to "bit_bound". + (concrete_buffer_overflow::emit): Update for bits vs bytes. + (concrete_buffer_overflow::describe_final_event): Split + into... + (concrete_buffer_overflow::describe_final_event_as_bytes): ...this + (concrete_buffer_overflow::describe_final_event_as_bits): ...and + this. + (concrete_buffer_over_read::concrete_buffer_over_read): Convert + param "range" from byte_range to bit_range. Rename param + "byte_bound" to "bit_bound". + (concrete_buffer_over_read::emit): Update for bits vs bytes. + (concrete_buffer_over_read::describe_final_event): Split into... + (concrete_buffer_over_read::describe_final_event_as_bytes): + ...this + (concrete_buffer_over_read::describe_final_event_as_bits): ...and + this. + (concrete_buffer_underwrite::concrete_buffer_underwrite): Convert + param "range" from byte_range to bit_range. + (concrete_buffer_underwrite::describe_final_event): Split into... + (concrete_buffer_underwrite::describe_final_event_as_bytes): + ...this + (concrete_buffer_underwrite::describe_final_event_as_bits): ...and + this. + (concrete_buffer_under_read::concrete_buffer_under_read): Convert + param "range" from byte_range to bit_range. + (concrete_buffer_under_read::describe_final_event): Split into... + (concrete_buffer_under_read::describe_final_event_as_bytes): + ...this + (concrete_buffer_under_read::describe_final_event_as_bits): ...and + this. + (region_model::check_region_bounds): Use bits for concrete values, + and rename locals to indicate whether we're dealing with bits or + bytes. Specifically, replace "num_bytes_sval" with + "num_bits_sval", and get it from reg's "get_bit_size_sval". + Replace "num_bytes_tree" with "num_bits_tree". Rename "capacity" + to "byte_capacity". Rename "cst_capacity_tree" to + "cst_byte_capacity_tree". Replace "offset" and + "num_bytes_unsigned" with "bit_offset" and "num_bits_unsigned" + respectively, converting from byte_offset_t to bit_offset_t. + Replace "out" and "read_bytes" with "bits_outside" and "read_bits" + respectively, converting from byte_range to bit_range. Convert + "buffer" from byte_range to bit_range. Replace "byte_bound" with + "bit_bound". + * region.cc (region::get_bit_size_sval): New. + (offset_region::get_bit_offset): New. + (offset_region::get_bit_size_sval): New. + (sized_region::get_bit_size_sval): New. + (bit_range_region::get_bit_size_sval): New. + * region.h (region::get_bit_size_sval): New vfunc. + (offset_region::get_bit_offset): New decl. + (offset_region::get_bit_size_sval): New decl. + (sized_region::get_bit_size_sval): New decl. + (bit_range_region::get_bit_size_sval): New decl. + * store.cc (bit_range::intersects_p): New, based on + byte_range::intersects_p. + (bit_range::exceeds_p): New, based on byte_range::exceeds_p. + (bit_range::falls_short_of_p): New, based on + byte_range::falls_short_of_p. + (byte_range::intersects_p): Delete. + (byte_range::exceeds_p): Delete. + (byte_range::falls_short_of_p): Delete. + * store.h (bit_range::intersects_p): New overload. + (bit_range::exceeds_p): New. + (bit_range::falls_short_of_p): New. + (byte_range::intersects_p): Delete. + (byte_range::exceeds_p): Delete. + (byte_range::falls_short_of_p): Delete. + 2023-12-14 David Malcolm PR analyzer/112655 diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index d7667cba6bd..0401d893e87 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,25 @@ +2023-12-16 Andrew Carlotti + + * c-attribs.cc (attr_target_exclusions): Make + target/target_clones exclusion target-dependent. + (attr_target_clones_exclusions): Ditto, and add target_version. + (attr_target_version_exclusions): New. + (c_common_attribute_table): Add target_version. + (handle_target_version_attribute): New. + (handle_target_attribute): Amend comment. + (handle_target_clones_attribute): Ditto. + +2023-12-16 Andrew Carlotti + + * c-attribs.cc (attr_always_inline_exclusions): New. + (attr_target_exclusions): Ditto. + (attr_target_clones_exclusions): Ditto. + (c_common_attribute_table): Add new exclusion lists. + (handle_noinline_attribute): Remove custom exclusion handling. + (handle_always_inline_attribute): Ditto. + (handle_target_attribute): Ditto. + (handle_target_clones_attribute): Ditto. + 2023-12-13 Patrick Palka * c.opt: Add -fdiagnostics-all-candidates. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7ec542eb21b..1ce61f1df0d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,20 @@ +2023-12-16 Nathaniel Shead + + PR c++/106363 + * module.cc (module_state::write_cluster): Don't skip first + depset for bindings. + +2023-12-16 Nathaniel Shead + + PR c++/113031 + * constexpr.cc (cxx_fold_indirect_ref_1): Check for CLASS_TYPE + before using CLASSTYPE_AS_BASE. + +2023-12-16 Andrew Carlotti + + * decl2.cc (check_classfn): Update comment to include + target_version attributes. + 2023-12-15 Patrick Palka PR c++/70435 diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index f07ec467727..5510b99f1b9 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,9 @@ +2023-12-16 Andrew Carlotti + + * d-attribs.cc (attr_target_exclusions): Make + target/target_clones exclusion target-dependent. + (attr_target_clones_exclusions): Ditto. + 2023-12-11 Iain Buclaw * Make-lang.in (D_FRONTEND_OBJS): Rename d/common-string.o to diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 1cf7c1d9e3a..ca3bc56b5a8 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,26 @@ +2023-12-16 Paul Thomas + + PR fortran/112459 + * trans-array.cc (gfc_trans_array_constructor_value): Replace + gfc_notification_std with explicit logical expression that + selects F2003/2008 and excludes -std=default/gnu. + * trans-expr.cc (gfc_conv_expr): Ditto. + +2023-12-16 Paul Thomas + + PR fortran/112834 + PR fortran/111853 + * match.cc (build_associate_name): Fix whitespace issues. + (select_type_set_tmp): If the selector is of unknown type, go + the SELECT TYPE selector to see if this is a function and, if + the result is available, use its typespec. + * parse.cc (parse_associate): Again, use the function result if + the type of the selector result is unknown. + * trans-stmt.cc (trans_associate_var): The expression has to be + of type class, for class_target to be true. Convert and fix + class functions. Pass the fixed expression. + * resolve.cc (gfc_expression_rank): Avoid null dereference. + 2023-12-15 Jerry DeLisle PR fortran/112783 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index cbe09d71f22..cce8326de12 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,60 @@ +2023-12-16 Nathaniel Shead + + PR c++/106363 + * g++.dg/modules/pr106363_a.C: New test. + * g++.dg/modules/pr106363_b.C: New test. + +2023-12-16 David Malcolm + + PR analyzer/112792 + * c-c++-common/analyzer/out-of-bounds-pr112792.c: New test. + +2023-12-16 Paul Thomas + + PR fortran/112459 + * gfortran.dg/pr112459.f90: New test. + +2023-12-16 Paul Thomas + + PR fortran/112834 + PR fortran/111853 + * gfortran.dg/associate_63.f90 : New test. + * gfortran.dg/pr111853.f90 : New test. + +2023-12-16 Nathaniel Shead + + PR c++/113031 + * g++.dg/cpp0x/pr113031.C: New test. + +2023-12-16 Andrew Carlotti + + * gcc.target/aarch64/options_set_17.c: Reorder expected flags. + * gcc.target/aarch64/cpunative/native_cpu_0.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_13.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_16.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_17.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_18.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_19.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_20.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_21.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_22.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_6.c: Ditto. + * gcc.target/aarch64/cpunative/native_cpu_7.c: Ditto. + +2023-12-16 Andrew Carlotti + + * g++.target/i386/mvc2.C: + * g++.target/i386/mvc3.C: + +2023-12-16 Andrew Carlotti + + * gcc.target/aarch64/options_set_28.c: New test. + +2023-12-16 Andrew Carlotti + + * gcc.target/aarch64/options_set_4.c: Add terminating newline. + * gcc.target/aarch64/options_set_27.c: New test. + 2023-12-15 Mary Bennett * gcc.target/riscv/cv-elw-elw-compile-1.c: Create test for cv.elw. diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 0248ac38048..e5d461b830a 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,17 @@ +2023-12-16 Andrew Carlotti + + * config/aarch64/cpuinfo.c (enum CPUFeatures): Move to shared + copy in gcc/common + +2023-12-16 Andrew Carlotti + Pavel Iliin + + * config/aarch64/t-aarch64: Include cpuinfo.c + * config/aarch64/cpuinfo.c: New file + (__init_cpu_features_constructor) New. + (__init_cpu_features_resolver) New. + (__init_cpu_features) New. + 2023-12-11 Lipeng Zhu * gthr-posix.h (__GTHREAD_RWLOCK_INIT): New macro. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b041d7cad8f..104221cee18 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,72 @@ +2023-12-16 Jonathan Wakely + + * src/c++23/print.cc (__open_terminal(FILE*)): Avoid fileno + macro. + +2023-12-16 H.J. Lu + + * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: + Updated. + +2023-12-16 Ken Matsui + + * include/std/type_traits (remove_pointer): Use __remove_pointer + built-in trait. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_object): Use __is_object built-in + trait. + (is_object_v): Likewise. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_function): Use __is_function + built-in trait. + (is_function_v): Likewise. Optimize its implementation. Move + this under is_const_v as this depends on is_const_v. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_reference): Use __is_reference + built-in trait. + (is_reference_v): Likewise. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_member_object_pointer): Use + __is_member_object_pointer built-in trait. + (is_member_object_pointer_v): Likewise. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_member_function_pointer): Use + __is_member_function_pointer built-in trait. + (is_member_function_pointer_v): Likewise. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_member_pointer): Use + __is_member_pointer built-in trait. + (is_member_pointer_v): Likewise. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_scoped_enum): Use + __is_scoped_enum built-in trait. + (is_scoped_enum_v): Likewise. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_bounded_array_v): Use + __is_bounded_array built-in trait. + +2023-12-16 Ken Matsui + + * include/std/type_traits (is_array): Use __is_array built-in + trait. + (is_array_v): Likewise. + 2023-12-15 Jonathan Wakely * src/c++23/print.cc (__write_to_terminal) [_WIN32]: If handle