aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2023-12-17 00:17:30 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2023-12-17 00:17:30 +0000
commit7e6f0faa8b60c71040978775315a6f4eddfab6f3 (patch)
tree0f4f3b30037884d9f65a9187c380065e688b1873 /gcc
parent1f7acbf04296e4d2553570642d7290d56b99228f (diff)
downloadgcc-7e6f0faa8b60c71040978775315a6f4eddfab6f3.zip
gcc-7e6f0faa8b60c71040978775315a6f4eddfab6f3.tar.gz
gcc-7e6f0faa8b60c71040978775315a6f4eddfab6f3.tar.bz2
Daily bump.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog88
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/ada/ChangeLog17
-rw-r--r--gcc/analyzer/ChangeLog112
-rw-r--r--gcc/c-family/ChangeLog22
-rw-r--r--gcc/cp/ChangeLog17
-rw-r--r--gcc/d/ChangeLog6
-rw-r--r--gcc/fortran/ChangeLog23
-rw-r--r--gcc/testsuite/ChangeLog57
9 files changed, 343 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 81b4351..d26d975 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 0197f68..66d0586 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20231216
+20231217
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 22d2461..0065df9 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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>.
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index ff3d42c..920fa91 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -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
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index d7667cb..0401d89 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -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.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 7ec542e..1ce61f1 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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
diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog
index f07ec46..5510b99 100644
--- a/gcc/d/ChangeLog
+++ b/gcc/d/ChangeLog
@@ -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
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 1cf7c1d..ca3bc56 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -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
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index cbe09d7..cce8326 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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.