[gcc r14-7924] gccrs: [E0753] Use of inner doc comment in invalid context

Arthur Cohen cohenarthur@gcc.gnu.org
Tue Jan 16 18:07:45 GMT 2024


https://gcc.gnu.org/g:c0b25c9a3b25510d47cdf6b37afaf208c00a1c0d

commit r14-7924-gc0b25c9a3b25510d47cdf6b37afaf208c00a1c0d
Author: Muhammad Mahad <mahadtxt@gmail.com>
Date:   Thu Aug 17 10:13:00 2023 +0500

    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>

Diff:
---
 gcc/rust/parse/rust-parse-impl.h            | 5 +++--
 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 d8d82b36391..ca58d5e571a 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 cfd166ce3ec..96f3b4b6ed2 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 { }
   }


More information about the Gcc-cvs mailing list