https://gcc.gnu.org/g:8ec17a01f1fc76a53f0f2a7e0cff0c460aac4635

commit r16-6850-g8ec17a01f1fc76a53f0f2a7e0cff0c460aac4635
Author: GCC Administrator <[email protected]>
Date:   Sat Jan 17 00:16:34 2026 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           |  58 ++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/analyzer/ChangeLog  |  37 ++++++++
 gcc/c/ChangeLog         |   8 ++
 gcc/cp/ChangeLog        |  12 +++
 gcc/rust/ChangeLog      | 243 ++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/testsuite/ChangeLog |  66 +++++++++++++
 7 files changed, 425 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index be5576dbef1c..cb8fe3d79d3a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,61 @@
+2026-01-16  Kugan Vivekanandarajah  <[email protected]>
+
+       * hierarchical_discriminator.cc (init_copyid_allocator): Walks the 
function
+       body to find existing max copyids per location.
+       (record_existing_copyid): New.
+
+2026-01-16  Alice Carlotti  <[email protected]>
+
+       PR target/123460
+       * config.gcc: Accept hyphens in aarch64 --with-arch extensions.
+
+2026-01-16  David Malcolm  <[email protected]>
+
+       PR analyzer/123145
+       * timevar.def (TV_ANALYZER_SUPERGRAPH): Rename to...
+       (TV_ANALYZER_SUPERGRAPH_CREATION): ...this.
+       (TV_ANALYZER_SUPERGRAPH_FIXUP_LOCATIONS): New.
+       (TV_ANALYZER_SUPERGRAPH_SIMPLIFY): New.
+       (TV_ANALYZER_SUPERGRAPH_SORTING): New.
+
+2026-01-16  Vladimir N. Makarov  <[email protected]>
+
+       PR target/123092
+       * lra-constraints.cc (lra_constraints): Push insn on processing
+       stack after equivalence substitution.
+
+2026-01-16  Rainer Orth  <[email protected]>
+
+       PR pch/110746
+       * config/host-freebsd.cc: New file.
+       * config.host <*-*-freebsd*>: Use it.
+       * config/x-freebsd: New file.
+
+2026-01-16  Martin Jambor  <[email protected]>
+
+       PR ipa/123412
+       * ipa-cp.cc (devirtualization_time_bonus): Do add the indirect
+       edge frequency at least once even for targets which cannot be
+       inlined.
+
+2026-01-16  Jakub Jelinek  <[email protected]>
+
+       PR target/123607
+       * config/i386/i386.md (movhf_mask): Change constraint on
+       match_operand 2's second alternative from 0C to 0.
+
+2026-01-16  Lulu Cheng  <[email protected]>
+
+       PR target/123521
+       * config/loongarch/loongarch.cc
+       (loongarch_expand_vector_init_same): Fixed a bug in the
+       vector initialization section..
+
+2026-01-16  David Guillen Fandos  <[email protected]>
+
+       * config/mips/mips.h (ISA_HAS_FMIN_FMAX): Add R5900;
+       note that, R5900 is not IEEE754 fully compatiable.
+
 2026-01-15  Marek Polacek  <[email protected]>
            Jakub Jelinek  <[email protected]>
 
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 9902c08b8a2b..058cb2950ff5 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20260116
+20260117
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index 4da5e532ab5e..a2d2315dc893 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,40 @@
+2026-01-16  David Malcolm  <[email protected]>
+
+       * engine.cc (exploded_graph::process_worklist): Remove guard on
+       limit being non-zero when checking for -Wanalyzer-too-complex
+       on overall number of exploded nodes.  Allow for the origin enode.
+
+2026-01-16  David Malcolm  <[email protected]>
+
+       PR analyzer/123145
+       * supergraph-fixup-locations.cc: Include "timevar.h".
+       (supergraph::fixup_locations): Track time spent as
+       TV_ANALYZER_SUPERGRAPH_FIXUP_LOCATIONS.
+       * supergraph-simplify.cc: Include "timevar.h".
+       (supergraph::simplify): Track time spent as
+       TV_ANALYZER_SUPERGRAPH_SIMPLIFY.
+       * supergraph-sorting.cc: Include "timevar.h".
+       (supergraph::sort_nodes): Track time spent as
+       TV_ANALYZER_SUPERGRAPH_SORTING.
+       * supergraph.cc (supergraph::supergraph): Track time spent as
+       TV_ANALYZER_SUPERGRAPH_CREATION rather than
+       TV_ANALYZER_SUPERGRAPH.
+
+2026-01-16  David Malcolm  <[email protected]>
+
+       PR analyzer/123540
+       * ops.cc (eh_dispatch_edge_op::make): Drop dst_snode param to
+       ctor.
+       (eh_dispatch_edge_op::eh_dispatch_edge_op): Likewise, dropping
+       field eh_dispatch_edge_op::m_dst_snode.
+       (eh_dispatch_try_edge_op::eh_dispatch_try_edge_op): Likewise.
+       (eh_dispatch_allowed_edge_op::eh_dispatch_allowed_edge_op):
+       Likewise.
+       * ops.h (eh_dispatch_edge_op::eh_dispatch_edge_op): Likewise.
+       (eh_dispatch_edge_op::m_dst_snode): Drop unused field.
+       (eh_dispatch_try_edge_op::eh_dispatch_try_edge_op): Drop unused
+       dst_snode param.
+
 2026-01-09  David Malcolm  <[email protected]>
 
        * common.h (struct on_frame_popped): New.
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 02257c90d0b7..05968d676e14 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,11 @@
+2026-01-16  Jakub Jelinek  <[email protected]>
+           Peter Damianov  <[email protected]>
+
+       PR c/123437
+       * c-typeck.cc (build_binary_op): Don't use RDIV_EXPR
+       resultcode if both types are integral, _BitInt or
+       newly VECTOR_TYPE of ENUMERAL_TYPE.
+
 2026-01-14  Qing Zhao  <[email protected]>
 
        * c-decl.cc (grokfield): Call verify_counted_by_for_top_anonymous_type
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 0c6f54f35783..466253296548 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,15 @@
+2026-01-16  Marek Polacek  <[email protected]>
+
+       * reflect.cc (eval_variable_of): Update comment.
+
+2026-01-16  Jakub Jelinek  <[email protected]>
+           Peter Damianov  <[email protected]>
+
+       PR c/123437
+       * typeck.cc (cp_build_binary_op): Don't use RDIV_EXPR
+       resultcode if both types are integral, _BitInt or
+       newly VECTOR_TYPE of ENUMERAL_TYPE.
+
 2026-01-15  Marek Polacek  <[email protected]>
            Jakub Jelinek  <[email protected]>
 
diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog
index 7c3111441e40..20ee8a5ea74f 100644
--- a/gcc/rust/ChangeLog
+++ b/gcc/rust/ChangeLog
@@ -1,3 +1,246 @@
+2026-01-16  Yap Zhi Heng  <[email protected]>
+
+       * typecheck/rust-hir-type-check-expr.cc (visit(StructExprStruct)): 
Update to properly
+       unwrap enum variants for type checking.
+       * typecheck/rust-tyty.cc (VariantDef::get_fields) : Remove NUM assert.
+       * backend/rust-compile-expr.cc: Update to properly unwrap enum variants 
for type
+       resolution checking.
+
+2026-01-16  lenny.chiadmi-delage  <[email protected]>
+
+       * parse/rust-parse-impl-expr.hxx(Parser::null_denotation): Add
+       HASH case to handle outer attributes in expressions.
+
+2026-01-16  Lucas Ly Ba  <[email protected]>
+
+       * checks/lints/unused/rust-unused-checker.cc 
(UnusedChecker::visit_loop_label):
+       Add warning for unused label in LoopLabel expr.
+       * checks/lints/unused/rust-unused-checker.h: Likewise.
+       * checks/lints/unused/rust-unused-collector.cc (UnusedCollector::visit):
+       Check in BreakExpr and ContinueExpr if a label is used.
+       * checks/lints/unused/rust-unused-collector.h: Likewise.
+       * checks/lints/unused/rust-unused-context.cc (UnusedContext::add_label):
+       Method helper.
+       (UnusedContext::is_label_used): Likewise
+       * checks/lints/unused/rust-unused-context.h: Likewise.
+
+2026-01-16  Jayant Chauhan  <[email protected]>
+
+       * util/rust-attributes.cc (AttributeChecker::visit): Emit diagnostic.
+
+2026-01-16  Jayant Chauhan  <[email protected]>
+
+       * util/rust-attributes.cc (AttributeChecker::visit): Emit diagnostic.
+
+2026-01-16  Lucas Ly Ba  <[email protected]>
+
+       * checks/lints/unused/rust-unused-checker.cc (UnusedChecker::visit):
+       Emit warning in empty statement visitor.
+       * checks/lints/unused/rust-unused-checker.h:
+       Likewise.
+
+2026-01-16  Jayant Chauhan  <[email protected]>
+
+       * util/rust-attributes.cc: Emit diagnostic.
+
+2026-01-16  Arthur Cohen  <[email protected]>
+           Owen Avery  <[email protected]>
+
+       * resolve/rust-name-resolution-context.h:
+
+2026-01-16  Arthur Cohen  <[email protected]>
+
+       * resolve/rust-forever-stack.h: New function.
+       * resolve/rust-forever-stack.hxx: Implement it.
+       * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Call it if the 
prelude exists
+       and we have an unresolved Identifier Call it if the prelude exists and 
we have
+       an unresolved Identifier.
+
+2026-01-16  Arthur Cohen  <[email protected]>
+
+       * resolve/rust-forever-stack.h: Add new resolve_path function.
+       * resolve/rust-forever-stack.hxx: Implement it.
+
+2026-01-16  Arthur Cohen  <[email protected]>
+
+       * resolve/rust-early-name-resolver-2.0.cc 
(Early::finalize_glob_import): Save prelude
+       if we find one.
+       * resolve/rust-name-resolution-context.h: Add field.
+       * resolve/rust-toplevel-name-resolver-2.0.cc (has_prelude_import): New 
function.
+       (TopLevel::visit): Create a prelude glob import if necessary.
+       * resolve/rust-toplevel-name-resolver-2.0.h: Allow glob imports to be 
prelude imports.
+
+2026-01-16  Arthur Cohen  <[email protected]>
+
+       * resolve/rust-forever-stack.h: Add depth parameter to function.
+       * resolve/rust-forever-stack.hxx: Likewise and use it.
+
+2026-01-16  Pierre-Emmanuel Patry  <[email protected]>
+
+       * parse/rust-parse-impl-expr.hxx: Use explicit template.
+       * parse/rust-parse-impl-path.hxx: Likewise.
+       * parse/rust-parse-impl-ttree.hxx: Likewise.
+       * parse/rust-parse-impl.hxx: Likewise.
+
+2026-01-16  Pierre-Emmanuel Patry  <[email protected]>
+
+       * ast/rust-ast-collector.cc (TokenCollector::visit): Update function
+       name.
+       * ast/rust-ast-pointer-visitor.cc (PointerVisitor::visit): Likewise.
+       * ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Likewise.
+       * ast/rust-ast.cc (BreakExpr::as_string): Use getter function.
+       (AttributeParser::parse_path_meta_item): Convert to expected type.
+       (ReturnExpr::as_string): Change access to returned expr.
+       * ast/rust-desugar-for-loops.cc 
(DesugarForLoops::DesugarCtx::make_break_arm):
+       Likewise.
+       * ast/rust-expr.h (class BreakExpr): Make expr in break optional.
+       (class ReturnExpr): Make returned expr explicitely optional. Change the
+       getters and introduce a  const getter.
+       * expand/rust-cfg-strip.cc (CfgStrip::visit): Convert to expected type.
+       * expand/rust-macro-builtins-asm.cc (parse_reg_operand_in): Update
+       constructor call to new expected types.
+       (parse_reg_operand_out): Likewise.
+       (parse_reg_operand_inout): Likewise.
+       (parse_llvm_operands): Likewise.
+       * expand/rust-macro-builtins-format-args.cc (format_args_parse_expr):
+       Likewise.
+       (format_args_parse_arguments): Likewise.
+       * expand/rust-macro-builtins-helpers.cc (try_expand_many_expr): Update
+       value for tl::expected.
+       * expand/rust-macro-builtins-include.cc (MacroBuiltin::include_handler):
+       Likewise.
+       * expand/rust-macro-expand.cc (transcribe_expression): Update
+       constructor call with expected value.
+       * hir/rust-ast-lower-expr.cc (ASTLoweringExpr::visit): Likewise.
+       * parse/rust-parse-error.h (enum class): Add new error types for Expr
+       and StructExprField.
+       * parse/rust-parse-impl-expr.hxx: Explicitely handle return expr
+       parsing failure. Update to fit new expected types.
+       * parse/rust-parse-impl.hxx: Likewise.
+       * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Adapt to
+       tl::expected.
+       * ast/rust-desugar-while-let.cc 
(DesugarWhileLet::DesugarCtx::make_break_arm):
+       Use optional for break expressions when missing instead of nullptr.
+       * parse/rust-parse.h: Change function return type with expected. Remove
+       error state from ExprOrStmt.
+
+2026-01-16  Pierre-Emmanuel Patry  <[email protected]>
+
+       * ast/rust-ast.cc (AttributeParser::parse_meta_item_lit): Use
+       tl::expected
+       * expand/rust-macro-builtins-helpers.cc (parse_single_string_literal):
+       Likewise.
+       * expand/rust-macro-expand.cc (MacroExpander::match_fragment):
+       Likewise.
+       * parse/rust-cfg-parser.cc (parse_cfg_option): Likewise.
+       * parse/rust-parse-error.h (struct SimplePath): Remove error type.
+       (struct DelimTokenTree): Likewise.
+       (struct Token): Likewise.
+       (struct TokenTree): Likewise.
+       (class LifetimeParam): Move from here ...
+       (struct LifetimeParam): ... to here. Add ctor.
+       (class Lifetime): Add error type.
+       (enum class): Remove AnonConst.
+       (struct BlockExpr): Change BlockExpr to generic node error.
+       * parse/rust-parse-impl-expr.hxx: Use tl::expected for errors.
+       * parse/rust-parse-impl-path.hxx: Likewise.
+       * parse/rust-parse-impl-ttree.hxx: Likewise.
+       * parse/rust-parse-impl.hxx: Likewise.
+       * parse/rust-parse.h: Update function return types with tl::expected
+       to propagate errors.
+
+2026-01-16  Pierre-Emmanuel Patry  <[email protected]>
+
+       * parse/rust-parse-error.h (struct BlockExpr): Add BlockExpr error type
+       * parse/rust-parse-impl-expr.hxx: Update return types.
+       * parse/rust-parse-impl.hxx: Likewise.
+       * parse/rust-parse.h: Update function prototypes.
+
+2026-01-16  Pierre-Emmanuel Patry  <[email protected]>
+
+       * parse/rust-parse-impl.hxx: Collect errors instead of emitting them.
+
+2026-01-16  Pierre-Emmanuel Patry  <[email protected]>
+
+       * parse/rust-parse.h (class ParseLifetimeParamError): Move error from
+       here ...
+       (class ParseLifetimeError): Likewise.
+       (enum class): Likewise.
+       * parse/rust-parse-error.h (class LifetimeParam): ... to here.
+       here.
+       (class Lifetime): Likewise.
+       (enum class): Likewise.
+       (struct LoopLabel): Likewise and make it a full struct with ctors.
+       (struct Self): Likewise.
+       * parse/rust-parse-impl-expr.hxx: Make error point to new namespace.
+       * parse/rust-parse-impl.hxx: Likewise.
+
+2026-01-16  Harishankar  <[email protected]>
+
+       * expand/rust-macro-expand.cc (MacroExpander::expand_invoc): Handle
+       error fragments by replacing them with empty fragments.
+
+2026-01-16  Lucas Ly Ba  <[email protected]>
+
+       * ast/rust-ast-builder.cc (Builder::match_arm): Moves the vector of 
patterns
+       to a single pattern.
+       * ast/rust-ast-collector.cc (TokenCollector::visit):Likewise.
+       * ast/rust-ast-pointer-visitor.cc (PointerVisitor::visit):Likewise.
+       * ast/rust-ast-visitor.cc (DefaultASTVisitor::visit):Likewise.
+       * ast/rust-ast.cc (IfLetExpr::as_string):Likewise.
+       (WhileLetLoopExpr::as_string):Likewise.
+       (MatchArm::as_string):Likewise.
+       * ast/rust-desugar-question-mark.cc (make_match_arm):Likewise.
+       * ast/rust-desugar-while-let.cc (DesugarWhileLet::desugar):Likewise.
+       * ast/rust-expr.h (class WhileLetLoopExpr):Likewise.
+       (class IfLetExpr):Likewise.
+       * backend/rust-compile-expr.cc (CompileExpr::visit):Likewise.
+       * checks/errors/rust-hir-pattern-analysis.cc (lower_arm):Likewise.
+       * expand/rust-cfg-strip.cc (CfgStrip::visit):Likewise.
+       * hir/rust-ast-lower.cc (ASTLoweringIfLetBlock::desugar_iflet):Likewise.
+       (ASTLoweringExprWithBlock::visit):Likewise.
+       * hir/rust-hir-dump.cc (Dump::do_matcharm):Likewise.
+       (Dump::visit):Likewise.
+       * hir/tree/rust-hir-expr.cc (OperatorExpr::operator=):Likewise.
+       (ArithmeticOrLogicalExpr::operator=):Likewise.
+       (ComparisonExpr::operator=):Likewise.
+       (LazyBooleanExpr::operator=):Likewise.
+       (TypeCastExpr::operator=):Likewise.
+       (AssignmentExpr::operator=):Likewise.
+       (CompoundAssignmentExpr::operator=):Likewise.
+       (GroupedExpr::operator=):Likewise.
+       (ArrayExpr::operator=):Likewise.
+       (ArrayIndexExpr::operator=):Likewise.
+       (CallExpr::operator=):Likewise.
+       (MethodCallExpr::operator=):Likewise.
+       (FieldAccessExpr::operator=):Likewise.
+       (BlockExpr::operator=):Likewise.
+       (BreakExpr::operator=):Likewise.
+       (ReturnExpr::operator=):Likewise.
+       (UnsafeBlockExpr::operator=):Likewise.
+       (BaseLoopExpr::operator=):Likewise.
+       (WhileLetLoopExpr::WhileLetLoopExpr):Likewise.
+       (WhileLetLoopExpr::operator=):Likewise.
+       (MatchArm::MatchArm):Likewise.
+       (MatchArm::operator=):Likewise.
+       (MatchExpr::operator=):Likewise.
+       * hir/tree/rust-hir-expr.h (class WhileLetLoopExpr):Likewise.
+       * hir/tree/rust-hir-visitor.cc (DefaultHIRVisitor::walk):Likewise.
+       (DefaultHIRVisitor::visit_match_arm):Likewise.
+       * hir/tree/rust-hir.cc (WhileLetLoopExpr::as_string):Likewise.
+       (MatchArm::as_string):Likewise.
+       * parse/rust-parse-impl-expr.hxx: Likewise.
+       * parse/rust-parse-impl.hxx: Likewise.
+       * parse/rust-parse.h:Likewise.
+       * resolve/rust-default-resolver.cc 
(DefaultResolver::visit_if_let_patterns):Likewise.
+       * resolve/rust-late-name-resolver-2.0.cc (Late::visit):Likewise.
+       * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):Likewise.
+
+2026-01-16  Arthur Cohen  <[email protected]>
+
+       * resolve/rust-early-name-resolver-2.0.cc (Early::visit_attributes): 
Mention the name
+       of the attribute macro that hasn't been found.
+
 2025-12-23  lenny.chiadmi-delage  <[email protected]>
 
        * checks/errors/feature/rust-feature-gate.cc (FeatureGate::visit): Added
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d71a5be466a4..2d2de772c428 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,69 @@
+2026-01-16  Kugan Vivekanandarajah  <[email protected]>
+
+       * gcc.dg/hierarchical-discriminator-loop-version.c: Simplify.
+       * gcc.dg/hierarchical-discriminator-unroll.c: Likewise
+       * gcc.dg/hierarchical-discriminator-vect-version.c: Likewise.
+
+2026-01-16  Yap Zhi Heng  <[email protected]>
+
+       * rust/compile/issue-4163-2.rs: New file.
+       * rust/compile/issue-4163.rs: New file.
+
+2026-01-16  lenny.chiadmi-delage  <[email protected]>
+
+       * rust/compile/issue-3874.rs: Fixes test.
+       * rust/compile/issue-3904.rs: New test.
+
+2026-01-16  Lucas Ly Ba  <[email protected]>
+
+       * rust/compile/unused-label_0.rs: New test.
+
+2026-01-16  Jayant Chauhan  <[email protected]>
+
+       * rust/compile/no_mangle-malformed.rs: New test.
+
+2026-01-16  Jayant Chauhan  <[email protected]>
+
+       * rust/compile/target_feature-malformed-4233.rs: New test.
+
+2026-01-16  Lucas Ly Ba  <[email protected]>
+
+       * rust/compile/redundant-semicolons_0.rs: New test.
+
+2026-01-16  Jayant Chauhan  <[email protected]>
+
+       * rust/compile/link_name-malformed.rs: New test.
+
+2026-01-16  Harishankar  <[email protected]>
+
+       * rust/compile/issue-4213.rs: New test.
+
+2026-01-16  Vladimir N. Makarov  <[email protected]>
+
+       PR target/123092
+       * gcc.target/riscv/pr123092.c: New.
+
+2026-01-16  Marek Polacek  <[email protected]>
+
+       * g++.dg/reflect/member15.C: Enable commented-out test.
+       * g++.dg/reflect/splice5.C: Likewise.  Add XFAIL.
+
+2026-01-16  Jakub Jelinek  <[email protected]>
+           Peter Damianov  <[email protected]>
+
+       PR c/123437
+       * c-c++-common/pr123437.c: New test.
+
+2026-01-16  Jakub Jelinek  <[email protected]>
+
+       PR target/123607
+       * g++.target/i386/avx512fp16-pr123607.C: New test.
+
+2026-01-16  Lulu Cheng  <[email protected]>
+
+       PR target/123521
+       * gcc.target/loongarch/vector/lasx/pr123521.c: New test.
+
 2026-01-15  Pengxuan Zheng  <[email protected]>
 
        * gcc.dg/pr123109.c: Require target x86_64 and aarch64.

Reply via email to