Skip to content

Conversation

@dkm
Copy link
Member

@dkm dkm commented Dec 2, 2025

This is a fake PR, not meant to be merged. It tries to merge commits to upstream with an upstream base branch dkm/upstream-base.
We're only interested by the CI results.
-- gerris 🦀

sakupan102 and others added 11 commits December 2, 2025 21:44
gcc/rust/ChangeLog:

	* expand/rust-expand-visitor.cc (builtin_derive_item): Collect derived nodes.
	(derive_item): Collect derived nodes.
	* util/rust-hir-map.cc (Mappings::add_derived_nodes): Add derived set to collect derived
	nodes.
	(Mappings::is_derived_node): Add derived set to collect derived nodes.
	* util/rust-hir-map.h: Add derived set to collect derived nodes.

Signed-off-by: Ryutaro Okada <[email protected]>
gcc/rust/ChangeLog:

	* parse/rust-parse-impl.h (Parser::parse_items): Remove item parsing
	error.

gcc/testsuite/ChangeLog:

	* rust/compile/braced_macro_arm.rs: Remove superfluous error message
	matching.
	* rust/compile/decl_macro6.rs: Likewise.
	* rust/compile/decl_macro7.rs: Likewise.
	* rust/compile/extern_type_item_missing_semi.rs: Likewise.
	* rust/compile/issue-2187.rs: Likewise.
	* rust/compile/issue-407-2.rs: Likewise.
	* rust/compile/issue-407.rs: Likewise.
	* rust/compile/issue-4162.rs: Likewise.
	* rust/compile/issue-867.rs: Likewise.
	* rust/compile/macros/mbe/macro-issue1053-2.rs: Likewise.
	* rust/compile/macros/mbe/macro-issue1395-2.rs: Likewise.
	* rust/compile/macros/mbe/macro-issue3608.rs: Likewise.
	* rust/compile/macros/mbe/macro27.rs: Likewise.
	* rust/compile/macros/mbe/macro28.rs: Likewise.
	* rust/compile/macros/mbe/macro29.rs: Likewise.
	* rust/compile/macros/mbe/macro30.rs: Likewise.
	* rust/compile/macros/mbe/macro31.rs: Likewise.
	* rust/compile/macros/mbe/macro33.rs: Likewise.
	* rust/compile/macros/mbe/macro35.rs: Likewise.
	* rust/compile/macros/mbe/macro37.rs: Likewise.
	* rust/compile/macros/mbe/macro38.rs: Likewise.
	* rust/compile/macros/mbe/macro39.rs: Likewise.
	* rust/compile/macros/mbe/macro48.rs: Likewise.
	* rust/compile/parse_invalid_specialization.rs: Likewise.
	* rust/compile/parse_simple_path_fail_1.rs: Likewise.
	* rust/compile/parse_simple_path_fail_2.rs: Likewise.
	* rust/compile/raw-string-loc.rs: Likewise.
	* rust/compile/raw-byte-string-loc.rs: Likewise.
	* rust/compile/self_const_ptr.rs: Likewise.
	* rust/compile/self_mut_ptr.rs: Likewise.
	* rust/compile/static_var1.rs: Likewise.
	* rust/compile/self_ptr.rs: Likewise.
	* rust/compile/torture/identifier-missing-impl-1.rs: Likewise.

Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
gcc/rust/ChangeLog:

	* expand/rust-macro-expand.h: Fix typos in comment.
gcc/rust/ChangeLog:

	* backend/rust-constexpr.cc (eval_binary_expression): Set initial value
	equality value to false.

Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
gcc/rust/ChangeLog:

	* parse/rust-parse-impl.h (Parser::parse_delim_token_tree):
	Remove error message.
	(Parser::parse_token_tree): Split error message.

gcc/testsuite/ChangeLog:

	* rust/compile/macros/mbe/macro-issue3608.rs: Remove error.

Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
gcc/rust/ChangeLog:

	* parse/rust-parse-impl.h (Parser::parse_function): Return a nullptr on
	error instead of a valid function.
	(Parser::parse_let_stmt): Remove non leaf error.
	(Parser::parse_if_expr): Likewise.
	(Parser::parse_loop_expr): Likewise.
	(Parser::parse_expr): Return error on null denotation error.

