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.
