diff options
author | Muhammad Mahad <mahadtxt@gmail.com> | 2023-08-17 10:13:00 +0500 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2023-08-17 09:53:20 +0000 |
commit | 0110145c1de18fb7859f0801c8d91edcf82b6c7d (patch) | |
tree | 225c1400ac81c6e910cdf351c07ac6a9c8965c75 | |
parent | efa3041b4b19d598b919455ec1290ba899e54508 (diff) | |
download | gcc-0110145c1de18fb7859f0801c8d91edcf82b6c7d.zip gcc-0110145c1de18fb7859f0801c8d91edcf82b6c7d.tar.gz gcc-0110145c1de18fb7859f0801c8d91edcf82b6c7d.tar.bz2 |
gccrs: [E0753] Use of inner doc comment in invalid context
gcc/rust/ChangeLog:
* parse/rust-parse-impl.h (Parser::parse_outer_attribute):
Added errorcode & updated error function.
gcc/testsuite/ChangeLog:
* rust/compile/bad_inner_doc.rs:
Updated comment to pass testcase.
Signed-off-by: Muhammad Mahad <mahadtxt@gmail.com>
-rw-r--r-- | gcc/rust/parse/rust-parse-impl.h | 5 | ||||
-rw-r--r-- | gcc/testsuite/rust/compile/bad_inner_doc.rs | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h index 18acc93..49e8a5c 100644 --- a/gcc/rust/parse/rust-parse-impl.h +++ b/gcc/rust/parse/rust-parse-impl.h @@ -1218,8 +1218,9 @@ Parser<ManagedTokenSource>::parse_outer_attribute () if (lexer.peek_token ()->get_id () == INNER_DOC_COMMENT) { Error error ( - lexer.peek_token ()->get_locus (), - "inner doc (%<//!%> or %</*!%>) only allowed at start of item " + lexer.peek_token ()->get_locus (), ErrorCode::E0753, + "expected outer doc comment, inner doc (%<//!%> or %</*!%>) only " + "allowed at start of item " "and before any outer attribute or doc (%<#[%>, %<///%> or %</**%>)"); add_error (std::move (error)); lexer.skip_token (); diff --git a/gcc/testsuite/rust/compile/bad_inner_doc.rs b/gcc/testsuite/rust/compile/bad_inner_doc.rs index cfd166c..96f3b4b 100644 --- a/gcc/testsuite/rust/compile/bad_inner_doc.rs +++ b/gcc/testsuite/rust/compile/bad_inner_doc.rs @@ -2,13 +2,13 @@ pub fn main () { //! inner doc allowed let _x = 42; - // { dg-error "inner doc" "" { target *-*-* } .+1 } + // { dg-error "expected outer doc comment, inner doc" "" { target *-*-* } .+1 } //! inner doc disallowed mod module { /*! inner doc allowed */ /// outer doc allowed - // { dg-error "inner doc" "" { target *-*-* } .+1 } + // { dg-error "expected outer doc comment, inner doc" "" { target *-*-* } .+1 } /*! but inner doc not here */ mod x { } } |