+2024-03-18 Jonathan Wakely <jwakely@redhat.com>
+
+ * gcc_update: Add more generated files in libcc1, lto-plugin,
+ fixincludes, and libstdc++-v3.
+
2024-03-08 Sam James <sam@gentoo.org>
PR other/109668
+2024-03-18 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/110902
+ PR analyzer/110928
+ PR analyzer/111305
+ PR analyzer/111441
+ * selftest.h (ASSERT_NE_AT): New macro.
+
+2024-03-18 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/111822
+ * config/i386/i386-features.cc (smode_convert_cst): New function
+ to handle SImode, DImode and TImode immediates, generalized from
+ timode_convert_cst.
+ (timode_convert_cst): Remove.
+ (scalar_chain::convert_op): Unify from
+ general_scalar_chain::convert_op and timode_scalar_chain::convert_op.
+ (general_scalar_chain::convert_op): Remove.
+ (timode_scalar_chain::convert_op): Remove.
+ (timode_scalar_chain::convert_insn): Update the call to
+ renamed timode_convert_cst.
+ * config/i386/i386-features.h (class scalar_chain):
+ Redeclare convert_op as protected class member.
+ (class general_calar_chain): Remove convert_op.
+ (class timode_scalar_chain): Ditto.
+
+2024-03-18 Jan Hubicka <jh@suse.cz>
+
+ * config/i386/zn4zn5.md: Add file missed in the previous commit.
+
+2024-03-18 Jan Hubicka <jh@suse.cz>
+ Karthiban Anbazhagan <Karthiban.Anbazhagan@amd.com>
+
+ * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver5.
+ * common/config/i386/i386-common.cc (processor_names): Add znver5.
+ (processor_alias_table): Likewise.
+ * common/config/i386/i386-cpuinfo.h (processor_types): Add new zen
+ family.
+ (processor_subtypes): Add znver5.
+ * config.gcc (x86_64-*-* |...): Likewise.
+ * config/i386/driver-i386.cc (host_detect_local_cpu): Let
+ march=native detect znver5 cpu's.
+ * config/i386/i386-c.cc (ix86_target_macros_internal): Add
+ znver5.
+ * config/i386/i386-options.cc (m_ZNVER5): New definition
+ (processor_cost_table): Add znver5.
+ * config/i386/i386.cc (ix86_reassociation_width): Likewise.
+ * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER5
+ (PTA_ZNVER5): New definition.
+ * config/i386/i386.md (define_attr "cpu"): Add znver5.
+ (Scheduling descriptions) Add znver5.md.
+ * config/i386/x86-tune-costs.h (znver5_cost): New definition.
+ * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver5.
+ (ix86_adjust_cost): Likewise.
+ * config/i386/x86-tune.def (avx512_move_by_pieces): Add m_ZNVER5.
+ (avx512_store_by_pieces): Add m_ZNVER5.
+ * doc/extend.texi: Add znver5.
+ * doc/invoke.texi: Likewise.
+ * config/i386/znver4.md: Rename to zn4zn5.md; combine znver4 and znver5 Scheduler.
+
+2024-03-18 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/constraints.md (CX2, CX3, CX4): New constraints.
+ * config/avr/avr-protos.h (avr_xor_noclobber_dconst): New proto.
+ * config/avr/avr.cc (avr_xor_noclobber_dconst): New function.
+ * config/avr/avr.md (xorhi3, *xorhi3): Add "d,0,CX2,X" alternative.
+ (xorpsi3, *xorpsi3): Add "d,0,CX3,X" alternative.
+ (xorsi3, *xorsi3): Add "d,0,CX4,X" alternative.
+
+2024-03-18 liuhongt <hongtao.liu@intel.com>
+
+ PR target/114334
+ * config/i386/i386.md (mode): Add new number V8BF,V16BF,V32BF.
+ (MODEF248): New mode iterator.
+ (ssevecmodesuffix): Hanlde BF and HF.
+ * config/i386/sse.md (andnot<mode>3): Extend to HF/BF.
+ (<code><mode>3): Ditto.
+
+2024-03-18 John David Anglin <danglin@gcc.gnu.org>
+
+ PR rtl-optimization/112415
+ * config/pa/pa.cc (pa_emit_move_sequence): Revise condition
+ for symbolic memory operands.
+ (pa_legitimate_address_p): Revise LO_SUM condition.
+ * config/pa/pa.h (INT14_OK_STRICT): Revise define. Move
+ comment about GNU linker to predicates.md.
+ * config/pa/predicates.md (floating_point_store_memory_operand):
+ Revise condition for symbolic memory operands. Update
+ comment.
+
2024-03-17 John David Anglin <danglin@gcc.gnu.org>
* config/pa/pa.cc (pa_delegitimize_address): Delegitimize UNSPEC_TP.
+2024-03-18 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/110902
+ PR analyzer/110928
+ PR analyzer/111305
+ PR analyzer/111441
+ * access-diagram.cc: Include "analyzer/analyzer-selftests.h".
+ (get_access_size_str): Reimplement for conversion of
+ implmementation of bit_size_expr from tree to const svalue &. Use
+ svalue::maybe_print_for_user rather than tree printing routines.
+ (remove_ssa_names): Make non-static.
+ (bit_size_expr::get_formatted_str): Rename to...
+ (bit_size_expr::maybe_get_formatted_str): ...this, adding "model"
+ param and converting return type to a unique_ptr. Update for
+ conversion of implementation of bit_size_expr from tree to
+ const svalue &. Use svalue::maybe_print_for_user rather than tree
+ printing routines.
+ (bit_size_expr::print): Rename to...
+ (bit_size_expr::maybe_print_for_user): ...this, adding "model"
+ param and converting return type to bool. Update for
+ conversion of implementation of bit_size_expr from tree to
+ const svalue &. Use svalue::maybe_print_for_user rather than tree
+ printing routines.
+ (bit_size_expr::maybe_get_as_bytes): Add "mgr" param and convert
+ return type from tree to const svalue *; reimplement.
+ (access_range::access_range): Call strip_types when on region_offset
+ intializations.
+ (access_range::get_size): Update for conversion of implementation
+ of bit_size_expr from tree to const svalue &.
+ (access_operation::get_valid_bits): Pass manager to access_range
+ ctor.
+ (access_operation::maybe_get_invalid_before_bits): Likewise.
+ (access_operation::maybe_get_invalid_after_bits): Likewise.
+ (boundaries::add): Likewise.
+ (bit_to_table_map::populate): Add "mgr" param and pass it to
+ access_range ctor.
+ (access_diagram_impl::access_diagram_impl): Pass manager to
+ bit_to_table_map::populate.
+ (access_diagram_impl::maybe_add_gap): Use svalue rather than tree
+ for symbolic bit offsets. Port to new bit_size_expr
+ representation.
+ (access_diagram_impl::add_valid_vs_invalid_ruler): Port to new
+ bit_size_expr representation.
+ (selftest::assert_eq_typeless_integer): New.
+ (ASSERT_EQ_TYPELESS_INTEGER): New.
+ (selftest::test_bit_size_expr_to_bytes): New.
+ (selftest::analyzer_access_diagram_cc_tests): New.
+ * access-diagram.h (class bit_size_expr): Reimplement, converting
+ implementation from tree to const svalue &.
+ (access_range::access_range): Add "mgr" param. Call strip_types
+ on region_offset initializations.
+ (access_range::get_size): Update decl for reimplementation.
+ * analyzer-selftests.cc (selftest::run_analyzer_selftests): Call
+ selftest::analyzer_access_diagram_cc_tests.
+ * analyzer-selftests.h
+ (selftest::analyzer_checker_script_cc_tests): Delete this stray
+ typo.
+ (selftest::analyzer_access_diagram_cc_tests): New decl.
+ * analyzer.h (print_expr_for_user): New decl.
+ (calc_symbolic_bit_offset): Update decl for reimplementation.
+ (strip_types): New decls.
+ (remove_ssa_names): New decl.
+ * bounds-checking.cc (strip_types): New.
+ (region_model::check_symbolic_bounds): Use typeless svalues.
+ * region-model-manager.cc
+ (region_model_manager::get_or_create_constant_svalue): Add "type"
+ param. Add overload with old signature.
+ (region_model_manager::get_or_create_int_cst): Support type being
+ NULL_TREE.
+ (region_model_manager::maybe_fold_unaryop): Gracefully reject folding
+ of casts to NULL_TREE type.
+ (get_code_for_cast): Use NOP_EXPR for "casting" svalues to
+ NULL_TREE type.
+ (region_model_manager::get_or_create_cast): Support "casting"
+ svalues to NULL_TREE type.
+ (region_model_manager::maybe_fold_binop): Don't crash on inputs
+ with NULL_TREE type. Handle folding of binops on constants with
+ NULL_TREE type. Add missing cast from PR analyzer/110902.
+ Support enough folding of other ops on NULL_TREE type to support
+ bounds checking.
+ (region_model_manager::get_or_create_const_fn_result_svalue):
+ Remove assertion that type is nonnull.
+ * region-model-manager.h
+ (region_model_manager::get_or_create_constant_svalue): Add
+ overloaded decl taking a type.
+ (region_model_manager::maybe_fold_binop): Make public.
+ (region_model_manager::constants_map_t): Use
+ constant_svalue::key_t for the key, rather than just tree.
+ * region-model.cc (print_expr_for_user): New.
+ (selftest::test_array_2): Handle casts.
+ * region.cc (region_offset::calc_symbolic_bit_offset): Return
+ const svalue & rather than tree, and reimplement accordingly.
+ (region::calc_offset): Use ptrdiff_type_node for types of byte
+ offsets.
+ (region::maybe_print_for_user): New.
+ (element_region::get_relative_symbolic_offset): Use NULL_TREE for
+ types of bit offsets.
+ (offset_region::get_bit_offset): Likewise.
+ (sized_region::get_bit_size_sval): Likewise for bit sizes.
+ * region.h (region::maybe_print_for_user): New decl.
+ * svalue.cc (class auto_add_parens): New.
+ (svalue::maybe_print_for_user): New.
+ (svalue::cmp_ptr): Support typeless constant svalues.
+ (tristate_from_boolean_tree_node): New, taken from...
+ (constant_svalue::eval_condition): ...here. Handle comparison of
+ typeless integer svalue constants.
+ * svalue.h (svalue::maybe_print_for_user): New decl.
+ (class constant_svalue): Support the type of the svalue being
+ NULL_TREE.
+ (struct default_hash_traits<constant_svalue::key_t>): New.
+
+2024-03-18 David Malcolm <dmalcolm@redhat.com>
+
+ * access-diagram.cc (remove_ssa_names): Support operands being
+ NULL_TREE, such as e.g. for COMPONENT_REF's operand 2.
+
2024-03-07 Jakub Jelinek <jakub@redhat.com>
* access-diagram.cc: Include diagnostic-core.h before including
+2024-03-18 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/103715
+ * frontend-passes.cc (check_externals_expr): Prevent invalid read
+ in case of mismatch of external subroutine with function.
+
2024-03-17 Harald Anlauf <anlauf@gmx.de>
PR fortran/101135
+2024-03-18 Gaius Mulley <gaiusmod2@gmail.com>
+
+ PR modula2/114380
+ * gm2-compiler/SymbolTable.mod (GetLowestType): Do not
+ skip over a set type, but return sym.
+
2024-03-17 Gaius Mulley <gaiusmod2@gmail.com>
PR modula2/114296
+2024-03-18 Joseph Myers <josmyers@redhat.com>
+
+ * fr.po, sv.po: Update.
+
2024-03-11 Joseph Myers <josmyers@redhat.com>
* sv.po: Update.
+2024-03-18 Jonathan Yong <10walls@gmail.com>
+
+ * c-c++-common/Wrestrict.c: Fix typos in comments and
+ enable for LLP64 testing.
+
+2024-03-18 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/110902
+ PR analyzer/110928
+ PR analyzer/111305
+ PR analyzer/111441
+ * c-c++-common/analyzer/out-of-bounds-const-fn.c: New test.
+ * c-c++-common/analyzer/out-of-bounds-diagram-11.c: Update
+ expected diagram output.
+ * c-c++-common/analyzer/out-of-bounds-diagram-pr110928.c: New test.
+ * c-c++-common/analyzer/out-of-bounds-diagram-pr111305.c: New test.
+ * c-c++-common/analyzer/out-of-bounds-diagram-pr111441.c: New test.
+
+2024-03-18 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/111822
+ * g++.target/i386/pr111822.C (dg-do): Compile only for ia32 targets.
+ (dg-options): Add -march=x86-64.
+
+2024-03-18 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/103715
+ * gfortran.dg/pr103715.f90: New test.
+
+2024-03-18 Thiago Jung Bauermann <thiago.bauermann@linaro.org>
+
+ * gcc.target/arm/acle/cde-mve-error-2.c: Add -fpermissive. Use
+ relative offsets for line numbers.
+
+2024-03-18 Gaius Mulley <gaiusmod2@gmail.com>
+
+ PR modula2/114380
+ * gm2/pim/fail/badset7.mod: New test.
+
+2024-03-18 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR testsuite/114320
+ * g++.dg/modules/target-powerpc-1_a.C: Suppress -Wpsabi.
+ * g++.dg/modules/target-powerpc-1_b.C: Likewise.
+
+2024-03-18 Jan Hubicka <jh@suse.cz>
+ Karthiban Anbazhagan <Karthiban.Anbazhagan@amd.com>
+
+ * g++.target/i386/mv29.C: Handle znver5 arch.
+ * gcc.target/i386/funcspec-56.inc:Likewise.
+
+2024-03-18 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
+
+ * c-c++-common/analyzer/strndup-1.c: Define _POSIX_C_SOURCE.
+
+2024-03-18 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/pr114334.c: New test.
+
2024-03-17 Harald Anlauf <anlauf@gmx.de>
PR fortran/101135
+2024-03-18 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_can_advance):
+ Accept 0 offset advance on value-initialized iterator.
+ * testsuite/23_containers/vector/debug/n3644.cc: New test case.
+
+2024-03-18 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/debug/safe_local_iterator.tcc
+ (_Safe_local_iterator::_M_valid_range): Add _M_value_initialized and
+ _M_singular checks.
+ * testsuite/23_containers/unordered_set/debug/114316.cc: New test case.
+
2024-03-17 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/114316