]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Sun, 17 Dec 2023 00:17:30 +0000 (00:17 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Sun, 17 Dec 2023 00:17:30 +0000 (00:17 +0000)
gcc/ChangeLog
gcc/DATESTAMP
gcc/ada/ChangeLog
gcc/analyzer/ChangeLog
gcc/c-family/ChangeLog
gcc/cp/ChangeLog
gcc/d/ChangeLog
gcc/fortran/ChangeLog
gcc/testsuite/ChangeLog
libgcc/ChangeLog
libstdc++-v3/ChangeLog

index 81b4351c7d0cb97191b3352576ae8831c75c9670..d26d975dd32b51dff5a127f316405811a3bd195a 100644 (file)
@@ -1,3 +1,91 @@
+2023-12-16  David Malcolm  <dmalcolm@redhat.com>
+
+       * 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  <andrew.carlotti@arm.com>
+
+       * config/aarch64/aarch64-feature-deps.h (fmv_deps_<FEAT_NAME>):
+       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  <andrew.carlotti@arm.com>
+
+       * 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  <andrew.carlotti@arm.com>
+
+       * 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  <andrew.carlotti@arm.com>
+
+       * 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  <mary.bennett@embecosm.com>
 
        * config/riscv/constraints.md: CVP2 -> CV_alu_pow2.
index 0197f68c28b7f439329a27ff741457f2791eec79..66d0586e1432d809f1906fc19b7d6439c981402c 100644 (file)
@@ -1 +1 @@
-20231216
+20231217
index 22d24615ed848cb280bc1cd71d277219fadf2917..0065df90a5f3baba0939a4a188a15bf879a4e6a3 100644 (file)
@@ -1,3 +1,20 @@
+2023-12-16  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+       * gcc-interface/utils.cc (attr_target_exclusions): Make
+       target/target_clones exclusion target-dependent.
+       (attr_target_clones_exclusions): Ditto.
+
+2023-12-16  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+       * 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  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * terminals.c [__FreeBSD__]: Include <libutil.h>.
index ff3d42c1ebcfb587c6e536670e8358ed2965ef79..920fa910d2788f70fcc35f4db750b0f51387a399 100644 (file)
@@ -1,3 +1,115 @@
+2023-12-16  David Malcolm  <dmalcolm@redhat.com>
+
+       * 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  <dmalcolm@redhat.com>
+
+       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  <dmalcolm@redhat.com>
 
        PR analyzer/112655
index d7667cba6bdeb9f52312d8e122f2644efa1cb1e9..0401d893e877f7009c0dec83e330bd754e095110 100644 (file)
@@ -1,3 +1,25 @@
+2023-12-16  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+       * 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  <andrew.carlotti@arm.com>
+
+       * 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  <ppalka@redhat.com>
 
        * c.opt: Add -fdiagnostics-all-candidates.
index 7ec542eb21b773230d55887dd6e040af2481b816..1ce61f1df0dd65b0588fe9e24dc5bc46dfbd5f33 100644 (file)
@@ -1,3 +1,20 @@
+2023-12-16  Nathaniel Shead  <nathanieloshead@gmail.com>
+
+       PR c++/106363
+       * module.cc (module_state::write_cluster): Don't skip first
+       depset for bindings.
+
+2023-12-16  Nathaniel Shead  <nathanieloshead@gmail.com>
+
+       PR c++/113031
+       * constexpr.cc (cxx_fold_indirect_ref_1): Check for CLASS_TYPE
+       before using CLASSTYPE_AS_BASE.
+
+2023-12-16  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+       * decl2.cc (check_classfn): Update comment to include
+       target_version attributes.
+
 2023-12-15  Patrick Palka  <ppalka@redhat.com>
 
        PR c++/70435
index f07ec4677277e1ad8fa2ce5185d7b30391523857..5510b99f1b90d5fe276605afb55ba84491e8cf5c 100644 (file)
@@ -1,3 +1,9 @@
+2023-12-16  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+       * d-attribs.cc (attr_target_exclusions): Make
+       target/target_clones exclusion target-dependent.
+       (attr_target_clones_exclusions): Ditto.
+
 2023-12-11  Iain Buclaw  <ibuclaw@gdcproject.org>
 
        * Make-lang.in (D_FRONTEND_OBJS): Rename d/common-string.o to
index 1cf7c1d9e3ac9489b054303784bd72a93eac4966..ca3bc56b5a8f2a11c1bae24f33550f7efb9316c4 100644 (file)
@@ -1,3 +1,26 @@
+2023-12-16  Paul Thomas  <pault@gcc.gnu.org>
+
+       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  <pault@gcc.gnu.org>
+
+       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  <jvdelisle@gcc.gnu.org>
 
        PR fortran/112783
index cbe09d71f22b2e0bbe4795819e67ea7efffe1717..cce8326de12cdd44925bb546ff095afa9f3597d2 100644 (file)
@@ -1,3 +1,60 @@
+2023-12-16  Nathaniel Shead  <nathanieloshead@gmail.com>
+
+       PR c++/106363
+       * g++.dg/modules/pr106363_a.C: New test.
+       * g++.dg/modules/pr106363_b.C: New test.
+
+2023-12-16  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/112792
+       * c-c++-common/analyzer/out-of-bounds-pr112792.c: New test.
+
+2023-12-16  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/112459
+       * gfortran.dg/pr112459.f90: New test.
+
+2023-12-16  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/112834
+       PR fortran/111853
+       * gfortran.dg/associate_63.f90 : New test.
+       * gfortran.dg/pr111853.f90 : New test.
+
+2023-12-16  Nathaniel Shead  <nathanieloshead@gmail.com>
+
+       PR c++/113031
+       * g++.dg/cpp0x/pr113031.C: New test.
+
+2023-12-16  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+       * 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  <andrew.carlotti@arm.com>
+
+       * g++.target/i386/mvc2.C:
+       * g++.target/i386/mvc3.C:
+
+2023-12-16  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+       * gcc.target/aarch64/options_set_28.c: New test.
+
+2023-12-16  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+       * gcc.target/aarch64/options_set_4.c: Add terminating newline.
+       * gcc.target/aarch64/options_set_27.c: New test.
+
 2023-12-15  Mary Bennett  <mary.bennett@embecosm.com>
 
        * gcc.target/riscv/cv-elw-elw-compile-1.c: Create test for cv.elw.
index 0248ac380489b3240c451980d098b915cefd361c..e5d461b830ab775c0c0883983213b2edefc14c6b 100644 (file)
@@ -1,3 +1,17 @@
+2023-12-16  Andrew Carlotti  <andrew.carlotti@arm.com>
+
+       * config/aarch64/cpuinfo.c (enum CPUFeatures): Move to shared
+       copy in gcc/common
+
+2023-12-16  Andrew Carlotti  <andrew.carlotti@arm.com>
+           Pavel Iliin  <Pavel.Iliin@arm.com>
+
+       * 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  <lipeng.zhu@intel.com>
 
        * gthr-posix.h (__GTHREAD_RWLOCK_INIT): New macro.
index b041d7cad8fcbbc3a0591290d594e636417aa32c..104221cee188bc5b1bc3729367f96e047a624b0e 100644 (file)
@@ -1,3 +1,72 @@
+2023-12-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++23/print.cc (__open_terminal(FILE*)): Avoid fileno
+       macro.
+
+2023-12-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt:
+       Updated.
+
+2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>
+
+       * include/std/type_traits (remove_pointer): Use __remove_pointer
+       built-in trait.
+
+2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>
+
+       * include/std/type_traits (is_object): Use __is_object built-in
+       trait.
+       (is_object_v): Likewise.
+
+2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>
+
+       * 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  <kmatsui@gcc.gnu.org>
+
+       * include/std/type_traits (is_reference): Use __is_reference
+       built-in trait.
+       (is_reference_v): Likewise.
+
+2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>
+
+       * 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  <kmatsui@gcc.gnu.org>
+
+       * 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  <kmatsui@gcc.gnu.org>
+
+       * include/std/type_traits (is_member_pointer): Use
+       __is_member_pointer built-in trait.
+       (is_member_pointer_v): Likewise.
+
+2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>
+
+       * include/std/type_traits (is_scoped_enum): Use
+       __is_scoped_enum built-in trait.
+       (is_scoped_enum_v): Likewise.
+
+2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>
+
+       * include/std/type_traits (is_bounded_array_v): Use
+       __is_bounded_array built-in trait.
+
+2023-12-16  Ken Matsui  <kmatsui@gcc.gnu.org>
+
+       * include/std/type_traits (is_array): Use __is_array built-in
+       trait.
+       (is_array_v): Likewise.
+
 2023-12-15  Jonathan Wakely  <jwakely@redhat.com>
 
        * src/c++23/print.cc (__write_to_terminal) [_WIN32]: If handle