diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2025-02-09 15:16:59 -0500 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2025-03-24 13:30:42 +0100 |
commit | 0b342630e4f0bcd322409d9aeb8c0bc02d7d0890 (patch) | |
tree | 5cce2fd641bab1ed406cb7045d66392d20b73e2d | |
parent | 8ad4296118148eecf28ade7c6fc537771bdfca06 (diff) | |
download | gcc-0b342630e4f0bcd322409d9aeb8c0bc02d7d0890.zip gcc-0b342630e4f0bcd322409d9aeb8c0bc02d7d0890.tar.gz gcc-0b342630e4f0bcd322409d9aeb8c0bc02d7d0890.tar.bz2 |
gccrs: nr2.0: Fix test self-path2.rs
gcc/rust/ChangeLog:
* resolve/rust-ast-resolve-path.cc
(ResolvePath::resolve_path): Adjust the error message for a lower
self segment in the middle of a path.
* resolve/rust-ast-resolve-type.cc
(ResolveRelativeTypePath::go): Likewise.
gcc/testsuite/ChangeLog:
* rust/compile/nr2/exclude: Remove self-path2.rs
* rust/compile/self-path2.rs: Adjust expected errors.
Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
-rw-r--r-- | gcc/rust/resolve/rust-ast-resolve-path.cc | 14 | ||||
-rw-r--r-- | gcc/rust/resolve/rust-ast-resolve-type.cc | 4 | ||||
-rw-r--r-- | gcc/testsuite/rust/compile/nr2/exclude | 1 | ||||
-rw-r--r-- | gcc/testsuite/rust/compile/self-path2.rs | 4 |
4 files changed, 11 insertions, 12 deletions
diff --git a/gcc/rust/resolve/rust-ast-resolve-path.cc b/gcc/rust/resolve/rust-ast-resolve-path.cc index 256159b..656b7e6 100644 --- a/gcc/rust/resolve/rust-ast-resolve-path.cc +++ b/gcc/rust/resolve/rust-ast-resolve-path.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2020-2025 Free Software Foundation, Inc. +// Copyright (C) 2020-2024 Free Software Foundation, Inc. // This file is part of GCC. @@ -68,8 +68,8 @@ ResolvePath::resolve_path (AST::PathInExpression &expr) if (in_middle_of_path && segment.is_lower_self_seg ()) { rust_error_at (segment.get_locus (), ErrorCode::E0433, - "failed to resolve: %qs in paths can only be used " - "in start position", + "leading path segment %qs can only be used at the " + "beginning of a path", segment.as_string ().c_str ()); return UNKNOWN_NODEID; } @@ -192,7 +192,7 @@ ResolvePath::resolve_path (AST::PathInExpression &expr) else { rust_error_at (segment.get_locus (), - "Cannot find path %qs in this scope", + "Cannot find path %<%s%> in this scope", segment.as_string ().c_str ()); return UNKNOWN_NODEID; } @@ -212,7 +212,7 @@ ResolvePath::resolve_path (AST::PathInExpression &expr) else if (is_first_segment) { rust_error_at (segment.get_locus (), ErrorCode::E0433, - "Cannot find path %qs in this scope", + "Cannot find path %<%s%> in this scope", segment.as_string ().c_str ()); return UNKNOWN_NODEID; } @@ -331,7 +331,7 @@ ResolvePath::resolve_path (AST::SimplePath &expr) else { rust_error_at (segment.get_locus (), - "Cannot find path %qs in this scope", + "Cannot find path %<%s%> in this scope", segment.as_string ().c_str ()); return UNKNOWN_NODEID; } @@ -379,7 +379,7 @@ ResolvePath::resolve_path (AST::SimplePath &expr) if (resolved_node_id == UNKNOWN_NODEID) { rust_error_at (segment.get_locus (), - "cannot find simple path segment %qs in this scope", + "cannot find simple path segment %<%s%> in this scope", segment.as_string ().c_str ()); return UNKNOWN_NODEID; } diff --git a/gcc/rust/resolve/rust-ast-resolve-type.cc b/gcc/rust/resolve/rust-ast-resolve-type.cc index af63898..87643d7 100644 --- a/gcc/rust/resolve/rust-ast-resolve-type.cc +++ b/gcc/rust/resolve/rust-ast-resolve-type.cc @@ -176,8 +176,8 @@ ResolveRelativeTypePath::go (AST::TypePath &path, NodeId &resolved_node_id) if (in_middle_of_path && segment->is_lower_self_seg ()) { rust_error_at (segment->get_locus (), ErrorCode::E0433, - "failed to resolve: %qs in paths can only be used " - "in start position", + "leading path segment %qs can only be used at the " + "beginning of a path", segment->as_string ().c_str ()); return false; } diff --git a/gcc/testsuite/rust/compile/nr2/exclude b/gcc/testsuite/rust/compile/nr2/exclude index a4bac9a..a2a833f 100644 --- a/gcc/testsuite/rust/compile/nr2/exclude +++ b/gcc/testsuite/rust/compile/nr2/exclude @@ -28,7 +28,6 @@ pub_restricted_2.rs pub_restricted_3.rs redef_error2.rs redef_error5.rs -self-path2.rs sizeof-stray-infer-var-bug.rs struct-expr-parse.rs undeclared_label.rs diff --git a/gcc/testsuite/rust/compile/self-path2.rs b/gcc/testsuite/rust/compile/self-path2.rs index b9b82ca..6441c33 100644 --- a/gcc/testsuite/rust/compile/self-path2.rs +++ b/gcc/testsuite/rust/compile/self-path2.rs @@ -11,11 +11,11 @@ fn baz() { crate::bar(); crate::self::foo(); - // { dg-error "failed to resolve: .self. in paths can only be used in start position" "" { target *-*-* } .-1 } + // { dg-error "leading path segment .self. can only be used at the beginning of a path" "" { target *-*-* } .-1 } } type a = foo; type b = crate::foo; type c = self::foo; type d = crate::self::foo; -// { dg-error "failed to resolve: .self. in paths can only be used in start position" "" { target *-*-* } .-1 } +// { dg-error "leading path segment .self. can only be used at the beginning of a path" "" { target *-*-* } .-1 } |