gcc/testsuite/ChangeLog:

	* rust/compile/braced_macro_arm.rs: Remove parent errors.
	* rust/compile/issue-407-2.rs: Likewise.
	* rust/compile/issue-407.rs: Likewise.
	* rust/compile/issue-4162.rs: Likewise.
	* rust/compile/issue-867.rs: Likewise.
	* rust/compile/raw_ref_op_invalid.rs: Likewise.

Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
gcc/rust/ChangeLog:

	* checks/errors/feature/rust-feature-gate.cc (FeatureGate::visit): Add check for lang_items.
	* checks/errors/feature/rust-feature-gate.h: Likewise.

Signed-off-by: Raiki Tamura <[email protected]>
gcc/testsuite/ChangeLog:

	* rust/borrowck/reference.rs: Add attributes.
	* rust/borrowck/tmp.rs: Likewise.
	* rust/compile/additional-trait-bounds1.rs: Likewise.
	* rust/compile/additional-trait-bounds2.rs: Likewise.
	* rust/compile/additional-trait-bounds2nr2.rs: Likewise.
	* rust/compile/auto_traits1.rs: Likewise.
	* rust/compile/auto_traits2.rs: Likewise.
	* rust/compile/bad-rpit1.rs: Likewise.
	* rust/compile/black_box.rs: Likewise.
	* rust/compile/bounds1.rs: Likewise.
	* rust/compile/box_syntax_feature_gate.rs: Likewise.
	* rust/compile/bug-with-default-generic.rs: Likewise.
	* rust/compile/canonical_paths1.rs: Likewise.
	* rust/compile/cast_generics.rs: Likewise.
	* rust/compile/closure_no_type_anno.rs: Likewise.
	* rust/compile/cmp1.rs: Likewise.
	* rust/compile/complex_qualified_path_in_expr.rs: Likewise.
	* rust/compile/const-issue1440.rs: Likewise.
	* rust/compile/const_generics_1.rs: Likewise.
	* rust/compile/const_generics_10.rs: Likewise.
	* rust/compile/const_generics_11.rs: Likewise.
	* rust/compile/const_generics_12.rs: Likewise.
	* rust/compile/const_generics_13.rs: Likewise.
	* rust/compile/const_generics_14.rs: Likewise.
	* rust/compile/const_generics_15.rs: Likewise.
	* rust/compile/const_generics_16.rs: Likewise.
	* rust/compile/const_generics_18.rs: Likewise.
	* rust/compile/const_generics_19.rs: Likewise.
	* rust/compile/const_generics_3.rs: Likewise.
	* rust/compile/const_generics_8.rs: Likewise.
	* rust/compile/const_generics_9.rs: Likewise.
	* rust/compile/derive-debug1.rs: Likewise.
	* rust/compile/derive-default1.rs: Likewise.
	* rust/compile/derive-eq-invalid.rs: Likewise.
	* rust/compile/derive-hash1.rs: Likewise.
	* rust/compile/derive-partialeq1.rs: Likewise.
	* rust/compile/derive_clone_enum1.rs: Likewise.
	* rust/compile/derive_clone_enum2.rs: Likewise.
	* rust/compile/derive_clone_enum3.rs: Likewise.
	* rust/compile/derive_macro1.rs: Likewise.
	* rust/compile/derive_macro3.rs: Likewise.
	* rust/compile/derive_macro4.rs: Likewise.
	* rust/compile/derive_macro6.rs: Likewise.
	* rust/compile/derive_partial_ord1.rs: Likewise.
	* rust/compile/expand_macro_qual_path_in_type.rs: Likewise.
	* rust/compile/expected_type_args2.rs: Likewise.
	* rust/compile/expected_type_args3.rs: Likewise.
	* rust/compile/extern_generics.rs: Likewise.
	* rust/compile/for-loop1.rs: Likewise.
	* rust/compile/for-loop2.rs: Likewise.
	* rust/compile/format_args_basic_expansion.rs: Likewise.
	* rust/compile/format_args_concat.rs: Likewise.
	* rust/compile/format_args_extra_comma.rs: Likewise.
	* rust/compile/generics1.rs: Likewise.
	* rust/compile/generics11.rs: Likewise.
	* rust/compile/generics12.rs: Likewise.
	* rust/compile/generics2.rs: Likewise.
	* rust/compile/generics3.rs: Likewise.
	* rust/compile/generics4.rs: Likewise.
	* rust/compile/generics6.rs: Likewise.
	* rust/compile/generics7.rs: Likewise.
	* rust/compile/generics8.rs: Likewise.
	* rust/compile/if_let_expr.rs: Likewise.
	* rust/compile/impl_fnptr.rs: Likewise.
	* rust/compile/impl_trait_diag.rs: Likewise.
	* rust/compile/impl_trait_generic_arg.rs: Likewise.
	* rust/compile/issue-1005.rs: Likewise.
	* rust/compile/issue-1019.rs: Likewise.
	* rust/compile/issue-1031.rs: Likewise.
	* rust/compile/issue-1034.rs: Likewise.
	* rust/compile/issue-1128.rs: Likewise.
	* rust/compile/issue-1129-2.rs: Likewise.
	* rust/compile/issue-1130.rs: Likewise.
	* rust/compile/issue-1131.rs: Likewise.
	* rust/compile/issue-1165.rs: Likewise.
	* rust/compile/issue-1173.rs: Likewise.
	* rust/compile/issue-1235.rs: Likewise.
	* rust/compile/issue-1237.rs: Likewise.
	* rust/compile/issue-1289.rs: Likewise.
	* rust/compile/issue-1383.rs: Likewise.
	* rust/compile/issue-1447.rs: Likewise.
	* rust/compile/issue-1483.rs: Likewise.
	* rust/compile/issue-1485.rs: Likewise.
	* rust/compile/issue-1487.rs: Likewise.
	* rust/compile/issue-1589.rs: Likewise.
	* rust/compile/issue-1725-1.rs: Likewise.
	* rust/compile/issue-1725-2.rs: Likewise.
	* rust/compile/issue-1786.rs: Likewise.
	* rust/compile/issue-1893.rs: Likewise.
	* rust/compile/issue-1901.rs: Likewise.
	* rust/compile/issue-1930.rs: Likewise.
	* rust/compile/issue-1981.rs: Likewise.
	* rust/compile/issue-2015.rs: Likewise.
	* rust/compile/issue-2019-1.rs: Likewise.
	* rust/compile/issue-2019-2.rs: Likewise.
	* rust/compile/issue-2019-3.rs: Likewise.
	* rust/compile/issue-2036.rs: Likewise.
	* rust/compile/issue-2037.rs: Likewise.
	* rust/compile/issue-2070.rs: Likewise.
	* rust/compile/issue-2105.rs: Likewise.
	* rust/compile/issue-2106.rs: Likewise.
	* rust/compile/issue-2135.rs: Likewise.
	* rust/compile/issue-2136-1.rs: Likewise.
	* rust/compile/issue-2136-2.rs: Likewise.
	* rust/compile/issue-2139.rs: Likewise.
	* rust/compile/issue-2142.rs: Likewise.
	* rust/compile/issue-2165.rs: Likewise.
	* rust/compile/issue-2166.rs: Likewise.
	* rust/compile/issue-2190-1.rs: Likewise.
	* rust/compile/issue-2190-2.rs: Likewise.
	* rust/compile/issue-2195.rs: Likewise.
	* rust/compile/issue-2238.rs: Likewise.
	* rust/compile/issue-2304.rs: Likewise.
	* rust/compile/issue-2323.rs: Likewise.
	* rust/compile/issue-2330.rs: Likewise.
	* rust/compile/issue-2369.rs: Likewise.
	* rust/compile/issue-2375.rs: Likewise.
	* rust/compile/issue-2478.rs: Likewise.
	* rust/compile/issue-2499.rs: Likewise.
	* rust/compile/issue-2723-1.rs: Likewise.
	* rust/compile/issue-2723-2.rs: Likewise.
	* rust/compile/issue-2725.rs: Likewise.
	* rust/compile/issue-2747.rs: Likewise.
	* rust/compile/issue-2772-1.rs: Likewise.
	* rust/compile/issue-2772-2.rs: Likewise.
	* rust/compile/issue-2775.rs: Likewise.
	* rust/compile/issue-2782.rs: Likewise.
	* rust/compile/issue-2907.rs: Likewise.
	* rust/compile/issue-2951.rs: Likewise.
	* rust/compile/issue-2953-1.rs: Likewise.
	* rust/compile/issue-2953-2.rs: Likewise.
	* rust/compile/issue-2954.rs: Likewise.
	* rust/compile/issue-2987.rs: Likewise.
	* rust/compile/issue-3009.rs: Likewise.
	* rust/compile/issue-3022.rs: Likewise.
	* rust/compile/issue-3030.rs: Likewise.
	* rust/compile/issue-3032-1.rs: Likewise.
	* rust/compile/issue-3032-2.rs: Likewise.
	* rust/compile/issue-3033.rs: Likewise.
	* rust/compile/issue-3035.rs: Likewise.
	* rust/compile/issue-3036.rs: Likewise.
	* rust/compile/issue-3045-1.rs: Likewise.
	* rust/compile/issue-3045-2.rs: Likewise.
	* rust/compile/issue-3144.rs: Likewise.
	* rust/compile/issue-3242.rs: Likewise.
	* rust/compile/issue-3304.rs: Likewise.
	* rust/compile/issue-3382.rs: Likewise.
	* rust/compile/issue-3402-1.rs: Likewise.
	* rust/compile/issue-3402-2.rs: Likewise.
	* rust/compile/issue-3403.rs: Likewise.
	* rust/compile/issue-3454.rs: Likewise.
	* rust/compile/issue-3551.rs: Likewise.
	* rust/compile/issue-3554-2.rs: Likewise.
	* rust/compile/issue-3599.rs: Likewise.
	* rust/compile/issue-3642.rs: Likewise.
	* rust/compile/issue-3711.rs: Likewise.
	* rust/compile/issue-3836.rs: Likewise.
	* rust/compile/issue-3898.rs: Likewise.
	* rust/compile/issue-3915.rs: Likewise.
	* rust/compile/issue-3916.rs: Likewise.
	* rust/compile/issue-3969.rs: Likewise.
	* rust/compile/issue-402.rs: Likewise.
	* rust/compile/issue-4090-1.rs: Likewise.
	* rust/compile/issue-4090-2.rs: Likewise.
	* rust/compile/issue-850.rs: Likewise.
	* rust/compile/issue-855.rs: Likewise.
	* rust/compile/issue-925.rs: Likewise.
	* rust/compile/iterators1.rs: Likewise.
	* rust/compile/macros/builtin/option_env1.rs: Likewise.
	* rust/compile/macros/builtin/option_env2.rs: Likewise.
	* rust/compile/macros/builtin/option_env3.rs: Likewise.
	* rust/compile/macros/mbe/macro-issue1400.rs: Likewise.
	* rust/compile/macros/mbe/macro-issue3708.rs: Likewise.
	* rust/compile/macros/mbe/macro-issue3709-2.rs: Likewise.
	* rust/compile/macros/mbe/macro20.rs: Likewise.
	* rust/compile/macros/mbe/macro23.rs: Likewise.
	* rust/compile/macros/mbe/macro40.rs: Likewise.
	* rust/compile/macros/mbe/macro49.rs: Likewise.
	* rust/compile/macros/mbe/macro54.rs: Likewise.
	* rust/compile/multiple_bindings1.rs: Likewise.
	* rust/compile/name_resolution2.rs: Likewise.
	* rust/compile/name_resolution4.rs: Likewise.
	* rust/compile/nested_generic.rs: Likewise.
	* rust/compile/parse_associated_type_as_generic_arg.rs: Likewise.
	* rust/compile/parse_associated_type_as_generic_arg2.rs: Likewise.
	* rust/compile/parse_associated_type_as_generic_arg3.rs: Likewise.
	* rust/compile/parse_closure_bind.rs: Likewise.
	* rust/compile/parse_complex_generic_application.rs: Likewise.
	* rust/compile/parse_complex_generic_application2.rs: Likewise.
	* rust/compile/path_as_generic_arg.rs: Likewise.
	* rust/compile/privacy4.rs: Likewise.
	* rust/compile/privacy6.rs: Likewise.
	* rust/compile/silly-order-bug.rs: Likewise.
	* rust/compile/sizeof-stray-infer-var-bug.rs: Likewise.
	* rust/compile/stmt_with_block_dot.rs: Likewise.
	* rust/compile/structural-eq-peq.rs: Likewise.
	* rust/compile/torture/associated_types1.rs: Likewise.
	* rust/compile/torture/forward_decl_5.rs: Likewise.
	* rust/compile/torture/generics1.rs: Likewise.
	* rust/compile/torture/generics10.rs: Likewise.
	* rust/compile/torture/generics11.rs: Likewise.
	* rust/compile/torture/generics12.rs: Likewise.
	* rust/compile/torture/generics13.rs: Likewise.
	* rust/compile/torture/generics14.rs: Likewise.
	* rust/compile/torture/generics15.rs: Likewise.
	* rust/compile/torture/generics16.rs: Likewise.
	* rust/compile/torture/generics17.rs: Likewise.
	* rust/compile/torture/generics18.rs: Likewise.
	* rust/compile/torture/generics19.rs: Likewise.
	* rust/compile/torture/generics2.rs: Likewise.
	* rust/compile/torture/generics20.rs: Likewise.
	* rust/compile/torture/generics21.rs: Likewise.
	* rust/compile/torture/generics22.rs: Likewise.
	* rust/compile/torture/generics23.rs: Likewise.
	* rust/compile/torture/generics24.rs: Likewise.
	* rust/compile/torture/generics25.rs: Likewise.
	* rust/compile/torture/generics26.rs: Likewise.
	* rust/compile/torture/generics27.rs: Likewise.
	* rust/compile/torture/generics28.rs: Likewise.
	* rust/compile/torture/generics29.rs: Likewise.
	* rust/compile/torture/generics3.rs: Likewise.
	* rust/compile/torture/generics30.rs: Likewise.
	* rust/compile/torture/generics31.rs: Likewise.
	* rust/compile/torture/generics32.rs: Likewise.
	* rust/compile/torture/generics4.rs: Likewise.
	* rust/compile/torture/generics5.rs: Likewise.
	* rust/compile/torture/generics6.rs: Likewise.
	* rust/compile/torture/generics7.rs: Likewise.
	* rust/compile/torture/generics8.rs: Likewise.
	* rust/compile/torture/generics9.rs: Likewise.
	* rust/compile/torture/intrinsics-2.rs: Likewise.
	* rust/compile/torture/intrinsics-4.rs: Likewise.
	* rust/compile/torture/intrinsics-5.rs: Likewise.
	* rust/compile/torture/intrinsics-6.rs: Likewise.
	* rust/compile/torture/intrinsics-7.rs: Likewise.
	* rust/compile/torture/intrinsics-8.rs: Likewise.
	* rust/compile/torture/issue-1024.rs: Likewise.
	* rust/compile/torture/issue-1075.rs: Likewise.
	* rust/compile/torture/issue-1432.rs: Likewise.
	* rust/compile/torture/issue-1555.rs: Likewise.
	* rust/compile/torture/issue-368.rs: Likewise.
	* rust/compile/torture/issue-808.rs: Likewise.
	* rust/compile/torture/issue-862.rs: Likewise.
	* rust/compile/torture/issue-893-2.rs: Likewise.
	* rust/compile/torture/issue-893.rs: Likewise.
	* rust/compile/torture/must_use2.rs: Likewise.
	* rust/compile/torture/nested_fn2.rs: Likewise.
	* rust/compile/torture/phantom_data.rs: Likewise.
	* rust/compile/torture/range-lang-item1.rs: Likewise.
	* rust/compile/torture/traits1.rs: Likewise.
	* rust/compile/torture/traits10.rs: Likewise.
	* rust/compile/torture/traits11.rs: Likewise.
	* rust/compile/torture/traits12.rs: Likewise.
	* rust/compile/torture/traits13.rs: Likewise.
	* rust/compile/torture/traits14.rs: Likewise.
	* rust/compile/torture/traits15.rs: Likewise.
	* rust/compile/torture/traits16.rs: Likewise.
	* rust/compile/torture/traits17.rs: Likewise.
	* rust/compile/torture/traits18.rs: Likewise.
	* rust/compile/torture/traits19.rs: Likewise.
	* rust/compile/torture/traits2.rs: Likewise.
	* rust/compile/torture/traits3.rs: Likewise.
	* rust/compile/torture/traits4.rs: Likewise.
	* rust/compile/torture/traits5.rs: Likewise.
	* rust/compile/torture/traits6.rs: Likewise.
	* rust/compile/torture/traits7.rs: Likewise.
	* rust/compile/torture/traits8.rs: Likewise.
	* rust/compile/torture/traits9.rs: Likewise.
	* rust/compile/torture/transmute-size-check-1.rs: Likewise.
	* rust/compile/torture/transmute1.rs: Likewise.
	* rust/compile/torture/uninit-intrinsic-1.rs: Likewise.
	* rust/compile/torture/utf8_identifiers.rs: Likewise.
	* rust/compile/traits1.rs: Likewise.
	* rust/compile/traits10.rs: Likewise.
	* rust/compile/traits11.rs: Likewise.
	* rust/compile/traits12.rs: Likewise.
	* rust/compile/traits2.rs: Likewise.
	* rust/compile/traits3.rs: Likewise.
	* rust/compile/traits4.rs: Likewise.
	* rust/compile/traits5.rs: Likewise.
	* rust/compile/traits6.rs: Likewise.
	* rust/compile/traits7.rs: Likewise.
	* rust/compile/traits8.rs: Likewise.
	* rust/compile/traits9.rs: Likewise.
	* rust/compile/try-expr1.rs: Likewise.
	* rust/compile/try-trait.rs: Likewise.
	* rust/compile/try_block1.rs: Likewise.
	* rust/compile/type-bindings1.rs: Likewise.
	* rust/compile/unconstrained_type_param.rs: Likewise.
	* rust/compile/unify-errors1.rs: Likewise.
	* rust/compile/unsafe10.rs: Likewise.
	* rust/compile/v0-mangle1.rs: Likewise.
	* rust/compile/v0-mangle2.rs: Likewise.
	* rust/compile/while_let1.rs: Likewise.
	* rust/execute/black_box.rs: Likewise.
	* rust/execute/torture/atomic_load.rs: Likewise.
	* rust/execute/torture/atomic_store.rs: Likewise.
	* rust/execute/torture/basic_partial_ord1.rs: Likewise.
	* rust/execute/torture/basic_partial_ord2.rs: Likewise.
	* rust/execute/torture/builtin_macro_option_env.rs: Likewise.
	* rust/execute/torture/closure1.rs: Likewise.
	* rust/execute/torture/closure2.rs: Likewise.
	* rust/execute/torture/closure3.rs: Likewise.
	* rust/execute/torture/closure4.rs: Likewise.
	* rust/execute/torture/coercion1.rs: Likewise.
	* rust/execute/torture/coercion2.rs: Likewise.
	* rust/execute/torture/coercion3.rs: Likewise.
	* rust/execute/torture/const-generics-1.rs: Likewise.
	* rust/execute/torture/const-generics-2.rs: Likewise.
	* rust/execute/torture/const-generics-3.rs: Likewise.
	* rust/execute/torture/const-generics-4.rs: Likewise.
	* rust/execute/torture/const-generics-5.rs: Likewise.
	* rust/execute/torture/const-generics-6.rs: Likewise.
	* rust/execute/torture/const-generics-7.rs: Likewise.
	* rust/execute/torture/copy_nonoverlapping1.rs: Likewise.
	* rust/execute/torture/derive-default1.rs: Likewise.
	* rust/execute/torture/derive-partialeq1.rs: Likewise.
	* rust/execute/torture/derive-partialeq2.rs: Likewise.
	* rust/execute/torture/derive_clone_enum1.rs: Likewise.
	* rust/execute/torture/derive_macro1.rs: Likewise.
	* rust/execute/torture/derive_macro3.rs: Likewise.
	* rust/execute/torture/derive_macro4.rs: Likewise.
	* rust/execute/torture/enum_intrinsics1.rs: Likewise.
	* rust/execute/torture/enum_intrinsics2.rs: Likewise.
	* rust/execute/torture/for-loop1.rs: Likewise.
	* rust/execute/torture/for-loop2.rs: Likewise.
	* rust/execute/torture/gat1.rs: Likewise.
	* rust/execute/torture/impl_desugar-2.rs: Likewise.
	* rust/execute/torture/impl_desugar.rs: Likewise.
	* rust/execute/torture/impl_rpit1.rs: Likewise.
	* rust/execute/torture/impl_rpit2.rs: Likewise.
	* rust/execute/torture/impl_rpit3.rs: Likewise.
	* rust/execute/torture/impl_trait1.rs: Likewise.
	* rust/execute/torture/impl_trait2.rs: Likewise.
	* rust/execute/torture/impl_trait3.rs: Likewise.
	* rust/execute/torture/impl_trait4.rs: Likewise.
	* rust/execute/torture/index1.rs: Likewise.
	* rust/execute/torture/issue-1120.rs: Likewise.
	* rust/execute/torture/issue-1133.rs: Likewise.
	* rust/execute/torture/issue-1198.rs: Likewise.
	* rust/execute/torture/issue-1232.rs: Likewise.
	* rust/execute/torture/issue-1249.rs: Likewise.
	* rust/execute/torture/issue-1436.rs: Likewise.
	* rust/execute/torture/issue-1481.rs: Likewise.
	* rust/execute/torture/issue-1482.rs: Likewise.
	* rust/execute/torture/issue-1496.rs: Likewise.
	* rust/execute/torture/issue-1720-2.rs: Likewise.
	* rust/execute/torture/issue-1720.rs: Likewise.
	* rust/execute/torture/issue-2005.rs: Likewise.
	* rust/execute/torture/issue-2052.rs: Likewise.
	* rust/execute/torture/issue-2179.rs: Likewise.
	* rust/execute/torture/issue-2180.rs: Likewise.
	* rust/execute/torture/issue-2236.rs: Likewise.
	* rust/execute/torture/issue-2583.rs: Likewise.
	* rust/execute/torture/issue-3126.rs: Likewise.
	* rust/execute/torture/issue-3381.rs: Likewise.
	* rust/execute/torture/issue-3502.rs: Likewise.
	* rust/execute/torture/issue-3836.rs: Likewise.
	* rust/execute/torture/issue-647.rs: Likewise.
	* rust/execute/torture/issue-845.rs: Likewise.
	* rust/execute/torture/issue-851.rs: Likewise.
	* rust/execute/torture/issue-858.rs: Likewise.
	* rust/execute/torture/iter1.rs: Likewise.
	* rust/execute/torture/macros23.rs: Likewise.
	* rust/execute/torture/macros28.rs: Likewise.
	* rust/execute/torture/method2.rs: Likewise.
	* rust/execute/torture/method3.rs: Likewise.
	* rust/execute/torture/method4.rs: Likewise.
	* rust/execute/torture/min_specialization2.rs: Likewise.
	* rust/execute/torture/min_specialization3.rs: Likewise.
	* rust/execute/torture/operator_overload_1.rs: Likewise.
	* rust/execute/torture/operator_overload_10.rs: Likewise.
	* rust/execute/torture/operator_overload_11.rs: Likewise.
	* rust/execute/torture/operator_overload_12.rs: Likewise.
	* rust/execute/torture/operator_overload_2.rs: Likewise.
	* rust/execute/torture/operator_overload_3.rs: Likewise.
	* rust/execute/torture/operator_overload_4.rs: Likewise.
	* rust/execute/torture/operator_overload_5.rs: Likewise.
	* rust/execute/torture/operator_overload_6.rs: Likewise.
	* rust/execute/torture/operator_overload_7.rs: Likewise.
	* rust/execute/torture/operator_overload_8.rs: Likewise.
	* rust/execute/torture/operator_overload_9.rs: Likewise.
	* rust/execute/torture/partial-eq-1.rs: Likewise.
	* rust/execute/torture/partial-eq-2.rs: Likewise.
	* rust/execute/torture/partial-eq-3.rs: Likewise.
	* rust/execute/torture/partial-eq-4.rs: Likewise.
	* rust/execute/torture/partial-ord-1.rs: Likewise.
	* rust/execute/torture/partial-ord-2.rs: Likewise.
	* rust/execute/torture/partial-ord-3.rs: Likewise.
	* rust/execute/torture/partial-ord-4.rs: Likewise.
	* rust/execute/torture/partial-ord-5.rs: Likewise.
	* rust/execute/torture/partial-ord-6.rs: Likewise.
	* rust/execute/torture/prefetch_data.rs: Likewise.
	* rust/execute/torture/ref-pattern2.rs: Likewise.
	* rust/execute/torture/sip-hasher.rs: Likewise.
	* rust/execute/torture/slice-magic.rs: Likewise.
	* rust/execute/torture/slice-magic2.rs: Likewise.
	* rust/execute/torture/slice1.rs: Likewise.
	* rust/execute/torture/str-layout1.rs: Likewise.
	* rust/execute/torture/trait1.rs: Likewise.
	* rust/execute/torture/trait10.rs: Likewise.
	* rust/execute/torture/trait11.rs: Likewise.
	* rust/execute/torture/trait12.rs: Likewise.
	* rust/execute/torture/trait13.rs: Likewise.
	* rust/execute/torture/trait14.rs: Likewise.
	* rust/execute/torture/trait15.rs: Likewise.
	* rust/execute/torture/trait2.rs: Likewise.
	* rust/execute/torture/trait3.rs: Likewise.
	* rust/execute/torture/trait4.rs: Likewise.
	* rust/execute/torture/trait5.rs: Likewise.
	* rust/execute/torture/trait6.rs: Likewise.
	* rust/execute/torture/trait7.rs: Likewise.
	* rust/execute/torture/trait8.rs: Likewise.
	* rust/execute/torture/trait9.rs: Likewise.
	* rust/execute/torture/transmute1.rs: Likewise.
	* rust/execute/torture/wrapping_op1.rs: Likewise.
	* rust/execute/torture/wrapping_op2.rs: Likewise.
	* rust/link/generic_function_1.rs: Likewise.
	* rust/link/trait_import_1.rs: Likewise.

