From: Pierre-Emmanuel Patry Date: Fri, 5 Dec 2025 15:55:47 +0000 (+0100) Subject: gccrs: Use the path location for MetaItemPathExpr X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=18c092b8c25e982cf47e701cec760236f31cbf2a;p=thirdparty%2Fgcc.git gccrs: Use the path location for MetaItemPathExpr Previously we aborted when querying the location on a MetaItemPathExpr, the location should start on the path and continue over the expr but we do not support that kind of location range yet. gcc/rust/ChangeLog: * ast/rust-expr.h: Use path locus. gcc/testsuite/ChangeLog: * rust/compile/issue-4301.rs: New test. Signed-off-by: Pierre-Emmanuel Patry --- diff --git a/gcc/rust/ast/rust-expr.h b/gcc/rust/ast/rust-expr.h index 3c36238c6ee..55a8df81829 100644 --- a/gcc/rust/ast/rust-expr.h +++ b/gcc/rust/ast/rust-expr.h @@ -294,15 +294,7 @@ public: return MetaItem::ItemKind::PathExpr; } - // There are two Locations in MetaItemPathExpr (path and expr), - // we have no idea use which of them, just simply return UNKNOWN_LOCATION - // now. - // Maybe we will figure out when we really need the location in the future. - location_t get_locus () const override - { - rust_unreachable (); - return UNKNOWN_LOCATION; - } + location_t get_locus () const override { return path.get_locus (); } void accept_vis (ASTVisitor &vis) override; diff --git a/gcc/testsuite/rust/compile/issue-4301.rs b/gcc/testsuite/rust/compile/issue-4301.rs new file mode 100644 index 00000000000..a6d524ed8dc --- /dev/null +++ b/gcc/testsuite/rust/compile/issue-4301.rs @@ -0,0 +1,3 @@ +#![feature(unused_variables, server = b"\0")] +// { dg-error {unknown feature .server = .} "" { target *-*-* } .-1 } +// { dg-error {unknown feature .unused_variables.} "" { target *-*-* } .-2 }