+2022-11-11 Martin Liska <mliska@suse.cz>
+
+ * doc/indices-and-tables.rst: Rename Indexes to Indices.
+
+2022-11-11 Martin Liska <mliska@suse.cz>
+
+ * doc/Makefile: Update comment.
+
+2022-11-11 Martin Liska <mliska@suse.cz>
+
+ * doc/Makefile: Disable -j auto.
+
2022-11-10 Martin Liska <mliska@suse.cz>
* doc/baseconf.py: Modernize by using pathlib.
+2022-11-11 Martin Liska <mliska@suse.cz>
+
+ * gcc-changelog/git_commit.py: Check for a space after leading
+ tab.
+ * gcc-changelog/test_email.py: Likewise.
+ * gcc-changelog/test_patches.txt: Likewise.
+
2022-11-06 Jakub Jelinek <jakub@redhat.com>
* gcc-changelog/git_update_version.py: Add
+2022-11-11 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/106147
+ * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
+ Add -Wanalyzer-infinite-recursion.
+ * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst
+ (-Winfinite-recursion): Mention -Wanalyzer-infinite-recursion.
+
+2022-11-11 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/106147
+ * Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-recursion.o.
+
+2022-11-11 Andrew MacLeod <amacleod@redhat.com>
+
+ PR tree-optimization/107523
+ * gimple-range.cc (gimple_ranger::update_stmt): Use fur_stmt
+ rather than fur_depend.
+
+2022-11-11 Andrew MacLeod <amacleod@redhat.com>
+
+ * tree-vrp.cc (rvrp_folder::rvrp_folder): Init m_last_bb_stmt.
+ (rvrp_folder::pre_fold_bb): Set m_last_bb_stmt.
+ (rvrp_folder::pre_fold_stmt): Check for transitive inferred ranges.
+ (rvrp_folder::fold_stmt): Check in pre_fold_stmt instead.
+
+2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
+
+ * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X1C
+ CPU.
+ * config/aarch64/aarch64-tune.md: Regenerate.
+ * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
+ Document Cortex-X1C CPU.
+
+2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
+
+ * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A715
+ CPU.
+ * config/aarch64/aarch64-tune.md: Regenerate.
+ * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
+ Document Cortex-A715 CPU.
+
+2022-11-11 Richard Biener <rguenther@suse.de>
+ Nikita Voronov <nik_1357@mail.ru>
+
+ PR tree-optimization/107554
+ * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
+ Use unsigned HOST_WIDE_INT type for the strlen.
+
+2022-11-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/105142
+ * gimple-fold.cc (fosa_unwind): New global.
+ (follow_outer_ssa_edges): When the SSA definition to follow
+ is does not dominate fosa_bb, temporarily clear flow-sensitive
+ info. Make sure to not expand stmts with not defined overflow.
+ (maybe_fold_comparisons_from_match_pd): Set up unwind stack
+ for follow_outer_ssa_edges and unwind flow-sensitive info
+ clearing after matching.
+
+2022-11-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * range-op.cc (operator_mult::fold_range): Remove.
+ (operator_div::fold_range): Remove.
+ (operator_bitwise_and): Remove.
+
+2022-11-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * range-op.cc (update_known_bitmask): Avoid unnecessary intersection.
+
+2022-11-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * range-op.cc (range_operator::fold_range): Call
+ update_known_bitmask.
+ (operator_bitwise_and::fold_range): Avoid setting nonzero bits
+ when range is undefined.
+
+2022-11-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * range-op.cc (class operator_div): Remove tree code.
+ (operator_div::wi_op_overflows): Handle EXACT_DIV_EXPR as
+ TRUNC_DIV_EXPR.
+
+2022-11-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * range-op.cc: (range_op_table::set): Set m_code.
+ (integral_table::integral_table): Handle shared entries.
+ (pointer_table::pointer_table): Same.
+ * range-op.h (class range_operator): Add m_code.
+
+2022-11-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/107618
+ * tree-ssa-copy.cc (stmt_may_generate_copy): Simulate all
+ assignments with a single SSA use.
+ (copy_prop_visit_assignment): Use gimple_fold_stmt_to_constant_1
+ to perform simple constant folding.
+ (copy_prop::visit_stmt): Visit all assignments.
+
+2022-11-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/84646
+ * tree-ssa-dce.cc (pass_dce::set_pass_param): Add param
+ wheter to run update-address-taken.
+ (pass_dce::execute): Honor it.
+ * passes.def: Exchange last DCE and CD-DCE invocations.
+ Swap pass_tail_calls and the last DCE.
+
+2022-11-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
+ Monk Chiang <monk.chiang@sifive.com>
+
+ * config/riscv/riscv-v.cc (emit_pred_move): Adjust for scalable register spilling.
+ (legitimize_move): Ditto.
+ * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): New function.
+ (riscv_first_stack_step): Adjust for scalable register spilling.
+ (riscv_expand_prologue): Ditto.
+ (riscv_expand_epilogue): Ditto.
+ (riscv_dwarf_poly_indeterminate_value): New function.
+ (TARGET_DWARF_POLY_INDETERMINATE_VALUE): New target hook support for register spilling.
+ * config/riscv/riscv.h (RISCV_DWARF_VLENB): New macro.
+ (RISCV_PROLOGUE_TEMP2_REGNUM): Ditto.
+ (RISCV_PROLOGUE_TEMP2): Ditto.
+ * config/riscv/vector-iterators.md: New iterators.
+ * config/riscv/vector.md (*mov<mode>): Fix it for register spilling.
+ (*mov<mode>_whole): New pattern.
+ (*mov<mode>_fract): New pattern.
+ (@pred_mov<mode>): Fix it for register spilling.
+
+2022-11-11 Jonathan Wakely <jwakely@redhat.com>
+
+ PR c/85487
+ * doc/cpp/pragmas.rst (Pragmas): Document region pragmas.
+
+2022-11-11 Haochen Jiang <haochen.jiang@intel.com>
+
+ * config/i386/i386-builtin.def (BDESC): Add
+ OPTION_MASK_ISA2_PREFETCHI for prefetchi builtin.
+ * config/i386/i386-expand.cc (ix86_expand_builtin):
+ Add ISA check before emit_insn.
+ * config/i386/prfchiintrin.h: Add target for intrin.
+
2022-11-10 David Malcolm <dmalcolm@redhat.com>
PR analyzer/99671
+2022-11-11 David Malcolm <dmalcolm@redhat.com>
+
+ * sm-fd.dot: Fix typo in comment.
+ * sm-file.dot: New file.
+ * varargs.cc: Fix typo in comment.
+ * varargs.dot: New file.
+
+2022-11-11 David Malcolm <dmalcolm@redhat.com>
+
+ * checker-path.h: Split out checker_event and its subclasses to...
+ * checker-event.h: ...this new header.
+
+2022-11-11 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/106147
+ * analyzer.opt (Wanalyzer-infinite-recursion): New.
+ * call-string.cc (call_string::count_occurrences_of_function):
+ New.
+ * call-string.h (call_string::count_occurrences_of_function): New
+ decl.
+ * checker-path.cc (function_entry_event::function_entry_event):
+ New ctor.
+ (checker_path::add_final_event): Delete.
+ * checker-path.h (function_entry_event::function_entry_event): New
+ ctor.
+ (function_entry_event::get_desc): Drop "final".
+ (checker_path::add_final_event): Delete.
+ * diagnostic-manager.cc
+ (diagnostic_manager::emit_saved_diagnostic): Create the final
+ event via a new pending_diagnostic::add_final_event vfunc, rather
+ than checker_path::add_final_event.
+ (diagnostic_manager::add_events_for_eedge): Create function entry
+ events via a new pending_diagnostic::add_function_entry_event
+ vfunc.
+ * engine.cc (exploded_graph::process_node): When creating a new
+ PK_BEFORE_SUPERNODE node, call
+ exploded_graph::detect_infinite_recursion on it after adding the
+ in-edge.
+ * exploded-graph.h (exploded_graph::detect_infinite_recursion):
+ New decl.
+ (exploded_graph::find_previous_entry_to): New decl.
+ * infinite-recursion.cc: New file.
+ * pending-diagnostic.cc
+ (pending_diagnostic::add_function_entry_event): New.
+ (pending_diagnostic::add_final_event): New.
+ * pending-diagnostic.h
+ (pending_diagnostic::add_function_entry_event): New vfunc.
+ (pending_diagnostic::add_final_event): New vfunc.
+
2022-11-10 David Malcolm <dmalcolm@redhat.com>
PR analyzer/99671
+2022-11-11 Jonathan Wakely <jwakely@redhat.com>
+
+ PR c/85487
+ * c-pragma.cc (handle_pragma_ignore): New function.
+ (init_pragma): Register region and endregion pragmas.
+
2022-11-09 Martin Liska <mliska@suse.cz>
* c-target.def: Port to RST.
+2022-11-11 Martin Liska <mliska@suse.cz>
+
+ * doc/cp/index.rst: Remove trailing .rst in toctree.
+ * doc/cp/intro/index.rst: Likewise.
+ * doc/cp/topics/index.rst: Likewise.
+ * doc/index.rst: Likewise.
+ * doc/intro/index.rst: Likewise.
+ * doc/topics/index.rst: Likewise.
+ * doc/indices-and-tables.rst: New file.
+
2022-11-09 Martin Liska <mliska@suse.cz>
* Make-lang.in:
+2022-11-11 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/106147
+ * g++.dg/analyzer/infinite-recursion-1.C: New test.
+ * g++.dg/analyzer/infinite-recursion-2.C: New test, copied from
+ g++.dg/warn/Winfinite-recursion-2.C.
+ * g++.dg/analyzer/infinite-recursion-3.C: New test, adapted from
+ g++.dg/warn/Winfinite-recursion-3.C.
+ * gcc.dg/analyzer/infinite-recursion-2.c: New test.
+ * gcc.dg/analyzer/infinite-recursion-3.c: New test.
+ * gcc.dg/analyzer/infinite-recursion-4-limited-buggy.c: New test.
+ * gcc.dg/analyzer/infinite-recursion-4-limited.c: New test.
+ * gcc.dg/analyzer/infinite-recursion-4-unlimited-buggy.c: New test.
+ * gcc.dg/analyzer/infinite-recursion-4-unlimited.c: New test.
+ * gcc.dg/analyzer/infinite-recursion-5.c: New test, adapted from
+ gcc.dg/Winfinite-recursion.c.
+ * gcc.dg/analyzer/infinite-recursion-alloca.c: New test.
+ * gcc.dg/analyzer/infinite-recursion-inlining.c: New test.
+ * gcc.dg/analyzer/infinite-recursion-multiline-1.c: New test.
+ * gcc.dg/analyzer/infinite-recursion-multiline-2.c: New test.
+ * gcc.dg/analyzer/infinite-recursion-variadic.c: New test.
+ * gcc.dg/analyzer/infinite-recursion.c: Add dg-warning directives
+ where infinite recursions occur.
+ * gcc.dg/analyzer/malloc-ipa-12.c: Likewise.
+ * gcc.dg/analyzer/pr105365.c: Likewise.
+ * gcc.dg/analyzer/pr105366.c: Likewise.
+ * gcc.dg/analyzer/pr97029.c: Likewise.
+
+2022-11-11 Andrew MacLeod <amacleod@redhat.com>
+
+ PR tree-optimization/107523
+ * gcc.dg/pr107523.c: New.
+
+2022-11-11 Richard Biener <rguenther@suse.de>
+ Nikita Voronov <nik_1357@mail.ru>
+
+ PR tree-optimization/107554
+ * gcc.dg/pr107554.c: New testcase.
+
+2022-11-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/107618
+ * gcc.dg/pr107618.c: New testcase.
+
+2022-11-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/84646
+ * g++.dg/tree-ssa/pr106922.C: Continue to scan earlier DCE dump.
+ * gcc.dg/tree-ssa/20030808-1.c: Likewise.
+
+2022-11-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
+ Monk Chiang <monk.chiang@sifive.com>
+
+ * gcc.target/riscv/rvv/base/macro.h: New test.
+ * gcc.target/riscv/rvv/base/spill-1.c: New test.
+ * gcc.target/riscv/rvv/base/spill-10.c: New test.
+ * gcc.target/riscv/rvv/base/spill-11.c: New test.
+ * gcc.target/riscv/rvv/base/spill-12.c: New test.
+ * gcc.target/riscv/rvv/base/spill-2.c: New test.
+ * gcc.target/riscv/rvv/base/spill-3.c: New test.
+ * gcc.target/riscv/rvv/base/spill-4.c: New test.
+ * gcc.target/riscv/rvv/base/spill-5.c: New test.
+ * gcc.target/riscv/rvv/base/spill-6.c: New test.
+ * gcc.target/riscv/rvv/base/spill-7.c: New test.
+ * gcc.target/riscv/rvv/base/spill-8.c: New test.
+ * gcc.target/riscv/rvv/base/spill-9.c: New test.
+
+2022-11-11 Jonathan Wakely <jwakely@redhat.com>
+
+ PR c/85487
+ * c-c++-common/pragma-region.c: New test.
+
+2022-11-11 Haochen Jiang <haochen.jiang@intel.com>
+
+ * gcc.target/i386/prefetchi-5.c: New test.
+
2022-11-10 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/analyzer/deref-before-check-1.c: New test.
+2022-11-11 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/95048
+ * include/experimental/bits/fs_path.h (path::_Cvt::_S_wconvert):
+ Construct codecvt directly instead of getting it from the
+ locale.
+
+2022-11-11 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR libstdc++/103295
+ * include/bits/basic_string.h (_M_use_local_data): Set active
+ member to _M_local_buf.
+
+2022-11-11 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/95048
+ * include/bits/fs_path.h (path::_Codecvt): New class template
+ that selects the kind of code conversion done.
+ (path::_Codecvt<wchar_t>): Select based on sizeof(wchar_t).
+ (_GLIBCXX_CONV_FROM_UTF8): New macro to allow the same code to
+ be used for Windows and POSIX.
+ (path::_S_convert(const EcharT*, const EcharT*)): Simplify by
+ using _Codecvt and _GLIBCXX_CONV_FROM_UTF8 abstractions.
+ (path::_S_str_convert(basic_string_view<value_type>, const A&)):
+ Simplify nested conditions.
+ * include/experimental/bits/fs_path.h (path::_Cvt): Define
+ nested typedef controlling type of code conversion done.
+ (path::_Cvt::_S_wconvert): Use new typedef.
+ (path::string(const A&)): Likewise.
+ * testsuite/27_io/filesystem/path/construct/95048.cc: New test.
+ * testsuite/experimental/filesystem/path/construct/95048.cc: New
+ test.
+
+2022-11-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/20_util/tuple/swap.cc (MoveOnly::operator==): Add
+ const qualifier.
+ * testsuite/26_numerics/valarray/87641.cc (X::operator==):
+ Likewise.
+
+2022-11-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/charconv (__from_chars_alnum_to_val_table::value):
+ [!__cpp_inline_variables]: Add non-inline definition.
+
+2022-11-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/experimental/propagate_const/observers/107525.cc:
+ Use type trait instead of C++17 variable template.
+
+2022-11-11 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/103755
+ * config/abi/pre/gnu.ver: Tighten patterns for facets in the
+ base version. Add exports for __try_use_facet.
+ * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
+ __try_use_facet instead of has_facet and use_facet.
+ * include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
+ Likewise.
+ (basic_filebuf::imbue): Likewise.
+ * include/bits/locale_classes.h (locale, locale::id)
+ (locale::_Impl): Declare __try_use_facet as a friend.
+ * include/bits/locale_classes.tcc (__try_use_facet): Define new
+ function template with special cases for default facets.
+ (has_facet, use_facet): Call __try_use_facet.
+ * include/bits/locale_facets.tcc (__try_use_facet): Declare
+ explicit instantiations.
+ * include/bits/locale_facets_nonio.tcc (__try_use_facet):
+ Likewise.
+ * src/c++11/locale-inst-monetary.h (INSTANTIATE_FACET_ACCESSORS):
+ Use new macro for facet accessor instantiations.
+ * src/c++11/locale-inst-numeric.h (INSTANTIATE_FACET_ACCESSORS):
+ Likewise.
+ * src/c++11/locale-inst.cc (INSTANTIATE_USE_FACET): Define new
+ macro for instantiating __try_use_facet and use_facet.
+ (INSTANTIATE_FACET_ACCESSORS): Define new macro for also
+ defining has_facet.
+ * src/c++98/compatibility-ldbl.cc (__try_use_facet):
+ Instantiate.
+ * testsuite/22_locale/ctype/is/string/89728_neg.cc: Adjust
+ expected errors.
+
2022-11-10 Jonathan Wakely <jwakely@redhat.com>
* include/std/concepts (__detail::__destructible_impl)