Signed-off-by: Raiki Tamura <[email protected]>
This fixes a false positive with undefined features, improves the
implementation of Feature::as_name, and configures the testsuite to
check further stages of libcore compilation.

gcc/rust/ChangeLog:

	* ast/rust-macro.h (MetaNameValueStr::get_name): New function.
	(MetaNameValueStr::get_value): Likewise.
	* checks/errors/feature/rust-feature-gate.cc
	(FeatureGate::visit): Tweak unknown feature detection.
	(FeatureGate::gate): Handle field rename.
	(FeatureGate::note_stability_attribute): New function
	definition.
	* checks/errors/feature/rust-feature-gate.h
	(FeatureGate::note_stability_attribute): New function
	declaration.
	(FeatureGate::Stability): New enum class.
	(FeatureGate::valid_features): Rename field to...
	(FeatureGate::valid_lang_features): ...here.
	(FeatureGate::valid_lib_features): New field.
	(FeatureGate::defined_lib_features): Likewise.
	* checks/errors/feature/rust-feature.cc (Feature::as_name):
	Improve implementation.

gcc/testsuite/ChangeLog:

	* rust/core/core.exp: Change -frust-compile-until=astvalidation
	to -frust-compile-until=nameresolution.

Signed-off-by: Owen Avery <[email protected]>
We recently modified all tests with lang items to add the lang feature
gate switch but we did not introduce any test to check that a proper
error message is printed when this switch is not used.

gcc/testsuite/ChangeLog:

	* rust/compile/lang_feature_gate.rs: New test.

Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
Reindent according to latest clang-format settings.

No functional change.

gcc/rust/ChangeLog:

	* lex/rust-lex.cc (rust_input_source_test): Reindent.

Signed-off-by: Marc Poulhiès <[email protected]>
@dkm dkm force-pushed the gerris/rebase-upstream/2025-12-02 branch from 3e0c9ab to bdbf56d Compare December 2, 2025 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants